Modules
Intermediate⏱ 8 min read

How to Create a Test Plan

sign in to track

A test plan is more than a document. Creating a test plan is a structured thinking exercise that helps the QA team understand what needs to be tested, how it will be tested, who will test it, when testing will happen, and what could affect the testing process.

Writing the plan before execution helps identify unclear requirements, missing resources, dependencies, and risks before they become problems during testing.

Step 1: Understand the Requirements

Start by reviewing the available requirements, such as:

  • BRD or PRD

  • User stories

  • Functional specifications

  • Acceptance criteria

  • UI/UX designs

  • Business rules

  • API documentation

Identify what the system is expected to do and clarify anything that is unclear.

Example:

If the requirement says:

“Users can cancel an order.”

Clarify questions such as:

  • At what order status can it be cancelled?

  • Can a shipped order be cancelled?

  • Is a refund generated?

  • Is there a cancellation fee?

  • What happens after cancellation?

These questions can affect the testing scope and test cases.

Step 2: Define Test Objectives

Clearly state what testing should achieve.

Examples:

  • Verify that major features meet requirements.

  • Identify functional defects before release.

  • Verify critical business workflows.

  • Ensure previously working functionality is not broken.

  • Validate supported browsers and devices.

Objectives should be specific enough to guide the testing effort.

Step 3: Define the Scope

Clearly identify what is in scope and out of scope.

In Scope

Examples:

  • User registration

  • Login

  • Product search

  • Shopping cart

  • Checkout

  • Payment

  • Order management

Out of Scope

Examples:

  • Third-party payment provider's internal system

  • Unsupported browsers

  • Features planned for a future release

Clearly defining scope prevents misunderstandings about what the QA team is expected to test.

Step 4: Decide the Test Approach

Determine how the application will be tested.

The approach may include:

  • Manual testing

  • Automation testing

  • Functional testing

  • Regression testing

  • API testing

  • Database testing

  • Compatibility testing

  • Performance testing

  • Security testing

  • Usability testing

Not every project requires every type of testing. Select the approaches based on requirements, risk, project scope, and available resources.

Step 5: Identify the Test Environment

Document where testing will take place.

Consider:

  • Application URL

  • Server/build/version

  • Operating systems

  • Browsers

  • Mobile devices

  • Database

  • Test accounts

  • APIs and external services

  • Network configuration

  • Required software and tools

Example:

A web application might require testing on:

  • Windows + Chrome

  • Windows + Edge

  • macOS + Safari

  • Android + Chrome

  • iOS + Safari

Step 6: Identify Test Data Requirements

Determine what data is required for testing.

Examples:

  • User accounts

  • Products

  • Orders

  • Payment test data

  • Customer addresses

  • API request data

  • Different user roles

Also define how the data will be created, maintained, reset, and protected.

Avoid exposing sensitive production data unnecessarily.

Step 7: Define Roles and Responsibilities

Clearly identify who is responsible for each testing activity.

For example:

QA Engineer

  • Create test cases.

  • Execute tests.

  • Report defects.

  • Retest fixes.

QA Lead

  • Define testing strategy.

  • Review test cases.

  • Monitor progress.

  • Manage testing risks.

Developer

  • Fix defects.

  • Support technical investigation.

  • Provide builds and technical information.

Product Owner/Business

  • Clarify requirements.

  • Confirm business expectations.

  • Support acceptance decisions.

Step 8: Create the Test Schedule

Define when each testing activity is expected to happen.

Example:

  • Requirement analysis → 2 days

  • Test case preparation → 3 days

  • Environment setup → 1 day

  • Functional testing → 5 days

  • Regression testing → 3 days

  • Retesting → 2 days

  • Test closure → 1 day

The schedule should account for dependencies and potential delays.

Step 9: Define Entry Criteria

Entry criteria define the conditions that should be satisfied before testing begins.

Examples:

  • Testable build is available.

  • Requirements are sufficiently clear.

  • Test environment is ready.

  • Required test data is available.

  • Critical dependencies are working.

  • Required test accounts are available.

If important entry criteria are not met, testing may need to be delayed or its risks clearly documented.

Step 10: Define Exit Criteria

Exit criteria define when testing can be considered complete.

Examples:

  • Planned test cases have been executed.

  • Critical functionality has been tested.

  • Required regression testing is complete.

  • No unresolved critical/blocking defects remain according to agreed release criteria.

  • Test results have been reviewed.

  • Known risks and limitations are documented.

Exit criteria should be agreed with relevant stakeholders where appropriate.

Step 11: Identify Risks and Mitigation

Identify factors that could affect testing.

Example Risks

  • Test environment may not be available on time.

  • Requirements may change during testing.

  • Test data may be incomplete.

  • Third-party services may be unavailable.

  • Development builds may be delayed.

  • Limited QA resources may affect coverage.

For each important risk, define a mitigation approach.

Example:

Risk: Payment sandbox is unavailable.

Mitigation: Use mock payment responses for functional testing and schedule real integration testing when the sandbox becomes available.

Step 12: Define Defect Management

Document how defects will be handled.

Include:

  • Defect tracking tool.

  • Severity and priority definitions.

  • Defect workflow.

  • Required information in defect reports.

  • Retesting process.

  • Regression expectations.

  • Rules for closing or reopening defects.

This ensures the team follows a consistent defect management process.

Step 13: Define Test Deliverables

Identify what will be produced during testing.

Typical deliverables include:

  • Test Plan

  • Test Scenarios

  • Test Cases

  • Test Data

  • Automation Scripts

  • Defect Reports

  • Test Execution Reports

  • Test Summary Report

Step 14: Review and Approve the Test Plan

Before execution begins, review the plan with relevant stakeholders.

Check:

  • Is the scope clear?

  • Are important risks identified?

  • Are resources available?

  • Is the testing approach appropriate?

  • Are entry and exit criteria realistic?

  • Are responsibilities clear?

  • Are dependencies documented?

The test plan should be updated if major requirements, scope, timeline, or testing conditions change.

Simple Test Plan Structure

A practical test plan can follow this structure:

1. Test Plan Information
→ Project name, version, document owner

2. Test Objectives
→ What testing should achieve

3. Scope
→ In-scope and out-of-scope areas

4. Test Strategy
→ How testing will be performed

5. Test Environment
→ Systems, devices, browsers, databases, tools

6. Test Data
→ Required test accounts and datasets

7. Roles and Responsibilities
→ Who does what

8. Schedule
→ When testing activities will happen

9. Entry Criteria
→ Conditions required to start

10. Exit Criteria
→ Conditions required to complete

11. Defect Management
→ How defects will be reported and tracked

12. Risks and Mitigation
→ Potential problems and responses

13. Deliverables
→ Documents and outputs produced

Practical Testing Takeaway

Creating a test plan forces the tester to think before execution begins.

Instead of simply asking:

“What test cases should I write?”

a tester should first ask:

“What are we testing, why are we testing it, how will we test it, what do we need, what could go wrong, and when will we consider testing complete?”

A good test plan does not need to be unnecessarily long. It needs to provide clear direction, realistic expectations, and enough information for the testing team and stakeholders to understand the testing approach.

◈Key Points

  • Start with scope: list explicitly what IS and IS NOT in scope for testing.
  • Define entry and exit criteria — clear, measurable conditions for when testing starts and ends.
  • Identify risks and define mitigation strategies for each.
  • Assign roles and responsibilities for every testing activity.
  • Include a defect management plan: how bugs are reported, triaged, assigned, and closed.
⚡ Expert Pro Tip

Get stakeholder sign-off on the test plan before testing begins. A signed plan is your defence when someone asks why a feature wasn't tested — or why it was shipped with known defects.