Last updated November 07, 2009 18:04, by Bruce Schubert
Feedicon  

<Iteration/Master> Test Plan

Introduction

Purpose

The purpose of the Iteration Test Plan is to gather all the information necessary to plan and control the test effort for the given iteration. It describes the approach to the testing of the software and is the top-level plan generated and used by the managers to direct the test effort

This Test Plan document for the <Project Name> supports the following 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.

Scope

[Describe the levels of testing (for example, Unit, Integration, or System, and the types of testing (such as Functionality, Usability, Reliability, Performance, and Supportability) that will be addressed by this Test Plan. It is also important to provide a general indication of significant areas that will be excluded from scope, especially where the intended audience might otherwise reasonably assume the inclusion of those areas.
Note, Avoid placing detail here that you will repeat in sections 3, Target Test Items, and 4, Outline of Planned Tests.]

Intended Audience

[Provide a brief description of the audience for whom you are writing the 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 often alters in relation to the intended audience.
This section should only be about three to five paragraphs in length.]

Document Terminology and Acronyms

[This subsection provides the definitions of any terms, acronyms, and abbreviations required to properly interpret the 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.]

References

[This subsection provides a list of the documents referenced elsewhere within the 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.]

Document Structure

[This subsection outlines what the rest of the 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.]

Evaluation Mission and Test Motivation

[Provide an overview of the mission and motivation for the testing that will be conducted in this iteration.]

Background

[Provide a brief description of the background surrounding why the test effort defined by this Test Plan will be undertaken. 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. Where this information is defined in other documents, you can include references to those other more detailed documents if appropriate. This section should only be about three to five paragraphs in length.]

Evaluation Mission

[Provide a brief statement that defines the mission for the evaluation effort in the current iteration. This statement 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 alters the way in which testing should be approached.]

Test Motivators

[Provide an outline of the key elements that will motivate the testing effort in this iteration. Testing will be motivated by many things quality risks, technical risks, project risks, use cases, functional requirements, nonfunctional requirements, design elements, suspected failures or faults, change requests, and so forth.]

Target Test Items

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. Consider grouping the list by category and assigning relative importance to each motivator.]

Outline of Planned Tests

[This section presents the recommended resources for the <Project Name> project, their main responsibilities, and their knowledge or skill set.]

Outline of Test Inclusions

[This section provides a high-level outline 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.]

Outline of Other Candidates for Potential Inclusion

[Separately outline test 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.]

Outline of Test Exclusions

[Provide a high level outline 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.]

Test Approach

[The Test Approach presents the recommended strategy for designing and implementing the required tests. Sections 3, Target Test Items, and 4, Outline of Planned Tests, identified what items will be tested and what types of tests would be performed. This section describes how those tests will be realized.
One aspect to consider for the test approach is the techniques to be used. This should include an outline of how each technique can be implemented, both from a manual and/or an automated perspective, and the criterion for knowing that the technique is 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 or addresses the Test Motivators.
Another aspect to discuss in this section is the Fault or Failure models that are applicable and ways to approach evaluating them.
As you define 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.]

Initial Test-Idea Catalogs and Other Reference Sources

[Provide a listing of existing resources that will be referenced to stimulate the identification and selection of specific tests to be conducted. An example Test-Ideas Catalog is provided in the examples section of RUP.]

Testing Techniques and Types

Function Testing

[Function testing of the target-of-test should focus on any requirements for test that can be traced directly to use cases or business functions and business rules. The goals of these tests are to verify proper data acceptance, processing, and retrieval, and the appropriate implementation of the business rules. This type of testing is based upon black box techniques; that is, verifying the application and its internal processes by interacting with the application via the Graphical User Interface (GUI) and analyzing the output or results. The following table identifies an outline of the testing recommended for each application.]
Technique Objective: [Exercise target-of-test functionality, including navigation, data entry, processing, and retrieval to observe and log target behavior.]
Technique: [Exercise each use-case scenario's individual use-cases flows or functions and features, using valid and invalid data, to verify that:
  1. the expected results occur when valid data is used
  2. the appropriate error or warning messages are displayed when invalid data is used
  3. each business rule is properly applied]
Oracles: [Outline one or more strategies that can be used by the technique to accurately observe the outcomes of the test. The oracle combines elements of both the method by which the observation can be mad, and the characteristics of specific outcome that indicate probable success or failure. Ideally, oracles will be self-verifying, allowing automated tests to make an initial assessment of test pass or failure, however, be careful to mitigate the risks inherent in automated results determination.]
Required Tools: [The technique requires the following tools:
  1. Test Script Automation Tool
  2. base configuration imager and restorer
  3. backup and recovery tools
  4. installation-monitoring tools (registry, hard disk, CPU, memory, and so on)
  5. data-generation tools]
Success Criteria: [The technique supports the testing of:
  1. all key use-case scenarios
  2. all key features
Special Considerations: [Identify or describe those items or issues (internal or external) that impact the implementation and execution of function test.]

Configuration Testing

[Configuration testing verifies the operation of the target-of-test on different software and hardware configurations. In most production environments, the particular hardware specifications for the client workstations, network connections, and database servers vary. Client workstations may have different software loaded (for example, applications, drivers, and so on) and, at any one time, many different combinations may be active using different resources.]
Technique Objective:Exercise the target-of-test on the required hardware and software configurations to observe and log target behavior under different configurations and identify changes in configuration state.]
Technique: [Use Function Test scripts.
  • Open and close various non-target-of-test related software, such as the Microsoft Excel and Word applications, either as part of the test or prior to the start of the test.
  • Execute selected transactions to simulate actors interacting with the target-of-test and the non-target-of-test software.
  • Repeat the above process, minimizing the available conventional memory on the client workstation.]
Oracles: [Outline one or more strategies that can be used by the technique to accurately observe the outcomes of the test. The oracle combines elements of both the method by which the observation can be made and the characteristics of specific outcome that indicate probable success or failure. Ideally, oracles will be self-verifying, allowing automated tests to make an initial assessment of test pass or failure, however, be careful to mitigate the risks inherent in automated results determination.] Required Tools:
  • base configuration imager and restorer
  • installation-monitoring tools (registry, hard disk, CPU, memory, and so on
Success Criteria: [The technique supports the testing of one or more combinations of the target test items running in expected, supported deployment environments.]
Special Considerations:
  • What non-target-of-test software is needed, is available, and is accessible on the desktop?
  • What applications are typically used?
  • What data are the applications running; for example, a large spreadsheet opened in Excel or a 100-page document in Word?
  • The entire systems' netware, network servers, databases, and so on, also need to be documented as part of this test.]
  • Mysql
  • Glassfish
  • Jruby
  • Rails
  • Nblogo
Terms of Use; Privacy Policy;
© 2010, Oracle Corporation and/or its affiliates
(revision 20120518.3c65429)
 
 
Close
loading
Please Confirm
Close