User:Gtnuman/sandbox

E2E Testing
End to End Testing is a form of software testing. "End to End" means: from start to finish and refers to the complete processes that run though the complete landscape of software systems. E2E Testing is a form of Integration Testing. It's goal is to verify and validate the interaction between "real" processes and software. E2E Testing can be distinguished from other forms of Integration Testing (such as Interface Testing and System Integration Testing) in that these concentrate on a part of the system landscape (Interface Ttesting: a single interface; System Integration Testing: a cluster of systems). E2E Testing takes the whole system landscape into consideration, testing it from the perspective of real usage and real events.

Purpose

Testing is a risk mitigation activity. The risks E2E Testing tries to mitigate are in the field of interaction throughout the system landscape but also through periods of time. Typical risks are: interconnectivity, data lifecycle, data semantics, performance, security. ALthough these risks can often be covered on a system level, or system integration level, E2E Testing provides an ever better validation of these risks. I.e.: data semantics can be checked between systems, but what if a certain data type is labelled and used in a different meaning futher down the system chain? Other typical E2E Test Scenario's are: creation of data in a complete system landscape, performing all possible mutations and events and checking all effects in all systems.

E2E inventory and test design

Interface Testing and System Integration Testing are specification based tests. E2E Testing is not: the test basis for E2E Testing is a combination of process descriptions, work instructions and global designs. From these the interactions between the processess and the system parts need to be destilled. This information usually is not present as such, as one clear and up to date document, so the E2E tester should be able to collect and synthesize this information.

Test cases are drawn up from the E2E inventory, often in collaboration with designers and senior users. Test design will not be as formal as those in System Testing or System Integration Testing. The number of test cases for an E2E Test are potentially huge, given the fact of large numbers of conditions and results in E2E processes. E2E Test sets consist therefore mainly of happyflows and some variations, covering all elements in the proces flow at least once.

E2E Testing and Continuous Integration

In extensive system landscapes or with rapid development methodologies such as Agile Development, the need for a repeatable, concise and high coverage regression test set increases. Here an E2E Test set can provide additional value. With the periodic execution of a basic E2E Test set the quality of software and processes thoughout the system landscape can be validated, provided a sufficient test environment is permanently in place.

Category:Software Testing