Advertisement

Incremental Model-Based Testing of Delta-Oriented Software Product Lines

  • Malte Lochau
  • Ina Schaefer
  • Jochen Kamischke
  • Sascha Lity
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7305)

Abstract

Software product line (SPL) engineering provides a promising approach for developing variant-rich software systems. But, testing of every product variant in isolation to ensure its correctness is in general not feasible due to the large number of product variants. Hence, a systematic approach that applies SPL reuse principles also to testing of SPLs in a safe and efficient way is essential. To address this issue, we propose a novel, model-based SPL testing framework that is based on a delta-oriented SPL test model and regression-based test artifact derivations. Test artifacts are incrementally constructed for every product variant by explicitly considering commonality and variability between two consecutive products under test. The resulting SPL testing process is proven to guarantee stable test coverage for every product variant and allows the derivation of redundancy-reduced, yet reliable retesting obligations. We compare our approach with an alternative SPL testing strategy by means of a case study from the automotive domain.

Keywords

Delta-oriented Software Product Lines Model-based Testing Regression Testing 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Agrawal, H., Horgan, J.R., Krauser, E.W., London, S.A.: Incremental Regression Testing (1993)Google Scholar
  2. 2.
    Asirelli, P., ter Beek, M.H., Fantechi, A., Gnesi, S.: A Model-Checking Tool for Families of Services. In: Bruni, R., Dingel, J. (eds.) FORTE 2011 and FMOODS 2011. LNCS, vol. 6722, pp. 44–58. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  3. 3.
    Bruns, D., Klebanov, V., Schaefer, I.: Verification of Software Product Lines with Delta-Oriented Slicing. In: Beckert, B., Marché, C. (eds.) FoVeOOS 2010. LNCS, vol. 6528, pp. 61–75. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  4. 4.
    Calder, M., Kolberg, M., Magill, E., Reiff-Marganiec, S.: Feature Interaction: A Critical Review and Considered Forecast. Computer Networks 41(1), 115–141 (2003)zbMATHCrossRefGoogle Scholar
  5. 5.
    Cichos, H., Oster, S., Lochau, M., Schürr, A.: Model-Based Coverage-Driven Test Suite Generation for Software Product Lines. In: Whittle, J., Clark, T., Kühne, T. (eds.) MODELS 2011. LNCS, vol. 6981, pp. 425–439. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  6. 6.
    Clarke, D., Helvensteijn, M., Schaefer, I.: Abstract Delta Modeling. Mathematical Structures in Computer Science (2011) (to appear)Google Scholar
  7. 7.
    Classen, A., Heymans, P., Schobbens, P.Y., Legay, A., Raskin, J.F.: Model Checking Lots of Systems: Efficient Verification of Temporal Properties in Software Product Lines. In: ICSE 2010 (2010)Google Scholar
  8. 8.
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley Longman Publishing Co., Inc. (2001)Google Scholar
  9. 9.
    Cohen, M., Dwyer, M., Shi, J.: Interaction Testing of Highly-Configurable Systems in the Presence of Constraints. In: ISSTA, pp. 129–139 (2007)Google Scholar
  10. 10.
    De Nicola, R.: Extensional Equivalence for Transition Systems. Acta Inf. 24, 211–237 (1987)zbMATHCrossRefGoogle Scholar
  11. 11.
    Engström, E., Skoglund, M., Runeson, P.: Empirical Evaluations of Regression Rest Selection Techniques. In: Proc. of ESEM 2008, pp. 22–31 (2008)Google Scholar
  12. 12.
    Fraser, G., Wotawa, F., Ammann, P.: Testing with Model Checkers: A Survey. Software Testing, Verification and Reliability 19(3), 215–261 (2009)CrossRefGoogle Scholar
  13. 13.
    Gupta, R., Jean, M., Mary, H., Soffa, L.: An Approach to Regression Testing using Slicing. In: Proceedings of the Conference on Software Maintenance. pp. 299–308. IEEE Computer Society Press (1992)Google Scholar
  14. 14.
    Kim, C.H.P., Batory, D.S., Khurshid, S.: Reducing Combinatorics in Testing Product Lines. In: AOSD 2011, pp. 57–68. ACM (2011)Google Scholar
  15. 15.
    Lochau, M., Goltz, U.: Feature Interaction Aware Test Case Generation for Embedded Control Systems. ENTCS 264, 37–52 (2010)Google Scholar
  16. 16.
    Lochau, M., Oster, S., Goltz, U., Schürr, A.: Model-based Pairwise Testing for Feature Interaction Coverage in Software Product Line Engineering. Software Quality Journal, 1–38 (2011)Google Scholar
  17. 17.
    da Mota Silveira Neto, P.A., do Carmo Machado, I., Cavalcanti, Y.C., de Almeida, E.S., Garcia, V.C., de Lemos Meira, S.R.: A regression testing approach for software product lines architectures. In: SBCARS 2010, pp. 41–50 (2010)Google Scholar
  18. 18.
    Olimpiew, E.M.: Model-Based Testing for Software Product Lines. Ph.D. thesis, George Mason University (2008)Google Scholar
  19. 19.
    Oster, S., Lochau, M., Zink, M., Grechanik, M.: Pairwise Feature-Interaction Testing for SPLs: Potentials and Limitations. In: FOSD 2011 (2011)Google Scholar
  20. 20.
    Oster, S., Markert, F., Ritter, P.: Automated Incremental Pairwise Testing of Software Product Lines. In: Bosch, J., Lee, J. (eds.) SPLC 2010. LNCS, vol. 6287, pp. 196–210. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  21. 21.
    Oster, S., Zorcic, I., Markert, F., Lochau, M.: MoSo-PoLiTe - Tool Support for Pairwise and Model-Based Software Product Line Testing. In: VAMOS 2011 (2011)Google Scholar
  22. 22.
    Perrouin, G., Sen, S., Klein, J., Le Traon, B.: Automated and Scalable T-wise Test Case Generation Strategies for Software Product Lines. In: ICST 2010, pp. 459–468 (2010)Google Scholar
  23. 23.
    Schaefer, I., Bettini, L., Damiani, F.: Compositional Type-Checking for Delta-oriented Programming. In: AOSD 2011. ACM Press (2011)Google Scholar
  24. 24.
    Schaefer, I., Gurov, D., Soleimanifard, S.: Compositional Algorithmic Verification of Software Product Lines. In: Aichernig, B.K., de Boer, F.S., Bonsangue, M.M. (eds.) FMCO 2010. LNCS, vol. 6957, pp. 184–203. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  25. 25.
    Schaefer, I., Hähnle, R.: Formal Methods in Software Product Line Engineering. IEEE Computer 44(2), 82–85 (2011)CrossRefGoogle Scholar
  26. 26.
    Szasz, N., Vilanova, P.: Statecharts and Variabilities. In: VAMOS 2008, pp. 131–140 (2008)Google Scholar
  27. 27.
    Tevanlinna, A., Taina, J., Kauppinen, R.: Product Family Testing: A Survey. ACM SIGSOFT Software Engineering Notes 29, 12–18 (2004)CrossRefGoogle Scholar
  28. 28.
    Thiel, S., Hein, A.: Modeling and Using Product Line Variability in Automotive Systems. IEEE Software 19(4), 66–72 (2002)CrossRefGoogle Scholar
  29. 29.
    Tretmans, J.: Testing Concurrent Systems: A Formal Approach. In: Baeten, J.C.M., Mauw, S. (eds.) CONCUR 1999. LNCS, vol. 1664, pp. 46–65. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  30. 30.
    Utting, M., Legeard, B.: Practical Model-Based Testing. A Tools Approach. M. Kaufmann (2007)Google Scholar
  31. 31.
    Uzuncaova, E., Khurshid, S., Batory, D.S.: Incremental test generation for software product lines. IEEE Trans. Software Eng. 36(3), 309–322 (2010)CrossRefGoogle Scholar
  32. 32.
    Weißleder, S., Sokenou, D., Schlingloff, H.: Reusing State Machines for Automatic Test Generation in ProductLines. In: MoTiP 2008 (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Malte Lochau
    • 1
  • Ina Schaefer
    • 2
  • Jochen Kamischke
    • 1
  • Sascha Lity
    • 1
  1. 1.Institute for Programming and Reactive SystemsTU BraunschweigGermany
  2. 2.Institute for Software Systems EngineeringTU BraunschweigGermany

Personalised recommendations