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
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
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)