
Top Down Integration Testing
Software testing is splitted into numerous stages, for example unit testing, integration testing, system testing, and the acceptance testing. The top down methodology comes under integration testing in which verification is done by combining multiple components and then by navigating down from the top to the bottom as per the control flow of the program source code.
What is Software Top Down Integration Testing?
The software top down integration testing is one of the categories of integration testing where the high level units are tested first followed by the lower level units. After this process, the integration is considered as completed to ensure that the software is working as expected. The drivers and stubs are developed to perform the software top down integration testing. It is used to enhance and stimulate the characteristics of the modules which are not yet combined into the lower levels.
Steps Performed for Software Top Down Integration Testing
The steps which are performed to do a software top down integration testing are listed below −
Step 1 − In this approach, the driver denotes the prominent control module called the high level component and the stub denotes the lower level component that functions directly under those higher level modules.
Step 2 − The testing begins from the top to the bottom, thus the higher level components are verified first independently.
Step 3 − Then the lower level components, also known as the stubs replace the higher level components sequentially one by one by following the breadth search or depth-first methodology.
Step 4 − This process is continued until each of the components are combined and verified.
Step 5 − A different stub replaces the current control module post the execution of each set of test cases. These stubs are considered as the short term replacement for a module and they produce the same outcome as the software.
Step 6 − In order to verify the presence of any bugs, regression test cases are executed to check if there are any side effects.
Shortcomings of Top Down Integration Testing
The shortcomings of the top down integration testing are listed below −
- In the top down integration testing, the upper level components should be verified thoroughly to improve the quality and to ensure the proper working of the lower level components, also known as the stubs.
- In the top down integration testing, the stubs temporarily replace a lower level unit, however the data do not navigate upward with this approach. As a result, the testing cannot be taken up on time which slows down the development cycle.
- Because of the replacement process, the complexity of the stubs increases after each replacement.
- In the top down integration testing, the lower level components are not well tested.
Example of Top Down Integration Testing
The above diagram shows the architecture of the top down integration testing. Here if the depth first methodology is used then, we would begin with the integration of the Module A. This is followed by the combination of the Module B, Module E, Module F, Module G, Module C, and at last Module D.

Here if the breadth first methodology is used then, we would begin with the integration of the Module A. This is followed by the combination of the Module B, and Module C. Then we would integrate Module E, Module F, Module G, and at last Module D.
Advantages of Top Down Integration Testing
The advantages of the top down integration testing are listed below −
- In the top down integration testing, there is no requirement to write the drivers.
- In the top down integration testing, the interface bugs are identified at the early stages of the software development lifecycle(SDLC).
- The fault localization is quite easy in the top down integration testing.
- It is very simple to create test cases since only the input and output functions are required.
Disadvantages of Top Down Integration Testing
The disadvantages of the top down integration testing are listed below −
- The top down integration testing requires the development of drivers and mock objects.
- The development of test cases in stubs is difficult if the input output functions are not incorporated.
- The critical lower level units are missed from verification.
Conclusion
This concludes our comprehensive take on the tutorial on Software Top Down Integration Testing. Weve started with describing what is software top down integration testing, what are the steps which are to be performed to do a software top down integration testing, what are the shortcomings of top down integration testing, example of top down integration testing, what are the advantages of the top down integration testing, and what are the disadvantages of the top down integration testing. This equips you with in-depth knowledge of Software Top Down Integration Testing. It is wise to keep practicing what youve learned and exploring others relevant to Software Testing to deepen your understanding and expand your horizons.