How do you write a Software Testing Plan document?
Software Testing Plan (STP)
Insert the purpose of this document, its objectives, and its intended audience. Insert description of the scope of this Software Testing Plan. Insert constraints, such as schedules, costs, interactions, overview, or any other information relevant to the testing of the development requirements.
Insert an overview or brief description of the product, software, or other desired end result that is being tested under this Software Testing Plan. Insert an overview of the business or organization desiring the development of this project. Include the business or organization's mission statement and its organizational goals and objectives.
Note: If you have already completed a Software Requirements Specification, the majority of this material is copied verbatim from that document. The purpose of this preamble is to familiarize staff recently attached to the testing portion of a project who may not have been present or involved with earlier stages of the project.
Insert a general overview of the strategy and plan for meeting the testing deliverables. Describe the levels of testing that will need to take place and the type of testing activities. A more detailed outline will be provided further on in this document. If there are specific tests that need to follow their own STP, you can describe them in an additional document, separate from this main document.
A Testing Strategy Outline will include:
The individual items to be tested. The purpose for testing those items. The individual features to be tested.
The individual features NOT to be tested. The managerial and technical approach to testing. The criteria for pass & failure of testing. The individual roles or responsibilities of participants in testing.
The milestones and deliverables required for testing. The schedules and timelines for individual tests or the Software Testing Plan as a whole. The risk assumptions and constraints placed upon the Software Testing Plan.
References & Reference Material
Insert a list of all reference documents and other materials related to the Software Testing Plan.
References will often include, but are not limited to:
- Software Requirements Specifications
- Software Development Plan
- Software Quality Assurance Plan
- Software Management Plan
- Project Outline and Management Plan
Insert references to documentation, including but not limited to:
- Software Requirements Specification (SRS)
- Software Design Specification (SDS)
- Software Development Plan (SDP)
- Software Installation Guide
- Software Users Guide
- Software Features Guide
- Software Bug, Error Correction, or Defect Removal Guide
Items to be Tested
1 Program Modules
Insert a description of the testing to be performed for each module that the software contains.
2 Job Control Procedures
Insert a description of the procedures to be followed for testing the job control language (JCL), including scheduling for production, control and all job sequencing. This section should include all the relationships between the above-mentioned items in the Program Modules section.
3 User Procedures
Insert a description of the testing to be conducted on user documentation and support resources (online or printed) to ensure that they are complete and comprehensive.
4 Operator Procedures
Insert a description of the testing procedures to be conducted to ensure that the software can be run and supported within a production environment as intended, and that any Help Desk or other support services outlined in the plan can be verified as effective and meeting the intended support outcomes as outlined in the goal of the Software Testing Plan.
5 Features to be Tested
Insert the objectives and requirements for features that are being tested in this Software Testing Plan.
6 Features Not to be Tested
Insert the objectives and requirements for features that are NOT being tested in this Software Testing Plan.
Insert the objectives and requirements for the overall approach to testing. The approach should cover such major tasks as the identification of time estimates for each element of the Software Testing Plan. Identify the different types of testing and describe their testing methods and the criteria for evaluating such testing. Your Software Testing Plan may contain several different approaches for certain elements.
1 Component Testing
Insert the objectives and requirements to verify the implementation, integrity, and functionality for a single unit, component, module, or a group of individual software elements or components. Component Testing is performed to verify that the individual component or group of components is complete and functioning as intended.
2 Integration Testing
Insert the objectives and requirements to verify the implementation, integrity and functionality for combined units, such as individual software units, components, or a group of individual software elements or components that has been combined with hardware elements. Integration testing is important to ensure that the software is functional as a whole within the environment it is intended to run. The Integration Testing is performed to ensure that all operational requirements are met.
3 Conversion Testing
Insert the objectives and requirements for testing that all historical data elements convert or are compatible with the new system. Conversion testing is required only if the software is an upgrade of an older system or will use or manipulate data from other systems.
4 Job Stream Testing
Insert the objectives and requirements for testing that the software operates correctly in the production environment.
5 Interface Testing
Insert the objectives and requirements for testing that the software operates correctly with all user interface and input systems.
6 Recovery Testing
Insert the objectives and requirements for testing that the software’s recovery and restore operations function correctly and all backup systems and procedures work as intended in the production environment.
7 Performance Testing
Insert the objectives and requirements for testing that the software operates correctly in regards to normal operation, response and execution times, scalability, portability and all other performance requirements within the production environment.
8 Regression Testing
Insert the objectives and requirements for testing that any changes applied to the software do not affect functions previously tested.
9 Acceptance Testing
Insert the objectives and requirements for testing that the software or system meets all criteria and deliverables. The Acceptance Testing is important to ensure that all requirements are met and that all components, modules, hardware requirements and recovery and restore operations function in the production environment and that a plan exists to demonstrate such functionality for a customer or client.
10 Alpha, Beta, and Release Candidate (RC) Testing
Insert the objectives and requirements for testing that will be done by a customer or client to verify that the software meets all deliverables and requirements from the Software Requirements Specifications (SRS) or the Software Development Plan (SDP) and to detect any errors, bugs, or defects in the software.
Pass and Failure Criteria
This section describes the criteria to determine whether a specific item has passed or failed a particular test.
1 Criteria for Suspension
This section will describe the criteria for suspending an individual element or group of elements for a particular testing activity.
2 Criteria for Resumption of Testing
This section will describe the criteria for resuming testing for an individual element or group of elements that has been previously suspended.
3 Criteria for Approval of Testing
This section will describe the criteria for acceptance and approval for an individual element or group of elements.
Testing Process and Methods
Insert the specific testing process and methods to be used in performing each testing activity. In this section you will describe and define each type of test that the Software Testing Plan contains. You may attach additional exhibits to this section if your testing plan requires them.
Insert the specific deliverables and documents that are to be delivered from the testing process. Test deliverables may include incremental data or data derived from incomplete tests.
Typical test deliverables include, but are not limited to:
- Individual Test Element or Module Summary Reports.
- Group Element or Module Summary Reports.
- Individual and Combined Test Logs.
- Test Metrics and Benchmark Reports.
- Test Input and Output Reports.
Test Incident Reports
Testing Task & Requirements List. A description of tasks and the skills required for performing testing as a part of the deliverables. A description of the hardware and environmental requirements for performing testing as a part of the deliverables.
Focus on restraints such as resource availability, time constraints, staff and developer availability, and all other external factors that can influence testing.
Risk and Assumption Contingency Plan(s)
Insert a description of the contingency plan for each item listed above.
Change Request and Management
A description of the Software Testing Plan change request and change management procedure. Describe the process that must be followed for submission, review and authorization for all requests for change to the Software Testing Plan or any change to any part of the deliverables.
Approval for Software Testing Plan
A description of the personnel authorized to approve the Software Testing Plan. Their Name, Title and signature must accompany this document.
A description of all other supporting information required for the understanding and execution of the Software Testing plan and requirements.
All Software Testing Plan documents require the following two appendices:
Definitions, Acronyms, Abbreviations
A description of the definition of important terms, abbreviations and acronyms. This may also include a Glossary of terms.
A listing of all citations to all documents and meetings referenced or used in the preparation of this Software Testing Plan and testing requirements document.