Test Plan

Mission Targets Workflow Deliverables Tests
Unit Test   Integration Test  System Test   Installation Test

Mission

Testing focuses primarily on the evaluation or assessment of quality of the software product. It involves: 


Target test items

Test targets include:


Testing workflow

A detailed description of the testing workflow is available in the RUP; only a brief outline is summarised below.

Unit tests are frequently executed by the implementer during the development process, to trap coding faults at the earliest possible stage.

The Unit Test Suite of each package is executed before issuing a package tag to be submitted to the integration process.

Integration and System Tests are executed at every build of a package or component.

Installation Test is executed in preparation of every public release.


Test deliverables

Test code is available in the Toolkit repository. Unit and system tests are distributed as part of any public Toolkit release.

Test reports are distributed to the developers whenever the execution of unit test suite or the integration/system tests fail in a nightly build or in a release preparation build.

Test result summaries, demonstrating the correct functionality of the toolkit, are included as part of the documentation of a Toolkit release.


Tests

Unit Test

Each unit (in general, corresponding to a single class) of the Statistical Toolkit is tested through a dedicated test.
The unit test associated to a class verifies its correct functionality in a set of appropriate test cases, covering all the functionality the class provides. A unit test should provide a comprehensive yes/no response, covering all its test cases, to be used for an automated execution process.

The implementer of each class is responsible for the development and the execution of the corresponding unit test. Unit tests are developed in parallel with the class code development, with an iterative and incremental process, and are frequently executed by the implementer during the development process, to trap coding faults at the earliest possible stage.

An automated process is set up to execute all the unit tests associated to a package. The Package Coordinator is responsible to execute all the unit tests pertinent to the package before issuing a package tag to be submitted to the integration process.
Test failures are reported to the developers for prompt correction of their causes.

Integration Test

The Integration Test verifies the correct integration of the classes belonging to a package or a set of packages belonging to a component. It may include one or more tests.

At the current stage of the development the integration process uses system tests also as integration tests.

System Test

The target is the end-to-end functioning of the system. Due to the component-based architecture of the Statistical Toolkit, the System Test is split into testing each individual component.

Dedicated testers are responsible for the development of system tests. The Component Coordinator is responsible to execute all the system tests pertinent to a component before issuing a component tag to be submitted to the release process.

Installation Test

This test verifies the correctness and adequacy of the user documentation to download and install a release of the Statistical Toolkit at a remote site. It is performed by executing the download and installation procedures as described in the user documentation. The installation procedure includes running all the unit and integration tests.

The Release Coordinator is responsible to execute the installation test.


Last modified 03 March 2006 - Maria Grazia Pia