All glossary terms
Verify

End-to-end testing

End-to-end (E2E) tests exercise an entire user journey across the full stack — UI, API, database, external services — as a real user would. The dominant tools are Playwright, Cypress, and Selenium for web; Detox and Appium for mobile. E2E tests give the strongest guarantee that the system works as a whole; they pay for it with execution speed and flakiness.

E2E tests' value is highest on the critical journeys — checkout, signup, login — where any regression is catastrophic. Their cost is highest in maintenance: UI changes break selectors, async timing causes flakes, third-party dependencies introduce non-determinism. The pragmatic ratio (test pyramid) puts E2E at the top: a small number, focused on critical paths, run on every release. Anti-patterns: testing every feature E2E (slow, flaky, expensive); using E2E to catch bugs that unit or integration tests should catch; ignoring flakes ('it'll pass next run') until the suite is meaningless. Healthy E2E discipline: zero-tolerance for flakes; deterministic test data; isolation between tests.

Related terms