In this tutorial, we will learn about different Integration Testing approaches. Integration testing is a type of software testing in which individual software modules are combined into groups and tested.
Integration Testing occurs after unit testing and before whole system testing. It takes unit-tested modules and groups them as in larger aggregates, applies integration tests defined in an integration test plan to those aggregates, and checks the output is as expected. It also checks if the integrated system is ready for system testing.
The purpose of integration testing is to verify functional, performance, and reliability requirements are met by the grouped integrated modules of the system.
Integration Testing Approaches
The main Integration testing approaches are as follows:
- Top-down Approach
- Bottom-up Approach
- Big-bang Approach
There are other integration approaches as well like Collaboration Integration, Sandwich Integration, Client/Server Integration, Usage Model Testing, Layer Integration, Distributed Services Integration, Backbone Integration, etc.
In the Top-down testing approach, the top or high-level integrated modules are tested first and the branch of the module is tested step by step until all the lower-level modules are tested.
In the Bottom-up testing approach, the lowest-level modules or components are tested first, then they are used to facilitate the testing of higher-level modules/components. All the bottom or low-level modules are integrated and then tested. After, the integration testing of lower-level integrated modules, the next level of modules will be formed and then used for integration testing. The process is repeated until the component at the top of the hierarchy is tested. In this approach, integration bugs are easily found.
Note that when both the top-down and bottom-up integration approaches are combined it is called Sandwich Integration testing.
In the Big Bang approach, all the developed modules are coupled together to form a complete software system and then used for integration testing. This method is very effective for saving time in integration testing.
Software Testing Tutorials: