So the application is interconnected with many subsystems that can be outside of the application environment.If there’s a failure in any of the subsystems, it can cause the entire application to crash.So to make sure everything is working fine, we need to test the entire flow of an application from start to finish (or end-to-end).E2E testing mainly serves two purposes:To test the entire application for major business components such as communicating with the other systems, interfaces, databases, networks, and other applications.To create a complete production-like scenario and test happy flow, so that we can simulate real-time settings and environment and avoid any application crash.Why do we need End-to-End testing in Agile?In each sprint, both the dev and test teams focus on a single service out of all the integrated services used in an application.
So apart from QA, a business analyst, client, product owner or even technical manager are good candidates to perform E2E testing.End-to-end Testing Methods:Horizontal E2E testingIt works through every phase of business workflow and ensures that the functional requirement document maps with the developed application.A horizontal end-to-end test verifies each and every workflow through individual applications from start to finish ensuring that each interrelated process works correctly.
In general, this type of testing takes place at the end of the release cycle and in a stable environment setup.
So with this approach, we can get more coverage on the functional part but it cannot be performed until all release changes are fully implemented.Vertical E2E testingThis method refers to testing in layers, tests happen in sequential, hierarchical order.
So by using this we can get high coverage of testing for the core code.
Never forget to run a suite in the proper sequence.