DEV Community

Joy Odinaka
Joy Odinaka

Posted on

Test Planning: Before I Start Testing

So far, I have learned how to:

  • Understand requirements
  • Design tests
  • Write test cases
  • Execute tests
  • Report bugs
  • Document results

But before all of that, there is an important question:

What exactly are we going to test, and how are we going to test it?


Test Planning?

Test planning is the process of deciding what will be tested, how it will be tested, who will do it, and when it will happen.

A test plan gives the team a clear direction before testing begins.


What Goes Into a Test Plan?

A test plan can include:

1. Scope

What are we testing?

Defining scope helps prevent confusion about what the team is responsible for testing.

For a food delivery application, for example:

In scope:

  • Registration
  • Login
  • Restaurant search
  • Viewing menus
  • Adding food to cart
  • Placing orders
  • Order history

Out of scope:

  • Payment gateway
  • Delivery processing
  • Password reset

2. Testing Types

We also decide what types of testing are needed. The types selected depend on the application and its requirements.

For example:

  • Functional testing
  • Regression testing
  • Exploratory testing
  • Negative testing
  • Smoke testing
  • Usability testing
  • Compatibility testing

3. Test Environment

Where will testing happen?

The environment matters because software can behave differently across browsers, devices, and configurations.

For example:

Browser:
Chrome
Firefox

Devices:
Desktop
Android

Database:
Test Database
Enter fullscreen mode Exit fullscreen mode

4. Roles and Responsibilities

Who is involved?

Everyone should understand their role during testing.

A test plan can define responsibilities for:

  • QA Tester
  • QA Lead
  • Developer
  • Product Owner
  • Scrum Master

5. Schedule

Testing doesn't happen randomly.

Schedule gives the team an idea of what happens when.

We can plan activities such as:

Requirement Review
       ↓
Test Planning
       ↓
Test Scenario Design
       ↓
Test Case Design
       ↓
Test Execution
       ↓
Bug Reporting & Retesting
       ↓
Test Closure
Enter fullscreen mode Exit fullscreen mode

Entry and Exit Criteria

Another thing I learned is that testing needs clear conditions for starting and finishing.

Entry Criteria

Conditions that should be met before testing begins.

For example:

  • Requirements are available
  • Test environment is ready
  • Test data is available
  • Build is deployed

Exit Criteria

Conditions that help determine when testing can be considered complete.

For example:

  • Planned tests have been executed
  • Critical defects are resolved
  • Test results are documented
  • Required coverage has been achieved

Risks and Assumptions

Things don't always go according to plan.

A test plan can also identify potential risks.

For example:

The test environment may not be available on time.

Or:

A required test API may be unavailable.

Identifying risks early allows the team to think about how to handle them.


Test planning has changed the way I think about testing. I don't just start testing immediately I am giving the application.

Now I first define:

  • What we are testing
  • What's not included
  • How we will test it
  • Who is responsible
  • What is needed
  • When we can start and finish

Testing isn't something we simply start doing without a plan.

I'm learning QA and I'm taking you with me.

Top comments (0)