Information Technology Reference
In-Depth Information
is guided by a V-model as shown in Figure 9.11 (cp. [102, p. 16ff.],
[92, p. 106ff.]).
The correctness of each individual class of the example imple-
mentation is verified by unit tests (also known as module tests or
component tests). By definition, a unit is the smallest testable part
of an application. Therefore, the unit tests designed for the example
implementation cover only a single method at a time. Although the
invocation of a single method will usually trigger secondary method in-
vocations, the objective of a single unit test case is to test only exactly
one method. Additionally, by definition unit testing only tests the
functionality of units themselves and will not catch integration errors,
or broader system level errors (such as functions performed across
multiple units, or non-functional test areas such as performance).
Whereas the V-model usually proposes a 4-step approach of in-
tegration (unit tests, integration tests, system tests and acceptance
tests), development and test of the example implementation follows
a tailored 2-step approach. Unit tests are used extensively to ensure
correct functionality of single modules. All unit tests (326 tests, test
coverage of packages varies between 42 and 97 %) passed successfully.
The subsequent integration and system tests to ensure correct
functionality of multiple units and the whole simulation engine are
combined into a single test step. The reason for this is that integration
tests are simply not necessary as the system as a whole is not that
complex and big. Separately defining and executing these kinds of
tests seems not to improve test coverage. As shown in Figure 9.11
the system tests address the whole simulation engine. The system
tests are based on a Tileworld-model (see following section for model
details) and verify the conformance of a specific implementation of a
simulation engine with the definitions of the GRAMS reference model.
Actually, the system tests ensure that the state trajectories produced
by the presented simulation engines are identical. Instead of only
testing the equality of the final states produced by the simulation
engines, the system tests check whether all states of a simulation
produced by the simulation engines are identical. As expected the
Search WWH ::




Custom Search