Software Testing – Test Plan – GeeksforGeeks

In software testing, documentation is very important. Testing should be documented to provide efficient resource control monitoring. For successful testing, a test plan plays a very important role. Here, we will discuss the following points:

  1. Introduction to Test Plan
  2. Importance of Test Plan
  3. Test Plan Guidelines
  4. Types of Test Plans
  5. Test Plan Attributes
  6. What If There is No Test Plan?

1. Test Plan

A test plan is a document that consists of all future testing-related activities. 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 there will be a test manager who will be preparing 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 would prepare a test Plan.

2. Importance of Test Plan

The following are some of the key benefits of making a test plan:

  • It acts as a quick guide for the testing process.
  • It helps to avoid out-of-scope functionalities.
  • It determines the time, cost, and effort.
  • Provide a schedule for testing activities.
  • Resource requirement and equipment.
  • Test Plan Document can be used for similar projects.
  • It helps to understand the test details.
  • It helps in determining the quality of software applications.

3. Test Plan Guidelines

  • Avoid Overlapping and repetition.
  • Avoid Lengthy Paragraph.
  • Use lists and tables.
  • Update plan.
  • Don’t use outdated documents.

4. Type of Test Plan

The following are the three types of test plans:

  • Master Test Plan- In this type of test plan, includes multiple test strategies and has multiple levels of testing.
  • Phase Test Plan- In this type of test plan, emphasis on any one phase of testing.
  • Specific Test Plan- In this type of test plan, it is designed for specific types of testing especially non-functional testing.

5. Test Plan Attributes

There is no hard and fast rule of preparing a test plan but it has some standard 15 attributes that companies follow:

Test plan attributes

A. Objective: It describes the aim of the test plan, whatever the good process and procedure they are going to follow in order to give quality software to customers. The overall objective of the test is to find as many defects as possible and to make software bug free. The test objective must be broken into components and sub-components. In every component following activities should be performed.

  • List all the functionality, performance to be tested.
  • Make goals and targets based on the application feature.

B. Test Strategy: It is a crucial document that is to be performed and usually designed by the Test Manager. It helps to determine Test Effort and Test cost. Test strategy 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.

Example: In an application A, B, C, D features have to be developed, but the B feature has already been designed by other companies. So the development team will purchase B from that company and perform only integrated testing with A, B, C.

C. Testing Methodology: The methods that are going to be used for testing depend on application to application. The testing methodology is decided based on the feature and application requirements.

Since the testing terms are not standard, one should define what kind of testing will be used in the testing methodology. So that everyone can understand it.

D. Approach: The approach of testing different software is different. It deals with the flow of applications for future references. It has two aspects:

  • High-Level Scenarios: For testing critical features high-level scenarios are written. For Example, login to a website, 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 breaking. For Example, in the 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- If any risk is involved then the company must have a backup plan, the purpose is to avoid errors. 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. For Example, writing test case date and ending test case date.

J. Defect Tracking: It is an important process in software engineering 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. There are the following methods for the process of defect tracking:

  • Information Capture: In this, we take 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.

Entry and Exit criteria

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 testing phase:

  • Test plan document.
  • Test case document.
  • Test design specification.

During testing phase:

  • Test scripts.
  • Test data.
  • Error logs.

After 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. Templated: 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.

My Personal Notes

arrow_drop_up