Testing is very important phase in any product development life cycle. Product release without testing is very bad practice. The product being develop need to test thoroughly to make sure that the product meets its requirements & has no serious issues in it. Before starting with actual validation, testing activities should be planned properly. If you fail to Plan, You Plan to Fail! Your Test plan should answer following questions:
-What is being tested?
-What are pass/fail criteria of your test cases?
-When to test?
-What Hardware/Software resources are required?
-What features must be tested and what not be tested?
-What are the responsibilities of stakeholders involved in testing?
Let’s see what should be the contents of test plan document.
Provide an overview of project or system being tested. Then next thing should be the purpose of test plan. Specify the objective of the test project.
Scope of testing should include things to be covered & things not to be covered in testing. Such things include requirements (functional/non-functional), system components & interfaces, documentation. Also specify the list of items which shall not be explicitly tested as a part of testing effort.
Test strategy represents the recommended approach of the testing. Strategy should identify important test activities & the methodology employed to execute tests.
Roles, Responsibilities & Project deliverables:
Specify who is responsible for each stage of testing activity. E.g. Tester’s responsibility is to execute tests, defect logging & tracking. Test Managers responsibility is to plan & manage testing activities, preparing reports etc. Deliverables includes test plan, test cases/Scripts, defect logs, reports.
Schedule should contain key milestones/tasks with planned start & end dates. It should include tasks like, test plan preparation & approval, creation of test cases & reviews, execution of test cases, test summary report etc.
Test environment section should describe how to set up test environment, resources required for setting up test environment. Resources include software resources, hardware resources, network resources, tools etc. Test environment preparation may include special requirements like building test data, special power requirements of hardware. Specify the tools required like test management tools, configuration & version management tools, automated testing tools, defect tracking tools.
Test Suspension & Resumption Criteria:
Test suspension criteria should explain when to pause/suspend the testing activities and resumption criteria explains when to continue with testing activities after resolving issues. Test team need to suspend the testing because of some major enhancements in project or project is terminated.
Test Exit criteria:
A test exit criterion tells when to stop testing. Factors like release deadlines, test coverage, test budget depletion, confidence in test executed.
Assumptions, Dependencies and Constraints:
List out all realistic assumptions which are used as basis for test. Mention all the external and internal dependencies in executing the test cases for the project. Specify constraints regarding resources, schedule etc.
List out the risks involved in testing process. Along with risks write mitigation & contingency actions if risk occurred.
Some basic rules to follow at the time of developing test plan:
– Keep your plan flexible so that it can be enhanced later for adding test cases, test data etc. Change control mechanism should be there to track changes.
– Test plan should be reviewed frequently before base lining.
– Test plan should be concise & readable and should not be complex because test plan act as a communication document. So be specific.