Bottom-up Testing is a type of incremental integration testing approach in which testing is done by integrating or joining two or more modules by moving upward from bottom to top through control flow of architecture structure. In these, low-level modules are tested first, and then high-level modules are tested. This type of testing or approach is also known as inductive reasoning and is used as a synthesis synonym in many cases. Bottom-up testing is user-friendly testing and results in an increase in overall software development. This testing results in high success rates with long-lasting results.
Following are the steps that are needed to be followed during the processing :
- Clusters are formed by merging or combining low-level modules or elements. These clusters are also known as builds that are responsible for performing the certain secondary or subsidiary function of a software.
- It is important to write a control program for testing. These control programs are also known as drivers or high-level modules. It simply coordinates input and output of a test case.
- Testing is done of entire build or cluster containing low-level modules.
- At lastly, control program or drivers or high levels modules are removed and clusters are integrated by moving upward from bottom to top in program structure with help of control flow.
In the last, modules or components are combined together to form cluster 1 and cluster 2. After this, each cluster is tested with the help of a control program. The cluster is present below the high-level module or driver. After testing, driver is removed and clusters are combined and moved upwards with modules.
- It is easy and simple to create and develop test conditions.
- It is also easy to observe test results.
- It is not necessary to know about the details of the structural design.
- Low-level utilities are also tested well and are also compatible with the object-oriented structure.
- Towards top of the Hierarchy, it becomes very complicated.
- There is no concept regarding early skeletal system.
- There will be an impact on sibling and higher-level unit tests due to changes.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
- Steps in Top Down Integration Testing
- Difference between Unit Testing and Integration Testing
- Difference between System Testing and Integration Testing
- Difference between System Integration Testing (SIT) and User Acceptance Testing (UAT)
- Difference between Integration Testing and Sandwich Testing
- Software Engineering | Integration Testing
- Differences between Interface and Integration Testing
- System Integration (Software) Testing (SIT)
- Capability Maturity Model Integration (CMMI)
- General Steps of Software Testing Process
- Beta Testing | Software Testing
- Software Engineering | Differences between Sanity Testing and Smoke Testing
- Software Testing | Endurance Testing
- Difference between Frontend Testing and Backend Testing
- Software Testing | Dynamic Testing
- Software Testing | Accessibility Testing
- Differences between Black Box Testing vs White Box Testing
- Smoke Testing | Software Testing
- Performance Testing | Software Testing
- Software Testing | Non-functional Testing
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
Improved By : pulkitagarwal03pulkit