Skip to main content

Improving the Testing and Testability of Software Product Lines

  • Conference paper
Software Product Lines: Going Beyond (SPLC 2010)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6287))

Included in the following conference series:

Abstract

Software Product Line (SPL) engineering offers several advantages in the development of families of software products. There is still a need, however, for better understanding of testability issues and for testing techniques that can operate cost-effectively on SPLs. In this paper we consider these testability issues and highlight some differences between optional versus alternative features. We then provide a graph based testing approach called the FIG Basis Path method that selects products and features for testing based on a feature dependency graph. We conduct a case study on several non-trivial SPLs and show that for these subjects, the FIG Basis Path method is as effective as testing all products, but tests no more than 24% of the products in the SPL.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bachmeyer, R.C., Delugach, H.S.: A conceptual graph approach to feature modeling. In: Intl. Conference on Conceptual Structures, pp. 179–191 (2007)

    Google Scholar 

  2. Batory, D.: Scaling step-wise refinement. IEEE Transactions on Software Engineering 30(6), 355–371 (2004)

    Article  Google Scholar 

  3. Bertolino, A., Fantechi, A., Gnesi, S., Lami, G.: Product line use cases: Scenario-based specification and testing of requirements. LNCS, pp. 425–445. Springer, Heidelberg (2006)

    Google Scholar 

  4. Clements, P., Northrop, L.M.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2001)

    Google Scholar 

  5. Cohen, D.M., Dalal, S.R., Fredman, M.L., Patton, G.C.: The AETG system: an approach to testing based on combinatorial design. IEEE Transactions on Software Engineering 23(7), 437–444 (1997)

    Article  Google Scholar 

  6. Cohen, M.B., Dwyer, M.B., Shi, J.: Coverage and adequacy in software product line testing. In: Workshop on the Role of Architecture for Testing and Analysis, pp. 53–63 (July 2006)

    Google Scholar 

  7. Czarnecki, K.: Overview of generative software development. In: Banâtre, J.-P., Fradet, P., Giavitto, J.-L., Michel, O. (eds.) UPP 2004. LNCS, vol. 3566, pp. 313–328. Springer, Heidelberg (2005)

    Google Scholar 

  8. Czarnecki, K., Helsen, S., Eisenecker, U.: Staged configuration through specialization and multilevel configuration of feature models. In: Software Process: Improvement and Practice, pp. 143–169 (2005)

    Google Scholar 

  9. Czarnecki, K., She, S., Wasowski, A.: Sample spaces and feature models: There and back again. In: Intl. Software Product Line Conference, pp. 22–31 (2008)

    Google Scholar 

  10. Denger, C., Kolb, R.: Testing and inspecting reusable product line components: First empirical results. In: Intl. Symposium on Empirical Software Engineering, pp. 184–193 (2006)

    Google Scholar 

  11. Figueiredo, E., Cacho, N., Sant’Anna, C., Monteiro, M., Kulesza, U., Garcia, A., Soares, S., Ferrari, F., Khan, S., Castor Filho, F., Dantas, F.: Evolving software product lines with aspects: an empirical study on design stability. In: Intl. Conference on Software Engineering, pp. 261–270 (2008)

    Google Scholar 

  12. Harrold, M.J.: Architecture-based regression testing of evolving systems. In: Workshop on the Role of Architecture for Testing and Analysis, pp. 73–77 (July 1998)

    Google Scholar 

  13. Jaring, M., Krikhaar, R.L., Bosch, J.: Modeling variability and testability interaction in software product line engineering. In: Intl. Conference on Composition-Based Software Systems, pp. 120–129 (2008)

    Google Scholar 

  14. Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (FODA) feasibility study. Technical report, Carnegie-Mellon University Software Engineering Institute (November 1990)

    Google Scholar 

  15. Kolb, R., Muthig, D.: Making testing product lines more efficient by improving the testability of product line architectures. In: Workshop on Role of Software Architecture for Testing and Analysis, pp. 22–27. ACM, New York (2006)

    Google Scholar 

  16. Lopez-Herrejon, R.E., Batory, D.S.: A standard problem for evaluating product-line methodologies. In: Bosch, J. (ed.) GCSE 2001. LNCS, vol. 2186, pp. 10–24. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  17. McGregor, J.D.: Testing a software product line (cmu/sei-2001-tr-022). Technical report, Carnegie Mellon Software Engineering Institute (2001)

    Google Scholar 

  18. MicroEmulator (2010), http://www.microemu.org/

  19. Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering. Springer, Berlin (2005)

    MATH  Google Scholar 

  20. Qu, X., Cohen, M.B., Rothermel, G.: Configuration-aware regression testing: An empirical study of sampling and prioritization. In: International Symposium on Software Testing and Analysis, pp. 75–85 (July 2008)

    Google Scholar 

  21. Schobbens, P.-Y., Heymans, P., Trigaux, J.-C.: Feature diagrams: A survey and a formal semantics. In: Intl. Requirements Engineering Conference, pp. 136–145 (2006)

    Google Scholar 

  22. Schürr, A., Oster, S., Markert, F.: Model-driven software product line testing: An integrated approach. In: Theory and Practice of Computer Science, pp. 112–131 (2010)

    Google Scholar 

  23. Thaker, S., Batory, D., Kitchin, D., Cook, W.: Safe composition of product lines. In: Intl. Conference on Generative Programming and Component Engineering, pp. 95–104 (2007)

    Google Scholar 

  24. Uzuncaova, E., Garcia, D., Khurshid, S., Batory, D.: Testing software product lines using incremental test generation. In: Intl. Symposium on Software Reliability Engineering, pp. 249–258 (2008)

    Google Scholar 

  25. Wall, T.: Abbot Java GUI test framework (2010), http://abbot.sourceforge.net/doc/overview.shtml

  26. Yan, J., Zhang, J.: An efficient method to generate feasible paths for basis path testing. Information Processing Letters 107(3-4), 87–92 (2008)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Cabral, I., Cohen, M.B., Rothermel, G. (2010). Improving the Testing and Testability of Software Product Lines. In: Bosch, J., Lee, J. (eds) Software Product Lines: Going Beyond. SPLC 2010. Lecture Notes in Computer Science, vol 6287. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15579-6_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-15579-6_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-15578-9

  • Online ISBN: 978-3-642-15579-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics