B. K. Aichernig, H. Brandl, E. Jöbstl, W. Krenn, R. Schlick, and
S. Tiran
This article presents the techniques and results of a novel model-based test
case generation approach that automatically derives test cases from UML state
machines. The main contribution of this article is the fully automated
fault-based test case generation technique together with two empirical case
studies derived from industrial use cases. Also, an in-depth evaluation of
different fault-based test case generation strategies on each of the case
studies is given and a comparison with plain random testing is conducted. The
test case generation methodology supports a wide range of UML constructs and
is grounded on the formal semantics of Back's action systems and the
well-known input-output conformance relation. Mutation operators are employed
on the level of the specification to insert faults and generate test cases
that will reveal the faults inserted. The effectiveness of this approach is
shown and it is discussed how to gain a more expressive test suite by
combining cheap but undirected random test case generation with the more
expensive but directed mutation-based technique. Finally, an extensive and
critical discussion of the lessons learnt is given as well as a future
outlook on the general usefulness and practicability of mutation-based test
case generation. Copyright (c) 2014 John Wiley & Sons, Ltd.