End 2 End Testing
We were managing a test process for a financial organization project, some changes requested from the customer to a specific charge rate, the modification test scope defined and approved, and we start deal with.
Before the go live by a few hours, the test analyst confirm that the modification affects in a report and it's not mentioned in the test scope and it missed out because this report is low priority and it’s not used in a frequently critical system paths.
This leads to review all test conditions and suites which were created before to make sure that all E2Es are covered regardless the priority of the test item.
Covering system flows is not an easy task, especially if the domain knowledge not exists.
Many friends ask me in different training sessions and projects as well the questions of what is the difference between system test and end to end test.
System test and End to End test most of the companies used the terms interchangeably, but they almost not the same.
On term of definition, we can consider system test as a level when we test an integrated system to verify that it meets specified requirements. meanwhile End to End test as a type under functional test to validate the suitability and interoperability characteristics, and to identify system dependencies and to ensure that the right information is passed between various system components and systems.
The key challenge in E2E is to define the flow of application from the starting point to end points.
For example, in our case study, if the charges assigned to any transactions you need to know what the end points of those transactions are, it may be another transactions, forms, modules, reports, etc..., and maybe with different “Approval" cycle for each transaction.
You can run the E2E with any test level not only the system test, using stubs and drivers may help in component integration test not only when the development of that while application is done.
Nice explanation.