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