Test strategy and Test plan documents

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.

Steps to prepare an effective test strategy:

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

3. Test Environment

- 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.

6. Risk Analysis

- 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  

Test plan

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:

 1. Analyzing the Software Product

  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.

2. Design the Test Strategy

- 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

3. Defining Test Objectives

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

4. Defining Test Criteria

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.

5. Planning of resources

It determines all kinds of resources such as Test Manager, Tester, Test administrator, Server, Network, etc. that are required to complete a project Task.

6. Plan Test Environment

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.

7. Schedule and Estimations

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

8. Test Deliverables

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

 

Related Tutorials