After unit testing is completed, developer performs integration testing. It is the process of verifying the interfaces and interaction between modules. While integrating, there are lots of techniques used by developers and one of them is the incremental approach.
In Incremental integration testing, the developers integrate the modules one by one using stubs or drivers to uncover the defects. This approach is known as incremental integration testing. To the contrary, big bang is one other integration testing technique, where all the modules are integrated in one shot.
Top down Integration - This type of integration testing takes place from top to bottom. Unavailable Components or systems are substituted by stubs
Bottom Up Integration - This type of integration testing takes place from bottom to top. Unavailable Components or systems are substituted by Drivers
Functional incremental - The Integration and testing takes place on the basis of the functions or functionalities as per the functional specification document.
Each Module provides a definitive role to play in the project/product structure
Each Module has clearly defined dependencies some of which can be known only at the runtime.
The incremental integration testing's greater advantage is that the defects are found early in a smaller assembly when it is relatively easy to detect the root cause of the same.
A disadvantage is that it can be time-consuming since stubs and drivers have to be developed for performing these tests.