Test Plan
Test Plan
• A Test Plan refers to a detailed document that catalogs the test strategy, objectives, schedule, estimations,
deadlines, and the resources required for completing that project. Think of it as a blueprint for running the
tests needed to ensure the software is working properly – controlled by test managers.
• Test Plan helps us determine the effort needed to validate the quality of the application under test.
• A well-crafted test plan is a dynamic document that changes according to progressions in the project and
always stays current. It is the point of reference, based on which testing activities are executed and
coordinated among a QA team
• The test plan is also shared with Business Analysts, Project Managers, Dev teams, and anyone else associated
with the project, This mainly offers transparency into QA activities so that all stakeholders know how the
software will be tested.
What is the Importance of Test Plan?
• 1.Help people outside the test team such as developers, business managers, customers understand the details
of testing.
• 2.Test Plan guides our thinking. It is like a rule book, which needs to be followed.
• 3.Important aspects like test estimation, test scope, Test Strategy are documented in Test Plan, so it can be
reviewed by Management Team and re-used for other projects
Components of a Test Plan
• Scope: Details the objectives of the particular project. Also, it details user scenarios to be used in
tests. If necessary, the scope can specify what scenarios or issues the project will not cover.
• Schedule: Details start dates and deadlines for testers to deliver results.
• Resource Allocation: Details which tester will work on which test.
• Environment: Details the nature, configuration, and availability of the test environment.
• Tools: Details what tools are to be used for testing, bug reporting, and other relevant activities.
• Defect Management: Details how bugs will be reported, to whom and what each bug report
needs to be accompanied by. For example, should bugs be reported with screenshots, text logs,
or videos of their occurrence in the code?
• Risk Management: Details what risks may occur during software testing, and what risks the
software itself may suffer if released without sufficient testing.
• Exit Parameters: Details when testing activities must stop. This part describes the results that are
expected from the QA operations, giving testers a benchmark to compare actual results to.
How to create a Test Plan?
• You already know that making a Test Plan is the most important task of Test Management Process. Follow the
seven steps below to create a test plan as per IEEE 829
1. Analyse the product
2. Design the Test Strategy
3. Define the Test Objectives
4. Define Test Criteria
5. Resource Planning
6. Plan Test Environment
7. Schedule & Estimation
• Start with learning more about the product being tested, the client, and the end-
users of similar products. Ideally, this phase should focus on answering the following
questions:
• Project Budget
• Product Specification
• Now should clearly define the “in scope” and “out of scope” of the testing.
• As the software requirement specs, the project Bank only focus on testing all the functions and external
interface of website Bank (in scope testing)
• Non-functional testing such as stress, performance or logical database currently will not be tested. (Out
of scope)
2.1
• Problem Scenario
• The customer wants you to test his API. But the project budget does not permit to do so. In such a case what
will you do?
• Well, in such case you need to convince the customer that Api Testing is extra work and will consume
significant resources. Give him data supporting your facts. Tell him if Api Testing is included in-scope the
budget will increase by XYZ amount.
• The customer agrees and accordingly the new scopes, out of scope items are
• In-scope items: Functional Testing, Api Testing
• Out of scope items: Database Testing, hardware & any other external interfaces
2.2 Identify Testing Type
• A Testing Type is a standard test procedure that gives an expected test outcome.
• Each testing type is formulated to identify a specific type of product bugs. But, all Testing Types are aimed at
achieving one common goal “Early detection of all the defects before releasing the product to the customer”
• The commonly used testing types are described as following
• Unit testing, API Testing, Integration Test, System Test and Install/Uninstall Testing
• There are tons of Testing Types for testing software product. Your team cannot have enough efforts to
handle all kind of testing. As Test Manager, you must set priority of the Testing Types
Risk Mitigation
Team members lack the required skills for website testing. Plan training course to skill up your members
The project schedule is too tight; it’s hard to complete this project on time Set Test Priority for each of the test activity.
Test Manager has poor management skill Plan leadership training for manager
A lack of cooperation negatively affects your employees’ productivity Encourage each team member in his task, and inspire them to greater efforts.
Establish the scope before beginning work, pay a lot of attention to project planning and
Wrong budget estimate and cost overruns
constantly track and measure the progress
2.4) Create Test Logistics
• In Test Logistics, the Test Manager should answer the following questions:
• Who will test?
• Attention to detail
• Good cooperation
• In your project, the member who will take in charge for the test execution is the tester. Base on the project
budget, you can choose in-source or outsource member as the tester.
• on the project budget, you can choose in-source or outsource member as the tester.
2.4 Create Test Logistics
• When will the test occur?
• Test activities must be matched with associated development activities.
• You will start to test when you have all required items shown in following figure
3. Define Test Objective
• Test Objective is the overall goal and achievement of the test execution. The objective of the testing is finding
as many software defects as possible; ensure that the software under test is bug free before release.
To define the test objectives, you should do 2 following steps
1. List all the software features (functionality, performance, GUI…) which may need to test.
2. Define the target or the goal of the test based on above features
Let’s apply these steps to find the test objective of your Bank testing project
You can choose the ‘TOP-DOWN’ method to find the website’s features which may need to test. In this
method, you break down the application under test to component and sub-component.
In the previous topic, you have already analyzed the requirement specs and walk through the website, so you can
create a Mind-Map to find the website features as following
This figure shows all the features which the bank website may have.
Based on above features, you can define the Test Objective of the project bank as following
Check that whether website bank functionality(Account, Deposit…) is working as expected without any error or bugs in real
business environment
Check that the external interface of the website such as UI is working as expected and & meet the customer need
Verify the usability of the website. Are those functionalities convenient for user or not?
4) Define Test Criteria
• Test Criteria is a standard or rule on which a test procedure or test judgment can be based. There’re 2 types of test criteria as
following
Suspension Criteria
• Specify the critical suspension criteria for a test. If the suspension criteria are met during testing, the active test cycle will
be suspended until the criteria are resolved.
• Test Plan Example: If your team members report that there are 40% of test cases failed, you should suspend testing until the
development team fixes all the failed cases.
Exit Criteria
• Example: 95% of all critical test cases must pass.
Some methods of defining exit criteria are by specifying a targeted run rate and pass rate.
• Run rate is ratio between number test cases executed/total test cases of test specification. For example, the test specification
has total 120 TCs, but the tester only executed 100 TCs, So the run rate is 100/120 = 0.83 (83%)
• Pass rate is ratio between numbers test cases passed / test cases executed. For example, in above 100 TCs executed, there’re
80 TCs that passed, so the pass rate is 80/100 = 0.8 (80%)
This data can be retrieved in Test Metric documents.
• Run rate is mandatory to be 100% unless a clear reason is given.
• Pass rate is dependent on project scope but achieving high pass rate is a goal.
• Test Plan Example: Your Team has already done the test executions. They report the test result to you, and they want you to
confirm the Exit Criteria.
• In above case, the Run rate is mandatory is 100%, but the test team only completed 90% of test cases. It means the Run rate is not
satisfied, so do NOT confirm the Exit Criteria
Define Test Criteria
5) Resource No. Member Tasks
• System Resource
• For testing, a web application, you The testing tool is to automate the testing,
simulate the user operation, generate the test
should plan the resources as following 2. Test tool results
tables: There are tons of test tools you can use for
this project such as Selenium, QTP…etc.
• Does the user’s computer need any particular setting to browse the website?
7.Schedule & Estimation Task Members Estimate effort
• Simulators.
• Test Data