Best Practices for Test Planning
The first and foremost step of testing in the testing life cycle is “Test Planning”. Test planning helps to set up a roadmap for testing.
Testing roadmap is planned by an experienced person with 5-8 years of experience as it is one of the key factors in delivering bug-free products.
After completion of test initialization and finalization of the testing process, test documents are prepared. These documents comprise of “what to test?”, “when to test?”, and “who to test?”. These documents also define how to test – eg. automation testing, manual testing, and so on.
A well-defined test plan answers all of the above questions.
There are some of the steps/approaches that are followed while preparing a test plan document:
- Formulating a testing team
- Identification of tactical risks
- Preparation of test plan
- Test plan review
Formulating a testing team: The first and foremost step of a test plan is team formation. Testing team formation is based on the below factors:
- Availability of test engineers
- Test duration
- Availability of test environment resources
Identification of tactical risks: In the second step, tactical risks are identified. These risks should be identified and discussed in the initial stage of testing. This risk analysis is also known as Root Cause Analysis. There can be different types of risks involved in testing and outlined below are some of the commonly observed risks:
- Lack of domain knowledge
- Lack of budget and time
- Lack of resources such as testing tools
- Lack of test data due to incomplete documentation
- Delay in delivery
- Lack of development process
- Lack of communication between testing and development team
These are the just handful of risks and there might be many more risks associated which needs to be identified and discussed in the initial testing phase.
Preparation of test plan: After formulating the team and analyzing the risks, the third step is to formulate the test plan. Below is the basic format of the test plan:
- Test plan ID: It can be a unique number/name
- Introduction: A brief introduction or summary of the project
- Test Items: Names of the modules to be designed in the project
- Features to be tested: List of features and their functionalities
- Feature not to be tested: List of the features that are not part of the scope
- Approach: Techniques and approaches that shall be followed during the testing
- Suspension Criteria: Decision guidelines about when to suspend/resume testing
- Feature pass/fail criteria: Criteria for passing or failing a particular module
- Test Environment: Hardware and Software required to conduct testing of above modules
- Test Deliverables: List of test documents that needs to be maintained or designed (EX: test cases, test procedures, test scripts, test log, defect reports for every module.)
- Team Names: List of test engineers involved in the testing of the project
- Responsibilities: Work allocation and responsibility mapping
- Schedule: It includes all the key dates of the project ( Eg. Start date of development and testing, end date of testing and development, date of delivery).
- Risks and Mitigation: List of bugs identified during testing and solutions therein
- Approvers: Name and signature of the project manager/(s) and test lead
Test plan review: After the first draft of the test plan is ready, the test lead reviews the test plan to ensure correctness of the test plan and evaluates if there is any scope of improvement. In this, they concentrate on the core points which includes:
- Business based requirement coverage (what to test?)
- Scenario/Requirement based coverage (how to test?)
- Risks based coverage (when and who to test?)
After finalizing the test plan, the testing process is initialized for execution.
Apart from all the above points, here are a few more considerations:
- Test Planning must start parallelly with development provided the requirements have been frozen. It is important to know the what, why and how of testing in a production environment.
- All the stakeholders including designers, developers, clients, and testers should be involved before finalizing the test plan.
- Test planning cannot be chalked out without clear business requirements.
- If business requirements evolve, a similar test plan should be applied to new requirements.
Conclusion: Hope you are now able to realize the importance of test planning. Execution of testing can only be successful if the test plan is well-defined. It is the foundation for successful testing and delivery of the bug-free product. It is definite that test execution depends on test cases and test cases are designed based on the test plan. Hence, if the test plan is not done meticulously, there are high chances that test changes might change at a later date thereby impacting the end execution and delivery.