skip to main content
10.1145/2889160.2889240acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Enhancing test case prioritization in an industrial setting with resource awareness and multi-objective search

Published: 14 May 2016 Publication History

Abstract

Test case prioritization is an essential part of test execution systems for large organizations developing software systems in the context that their software versions are released very frequently. They must be tested on a variety of compatible hardware with different configurations to ensure correct functioning of a software version on a compatible hardware. In practice, test case execution must not only execute cost-effective test cases in an optimal order, but also optimally allocate required test resources, in order to deliver high quality software releases.
To optimize the current test execution system for testing software releases developed for Videoconferencing Systems (VCSs) at Cisco, Norway, in this paper, we propose a resource-aware multi-objective optimization solution with a fitness function defined based on four cost-effectiveness measures. In this context, a set of software releases must be tested on a set of compatible VCS hardware (test resources) by executing a set of cost-effective test cases in an optimal order within a given test cycle constrained by maximum allowed time budget and maximum available test resources. We empirically evaluated seven search algorithms regarding their performance and scalability by comparing with the current practice (random ordering (RO)). The results show that the proposed solution with the best search algorithm (i.e., Random-Weighted Genetic Algorithm) improved the current practice by reducing on average 40.6% of time for test resource allocation and test case execution, improved test resource usage on average by 37.9% and fault detection on average by 60%.

References

[1]
G. Rothermel, R. J. Untch, C. Chu, and M. J. Harrold, "Prioritizing test cases for regression testing," IEEE TSE, 27(10):929--948, 2001.
[2]
K. R. Walcott, M. L. Soffa, G. M. Kapfhammer, and R. S. Roos, "Time aware test suite prioritization," Proc. of ISSTA, pages 1--11, 2006.
[3]
J. Brownlee, "Clever Algorithms: Nature-Inspired Programming Recipes," ISBN: 978-1-4467-8506-5, 2011.
[4]
Cisco Systems, "Cisco telepresence codec," Data sheet. 2010.
[5]
A. Arcuri, and L. C. Briand, "A Practical Guide for Using Statistical Tests to Assess Randomized Algorithms in Software Engineering," Proc. of International Conference on Software Engineering (ICSE), pp. 21--28, 2011.
[6]
S. Ali, L. C. Briand, H. Hemmati, and R. K Panesar-Walawege, "A Systematic Review of the Application and Empirical Investigation of Search-Based Test Case Generation," IEEE Transactions on Software Engineering 36 (6), pp. 742--762, 2010.
[7]
M. O. Barros and A. C. Dias-Neto, "Threats to Validity in Search-based Software Engineering Empirical Studies", UNIRIO - Universidade Federal do Estado do Rio de Janeiro0006/2011, 2011.
[8]
S. Wang, S. Ali and A. Gotlieb, "Minimizing Test Suites in Software Product Lines Using Weighted-based Genetic Algorithms", Proc. of the Genetic and Evolutionary Computation Conference (GECCO), pp. 1493--1500, 2013.
[9]
D. J. Sheskin, "Handbook of Parametric and Nonparametric Statistical Procedures", 2003.
[10]
M. Harman, "Making the Case for MORTO: Multi Objective Regression Test Optimization", Proc. of the IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops, pp. 111--114, 2011.
[11]
Z. Li, M. Harman, and R. M. Hierons, "Search Algorithms for Regression Test Case Prioritization", IEEE Transactions on Software Engineering, 33(4), pp. 225--237, 2007.
[12]
S. Yoo, and M. Harman, "Regression Testing Minimization, Selection and Prioritization: A Survey," Software: Testing, Verification and Reliability 22(2), pp. 67--120, 2012.
[13]
D. Greer and G. Ruhe, "Software Release Planning: An Evolutionary and Iterative Approach," Information and Software Technology, 46(4), pp. 243--253, 2004.
[14]
M. Harman, S. A. Mansouri and Y. Zhang, "Search Based Software Engineering: A Comprehensive Analysis and Review of Trends Techniques and Applications", Technical Report TR-09-03, King College London, 2009.
[15]
A. Konak, D. W. Coit, and A. E. Smith, "Multi-objective Optimization using Genetic Algorithms: A Tutorial," Reliability Engineering & System Safety, 992--1007, 2006.
[16]
K. Deb, A. Pratap, S. Agarwal and T. Meyarivan, "A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II," IEEE Trans on Evolutionary Computation, 6(2), pp. 182--197, 2002.
[17]
A. J. Nebro, J. J. Durillo, F. Luna, B. Dorronsoro and E. Alba, "Design Issues in a Multiobjective Cellular Genetic Algorithm," Evolutionary Multi-Criterion Optimization (4403), pp. 126--140, 2007.
[18]
E. Zitzler, M. Laumanns, and L. Thiele, "SPEA2: Improving the Strength Pareto Evolutionary Algorithm," Proc. of the Evolutionary Methods for Design, Optimization and Control with Applications to Industrial Problems, pp. 95--100, 2001.
[19]
J. D. Knowles and D. W. Corne, "Approximating the Nondominated Front Using the Pareto Archived Evolution Strategy," Evolutionary Computation 8(2), 149--172, 2000.
[20]
A. J. Nebro, J. J. Durillo, J. Garcia-Nieto, C. A. Coello Coello, F. Luna, and E. Alba, "SMPSO: A new PSO-based Metaheuristic for Multi-objective Optimization," Proc. of the Symposium on Computational Intelligence in Multicriteria Decision-Making (MCDM), pp. 66--73, 2009.
[21]
S. Wang, D. Buchmann, S, Ali, A. Gotlieb, D. Pradhan and M. Liaaen, "Multi-objective test prioritization in software product line testing: an industrial case study", Proc. of the International Software Product Line Conference, 32--41, 2014.
[22]
S. Wang, S. Ali and A. Gotlieb, "Cost-effective test suite minimization in product lines using search techniques", Journal of Systems and Software, vol (103), 370--391, 2015.
[23]
L. Zhang, S. S. Hou, C. Guo, T. Xie and H. Mei, "Time-aware test-case prioritization using integer linear programming", Proc. of the 18th International Symposium on Software Testing and Analysis (ISSTA), pp. 213--224, 2009.
[24]
C. Henard, M. Papadakis, G. Perrouin, J. Klein, and Y. L. Traon, "Multi-objective Test Generation for Software Product Lines," Proc. of Software Product Line Conference (SPLC). pp. 62--71. 2013.
[25]
J. J. Durillo, A. J. Nebro, "jMetal: A Java framework for multi-objective optimization," Advances in Engineering Software 42, pp. 760--771. 2011.
[26]
D. Marijan, A. Gotlieb and S. Sen, "Test Case Prioritization for Continuous Regression Testing: An Industrial Case Study", Proc. of the IEEE International Conference on Software Maintenance (ICSM), pp. 540--543, 2014.
[27]
S. Wang, S. Ali, T. Yue, Y. Li and M. Liaaen, "A Practical Guide to Select Quality Indicators for Assessing Pareto-Based Search Algorithms in Search-Based Software Engineering", Proc. of 38th International Conference on Software Engineering, 2016.

Cited By

View all
  • (2023)Prioritizing Natural Language Test Cases Based on Highly-Used Game FeaturesProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3613872(1961-1972)Online publication date: 30-Nov-2023
  • (2023)State of Practical Applicability of Regression Testing Research: A Live Systematic Literature ReviewACM Computing Surveys10.1145/357985155:13s(1-36)Online publication date: 13-Jul-2023
  • (2023)A Taxonomy of Information Attributes for Test Case Prioritisation: Applicability, Machine LearningACM Transactions on Software Engineering and Methodology10.1145/351180532:1(1-42)Online publication date: 13-Feb-2023
  • Show More Cited By

Index Terms

  1. Enhancing test case prioritization in an industrial setting with resource awareness and multi-objective search

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      ICSE '16: Proceedings of the 38th International Conference on Software Engineering Companion
      May 2016
      946 pages
      ISBN:9781450342056
      DOI:10.1145/2889160
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 14 May 2016

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. multi-objective optimization
      2. search
      3. test case prioritization

      Qualifiers

      • Research-article

      Conference

      ICSE '16
      Sponsor:

      Acceptance Rates

      Overall Acceptance Rate 276 of 1,856 submissions, 15%

      Upcoming Conference

      ICSE 2025

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)16
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 25 Feb 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2023)Prioritizing Natural Language Test Cases Based on Highly-Used Game FeaturesProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3613872(1961-1972)Online publication date: 30-Nov-2023
      • (2023)State of Practical Applicability of Regression Testing Research: A Live Systematic Literature ReviewACM Computing Surveys10.1145/357985155:13s(1-36)Online publication date: 13-Jul-2023
      • (2023)A Taxonomy of Information Attributes for Test Case Prioritisation: Applicability, Machine LearningACM Transactions on Software Engineering and Methodology10.1145/351180532:1(1-42)Online publication date: 13-Feb-2023
      • (2023)A Case Study on the “Jungle” Search for Industry-Relevant Regression Testing2023 IEEE 23rd International Conference on Software Quality, Reliability, and Security (QRS)10.1109/QRS60937.2023.00045(382-393)Online publication date: 22-Oct-2023
      • (2023)Severity-Aware Prioritization of System-Level Regression Tests in Automotive Software2023 IEEE Conference on Software Testing, Verification and Validation (ICST)10.1109/ICST57152.2023.00044(398-409)Online publication date: Apr-2023
      • (2023)Research on hyper‐level of hyper‐heuristic framework for MOTCPSoftware Testing, Verification and Reliability10.1002/stvr.186133:8Online publication date: 3-Sep-2023
      • (2023)A Systematic Literature Review on Test Case Prioritization TechniquesAgile Software Development10.1002/9781119896838.ch7(101-159)Online publication date: 8-Feb-2023
      • (2022)A Systematic Literature Review on Test Case Prioritization TechniquesInternational Journal of Software Innovation10.4018/IJSI.31226310:1(1-36)Online publication date: 21-Oct-2022
      • (2022)Test case prioritization using test case diversification and fault-proneness estimationsAutomated Software Engineering10.1007/s10515-022-00344-y29:2Online publication date: 1-Nov-2022
      • (2021)Systematic Literature Review on Test Case Selection and Prioritization: A Tertiary StudyApplied Sciences10.3390/app11241212111:24(12121)Online publication date: 20-Dec-2021
      • Show More Cited By

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media