Integration testing is the phase in software testing in which individual software modules are combining and testing as a group. It occurs after unit testing and before validation testing. Integration testing takes as its input modules that have been unit tested, groups them in larger aggregates, applies tests defined in an integration test plan to those aggregates. And delivers as its output the integrated system ready for system testing.
Following are the various integration testing and integration techniques:
1. Top-down integration testing
2. Bottom-up integration testing
3. Big-bang testing
4. Sandwich integration testing
1. Top-down testing:
In this approach, the testing process starts with testing the topmost module/component in the hierarchy and move downwards. This process continues until all components are integrating and then the whole system has been completely testing. The top-down integration testing approach requires, the use of program stubs to simulate the effect of lower-level routines that are called ‘by the routines under test. A pure top-down integration does not require any driver routines.
2. Bottom-up integration testing:
In this method, each subsystem (component) at the lower level of the system hierarchy is testing individually first. Then the next component calls the previously tested ones to be tested. This approach is following repeatedly until all components are includes in the testing. The primary purpose to test each subsystem is to test the interface among various hotels making up the subsystem.
In this, both control and data interface is the testing. In pure bottom-up testing, no stubs are require, and only test drivers are require. Bottom-up integration testing is mainly used when the performance and machine interface of the system is the main concern.
3. Big-bang testing:
It is a non-incremental integration approach. It is the simplest testing approach, where all modules making a complete system are integrating and testing as a whole, and the disorder usually gives unpredictable results. The set of errors encountered here are very difficult to localize as they may potentially belong to any of the modules being integrating. And once these errors are correct, new ones appear and the process continues in an endless loop.
4. Sandwich integration testing:
The combination of top-down and bottom-up integration testing techniques is sandwich integration. This system is viewed as three layers just like a sandwich. The upper layer of the sandwich use top-down integration, the lower which integration uses bottom-up integration, and the layer of sandwich integration use bottom-up integration, and the middle called the target layer use the testing on the basis of system characteristics and structure of the component hierarchy.
Read more about the Information model