Introduction
- In the management of testing, plans, estimates and strategies are discussed. These depend on various factors that consist of levels, targets and objectives of testing.
- In the planning period of the project, writing a plan, constructing an estimate and selecting the strategy occurs regularly and simultaneously.
Test plan
- Test plan is a document that explains the scope and activities of testing. It is a project plan to complete testing work.
- Test plan document is developed as the project is being developed.
- The final test plan is concrete and initial test plan is abstract.
- The initial test plan includes high level ideas regarding testing the system without getting the details of exact test cases.
- Important test cases arise from the requirements of the system.
- The refinement of initial tests is minimum when the system is in the design stage.
- The exact test cases start to appear in the detailed design or coding phase.
The purpose of test plan
- The purpose of testing is to check if an application or software meets technical, functional and business requirements.
- Test plan verifies that all functional and design requirements are implemented as stated in the documentation.
- It provides a procedure for unit and system testing.
- It recognizes the process of documentation for unit and system testing.
- It also recognize the test method for unit and system testing.
- The test plans are created based on the size, complexity and type of project and these plans are used in the testing process to check the deliverables work correctly.
Important reasons for writing test plans:
- Writing a test plan guides our thinking. Writing a test plan is a challenge and it gets our focus on important topics.
- The test planning process and plan helps establish a communication with the other members of the project team, testers, managers and stakeholders.
- Test plan helps to manage change in early phases of the project so we can collect more information and revise our plans.
Test Plan Types
i) Master test plan - A single test plan for a project which merges all other test plans.
ii) Testing level specific test plans - Plan for each level of testing i.e Unit Test Plan, Integration Test Plan, System Test Plan, Acceptance Test Plan.
iii) Testing type specific test plans - This includes plans for the major types of testing such as performance test plan and security test plan.
Advantages of test plan
- Test plan assists as a guide throughout the development process.
- Test points are defined in a test plan. They make it easy to develop the plan and the software.
- It assists as a valuable record of what has been tested and the processes followed.
- Once the regression testing is completed, the entire test plan can be used for future products.
Test Plan Template
Test plan template is a format or arrangement of a software test plan. It depends on the processes, standards and test management tools being implemented.
Following is a template based on IEEE standard for software test documentation. It gives the summary of the elements of test plan:
1) Test Plan Identifier - It gives a unique number using which the test plan can be identified. This number may consist of version of information and the level of released software.
2) References
A list of documents which support the test plan. This may consists of a project plan, functional specification or corporate guidelines.
3) Introduction
It consists of the summary of test plan, purpose of testing project and scope.
4) Test Items
List the test items of software and their versions. The system and sub system that will be tested.
Which features should be tested?
- The separate features which have been tested in the system or sub-system during the project testing. These provide references to the requirements and design specification.
- Test plan template also records the features which should not be tested and the reasons behind it.
5) Approaches- States the overall approaches for testing.
- Testing levels, types and methods are identified here.
6) Item Pass/ Fail Criteria
The criteria for a test item to pass or fail is defined here.
7) Suspension Criteria and Resumption Requirements- It mentions various conditions under which testing should be suspended.
- State the testing activities that are necessary to be taken up again when testing is resumed.
8) Test Deliverables
It describes the documents expected to be generated as a part of testing process.
Following is the list of test deliverables:
I. Test Plan
ii. Test Cases
iii. Test Scripts
iv. defect logs
v. Test Reports
9) Test Environment- It mentions the properties of the test environment i.e hardware, software, network.
- List any testing or related tools here.
10) Estimates
It gives a summary of test estimates and provides link to the detailed estimation.
11) Schedule
It gives a summary of schedule, identifying key test milestones and provide a link to the detailed schedule.
12) Staffing and Training Needs- Here, the requirement of staff according to the role and required skills, is identified.
- Also recognized are the training needs for the existing staff.
13) Responsibilities
All the responsibilities for each role are listed here.
14) Risks
List the already recognized risks here. Identify the prevention and mitigation plans for each risk.
15) Assumptions and Dependencies
List the assumptions that have been made for the preparation of the plan and the dependencies here.
16) Approvals- Identify the names and roles of all people who need to approve the plan.
- If the document is printed then provide the space for signatures and dates.