unit (or integration) tests. To improve the efficiency
of this model-based testing approach even beyond the
classical introduction of abstraction, the principle of
mutation-based testing was applied. Here, the test
models are slightly modified by a mutation algorithm.
Afterwards, the test case generator produces test
sequences which uncover observable deviations in
the behaviour of these mutants. The intention of this
approach is to improve testing efficiency by
increasing the test coverage rate for the generated test
cases in comparison to a more straightforward
mapping of the test model to a test suite. More details
can be found in (Aichernig, et al., 2014), where the
approach as such has been verified successfully. For
instance, the quality and efficiency of several types of
auto-generated test suites has been evaluated and a
more efficient mutation-based test case generation
algorithm with a significantly reduced runtime has
been developed (Jöbstl, 2014), (Aichernig et al.
2015).
Despite its illustrated usefulness, however, the
industrial adoption of the approach remained limited.
An obvious indicator was the low number of
modelled devices during the project and the amount
of time needed to correctly specify a device model.
For instance, the creation of an initial model took
roughly 12 hours, followed by an additional 40 hours
for fine-tuning and bug-fixing. This estimate does not
include the effort of familiarizing oneself with the
overall model-based testing approach, as well as the
modelling tools, which took 6 additional hours. This
was despite the use of a standard modelling language
(UML) and a standard compliant tool (Papyrus).
In the following, we are analysing possible root
causes of the limited adoption by evaluating the
applied methods of the TRUFAL project against
some of the MDE micro injection paradigms and
characteristics. First, we raise the question if there
was a clear separation of the application and the
introduction of the TRUFAL methodologies. One
could argue that this separation was indeed present
for the following reason: a team of modelling
advocates put reasonable effort on the definition of
the right abstraction for device modelling to fit the
requirements of the mutation-based test case
generation approach. Only due to their expertise, an
adequate level of abstraction was found to fulfil the
project’s aims of automated, reproducible test-case
generation with reasonable test coverage. So, the
baseline for a successful application was set.
However, is such a baseline enough for a successful
introduction?
To answer this question, we examine the
desirability of the approach. In case of the TRUFAL
project, this examination remains inconclusive, since
the end-users have neither been interviewed, nor were
otherwise involved in the design phase. Instead, they
were confronted with model structures, which fulfil
the requirements of the test case generator to enable a
successful evaluation of mutation-based test case
generation methodology but not necessarily reflected
the test engineer’s way of thinking. This led to
scepticism against this approach, which is quite the
opposite of desirability. One could argue that
corresponding modelling courses would bridge this
gap, another could argue that it is still advisable to
minimize the gap by a more suitable language design.
However, since this was considered to be outside the
scope of the TRUFAL project, the corresponding
MDE injection has turned out not to be very viral.
If the MDE injection was not viral, did it at least
fulfil the characteristic of small doses to avoid
negative side-effects? In case of the TRUFAL
project, the test models have been based on UML
state machines and class diagrams, which were
implemented in the UML modelling tool Papyrus.
However, it was as well beyond the scope of the
project to analyse, which subset of these UML
diagrams would be sufficient for test case generation
(e.g. by applying a UML profile) or how Papyrus
needs to be tailored (e.g. limiting menu entries to
those needed by the involved diagram types).
Consequently, the end-users were confronted with a
full-fledged UML tool. Due to the feature-richness of
both the tool and the UML language they had to learn
the semantics of UML first and map their intuitive
view of individual device tests to an appropriate UML
representation using the correct tool features.
Additionally, the underlying test case generator
required some additional model features (specifically,
class diagrams) to specify the test interface. The end-
user had to be aware of all these issues in order to
create a test model suitable for test case generation.
Any mistake led to an obscure failure of the test case
generation process, the root cause of which was hard
to evaluate. Due to limited user guidance by the
model editor, considerable efforts were needed to
train the end-users, which contradicts the MDE micro
injection characteristic of a small dosage. Incorrect
models and misinterpretations of model semantics
caused frustration and led to the subjective
impressions among the test engineers that MDE
introduces complexity rather than diminishing it.
Due to the lack of a UML profile, it could be
argued that defining one would have avoided this
situation. However, defining such a profile does not
intrinsically imply that the right elements are selected
and, even if so, that the semantics of the profile
IndTrackMODELSWARD 2018 - MODELSWARD - Industrial Track
646