Integration Testing is one of the Software Testing levels, in which the individual tested units are integrated (i.e. combined) and tested in groups. The main purpose of Integration Testing is to identify the defects which result from the interaction between combined units.
Real world Example: Let’s take an example of a mobile phone, where the individual units like Touch Screen, Battery, Camera, Music system etc are unit tested in separately. But at a later point, Integration testing is performed to check whether the two or more units are working together. i.e. As part of Integration testing, the Camera and Music system are combined together to check whether taking a picture is making capture sound or not. Similarly, different units will be combined and tested during the making of a mobile phone.
Integration Testing Approaches: Based on the application under test, the following are the various approaches which can be followed by Integration Testing:
- Big Bang – In this approach of Integration testing, all the units are integrated at once and tested. This kind of approach is suitable for the applications which are small in size.
- Incremental – In this approach of Integration testing, testing is done by combining two or more logically related units. Once the testing is done, the next set of logically related units will be added and this incremental process continues until all the units are combined and verified successfully. This approach uses the Stubs and Drivers for performing Integration testing, where the units under test are known as stubs and the units which invoke/call the stubs are known as drivers. This approach can be further classified as below approaches:
- Top Down – In this approach, Integration testing is performed by incrementally combining the high-level units from top to down of the applications control flow.
- Bottom Up – In this approach, Integration testing is performed by incrementally combining the low-level units from bottom to up.
Conclusion: Integration testing is one of the levels in Software testing which comes after Unit testing. The purpose of Integration testing is to combine the individually tested units to identify the defects emerging from their interaction.
Please leave your questions/comments/feedback below.
Happy Learning 🙂
Arun Motoori (www.QAFox.com)