Full end-to-end coverage is expensive. A smoke suite that runs in minutes catches the failures that actually block launches: login broken, payment form dead, navigation regressed.
Ten scenarios, not a hundred
We pick flows that map to revenue or retention: sign-up, login, core dashboard action, settings change, and payment or booking if applicable. Each test is independent and seeds its own data where possible.
Run on every pull request
Smoke tests gate merges to main. They run headed in CI with trace artifacts on failure so reviewers see screenshots without reproducing locally.
Stable selectors over clever XPath
We prefer data-testid or accessible roles agreed with engineering. Flaky tests get fixed or deleted — a red CI that everyone ignores is worse than no test.
Pair with API checks for payments
Browser tests confirm UI; separate API tests confirm webhook side effects in staging with Stripe test mode or mocked providers.
Nightly broader suite optional
Regression packs can run overnight. Release day relies on smoke plus manual exploratory time on devices browsers do not cover.
Good QA is not maximum coverage. It is the right checks at the right stage of the pipeline.
