Model-Based Testing Community | Connecting the MBT world…



Model-based Testing for Software Product Lines

Software Product Line Engineering provides one of the most promising approaches to improve reusability of software, which is used in a large number of similar software products. Due to the variability within a Software Product Line, testing Software Product Lines is very challenging in comparison to single system testing. Several model-based testing approaches for Software Product Lines exist due to the fact that models can be reused and adapted easily and are suitable to describe variability.

Frequently, statecharts, activity diagrams, and sequence diagrams are used for model-based testing. CADeT [1], ScenTED [2] and Hartmann et al. [3] use activity diagram-based test models including variability. The test cases are then adapted for each individual product. Weißleder et al. [4] and MoSo-PoLiTe [5] use a state machine/statechart as a test model that describes the functionality of the entire Software Product Line under test. In [4], the tool ParTeG is then applied for automatic test case generation. In MoSo-PoLiTe, the test model is currently maintained in Rational Rhapsody and test cases are generated using ATG [6].

The following slides provide a schematic representation of the aforementioned test methodologies.


To compare the aforementioned approaches we introduced a double-V-Model in [7]. The SPL V-Model presents two Vs, one for domain engineering and one for application engineering. In domain engineering artifacts are developed for reuse purposes whereas application engineering is responsible for the development of individual products e.g. by reusing artifacts developed during domain engineering.

All approaches focus on system testing purposes and use test models representing the system requirements of the SPL. These test models are then used to derive product specific test cases. On the last slide, the different test approaches are compared with regard to different criteria such as test inputs, automation for test case generation, and coverage criteria. For a more detailed summary of model-based testing approaches for Software Product Lines we refer to [7].


Literature references:

[1] E. M. Olimpiew. Model-Based Testing for Software Product Lines. PhD thesis,
George Mason University, 2008.

[2] A. Reuys, E. Kamsties, K. Pohl, and S. Reis. Model-based System Testing of
Software Product Families. In CAiSE, pages 519{534, 2005.

[3] J. Hartmann, M. Vieira, and A. Ruder. A UML-based Approach for Validating
Product Lines. In B. Geppert, C. Krueger, and J. Li, editors, Proceedings of
the International Workshop on Software Product Line Testing (SPLiT 2004),
pages 58-65, 2004.

[4] S. Weißleder, D. Sokenou, and B. H. Schlinglo . Reusing State Machines for
Automatic Test Generation in Product Lines. In Proceedings of the 1st Workshop
on Model-based Testing in Practice (MoTiP2008), 2008.

[5] S. Oster, F. Markert, and P. Ritter. Automated Incremental Pairwise Testing
of Software Product Lines. In Proceedings of the 14th International Software
Product Line Conference, 2010.

[6] S. Oster, I. Zorcic, F. Markert, M. Lochau: “MoSo-PoLiTe – Tool Support for Pairwise and Model-Based Software Product Line Testing“, in: K. Czarnecki, U. Eisenecker (eds.), 5th International Workshop on Variability Modelling of Software-Intensive Systems, Namur, Belgium, New York: ACM Press, 2011; ACM International Conference Proceedings Series, 79–82.

[7] S. Oster, A. Wübbeke, G. Engels, A. Schürr: “Model-Based Software Product Lines Testing Survey“, in: J. Zander, I. Schieferdecker, P. Mosterman (eds.): Model-based Testing for Embedded Systems, CRC Press/Taylor & Francis, 2011, to appear.




No comments yet.

Leave a Reply



Theme Design by
© by MBT Community 2011