focus on a functional behaviour of a single module,
and capture just a portion of system behaviour (e.g.,
a software component). Such a test may consists of
many primitive statements, for example value assign-
ments, loops, and use of test data from external files.
In many cases, specifying such tests with textual no-
tation would be more practical for test engineers. Sec-
ond, the scope: UML, which is used to specify a
system under test in UTP, provides a large and com-
plex set of elements and features. The main problem
here is that the same concepts can be often defined
in UML in many different ways. This poses a chal-
lenge to synthesizing the concrete test code, because
explicit checks have to be performed in order to en-
sure that test engineers are prevented from specifying
tests which include fragments of UML that cannot be
technically synthesized.
In this paper, we propose a textual domain-
specific language (DSL) that allows to specify tests
from the UML Testing Profile (UTP) – UTP-based
Testing Language, Ubtl. The main contribution here
is that only particular aspects of UTP are captured,
thereby allowing the MDD process to be narrowed to
specific needs, such as supporting code generation fa-
cilities for certain types of tests or even specific state-
ments within tests for example. In response, using
the proposed DSL, the test engineer is constrained to
work with only a sub-set of UTP and UML features
for which the corresponding synthesis (code genera-
tion) functionality is provided. We report in the end
of the paper the applicability of DSL and its perfor-
mance within a MDD synthesis process.
The remainder of this paper is structured as fol-
lows: the next section provides a brief overview over
relevant related studies. In Section 3, the proposed
DSL (Ubtl) with the main language features is intro-
duced. Later, in Section 4, a use case demonstrating
the applicability of Ubtl is described. This section
further gives a short evaluation of performance of an
MDD process in which Ubtl is used. Finally, conclud-
ing remarks are given in Section 5.
2 RELATED WORK
In the following, we briefly summarize some relevant
studies that in particular focus on models and lan-
guages for testing complex technical systems.
One of the first, and most notable, models for
software and system testing is the UML Testing Pro-
file (UTP). UTP is standardized by the Object Man-
agement Group, (Object Management Group (OMG),
2013), and offers well-thought-out concepts for spec-
ifying test cases in UML (Object Management Group
(OMG), 2014). Although the underlying test model
is based on UML, UTP is not restricted to object-
oriented design. For instance, it has been used in the
context of resource-constrained real-time embedded
systems (Iyenghar et al., 2011), for testing web ap-
plications running in web browsers (Bagnato et al.,
2013) or for testing protocols (Kumar and Jasperneite,
2008). The key concept is the usage of UML classes,
tagged with the stereotype TestContext, as entry point
and container for test cases and optional test config-
uration, while the concrete test cases are specified as
UML interactions, which could be visualized for in-
stance as sequence diagrams. UTP is mainly used
with the graphical syntax of UML in order to spec-
ify the different parts of its elements and features.
As explained previously, UTP can be used on all lev-
els of the well-known V-Model, (Baker et al., 2008),
however, with some difficulties in modelling and code
synthesis.
UTP is strongly influenced by the Testing and Test
Control Notation version3 (TTCN-3), which is a DSL
similar to our Ubtl. However, the main difference be-
tween Ubtl and TTCN-3 is that TTCN-3 test cases are
meant to be used by the (domain-specific) standard-
ized test architecture, (ETSI, 2014b). It is not fore-
seen to translate a TTCN-3 test case to other test plat-
forms, for instance JUnit. Further, there is no stan-
dardized meta-model as an intermediate representa-
tion. A possible meta-model has been discussed by
(Schieferdecker and Din, 2004). However, it depends
on the tool vendors how the transformation is actu-
ally implemented and which programming languages
or platforms are supported.
Recently, the abstract syntax of the Test Descrip-
tion Language (TDL) has been released and stan-
dardized by ETSI, (ETSI, 2014a). TDL offers con-
cepts similar to UTP, but with a simpler meta-model
than UML. That limits the possible interpretations of
the concepts and semantics, which is a problem with
UML due to the complexity and different ways to
specify the same thing. Currently, there is an im-
plementation of the TDL meta-model based on the
Eclipse Modeling Framework (EMF, (Eclipse Foun-
dation, 2014c)), provided by ETSI, (ETSI, 2014a). It
is planned to standardize a concrete graphical syntax,
(Ulrich et al., 2014). Depending on the maturity of
TDL, i.e., if in the future the standardized meta-model
will be used by the industry more intensively and if
that results in emergingof several compatible tools, in
our opinion, it should be theoretically possible to au-
tomatically transform the generated UML/UTP mod-
els to TDL models.
In the literature, several other approachesfor spec-
ifying test cases have been proposed based on mod-
MODELSWARD2015-3rdInternationalConferenceonModel-DrivenEngineeringandSoftwareDevelopment
100