Testing the whole journey
End to end tests launch the real application in a browser and walk through complete user journeys: log in, add an item, check out. They exercise the frontend, the network, and often a real or seeded backend, so they validate the system as a user actually experiences it.
- They run against a deployed or locally served build.
- They click, type, and navigate like a person would.
- They assert on what appears on screen after each step.
Use them sparingly
End to end tests give the highest confidence but are slow and prone to flakiness from timing and network variance. So you cover only the few journeys that must never break, and lean on faster tests for everything else.
- Cover: signup, login, checkout, and other revenue critical flows.
- Stabilize: wait for conditions rather than fixed sleeps.
- Isolate: seed known data so runs are repeatable.
Treat a flaky end to end test as a bug to fix, not noise to ignore. Quarantine it, find the race, and restore trust so the suite stays a reliable gate before release.
Key idea
End to end tests drive the real app through critical journeys, giving high confidence at the cost of speed and stability.