This is the most frequently asked question across testing practices. There is a very fine line of difference between Test Planning and Test Strategy. We can say that a test strategy is a subset of test planning. While test planning is a broader term, test strategy on the other hand is a very low-level descriptive guidance to carry out a specific task. Test plan covers a holistic approach to testing while test strategy covers protocols for the particular testing component.
What is Test Planning ?
Test Plan is a road map to testing. A test plan defines the blue print or approach to testing. Following questions are answered in a test plan:
How the testing will be carried out What will be the approach How we will proceed with testing Testing strategy Features to be tested Features not to be tested Hardware requirement Software requirement Man power requirement Manual OR automation will be implemented Build schedule (when the build will be given for testing) Test schedule (when the testing will be completed for the given build) When the retesting will be performed What will be the regression plan What features will be tested in regression (regression suite) and so on Scope of testing is defined in test planning Types of testing like API, compatibility, UI, functional, non functional Test deliverables Test artifacts Test environments Risk involved Risk mitigation Entry criteria Exit criteria Responsibilities (roles and responsibilities of each member) Staffing and training need.
What is Test Strategy?
Test strategy is a set of guidelines or guiding principles to carry out a particular testing task. It is a subset of the test plan. It features preconditions before carrying out a particular testing task.
For e.g. what would be the strategy when a build comes for testing?
1. We might say we'll be requiring a 'Release note' mentioning the features and bug IDs addressed in the build along with other details.
2. Then we must carry out a smoke test on the build to accept it for more rigorous testing.
3. The 70% pass percentage of the smoke test would be the acceptance criteria for the build.
4. Once the build is accepted, the test case execution will begin and
5. The bugs identified will be logged in the respective project management tools.
6. A test summary report will be shared upon completion of testing.
All these low-level guidelines documented is a test strategy document.
While test planning goes hand in hand during the project planning phase and initiation of the project, test strategy on the other hand keeps evolving during the project development process and may change on a conditional basis as per the progress of the project. Test strategy is more of conditional execution of testing task - "if this then that." The test strategy document contains protocols and instructions which determine the execution of a testing task. There are numerous things that can be strategized in a software test plan. Strategizing automation plan, strategizing stress and load testing plan, Strategizing nonfunctional testing, Strategizing functional testing, and so on.
In some cases, a test strategy is defined in the test plan document itself. But in larger projects where the scope of testing is immense and lots of non-functional testing also needs to be done, in such cases, a separate test strategy document is prepared which list down the approach and guidelines for carrying out the testing.