Test strategy document
Test Strategy is a document that defines a particular approach to the Software Testing Life Cycle. We can say that the Test Plan can be considered as a destination as to where we want to go, and the Test strategy is considered a Road Map to the same as how we can reach that destination.
It includes an exact process a team is going to follow in a testing environment. A Test Strategy document answers all the questions like what you want to get done and how you are going to accomplish it, etc. Writing an effective Strategy document is a skill that a tester develops with experience.
1. Scope
- It defines parameters like
- People who review the document
- People who approve the document
- Timelines of software testing activities
2. Test Approach
- It defines the process of testing
- Testing levels that are included
- Roles and responsibilities of each team member included in the testing process
- Types of Testing
- Testing approach & tools applicable to the project
- Adding new defects, re-testing, Defect triage, Regression Testing, and test sign-off
- Define the requirements and setup required for each environment
- Define backup of test data and restore strategy
4. Testing Tools
- Test management tools, functional and non-functional needed for test execution.
- Figure out several open-source as well as commercial tools required, determine how many users are supported on it, and plan accordingly.
5. Release Control
Release management plan with appropriate version history that will make sure of test execution for all modifications in that release.
- Listing out all the risks that one can estimate
- To mention the clear approach to mitigate the risk and also the contingency plans
7. Reviews and Approvals
- The business team, project management, development team, etc. will review and sign all the testing activities
- A summary of review changes should be traced from the beginning of the document along with an approved date, name, and comment
As per ISTQB Definition
“ A document describing the scope, approach, resources, and schedule of intended test activities. It identifies amongst others test items, the features to be tested, the testing tasks, who will do each task, the degree of tester independence, the test environment, the test design techniques, and entry and exit criteria to be used, and the rationale for their choice, and any risks requiring contingency planning. It is a record of the test planning process.”
There are generally 4 types of Test Plans
1. Master Test Plan: A Test Plan that unifies all kinds of other test Plans is known as Master Test Plan
2. Phase Test Plan: A test plan that typically addresses one test phase.
3. Testing Level Specific: Test plans for each level of testing:
- Unit Test Plan
- Integration Test Plan
- System Test Plan
- Acceptance Test Plan
4. Testing Type-specific
Making a test plan is one of the most important tasks for the Test Management Process.
Below are eight steps to prepare an efficient Test Plan:
- Analyze the product
- Design the Test Strategy
- Define the Test Objectives
- Define Test Criteria
- Resource Planning
- Plan Test Environment
- Schedule & Estimation
- Determine Test Deliverables
Let us discuss the above-mentioned steps in detail:
We need to analyze:
- Users of the Application
- Purpose of the Application
- The process of the Application
- Software or Hardware that is used by the Application
For the above-mentioned points, one must review the product and project documentation, after that, the person can provide a product walkthrough.
- Designing the test strategy is a vital step for drafting the Test Plan in the Testing process. It is considered a high-level document that is generally prepared by the Test Manager.
This document mainly includes:
- Testing Objectives of a Project and methods to achieve the same
- Determining the testing efforts and cost of the same.
- Preparation of the Test Strategy
The overall goal and achievement of the test execution are test objectives. The objective of the testing process is to detect as many software defects as possible and to make sure that the software under test is bug-free before the release of the same.
To define the test objectives, one should follow below given 2 steps:
> Listing out all the Software features that are needed to test
> Define the target or the goal of the test based on the above features
Test Criteria can be defined as a set of rules based on which a test procedure can be passed.
There are generally 2 types of test criteria :
a) Suspension Criteria:
Suspension criteria should be specified. If those criteria are met, the testing cycle should be suspended unless those criteria are resolved. For example, If 50% of test cases fail, testers should suspend the testing until the development team fixes the major issues.
b) Exit Criteria:
Exit Criteria signify the successful completion of the testing phase. The main methods of the same are the Run rate and Pass rate. For example, 96% of all the high-priority test cases must pass.
It determines all kinds of resources such as Test Manager, Tester, Test administrator, Server, Network, etc. that are required to complete a project Task.
A testing environment can be defined as the setup of software and hardware on which the testing team is going to execute test cases. The test environment consists of
(a)real business and
(b)user environments, as well as
(c)physical environments, such as servers, front-end running environments, etc.
In this step, decisions regarding schedules and estimations of the project are made. It includes:
(a) Employee and project deadline
(b) Project Estimation
(c) Project Risk
Test Deliverables are a list of all the required documents, tools, and other components that are supposed to be developed and maintained in the testing effort. There are different Test deliverables at different phases
Test deliverables that are provided before the testing phase include:
- Test plan document.
- Test case documents
- Test Design specifications.
Test deliverables that are provided during the testing include:
- Simulators.
- Test scripts
- Test Traceability Matrix
- Error logs and execution logs.
- Test Data
Test deliverables that are provided after the testing cycles are over include:
- Test Results/reports
- Release notes
- Installation/ Test procedures guidelines
- Defect Report