Model-based testing of software product lines: Mapping study and research roadmap

https://doi.org/10.1016/j.jss.2020.110608Get rights and content

Highlights

  • Community is engaged at mitigating previous known challenges.

  • Panorama benefits researchers/practitioners on open issues and remaining challenges.

  • Valuable built roadmap for research/practitioners prospective works.

  • Remaining challenges are high roads for new research and industry practice.

  • Variability is still a huge challenge at model-based testing of product lines.

Abstract

Model-Based Testing (MBT) has been successfully applied to Software Product Lines (SPL). This paper provides a panorama of state-of-the-art on MBT of SPLs. We performed a systematic mapping for answering questions related with domains, approaches, solution types, variability, test case automation, artifacts, and evaluation. We built a roadmap from 44 selected studies. Main obtained results are: Software and Automotive domains are most considered; Black-box testing is widely performed; most studies have fully-automated support; variability is considered in most studies; Finite State Machines is the most used model to test SPLs; Behavioral-based and Scenario-based are the most used models; Case Studies and Experiments are used to evaluate MBT solutions and the majority is performed in industrial environments; traceability is not widely explored for MBT solutions. Furthermore, we provide a roadmap synthesizing studies based on used models, more formal artifacts, supporting tools, variability management, (semi-)automation, and traceability. The roadmap contributes to identify related primary studies based on given artifacts, variability management, tools, automation, and traceability techniques and to identify, from a given primary study, which artifacts, tools, variability management, automation and traceability techniques are related. Therefore, the roadmap serves as a guide to researchers and practitioners on how to model-based test SPLs.

Introduction

Software testing is an essential activity to improve products quality (Garousi and Mntyl, 2016). Due to increasing and important research on software design, models are the main target on software testing on early stages of software development. Design models might be created, for instance, to model software requirements and to describe the software architecture of a system (Ciccozzi, Malavolta, Selic, 2018, Kosar, Bohra, Mernik, 2016). Therefore, Model-Based Testing (MBT) becomes an alternative for software testing to discover faults in software design models, thus, reducing effort and costs in maintenance and evolution of software systems (Bernardino, Rodrigues, Zorzo, Marchezan, 2017, Gurbuz, Tekinerdogan, 2018, Minhas, Masood, Petersen, Nadeem, 2018). Fixing issues in source code, for example, might cost several times more than to fix something in early stage of software development, e.g. in models (van Megen and Meyerhoff, 1995).

MBT provides test cases from a model that describes aspects, usually functional, of the system being tested. These test cases are known as the abstract test suites, and their level of abstraction is closely related to the model abstraction level (Carmo Machado et al., 2014). Some of the advantages of MBT are: i) to begin the generation of test cases earlier in the software development lifecycle; and, ii) to create test cases automatically from such models.

Although MBT has demonstrated its effectiveness in testing single systems, it is a challenge to accomplish it to mass customization approaches, such as in Software Product Lines (SPL) (Pohl, Böckle, van der Linden, 2005, Linden, Schmid, Rommes, 2007). An SPL represents a set of systems sharing common and variable aspects for a given domain (Clements and Northrop, 2001). The SPL engineering is basically composed of two activities: domain engineering, which is responsible for creating reusable assets encompassing respective variabilities; and application engineering, in which such assets are instantiated by resolving variabilities and producing specific SPL products. SPLs are straightforward based on models, such as, features and variability, for representing their similarities and variable aspects (Raatikainen et al., 2019). Thus, models are inheriting parts of an SPL and they are a factor to determine its success. Low quality SPL models generate a higher cost of maintaining a software product (Engström and Runeson, 2011). In addition, testing all potential SPL products from the perspective of the domain engineering core assets is unfeasible, as widely discussed in the existing literature (Carmo Machado, Mcgregor, Cavalcanti, De Almeida, 2014, Lamancha, Polo, Piattini, 2013, Engstrom, Runeson, do Carmo Machado, Almeida, de Lemos Meira, 2011, Silveira Neto, Machado, McGregor, Almeida, Meira, 2011, Silveira Neto, Per Runeson, Almeida, de Lemos Meira, Engstrm, 2011).

One of main challenges in MBT of SPL is related to the particularities of each model, in which it is necessary to provide models within the SPL domain engineering, for later generation of test cases in the SPL application engineering (Carmo Machado, Mcgregor, Cavalcanti, De Almeida, 2014, Lamancha, Polo, Piattini, 2013, Engström, Runeson, 2011). Another great challenge is the SPL variability (Raatikainen, Tiihonen, Mnnist, 2019, Engström, Runeson, 2011, Capilla, Bosch, Kang, 2013). This challenge is due to the large number of specific products an SPL might derive. Therefore, testing all potential SPL specific products might become unfeasible (Carmo Machado, Mcgregor, Cavalcanti, De Almeida, 2014, Engström, Runeson, 2011). In this case, MBT must take into account SPL models with variability for generating test cases, then converting them into artifacts that can be tested and reused later, preserving their characteristics (Lamancha, Usaola, Velthius, 2010, Lamancha, Mateo, de Guzmán, Usaola, Velthius, 2009, Reales, Polo, Caivano, 2011). For this reason, MBT on SPLs is a promising research area.

Although several secondary studies have been published within the SPL testing context (Carmo Machado, Mcgregor, Cavalcanti, De Almeida, 2014, Garousi, Mntyl, 2016, Lamancha, Polo, Piattini, 2013, Engström, Runeson, 2011, Lee, Kang, Lee, 2012, Silveira Neto, Machado, McGregor, Almeida, Meira, 2011), they had a wider scope compared to MBT to SPL. For example, Razak et al. (2017) provide a superficial Systematic Mapping Study (SMS) on SPL, with no further relevant discussions.

Therefore, this paper extends previous works, through an SMS, with a panorama of current literature on MBT for SPL, as well as a roadmap based on such a panorama. Furthermore, this SMS contributes to systematically identify, summarize and evaluate the existing literature in order to find gaps in the area and to position new research and practice activities. Hence, this SMS helps:

  • New researchers in a structured understanding of the area by indexing the existing studies and by providing new research directions;

  • Practitioners to understand state-of-the-art artifacts tools, variability management techniques, automation, and traceability techniques and their appropriate usage to MBT of SPLs; and

  • To provide researchers and practitioners a roadmap on MBT of SPL.

The roadmap, which graphically depicts the analyzed panorama from the SMS, provides readers with the ability to identify which artifacts, tools, techniques and traceability adopted in each of the MBT of SPL stages. Thus, it provides researchers and practitioners a guidance at:

  • Identifying which artifacts (class diagram, state machine, sequence diagram, use case diagram, etc), supporting tools, variability management techniques, automation (full, semi, or manual), and traceability techniques have been used for deriving SPL MBT test sequences;

  • Given specific artifacts, tools, variability management techniques, automation and traceability techniques, to identify related primary studies that use them; and

  • Given a specific primary study, how to identify the artifacts, tools, variability management techniques, automation and traceability techniques it uses.

The first systematic mapping study on SPL testing was performed in 2011 by Engström and Runeson (2011) aimed at surveying existing research to identify useful approaches and needs for future research. In general, a majority of the analyzed studies are of proposal research types (64%). System testing is the largest group with respect to research focus (40%), followed by management (23%). Method contributions are in majority. Although such a mapping study covered general approaches for SPL testing, we can observe ours partially confirmed evidence provided by Engström and Runeson (2011) and add findings specific for MBT of SPLs.

On the contrary of the Engström and Runeson (2011) complains on lack of evidence (in about 90% of studies), our SMS found majority (79.5%) of the studies provide case studies or experiments as proposals evidence methods for MBT of SPLs. From such evidenced studies, most of them (59%) are in the industry sets. This means, for the MBT of SPL specific topic, actual evidence-based works grown in the last years, which is widely desired in this area. In addition, as SPL testing is costly, MBT of SPL researches are investing time and effort to provide more close-to-reality evidence.

Although the SMS of Engström and Runeson (2011) claim testability issues, especially related to the product line architecture (PLA) have an underdeveloped potential to be researched, in our SMS we found most of solution types are focused on testing the PLA (40.9%). We understand the topic of MBT of SPL concentrates most of its activities in early stages of SPL development, thus focusing most on the PLA and its models.

Our SMS found most of studies propose testing approaches (75%) as in Engström and Runeson (2011).

This paper is organized as follows. Section 2 discusses essential background and related work; Section 3 presents the research methodology adopted to conduct this study; Section 4 presents results of our SMS; Section 5 discusses results; Section 6 discusses validity evaluation of this study; Section 7 presents a roadmap of MBT applied to SPL; Section 8 discuss remaining challenges and open issues on MBT of SPL; and Section 9 presents final remarks.

Section snippets

Background and related work

This section presents essential concepts on Model-Based Testing of Software Product Lines (SPL). Related work is discussed at the end of this section.

Research methodology

We elaborated the research methodology following guidelines by Petersen et al. (2015) and Kitchenham et al. (2015).

Fig. 2 depicts the overview of our systematic mapping process.

We started our study by defining research questions (Section 3.1). Then, we performed the search process (Section 3.2) towards gathering an initial set of primary studies from several different sources. With this set of studies, we performed the selection process (Section 3.3) by filtering studies according to different

Results

This section presents our SMS results based on the characterization of the analyzed studies (Section 4.1) and the proposed research questions (Section 4.2).

Discussion of results

As we observed in Section 4, most of the analyzed studies are published from 2011 to 2014. In addition, we understand an increasing number of studies over the years and a fair distribution of them per year.

Majority of studies has high quality according to our defined criteria, thus significantly contributing to answer our research questions.

Each study contributed to answering at least two research questions, thus covering all research questions. Excepting RQ.4, which was answered by only S12.

Validity evaluation

This section discusses main threats to validity according to Ampatzoglou et al. (2019).

MBT4SPL: a roadmap for model-based testing research applied to SPL

In this section we present a roadmap,5 named MBT4SPL, as a result of mapping the Final List of studies with relation to the MBT process for SPLs.

To do so, we used results from Section 4 to build MBT4SPL. Such roadmap is composed of three main general stages as the main strategy to classify the retrieved studies as in Section 3.4.1: Early Stage based on the original artifacts; a Second Stage (optional), in which original high-level

MBT of SPL agenda

In this section, we discuss a research and practice agenda on MBT of SPL. Therefore, we list the main points that should be taken into consideration, such as, open issues and remaining challenges for future research.

Throughout this paper, we showed how models have been used during the main phases of MBT of SPLs. The main reported issue, in the examined literature, is still how to demonstrate the particularities of each used model. For example, several studies use sequence diagrams as an initial

Concluding remarks

This systematic mapping was performed to gather together an overview on Model-Based Testing of Software Product Lines. We analyzed 44 studies with regard to six research questions and answered each of these questions based on a set of pre-defined data extracted and schema. Then, we discussed the findings of this SMS mainly based on what the studies provide and what is missing for a complete MBT process at SPL level.

From the results, we built up a roadmap for researchers and practitioners to

Declaration of Competing Interests

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

CRediT authorship contribution statement

Kleber L. Petry: Conceptualization, Methodology, Formal analysis, Investigation, Data curation, Writing - original draft, Visualization. Edson OliveiraJr: Conceptualization, Methodology, Validation, Formal analysis, Data curation, Writing - original draft, Visualization, Supervision, Project administration. Avelino F. Zorzo: Methodology, Formal analysis, Writing - review & editing, Visualization, Supervision.

Kleber L. Petry is a professor of software development at the Senai Institute, Brazil. He holds a masters degree in computer science from the State University of Maringá. His main research interests are: software quality, information technology education, and active technology development.

References (97)

  • R. van Megen et al.

    Costs and benefits of early defect detection: experiences from developing client server and host applications

    Softw. Qual. J.

    (1995)
  • Weißleder, S., Lackner, H., 2013a. Top-down and bottom-up approach for model-based testing of product lines....
  • M. Al-Hajjaji et al.

    Incling: efficient product-line testing using incremental pairwise sampling

    ACM SIGPLAN Notices

    (2016)
  • S. Ali et al.

    A product line modeling and configuration methodology to support model-based testing: an industrial case study

    International Conference on Model Driven Engineering Languages and Systems

    (2012)
  • V. Alves et al.

    Comparative study of variability management in software product lines and runtime adaptable systems

    International Workshop on Variability Modelling of Software-Intensive Systems

    (2009)
  • H. Beohar et al.

    Input-output conformance testing based on featured transition systems

    Proceedings of the 29th Annual ACM Symposium on Applied Computing

    (2014)
  • Beohar, H., Mousavi, M. R., 2014b. Spinal test suites for software product lines....
  • M. Bernardino et al.

    Systematic mapping study on MBT: tools and models

    IET Softw.

    (2017)
  • E. Bringmann et al.

    Model-based testing of automotive systems

    2008 1st International Conference on Software Testing, Verification, and Validation

    (2008)
  • X. Cai et al.

    Model-based test generation for software product line

    Computer and Information Science (ICIS), 2013 IEEE/ACIS 12th International Conference on

    (2013)
  • R. Capilla et al.

    Systems and Software Variability Management: Concepts, Tools and Experiences

    (2013)
  • I. Carmo Machado et al.

    On strategies for testing software product lines: asystematic literature review

    Inf. Softw. Technol.

    (2014)
  • L. Chen et al.

    Variability management in software product lines: asystematic review

    International Software Product Line Conference

    (2009)
  • F. Ciccozzi et al.

    Execution of UML models: a systematic review of research and practice

    Softw. Syst. Model.

    (2018)
  • H. Cichos et al.

    Model-based coverage-driven test suite generation for software product lines

    International Conference on Model Driven Engineering Languages and Systems

    (2011)
  • P.C. Clements et al.

    Software Product Lines: Practices and Patterns

    (2001)
  • L.T. Costa

    Split-MBT: A Model-Based Testing Method for Software Product Lines

    (2016)
  • F. Damiani et al.

    A novel model-based testing approach for software product lines

    Softw. Syst. Model.

    (2017)
  • F. Damiani et al.

    Refinement-based testing of delta-oriented product lines

    Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools

    (2013)
  • X. Devroey

    Behavioural Model Based Testing of Software Product Lines

    (2014)
  • X. Devroey

    Behavioural Model-Based Testing of Software Product Lines

    (2017)
  • X. Devroey et al.

    A vision for behavioural model-driven validation of software product lines

    International Symposium On Leveraging Applications of Formal Methods, Verification and Validation

    (2012)
  • X. Devroey et al.

    Coverage criteria for behavioural testing of software product lines

    International Symposium On Leveraging Applications of Formal Methods, Verification and Validation

    (2014)
  • X. Devroey et al.

    Abstract test case generation for behavioural testing of software product lines

    Proceedings of the 18th International Software Product Line Conference: Companion Volume for Workshops, Demonstrations and Tools-Volume 2

    (2014)
  • X. Devroey et al.

    Vibes, transition system mutation made easy

    Proceedings of the 37th International Conference on Software Engineering-Volume 2

    (2015)
  • M. Dukaczewski et al.

    Requirements-based delta-oriented SPL testing

    Product Line Approaches in Software Engineering (PLEASE), 2013 4th International Workshop on

    (2013)
  • E. Engstrom et al.

    Testing software product lines

    IEEE Softw.

    (2011)
  • M. Farrag

    Colored Model Based Testing for Software Product Lines (CMBT-SWPL)

    (2010)
  • R. Feldt et al.

    Four commentaries on the use of students and professionals in empirical software engineering experiments

    Empir. Softw. Eng.

    (2018)
  • V.H. Fragal et al.

    Reducing the concretization effort in FSM-based testing of software product lines

    2017 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)

    (2017)
  • B. García Gutiérrez et al.

    An automated model-based testing approach in software product lines using a variability language

    Workshop on Model-Driven Tool and Process Integration

    (2010)
  • B. García Gutiérrez et al.

    An automated model-based testing approach in software product lines using a variability language

    Third Workshop on Model-Driven Tool & Process Integration

    (2010)
  • C.S. Gebizli et al.

    Model-based software product line testing by coupling feature models with hierarchical Markov chain usage models

    Software Quality, Reliability and Security Companion (QRS-C), 2016 IEEE International Conference on

    (2016)
  • C.S. Gebizli et al.

    Successive refinement of models for model-based testing to increase system test effectiveness

    Software Testing, Verification and Validation Workshops (ICSTW), 2016 IEEE Ninth International Conference on

    (2016)
  • H.G. Gurbuz et al.

    Model-based testing for software safety: a systematic mapping study

    Softw. Qual. J.

    (2018)
  • B. Hasling et al.

    Model based testing of system requirements using UML use case models

    Software Testing, Verification, and Validation, 2008 1st International Conference on

    (2008)
  • C. Henard et al.

    Assessing software product line testing via model-based mutation: An application to similarity testing

    Software Testing, Verification and Validation Workshops (ICSTW), 2013 IEEE Sixth International Conference on

    (2013)
  • B. Kitchenham et al.

    Guidelines for performing Systematic Literature Reviews in Software Engineering

    Technical Report

    (2007)
  • Cited by (19)

    View all citing articles on Scopus

    Kleber L. Petry is a professor of software development at the Senai Institute, Brazil. He holds a masters degree in computer science from the State University of Maringá. His main research interests are: software quality, information technology education, and active technology development.

    Edson OliveiraJr is an associate professor of software engineering at the State University of Maringá (DINUEM), Brazil. He holds a Ph.D. degree in computer science from the University of São Paulo (ICMCUSP), Brazil. He was a visitor scholar at the University of Waterloo (UW), Ontario, Canada in 2009. He has a postdoctorate at PUCRS, Brazil. His research interests include: Software Product Lines, Software Process Lines, Variability Management, Software Architecture and Evaluation, Metrics, Modeldriven Engineering, UML and Metamodeling, and Empir. Softw. Eng.. He acts regularly as an associate editor of IET Software and Journal of Universal Computer Science, an editorial board and a reviewer in peerreviewed journals, and as a member of the technical program committee of several international peerreviewed conferences.

    Avelino F. Zorzo is member of the Brazilian Computer Society (SBC) and IEEE. Computer science BSc from Universidade Federal do Rio Grande do Sul (1989), Computer Science MSc from Universidade Federal do Rio Grande do Sul (1994) and Computing S-cience PhD from University of Newcastle Upon Tyne (1999). Post doctorate at the Cybercrime and Computer Security Centre at the Newcastle University (2012). Education Director at the Brazilian Computing Society (20152017). Coordinator for Professional Postgraduate accreditation for the Ministry of Education in Brazil (20142021). Main research topics: security, fault tolerance, software testing and operating systems.

    View full text