Test plan: [Release or project]

Replace the blue placeholders and delete the grey notes as you go. Fill in the scope and the exit criteria first: they are what approvers read most closely. For a small change, use the one-page version at the end instead.

Plan ID

[TP-project-version]

Version

[1.0]

Status

[Draft / in review / approved]

Owner

[Name, role]

Approvers

[Names and roles]

Requirements

[Link or document ID]

Last updated

[Date]

Introduction

Two or three sentences: what the release changes, and what testing must show.

[Release or project] [what it changes]. Testing must show that [the things that must be true when it ships].

Scope

Every line in the second table needs a reason. That list is where later surprises come from.

In scope

Notes

[Feature, screen or interface]

[What exactly is covered]

[Feature, screen or interface]

[What exactly is covered]

[Feature, screen or interface]

[What exactly is covered]

Out of scope

Reason

[Feature, platform or kind of testing]

[Why it isn't tested this time]

[Feature, platform or kind of testing]

[Why it isn't tested this time]

See an example out-of-scope list
  • Mobile apps: they show recurring invoices read-only and have no code changes in 4.2.

  • Payment processing: unchanged, and covered by its own regression suite.

  • Load testing: volumes stay within the limits tested for 4.0.

From the Billfold 4.2 plan, an invented invoicing app. Each exclusion is a decision someone can challenge in time.

Approach

Delete the rows you don't need. Add performance or security testing if the release calls for it.

Kind of testing

How

Who

Tools

Regression

[Automated suite, when it runs]

[Name]

[Tool]

Scripted

[Cases built from the risk table]

[Names]

[Test management tool]

Exploratory

[Number and length of sessions, and their focus]

[Names]

[Notes template]

Accessibility

[Standard and level, such as WCAG 2.2 AA; keyboard and screen reader]

[Name]

[Tools]

User acceptance

[Who tests, with which scenarios]

[Names]

[Where results go]

Test depth by risk

One row per change. High-risk rows get the deepest testing, go first in the schedule and appear in the exit criteria.

Change

If it fails

Risk

How it is tested

[Feature or change]

[What would go wrong for users]

[High / medium / low]

[Cases, sessions or checks]

[Feature or change]

[What would go wrong for users]

[High / medium / low]

[Cases, sessions or checks]

[Feature or change]

[What would go wrong for users]

[High / medium / low]

[Cases, sessions or checks]

Entry and exit criteria

Testing starts when

  • [The build or version is deployed to the test environment]

  • [The smoke test passes]

  • [Test data and accounts are ready]

  • [Test cases are reviewed by the product owner]

Testing is complete when

  • [Every high-risk case has passed]

  • [At least N% of planned cases have run]

  • [No severity 1 or 2 defects are open]

  • [Every open severity 3 defect has a fix date or is accepted in writing, by name]

  • [Acceptance testing is signed off]

Numbers, not adjectives. “No open severity 1 or 2 defects” can be checked. “Quality is acceptable” can't. Two people reading the criteria should reach the same verdict.

Suspension and resumption

  • Pause testing if: [a blocking failure, such as sign-in or the main workflow failing in the test environment]

  • Resume when: [a new build passes the smoke test]

Environments and test data

Environment

[Name and address of the test environment]

Browsers and devices

[Versions and models]

Test accounts

[How many, which roles, who creates them]

Test data

[Source, how it is anonymized, date of the copy]

Other services

[Sandboxes, test inboxes, stubs]

Roles

Role

Name

Responsible for

QA lead

[Name]

[The plan, daily status, the summary report]

Testers

[Names]

[Areas or test cases]

Developer on triage

[Name]

[Reproducing and fixing defects]

Product owner

[Name]

[Scope, accepting known defects, sign-off]

Acceptance testers

[Names]

[Business scenarios]

Schedule

Milestone

Date

Owner

Test cases ready

[Date]

[Name]

System testing

[Start – end]

[Name]

Acceptance testing

[Start – end]

[Name]

Go/no-go meeting

[Date]

[Name]

Release

[Date]

[Name]

Defects

Severity

Meaning

Example

1

[Wrong results or lost data, no workaround]

[Example from this product]

2

[A main task fails, with a workaround]

[Example from this product]

3

[A minor task fails or behaves oddly]

[Example from this product]

4

[Cosmetic]

[Example from this product]

  • Logged in: [tracker, with steps to reproduce]

  • Triage: [when it happens and who attends]

Risks and contingencies

Risks to the testing itself: environments, people, dates, outside services.

Risk

Contingency

Owner

[What could derail testing]

[What you will do if it happens]

[Name]

[What could derail testing]

[What you will do if it happens]

[Name]

Deliverables

  • Test cases: [where they live]

  • Status notes: [how often, and where they are posted]

  • Defect list: [link]

  • Test summary report: [date, and who receives it]

See the test case format

TC-RI-014: A monthly schedule set to the 31st creates an invoice on the last day of a 30-day month.

Priority and requirement: High · PRD-118, R4

Preconditions: Test customer Harbor Florists, monthly from 31 March, $120 plus 8% tax. The staging clock reads 29 April.

  1. Set the staging clock to 30 April, 00:05.

  2. Run the scheduler job.

  3. Open Invoices and filter by Harbor Florists.

Expected result: One invoice dated 30 April for $129.60, status Sent. No invoice on 1 May.

Traces to: the plan's scope (monthly dates) and the High-risk row Monthly invoice dates; every high-risk case must pass before the go/no-go.

Keep test cases in your test management tool or a spreadsheet, and link to them from this plan.

Approvals

Name

Role

Version approved

Date

[Name]

[Product owner]

[1.0]

[Date]

[Name]

[Engineering lead]

[1.0]

[Date]

[Name]

[QA lead]

[1.0]

[Date]

Version history

Version

Date

What changed and why

[1.0]

[Date]

[First approved version]

One-page version

For a sprint, a hotfix or a small feature: delete everything above and keep these six lines. Go back to the full plan when the change carries real risk (money, data, security), depends on another team or system, or needs several people to coordinate testing and sign-off.

What changes

[The change, in one sentence]

What could go wrong

[The failures that would matter]

What we'll test

[Cases, devices, data]

What we won't

[And why]

Done when

[Exit criteria, as numbers]

Who

[Tester and approver]


Before you send it for approval

  • Every out-of-scope line has a reason

  • Entry and exit criteria are numbers someone else could check

  • Every high-risk change appears in the exit criteria

  • Every section, environment and kind of testing has an owner

  • Test data and accounts have an owner and a date

  • Dates in the schedule don't conflict with the go/no-go meeting

  • Help pages and release notes for changed screens are in scope

  • The plan links to the requirements and the test cases instead of copying them