Sandwich Testing is the combination of the bottom-up approach and top-down approach, so it uses the advantage of both the bottom-up approach and top-down approach. Initially, it uses the stubs and drivers where stubs simulate the behavior of a missing component. It is also known as Hybrid Integration Testing.
Prerequisite – Software Testing | Basics, Types of Software 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 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 integrated only main target (middle) layer remains for final test.
For example:

Advantages of Sandwich Testing:
- Sandwich Testing approach is used in very large projects having sub projects.
- It allows parallel testing.
- It is time saving approach.
- Itperforms more coverage with same stubs.
- Itcan be used to test both the functional and non-functional aspects of a system.
- It can be used to test systems with complex dependencies.
- It can be used to test systems with complex data structures.
- It can be used to test systems with complex algorithms.
- It is an effective way to test both the functionality and the performance of an application.
- It is a well-defined process that can be easily repeated and documented.
- It can be used to test applications of all sizes and complexity.
- It is an efficient way to test applications that have a lot of functionality.
Disadvantages of Sandwich Testing:
- 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.
- It is expensive to set up and maintain the necessary infrastructure.
- here is a risk that the test environment may not be representative of the production environment, which could lead to inaccurate results.
- There is a potential for human error when manually transferring data between the two environments.
Master Software Testing and Automation in an efficient and time-bound manner by mentors with real-time industry experience. Join our
Software Automation Course and embark on an exciting journey, mastering the skill set with ease!
What We Offer:
- Comprehensive Software Automation program
- Expert Guidance for Efficient Learning
- Hands-on Experience with Real-world Projects
- Proven Track Record with 10,000+ Successful Geeks
Last Updated :
17 Jan, 2023
Like Article
Save Article