~/qa-guides/release-qa-checklist
>_ Release QA Checklist
A practical release QA checklist for reviewing test evidence, unresolved risks, approvals, migrations, rollback, monitoring, deployment, and production verification.
Short answer
A Release QA Checklist is a final readiness checklist used to decide whether a specific release candidate can move to production. It brings together test evidence, unresolved defects, accepted risks, approvals, migration readiness, feature flags, rollback options, monitoring, ownership, and post-deployment verification.
The checklist does not repeat every functional test. It verifies that the required testing has been completed, the results belong to the exact build being released, remaining risks are visible, and the team can deploy, observe, and recover safely.
The main outcome is an explicit go, conditional go, or no-go decision for one identified release candidate.
Release QA vs Regression Testing
Regression testing checks whether a change broke behavior that previously worked. Its scope is selected from the change impact and product risk.
Release QA happens after the required functional, regression, integration, security, performance, and acceptance checks have produced evidence. It asks a different question: is this exact release ready to ship, and is the team ready to operate it?
The distinction is practical:
- regression testing produces evidence about existing product behavior;
- release QA reviews the complete evidence and unresolved risk;
- regression testing can finish before the release window is scheduled;
- release QA continues through deployment and production observation;
- regression testing may recommend additional testing;
- release QA records the final ship or stop decision.
Use a focused sanity testing checklist to verify a narrow fix. Use this checklist when the team needs a release-level decision.
Quick Release QA Checklist
Use this short version for a low-risk release:
- identify the exact commit, build, image, or version being released;
- confirm that the approved scope matches the release candidate;
- review required test results and unresolved failures;
- document known issues, impact, workaround, and owner;
- confirm that required stakeholder approvals are recorded;
- verify production configuration and feature flag values;
- confirm that migrations were rehearsed and have a recovery path;
- verify that third-party dependencies are available for the release;
- assign deployment, QA, rollback, and communication owners;
- agree on go/no-go criteria before deployment starts;
- prepare dashboards, logs, alerts, and key business signals;
- confirm rollback or forward-fix conditions and steps;
- run a production smoke test;
- observe the agreed stability window before closing the release.
When to Use a Release QA Checklist
Use this checklist whenever a change needs an explicit production readiness decision.
Examples include:
- a customer-facing feature is being enabled;
- a group of fixes is being deployed together;
- a database or data migration is included;
- authentication, permissions, billing, or payments changed;
- a new API version or integration is going live;
- feature flags will change production behavior;
- infrastructure, runtime, or environment configuration changed;
- a release requires business or client approval;
- a high-risk hotfix needs controlled deployment and observation;
- several teams must coordinate the same release window.
For business acceptance, use the User Acceptance Testing Checklist and define the gates with the UAT Entry and Exit Criteria Checklist. Their results can become release evidence, but UAT approval alone does not prove deployment readiness.
Full Release QA Checklist
1. Identify the release candidate
The team must know exactly what it is deciding to release.
Check that:
- the release has a unique version, build, image, tag, or commit reference;
- the same candidate was used for the final required tests;
- included tickets, fixes, and configuration changes are listed;
- excluded or postponed work is listed separately;
- release notes match the actual candidate;
- no unreviewed commit was added after final testing;
- the deployment artifact can be retrieved again if needed;
- artifact integrity or provenance checks pass when the delivery process requires them.
If the candidate changes after approval, identify what evidence is invalidated and repeat the affected checks.
2. Review release scope and dependencies
Release scope should include more than visible feature work.
Check that the scope covers:
- application code;
- database and data changes;
- environment variables and configuration;
- feature flags;
- scheduled jobs and queues;
- API contracts and client compatibility;
- third-party services;
- email, notification, analytics, or webhook changes;
- infrastructure and runtime changes;
- documentation, support, or training updates required at launch.
Confirm which teams and systems depend on the changed behavior. An apparently small release can still carry broad operational risk.
3. Confirm required test evidence
Release QA reviews evidence rather than recreating every test pass.
Check that:
- required test types were defined from the release risk;
- final results belong to the approved release candidate;
- failed, blocked, skipped, and not-run checks are visible;
- critical automated checks passed;
- manual evidence exists for scenarios that require judgment;
- fixed defects were retested on the candidate;
- the planned regression testing scope was completed;
- performance, security, accessibility, or compatibility evidence is present when required;
- test limitations are documented instead of being reported as passes.
Evidence should answer what was tested, on which version, in which environment, and with what result.
4. Assess unresolved defects and risks
An open issue does not automatically block every release, but an invisible issue cannot be accepted responsibly.
For each unresolved defect or risk, record:
- severity and affected workflow;
- affected users, roles, devices, or data;
- likelihood and business impact;
- available workaround;
- detection method in production;
- owner and follow-up date;
- reason for accepting or blocking the release;
- stakeholder who accepted the risk.
Confirm that no unresolved issue violates a mandatory release criterion or makes rollback unsafe.
5. Confirm approvals and decision authority
Approvals should come from people who understand the relevant risk.
Check that:
- QA has recorded its recommendation;
- the product owner accepted functional scope and known limitations;
- business or client sign-off exists when required;
- security, legal, finance, or compliance approval exists when in scope;
- operations or platform owners approved the deployment plan;
- the person authorized to make the final go/no-go decision is identified;
- approvals refer to the current release candidate rather than an earlier build;
- conditional approvals state their conditions explicitly.
Silence or attendance in a meeting is not an approval.
6. Verify production configuration and feature flags
Configuration can change release behavior even when the artifact is correct.
Check that:
- required production variables exist;
- configuration values were reviewed without exposing secrets;
- feature flag names, values, audiences, and rollout percentages are documented;
- default flag behavior is understood;
- disabled and enabled paths were tested when both can reach users;
- service endpoints point to production systems;
- production credentials and certificates are valid;
- debug settings, test accounts, and staging banners are absent;
- a configuration-only rollback can be used when appropriate.
Record who may change flags during the release and how each change will be audited.
7. Prepare migrations and data changes
Treat schema and data changes as part of the release candidate.
Check that:
- migration order is documented;
- migrations were rehearsed against representative data;
- expected duration and locking behavior are understood;
- application and schema changes are compatible during deployment;
- backup or recovery requirements are satisfied;
- partial migration failure has a defined response;
- rerunning a migration does not corrupt or duplicate data;
- validation queries or reconciliation checks are prepared;
- rollback limitations are documented;
- data owners know how success will be confirmed.
For irreversible changes, define a forward-fix path instead of claiming that a rollback exists.
8. Confirm integration and dependency readiness
External systems can make an otherwise ready release fail.
Check that:
- required providers and partner environments are available;
- API versions and credentials are correct;
- rate limits and quotas can support the rollout;
- webhook endpoints and signing secrets are configured;
- queues, scheduled jobs, and consumers are ready for the new behavior;
- compatibility with older clients is understood;
- dependency maintenance windows do not conflict with deployment;
- provider failure has a defined fallback or user-visible response;
- support contacts and escalation paths are available for critical vendors.
Use the dedicated API Testing Checklist or Transactional Email Testing Checklist when those systems require deeper evidence.
9. Define deployment steps and ownership
A release plan should be executable by the people assigned to it.
Check that:
- the deployment sequence is documented;
- prerequisites and access are available;
- a deployment owner is assigned;
- a QA verification owner is assigned;
- a decision owner remains available during the release;
- communication and support owners are assigned when needed;
- commands or pipeline actions were reviewed;
- manual steps have a second-person check when risk justifies it;
- maintenance mode or traffic management is planned if required;
- the team knows when deployment becomes user-visible.
Avoid relying on one person's memory for a multi-step production change.
10. Define rollback and forward-fix conditions
The team should decide how to recover before it sees a production failure.
Check that:
- rollback triggers are measurable;
- the last stable artifact is available;
- rollback steps were reviewed or rehearsed;
- database compatibility after rollback is understood;
- feature flags can isolate the change when appropriate;
- cached assets and client versions will not preserve broken behavior;
- rollback duration and expected user impact are known;
- a forward fix is defined for changes that cannot be reversed;
- the person authorized to start recovery is identified;
- post-rollback verification steps are ready.
"We can redeploy the old version" is not a complete rollback plan when data or contracts changed.
11. Prepare monitoring, support, and communication
The release needs observable success criteria.
Check that:
- dashboards cover the affected services and user flow;
- alerts use meaningful thresholds;
- logs include enough context to diagnose failures;
- business signals are available when technical health alone is insufficient;
- baseline values are known before deployment;
- the observation window is agreed;
- support knows the release scope and known issues;
- incident and escalation channels are ready;
- internal or customer communication is drafted when required;
- owners know which signals can trigger rollback.
For a checkout release, for example, server health is not enough; payment completion and order creation should also remain within expected ranges.
12. Hold the final go/no-go review
Make the release decision against agreed criteria, not optimism or schedule pressure.
Review:
- the identified release candidate;
- completed and incomplete test evidence;
- blocker and critical defects;
- accepted known issues;
- migration and dependency readiness;
- deployment and recovery plans;
- monitoring and support readiness;
- approvals and conditional requirements;
- any change since the evidence was collected.
Record one decision:
- Go: all mandatory criteria are met;
- Conditional go: named conditions and owners must be satisfied before or during rollout;
- No-go: a blocking condition must be resolved and reviewed again.
Include the decision time, decision owner, candidate version, accepted risks, and required next actions.
13. Control the production deployment
During deployment, keep the release aligned with the approved plan.
Check that:
- the correct artifact and environment are selected;
- the deployment starts within the agreed window;
- each planned step is recorded;
- migration and rollout progress are visible;
- unexpected warnings or failures are assessed before continuing;
- no unapproved scope is added during deployment;
- feature flags change in the approved order;
- stakeholders receive required status updates;
- rollback criteria are actively monitored;
- the team records the final deployed version.
Pause when evidence contradicts the go decision. Do not continue only because deployment has already started.
14. Run production smoke and observation
After deployment, verify the real environment and watch the agreed signals.
Check that:
- the deployed version matches the intended candidate;
- health checks and critical dependencies are available;
- the changed capability is reachable under the intended flag and role;
- one safe critical-path transaction completes;
- production data changes appear where expected;
- key integrations acknowledge the production event;
- error rate, latency, saturation, and queue health remain within limits;
- relevant business signals remain within expected ranges;
- no new high-severity issue appears during the observation window;
- support has not identified a widespread user problem.
Keep production smoke short and safe. Detailed destructive testing belongs in a controlled environment.
15. Close the release
Close the release only after deployment and observation are complete.
Check that:
- the stability window ended without a rollback trigger;
- the release status is recorded;
- production evidence is attached or linked;
- known issues and follow-up work have owners;
- temporary flags, access, or monitoring changes have a cleanup plan;
- release notes reflect what actually shipped;
- support and stakeholders receive the final status;
- incidents or unexpected behavior have follow-up actions;
- lessons that affect future releases are documented;
- the next responsible person knows about any remaining observation work.
Deployment completion is not the same as release completion.
Common Mistakes
1. Repeating the regression test during the release meeting
A release review should evaluate test evidence and operational readiness. Re-running random product checks at the last minute does not replace planned regression testing.
2. Approving an undefined release candidate
An approval is unreliable if commits, configuration, or artifacts can change afterward without another review.
3. Reporting skipped tests as a pass
Blocked, skipped, and not-run checks are release risks. They should remain visible and receive an explicit decision.
4. Treating every known issue the same way
Known issues need impact, workaround, owner, and acceptance. A list without decisions does not make the release safer.
5. Assuming migrations can be rolled back
Some data changes are irreversible. The team needs a tested recovery or forward-fix approach that matches the actual migration.
6. Preparing monitoring after deployment
Without baselines, dashboards, and rollback signals before the release, the team cannot quickly distinguish normal variation from a production incident.
7. Ending QA when deployment finishes
Production smoke and an observation window are part of release QA because environment, traffic, and integration failures may appear only after deployment.
FAQ
A Release QA Checklist is a set of final readiness checks for one release candidate. It reviews test evidence, unresolved risk, approvals, configuration, migrations, rollback, monitoring, deployment, and production verification before the release is closed.
Regression testing checks whether product changes broke existing behavior. Release QA uses regression results together with other evidence to decide whether a specific candidate is safe and operationally ready to ship.
The organization should name one decision owner with authority to ship or stop the release. QA supplies evidence and a recommendation, while product, engineering, operations, security, or business owners approve risks in their areas.
Review the results required by the release risk, such as functional, regression, integration, security, performance, compatibility, and UAT evidence. Each result should identify the tested candidate, environment, outcome, failures, skipped checks, and limitations.
Yes, when no defect violates a mandatory release criterion and each accepted issue has a clear impact, workaround, owner, and authorized risk decision. Hidden or unassessed defects should not be treated as accepted risk.
Record the decision, time, decision owner, release candidate, evidence reviewed, unresolved defects, accepted risks, conditions, rollback triggers, and next actions.
Every release needs a recovery plan. That may be a rollback, feature flag disablement, traffic shift, data restoration, or forward fix. The plan must reflect what can actually be reversed.
Release QA is complete after the approved candidate is deployed, production smoke passes, the observation window ends without a recovery trigger, remaining work has owners, and the final release status is recorded.