<Project Name>
Master Test Plan
Version <1.0>
[Note: The following template is provided for use with the Rational Unified Process (RUP), and is designed for use in conjunction with the detailed guidance provided within RUP. As with most of the templates provided with RUP, this template should be customized to suit the context of the specific project it will be used on.]
[Note: text such as this you are currently reading-enclosed in square brackets and displayed in blue italics (style=InfoBlue)-is included to provide guidance to the author and should be deleted before publishing the document. A paragraph entered following this style will automatically be set to normal (style=Body Text).]
Revision History
Date |
Version |
Description |
Author |
<dd/mmm/yy> |
<x.x> |
<details> |
<name> |
|
|
|
|
|
|
|
|
|
|
|
|
Table of Contents
1.4 Document Terminology and Acronyms
2. Governing Evaluation Mission
2.1 Project Context and Background
2.2 Evaluation Missions applicable to this Project/ Phase
2.3 Sources of Test Motivators
4.1 Overview of Test Inclusions
4.2 Overview of Other Candidates for Potential Inclusion
4.3 Overview of Test Exclusions
5.1 Measuring the Extent of Testing
5.2 Identifying and Justifying Tests
6.1 Project/ Phase Master Test Plan
6.1.1 Master Test Plan Entry Criteria
6.1.2 Master Test Plan Exit Criteria
6.1.3 Suspension and Resumption Criteria
7.2 Reporting on Test Coverage
7.4 Incident Logs and Change Requests
7.5 Smoke Test Suite and Supporting Test Scripts
7.6.2 Additional Automated Functional Test Scripts
9.2 Base Software Elements in the Test Environment
9.3 Productivity and Support Tools
9.4 Test Environment Configurations
10. Responsibilities, Staffing, and Training Needs
10.2 Staffing and Training Needs
11. Key Project/ Phase Milestones
12. Master Plan Risks, Dependencies, Assumptions, and Constraints
13. Management Process and Procedures
13.1 Measuring and Assessing the Extent of Testing
13.2 Assessing the Deliverables of this Master Test Plan
13.3 Problem Reporting, Escalation, and Issue Resolution
Master Test Plan
The purpose of the Master Test Plan for the <complete lifecycle, specific-phase> of the <Project Name> is to:
- Provide a central artifact to govern the planning and control of the test effort. It defines the general approach that will be employed to test the software and to evaluate the results of that testing, and is the top-level plan that will be used by managers to govern and direct the detailed testing work.
- Provide visibility to stakeholders in the testing effort that adequate consideration has been given to various aspects of governing the testing effort, and where appropriate to have those stakeholders approve the plan.
This Master Test Plan also supports the following specific objectives:
- [Identifies the items that should be targeted by the tests.
- identifies the motivation for and ideas behind the test areas to be covered.
- Outlines the testing approach that will be used.
- identifies the required resources and provides an estimate of the test efforts.
- lists the deliverable elements of the test project.]
[Defines the types of testing ,such as Functionality, Usability, Reliability, Performance, and Supportability,and if necessary the levels of testing,for example, Integration or System, that will be addressed by this Master Test Plan. It is also important to provide a general indication of significant elements that will be excluded from scope, especially where the intended audience might otherwise reasonably assume the inclusion of those elements.
Note: Be careful to avoid repeating detail here that you will define in sections 3 , Target Test Items , and 4 , Overview of Planned Tests .]
[Provide a brief description of the audience for whom you are writing the Master Test Plan. This helps readers of your document identify whether it is a document intended for their use, and helps prevent the document from being used inappropriately.
Note: The document style and content usually alters in relation to the intended audience.
This section should only be about three to five paragraphs in length.]
[This subsection provides the definitions of any terms, acronyms, and abbreviations required to properly interpret the Master Test Plan. Avoid listing items that are generally applicable to the project as a whole and that are already defined in the project's Glossary. Include a reference to the project's Glossary in the References section.]
[This subsection provides a list of the documents referenced elsewhere within the Master Test Plan. Identify each document by title, version (or report number if applicable), date, and publishing organization or original author. Avoid listing documents that are influential but not directly referenced. Specify the sources from which the "official versions" of the references can be obtained, such as intranet UNC names or document reference codes. This information may be provided by reference to an appendix or to another document.]
[This subsection outlines what the rest of the Master Test Plan contains and gives an introduction to how the rest of the document is organized. This section may be eliminated if a Table of Contents is used.]
[Provide an overview of the mission(s) that will govern the detailed testing within the iterations.]
[Provide a brief description of the background surrounding the project with specific reference or focus on important implications for the test effort. Include information such as the key problem being solved, the major benefits of the solution, the planned architecture of the solution, and a brief history of the project. Note that where this information is defined sufficiently in other documents, you might simply include a reference to those other documents if appropriate; however, it may save readers of the test plan time and effort if a limited amount of information is duplicated here: so you should use your judgment. As a general rule, this section should only be about three to five paragraphs in length.]
[Provide a brief statement that defines the mission(s) for the test and evaluation effort over the scope of the plan. The governing mission statement(s) might incorporate one or more concerns including:
- find as many bugs as possible
- find important problems, assess perceived quality risks
- advise about perceived project risks
- certify to a standard
- verify a specification (requirements, design or claims)
- advise about product quality, satisfy stakeholders
- advise about testing
- fulfill process mandates
- and so forth
Each mission provides a different context to the test effort and changes the way in which testing should be approached.]
[Provide an outline of the key sources from which the testing effort in this Project/ Phase will be motivated. Testing will be motivated by many things,quality risks, technical risks, project risks, use cases, functional requirements, non-functional requirements, design elements, suspected failures or faults, change requests, and so forth.]
The listing below identifies those test items,software, hardware, and supporting product elements ,that have been identified as targets for testing. This list represents what items will be tested.
[Provide a high level list of the major target test items. This list should include both items produced directly by the project development team, and items that those products rely on; for example, basic processor hardware, peripheral devices, operating systems, third-party products or components, and so forth. In the Master plan, this may simply be a list the categories or target areas.]
[This section provides a high-level overview of the testing that will be performed. The outline in this section represents a high level overview of both the tests that will be performed and those that will not.]
[Provide a high-level overview of the major testing planned for project/ phase. Note what will be included in the plan and record what will explicitly not be included in the following section titled Overview of Test Exclusions .]
[Give a separate overview of areas you suspect might be useful to investigate and evaluate, but that have not been sufficiently researched to know if they are important to pursue.]
[Provide a high-level overview of the potential tests that might have been conducted but that have been explicitly excluded from this plan. If a type of test will not be implemented and executed, indicate this in a sentence stating the test will not be implemented or executed and stating the justification, such as:
- "These tests do not help achieve the evaluation mission."
- "There are insufficient resources to conduct these tests."
- "These tests are unnecessary due to the testing conducted by xxxx."
As a heuristic, if you think it would be reasonable for one of your audience members to expect a certain aspect of testing to be included that you will not or cannot address, you should note its exclusion: If the team agrees the exclusion is obvious, you probably don't need to list it.]
[The Test Approach presents an overview of the recommended strategy for analyzing, designing, implementing and executing the required tests. Sections 3 , Target Test Items , and 4 , Overview of Planned Tests , identified what items will be tested and what types of tests would be performed. This section describes how the tests will be realized.
As you identify each aspect of the approach, you should update Section 10 , Responsibilities, Staffing, and Training Needs , to document the test environment configuration and other resources that will be needed to implement each aspect.]
[Describe what strategy you will use for measuring the progress of the testing effort. When deciding on a measurement strategy, it is important to consider the following advice from Cem Kaner, 2000 "Bug count metrics reflect only a small part of the work and progress of the testing group. Many alternatives look more closely at what has to be done and what has been done. These will often be more useful and less prone to side effects than bug count metrics."
A good measurement strategy will report on multiple dimensions. Consider the following dimensions, and select a subset that are appropriate for your project context: coverage (against the product and/ or against the plan), effort, results, obstacles, risks (in product quality and/ or testing quality), historical trend (across iterations and/ or across projects).]
[Describe how tests will be identified and considered for inclusion in the scope of the test effort covered by this strategy. Provide a listing of resources that will be used to stimulate/ drive the identification and selection of specific tests to be conducted, such as Initial Test-Idea Catalogs, Requirements documents, User documentation and/ or Other Reference Sources. Examples of Test-Ideas Catalogs can be found in the process components shipped with RUP.]
One of the main aspects of the test approach is an explanation of how the testing will be conducted, covering the selection of quality-risk areas or test types that will be addressed and the associated techniques that will be used. If you are maintaining a separate test strategy artifact that covers this, simply list the test types or quality-risks areas that will be addressed by the plan, and refer to the test strategy artifact for the details. If there is no separate test strategy artifact, you should provide an outline here of how testing will be conducted for each technique: how design, implementation and execution of the tests will be done, and the criterion for knowing that the technique is both useful and successful. For each technique, provide a description of the technique and define why it is an important part of the test approach by briefly outlining how it helps achieve the Evaluation Mission(s).
[Specify the criteria that will be used to determine whether the execution of the Master Test Plan can begin.]
[Specify the criteria that will be used to determine whether the execution of the Master Test Plan is complete or that continued execution provides no further benefit.]
[Specify the criteria that will be used to determine whether testing should be prematurely suspended or ended before the plan has been completely executed, and under what criteria testing can be resumed.]
[In this section, list the various artifacts that will be created by the test effort that are useful deliverables to the various stakeholders of the test effort. Don't list all work products; only list those that give direct, tangible benefit to a stakeholder and those by which you want the success of the test effort to be measured.]
[Provide a brief outline of both the form and content of the test evaluation summaries, and indicate how frequently they will be produced.]
[Provide a brief outline of both the form and content of the reports used to measure the extent of testing, and indicate how frequently they will be produced. Give an indication as to the method and tools used to record, measure, and report on the extent of testing.]
[Provide a brief outline of both the form and content of the reports used to measure the perceived quality of the product, and indicate how frequently they will be produced. Give an indication about to the method and tools used to record, measure, and report on the perceived product quality. You might include some analysis of Incidents and Change Request over Test Coverage.]
[Provide a brief outline of both the method and tools used to record, track, and manage test incidents, associated change requests, and their status.]
[Provide a brief outline of the test assets that will be delivered to allow ongoing regression testing of subsequent product builds to help detect regressions in the product quality.]
[In this section, identify the work products that are optional deliverables or those that should not be used to measure or assess the successful execution of the Master Test Plan.]
[This denotes either a collection of Microsoft Excel spreadsheets listing the results determined for each test case, or the repository of both test logs and determined results maintained by a specialized test product.]
[These will be either a collection of the source code files for automated test scripts, or the repository of both source code and compiled executables for test scripts maintained by the test automation product.]
[Test Guidelines cover a broad set of categories, including Test-Idea catalogs, Good Practice Guidance, Test patterns, Fault and Failure Models, Automation Design Standards, and so forth.]
[Using a tool such as Rational RequisitePro or MS Excel, provide one or more matrices of traceability relationships between traced items.]
[Provide an outline of the workflow to be followed by the Test team in the development and execution of this Master Test Plan.]
The specific testing workflow that you will use should be documented separately in the project's Development Case. It should explain how the project has customized the base RUP test workflow (typically on a phase-by-phase basis). In most cases, we recommend you place a reference in this section of the Master Test Plan to the relevant section of the Development Case. It might be both useful and sufficient to simply include a diagram or image depicting your test workflow.
More specific details of the individual testing tasks are defined in a number of different ways, depending on project culture; for example:
- defined as a list of tasks in this section of the Master Test Plan, or in an accompanying appendix
- defined in a central project schedule (often in a scheduling tool such as Microsoft Project)
- documented in individual, "dynamic" to-do lists for each team member, which are usually too detailed to be placed in the Master Test Plan
- documented on a centrally located whiteboard and updated dynamically
- not formally documented at all
Based on your project culture, you should either list your specific testing tasks here or provide some descriptive text explaining the process your team uses to handle detailed task planning and provide a reference to where the details are stored, if appropriate.
For Master Test Plans, we recommend avoiding detailed task planning, which is often an unproductive effort if done as a front-loaded activity at the beginning of the project. A Master Test Plan might usefully describe the phases and the number of iterations, and give an indication of what types of testing are generally planned for each Phase or Iteration.
Note: Where process and detailed planning information is recorded centrally and separately from this Master Test Plan, you will have to manage the issues that will arise from having duplicate copies of the same information. To avoid team members referencing out-of-date information, we suggest that in this situation you place the minimum amount of process and planning information within the Master Test Plan to make ongoing maintenance easier and simply reference the "Master" source material.]
[This section presents the non-human resources required for the Master Test Plan.
Note: This section may be delegated in whole or part to the Test Strategy artifact.]
The following table sets forth the system resources for the test effort presented in this Master Test Plan.
[The specific elements of the test system may not be fully understood in early iterations, so expect this section to be completed over time. We recommend that the system simulates the production environment, scaling down the concurrent access and database size, and so forth, if and where appropriate.]
[Note: Add or delete items as appropriate.]
System Resources |
||
Resource |
Quantity |
Name and Type |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The following base software elements are required in the test environment for this Master Test Plan.
[Note: Add or delete items as appropriate.]
Software Element Name |
Version |
Type and Other Notes |
The following tools will be employed to support the test process for this Master Test Plan.
[Note: Add or delete items as appropriate.]
Tool Category or Type |
Tool Brand Name |
Vendor or In-house |
Version |
The following Test Environment Configurations needs to be provided and supported for this project.
Configuration Name |
Description |
Implemented in Physical Configuration |
[This section presents the required resources to address the test effort outlined in the Master Test Plan the main responsibilities, and the knowledge or skill sets required of those resources
Note: This section may be delegated in whole or part to the Test Strategy artifact..]
This table shows the staffing assumptions for the test effort.
[Note: Add or delete items as appropriate.]
Human Resources |
||
Role |
Minimum Resources Recommended (Number of full-time roles allocated) |
Specific Responsibilities or Comments |
Test Manager |
Provides management oversight. Responsibilities include: - planning and logistics - agree on the mission - identify motivators - acquire appropriate resources - present management reporting - advocate the interests of test - evaluate effectiveness of test effort |
|
Test Analyst |
Identifies and defines the specific tests to be conducted. Responsibilities include: - identify test ideas - define test details - determine test results - document change requests - evaluate product quality |
|
Test Designer |
Defines the technical approach to the implementation of the test effort. Responsibilities include: - define test approach - define test automation architecture - verify test techniques - define testability elements - structure test implementation |
|
Tester |
Implements and executes the tests. Responsibilities include: - implement tests and test suites - execute test suites - log results - analyze and recover from test failures - document incidents |
|
Test System Administrator |
Ensures test environment and assets are managed and maintained. Responsibilities include: - administer test management system - install and support access to, and recovery of, test environment configurations and test labs |
|
Database Administrator, Database Manager |
Ensures test data (database) environment and assets are managed and maintained. Responsibilities include: - support the administration of test data and test beds (database). |
|
Designer |
Identifies and defines the operations, attributes, and associations of the test classes. Responsibilities include: - define the test classes required to support testability requirements as defined by the test team |
|
Implementer |
Implements and unit tests the test classes and test packages. Responsibilities include: - create the test components required to support testability requirements as defined by the designer |
This section outlines how to approach staffing and training the test roles for the project.
[The way to approach staffing and training will vary from project to project. If this section is part of a Master Test Plan, you should indicate at what points in the project lifecycle different skills and numbers of staff are needed.
Give thought to your training needs, and plan to schedule this based on a Just-In-Time (JIT) approach there is often a temptation to attend training too far in advance of its usage when the test team has apparent slack. Doing this introduces the risk of the training being forgotten by the time it's needed.
Look for opportunities to combine the purchase of productivity tools with training on those tools, and arrange with the vendor to delay delivery of the training until just before you need it. If you have enough headcount, consider having training delivered in a customized manner for you, possibly at your own site.
The test team often requires the support and skills of other team members not directly part of the test team. Make sure you arrange in your plan for appropriate availability of System Administrators, Database Administrators, and Developers who are required to enable the test effort.]
[Identify the key schedule milestones that set the context for the Testing effort. Avoid repeating too much detail that is documented elsewhere in plans that address the entire project.]
Milestone |
Planned Start Date |
Actual Start Date |
Planned End Date |
Actual End Date |
Project/ Phase starts |
|
|
|
|
Master Test Plan agreed |
|
|
|
|
Testing resources requisitioned |
|
|
|
|
Testing team 1st training complete |
|
|
|
|
Phase 1 exit milestone |
|
|
|
|
Requirements baselined |
|
|
|
|
Architecture baselined |
|
|
|
|
User Interface baselined |
|
|
|
|
Phase 2 exit milestone |
|
|
|
|
Test Process Audit Conducted |
|
|
|
|
System Performance Test starts |
|
|
|
|
Customer Acceptance Testing Starts |
|
|
|
|
Project Status Assessment review |
|
|
|
|
Project/ Phase ends |
|
|
|
|
[ List any risks that may affect the successful execution of this Master Test Plan, and identify mitigation and contingency strategies for each risk. Also indicate a relative ranking for both the likelihood of occurrence and the impact if the risk is realized.]
Risk |
Mitigation Strategy |
Contingency (Risk is realized) |
[List any dependencies identified during the development of this Master Test Plan that may affect its successful execution if those dependencies are not honored. Typically these dependencies relate to activities on the critical path that are prerequisites or post-requisites to one or more preceding (or subsequent) activities You should consider responsibilities you are relying on other teams or staff members external to the test effort completing, timing and dependencies of other planned tasks, the reliance on certain work products being produced.]
Dependency between |
Potential Impact of Dependency |
Owners |
[List any assumptions made during the development of this Master Test Plan that may affect its successful execution if those assumptions are proven incorrect. Assumptions might relate to work you assume other teams are doing, expectations that certain aspects of the product or environment are stable, and so forth].
Assumption to be proven |
Impact of Assumption being incorrect |
Owners |
[List any constraints placed on the test effort that have had a negative effect on the way in which this Master Test Plan has been approached.]
Constraint on |
Impact Constraint has on test effort |
Owners |
[Outline what processes and procedures are to be used when issues arise with the Master Test Plan and its enactment.]
[Define any management and procedural aspects of the measurement and assessment strategy outlined in Section 5.1 Measuring the Extent of Testing .]
[Outline the assessment process for reviewing and accepting the deliverables of this Master Test Plan]
[Define how process problems will be reported and escalated, and the process to be followed to achieve resolution.]
[Outline the management control process for a test cycle.]
[Consider appropriate traceability strategies for:
- Coverage of Testing against Specifications enables measurement the extent of testing
- Motivations for Testing enables assessment of relevance of tests to help determine whether to maintain or retire tests
- Software Design Elements enables tracking of subsequent design changes that would necessitate rerunning tests or retiring them
- Resulting Change Requests enables the tests that discovered the need for the change to be identified and re-run to verify the change request has been completed successfully]
[Outline the approval process and list the job titles (and names of current incumbents) that initially must approve the plan, and sign off on the plans satisfactory execution.]