Test Selection Model for Highly Configurable Systems

Modern software systems contain a degree of variability. This variability is necessary to fit the software onto a customer’s needs and an already existing context. The variability is modeled by features. These features capture the functionalities of a software product. In practice, there are dependencies between some features and also optional features. The variability results in different software configurations with different parameter settings that configure a software. Such systems are called highly-configurable systems (HCSs). As always in software development, there is the need to test the code and the artifacts to ensure usability in different usage contexts. HCSs are challenging to thoroughly test. There exist different strategies on how to deal with the variability in the testing context. Therefore, we develop a concept that takes in a configuration from a customer to automatically select tests depending on the required software features in this thesis. For the test selection, we create a model of the software and define the possible software configurations and feature selection. With the model and a concrete configuration, we automatically compute which tests need to succeed for a certain feature-selection given by the configuration. We implement this concept in a company context and test it on different configurations for a real-life software artifact. We evaluate the concept and the realization with a user interview and test it with in the field used configurations.

Project information



Thesis for degree:



Caspar Zecha