How Do You Decide Which User Journeys to Cover With End-to-End Tests?
## The short answer
Decide what to cover with end-to-end tests by ranking your user journeys on two axes — how much it would hurt if they broke, and how likely they are to break — then writing E2E tests for the small set that scores high on both. You cannot and should not test every path through the browser. The goal is to protect the journeys that carry revenue, retain users, or carry risk, and to leave the long tail to cheaper tests.
Good E2E coverage is curated, not exhaustive.
## Start by mapping the journeys
Before you can prioritise, list the journeys your product supports. A journey is a complete sequence a user follows to achieve a goal — for example, "register an account", "complete a purchase", "export a report", or "reset a password". Write them out in plain language, from the user's first action to the outcome they're after.
Involve people beyond engineering. Product, support, and sales often know which flows customers actually use and which ones quietly cause churn when they break.
## Rank by impact and likelihood
For each journey, score two things:
- **Business impact if it fails.** Would a broken flow stop revenue, lose data, breach a commitment, or generate a flood of support tickets? Checkout and login usually sit at the top.
- **Likelihood of breakage.** How complex is the journey, how often does the underlying code change, and how many systems does it touch? A flow that spans frontend, payments, and email is more fragile than a static page.
Plot journeys on these two axes. The high-impact, high-likelihood quadrant is where your E2E tests belong. Low-impact, low-likelihood journeys rarely justify the maintenance cost.
## Cover the critical few thoroughly
For the journeys that make the cut, cover them properly:
- **Test the happy path first** — the most common successful route through the journey.
- **Add the few failure paths that matter** — for example, declined payment or invalid login — where the recovery behaviour itself is business-critical.
- **Don't try to cover every edge case** at this level. Permutations of input validation belong in unit or integration tests.
A single well-built E2E test for checkout that confirms "a real user can buy something and get a confirmation" is worth more than twenty shallow ones.
## Use real usage data when you have it
If you have analytics, let them guide you. The journeys with the highest traffic, the highest conversion value, or the most drop-off when broken are your strongest candidates. Coverage driven by real behaviour beats coverage driven by guesswork.
Where you lack data, lean on support tickets and incident history. The flows that have broken before, or that generate the most complaints, are telling you where the risk lives.
## Watch for gaps and overlap
Two failure modes to avoid:
- **Coverage gaps**, where a critical journey has no E2E test because everyone assumed someone else owned it. Maintaining an explicit list of covered journeys prevents this.
- **Redundant overlap**, where five E2E tests all exercise the same login flow as setup. Extract shared setup so you're not paying to test login fifty times.
## Keep the list alive
Coverage decisions aren't permanent. As your product evolves, new journeys become critical and old ones fade. Revisit the priority list regularly:
- **Promote** a journey to E2E when it becomes business-critical or starts breaking often.
- **Retire** an E2E test when the journey it guards no longer matters.
- **Re-balance** if your suite is growing faster than your product's genuinely critical flows.
At neart.ai, building enterprise-grade products means treating E2E coverage as a living decision — the critical journeys are protected hard, and effort isn't wasted on paths that don't earn it.
## A simple selection checklist
1. Have we listed every meaningful user journey?
2. Have we scored each on business impact and breakage likelihood?
3. Do all high-impact, high-likelihood journeys have an E2E test?
4. Are we covering happy paths plus only the failure paths that matter?
5. Have we removed redundant overlap and stale tests?
If you can answer yes to all five, your coverage is focused where it counts.
## Takeaway
Don't aim for complete E2E coverage — aim for the right coverage. Map your user journeys, rank them by business impact and likelihood of breakage, and invest your E2E effort in the critical few. Use real usage data where you have it, keep the list under review, and let cheaper tests handle the long tail.