Prerequisite – Software Testing | Basics, Types of Software Testing
Sandwich Testing is the combination of bottom-up approach and top-down approach, so it uses the advantage of both bottom up approach and top down approach. Initially it uses the stubs and drivers where stubs simulate the behaviour ogf missing component. It is also known as the Hybrid Integration Testing.
Strategy used in Sandwich Testing:
- It combines both top down and bottom up strategies.
- Sandwich testing is basically viewed as 3 layers:
- (i) Main target layer
- (ii) A layer above the target layer
- (iii) A layer below the target layer
- In sandwich testing, testing is mainly focused for main target layer. This testing is selected on the basis of system characteristics and structure’s code.
- It tries to minimize the number of hubs and drivers when there are more than 3 layers.
How to perform Sandwich Testing?
There are 3 simple steps to perform sandwich testing which are given below.
- Test the user interface in isolation using stubs.
- Test the very lowest level functions by using drivers.
- When the complete system is in integrated only main target (middle) layer is remains for final test.
Advantage of Sandwich Testing:
- Sandwich Testing approach is used in very large projects having sub projects.
- It allows parallel testing.
- Sandwich testing is time saving approach.
- sandwich testing performs more coverage with same stubs.
Disadvantage of Sandwich Testing:
- Sandwich Testing is very costly.
- Sandwich Testing can not be used for such systems which have a lot of interdependence between different modules.
- In sandwich testing the need of stubs and drivers is very high.
- Difference between Unit Testing and Sandwich Testing
- Software Engineering | Differences between Sanity Testing and Smoke Testing
- Software Engineering | Comparison between Regression Testing and Re-Testing
- Software Testing | Functional Testing
- Software Testing | Use Case Testing
- Software Testing | Configuration Testing
- Software Testing | Scenario Testing
- Software Testing | Scalability Testing
- Software Testing | Accessibility Testing
- Software Testing | Manual Testing
- Software Testing | Reliability Testing
- Performance Testing | Software Testing
- Software Testing | Penetration Testing
- Software Testing | Fuzz Testing
- Software Testing | Stability 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 email@example.com. 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.