According to IEEE Std 829-1998, Test Plan must contain the following sections:
To prescribe the scope, approach, resources, and schedule of the testing activities. To identify the items being tested, the features to be tested, the testing tasks to be performed, the personnel responsible for each task, and the risks associated with this plan.
A test plan shall have the following structure:
a) Test plan identifier;
c) Test items;
d) Features to be tested;
e) Features not to be tested;
g) Item pass/fail criteria;
h) Suspension criteria and resumption requirements;
i) Test deliverables;
j) Testing tasks;
k) Environmental needs;
m) Staffing and training needs;
o) Risks and contingencies;
The sections shall be ordered in the specified sequence. Additional sections may be included immediately prior to Approvals.
If some or all of the content of a section is in another document, then a reference to that material may be listed in place of the corresponding content. The referenced material must be attached to the test plan or available to users of the plan.
Details on the content of each section are contained in the following subclauses.
1.1 Test plan identifier
Specify the unique identifier assigned to this test plan.
Summarize the software items and software features to be tested. The need for each item and its history may be included.
References to the following documents, when they exist, are required in the highest level test plan:
a) Project authorization;
b) Project plan;
c) Quality assurance plan;
d) Configuration management plan;
e) Relevant policies;
f) Relevant standards.
In multilevel test plans, each lower-level plan must reference the next higher-level plan.
1.3 Test items
Identify the test items including their version/revision level. Also specify characteristics of their transmittal media that impact hardware requirements or indicate the need for logical or physical transformations before testing can begin (e.g., programs must be transferred from tape to disk).
Supply references to the following test item documentation, if it exists:
a) Requirements specification;
b) Design specification;
c) Users guide;
d) Operations guide;
e) Installation guide.
Reference any incident reports relating to the test items.
Items that are to be specifically excluded from testing may be identified.
1.4 Features to be tested
Identify all software features and combinations of software features to be tested. Identify the test design specification associated with each feature and each combination of features.
1.5 Features not to be tested
Identify all features and significant combinations of features that will not be tested and the reasons.
Describe the overall approach to testing. For each major group of features or feature combinations, specify the approach that will ensure that these feature groups are adequately tested. Specify the major activities, techniques, and tools that are used to test the designated groups of features.
The approach should be described in sufficient detail to permit identification of the major testing tasks and estimation of the time required to do each one.
Specify the minimum degree of comprehensiveness desired. Identify the techniques that will be used to judge the comprehensiveness of the testing effort (e.g., determining which statements have been executed at least once). Specify any additional completion criteria (e.g., error frequency). The techniques to be used to trace requirements should be specified.
Identify significant constraints on testing such as test item availability, testing resource availability, and deadlines.
1.7 Item pass/fail criteria
Specify the criteria to be used to determine whether each test item has passed or failed testing.
1.8 Suspension criteria and resumption requirements
Specify the criteria used to suspend all or a portion of the testing activity on the test items associated with this plan. Specify the testing activities that must be repeated, when testing is resumed.
1.9 Test deliverables
Identify the deliverable documents. The following documents should be included:
a) Test plan;
b) Test design specifications;
c) Test case specifications;
d) Test procedure specifications;
e) Test item transmittal reports;
f) Test logs;
g) Test incident reports;
h) Test summary reports.
Test input data and test output data should be identified as deliverables.
Test tools (e.g., module drivers and stubs) may also be included.
1.10 Testing tasks
Identify the set of tasks necessary to prepare for and perform testing. Identify all intertask dependencies and any special skills required.
1.11 Environmental needs
Specify both the necessary and desired properties of the test environment. This specification should contain the physical characteristics of the facilities including the hardware, the communications and system software, the mode of usage (e.g., stand-alone), and any other software or supplies needed to support the test.
Also specify the level of security that must be provided for the test facilities, system software, and proprietary components such as software, data, and hardware.
Identify special test tools needed. Identify any other testing needs (e.g., publications or office space). Identify the source for all needs that are not currently available to the test group.
Identify the groups responsible for managing, designing, preparing, executing, witnessing, checking, and resolving. In addition, identify the groups responsible for providing the test items identified in 1.2.3 and the environmental needs identified in 4.2.11.
These groups may include the developers, testers, operations staff, user representatives, technical support staff, data administration staff, and quality support staff.
1.13 Staffing and training needs
Specify test staffing needs by skill level. Identify training options for providing necessary skills.
Include test milestones identified in the software project schedule as well as all item transmittal events.
Define any additional test milestones needed. Estimate the time required to do each testing task. Specify the schedule for each testing task and test milestone. For each testing resource (i.e., facilities, tools, and staff), specify its periods of use.
1.15 Risks and contingencies
Identify the high-risk assumptions of the test plan. Specify contingency plans for each (e.g., delayed delivery
of test items might require increased night shift scheduling to meet the delivery date).