Integration Testing -Testing performed to expose defects in the interfaces and in the
interactions between integrated components or systems.It is the process of testing the interface between two software units. Integration testing is done by three ways:
- Big Bang Approach
- Top-Down Approach
- Bottom-Up Approach
Big Bang Approach Combining all the modules once and verifying the functionality after completion of individual module testing.
Top-Down Approach Testing takes place from top to bottom. High level modules are tested first , then low-level and finally integrating the low level modules to a high level to ensure the system is working as intended. Stubs are used as a temporary module if a module is not ready for integration testing.
Bottom-Up Approach is a reciprocate of the Top-Down Approach. Testing takes place from bottom to up. Lowest level modules are tested first ,then high level modules and finally integrating the high level modules to a low level to make sure the system is working as intended. Drivers are used as a temporary module for integration testing.
Why is it called big bang?
The purpose of this testing is to expose faults in the interaction between integrated units.
Big Bang is an approach to Integration Testing where all or most of the units are combined together and tested at one go.
Top Down is an approach to Integration Testing where top-level units are tested first and lower level units are tested step by step after that.
Bottom Up is an approach to Integration Testing where bottom level units are tested first and upper-level units step by step after that.
Hybrid is an approach to Integration Testing which is a combination of Top Down and Bottom Up approaches
In Big Bang approach all the modules of the software are integrated simultaneously thus creating a big collection of modules and all the modules are tested together, therefore the name Big-Bang is given.
Big-Bang approach is little bit difficult because as there might be large number of modules in the system if the system is large. When all the modules are tested together there is a high probability of error and if error occurs it is difficult to find the root cause of the failure.
In Big-Bang testing if the failure occurs while testing all modules, then the modules are detached and then the individual module is checked to find the root cause of the failure.