Arcade Game Maker Pedagogical Product Line: Unit Test Plan Template
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.
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.
For definitions of basic concepts, see Arcade Game Maker Pedagogical Product Line: Acronym List/Glossary.
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].
- Test Items
- Tested Features
- Features Not Tested (Per Cycle)
- Testing Strategy and Approach
- Description of Functionality
- Arguments for Tests
- Expected Output
- Specific Exclusions
- Success/Failure Criteria for Test Cases
- Pass/Fail Criteria for the Complete Test Cycle
- Entrance and Exit Criteria
- Test Suspension Criteria and Resumption Requirements
- Test Deliverable and Status Communication Vehicles
- Testing Tasks
- Hardware and Software Requirements
- Problem Determination and Correction Responsibilities
- Staffing and Training Needs/Assignments
- Test Schedules
- 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].
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.
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.
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.