Behavioural model-based testing of software product lines

Student thesis: Doc typesDoctor of Sciences

Abstract

SPL engineering is a sub-discipline of software engineering based on the idea that products of the same family can be built by systematically reusing assets, some of them being common to all members whereas others are only shared by a subset of the family. Since the inception of SPL engineering, concerns about testing SPLs emerged. The large number of possible products that may be derived from a SPL induces an even larger set of test cases, which makes SPL testing a very challenging activity. Past research focused on how to reuse testing assets from one product to another. In order to find as much bugs as possible without testing all the products, sampling techniques (like CIT for SPLs) produce a representative subset of products to test in priority. They work in a family-based fashion by reasoning on a variability model of the product line. However they do not take other aspects, like behaviour of the products, into account.

In this thesis, we present a testing framework to perform family-based SPL behavioural model-based testing. We rely on FTS, a compact formalism to represent the behaviour of a SPL, to perform various testing activities. Test case selection and prioritization are driven by the behavioural aspect of the SPL and may be done using three kinds of selection criteria: structural coverage criteria are based on the structure of the FTS; dissimilarity criteria seek to increase diversity amongst the selected test cases; and statistical criteria consider the usage of the system to drive the selection. Mutation analysis is performed using our FMM and includes equivalent mutants detection at the model level. The result is a set of relevant test cases selected at the family level that may be used to define products to test in priority.

These approaches have been implemented in an open-source VIBeS framework and evaluated on various models of different sizes, representing embedded systems and web-applications. Results demonstrate the applicability of FTSs to select and prioritize test cases and to perform mutation analysis, and confirm the relevance of combining variability models and behavioural models to enhance SPL model-based and mutation testing.
Date of Award30 Aug 2017
LanguageEnglish
Awarding Institution
  • University of Namur
SupervisorPierre-Yves Schobbens (Supervisor), Patrick Heymans (Supervisor), Vincent Englebert (President), Benoit Baudry (Jury), Myra B. Cohen (Jury), Axel Legay (Jury) & Gilles Perrouin (Jury)

Keywords

  • model-based testing
  • software product line engineering
  • software testing
  • NADI

Cite this

Behavioural model-based testing of software product lines
Devroey, X. (Author). 30 Aug 2017

Student thesis: Doc typesDoctor of Sciences