What is Test Plan in Testing?

Author: neptune | 30th-Oct-2022
#Testing

1. Introduction to Test Plan

Test Plan is a document that consists of the scope of overall test efforts. It is prepared at the project level and in general, it defines work products to be tested, how they will be tested, and test type distribution among the testers. 

Before starting testing, a test manager will prepare a test plan. In any company whenever a new project is taken up before the tester involves in the testing the test manager of the team prepares a test Plan.


2. Importance of Test Plan

Test Plan acts as a quick guide for the testing process. It helps to avoid out-of-scope functionalities. It also determines the time, cost, and effort to perform testing. In advance prepare the schedule for testing activities. Test Plan Document of one project can be used for other similar projects.

3. Test Plan Guidelines

Need to keep in mind the following points while preparing Test Plan.

a. Avoid Overlapping and repetition.

b. Avoid Lengthy Paragraphs.

c. Use lists and tables.

d. Don’t use outdated documents.


4. Types of Test Plans

a. Master Test Plan: It includes multiple test strategies and multiple levels of testing.

b. Phase Test Plan: It focuses on one phase of testing.

c. Specific Test Plan:  It is designed for specific types of testing especially non-functional testing.


5. Test Plan Attributes

There are no specific rules for preparing a test plan here we have 15 standard attributes that most companies follow:

a. Objective: The objective of the test plan is to find as many defects as possible and to make the software bug free and to provide quality software to customers.

b. Test Strategy: It helps to determine test effort and test cost and also helps to determine the features that are going to be tested and the features that will not be tested. 

The scope can be divided into two parts:

  • In-Scope: The modules that are to be tested rigorously.

  • Out Scope: The modules that are not to be tested rigorously.



c. Testing Methodology: The testing methodology is decided based on the feature and application requirements. It varies from application to application.

Examples: Unit Testing, Integration Testing, System Testing, Performance Testing, etc. 

Check here for more details.


d. Approach: The approach to testing different software is different. 

It has two aspects:

  • High-Level Scenarios: For testing critical features high-level scenarios are written. 

Example: Login to a website, and booking from a website.

  • The Flow Graph: It is used when one wants to make benefits such as converging and merging easy.


e. Assumptions: In this phase, certain assumptions will be made.

Example:

  • The testing team will get proper support from the development team.

  • The tester will get proper knowledge transfer from the development team.

  • Proper resource allocation will be given by the company to the testing department.


f. Risk: All the risks that can happen if the assumption is broken. 

Example:  In case of wrong budget estimation, the cost may overrun. 

Some reason that may lead to risk is:

  • Test Manager has poor management skills.

  • Hard to complete the project on time.

  • Lack of cooperation.


g. Backup/Mitigation Plan: In case of any risk team must have a backup plan.

Some points to resolve/avoid risk:

  • Test priority is to be set for each test activity.

  • Managers should have leadership skills.

  • Training course for the testers.

h. Roles and Responsibilities: All the responsibilities and role of every member in a particular testing team has to be recorded.

Example:

  • Test Manager: Manages the project, takes an appropriate resource and gives project direction.

  • Tester: Identify the testing technique, verify the test approach, and save project cost.

i. Scheduling: Under this, it will record the start and the end date of each and every testing-related activity.


j. Defect Tracking: It is an important process in software development as lots of issue arises when you develop a critical system for business. If there is any defect found while testing and that defect must be given to the developer team. 

Following methods for the process of defect tracking:

  • Information Capture: Capture basic information to begin the process.

  • Prioritize: The task is prioritized based on severity and importance.

  • Communicate: Communication between the identifier of bug and fixer of bug.

  • Environment: Test the application based on hardware and software.

Example: The bug can be identified using bug tracking tools such as Jira, Mantis, Trac. 


K. Test Environment: It is the environment which the testing team will use i.e. the list of hardware and software, while testing the application, the things which are said to be tested will be written under this section. The installation of software is also checked under this.

Example:

  • Software configuration on different operating systems, such as Windows, Linux, Mac, etc.

  • Hardware Configuration depends on RAM, ROM, etc.


L. Entry and Exit Criteria: The set of conditions that should be met in order to start any new type of testing or to end any kind of testing.

Entry Condition:

  • Necessary resources must be ready.

  • The application must be prepared.

  • Test data should be ready.

Exit Condition:

  • There should not be any major bug.

  • Most test cases should be passed.

  • When all test cases are executed.

Example: If the team member report 45% of the test cases failed, then testing will be suspended until the developer team fixes all defects.


m. Test Automation: It consists of the features that are to be automated and which features are not to be automated.

  • If the feature has lots of bugs then it is categorized as Manual Testing.

  • If the feature is frequently tested then it can be automated.

n. Deliverables: It is the outcome from the testing team and that is to be given to the customers at the end of the project.

Before the testing phase:

  • Test plan document.

  • Test case document.

  • Test design specification.

During the testing phase:

  • Test scripts.

  • Test data.

  • Error logs.

After the testing phase:

  • Test Reports.

  • Defect Report.

  • Installation Report.

It contains a test plan, defect report, automation report, assumption report, tools, and other components that have been used for developing and maintaining the testing effort.


O. Template: It is followed by every kind of report that is going to be prepared by the testing team.

6. What If There is No Test Plan?

Below are some of the situations that may occur if there is no test plan in place:

  • Misunderstanding roles and responsibilities.

  • The test team will have no clear objective.

  • No surety when the process ends.

  • Undefined test scope may confuse testers.

Conclusion: A Test Plan Document mentions in detail the objective of testing along with other core information like the internal beta team, target market, hardware and resource requirements, etc. All these important documents set up guidelines that have to be followed during the complete testing phase.




Related Blogs
Roadmap To Become Test Automation Engineer
Author: neptune | 25th-Jun-2022
#Testing
When I was starting my journey in test automation, a lot of questions comes to my mind. Such as…. “From where do I start?” “Best tools to use?” “Which Programming language?” “How to plan your work?”...

Selenium, Cucumber, JUnit, TestNG dependencies for Selenium project.
Author: neptune | 02nd-Apr-2023
#Selenium #Testing
We guide you how to update the pom.xml file for Selenium Maven project...

5 Selenium Project Ideas & for Beginners in Automation Testing
Author: neptune | 30th-Mar-2023
#Selenium #Testing #Projects
In this article, we will discuss 5 interesting Selenium project ideas for beginners in automation testing...

How to use wait commands in Selenium WebDriver in Java ?
Author: neptune | 22nd-Feb-2022
#Selenium #Testing #Java
We are going to explore different types of waits in Selenium WebDriver. Implicit wait, Explicit wait, and Fluent wait with examples...

Top 50+ Selenium Interviews Questions 2023 based on Years of Experience
Author: neptune | 02nd-Apr-2023
#Selenium #Testing #Interview
Every interview difficulty is based on how many years of experience you have in that field. For the Selenium Automation Tester I have divided the question on the number of years of experience...

Different types of software testing ?
Author: neptune | 27th-Jul-2022
#Testing #IT
Testing is the process to improve the performance of software. Examples: Unit, Integration, Regression, Smoke, Alpha, Beta, System, Stress Performance, Object-Oriented Testing etc...

Mostly asked Cucumber interview questions in selenium automation interviews.
Author: neptune | 02nd-Apr-2023
#Testing
We are going to explore widely asked Cucumber interview questions in selenium automation interviews...

Challenges faced in automating Web Applications using Selenium
Author: neptune | 02nd-Oct-2022
#Selenium #Testing
List of Challenges faced by testers using Selenium 1. Popup and Alert Handling, 2. Dynamic element Handling 3. Restricted to only Desktop Browsers Testing...

How to create a Selenium, Cucumber Automation project in Eclipse ?
Author: neptune | 02nd-Apr-2023
#Selenium #Testing
Problem Statement : Let’s consider this particular project where we will try automating the process of booking a flight ticket. Let’s get started and see how it’s done using Selenium...

Getting started with Selenium WebDriver.
Author: neptune | 02nd-Apr-2023
#Selenium #Testing
In this blog I will give you an overview of Selenium WebDriver and Also discuss about advantages and disadvantages of Selenium WebDriver...

5 Best Python Testing Frameworks.
Author: neptune | 12th-Apr-2023
#Python #Testing
Python offers various testing frameworks, including Pytest, unittest, Nose, Robot Framework, and Behave, to build robust and reliable software...

How DAST Testing Enhances Web Application Security?
Author: neptune | 02nd-Aug-2023
#Testing
Dynamic Application Security Testing (DAST) is a critical cybersecurity technique used to identify and assess security vulnerabilities in web applications...

Getting Started with Cypress: Advantages, Setup, and First Test Guide
Author: neptune | 31st-Mar-2023
#Testing
Cypress is a powerful and easy-to-use testing framework that can help you test your web applications more efficiently...

The Key to QA Success: Understanding How Important Grooming Is?
Author: neptune | 19th-Sep-2023
#Testing #Interview
We will delve into the importance of grooming & ceremony for QA testers, key points to highlight their significance...

View More