Pedagogical Product Line
Overview
Business Case
Scope
Requirements
Concept of Operations
Architecture
Unit Test Plans
Production Plans
System Test Plans
Brickles Product
Pong Product
Bowling Product
Bibliography
Glossary
Misc Documents

Arcade Game Maker Pedagogical Product Line: Unit Test Plan Template

Overview

Identification

The Arcade Game Maker (AGM) product line organization will produce a series of arcade games ranging from low to high obstacle count with a range of interaction effects. For more details about AGM products, see Arcade Game Maker Pedagogical Product Line: Scope.

Document Map

The AGM product line is described in a series of documents that are related as shown in the following figure. This interactive map shows the order in which the documents should be read for the first time. After readers are familiar with the documents, they can go directly to the information needed. The map is available online. Click on its icons to access AGM documents. This document is the unit test plan template, which is based on the report by McGregor [McGregor 01b]. Product line organizations use it to capture how each code unit is tested.


Document Map

Concepts

For definitions of basic concepts, see Arcade Game Maker Pedagogical Product Line: Acronym List/Glossary.

Readership

This document is intended primarily for core asset development teams. Managers can use it to determine what resources are needed to test assets, and technical team members can use it to develop a complete unit-specific test plan.

Template for the Test Plan

The AGM product line organization based its test plans on the Institute of Electrical and Electronics Engineers (IEEE) 829 standard. Each test plan will include the 15 sections listed below. For more details, see McGregor's report [McGregor 01b].

  1. Introduction
  2. Test Items
  3. Tested Features
  4. Features Not Tested (Per Cycle)
  5. Testing Strategy and Approach
    1. Syntax
    2. Description of Functionality
    3. Arguments for Tests
    4. Expected Output
    5. Specific Exclusions
    6. Dependencies
    7. Success/Failure Criteria for Test Cases
    8. Pass/Fail Criteria for the Complete Test Cycle
  6. Entrance and Exit Criteria
  7. Test Suspension Criteria and Resumption Requirements
  8. Test Deliverable and Status Communication Vehicles
  9. Testing Tasks
  10. Hardware and Software Requirements
  11. Problem Determination and Correction Responsibilities
  12. Staffing and Training Needs/Assignments
  13. Test Schedules
  14. Risks and Contingencies

Analyses and Standards

This section describes the techniques and agreed-upon standards used to test each component in the AGM product line. For justification and context, see the report by McGregor [McGregor 01b].

Coverage Standards

Functional Test Cases

For each service on a component, construct a test case for every clause of the postcondition. Test the unit invariant before and after each service invocation. Testing can be done in conjunction with the service test cases.

Structural Test Cases

Construct a test case for each sequence of statements. Optimize this effort by first executing the functional tests while running a code-coverage tool. Then construct test cases to cover sequences of statements that were not covered by the functional test cases. Be certain that this test case includes all exceptional sequences.

Analyses

Test Suite Construction

The AGM product line organization has decided to use the test case selection techniques described by McGregor [McGregor 01b]. Read the report before constructing test suites.

Incremental Test Analyses

After the initial test suites have been created, different techniques are used to maintain the test suites. These techniques should be applied every time the unit is changed.

Change Impact Analysis. Use the results from the change impact analysis that was conducted by the developers. That analysis will have identified those portions of the asset that will be modified when the change is implemented.

Diff. Use a tool such as diff to show the exact difference between two versions of the unit so that tests can be modified to address only those differences.

Modifying the Unit Test Plan

Modify a specific unit test plan every time the unit being tested is changed using the techniques described in the Analysis section. Modify the generic unit test plan when it is shown that the techniques are not producing effective test cases and the standards are not producing satisfactory results. That modification process is shown in the following figure.


Attached Process

TE is computed for each unit test as shown below:

Identified defects are cataloged and then analyzed to determine their origin. At the end of a product line increment, the TE is computed on a component-by-component basis. When the average TE goes below 75%, make test coverage standards more comprehensive.

References and Further Reading

For details about the references cited in this document, see Arcade Game Maker Pedagogical Product Line: Bibliography.