In my last integration testing article we have seen the different types of integration testing, now in this article, we will discuss the Top-Down and Bottom-up approaches to integration testing.
Approaches to integration testing are mainly divided into two basic types.
- Incremental Approach
- Non-Incremental Approach
First, we will see Non-Incremental approach, Big bang approach is the non-incremental approach. in this, all components are combined at once to form a program and tested as a whole. this approach works really great for small and some medium kind of projects but not for big systems. there are some basic limitations of this approach is, if you are a developer then it’s very hard to debug the code and find the exact cause of the problem or defect. if you are a tester then you have wait until all component and being developed and integrated then only you can start the work with it.
I think this is quite a good amount of information on the Big Bang or Non-Incremental Approach of Integration testing.
let’s discuss the Incremental approach of Integration testing. in this, we will have Top-down Integration, Bottom-up Integration, and Sandwich Integration.
Top-down Integration Testing:
In this approach, modules are integrated by moving down the control hierarchy starting from the top with the main control module first.
stubs are developed for substitution of the lower level module. a stub is nothing but the dummy component or module or feature which simulates the functionality which is not ready yet.
modules subordinate to the main control module are integrated into either
1. Depth-first manner- in this manner we test the application from top to bottom, we take the longest path and test the application
2. Breadth-first manner – in this manner we test the application on each level and test the application level wise.
Bottom-up Integration Testing:
Bottom-up integration is just opposite of Top-Down integration testing. In this type of testing, modules are integrated starting from the lower level by moving up through the control hierarchy. Each component at the lowest level of the system is tested individually first and then next level components are tested. In this type of approach, Drivers are used. The driver is a program designed as a dummy calling module for a lower level module.
I hope this will give you more idea about Integration testing.