Abstract
The development process in software product line engineering is divided into domain engineering and application engineering. As a consequence of this division, tests should be performed in both processes. However, existing testing techniques for single systems cannot be applied during domain engineering, because of the variability in the domain artifacts. Existing software product line test techniques only cover unit and system tests. Our contribution is a model-based, automated integration test technique that can be applied during domain engineering. For generating integration test case scenarios, the technique abstracts from variability and assumes that placeholders are created for variability. The generated scenarios cover all interactions between the integrated components, which are specified in a test model. Additionally, the technique reduces the effort for creating placeholders by minimizing the number of placeholders needed to execute the integration test case scenarios. We have experimentally measured the performance of the technique and the potential reduction of placeholders.
This work has been partially funded by the DFG under grant PO 607/2-1 IST-SPL and by Science Foundation Ireland under the CSET grant 03/CE2/I303_1.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Balas, E., Toth, P.: Branch and Bound Methods. In: Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.H.G., Shmoys, D.B. (eds.) The Traveling Salesman Problem, pp. 361–401. Wiley, New York (1985)
Basanieri, F., Bertolino, A.: A Practical approach to UML-based derivation of integration tests. In: Proc. of the Quality Week Europe, paper 3T (2000)
Beizer, B.: Software Testing Techniques. Van Nostrand Reinhold, New York (1990)
Bertolino, A., Gnesi, S.: PLUTO: A Test Methodology for Product Families. In: van der Linden, F.J. (ed.) PFE 2003. LNCS, vol. 3014, pp. 181–197. Springer, Heidelberg (2004)
Bertolino, A., Marré, M.: Automatic Generation of Path Covers Based on the Control Flow Analysis of Computer Programs. IEEE Transactions on Software Engineering 20(12), 885–899 (1994)
Binder, R.V.: Testing Object-Oriented Systems. Addison-Wesley, Reading (2000)
Boehm, B., Basili, V.R.: Software Defect Reduction Top 10 List. IEEE Computer 34(1), 135–137 (2001)
Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2002)
Cohen, M.B., Dwyer, M.B., Shi, J.: Coverage and Adequacy in Software Product Line Testing. In: Proc. of the ISSTA 2006 Workshop on Role of Software Architecture for Testing and Analysis, pp. 53–63. ACM, New York (2006)
Geppert, B., Li, J., Rößler, F., Weiss, D.M.: Towards Generating Acceptance Tests for Product Lines. In: Bosch, J., Krueger, C. (eds.) ICOIN 2004 and ICSR 2004. LNCS, vol. 3107, pp. 35–48. Springer, Heidelberg (2004)
GLPK (Gnu Linear Progrmming Kit), Gnu Project, http://www.gnu.org/software/glpk/
Hartmann, J., Imoberdorf, C., Meisinger, M.: UML-Based Integration Testing. In: Harrold, M.J. (ed.) Proc. of the Intl. Symposium on Software Testing and Analysis, pp. 60–70. ACM, New York (2000)
Hedley, D., Hennell, M.A.: The Causes and Effects of Infeasible Path in Computer Programs. In: Proc. of the 8th Intl. Conf. on Software Engineering, pp. 259–267. IEEE Computer Society Press, Los Alamitos (1985)
Jorgensen, P.C., Erickson, C.: Object-Oriented Integration Testing. Communications of the ACM 37(9), 30–38 (1994)
Käkölä, T., Duenas, J.C. (eds.): Software Product Lines – Research Issues in Engineering and Management. Springer, Heidelberg (2006)
Kim, Y., Carlson, C.R.: Scenario Based Integration Testing for Object-Oriented Software Development. In: Proc. of the 8th Asian Test Symposium, pp. 283–288. IEEE Computer Society Press, Los Alamitos (1999)
McGregor, J.D.: Testing a Software Product Line. Technical Report CMU/SEI-2001-TR-022, Carnegie Mellon University, SEI (2001)
McGregor, J.D., Sodhani, P., Madhavapeddi, S.: Testing Variability in a Software Product Line. In: Proc. of the Intl. Workshop on Software Product Line Testing, Avaya Labs, ALR-2004-031, 45–50 (2004)
Muccini, H., van der Hoek, A.: Towards Testing Product Line Architectures. Electronic Notes in Theoretical Computer Science (Proc. of the Intl. Workshop on Test and Analysis of Component-Based Systems) 82(6) (2003)
Nebut, C., Fleurey, F., Le Traon, Y., Jézéquel, J.-M.: A Requirement-based Approach to Test Product Families. In: van der Linden, F.J. (ed.) PFE 2003. LNCS, vol. 3014, pp. 198–210. Springer, Heidelberg (2004)
Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering – Foundations, Principles, and Techniques. Springer, Heidelberg (2005)
Prather, R.E., Myers, J.P.: The Path Prefix Testing Strategy. IEEE Transactions on Software Engineering 13(7), 761–766 (1987)
Reis, S., Metzger, A., Pohl, K.: A Reuse technique for Performance Testing of Software Product Lines. In: Proc. of the Intl. Workshop on Software Product Line Testing, Mannheim University of Applied Sciences, Report No. 003.06, 5-10 (2006)
Reuys, A., Kamsties, E., Pohl, K., Reis, S.: Model-based System Testing of Software Product Families. In: Pastor, Ó., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, pp. 519–534. Springer, Heidelberg (2005)
Tevanlinna, A., Taina, J., Kauppinen, R.: Product Family Testing – a Survey. ACM SIGSOFT Software Engineering Notes 29(2) (2004)
Tsai, W.T., Bai, X., Paul, R., Shao, W., Agarwal, V.: End-To-End Integration Testing Design. In: Proc. of the 25th Annual Intl. Computer Software and Applications Conf., pp. 166–171. IEEE, Los Alamitos (2001)
Wang, H.S., Hsu, S.R., Lin, J.C.: A Generalized Optimal Path-Selection Model for Structural Program Testing. The Journal of Systems and Software 10, 55–63 (1989)
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslen, A.: Experimentation in Software Engineering – An Introduction. Kluwer Academic Publishers, Dordrecht (2000)
Wu, Y., Chen, M.-H., Offutt, J.: UML-Based Integration Testing for Component-Based Software. In: Erdogmus, H., Weng, T. (eds.) ICCBSS 2003. LNCS, vol. 2580, pp. 251–260. Springer, Heidelberg (2003)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Reis, S., Metzger, A., Pohl, K. (2007). Integration Testing in Software Product Line Engineering: A Model-Based Technique. In: Dwyer, M.B., Lopes, A. (eds) Fundamental Approaches to Software Engineering. FASE 2007. Lecture Notes in Computer Science, vol 4422. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-71289-3_25
Download citation
DOI: https://doi.org/10.1007/978-3-540-71289-3_25
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-71288-6
Online ISBN: 978-3-540-71289-3
eBook Packages: Computer ScienceComputer Science (R0)