End to End testing is a technique used to test the flow of an application from start to finish that is it behaving as expected.
The purpose of performing end-to-end testing is to identify system dependencies and to ensure that the data integrity is maintained between various system components and systems.
End to End Testing
End-to-end testing involves ensuring that that integrated components of an application function as expected. The entire application is tested in a real-world scenario such as communicating with the database, network, hardware and other applications.
How does it work?
To understand a bit more, let us find out How it works?
Take an example of Banking Industry. Few of us must have tried outStocks. When a Demat account holder, purchases any share, a particular percentage of the amount is to be given to the broker. When the shareholder sells that share, whether he gets profit or loss, a particular percentage of the amount is then again given to the broker. All these transactions are reflected and managed in accounts. The whole process involves Risk Management.
When we look at the above example, keeping the End-to-End test in mind, we will find that the whole process includes multiple numbers as well as different levels of transactions. The whole process involves many systems that can be difficult to test.
Horizontal End to End Testing
This method is used very commonly. It occurs horizontally across context of multiple applications. This method can easily occur in single ERP (Enterprise Resource Planning) application. Take an example of a web-based application of an online ordering system. The whole process will include accounts, inventory status of the products as well as shipping details.
Vertical End to End Testing
In this method, all the transactions of any application are verified and evaluated right from the start to finish. Each individual layer of the application is tested starting from top to bottom. Take an example of a web-based application that Uses HTML codes for reaching web servers. In such cases, API is required to generate SQL codes against the database. All these complex computing scenarios will require proper validation and dedicated testing. Thus this method is much more difficult.
Simplified example of end-to-end testing of an email application might involve:
Logging in to the application
Accessing the inbox
Opening and closing the mailbox
Composing, forwarding or replying to email
Checking the sent items
Logging out of the application