1.
Objective: It describes the aim of the test plan, whatever the
good process and procedure they are going to follow 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 and performance to be tested.
Make goals and targets based on the application feature.
2. Scope: It consists of information that needs to be tested
concerning an application. 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, and 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, and C.
3. 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.
4. Approach: The approach of testing different software is
different. It deals with the flow of applications for future
reference. It has two aspects:
High-Level Scenarios: For testing critical features high-level
scenarios are written. For Example, login to a website, and
book from a website.
The Flow Graph: It is used when one wants to make benefits
such as converging and merging easy.
5. Assumption: 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.
6. Risk: All the risks that can happen if the assumption is broken.
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.
7. 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.
8. Roles and Responsibilities: All the responsibilities and role of
every member of a particular testing team has to be recorded.
Example:
Test Manager: Manages the project, takes appropriate
resources, and gives project direction.
Tester: Identify the testing technique, verify the test
approach, and save project costs.
9. Schedule: Under this, it will record the start and end date of
every testing-related activity. For Example, writing the test case
date and ending the test case date.
10. 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
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.
Communication: Communication between the identifier of the
bug and the fixer of the bug.
Environment: Test the application based on hardware and
software.
Example: The bug can be identified using bug-tracking tools such
as Jira, Mantis, and Trac.
11. Test Environments: It is the environment that the testing
team will use i.e. the list of hardware and software, while testing
the application, the things that 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.
12. Entry and Exit Criteria: The set of conditions that should be
met to start any new type of testing or to end any kind of
testing.
Entry Condition:
o Necessary resources must be ready.
o The application must be prepared.
o Test data should be ready.
Exit Condition:
o There should not be any major bugs.
o Most test cases should be passed.
o When all test cases are executed.
Example: If the team member reports that 45% of the test
cases failed, then testing will be suspended until the
developer team fixes all defects.
Example of Test Plan
13. 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.
14. Effort Estimation: This involves planning the effort that needs
to be applied by every team member.
15. Test Deliverables: It is the outcome from the testing team
that is to be given to the customers at the end of the project.
Before the testing phase :
o Test plan document.
o Test case document.
o Test design specification.
During the testing phase :
o Test scripts.
o Test data.
o Error logs.
After the testing phase :
o Test Reports.
o Defect Report.
o 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.
16. Template: This is followed by every kind of report that is
going to be prepared by the testing team. All the test engineers
will only use these templates in the project to maintain the
consistency of the product.
Types of Test Plans:
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. It goes into
great depth on the planning and management of testing at the
various test levels and thus provides a bird’s eye view of the
important decisions made, tactics used, etc. It includes a list
of tests that must be executed, test coverage, the connection
between various test levels, etc.
Phase Test Plan: In this type of test plan, emphasis is on any
one phase of testing. It includes further information on the
levels listed in the master testing plan. Information like testing
schedules, benchmarks, activities, templates, and other
information that is not included in the master test plan is
included in the phase test plan.
Specific Test Plan: This type of test plan, is designed for
specific types of testing especially non-functional testing for
example plans for conducting performance tests or security
tests.
How to create a Test Plan :
Below are the eight steps that can be followed to write a test
plan:
Create Test Plan
1. Analyze the product: This phase focuses on analyzing the
product, Interviewing clients, designers, and developers, and
performing a product walkthrough. This stage focuses on
answering the following questions:
What is the primary objective of the product?
Who will use the product?
What are the hardware and software specifications of the
product?
How does the product work?
2. Design the test strategy: The test strategy document is
prepared by the manager and details the following information:
Scope of testing which means the components that will be
tested and the ones that will be skipped.
Type of testing which means different types of tests that will
be used in the project.
Risks and issues that will list all the possible risks that may
occur during testing.
Test logistics mentions the names of the testers and the tests
that will be run by them.
3. Define test objectives: This phase defines the objectives and
expected results of the test execution. Objectives include:
A list of software features like functionality, GUI, performance
standards, etc.
The ideal expected outcome for every aspect of the software
that needs testing.
4. Define test criteria: Two main testing criteria determine all the
activities in the testing project:
Suspension criteria: Suspension criteria define the
benchmarks for suspending all the tests.
Exit criteria: Exit criteria define the benchmarks that signify
the successful completion of the test phase or project. These
are expected results and must match before moving to the
next stage of development.
5. Resource planning: This phase aims to create a detailed list of
all the resources required for project completion. For example,
human effort, hardware and software requirements, all
infrastructure needed, etc.
6. Plan test environment: This phase is very important as the
test environment is where the QAs run their tests. The test
environments must be real devices, installed with real browsers
and operating systems so that testers can monitor software
behavior in real user conditions.
7. Schedule and Estimation: Break down the project into smaller
tasks and allocate time and effort for each task. This helps in
efficient time estimation. Create a schedule to complete these
tasks in the designated time with a specific amount of effort.
8. Determine test deliverables: Test deliverables refer to the list
of documents, tools, and other equipment that must be created,
provided, and maintained to support testing activities in the
project.
Best Practices for Creating an effective
Test Plan:
Creating an effective test plan is essential for ensuring a
comprehensive and systematic approach to software testing.
Here are some best practices to consider when developing a test
plan:
1. Understand the Project Requirements:
Gather Information: Ensure a thorough understanding of both
functional and non-functional requirements.
Stakeholder Input: Involve stakeholders to gather
expectations and address specific concerns.
2. Define Clear Objectives and Scope:
Purpose of Testing : Clearly state the objectives and what you
aim to achieve.
In-Scope and Out-of-Scope: Define what will be tested and
what will not, to manage expectations and focus resources.
3. Develop a Comprehensive Test Strategy:
Approach : Outline the types of testing to be performed (e.g.,
functional, regression, performance).
Techniques and Tools: Specify testing techniques (e.g., black-
box, white-box) and tools (e.g., Selenium, JIRA) to be used.
4. Create Detailed Test Cases:
Test Case Design : Develop detailed test cases covering all
scenarios, including positive, negative, edge, and boundary
cases.
Traceability : Ensure each test case is traceable to specific
requirements to verify comprehensive coverage.
5. Establish a Test Environment:
Setup Requirements : Define hardware, software, network
configurations, and tools required for testing.
Environment Management: Ensure the test environment
closely mirrors the production environment to identify
environment-specific issues.
6. Plan for Test Data and Reporting Mechanisms:
Data Requirements : Identify and manage realistic, consistent
test data securely, especially if it includes sensitive
information.
Status Reporting: Establish processes for regular status
updates on testing progress, issues, and results, and use
defect tracking systems effectively.
Conclusion:
A test plan is a crucial document in the software testing lifecycle
that provides a structured approach to validating and verifying
the quality of a software product. It outlines the objectives,
scope, resources, and methodologies for testing, ensuring that
all aspects of the application are thoroughly assessed. By
following best practices in test plan creation, such as
understanding project requirements, defining clear objectives,
and establishing a robust test environment, teams can
effectively manage testing efforts and enhance the overall
quality of the software. A well-crafted test plan not only aligns
the team on testing goals but also helps in optimizing resources,
mitigating risks, and ensuring stakeholder satisfaction.