Difference between Unit Testing and Sandwich Testing
Last Updated :
21 Nov, 2022
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. |
Share your thoughts in the comments
Please Login to comment...