The Test Plan applies primarily to projects that include new and changed software and/or business processes. Doing this planning in advance is key to meeting the target schedule as testing is typically the most time consuming portion of a project. Unfortunately, when many projects are in schedule trouble, testing is usually the first target for cutting the planned effort. Having a solid Test Plan will help mitigate that risk.
There are multiple aspects to the test plan:
Determine the Test Plan Objectives
- To identify the activities required to prepare for and conduct testing
- To define the test scope, strategy and methodology to be used for the test
- To define financial control tests (if applicable)
- To identify configuration controls and metrics
- To define metrics and status reporting
- To identify responsibilities for the tasks included in the plan
- To define the test tools and the environment needed to conduct the test
- To identify test interactions with other organizations
- To identify test customers and deliverables
- To identify the major testing milestones
- To define the sources of information used to prepare the plan
Define the Test Approach:
Give a high-level description of the approach and activities to be followed in testing the solution. If you are using Agile methods, this is where you will plan the release/test cycles.
Identify the Major Test Responsibilities:
Identify teams and individuals who will be managing and executing the tests. It should also specify their responsibilities.
The Features and Functionality to Test:
This is a high-level description (not the detailed test cases). You should consider the following:
- Specific features to be tested
- The types of error testing to be performed
- The types of stress/load testing to be performed
- The type of usability testing to be performed
- The type of reliability testing to be performed
- The type of recovery testing to be performed
- The type of compatibility/migration testing to be performed
- The type of security testing to be performed
- The types of software and hardware to be employed if testing is to be performed over multiple software and hardware configurations (configuration testing)
Document your thoughts on the test process:
You should consider the following:
- How you will define the acceptance criteria
- Deliverables – materials that must be made available or created in order to conduct the tests and that will be developed from the tests to describe the test results.
- Test Documentation – itemize the documentation you will require in regards to recording the test procedures and results.
- Test Data – Where will it come from? How will it be created? Are regular refreshes needed?
- Support Organizations – identify all interfacing organizations (Technology Services, Vendors, etc) that are needed to support the testing. Describe what will be needed.
- Test Setup, Procedures and Walk-thru – general description of the steps the test will go thru to ensure quality tests.
- Tracking and Reporting Status – Define the information test team members will communicate during the testing process. This should include the bug reporting tools and methods as well as a bug classification strategy