QA checklist before release
Run this before you ship a release. Work through each section, check the box, and capture every issue so it's fixed — or consciously accepted — before it goes out.
A release is a discrete moment with a clear failure mode: ship a broken build and every user hits it at once. This is the complete pre-release QA list to run against a release candidate. Work top to bottom, check each box, and capture every issue so it's fixed or consciously accepted before it goes out — not discovered by users after.
Smoke test (the critical paths)
- Core journeys work end to end — sign up, log in, the primary action
- Checkout or payment completes, if the product has one
- Nothing on the critical path 500s, hangs, or shows a broken page
Functional
- Every form validates and submits; success and error states both work
- Auth works: login, logout, password reset, and session expiry
- Edge cases handled: empty inputs, very long inputs, special characters
- Permissions are correct — each role sees only what it should
Cross-browser and device
- Tested in Chrome, Safari, and Firefox
- Tested on a real mobile device, not just a resized desktop window Touch, viewport, and mobile-Safari quirks don't show up in desktop dev tools.
Regressions
- Re-tested the areas this release directly changed
- Re-tested anything that shares code with the changed areas Regressions hide in the code a change touches indirectly, not just the lines you edited.
Data and errors
- No new errors in the browser console on the main flows
- Server logs are clean of new errors under normal use
- Error states show a useful message, never a raw stack trace
Pre-deploy
- Production environment variables and secrets are set
- Feature flags are in their intended state for launch
- There's a rollback plan if the release goes wrong
Frequently asked questions
When should I run this checklist?
Run it against a release candidate on staging right before deploy, then run the smoke-test section again on production immediately after. Pre-deploy catches the bugs; the post-deploy smoke test confirms the release survived the move to production.
What happens if I skip regression testing?
Regressions are the most common production surprise: a change works in isolation but breaks something that shares code with it. Re-testing the touched areas and their neighbours is what catches a fix that quietly broke a feature nobody re-opened.
Capture your first review.
About a minute from open tab to a shareable URL your agent can ingest.
Start capturing