|
What The defining element is the repeated process of integrate then teste. I suppose that integrating a sub-systems of components one at a time also counts as incremental testing. Once integrated the system can be tested using functional and non-functional design techniques. Incremental testing is can considered part of system testing. Why? Additionally as the system grows, stakeholders, including customers, can see the finished product taking shape. Who? Where?
When?
Organisations with little or no process will integrate the components in ad-hoc increments without much thought of how they are to hang together or reference to business and technical risk. In the waterfall method, where test is the last phase, incremental testing may well be used. This is a slight improvement on Big Bang testing. However the testing is still being executed if not written at the very end of the process. At the other extreme in a highly iterative process, the integration of components is essential. Typically a daily build takes place of all the components that have been tagged to be included. In the Rational Unified Process, RUP, incremental testing is driven entirely by risk. For instance in the Elaboration phase, the aim is to establish that the central software architecture is working. For construction, other components are added in. An environment which has many sub-systems being developed, might have many incremental integrations taking place at different levels. How?
The other essential is good configuration management. The test team needs to know that the code inside each component is, the code the plan wants them to test. Also the components or sub-systems that have actually been included in the build. Once this is in place the organisation can decide if the component is to be added or control the release of changes once it has been included. Thus developers can "check out" code, confident that changes they make will not actually be included in the build until it is "checked back in". Configuration management tools are available such as Visual Source Safe and ChangeMan. Typically a range of tests can take place as soon as the build is ready, to confirm that it has met entry criteria. These are known as Smoke tests. The sort of tests include logging on and opening important elements of functionality. Once all the integration has taken place, the whole range of functional and non-functional testing can continue. |
Test Techniques Bestsellers
The bestselling books on Amazon.
Articles
Other Related Websites
Automated Testing