Shutterstock

Test Strategy: Does It Make Sense and How to Document It

In this article, we’ll break down test strategy types, how a test strategy differs from a test plan, and what you should include in a test strategy document. The overview will help you understand which test strategy might be best for your needs and why.

What is a test strategy?

A test strategy is a framework for regulating the software testing process. The ISTQB (International Software Testing Qualification Board) identifies eight testing strategies.

Methodical strategy follows pre-defined standards and regulations that the product must meet, such as ISO 2500. It’s commonly used in security testing.

Analytical strategy is based on project requirements analysis and especially focuses on product risks.

Reactive strategy occurs after the software is received by the testing team. Exploratory testing is a typical example, focusing on identifying and resolving irregularities as they appear. The test cases/scenarios often must be updated after a defect is found to reflect the system's current state.  

Process-compliant strategy requires the team to follow predefined processes, create thorough documentation, and base test cases on the business requirements and user stories.

Model-based strategy means creating test cases based on formal models of the product’s core functionality. An example is a state transition model, which illustrates how the system's behavior should evolve when the program moves from one state based on inputs or events to another. For instance, a state transition schema for an eCommerce app would include states like “item selected,” “item in the cart,” “item paid,” and “item shipped.”

Consultative strategy relies on input from knowledgeable stakeholders, especially clients, who guide the testing process.

Regression-averse strategy is focused on preventing regression issues, which are defects that occur after program updates. This strategy employs intense automated testing before the release.

Standard сompliant strategy requires testing teams to adhere to predefined standards, terms, and regulations (defined by country or business domain).

All types mentioned don’t contradict each other and can be combined while working on a single project.

Like any strategy, a test strategy can exist as a mental process or verbal agreement within a team, but it’s typically understood to be a formal document. We’ll discuss its content below.

What is a test strategy document?

A test strategy document is a detailed guidebook for quality assurance processes in the company. It lists the objectives, procedures, tools, and rules to provide comprehensive product testing. If a company manages multiple projects, this framework serves as the standard for all of them.

A test strategy typically isn't part of the SDLC documentation; it's a high-level artifact that can be created at any point in the company's operations and generally doesn't change much over time.

Developing a test strategy usually involves a QA lead, business analyst, and/or project manager. 

Test strategy documents used to be considered absolutely essential in software engineering, especially during the dominance of the waterfall project management approach in the 1980s and 1990s. Waterfall methodology emphasizes meticulous planning of the product, its development stages, and the budget before the work starts. As a result, voluminous, multi-page official guidebooks were commonplace, covering every detail and defining all important terms.

Today, Agile methodologies have become predominant in software development, with 71 percent of companies incorporating them into their SDLC. Unlike Waterfall, the Agile approach does not require exhaustive documentation at the beginning because everything can change as the project evolves: testing scope, features to test, let alone schedule, and budget. Instead, teams often rely on a more concise, tactical document called a test plan. We will discuss the difference between these two types of documentation below.

Test strategy vs test plan

test strategy test plan

The difference between a test strategy and a test plan.

Even testers often confuse a test strategy with a test plan. To explore how they vary, let’s consult the tester's bible—the ISTQB glossary.

So, a test strategy is “a high-level description of the test levels to be performed and the testing within those levels for an organization or program (one or more projects).” Think of it like an architect’s blueprint—it covers the overarching structure but doesn’t dive into the details of every nail and screw.

Test strategy and test plan

The key elements of the test strategy are later developed into specific actions within the test plans.

A test plan, on the other hand, is “a document describing the scope, approach, resources, and schedule of intended test activities.” To continue the metaphor, it’s like the project manager taking the blueprint and saying, “Okay, here’s how we’re going to build this house, step by step.”

While the test strategy is mostly stable, the test plan is more dynamic, changing as the project evolves. Actually, a test plan can be written for every sprint (a short period when a team works to complete a product iteration).

Read more about the test plan structure in our article.

So why do you need a test strategy if you have a test plan?

In real life, test plans and strategies are similar and even interchangeable. The only significant difference is that the test strategy never includes an activity schedule.

Which document better meets your company's needs? “It all depends on the size and stability of the project – a startup or a successful multi-year enterprise, 20 employees or 500, as well as on the stakeholders' requirements and the company's internal policy,” says Natalia Toybulatova, QA engineer at AltexSoft.

For example, a small startup does not have enough hands to write a voluminous test strategy document, and there is no point in it: everything is done on the fly. In this case, the test strategy outlining the approach to testing might be included as a couple of paragraphs within the test plan document.

A detailed test plan is the most relevant and has the greatest value at the start of a project when we need to define the scope of testing and decide what types of testing we will need: regression, compatibility, performance, load, stress, and so on.

Natalia Toybulatova, QA engineer at AltexSoft

test plan

An example of an RUP test plan template, including test strategy as a section. Rational United Process (RUP) is an Agile framework created by Rational Software company (now IBM).

On the contrary, in a stable enterprise that has been developing for a long time, a test strategy often replaces a test plan. If the testing scope and approach have been well-established, the test strategy becomes the cornerstone document that guides QA processes and serves as the foundation for creating all other artifacts, such as checklists, test cases, and bug reports.

The content of the test strategy document depends not only on the project scope and age but also on the document's primary audience. Sometimes, a well-written test strategy is necessary to justify to the customer or investor the budget allocated for testing efforts.

If the test strategy is meant to convince stakeholders of the value of testing, it should include a significant section on why testing is necessary, how it helps reduce risks, and how it aligns with the project’s business goals. But stakeholders aren't interested in technical details like tools for test automation.

Natalia Toybulatova, QA engineer at AltexSoft

On the other hand, if the test strategy is meant to guide testers, there’s no point in including theoretical testing basics. Instead, it should cover practical aspects like test types, test design techniques, test environments, entry and exit criteria, etc.

Sometimes, creating multiple document versions is more effective so that each one better serves its purpose. For example, AltexSoft has a company-wide test strategy designed to “inform staff such as Project Managers, Team Leaders, Testers, and Developers about the fundamental structure of the testing process.” Additionally, long-term projects have their own test strategy documents that align with the general strategy but address the unique technical requirements of the specific application.

We’ll take a closer look at the contents of a test strategy document in the next section.

How to write a test strategy document: template and examples


There isn't a strict formula for structuring a test strategy, giving you plenty of flexibility. However, the document usually highlights the following points.

Test strategy template

Test strategy template

Introduction: the purpose of the document

Write a brief description of the purpose of the document.

Example: “This test strategy intends to provide an overall testing approach to be followed across all projects the Company manages.”

Clearly define whether the document is intended to address individual testing requirements for a specific project or is a universal guidebook for all the company's projects. Also specify the audience—say, project managers, team leaders, testers, and developers.

Testing objectives

List the goals you plan to achieve by following this test strategy and briefly describe the ways to achieve these goals.

Example: Identify and address defects early in the development lifecycle to reduce rework and improve overall product quality. Ways to achieve it:

  1. Implement continuous integration with automated testing to detect defects as code is developed.
  2. Conduct regular code reviews and peer assessments to catch issues before integration.
  3. Perform early-stage unit and integration testing to verify individual components and their interactions before progressing to system-wide tests”.

The described approach—intensive application of automatic testing at an early stage—can serve as an example of a regression-averse testing strategy.

Other objectives can include “ensuring the application complies with relevant industry standards to guarantee reliability and security,” “maximizing test coverage and minimizing duplication of effort,” and “involving key stakeholders in the testing process so that testing priorities and risks are thoroughly understood from all perspectives,” and more.

Risks and mitigations

In this section, you should establish a risk-based approach to testing. Analyze possible risks associated with product development, determine testing priorities, and define the ways to prevent/solve potential problems.

High-risk areas. If a specific part of a program is expected to have a potentially high impact on the whole system in case of a failure, then this area should be the initial focus of the testing efforts.

Usability issues. Also, pay special attention to the most used features and areas of the application, as defects in them are bound to cause bad customer feedback. For instance, in a hotel booking system, the most sensitive areas will be a search for room availability, booking confirmation, payment, booking modification, and cancellation.

Extra risks. There could be other areas where senior stakeholders set specific objectives—these objectives should be prioritized for testing, all else being equal.

Resource constraints, tight deadlines, and skill gaps. Identify the risks associated with the budget shortage, strict deadlines, and team performance: lack of testers, insufficient qualification, or inability to work with certain tools.

Example:

“Risk. The payment gateway integration in the hotel booking app is high-risk. A failure in this component could result in failed transactions, booking errors, and loss of customer trust.

Mitigation. Focus testing efforts on the payment gateway early, conducting functional and stress tests. Include edge cases, such as a user needing to re-submit a piece of initial account information, to ensure seamless transaction handling under all conditions. “

Early identification of particularly failure-sensitive parts of the system based on requirements analysis is part of the analytical strategy.

Test levels

Test levels refer to the different stages in software testing, each focusing on specific aspects of the system. The main levels are unit testing, integration testing, system testing, and acceptance testing. Unit testing verifies individual components or functions in isolation. Integration testing ensures modules work together as expected. System testing validates the complete system's functionality and performance. Acceptance testing (often done by the customer’s team) confirms the system meets user requirements and is ready for release. Describe all test levels, their focus areas, and objectives.

Example: “System testing is executed by QA engineers. The objective is to detect defects in end-to-end scenarios. Key areas for testing are usability, functionality, and perfromance”.  

system testing

Description of system testing

Test types

There are tens of test types, but they can be broadly categorized into two groups: functional and non-functional. Functional testing verifies whether the software meets its specified functional requirements, while non-functional testing focuses on aspects like usability, accessibility, security, reliability, performance, and other quality attributes that go beyond core functionality.

We don’t use every type of test on a single project. Its nature dictates priorities. For example, usability testing is crucial for an eCommerce app, while a banking app needs to focus on security testing.

A test strategy should prioritize and describe test types for the project.

Example: “Compatibility Testing: This testing ensures the application operates seamlessly across various browsers, devices, and operating systems. It verifies that the functionality performs correctly regardless of the platform or environment”.

Test approach

The main stages of the testing process (test planning, test design, test execution, entry and exit criteria, test reporting) should be described in this section. Provide some guiding principles on how to ensure each stage is performed effectively.

Example: “The testing team will create detailed test cases and scenarios based on both the requirements and user stories. The test cases should contain the reference to the requirement tested and a description of the feature tested”.

Manual testing strategy

There are two main approaches to manual testing: exploratory and script-based. Exploratory testing is an informal, unscripted technique in which testers actively explore the software to find defects, relying on their experience and intuition. It’s a part of the reactive testing strategy.

Script-based testing follows predefined test cases and procedures. It falls under the process-compliant strategy. In context-driven testing, these two strategies are often combined.

In this section, you should describe them and define when they can be applied.

Example: “Script-based testing will be used for critical features like booking flow, payment, and cancellations, ensuring consistent coverage of key functionalities. Exploratory testing will target less predictable areas, such as user experience and edge cases. This combination ensures both thorough coverage and flexibility."

Test automation strategy

When deciding on the test automation strategy, you should break down the specific aspects of the testing process that you want to automate and set clear goals for this type of testing.

There are several levels of automated tests: unit tests, component tests, integration tests, API tests, and GUI tests. Developers perform unit tests when creating the code, and they are the necessary minimum of automation testing. Automated GUI tests are complex and sensitive to code quality, so they are not performed often.

A toolset for automated testing should be chosen for every project separately in cojunction with the project framework. The most popular tools are Selenium, Postman, Allure. The most used languages are JS, Python, C#.

Example: "Automation will focus on high-traffic and repetitive processes such as booking flow, payment processing, and confirmation emails. The goal is to automate regression tests for these core features, ensuring stability with each release”.

To dive deeper you can read our article comparing automated testing tools.

Environment requirements

Testing must be conducted in an environment that closely mimics the configuration and setup of the live production system. Establish regular health checks for the test environment and test data to ensure their validity.

In this section, you should also define the hardware and software configurations required for meticulous testing: operating systems, browsers, devices, database versions, etc. Ideally, the choice should be based on user behavior insights and traffic analytics provided by the marketing team.

Example: “Environment health checks will be scheduled weekly to ensure test data accuracy”.

Roles and responsibilities

Define all roles and corresponding responsibilities of the test team members. The roles may include QA engineer, test analyst, test lead, QA manager, and more. Specify who is responsible for tasks such as test planning, execution, defect tracking, and reporting. This clarity helps prevent overlap and ensures efficient task distribution.

Example: The role of a test lead is to manage everyday test activities, identify test data, and communicate with senior stakeholders.

Test lead role

Description of a test lead role.

Test reporting

Select critical metrics and KPIs for effectively monitoring and reporting test progress and outcomes. Decide on the optimal frequency for generating and distributing test reports. Name the roles of the key stakeholders who need access to these reports for informed decision-making.

List and explain all test report documents (bug report, test summary report, test closure report) and detail retention policies. Define the possible test statuses (not started, passed, failed, blocked).

Example: Key metrics that should be reported that day/week/custom period include: number of tests executed, passed, failed, blocked; details of defects discovered include the number of defects found, closed, currently open.”

It only remains to add that none of the above should be viewed as a rigid blueprint for writing a test strategy document. The key takeaway is to make the document as practical, comprehensive, and clear as possible for your audience. And remember, even the most polished strategy won’t work if it doesn’t align with the company’s business goals and project objectives.

Comments