A Test Plan is a thorough document that outlines the test strategy, objectives, timetable, estimation, deliverables, and resources needed to accomplish software testing. The Test Plan assists us in determining the amount of work required to confirm the quality of the application being tested. The test plan is a blueprint for conducting software testing operations as a defined procedure, which the test manager closely monitors and controls.
"A test plan is a document detailing the scope, strategy, resources, and timetable of expected test activities," according to the ISTQB definition.
Let's look at an example/scenario of a Test Plan: You want to talk about the Test Plan with the team members at a meeting, but they aren't interested.
What will you do in such a situation?
I am the manager; follow my instructions.
Now, let me explain why a Test Plan is necessary.
There are several advantages to creating a test plan document.
Assist others outside the test team in understanding the nuances of testing, such as developers, business managers, and customers.
Our thinking is guided by the Test Plan. It's similar to a set of rules that must be followed.
Test Plan documents important features such as test estimates, test scope, and Test Strategy so that it may be evaluated by the Management Team and reused for additional projects.
You already know that the most essential duty in the Test Management Process is to create a Test Plan. To build a test plan in accordance with IEEE 829, follow the seven stages outlined below.
Examine the item.
Create a test strategy
Create a list of test objectives.
Specify the test criteria
Construct a Test Environment
Estimation and Schedule
Establish the Test Deliverables
How can you test a product if you don't know what it is? Impossible is the answer. Before you can evaluate a product, you must first understand everything there is to know about it.
The test product is an e-commerce website. You should do research on your clients and end-users to learn about their wants and expectations from the app.
Who will be the target audience for the website?
What is the purpose of it?
How is it going to work?
What software and hardware does the product make use of?
Take a look around this website and go over the product documentation. Reviewing product documentation can assist you in comprehending all of the website's features as well as how to use it. If you have any questions, you may interview the client, the developer, or the designer to gain additional information.
In software testing, deciding on a test strategy is an important step in creating a test plan. A Test Strategy document is a high-level document that is often created by the Test Manager. This article contains the following definitions −
The project's testing goals and methods for achieving them
Determines the amount of time and money spent on testing.
Returning to your project, you'll need to create a test strategy for the banking website. The steps below should be followed −
Step 2.1 − Define the Testing Scope
The scope of the testing should be established before beginning any test activity. You'll have to think about it for a while.
The "in scope" components of the system to be tested (hardware, software, middleware, and so on) are defined.
The system components that will not be tested must also be explicitly characterized as "out of scope."
For all stakeholders, defining the scope of your testing project is critical. You will benefit from having a precise scope.
Give everyone on the team confidence and accurate information about the testing you're performing.
Everyone on the team will know what's being tested and what isn't.
What criteria do you use to define the scope of your project?
You must - to determine scope.
Customer specifications are quite specific.
Budget for the project
Your test team's abilities and talent
The "in scope" and "out of scope" of the tests should now be clearly defined.
According to the software requirements, the project focuses only on testing all of the website’s features and the external interface (in scope testing) Stress, performance, and logical database testing will not be performed at this time. (not within the scope of this document)
Example of a Problem
The customer has requested that you test his API. However, the project budget does not allow for this. What will you do in such a situation? In this instance, you'll need to persuade the customer that Api Testing is extra work that will take up a lot of time and resources. Give him evidence to back up your claims. Tell him that if Api Testing is included in the scope, the budget would go up by XYZ.
The client agrees, and the new scopes and out-of-scope objects are created.
Functional testing and API testing are examples of in-scope things.
Database testing, hardware, and any other external interfaces are not included in the scope.
Step 2.2 − Determine the Testing Type
A Testing Type is a regular test process that produces a predictable test result. Each sort of testing is designed to find a certain type of issue in a product. However, all types of testing are targeted at the same goal: “early discovery of any problems prior to releasing the product to the customer.”
The following diagram depicts the many forms of testing that are regularly used −
For software testing, there are a plethora of testing types to choose from. Your team will not be able to handle all types of testing with appropriate effort. You, as the Test Manager, must prioritize the Testing Types.
Which kind of testing should be prioritized when it comes to web application testing?
Which kind of testing should be skipped in order to save money?
Step 2.3 − Keep a record of the risks and issues.
Risk is an unpredictable future event with a chance of occurring and the potential for loss. When the danger materializes, it becomes a 'problem.'
You previously learned about the 'Risk' analysis and identified possible dangers in the project in the article Risk Analysis and Solution.
You will document those risks in the QA Test Plan.
|Members of the team lack the necessary abilities for website testing.||Plan a training session for your team to improve their skills.|
|The project timetable is very tight; doing this job on time will be difficult.||Establish a Test Priority for each test activity.|
|The Test Manager is a bad manager.||Managers should get leadership training.|
|Employee productivity suffers when there is a lack of collaboration.||Encourage each team member in his or her assignment and motivate them to work harder.|
|Cost overruns and incorrect budget estimates||Prior to starting work, define the scope, pay close attention to project planning, and track and measure progress on a regular basis.|
Step 2.4 Creating Test Logistics
The Test Manager should respond to the following questions in Test Logistics −
Who will put themselves to the test?
When will the test take place?
Who will put themselves to the test?
Although you may not know the precise identities of the testers who will be doing the tests, the sort of tester can be identified.
You must examine if his expertise is qualified for the work and estimate the project budget when selecting the correct member for a certain assignment.
The project may fail or be delayed if the wrong person is assigned to the assignment.
A person with the following abilities is most suited to undertake software testing −
Ability to comprehend the viewpoints of clients
A strong passion for excellence, as well as a keen eye for detail and a willingness to collaborate.
The tester is the team member who will be in charge of the test execution in your project. You can pick an in-house or outsourced tester depending on the project budget.
When will the test take place?
Associated development efforts must be linked with test activities.
When you have all of the elements shown in the accompanying diagram, you may begin testing.
The ultimate purpose and achievement of the test execution are known as the test objective. The goal of testing is to uncover as many software flaws as possible and to ensure that the product under test is bug-free before it is released.
You should do the following two steps to determine the test goals.
Make a list of all program aspects that need to be tested (functionality, performance, GUI, etc.).
Define the test's aim or goal based on the above characteristics.
Let's use these procedures to figure out what your testing project's test objective is.
You can use the 'TOP-DOWN' technique to locate the aspects of the website that need to be tested. You split down the program under test into components and sub-components using this strategy.
Based on the features listed above, the project's Test Objective may be defined as follows −
Check that the website's functionality (Account, Deposit, etc.) works as intended in a real-world business context, with no errors or defects.
Check that the website's external interface, such as the UI, is functioning properly and that it meets the needs of the consumer.
Examine the website's usability. Is it possible that such features will be useful to the user?
A test method or test judgment might be based on a standard or rule called test criteria. The following are two types of test criteria
Criteria for Suspension
Define the test's crucial suspension conditions. The active test cycle will be interrupted until the suspension criteria are addressed if the suspension conditions are fulfilled during testing.
Example of a Test Plan − If your team members indicate that 40% of test cases are failing, you should halt testing until the development team has fixed all of the failed instances.
Criteria for Exit
It describes the criteria for determining if a test phase has been completed successfully. The exit criteria are the test's intended outcomes, and they must be met before moving on to the next stage of development. For instance, all key test cases must pass 95% of the time.
pacifying a targeted run rate and pass rate are two ways to define exit criteria.
The run rate is the ratio of the number of test cases performed to the total number of test cases in the test specification. For example, the test specification calls for a total of 120 TCs, but the tester only completed 100 of them, resulting in a run rate of 100/120 = 0.83. (83 percent)
The ratio of the number of test cases passed to the number of test cases conducted is known as the pass rate. For example, out of more than 100 TCs conducted, 80 TCs passed, resulting in an 80/100 = 0.8 pass rate (80 percent).
A resource plan is a comprehensive list of all resources needed to fulfill a given assignment. Human resources, as well as the equipment and materials required to execute a job, are all resources.
Resource planning is a crucial aspect of test planning since it helps determine the number of resources (employees, equipment, etc.) that will be needed for the project. As a result, the Test Manager can create an accurate project plan and estimate.
This section lists the resources that are recommended for your project.
Human Resource Management
The following table depicts several members of your project team.
|1||Manager of Tests||Oversee the entire project.|
Define the project's goals.
Obtain the necessary resources
|2||Tester||Identifying and characterizing suitable testing approaches, tools, and automation architecture|
Examine and evaluate the Test Approach
Execute the tests, keep track of the results, and report any defects.
Depending on the project budget, testers might be in-house or outsourced.
To save money on the project, I advocate using outsourced personnel for low-skilled tasks.
|3||Developer undergoing testing||Execute the test cases, test program, and test suite, among other things.|
|4||Administrator of Tests||Establishes and maintains the Test Environment as well as its assets.|
SupportTester will run tests in the test environment.
|5||Members of the SQA||Assume responsibility for quality assurance.|
Check to see if the testing procedure adheres to the specifications.
Resource for the System
You should plan the resources for testing a web application as shown in the tables below −
|1||Server||Install the test web application.|
If applicable, this comprises a separate web server, database server, and application server.
|2||tool for testing||The purpose of the testing tool is to automate testing, replicate user operations, and create test results.|
You may use a variety of test tools for this project, including Selenium, QTP, and others.
|3||Network||To imitate the real-world company and user environment, you'll need a network that includes both LAN and the Internet.|
|4||Computer||The computer that people frequently use to connect to the webserver|
What does the test environment?
A testing environment is a software and hardware configuration on which the testing team will run test cases. The test environment includes a real-world business and user environment, as well as physical surroundings like a server and a front-end operating environment.
How to Create a Testing Environment?
How can you build up a test environment for this e-commerce website, returning to your project?
You'll need good collaboration between the Test Team and the Development Team to complete this assignment.
To fully comprehend the web application under test, you should ask the developer certain questions. Here are some questions to consider. Of course, if you need to, you may ask the other questions.
What is the maximum number of simultaneous connections this website can handle?
What are the hardware and software requirements for this website's installation?
Is there anything special that the user's machine needs to visit the website?
You already used various approaches to estimate the effort required to accomplish the project in the article Test estimation. You should now add that estimate, along with the timetable, to the Test Planning.
Assume you split down the whole project into tiny jobs and include the estimation for each work in the Test Estimation phase, as shown below.
|Make a test specification.||Designer of Tests||170 hours of labor|
|Conduct a test execution||Administrator and Tester||80 hours of labor|
|Report on the Test||Tester||10 hours of labor|
|Delivery of a Test||20 hours of labor|
|Total||280 hours of labor|
After that, you make a plan for completing these chores.
In project management, the term "making schedule" is commonly used. The Test Manager can utilize a solid schedule created in Test Planning as a tool for monitoring project progress and controlling cost overruns.
The Test Manager will require the following pieces of information to build the project schedule
Employees and project deadlines − The number of working days, the project deadline, and the availability of resources are all elements that influence the timetable.
Project estimation: The Test Manager knows how long it will take to complete the project based on the estimation. As a result, he will be able to create an adequate project timetable.
Understanding project risk allows the Test Manager to allocate adequate time to the project plan to cope with the risks.
A list of all the documentation, tools, and other components that must be produced and maintained in support of the testing endeavor is called Test Deliverables.
Every stage of the software development lifecycle has its own set of test deliverables.
Before the testing process, test deliverables are supplied.
A document containing test plans.
Documents containing test cases
Specifications for test design
During the testing, test deliverables are given.
Test Traceability Matrix
Error logs and execution logs
Test Data: After the testing cycles are completed, test deliverables are supplied −
Reports/results of tests
Installation/Test Procedures Guidelines
Notes about the release