Why and How to Write a Test Plan?
Test plans outline the process of testing the functionality of the software. A test plan details each step was taken to achieve a certain result and states the objective of each action. The plan also highlights the projected resources, risks, and personnel involved in the test.
You should use a test plan if you are seeking to eliminate bugs and other errors in your software before it becomes available to customers. Follow the steps below to create a test plan.
Know The Basics About Test Plan
What you put in your test plan depends largely on the complexity of the software you’re planning to test. However, there are three basic sections that should always be included in a test plan: Test Coverage, Test Methods, and Test Responsibilities.
Read Also: Beta Testing
- Test coverage defines what you will be testing and what you will not.
- Test methods define how you will be testing each part defined in the “coverage” section.
- Test responsibilities assign tasks and responsibilities to different parties. This section should also include what data each party will record and how it will be stored and reported.
Familiarize yourself with necessary IEEE standards documents
The Institute of Electrical and Electronics Engineers (IEEE) publishes international standards for testing and documenting software and system development. To hold your test plan to the highest standard, consult with the IEEE publications below:
- 29119-1-2013, Software and Systems Engineering – Software Testing – Part 1: Concepts and Definitions
- 29119-2-2013, Software and Systems Engineering – Software Testing – Part 2: Test Processes
- 29119-3-2013, Software and Systems Engineering – Software Testing – Part 3: Test Documentation
- 829-2008, IEEE Standard for Software and System Test Documentation
- 1008-1987 – IEEE Standard for Software Unit Testing
Consult a template
You can find templates for test plans online. The best source for templates is the IEEE library, but access does cost a fee.
- The North Carolina Office of Information Technology Services offers an annotated test plan template, based on IEEE 829 standards, here.
- Dublin City University also offers a free test plan template, based on IEEE 829 standards.
Step 1. Write the Introduction
Your introduction functions as the “executive summary” of the test plan: its goals, its scope, and its schedule. This should be kept brief, as you will go into further detail in subsequent sections of the test plan.
Check Also: API Testing Tools
- Your goals and scope statements should define, in general terms, the methods that will be used in the testing process and the projected results. The scope statement should also include the most critical performance measures, as well as a list of what the test plan will not address, and why.
- A schedule details the increments of time in which each phase of the test will be completed.
- Related documents include any peripheral material that is relevant to the current project, such as lists of specifications.
Step 2. Define your objectives
Your test plan should clearly define what you will test and why you will test it. These should always be based on industry standards.
- Determine the scope of the test. What scenarios will be tested?
- Determine what is out of scope for the test. What scenarios will not be tested?
- Common scenarios include Module Testing, Integration Testing, Systems/Acceptance Testing, and Beta Testing.
Step 3. Write a section on required resources
This section describes all of the resources needed to complete the testing, including hardware, software, testing tools, and staff.
- When accounting for your staff, make sure to detail the responsibilities required of each member and the training needed to execute those responsibilities.
- Make sure to document the exact specifications of hardware and software.
Step 4. Write a section on risks and dependencies
Detail all the factors that your project depends on and the risks involved in each step. The level of acceptable risk in your project will help determine what you will and will not test.
- Consider the likelihood of various risks. You will need to prioritize the critical areas.
- Be aware of any vague or unclear requirements. Users often lack the expertise to understand technical language or procedures so user misunderstanding could pose a risk.
- Use your past “bug” history to help you identify areas of concern and extra testing.
Step 5. Write a section on what you are going to test
List what new aspects you will be testing and what old aspects you will be re-testing. Make sure to detail the purpose of each test.
- You can use software application inventories, IEEE guidelines, and other sources to help you determine this list.
- This section also represents your “deliverables,” or what data you will deliver to the client once the testing is complete.
Step 6. Write a section on what you will not be testing
List any features that will not be tested during the current project. Reasons not to test features include:
- The feature will not be included in this version of the software
- The feature is low-risk or has been used before without issue
Step 7. List your strategy
This section outlines the overall test strategy for your test plan. It will specify the rules and processes that will apply to the tests outlined above.
- Include information on tools to be used, what metrics will be collected, and at what level, how many configurations will be tested, and whether there are any special requirements or procedures for testing.
Check Also: What is Web Service? How it is Tested?
Step 8. Develop a pass/fail criteria
These criteria will guide your testing staff so that they know whether testing objectives have been achieved. This section can also include “exit criteria,” so that your staff knows when it is acceptable to stop testing a certain feature.
- You should also include a list of suspension criteria and resumption requirements. This information tells testers when to pause tests and what the acceptable level of the defect is to resume them.
Step 9. Write a list of documents that will be produced during testing
Also known as “deliverables,” these documents are the data, reports, scripts, and results that will be produced by testing.
- It’s a good idea to assign these deliverables to “owners” who are responsible for their delivery. Assign deadlines by which they are due.
Step 10. Write a section on the results of your project
Outline all the goals that you hope to achieve during the testing process. Detail who is in charge of final approvals.