Information Technology Reference
In-Depth Information
Mutation testing is a way of assessing
and improving a test suite by checking
if its test cases can detect a number of
injected faults in a program. The faults
are introduced by syntactically changing
the source code following patterns of typ-
ical programming errors [10,9]. However,
in MOGENTES we apply model-based
mutation testing. The idea is to mutate
the models and generate those test cases
that would kill a set of mutated mod-
els. The generated tests are then executed
on the SUT and will detect if a mu-
tated model has been implemented. Hence,
model-based mutation testing tests rather
against non-conformance than for confor-
mance. In terms of epistemology, we are
rather aiming for falsification than for
verification. It is a complementary fault-
centered testing approach, well-suited for
dependability analysis.
In the past, we have successfully applied model-based mutation testing to test
communication protocols: e.g., HTTP [3] and SIP [18]. Furthermore, we have
investigated its semantic foundations [4]. In this paper we extend our model-
based mutation testing approach to models of hybrid systems. Hybrid systems
involve discrete and continuous state updates as typically found in controllers
interacting with a physical environment. Many embedded systems interact with
a continuous environment and hence there is a strong interest in applying model-
based testing to such systems.
The key technique is abstraction. Note that our models are abstract test mod-
els capturing the requirements. They are not implementation models for code
generation as, e.g., found in model-driven development. The requirements of
hybrid systems are largely qualitative and hence, as testers we are mainly in-
terested in the qualitative changes of the system over time. As a consequence,
in our test models we are able to abstract away from continuous environmental
changes to qualitative changes. We use techniques from the field of Qualitative
Reasoning (QR) [13] to model and reason over the qualitative behavior of the
continuous environment. In QR modeling, numerical values are abstracted to rel-
evant qualitative symbolic values. The behavior of these models is described in so
called Qualitative Differential Equations. In order to model both, the controller
and the environment, we have integrated these Qualitative Differential Equa-
tions into classical Action System before [2]. We call this extension Qualitative
Action Systems (QAS).
The main contribution of this paper is the new combination of model-
based mutation testing and qualitative reasoning. This involves a new test case
Fig. 1. Model-based testing: (1) a
tester develops a model of the system
under test, (2) test cases are gener-
ated from the model, (3) the test cases
are executed on the system under test
(SUT) to check for conformance
 
Search WWH ::




Custom Search