The incremental testing approach has the advantage that the defects are found early in a smaller assembly when it is relatively easy to detect the cause.
- Another advantage is that all programmers are integrated one by one, and a test is carried out after each step.
- A disadvantage is that it can be time-consuming since stubs and drivers have to be developed and used in the test.
- Within incremental integration testing a range of possibilities exist, partly depending on the system architecture:
- Top down: Testing takes place from top to bottom, following the control flow or architectural structure (e.g. starting from the GUI or main menu). Components or systems are substituted by stubs.
- Bottom up: Testing takes place from the bottom of the control flow upwards. Components or systems are substituted by drivers.
- Functional incremental: Integration and testing takes place on the basis of the functions and functionalities, as documented in the functional specification.