What is Integration Testing?
When individual software modules are combined together and tested as a group than it is known as Integration Testing. This is a job to verify the functional, performance, and reliability between the modules that are integrated.
ISTQB Definition : Testing performed to expose defects in the interfaces and in the interactions between integrated components or systems.
By whom it is performed? : It is either performed by the developers themselves or by the independent testers.
What is the Need of Integration Testing?
After Unit Testing is completed, the units or modules are joined together to form a complete system, which describes the need of integration testing. A Module or a unit is designed by the individual software developers, their understanding and programming logics may differ from each other. To ensure the communication and the interaction between the modules developed by the different people, it becomes necessary to verify that software modules work in unity.
Types of Integration Testing
1) Big Bang Testing Approach: In Big Bang Testing all or most of the units are combined together to form a complete software system or major part of the system and then used for integration testing.
2) Top-Down Testing Approach: The top integrated modules are tested and the lower modules are integrated one by one. The process is repeated until all the modules are integrated and tested. It takes the help of stubs for testing.
3) Bottom-Up Testing Approach: In Bottom Up Testing the lowest level components are tested first, then used to facilitate the testing of higher level components. The process is repeated until the component at the top of the hierarchy is tested. It takes help of drivers for testing.
4) Sandwich Testing: It is an approach to combine top-down testing with bottom-up testing