Summary
End-to-end (E2E) testing exercises real user journeys through the entire application stack—from the user interface through the backend to the database—to confirm that critical workflows function correctly in a deployed environment.
What is E2E Testing?
E2E tests simulate actual user interactions with a running application. A test might open a browser, log in, place an order, and verify the confirmation email—touching every layer of the system. This gives the highest confidence that the system works as users experience it.
The cost of E2E tests is significant: they are slow, require a fully deployed environment, and are sensitive to infrastructure changes and timing issues. For these reasons the test pyramid recommends keeping E2E tests few in number, reserving them for the most critical business workflows.
Common tools include Capybara (Ruby), Playwright, Selenium, and Cypress for web applications. For non-UI systems, E2E tests may drive APIs directly through the entire service chain.
Why is E2E Testing relevant?
- Full confidence: Only E2E tests verify that all layers—frontend, backend, database, external services—work together correctly
- User perspective: Tests mirror actual user journeys, catching integration issues invisible to lower-level tests
- Critical path protection: A small focused E2E suite protects the most important business flows from regressions