Understanding End-to-End and User Acceptance Tests

Explore the advantages and limitations of end-to-end tests within the testing pyramid, alongside acceptance testing tools, to ensure correct system configuration and meet user requirements.

In this lesson, we’ll progress to the top of the test pyramid. We’ll review what end-to-end and user acceptance tests are and what they add to unit and integration testing.

End-to-end tests and user acceptance tests in the pyramid

At the top of the test pyramid lie two similar kinds of tests: end-to-end tests and user acceptance tests. Technically, they‘re the same kind of test. In each case, we start up the software fully configured to run in its most live-like test environment or possibly in production. The idea is that the system is tested as a whole from one end to the other.

Note: One specific use of an end-to-end test is for user acceptance testing (UAT). Here, several key end-to-end test scenarios are run. If they all pass, the software is declared fit for purpose and accepted by the users.

This is often a contractual stage in commercial development, where the buyer of the software formally agrees that the development contract has been satisfied. It’s still end-to-end testing that’s being used to determine that, with cherry-picked test cases.

Advantages and limitations

These tests have advantages and limitations, as summarized in the following table:

Get hands-on with 1400+ tech skills courses.