Browse > Article

Software Product Line Test Cases Derivation Using Combinatorial Test Design  

Haeun, Baek (KAIST 전산학과)
Sungwon, Kang (KAIST 전산학과)
Jihyun, Lee (대전대학교 교양학부대학)
Abstract
Software Product Line (SPL) is a software development paradigm that guarantees high productivity, reduced cost, and shorter time-to-market by systematically planning and reusing commonality and variability. In order to maximize the benefits of SPL engineering, testing should be integrated into the SPL engineering lifecycle processes that consist of domain engineering and application engineering and should be performed with as little test efforts as possible. This paper proposes a systematic software product line test cases derivation method using combinatorial test design. By applying combinatorial test design to product line test cases derivation and exploiting commonality between products at the same time, the number of generated test cases is dramatically reduced with the result that they can be effectively reused by the products of the given product line. Case studies conducted in this paper show the efficacy of our method compared with other methods that use only commonality or combinatorial design or neither of them in terms of the number of derived test cases.
Keywords
SPL testing; combinatorial test design(CTD); pairwise combination testing; test case reuse;
Citations & Related Records
연도 인용수 순위
  • Reference
1 V. Stricker, A. Metzger, and K. Pohl, "Avoiding Redundant Testing in Application Engineering," Lecture Notes in Computer Science, vol.6287/2010, Software Product Lines: Going Beyond, pp.226-240, 2010.
2 C. Nebut, T. Le Traon, and J.-M. Jezequel, "System Testing of Product Lines: From Requirements to Test Cases," Software Product Lines: Research Issues in Engineering and Management, (Eds.) T. Kakoa et al., Chap. 12, Springer, 2006.
3 A. Tevanlinna, J. Taina, and R. Kauppinen, "Product Family Testing: A Survey," SIGSOFT Software. Engineering Notes, vol.29, no.2, pp.12-12, 2004.
4 Erika Mir Olimpiew and Hassan Gomaa, "Reusable Model-Based Testing," ICSR 2009, LNCS 5791, pp.76-85, 2009.
5 M. Grindal, J. Offutt, and S. Andler, "Combination Testing Strategies: A Survey," Software Testing Verification and Reliability, vol.15, no.3, pp.167-200, 2005.   DOI
6 D. R. Kuhn, R. N. Kacker, and Y. Lei, "Practical Combinatorial Testing," National Institute of Standards and Technology, NIST Special Publication, pp.800-142, Oct. 2010.
7 D. M. Cohen, S. R. Dalal, M. L. Fredman, and G. C. Patton, "The AETG System: An Approach to Testing Based on Combinatorial Design," IEEE Trans. Software Eng., vol.23, no.7, pp.437-444, Jul. 1997.   DOI   ScienceOn
8 G. J. Myers, T. M. Thomas, and J. Wiley, The Art of Software Testing, Second Edition. 2004.
9 H. Gomaa, Designing Software Product Lines with UML: from Use Cases to Pattern based Software Architectures, Addison Wesley, 2004.
10 S. Kang, "A Method for Extending Software Modeling Languages to Languages for Modeling Families of Software," KISSE Journal of Software Engineering Society, vol.23, no.2, Jun. 2010. (in Korean)
11 T-wise testing tool. Available: http://hexawise.com/.
12 S. Kang, H. Baek, J. Kim, "Systematic Software Product Line Test Cases Derivation for Test Data Reuse," Department of Computer Science, KAIST, Technical Report CS-TR-2011-363, 2011.
13 K. Pohl, G. Bockle, and F. J. van der Linden, Software Product Line Engineering: Foundations, Principles and Techniques, Secaucus, NJ, USA: Springer-Verlag New York, Inc., 2005.
14 P. Clements and L. Northrop, Software Product Lines: Practices and Patterns, Addison Wesley, Reading, MA, USA, 2001.
15 G. Perrouin, S. Sen, J. Klein, B. Baudry, and Y. le Traon, "Automated and Scalable T-wise Test Case Generation Strategies for Software Product Lines," Proc. of International Conference on Software Testing, Verification, and Validation (ICST) 2010, pp.459- 468, 2010.
16 M. B. Cohen, M. B. Dwyer, and J. Shi, "Coverage and Adequacy in Software Product Line Testing," Proc. of the Role of Software Architecture for Testing and Analysis (ROSATEA) 2006, pp.53-63, 2006.
17 M. B. Cohen, M. B. Dwyer, and J. Shi, "Constructing Interaction Test Suites for Highly-Configurable Systems in the Presence of Constraints: A Greedy Approach," IEEE Transactions on Software Engineering, vol.34, no.5, pp.633-650, 2008.   DOI
18 B. P. Lamancha and M. P. Usaola, "Testing Product Generation in Software Product Lines using Pairwise for Features Coverage," Proc. of International Conference on Testing Software and Systems 2010, pp.111-125, 2010.
19 G. Perrouin, S. Oster, S., S. Sen, J. Klein, B. Baudry, and Y. le Traon, "Pairwise Testing for Software Product Lines-A Comparison of Two Approaches," Software Quality Journal, DOI 10.1007/s11219-011-9160-9, 2011.
20 A. Hervieu, B. Baudry, and A. Gotlieb, "PACOGEN: Automatic Generation of Pairwise Test Configurations from Feature Models," Proc. of IEEE International Symposium on Software Reliability Engineering 2011, pp.120-129, 2011.
21 C. H. Kim, D. Batory, and S. Khurshid, "Reducing Combinatorics in Testing Product Lines," Proc. of International Conference on Aspect Oriented Software Development (AOSD) 2011, pp.57-68, 2011.
22 E. Kamsties, K. Pohl, S. Reis, and A. Reuys, "Testing Variabilities in Use Case Models," Proc. of Product Family Engineering 2003, LNCS 3014, pp.6-18, 2004.
23 E. Olimpiew H. and Gomaa, "Model-based Testing for Applications Derived from Software Product Lines," Proc. of Workshop on Advances in Modelbased Testing 2005, pp.1-7, 2005.
24 J. Lee, S. Kang, and D. Lee, "A Survey on Software Product Line Testing," Proc. of International Software Product Line Conference (SPLC) 2012, pp.31-40, 2012.