A Test Strategy is a document that describes a testing strategy within the software development cycle (SDLC). A high-level executive summary can be written at an organizational level. Or it could be very specific on a practical level like a test case that covers a particular function. It is possible to save time, reduce costs, ensure consistency, and provide critical information for stakeholders by providing test documentation at any level.
Hierarchy of Test Documentation
Many people mistakenly confuse a test strategy with a policy or plan when discussing test strategies. Let’s make it clear by explaining the hierarchy of test documentation for these three.
A test policy is a document that outlines the main objectives and principles of testing within an organization or company.
- Constructed for the organizational level
- The information is concise and high-level, sometimes only a few sentences
- Defines the value that testing brings to the company
- It is unlikely that the company will change unless it undergoes major organizational changes
A test strategy is a document that supports the test policy. It provides general requirements for testing and details about how to test within an organization or per-project.
- Project or organization level
- This section describes the general testing methods used by the organization.
- This article describes test reporting using measurements and metrics
- Explains defect management
- It could change depending on how it is used. While a strategy at the organization level will not change often, it could be modified for each project.
Plan a Test
A test plan is a document that outlines project-specific objectives. It also uses high-level information from test policy and test strategy in order to create a plan that can achieve those objectives.
- Project level
- Explains the requirements for testing a particular project
- This document explains how project testers will implement the test strategy
- Includes project risks and test schedules, as well as execution cycle.
- Would you change anything in every sprint, project, or mid-sprint?
How to write a test strategy
The author of a test strategy should take into account the organization and the project before deciding what information to include. The following items are typically included in a test strategy document.
- Test Levels – Describe the level of testing for a document, such as unit, integration, system or acceptance testing.
- Scope – List the areas you want to test. You should also mention any items or areas that are not included in the scope.
- Exit and Entry Conditions – You need to have conditions that specify the start and finish of testing. This information could be provided by a product manager, or another stakeholder.
- Environment – Describe the place where testing is performed. Are you testing in a production, test, staging or development environment? Is there a database involved? To which environment is it directed? Be sure to include URLs.
- Team responsibilities – Describe who’s responsible for each task. This description could include people outside of the testing team. Developers may be responsible to test the code, while stakeholders might be responsible for testing acceptance. A tester might execute scripts and a manager of test may be responsible for reporting.
- Test Tools – This section will describe any tools that are required for testing and case management.
- Technique – Explain conditions and test case definition. Do you need test case data to be created? If so, please explain the requirements and when they should be created.
- Defect Management: Describe how bugs will be reported. It is important to describe the bug’s criticality and describe the process of addressing them.
- Release Control Define who will be responsible to release. It will it be in iterations, CI/CD or both? How many approvals are required before you release the code? Be sure to include any information that might be required by a review board, as it could affect the release’s timing.
- Reporting – This section describes the process for recording metrics and the person responsible for reporting them. A product manager may be able to provide input on acceptable values for each metric.
- Risk and mitigation – It is possible that you are already aware of potential threats prior to testing. If possible, please describe how you can reduce risk.
- Summary This section provides a brief overview of testing and the work it produces.
After you have collected all the information, create the document. You can find many templates online or you can make your own. It is normal to make changes to the template several times until you have a template that is suitable for your company or project. A version will eventually become more static and less refined.
Test Strategy Types
International Software Testing Qualification Board lists seven types of test strategies. Other types may exist, but these are the most commonly used.
This strategy is used when a specific factor, such as a requirement or risk, is being analyzed. Risk-based testing, for example, uses an analytical approach since tests are written according to the risk level and prioritized accordingly.
This strategy is often referred to consultative. It contains instructions and suggestions from stakeholders. These stakeholders could be technology or subject experts. It is a good idea to seek their guidance or counsel when testing is being considered if a project has the opportunity to include an expert.
Methodical testing uses an existing set or conditions. A checklist is an excellent example of methodical test.
This test strategy employs a model (mathematical or business process). The model is then used to design and execute the tests.
This strategy uses external specifications or directives to ensure that the product conforms to industry standards. These tests, such as ISO, are used to verify that the software conforms to industry standards.
Reactive testing is the most unstructured approach. The tests are selected based on previous test’s reactions. Exploratory testing is a great example of a reactive strategy.
This strategy almost always involves automation, as it aims to run regression tests to make sure that existing code was not broken or adversely affected by any new changes.
Tips for writing a test strategy
- A template is a great idea as it ensures consistency throughout the company. A template can save you time and help you to be more familiar with what information is needed.
- A project may require multiple test strategies. This is acceptable and common. The most important action is to include the data.
- It is important to test all items. However, it is equally important to keep a list of the ones that have not been tested. This can prevent scope creep.
- Sometimes, an approach might need to be changed. Sometimes new information or a major defect can emerge during software testing and development life cycles. You should adapt your strategy to suit the needs of the project.
A test strategy describes the intended approach of an organization or project. It can be used to support consistency within the organization if it is well written. It provides guidance and helps to create clear, focused test plans. Based on the test approach, there are many types of test strategies. The author may need to combine several concepts to meet the needs of their project or organization.