December 20, 2020 • ☕️ 4 min read
End-to-end testing (e2e testing) is a software quality assurance methodology that ensures the correct functioning and performance of applications in production-like scenarios. This methodology checks if an application performs as designed on all levels and across all subsystems. The scope of end-to-end testing encompasses the application in its entirety, as well as its integration with external interfaces and outside applications.
End-to-end testing is where you test your whole application from start to finish. It involves assuring that all the integrated pieces of an application function and work together as expected.
End-to-end tests simulate real user scenarios, essentially testing how a real user would use the application.
These major risks can be avoided and can be controlled by E2E testing:
Example of an E2E test case for a user sign up.
The test would involve:
Listing features of the software systems and their interconnected sub-systems. For any function, keep track of the actions performed as well as Input and Output data. Find the relations, if any between different Users functions. Find out the nature of different user functions .i.e. if they are independent or are reusable.
For each user function, a set of conditions should be prepared. Timing, Data conditions, and other factors that affect user functions can be considered as parameters.
For every scenario, one or more test cases should be created to test each functionality of the user functions. Every single condition should be enlisted as a separate test case.
a. Documentation and requirements gathering
a. Design of components
b. e2e design
a. Components design and testing
a. Development coding and design
a. Environment set up for e2e testing (Including test data)
b. Test design and execution
|End to End Testing||System Testing|
|Validates both the main Software system as well as all the interconnected Sub-Systems.||Validates just the software system as per the requirements specifications.|
|It checks the complete end-to-end process flow.||It checks system functionalities and features.|
|All interfaces, backend systems will be considered for testing||Functional and Non-Functional Testing will be considered for testing|
|It’s executed once System Testing is completed.||It’s executed after Integration Testing.|
And Now the most Important