Test Strategy is also called as Test Approach /Test Architecture.
Test Strategy describes how the testing is performed at each test-level and what are the various types of testing to be performed.
A test-level is a group of test activities that are organised and managed together. Examples of test levels are unit test, integration test,system test and acceptance test.
Lets look at the first part of the definition “how the testing is performed at each test-level “. This is usually performed using test cases /test procedures.However it is not a good idea to include all the test cases in the test strategy document. Also this is impractical if a project is having thousands of test cases.
However it is always possible to include the high level test scenarios in the test strategy document.This is the best proven way to showcase that how the product risks are mitigated at the test level.
Types Of Test Strategies
There are different types of software testing strategies. QA team will use appropriate strategy based on the size and the nature of the project.The types of strategies are listed below:
1.Analytical Test Strategy:
In this type, the test team analyzes the test basis to identify the test conditions to cover.
Test basis means all documents from which the requirements of a component or system can be inferred. That means the documentation on which the test cases are based.
2.Consultative Test Strategy:
Here the test team relies on the input of one or more key stakeholders to determine the details of the strategy.
3.Methodical Test Strategy:
A test strategy whereby the test team uses a pre-determined set of test conditions such as a quality standard, a checklist, or a collection of generalized, logical test conditions which may relate to a particular domain, application or type of testing.
4.Model-based Test Strategy:
In this model based strategy, the test team derives tests from models that describes the functional aspects of the system under test.
5.Process-compliant Test Strategy:
It is a strategy whereby the test team follows a set of predefined processes, whereby the processes address such items as documentation, the proper identification and use of the test basis (Signed off requirement documents) and test oracle(s), and the organization of the test team.
Test oracle is a source to determine expected results to compare with the actual result of the software under test. An oracle may be the existing system (for a benchmark), other software, a user manual, or an individual’s specialized knowledge, but should not be the code.
6.Reactive Test Strategy:
In this type, the test team waits to design and implement tests until the software is received.
7.Regression-averse Test Strategy:
It is a type of strategy whereby the test team applies various techniques to manage the risk of regression such as functional and/or non-functional regression test automation at one or more levels.
8.Standard-compliant Test Strategy:
Here the test team follows a standard. Standards followed may be valid e.g., for a country (legislation standards), a business domain (domain standards), or internally (organizational standards).
How is it differ from Test Plan?
Basically test plan guides overall testing activities in a project.Or in other words, it is the sum of test strategies and test logistics.However test strategy serves as a guideline for actual test design.
Test plan sections are mostly generic and all different kinds of projects can make use of the same template. But when it comes to test strategy, its more product specific. The approaches that testers adopt will differ based on the product specifications. Hence the generic use of test strategy is possible only to test similar products.
Every organization has their own process or standards in order to maintain the test strategy and test plan documents. Some will include the test strategy in the test plan itself. Example for this can be found as an attachment in the previous blog post. However some will have only the high level strategy mentioned in their test plan. Nevertheless they maintain a separate test strategy document with more specific details.
The importance of right test strategy is obvious. But currently testing industry offer only a few standard procedures that don’t sufficiently address the need of a holistic testing strategy. In order to address this, as testers, we need to have in depth understanding of the product under test and the various test methodologies.
In general, test strategy has significant influence on the overall product quality.
Hope this post would have answered some of the basic questions like “Is it worth investing in a test strategy?“
Feel free to share your thoughts on this.