Open In App

Difference between Unit Testing and Sandwich Testing

Last Updated : 21 Nov, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

Unit Testing: Unit Testing is the type of Software Testing level in which each individual components of a software are tested. Unit Testing is generally performed by developer. Unit Testing can’t be used for those systems which have a lot of interdependence between different modules. It does not allow for parallel testing.

Sandwich Testing: Sandwich Testing is also known as the hybrid integration testing. Sandwich Testing comprise the bottom-up approach testing and top-down approach testing, therefore it uses the advantage of both bottom up approach and top down approach. Sandwich Testing also can not be used for those systems which have a lot of interdependence between different modules and it allows parallel testing.  

 

Difference between Unit Testing and Sandwich Testing

S.NO Unit testing Sandwich testing
1. In unit testing, software’s module are tested separately. Sandwich testing comprise the top-down and bottom-up testing.
2. Defects are identified easily in unit testing. Defects are not identified easily in sandwich testing testing.
3. In Unit testing does not matter how big project is. Sandwich Testing is used for very large projects having sub projects.
4. Unit testing is cost efficient. Sandwich testing is not cost efficient.
5. Unit testing does not allow parallel testing. Sandwich testing allows parallel testing.
6. Unit Testing can’t be used for those systems which have a lot of interdependence between different modules. Sandwich Testing also can not be used for those systems which have a lot of interdependence between different modules.
7. In Unit testing, there is need of fewer resources for testing. In Sandwich testing, there is need of large number of resources.
8. Unit testing is typically done by developers. Sandwich testing is done by both developers and testers.
9. Unit tests are typically done early in the development process. Sandwich tests are done later.
10. Unit tests are usually small and focused. Sandwich tests are larger and more comprehensive.
11. Unit tests are used to verify the functionality of individual units. Sandwich tests are used to verify the functionality of the system as a whole.
12. Unit tests are typically run manually. Sandwich tests may be run automatically.
13. Unit tests are typically written in the same language as the code being tested. Sandwich tests may be written in a different language.
14.  Unit tests typically focus on functional testing. Sandwich tests may also include non-functional testing.
15. Unit tests are typically not concerned with scalability. Sandwich tests may include scalability testing.
16.  Unit tests are typically not concerned with usability. Sandwich tests may include usability testing.
17. Unit tests are typically run on the development environment,. Sandwich tests are usually run on the production environment.
18. Unit tests are typically black box tests. Sandwich tests may be white box tests.
19. Unit tests typically do not require knowledge of the internals of the code being tested. Sandwich tests may require knowledge of the internals.
20.  Unit tests are typically limited to a single component.  Sandwich tests may span multiple components.
21. Unit tests are typically used to find bugs,  Sandwich tests are also used to verify system quality.

Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads