Blog

What is Test Planning and 9 Steps to Create a Test Plan

Rishabh Kumar
Software Quality Evangelist
Published on
May 19, 2026
In this Article:

A test plan aligns QA, development, and stakeholders on what success looks like before work begins, so everyone knows when testing is on track or done.

A test plan is the document that turns a release, a feature set, or a defined piece of work into a coordinated testing effort. It names what will be tested, by whom, with what approach, against what risks, and to what definition of done. A good test plan is short enough to be read in one sitting and useful enough to be referenced through the work it describes.

The discipline has shifted since the days of hundred-page IEEE 829 plans that nobody read. The modern test plan is a living document: short, current, owned, updated, and read by the people whose work depends on it.

What is a Test Plan?

A test plan is a written agreement that allows a team to know whether testing is on track, off track, or done. It aligns QA, development, product, and stakeholders on what success looks like before the work begins.

A test plan is not a deliverable to be approved and filed. A plan that gets filed dies on the day it is filed. The plan that earns its place is the one that gets read, referenced when scope or schedule shifts, and updated when reality changes. The question is not whether the plan is written. The question is whether the plan is working.

Why is Test Planning Important?

Without a test plan, every person on the team has a slightly different idea of what is being tested, who is responsible for it, and what done looks like. That gap produces missed coverage, last-minute scope debates, and release decisions made on gut feel rather than evidence.

A well-written test plan does several practical things at once.

  • It forces the team to think through risks before they materialise rather than after
  • It gives the QA team a clear scope to work from rather than an assumed one
  • It gives developers visibility into what their code will be tested against
  • It gives product managers and stakeholders a clear picture of release readiness
  • It creates a record of decisions that can be revisited when scope or schedule changes

The plan does not have to be long to do all of this. Three pages covering the right components beats thirty pages covering everything twice.

Who Needs a Test Plan?

A test plan touches every role involved in a release, not just the QA team.

  • QA engineers and leads use the plan as their working guide: scope, approach, ownership, risks, and done criteria all live here. The plan is the QA team's primary reference through the cycle.
  • Developers benefit from knowing what will be tested and what the pass criteria are. This shapes how they approach edge cases, what they include in code reviews, and when they consider a feature ready to hand over.
  • Product managers use the plan to understand coverage, track progress, and make informed decisions about release timing. The risks and mitigations section is particularly relevant for anyone weighing release trade-offs.
  • Business analysts use the plan to confirm that test coverage maps to requirements and that the scenarios being tested reflect what users actually need.
  • Compliance and audit teams in regulated industries use the plan as documented evidence that testing was planned and executed against defined criteria.
  • Support teams use the plan to anticipate known issues and prepare guidance for users before problems surface in production.
Who needs a test plan

Key Components of a Test Plan

A short test plan with the right components is better than a long plan that covers everything twice. Eight components account for nearly everything a modern test plan needs to carry.

Test Plan Components

1. Scope

The scope section names what is in and what is out. Both matter equally. The in-scope list tells the team what to test. The out-of-scope list forces a decision about what is being skipped, deferred, or covered by someone else.

Be specific. "All checkout flows" does not tell anyone which flows, which browsers, or which languages. "Single-item, multi-item, and saved-card checkout flows on Chrome, Firefox, Safari, and Edge in English and French" does.

Everything downstream, from effort estimates to done criteria, depends on how clearly the scope is written.

2. Approach

The approach section records how the testing will be done for this specific release: which test design techniques apply, which test types will run, and what level of automation is being used for each area.

Write it as a record of decisions made, not a general description of how testing works.

For example: "We are using boundary value analysis for all date and monetary fields because those are the most common source of defects in the previous two releases." When the work runs into trouble, the team can go back to these decisions and ask whether they are still the right ones.

3. Resources and Environments

List the people doing the work by name and what each person is responsible for. For example: "James owns the checkout module. Priya owns the payment integration. Both are available full time for the three-week cycle." This makes it clear who to go to for any question about a specific area.

Do the same for environments. Name each environment, what it is used for, and when it will be available. If there are constraints, write them down.

For example: "The staging environment is shared with team B and is only available to us from Monday to Wednesday each week."

4. Schedule and Milestones

Name the three dates that matter most:

  • When system testing starts
  • When UAT starts
  • When the release decision will be taken.

For example: "System testing starts 5 June. UAT starts 19 June. Release decision is 30 June."

Add contingency days around the steps most likely to slip. If the staging environment has been unreliable before, add buffer time around that milestone specifically rather than spreading extra days evenly across the whole schedule.

5. Risks and Mitigations

For each risk, write what could go wrong and exactly what will be done about it.

For example: "The fraud screening vendor has not been tested at the volume this release requires. We will run contract testing in week one and limit the initial rollout to one market to reduce the impact if problems appear."

Three or four specific risks with specific actions is more useful than a long list of general concerns with nothing attached to them.

6. Entry Criteria

Entry criteria are the conditions that must all be true before testing starts.

For example: the build is deployed and stable in the test environment, the test environment has been checked and is accessible to all testers, test data is ready, test cases have been reviewed, and any defects that would block progress from the previous cycle have been fixed.

Agree this list with the development and environment teams at the start of the cycle. If any condition is not met by the planned start date, the team knows immediately rather than discovering it on day one of testing.

7. Pass and Fail Criteria

Pass and fail criteria define what must be true for the release to go ahead and what would cause it to be held.

For example: "No critical or high defects are open at the release decision date. All in-scope scenarios are passing on the full browser and device list. The regression suite has been green for three consecutive nightly runs before the release date."

Write criteria that anyone on the team or in the business can check for themselves. If a criterion requires someone to make a judgement call about whether it has been met, rewrite it until it does not.

8. Roles and Ownership

Write down who owns each area of the plan.

For example: "Ana owns the test plan overall. James owns the checkout module test cases and execution. Priya owns the payment integration test cases and execution. David owns the regression suite. Fatima owns test data."

Every area has one named person. If the list reveals an area that nobody has been assigned to, assign someone before testing starts. An unowned area will not receive attention until something goes wrong in it.

9. Defect Management

Write down how bugs will be handled before testing starts.

For example: "All defects are logged in Jira with a severity label. Critical means a core user journey is completely broken with no way around it. High means significant impact but the user can work around it. Medium and Low cover everything else. Developers are assigned defects by the QA lead within 24 hours of logging. Once fixed, the original reporter retests and closes the defect."

Getting this agreed in advance means the first defect found during testing goes straight into the right process rather than triggering a conversation about how to handle it.

10. Deliverables and Reporting

List what the testing effort will produce and who receives each item. For example: "Test cases for all in-scope areas delivered by day five. Daily status update sent to the engineering manager each afternoon. Weekly summary sent to the product owner every Friday. Release readiness report delivered on the release decision date."

Also write down what triggers an escalation.

For example: "If any milestone slips by more than two days, the QA lead notifies the project manager the same day." This means everyone knows in advance when and how problems will be raised rather than finding out differently each time.

CTA Banner

How to Create a Test Plan: A Step-by-Step Guide

Nine Steps to Build a Test Plan

Step 1: Understand What You Are Testing

Read the requirements, user stories, and acceptance criteria before writing anything. Talk to developers to understand what is changing. Talk to the product manager to understand what matters most.

What to Do

  • Read the feature documents and technical specifications
  • Identify which area carries the highest business risk if it breaks
  • Write a two-sentence purpose statement to anchor the plan

Why it Matters

A plan written without this context will miss the things that matter most. The purpose statement keeps the team focused when scope or priorities shift mid-cycle.

Example

Purpose statement for a claims module release: "This release adds a guided claims intake journey and automated triage. Testing must confirm both work correctly, that the fraud screening integration behaves as expected, and that the regulatory reports match the new requirements."

Step 2: Define the Scope

Document what will be tested, what will not be tested, and who must confirm each exclusion. Both lists need to be explicit and agreed before testing begins.

What to Do

  • Write the in-scope list first: features, journeys, integrations, and configurations
  • Write the out-of-scope list with a reason for each exclusion
  • Share both lists with stakeholders and get written confirmation

Why it Matters

Unconfirmed exclusions surface as surprises mid-cycle. A stakeholder who disagrees with an out-of-scope decision is better to find out on day one than on day ten.

Example

In scope:

  • Guided intake journey on web and mobile web
  • Automated triage for all seven claim types
  • Fraud screening vendor integration
  • Regulatory reporting for twelve markets

Out of scope:

  • Native mobile apps (covered by the mobile team)
  • Penetration testing (covered by the annual programme)
  • Full load testing (covered by the platform team)

During review, the engineering manager asked for lightweight API response time checks on the fraud screening integration because it had never been tested at volume. The scope was updated to include this. The full load test remained with the platform team.

Step 3: Identify Risks and Pair Them With Actions

For every area that could cause problems, write what could go wrong and what will specifically be done about it.

What to Do

  • List the most realistic risks for this release, not generic ones
  • Write one specific mitigation action for each risk
  • Ask: if this risk happened, would it change the plan? If not, remove it

Why it Matters

A risks list without actions is just a list of worries. The mitigation is what turns it into a plan.

Example

Every risk paired with a concrete, scheduled action. A risk without a mitigation is just a worry.

Step 4: Define Entry Criteria

Write down every condition that must be true before testing starts. Share the list with the development and environment teams and get confirmation by a specific date.

What to Do

  • List each condition with a named owner and a due date
  • Get written confirmation from each owner
  • If a condition will not be met, adjust the start date before testing begins

Why it Matters

Testing that starts before these conditions are met wastes the first week on setup problems rather than actual testing.

Example

By end of day 4 June:

  • Build deployed to integration environment and passing smoke tests
  • All three QA engineers have environment access
  • Test data extract of 500 sanitised records loaded and verified
  • All 87 intake journey test cases written and peer reviewed
  • Two critical defects from the previous cycle fixed and retested

During review, the development lead flagged the fraud screening integration would not be ready until 6 June. The system testing start date was moved to 6 June and the product manager was notified the same day.

Step 5: Choose the Approach

For each scope area, decide which test techniques will be used and how much will be automated versus manual. Write the reasoning behind each decision.

What to Do

  • Name the test types for each scope area (functional, exploratory, regression, and so on)
  • Name the test design techniques being applied (use case testing, boundary value analysis, and so on)
  • State which areas will be automated and which will be manual, and why

Why it Matters

Decisions made without recorded reasoning are impossible to revisit when the work runs into trouble. Writing the reasoning takes two minutes and saves hours of debate later.

Example

Choose the Test Plan Approach

Step 6: Define Pass and Fail Criteria

Write down exactly what must be true for the release to go ahead and what would cause it to be held. Get sign-off on these before system testing begins.

What to Do

  • Write pass criteria as measurable conditions, not general statements
  • Write fail criteria as the specific things that would trigger a hold
  • Get written agreement from the product manager, engineering manager, and relevant stakeholders before testing starts

Why it Matters

Criteria agreed before testing produces a clear release decision. Criteria agreed at the release decision meeting produces a debate.

Example

Release proceeds if all of the following are true on 30 June:

  • No critical or high defects are open
  • All 212 test scenarios have passed on Chrome, Firefox, Safari, and Edge
  • Regression suite has been fully green for three consecutive nights
  • At least two of three market business leads have provided UAT sign-off

Release is held if any of the following are true:

  • Any critical defect is open and unresolved
  • The regression suite had any failure in the 48 hours before the decision
  • Fewer than two market business leads have provided sign-off

At the kickoff meeting, the product manager asked whether a medium defect in the regulatory reporting would hold the release. The QA lead confirmed it would not under these criteria. The product manager agreed and this was recorded in the plan.

Step 7: Set the Schedule

Name the three dates that matter most and the dependencies between them. Add contingency at the most uncertain points.

What to Do

  • Name the start of system testing, the start of UAT, and the release decision date
  • Write the dependencies between each milestone explicitly
  • Add contingency days at the points most likely to slip, not spread evenly across all dates

Why it Matters

A schedule with too many dates is a schedule nobody tracks. Three load-bearing dates with clear dependencies is a schedule people can manage.

Example

Test Planning - Set the Schedule

The two buffer days before UAT were added because the staging environment was unreliable in the previous release. If the environment is ready early, those days go to additional regression coverage.

Step 8: Allocate Ownership

Assign one named person to every area of the plan. No area should have more than one owner or no owner at all.

What to Do

  • Go through the plan section by section
  • Assign one person to each area with a clear description of what they own
  • If any area has no clear owner, resolve it before testing starts

Why it Matters

An area with no owner will not receive attention until something goes wrong in it.

Allocate Ownership - Test Planning

Step 9: Share It and Get Input

Send the plan to the full delivery team before work begins and hold a short meeting to walk through it.

What to Do

  • Send the plan to developers, product managers, and any relevant stakeholders
  • Book a short meeting (15 to 20 minutes) to walk through scope, risks, and done criteria
  • Capture any concerns raised and update the plan before testing starts

Why it Matters

A plan that has been read and discussed by the people doing the work is a plan that does its job. A plan that gets filed without discussion does nothing.

Example

The QA lead sends the plan on day one and books a 20-minute kickoff for the next morning. The agenda:

  1. What is in scope and what is not (five minutes)
  2. The three risks and mitigations (five minutes)
  3. Entry criteria and who confirms each item (five minutes)
  4. Pass and fail criteria for 30 June (five minutes)

At the meeting, the development lead raises a concern that the fraud screening integration may not be stable enough to meet the entry criteria date. The QA lead adds a contingency to the plan: if the integration is not ready by 6 June, that area moves to week two and triage testing fills week one instead. The updated plan goes to the full team by end of day.

CTA Banner

Test Plan Template

Use this as a starting point. Remove sections that do not apply. Add any section your release needs.

Test Plan Template
Test Planning Template - Reusable One-Page Structure

A Worked Example: Test Plan for an Enterprise Claims Module Release

Consider a European property and casualty insurer is releasing a new claims-handling module. The module replaces a legacy intake form with a guided journey, adds automated triage, and connects to a new fraud screening service. It is the largest release of the year.

  • Purpose: Verify the new claims module works end to end, integrates correctly with the policy and payment services, meets the new regulatory reporting requirements, and is ready for rollout across twelve markets.
  • Scope (in): New intake journey on web and mobile web. Automated triage rules across all permitted claim types. Fraud screening vendor integration. Regulatory reporting outputs. Functional, integration, and end-to-end testing. Regression of the legacy intake until cutover.
  • Scope (out): Native mobile apps (separate plan). Performance testing (platform engineering team). Security penetration testing (annual programme). User research on the new journey (product team).
  • Approach: Use case testing for five core journeys. Boundary value analysis for monetary and date inputs. Exploratory sessions in week three for the triage module. End-to-end automation for regression, run nightly on the supported browser matrix.
  • Resources: Three QA engineers full time. One QA lead at 50%. Two automation engineers for the regression suite. Integration environment for ongoing testing. Staging environment for the final acceptance pass. Test data from a sanitised production extract refreshed every Monday.
  • Schedule: Entry criteria confirmed by 4 June. System testing starts 5 June. UAT starts 19 June. Release decision 30 June. Two contingency days built in around the staging environment milestone.
  • Risks: Fraud screening vendor not tested at planned volume. Mitigation: contract testing in week one, staged rollout to one market first. Staging environment was unstable in the two previous releases. Mitigation: disaster recovery environment reserved as fallback. Regulatory reporting requirements are new. Mitigation: early review with the compliance function in week one.
  • Pass criteria: No critical or high defects open at the release decision. All use case scenarios passing on the full browser matrix. Regression suite green for three consecutive nightly runs before release. UAT sign-off from at least two of three market business leads.
  • Ownership: Ana owns the test plan overall. James owns the intake journey. Priya owns the triage and vendor integration. David owns the regression suite. Fatima owns test data. The compliance liaison is named for the regulatory thread.

Three pages. Read at a team meeting in the first week. Referenced twice when scope questions came up during the cycle. Updated once when the staging environment issue materialised.

How to Handle Changes to the Test Plan

Test plans change. Requirements shift. A vendor misses a delivery date. A new regulatory requirement arrives mid-cycle. Five practices keep changes from breaking the plan.

Treat the Plan as a Living Document From Day One

For example: "The QA lead updates the plan at the end of each week to reflect any scope or schedule changes from that week." Daily edits during an active cycle are normal.

Assess the Impact Before Agreeing to Any Change

For example: "Adding the accessibility audit to scope adds three days to the schedule and requires one additional tester. The release decision date needs to move from 30 June to 3 July."

Tell Everyone at the Same Time

For example: "Send a single update to the full delivery team within 24 hours of any scope change, naming what changed, why, and what the impact is."

Update the Connection Between Requirements and Test Cases

For example: "If the triage rules change in sprint three, James updates the affected test cases within two days and flags the change in the daily status update."

Reprioritise by Risk When Time is Tight

For example: "If the schedule shrinks by three days, the exploratory sessions on the legacy intake are reduced first. The fraud screening integration and the regulatory reporting get full coverage regardless."

Common Mistakes in Test Planning

1. Writing the Plan to Satisfy a Process Rather Than to Guide Work

A plan written because the project management office requires one, with no expectation that anyone will read it. The moment the plan becomes a filing exercise, it stops being useful.

2. Too Much Detail That Nobody Reads

A plan with fifty numbered subsections covering every possible edge case. A plan that long gets skimmed on day one and ignored for the rest of the cycle. Keep it as short as it can be while still covering what matters.

3. Too Little Detail That Fails to Align Anyone

A plan with three sentences that leaves the scope, approach, and done criteria open to interpretation. Everyone reads it differently and the gaps surface at the worst possible time.

4. No Risks Section

A plan that lists scope and schedule with no mention of what could prevent the testing from succeeding. The risks section is what separates a plan from a list of intentions.

5. No Clear Done Criteria

A plan that says "testing will be thorough and complete" without defining what thorough and complete actually means. When the release decision meeting arrives, stakeholders argue about whether testing is done rather than checking whether measurable criteria have been met.

6. Filing the Plan Instead of Using it

A plan approved by the project manager on day one and never opened again. A plan that gets read, referenced, and updated through the cycle is a plan that does its job. A plan that gets filed does nothing.

How Virtuoso QA Bridges the Gap Between Test Planning and Test Execution

Writing a good test plan is one challenge. Keeping the testing it describes running continuously as the code changes is another.

  • GENerator reads requirements, user stories, Jira tickets, and BDD scenarios and produces ready-to-run tests from them.

    For example: "The QA lead uploads the claims intake requirements on day one of the cycle. GENerator produces the first draft of the journey test suite by end of day. The team reviews and adds edge cases before system testing starts."
  • Self-healing AI at approximately 95% accuracy keeps tests current when the interface changes.

    For example: "The intake form is redesigned in sprint two. Field labels change and the submit button moves. Virtuoso QA detects the changes and updates the affected test steps automatically. The QA lead reviews the changes the next morning rather than spending two days manually fixing broken tests."
  • AI Root Cause Analysis explains failures in plain language connected to the user journey.

    For example: "A test fails on the fraud screening integration. AI Root Cause Analysis surfaces that the vendor API is returning a different response code than expected and links the failure to the relevant test case and the risk that was logged in the plan."
  • Composable testing libraries let each sprint add coverage rather than replace it.

    For example: "The checkout journey is built as a composable module in sprint one. Every subsequent sprint that touches the checkout area runs that module as part of its testing without rebuilding it from scratch."

The plan defines what must work. Virtuoso QA makes sure it does, continuously, as the code changes around it.

CTA Banner

Related Reads

Frequently Asked Questions

What is the difference between a test plan and a test strategy?
A test strategy is organisation-wide and durable, describing how the organisation approaches testing across many projects. A test plan is project-specific or release-specific, describing how the strategy will be applied to a particular piece of work. Strategies are written once and revised infrequently; plans are written for each release and updated as the work proceeds.
How long should a test plan be?
Length depends on the size and stakes of the release. A sprint-level micro-plan can be a paragraph; a major enterprise release plan rarely needs to be more than three to five pages. Length beyond that usually indicates over-documentation. The criterion is whether the plan can be read once and referenced through the work, not how many sections the document contains.
Who writes the test plan?
The QA lead or test manager typically owns the plan, with input from the development lead, product manager, and other stakeholders. Writing is collaborative; the lead is the single point of accountability. In agile teams, the plan is often authored or co-authored by the QA engineer embedded in the team rather than by a separate test manager.
When should a test plan be created?
A test plan is created at the start of a release cycle, sprint, or initiative, before the testing work begins. Plans written after the work begins are usually after-the-fact rationalisations rather than planning artefacts. In continuous delivery environments, the plan is a living document maintained continuously rather than a one-off pre-release artefact.
How does a test plan fit into agile development?
Agile development reshapes test planning rather than abolishing it. Most teams maintain plans at three levels: sprint-level micro-plans inside sprint goals, release-level rolling plans for multi-sprint themes, and initiative-level plans for cross-team programmes. Each level is lighter than the level above; each level lives inside the broader frame of the others.

What is risk-based test planning?

Risk-based test planning scopes the testing effort according to the risk profile of the work, rather than attempting uniform coverage of all features. High-risk areas (customer-facing, regulatory, recently changed, historically defect-prone) receive deeper coverage; low-risk areas receive lighter coverage. The approach is particularly valuable in environments where the change surface is large or unstable, such as AI-assisted development or microservices estates.

Subscribe to our Newsletter

Codeless Test Automation

Try Virtuoso QA in Action

See how Virtuoso QA transforms plain English into fully executable tests within seconds.

Try Interactive Demo
Schedule a Demo