Feature Model-based Testing – an MBT approach?
Feature models are frequently used to present the commonalities and variabilities within variant rich systems such as Software Product Lines (SPLs). Feature Models are initially created during the requirements analysis where each feature ‘represents a system property that is relevant to some stakeholder’ . Utilizing a hierarchical structure, different notations and cross tree dependencies feature models are able to determine which feature combinations or products are permitted and which are forbidden.
Our arguments to involve feature models within testing activities are:
- Feature models provide a hierarchical and structured representation of the SPL requirements. Thus, it seems to be promising to benefit from such a representation of SPL requirements for testing purposes. Algorithms ensuring a certain degree of requirements coverage within product derivation can take advantage of the feature model.
- The Feature Oriented Software Development community (FOSD)  uses the features of a feature model as fundamental artefacts within the development process of variant rich systems such as SPLs. There, the features are linked to various different artifacts such as code fragments, behavioral models, requirements, specifications, documentations and tests.
Please note that the feature model is not capable to serve as a behavioral model. Thus, they cannot be used for ordinary test case generation such as state machines. However, since they provide a structured representation of the requirements including constraints and dependencies they can be used to select feature combinations to test against certain requirements.
Obviously feature modelling can support test activities while testing SPLs. Even if they cannot be directly used for test generation, can we also speak of model-based testing here? Several research groups have already introduced MBT methods and tools for testing SPL. There exist also first empirical evidence for the benefits and boundaries of MBT in SPL . What is your opinion on SPLs and MBT?
Interested in this topic? Feel free to comment this post.
 Czarnecki, K., Helsen, S., Eisenecker, U.: Staged conguration through specialization
and multilevel conguration of feature models. Software Process: Improvement
and Practice 10 (2) (2005) 143–169.
 S. Oster, A. Wübbeke, G. Engels, A. Schürr: “A Survey of Model-Based Software Product Lines Testing“, in: J. Zander, I. Schieferdecker, P. Mosterman (eds.): Model-based Testing for Embedded Systems, CRC Press/Taylor & Francis, 2011, 339–381.
Note: to appear, accepted for application