A Uniform Representation of Hybrid Criteria for Regression Testing

Regression testing tasks of test case prioritization, test suite reduction/minimization, and regression test selection are typically centered around criteria that are based on code coverage, test execution costs, and code modifications. Researchers have developed and evaluated new individual criteria; others have combined existing criteria in different ways to form what we--and some others--call hybrid criteria. In this paper, we formalize the notion of combining multiple criteria into a hybrid. Our goal is to create a uniform representation of such combinations so that they can be described unambiguously and shared among researchers. We envision that such sharing will allow researchers to implement, study, extend, and evaluate the hybrids using a common set of techniques and tools. We precisely formulate three hybrid combinations, Rank, Merge, and Choice, and demonstrate their usefulness in two ways. First, we recast, in terms of our formulations, others' previously reported work on hybrid criteria. Second, we use our previous results on test case prioritization to create and evaluate new hybrid criteria. Our findings suggest that hybrid criteria of others can be described using our Merge and Rank formulations, and that the hybrid criteria we developed most often outperformed their constituent individual criteria.

[1]  Tsong Yueh Chen,et al.  A new heuristic for test suite reduction , 1998, Inf. Softw. Technol..

[2]  Mark Harman,et al.  Using hybrid algorithm for Pareto efficient multi-objective test suite minimisation , 2010, J. Syst. Softw..

[3]  Giuseppe Scanniello,et al.  A Multi-Objective Technique to Prioritize Test Cases Based on Latent Semantic Indexing , 2012, 2012 16th European Conference on Software Maintenance and Reengineering.

[4]  Wes Masri,et al.  Test case filtering and prioritization based on coverage of combinations of program elements , 2009, WODA '09.

[5]  Amitabh Srivastava,et al.  Effectively prioritizing tests in development environment , 2002, ISSTA '02.

[6]  Peter Göhner,et al.  Agent-Based Test Case Prioritization , 2011, 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops.

[7]  Myra B. Cohen,et al.  Combinatorial Interaction Regression Testing: A Study of Test Case Generation and Prioritization , 2007, 2007 IEEE International Conference on Software Maintenance.

[8]  Gregg Rothermel,et al.  Empirical studies of test‐suite reduction , 2002, Softw. Test. Verification Reliab..

[9]  R. Lyman Ott.,et al.  An introduction to statistical methods and data analysis , 1977 .

[10]  Gregory M. Kapfhammer,et al.  An empirical study of incorporating cost into test suite reduction and prioritization , 2009, SAC '09.

[11]  Arvinder Kaur,et al.  Test case prioritization using ant colony optimization , 2010, SOEN.

[12]  Baowen Xu,et al.  Fault class prioritization in Boolean expressions , 2012, SAC '12.

[13]  Mark Harman,et al.  Regression Testing Minimisation, Selection and Prioritisation - A Survey , 2009 .

[14]  Ladan Tahvildari,et al.  An Empirical Study on Bayesian Network-based Approach for Test Case Prioritization , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[15]  Tao Xie,et al.  Quota-constrained test-case prioritization for regression testing of service-centric systems , 2008, 2008 IEEE International Conference on Software Maintenance.

[16]  Mary Jean Harrold,et al.  Test-Suite Reduction and Prioritization for Modified Condition/Decision Coverage , 2003, IEEE Trans. Software Eng..

[17]  Emanuel Melachrinoudis,et al.  Bi-criteria models for all-uses test suite reduction , 2004, Proceedings. 26th International Conference on Software Engineering.

[18]  Emily Hill,et al.  Automated replay and failure detection for web applications , 2005, ASE '05.

[19]  Vahid Garousi,et al.  Test Redundancy Measurement Based on Coverage Information: Evaluations and Lessons Learned , 2009, 2009 International Conference on Software Testing Verification and Validation.

[20]  Ladan Tahvildari,et al.  Size-Constrained Regression Test Case Selection Using Multicriteria Optimization , 2012, IEEE Transactions on Software Engineering.

[21]  Gregg Rothermel,et al.  Prioritizing test cases for regression testing , 2000, ISSTA '00.

[22]  Neelam Gupta,et al.  Test Case Prioritization Using Relevant Slices , 2006, 30th Annual International Computer Software and Applications Conference (COMPSAC'06).

[23]  Mary Lou Soffa,et al.  Efficient time-aware prioritization with knapsack solvers , 2007, WEASELTech '07.

[24]  Hong Zhu,et al.  Software unit test coverage and adequacy , 1997, ACM Comput. Surv..

[25]  Anne M. Denton,et al.  A clustering approach to improving test case prioritization: An industrial case study , 2011, 2011 27th IEEE International Conference on Software Maintenance (ICSM).

[26]  Gregg Rothermel,et al.  Incorporating varying test costs and fault severities into test case prioritization , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[27]  Mary Lou Soffa,et al.  TimeAware test suite prioritization , 2006, ISSTA '06.

[28]  Emily Hill,et al.  An empirical comparison of test suite reduction techniques for user-session-based testing of Web applications , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[29]  Mark Harman,et al.  Clustering test cases to achieve effective and scalable prioritisation incorporating expert knowledge , 2009, ISSTA.

[30]  Gregg Rothermel,et al.  The Effects of Time Constraints on Test Case Prioritization: A Series of Controlled Experiments , 2010, IEEE Transactions on Software Engineering.

[31]  Tao Xie,et al.  Time-aware test-case prioritization using integer linear programming , 2009, ISSTA.

[32]  Lu Zhang,et al.  Prioritizing JUnit test cases in absence of coverage information , 2009, 2009 IEEE International Conference on Software Maintenance.

[33]  Paolo Tonella,et al.  Using the Case-Based Ranking Methodology for Test Case Prioritization , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[34]  Atif M. Memon,et al.  Call-Stack Coverage for GUI Test Suite Reduction , 2008, IEEE Transactions on Software Engineering.

[35]  Cheng-qing Ye,et al.  A genetic algorithm for test-suite reduction , 2005, 2005 IEEE International Conference on Systems, Man and Cybernetics.

[36]  Chin-Yu Huang,et al.  Analysis of test suite reduction with enhanced tie-breaking techniques , 2009, Inf. Softw. Technol..

[37]  Emily Hill,et al.  Applying Concept Analysis to User-Session-Based Testing of Web Applications , 2007, IEEE Transactions on Software Engineering.

[38]  Neelam Gupta,et al.  Improving Fault Detection Capability by Selectively Retaining Test Cases during Test Suite Reduction , 2007, IEEE Transactions on Software Engineering.

[39]  K. Ramasamy,et al.  Incorporating varying requirement priorities and costs in test case prioritization for new and regression testing , 2008, 2008 International Conference on Computing, Communication and Networking.

[40]  Hao Chen,et al.  Bi-objective model for test-suite reduction based on modified condition/decision coverage , 2005, 11th Pacific Rim International Symposium on Dependable Computing (PRDC'05).

[41]  Xiang Chen,et al.  A study of relative redundancy in test-suite reduction while retaining or improving fault-localization effectiveness , 2010, SAC '10.

[42]  Ricardo B. C. Prudêncio,et al.  A Multi-objective Particle Swarm Optimization for Test Case Selection Based on Functional Requirements Coverage and Execution Effort , 2011, 2011 IEEE 23rd International Conference on Tools with Artificial Intelligence.

[43]  Adam A. Porter,et al.  A history-based test prioritization technique for regression testing in resource constrained environments , 2002, ICSE '02.

[44]  Jong Sou Park,et al.  Applying Particle Swarm Optimization to Prioritizing Test Cases for Embedded Real Time Software Retesting , 2008, 2008 IEEE 8th International Conference on Computer and Information Technology Workshops.

[45]  Sejun Kim,et al.  An effective fault aware test case prioritization by incorporating a fault localization technique , 2010, ESEM '10.

[46]  Renée C. Bryce,et al.  Improving the effectiveness of test suite reduction for user-session-based testing of web applications , 2012, Inf. Softw. Technol..

[47]  Gregg Rothermel,et al.  Test Case Prioritization: A Family of Empirical Studies , 2002, IEEE Trans. Software Eng..

[48]  Mark Harman,et al.  Pareto efficient multi-objective test case selection , 2007, ISSTA '07.

[49]  Mark Harman,et al.  Regression testing minimization, selection and prioritization: a survey , 2012, Softw. Test. Verification Reliab..

[50]  Marek Grzegorz Stochel,et al.  Testing Optimization for Mission-Critical, Complex, Distributed Systems , 2008, 2008 32nd Annual IEEE International Computer Software and Applications Conference.

[51]  Ramzi A. Haraty,et al.  Regression testing of database applications , 2001, SAC.

[52]  N. Malmurugan,et al.  Study of ERP Test-Suite Reduction Based on Modified Condition/Decision Coverage , 2010, 2010 Second International Conference on Computer Research and Development.

[53]  Gregg Rothermel,et al.  Selecting a Cost-Effective Test Case Prioritization Technique , 2004, Software Quality Journal.

[54]  R. Kavitha,et al.  Requirement based test case prioritization , 2010, 2010 INTERNATIONAL CONFERENCE ON COMMUNICATION CONTROL AND COMPUTING TECHNOLOGIES.

[55]  S. Nachiyappan,et al.  An evolutionary algorithm for regression test suite reduction , 2010, 2010 International Conference on Communication and Computational Intelligence (INCOCCI).

[56]  Mark Harman Making the Case for MORTO: Multi Objective Regression Test Optimization , 2011, 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops.

[57]  Alessandro Orso,et al.  MINTS: A general framework and tool for supporting test-suite minimization , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[58]  Andrea De Lucia,et al.  On the role of diversity measures for multi-objective test case selection , 2012, 2012 7th International Workshop on Automation of Software Test (AST).

[59]  Rajiv Gupta,et al.  A methodology for controlling the size of a test suite , 1990, Proceedings. Conference on Software Maintenance 1990.

[60]  Neelam Gupta,et al.  Test suite reduction with selective redundancy , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[61]  Y. Fazlalizadeh,et al.  Prioritizing test cases for resource constraint environments using historical test case performance data , 2009, 2009 2nd IEEE International Conference on Computer Science and Information Technology.

[62]  C. Borror An Introduction to Statistical Methods and Data Analysis, 5th Ed. , 2002 .

[63]  Tsong Yueh Chen,et al.  Dividing Strategies for the Optimization of a Test Suite , 1996, Inf. Process. Lett..

[64]  Gregg Rothermel,et al.  Understanding and measuring the sources of variation in the prioritization of regression test suites , 2001, Proceedings Seventh International Software Metrics Symposium.

[65]  Chin-Yu Huang,et al.  Design and Analysis of Cost-Cognizant Test Case Prioritization Using Genetic Algorithm with Test History , 2010, 2010 IEEE 34th Annual Computer Software and Applications Conference.

[66]  Mats Per Erik Heimdahl,et al.  Test-suite reduction for model based tests: effects on test quality and implications for testing , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..

[67]  Atif M. Memon,et al.  Developing a Single Model and Test Prioritization Strategies for Event-Driven Software , 2011, IEEE Transactions on Software Engineering.

[68]  Emily Hill,et al.  Integrating customized test requirements with traditional requirements in web application testing , 2006, TAV-WEB '06.

[69]  Cui Donghua,et al.  The research of test-suite reduction technique , 2011, 2011 International Conference on Consumer Electronics, Communications and Networks (CECNet).

[70]  Gregg Rothermel,et al.  An empirical study of the effect of time constraints on the cost-benefits of regression testing , 2008, SIGSOFT '08/FSE-16.

[71]  Joseph Robert Horgan,et al.  Effect of Test Set Minimization on Fault Detection Effectiveness , 1995, 1995 17th International Conference on Software Engineering.

[72]  Daoxu Chen,et al.  Optimal Regression Testing Based on Selective Coverage of Test Requirements , 2010, International Symposium on Parallel and Distributed Processing with Applications.

[73]  Gregg Rothermel,et al.  Prioritizing test cases for regression testing , 2000, ISSTA '00.