To find out the difference between Test Strategy and Test Plan, let us first understand the individual concepts in brief.
What is Test Plan and Test Strategy?
- Test Strategy is a high-level document that defines the proper approach for software testing. It is basically derived from the Business Requirement Document (BRD). It is developed by the business analyst or project manager. It is a static document that sets the standards for the testing and not updated often.
- Test Plan is derived from the Software Requirement Specification (SRS) that is developed by the project manager or test lead. It is designed with an objective to include all details related to the testing like what to test, how to test, when to test, and who will be testers etc? A Test Plan is updated frequently as soon as new features or changes are introduced.
Let us see the quick differences between the two concepts before going to detail:
Test Plan vs Test Strategy: Demystifying the Differences
|A Test Plan for the software project is a document that defines the scope, objective, approach, and emphasis more on the software testing efforts.
||Test Strategy is defined as the set of guidelines that explain the test design and regulates how testing needs to be done.
|The major components of Test Plan include – Test Plan ID, test environment, features to be tested, entry/exit criteria, status, type of testing, brief introduction etc. We will discuss each of these components in detail below.
||The major components of Test Strategy include – Scope, Objective, business issues, risks, testing approach, testing deliverables, defect tracking, training, automation etc. We will discuss each of these components in detail below.
|A Test Plan is developed by the project manager or test lead.
||A Test Strategy is developed by the business analyst or project manager.
|Test plan narrates about the specification and it can be changed frequently.
||Test Strategy narrates about the general approaches and it not updated often.
|A Test Plan usually exists individually.
||Test strategy is divided into multiple test plans that are taken care further independently.
|It is defined at the project level.
||It is defined at the organization level.
|Test planning helps to identify the possible risks or issues.
||A test strategy helps to abstract information that does not project specific but it can be used with the test approach.
Major Components of Test Strategy and Test Plan
Major Components of Test Strategy:
In this section, we will discuss the major components of Test Strategy and what exactly it contains.
- Scope & Objective: What is the objective and scope of testing if it is performed under a well-defined testing strategy.
- Business Issues: Here, you need to check the project budget, how much time is needed for the testing, how much total resources are needed etc. These issues should be addressed in advance before actual testing starts.
- Testing Approach: In this step, you need to check the testing type like performance testing, load testing, stress testing, or functional testing etc. Also, you need to decide either the testing is done manually or it needs to be automated. In a few cases, we have to follow both approaches together.
- Test Deliverables: Here, you will check which documents are needed by the testing team and how they would keep the records of testing cycles.
- Defects Tracking: This is the right time to decide on the tool for defects tracking and how will the testing team communicate with the development team. Also, you need to check how defects can be addressed at this point in the test strategy.
- Training: In case, the tool is new or complex then team members should be given proper training. Also, you should define which type of QA training is needed for employees.
- Automation: If the software project needs automation testing then the script language, tools, reporting, code maintenance is planned in the test strategy.
- Risks: It is not possible identifying all risks before the project development but obvious risks can be avoided before they occur.
Learn QA Software Testing in the Easiest Way
- Learn from the videos
- Learn anytime anywhere
- Pocket-friendly mode of learning
- Complimentary eBook available
Read: ETL Testing Interview Questions and Answers
Major Components of the Test Plan:
In this section, we will discuss the major components of the Test Plan what it contains.
- Test Plan ID: This is a unique ID used to identify the test plan. It could be a number, name or mix of both as per your convenience.
- Test environment: Here, you need to check which type of testing environment for a particular software project. For example, in the case of device testing, a virtual set up is carried out to test emergency calling.
- What should be tested: Here, you need to gather all details like what features should be tested and what can be avoided.
- Entry/Exit criteria: Here, you can define the entry or exit criteria for the software project when to start testing when to stop. Standards are defined under the test strategy and followed by testers in the test plan.
- Status: If there is a test case that is passed, failed or not tested yet, all these details are recorded in the test plan with a proper reason,
- Testing Types: Here, different testing types can be defined as regression, functional, non-functional, or stress testing etc.
- Brief Introduction: Brief introduction is also included sometimes so that if any new member joins the team, he should get an idea of how things work. A quick intro is also given for the test plan so that is a new member joins the team, he should get a complete idea of how things work actually.
Basically, the test strategy defines the approach for testing and test plan has all the detail how this approach can be executed successfully in a properly planned way. They both go hand in hand. Moving ahead, let us discuss do we need a test plan for an agile project too?
Agile Test plan – Do we really need one?
As we know, test planning is an important activity of a testing process and one requires careful thoughts and decisions not from test manager but all members of the testing team and product manager too. A test manager or product manager is responsible for designing a test plan in case of a software project.
Most organizations believe that the test plan is the most important part of the testing process and spend many hours or efforts to come up with a great test plan. Test books dedicate a complete section to test planning, how to write a comprehensive test plan in order to approve a product.
In the real world, in a waterfall environment, a test plan document is mostly seen during the life-cycle of a product. However, the test planning and monitoring is an ongoing activity during the project life-cycle and it needs to be updated frequently as soon as new features or changes are made.
Read: Software QA Tester Role - QA Tester Responsibilities and Job Description
As test planning is always considered as a must-have product in the waterfall project, do we really need a test plan for an agile project too? Does it really add value to what the whole team is trying to achieve?
In the agile environment, the contents of a release are discussed before the Sprint so the testing team should know in advance what is the scope and what should be tested. Also, this is necessary to check the estimate how much time it will be taken by the team to complete the testing including environment, setup, scenarios, automation, exploratory, performance etc.
In the story writing session, the testing team starts with writing scenarios in advance to cover many ways how stories can be tested. This is the most valuable step for the team. During the sprint, The QA team is continuously testing new code or features.
Testing planning becomes a dynamic activity based on priorities for the day change. Testing is based on what is the activity for the day and the outcome of the day before. This is clear from the discussion that test plans don’t reveal defects but test scenarios will. The efforts are shifted to creating best test scenarios instead of creating a test plan.
So, what we really need here a short agile strategy document outlining the processes or test cases applicable across Sprints like test environment, test planning, workshops, manual testing, automated testing, test reports, staging, test coverage etc. These are the processes or activities applicable to every Sprint but derived by Company vision only. With this discussion, it must be clear to you that we need an agile test strategy for the agile project that is further divided into test cases or test plans based on convenience.
Moving ahead, let us discuss how test case, test plan, and test strategy are written for a software project.
Steps for Writing a Test Case:
- Think of a strong title then add a description to it.
- Write down the possible conditions and assumptions.
- Add the testing steps now. Keep in mind that test steps should be defined explicitly in a concise manner.
- Now add the expected results.
- Make sure that test cases should be reusable so that they can be utilized for other software projects too.
Steps for Writing a Test Plan:
- A test plan always starts with analyzing the software. Ask yourself questions like who will use the software, the purpose of the software program, scope of the project etc.
- Now add a test strategy which is constant for all software programs and not updated often.
- Write down the test objective, define the test criteria, and conduct the resource planning too.
- Now look for the testing environment, develop the testing schedule, set the criteria, and determine the final outcome for the test plan as well.
Steps for Writing a Test Strategy:
- Define the objective for test strategy and guidelines too.
- Decide the test approach and mention the role and responsibilities of a tester as well.
- Mention the testing levels, functional specifications, test scenarios, and acceptance criteria etc.
- Define the entry/exit criteria when testing should start or stop.
- Write down the guidelines to track defect and mention results too.
- Set constraints, find out risks and try to solve them effectively.
QA Software Testing Training
- Personalized Free Consultation
- Access to Our Learning Management System
- Access to Our Course Curriculum
- Be a Part of Our Free Demo Class
However, test case, test plan and test strategy all three are dependent. A test case is used in the test strategy which in turn used in the test plan. Test plan or test strategy are prepared by different people but their outputs are cumulative of their inputs.
Read: 2020 Top 20 QTP Interview Questions and Answers
Testing Vs. Different Technologies
- AWS & Fundamentals of Linux
- Amazon Simple Storage Service
- Elastic Compute Cloud
- Databases Overview & Amazon Route 53
0 day 14 Jul 2020
- Intro to DevOps
- GIT and Maven
- Jenkins & Ansible
- Docker and Cloud Computing
17 days 31 Jul 2020
- Data Science Introduction
- Hadoop and Spark Overview
- Python & Intro to R Programming
- Machine Learning
2 days 16 Jul 2020
- Architecture, HDFS & MapReduce
- Unix Shell & Apache Pig Installation
- HIVE Installation & User-Defined Functions
- SQOOP & Hbase Installation
3 days 17 Jul 2020
- Salesforce Configuration Introduction
- Security & Automation Process
- Sales & Service Cloud
- Apex Programming, SOQL & SOSL
1 day 15 Jul 2020
- Introduction and Software Testing
- Software Test Life Cycle
- Automation Testing and API Testing
- Selenium framework development using Testing
10 days 24 Jul 2020
- BA & Stakeholders Overview
- BPMN, Requirement Elicitation
- BA Tools & Design Documents
- Enterprise Analysis, Agile & Scrum
0 day 14 Jul 2020
MS SQL Server
- Introduction & Database Query
- Programming, Indexes & System Functions
- SSIS Package Development Procedures
- SSRS Report Design
1 day 15 Jul 2020
- Features of Python
- Python Editors and IDEs
- Data types and Variables
- Python File Operation
9 days 23 Jul 2020
- Components of AI
- Categories of Machine Learning
- Recurrent Neural Networks
- Recurrent Neural Networks
0 day 14 Jul 2020
- Introduction to Machine Learning & Python
- Machine Learning: Supervised Learning
- Machine Learning: Unsupervised Learning
3 days 17 Jul 2020
- Introduction to Tableau Desktop
- Data Transformation Methods
- Configuring tableau server
- Integration with R & Hadoop
-1 day 13 Jul 2020
Receive Latest Materials and Offers on QA Testing Course