Incremental Testing is a sub-testing technique, which comes under the umbrella of integration testing. This testing may be seen as an approach or strategy, rather as an activity, to perform the integration testing on the software product.
Integration testing is done after the execution of the unit tests, over each individual component of the software, to ensure the proper interface and interaction between the components of the system. Incremental testing may be considered as the subset or the partial phase of the integration testing, which first executes the integration test on the standalone components, and then subsequently, integrates components and performs integration testing over them, in parallel.
The basic working of the incremental testing may be described, through the following points.
Incremental testing takes up a similar approach, as considered, for integration testing, i.e. bottom-up and top-down approach, along with the functional incremental approach.
In this approach, the flow of the process is from bottom to top. One by one integration of the components, from the bottom level and up to top level, until all the components are combined. After each addition of the component, to the integrated structure, testing is performed, to evaluate the integration issues. This phase, involves the usage of the drivers, to substitute the needs for the necessary components.
The flow of the process, in this phase, is from top to bottom. Generally, stubs are used to replace the need of the essential components.
Apart from these two vertical approaches, this testing may also be carried out in a horizontal way, namely, functional increment. In this approach, integration of the components is done on the functional or functionality basis.