Table of Contents
Testing is an integral part of the product development lifecycle since it helps ensure that the final product does not contain bugs, works as intended, and satisfies the needs of final users. And in order for everyone on the QA team to stay on the same page and make sure that all product aspects are tested and covered, companies use test plans and test strategies.
This is where things get slightly bumpy. First, not all QA teams implement test plans and test strategies in their work. Second, there is a lot of confusion about these two documents and the biggest misconception is that a test plan and a test strategy are the same things. Hence, we prepared an overview of both the test plan and the test strategy and compared them to help clear things up.
A test plan: the definition and the main goal
A test plan is a document that describes in detail what will be tested and how. It includes all actions that will be performed during the testing process and includes such components as project description, risk description, etc. (more on the test plan components below). While many specialists claim that a test plan answers the “how” question, in reality, it’s much broader than that. A test plan not only answers the “how” (“How will the usability testing be carried out?”) but also the “what” (“What techniques will we use to achieve a set objective?”) question. In this way, a test plan is a very comprehensive guideline on how to test a certain application.
An important thing to remember about a test plan is that it is written for a specific project and cannot be applied to a different project. You can compare it to a roadmap that guides QA engineers towards the set goal. In this way, even if testers rotate on the project, they can use a test plan to pick things up easily and carry on the testing process seamlessly.
Depending on their goal, there are several types of test plans:
- Level-specific: a test plan is created for each level of testing (unit testing, acceptance testing, integration testing);
- Type-specific: a test plan is created for each type of testing (functional, load, security);
- Master test plan: a high-level document that comprises both level-specific and type-specific plans and summarizes the testing guidelines for a project.
The main components of a test plan
In general, a good test plan includes:
- Project description
- Team description
- Description of roles and responsibilities
- List of possible risks
- Deliverables
- Definition of done
- Testing scope
- Testing schedule
- Tools to be used in testing
- Estimations (a benchmark for testers to stop testing activities).
However, this is a rather generic list and it might differ, depending on your company, workload, and project. If you have enough time and resources to assemble a highly detailed test plan that you are sure to use for a long time, we recommend referring to the official test plan template by IEEE 829.
A test strategy: the definition and the main goal
A test strategy is more of an approach rather than a document if we can call it this way. An efficient test strategy is a high-level document that is applied to an organization in general.
The main goal of a test strategy is to provide recommendations on a testing approach and explain the objectives to achieve and the test design. A test strategy answers the “what” question, i.e. “What are the testing objectives?”.
As stated above, a test strategy is a high-level document that remains static. This is one of its big differences from a test plan: a test plan is dynamic and can be changed on the go or when needed.
There are many types of test strategies, such as:
- Analytical
- Model-based
- Consultative
- Reactive
- Methodical
- Regression-averse
These test strategy types differ by their goals and are designed in correspondence with the current requirements.
The main components of a test strategy
Since a test strategy is a more general and high-level document, its composition slightly differs from the one of a test plan. It features:
- Project overview
- Requirements scope (application scope and functional scope)
- A testing approach to use during testing
- Needed test coverage
- Test environments
- Testing deliverables
- Communication and status reporting
- List of risks and methods of their mitigation/prevention
- Acceptance criteria for the product
- Defect reporting and tracking
The key differences between a test plan and a test strategy
Though we explained both concepts in detail, it won’t hurt to compare a test plan vs test strategy and see the biggest differences between the two.
Test plan | Test strategy | |
---|---|---|
The main goal | Lists all activities involved in a testing process and explains how exactly the objectives will be achieved | Outlines how a testing process should be carried out, sets testing objectives, includes main testing guidelines and principles to follow |
Level | Project level | Organization level |
State | Dynamic: can be changed depending on specifications | Static: remains the same and cannot be changed once approved |
Managed by | A testing manager or a testing lead | A project manager |
Scope | Defines all testing activities that need to be carried out | Focuses on high-level testing methods and provides general guidelines |
Derives from | Software requirements specifications, use case documents, product descriptions | Business requirements specifications |
Summary
Both the test plan and test strategy are important elements of a frictionless testing process. Unfortunately, there is often not enough time to create detailed documentation so many QA teams either work without a test strategy or do not pay enough attention to it. This issue is especially relevant for Agile teams where specifications and requirements may change with lightning-fast speed. Nevertheless, we highly recommend keeping at least a minimum of testing documentation to use as a reference for team members and as a base for current and future testing processes. In this way, you can rest assured everyone is on the same page and no arguments will appear out of nowhere. And if you need more tips on establishing a robust and seamless QA process, check out our interview with SoftTeco’s QA Engineer Vera Klimova.
Comments