|Authors||S. Wang, D. Buchmann, S. Ali, A. Gotlieb, D. Pradhan and M. Liaaen|
|Title||Multi-Objective Test Prioritization in Software Product Line Testing: an Industrial Case Study|
|Afilliation||Software Engineering, The Certus Centre (SFI), Software Engineering|
|Publication Type||Proceedings, refereed|
|Year of Publication||2014|
|Conference Name||Software Product Line Conference (SPLC14), Florence, Italy|
|Place Published||New York, USA|
Test prioritization is crucial for testing products in a product line considering limited budget in terms of available time and resources. In general, it is not practically feasible to execute all the possible test cases and so, ordering test case execution permits test engineers to discover faults earlier in the testing process. An efficient prioritization of test cases for one or more products requires a clear consideration of the tradeoff among various costs (e.g., time, required resources) and effectiveness (e.g., feature coverage) objectives. As an integral part of the future Cisco's test scheduling system for validating video conferencing products, we introduce a search-based multi-objective test prioritization technique, considering multiple cost and effectiveness measures. In particular, our multi-objective optimization setup includes the minimization of execution cost (e.g., time), and the maximization of number of prioritized test cases, feature pairwise coverage and fault detection capability. Based on cost-effectiveness measures, a novel fitness function is defined for such test prioritization problem. The fitness function is empirically evaluated together with three commonly used search algorithms (e.g., (1+1) Evolutionary algorithm (EA)) and Random Search as a comparison baseline based on the Cisco's industrial case study and 500 artificial designed problems. The results show that (1+1) EA achieves the best performance for solving the test prioritization problem and it scales up to solve the problems of varying complexity.