End-to-End or E2E or UI testing is testing of applications from user’s perspective. It tests the user interface that is served to end user as an application output.
In Software Testing, one of the major drawbacks is to test the software constantly and notice regression. It becomes a very tedious job to check same functionality multiple times. Application development is a fast-paced process where development team delivers new features or changes extremely fast. This leaves little room for a complete manual regression testing for each iteration. Manual regression testing is a long and tedious process which is error prone.