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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bachmeyer, R.C., Delugach, H.S.: A conceptual graph approach to feature modeling. In: Intl. Conference on Conceptual Structures, pp. 179–191 (2007)
Batory, D.: Scaling step-wise refinement. IEEE Transactions on Software Engineering 30(6), 355–371 (2004)
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)
Clements, P., Northrop, L.M.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2001)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
McGregor, J.D.: Testing a software product line (cmu/sei-2001-tr-022). Technical report, Carnegie Mellon Software Engineering Institute (2001)
MicroEmulator (2010), http://www.microemu.org/
Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering. Springer, Berlin (2005)
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)
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)
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)
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)
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)
Wall, T.: Abbot Java GUI test framework (2010), http://abbot.sourceforge.net/doc/overview.shtml
Yan, J., Zhang, J.: An efficient method to generate feasible paths for basis path testing. Information Processing Letters 107(3-4), 87–92 (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)