tested (Petry et al., 2020; Machado et al., 2014;
Lamancha et al., 2013).
As testing all products is unfeasible, in this paper
we consider generating test sequences to be reused
during SPL generated products testing. To address
some of the above mentioned issues, we specified a
Model-Based Testing (MBT) approach, named SMar-
tyTesting, which uses UML sequence diagrams to
generate SPL test sequences. Such kind of diagram
contains variability modeled according to the SMarty
approach. We chose sequence diagrams due to its
large amount of details and the possibility to repre-
sent more variability than any other UML diagrams.
Therefore, we want to answer the following re-
search question: “Is SMartyTesting feasible to derive
test sequences from sequence diagrams?”
2 BACKGROUND AND RELATED
WORK
2.1 Software Product Lines and
Variability Management
A Software Product Line (SPL) is a set of systems that
share common and manageable characteristics (Pohl
et al., 2005). Pohl et al. (2005) developed a frame-
work for SPL engineering, which aims to incorporate
the core concepts of traditional product line engineer-
ing, providing artifact reuse and mass customization
through variability. Such framework is divided into
two main phases: Domain Engineering, in which
similarities and variability of SPLs are identified and
represented; and Application Engineering, in which
SPL-specific products are built by reusing domain ar-
tifacts, exploring the variability of an SPL.
Variability is the term used to differentiate prod-
ucts from an SPL. It is usually described by: i) vari-
ation point, which is a specific location in a generic
artifact; ii) variant, which represents the possible ele-
ments to be chosen to resolve a variation point and;
and, iii) constraints between variants, which estab-
lish relationships between one or more variants to re-
solve their respective variation points or variability
at a given resolution time (Pohl et al., 2005). There
are several approaches to manage variability, espe-
cially those based on UML (Raatikainen et al., 2019).
These include the Stereotype-based Management of
Variability (SMarty) (OliveiraJr et al., 2010).
The motivation for choosing SMarty among other
variability management approaches based on UML
notation, is that it can be easily extended, it has a
low learning curve, it supports many models, it is able
to represent variability information in UML elements
by using tagged values and stereotypes and, different
from other approaches, it defines a stereotype to rep-
resent inclusive variants.
SMartyProfile provides the following stereotypes:
<<variability>> to represent the concept of vari-
ability; <<variationPoint>> to represent a varia-
tion point; <<mandatory>> to represent variants
present in every product; <<optional>> to rep-
resent variants that might be present in a product;
<<alternative OR>> to represent variants of an in-
clusive group; <<alternative XOR>> to represent
variants of an exclusive group; <<mutex>> to de-
note the concept of mutual exclusion between two
variants; <<requires>> to represent variants that
need another one to be part of a product.
2.2 Model-Based Testing of SPLs
Model-Based Testing (MBT) aims to automate the
generation of test artifacts, e.g. test cases and test se-
quences, based on system models describing the soft-
ware requirements. The basic idea is to identify and
to build an abstract model that represents the behavior
of the System Under Test (SUT). Based on this model
it is possible to generate a large number of test cases
even in product modeling (Devroey, 2014).
Such test cases, which are derived from models,
are known as the abstract test suite, and their level
of abstraction is closely related to the level of model
abstraction (Isa et al., 2017). The advantages of the
MBT approach is that test generation starts early in
the development cycle and test cases can be created
automatically from a template. Test cases can be rep-
resented using Unified Modeling Language (UML)
(Isa et al., 2017) decision trees, statecharts, domain
ontologies, or use case diagrams and or states.
MBT can be applied to an SPL context. For exam-
ple, Machado et al. (2014) point out SPL tests should
be considered in Domain and Application Engineer-
ing. Within the interest of testing, two items should
be considered: the product requirements set and the
quality of the variability model under test.
Based on this scenario, one of the biggest chal-
lenges in SPL testing is related to the particularities
of each model. To this end, MBT seeks to create Do-
main Engineering models to generate test cases that
can be reused in the Application Engineering phase.
Machado et al. (2014), for example, focus on building
the early generation of SPL domain modeling tests.
ICEIS 2021 - 23rd International Conference on Enterprise Information Systems
166