1. End-to-end Testing : End-to-end testing is the type of software testing used to test entire software from starting to the end along with its integration with external interfaces. The main purpose of end-to-end testing is to identify system dependencies and to make sure that the data integrity and communication with other systems, interfaces and databases to exercise complete production.
2. Sandwich Testing : Sandwich Testing is also called as the hybrid integration testing. It 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. It also can not be used for those systems which have a lot of interdependence between different modules and it allows parallel testing.
Difference between End-to-end Testing and Sandwich Testing
S.No. | End-to-end Testing | Sandwich Testing |
---|---|---|
1. | In end-to-end testing, the behavioral flow of software is tested. | In sandwich testing, Top-down approach and Bottom-up approach is used for testing. |
2. | It validated all the interfaces of the software. | It follows the specification of modules. |
3. | It is generally performed manually. | It generally focuses on functional verification. |
4. | It is cost efficient. | It is not cost efficient. |
5. | In this, knowledge about interconnected systems is required. | In this, knowledge of interconnected systems is not required. |
6. | In this, there is need of fewer resources for testing. | In this, there is need of large number of resources. |
7. | It does not allow parallel testing. | It allows parallel testing. |
8. | It validated all the interfaces of the software. | It validates the software system as per standards and specifications. |
9. | It is a type of testing that covers the entire system from start to finish. | It is a type of testing that covers only the middle layer of the system. |
10. | It is typically used to test the functionality of the system as a whole. | It is typically used to test the functionality of individual components. |
11. | It is typically done by developers. | It is typically done by testers. |
12. | It is typically done before sandwich testing. | It requires all components of the system to be integrated and working together. |
13. | It is more likely to find bugs than sandwich testin. | It is less likely to find bugs. |
14. | It is better at finding functional bugs than sandwich testing. | It is better at finding performance bugs. |
15. | It is better at finding integration bugs than sandwich testing | It is better at finding regression bugs. |
16. | It is more likely to cause system downtime than sandwich testing | It is less likely to cause system downtime. |
17. | It takes longer than sandwich testing | Sandwich testing is faster. |
18. | It is typically done by developers | It is typically done by testers. |