What is the Test Plan?
- Test Plan is the detailed document which represents the customer business flow, objective, test strategy, scope of the project, estimation, deliverables and resources required to execute them for a software/product.
- As per ISTQB test plan is a document that describes the scope ,approach,resources required and scheduling of all planned activities.
- Test Plan acts as a blueprint for test engineers to perform respective software testing in a planned process for an entire release of the product to customers.
Importance of Test Plan in Software Testing:
- Test Plan ensures that software meets the requirements that guided its design and development.
- Test Plan helps the entire team apart from the testing team i.e., developers, managers, customers to understand the details of testing.
- Test Plan makes the entire release go smoothly.
- It also ensures that test engineers are not missing any issues.
- It ensures the good quality of the product.
- Test estimation, test scope, test strategy are documented in the test plan and it can be reviewed by the management team and can be used for future testing.
Test Plan Attributes: Following are the 15 attributes of Test Plan
- Objective
- Scope
- Testing methodology
- Test Approach
- Assumption
- Risk
- Back up plan/Contingency plan
- Roles and responsibilities
- Scheduling
- Defect tracking
- Test environment / test bed
- Entry and exit criteria
- Test automation
- Deliverables
- Templates
How to write a Test Plan?
Following flowchart will explain the flow of writing test plan:
Analyze the product:
- First step in writing a test plan is to make sure that we have a good understanding of the product.
- To understand and analyze the product means we should try to understand all the requirements, features and functionalities of the product and also how features work in a real time business environment.
Design the test strategy:
- It is a high level document developed by test engineers.
- Test strategy defines the objective of the project and means to achieve them and it determines the testing efforts, resources and costs to achieve them.
- Testing strategy helps us to establish objectives of the testing and set a goal within the test plan.
- Test plan usually covers ‘HOW’ and Test strategy covers ‘WHY and WHAT’.
Define the test objective :
- It defines the overall goal and achievement of test execution.
- Moreover the main objective of the testing is to find more defects and make sure that software under testing is bug free before releasing into the market.
- To define test objective we should:
- List all the software features (functionality, performance, GUI) which may need to be tested.
- Define the target or the goal of the test based on features.
Define test criteria :
- Test criteria is a standard rule on which a test procedure or test judgment can be based.
- There are two types of test criteria as following:
- Suspension Criteria:
We need to specify the critical suspension criteria for a test. If the critical suspension criteria are met during testing then the active test cycle will be suspended until the criteria are resolved.
Example: If your team members report that 40% of the test cases failed then we should suspend testing until the development team provides fixes.
- Exit Criteria:
- This criteria denotes a successful completion of the test phase. Exit criteria are the targeted results of the test and are necessary before proceeding to the next phase of the development.
- Here 95% of all critical test cases should be passed.
Resource planning:
- It is the important factor of test planning because it gives the complete data on ‘Number of resources required to complete the project within given time’.
- Resources include Human, equipment and materials needed to complete the project.
- Based on resource planning managers can make the proper schedule and estimation for the project.
Plan Test Environment:
- Testing environment is the combination of software and hardware where test engineers will execute the test cases.
- Testing environment consists of real time business and user environment and also physical environment such as servers, running environment.
Schedule and Estimation:
- Here we need to divide all bigger tasks into smaller tasks and we should add estimation for each task.
- Here we will be assigning which task has to be performed by which particular engineer and all.
- Scheduling should be in such a way that it should be used as a tool for monitoring the progress of the project.
- For scheduling, Managers require several inputs such as employee and project deadline, Project estimation and project risk.
Determine Test Deliverables:
- It is a list of all documents, tools and other components which are developed and maintained to support testing efforts.
- Test deliverables which are provided before the testing phase are “test plan document , test case document, and design specifications”.
- Test deliverables which are provided during the testing phase are “Test scripts, test data, simulators, test traceability matrix, error, and execution logs”.
- Test deliverables which are provided after the testing phase are “test reports, defect report, installation guidelines, and release notes”.
Conclusion:
Test plan plays a crucial role in Software testing and preparing it is more worth the time and effort as it makes the entire testing process smooth and more efficient. There is no standard procedure for writing test plans and it varies from company to company. Following the test plan in any project gives the good quality software and best user experience.