Novel Fuzzy Clustering Methods for Test Case Prioritization in Software Projects

Systematic Regression Testing is essential for maintaining software quality, but the cost of regression testing is high. Test case prioritization (TCP) is a widely used approach to reduce this cost. Many researchers have proposed regression test case prioritization techniques, and clustering is one of the popular methods for prioritization. The task of selecting appropriate test cases and identifying faulty functions involves ambiguities and uncertainties. To alleviate the issue, in this paper, two fuzzy-based clustering techniques are proposed for TCP using newly derived similarity coefficient and dominancy measure. Proposed techniques adopt grouping technology for clustering and the Weighted Arithmetic Sum Product Assessment (WASPAS) method for ranking. Initially, test cases are clustered using similarity//dominancy measures, which are later prioritized using the WASPAS method under both inter- and intra-perspectives. The proposed algorithms are evaluated using real-time data obtained from Software-artifact Infrastructure Repository (SIR). On evaluation, it is inferred that the proposed algorithms increase the likelihood of selecting more relevant test cases when compared to the recent state-of-the-art techniques. Finally, the strengths of the proposed algorithms are discussed in comparison with state-of-the-art techniques.

[1]  Deepti Mishra,et al.  Test case prioritization: a systematic mapping study , 2012, Software Quality Journal.

[2]  Fevzi Belli,et al.  Model-based test case prioritization using cluster analysis: a soft-computing approach , 2015 .

[3]  Neelam Gupta,et al.  Experiments with test case prioritization using relevant slices , 2008, J. Syst. Softw..

[4]  Bo Jiang,et al.  Prioritizing Test Cases for Regression Testing of Location-Based Services: Metrics, Techniques, and Case Study , 2014, IEEE Transactions on Services Computing.

[5]  Ahmed E. Hassan,et al.  Static test case prioritization using topic models , 2014, Empirical Software Engineering.

[6]  Mary Jean Harrold,et al.  Recomputing Coverage Information to Assist Regression Testing , 2009, IEEE Transactions on Software Engineering.

[7]  T. H. Tse,et al.  XML-manipulating test case prioritization for XML-manipulating services , 2011, J. Syst. Softw..

[8]  Gregg Rothermel,et al.  Test case prioritization: an empirical study , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[9]  Man Fai Lau,et al.  Fault-based test suite prioritization for specification-based testing , 2012, Inf. Softw. Technol..

[10]  Hema Srikanth,et al.  Improving test efficiency through system test prioritization , 2012, J. Syst. Softw..

[11]  Jinfu Chen,et al.  Test case prioritization for object-oriented software: An adaptive random sequence approach based on clustering , 2018, J. Syst. Softw..

[12]  Mohammad Abdollahi Azgomi,et al.  An improved method for test case prioritization by incorporating historical test case data , 2012, Sci. Comput. Program..

[13]  Zhenyu Chen,et al.  Similarity-based test case prioritization using ordered sequences of program entities , 2013, Software Quality Journal.

[14]  Arvinder Kaur,et al.  Systematic Literature Review on Regression Test Prioritization Techniques , 2012, Informatica.

[15]  T. H. Tse,et al.  Adaptive Random Test Case Prioritization , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[16]  Byoungju Choi,et al.  Risk-based test case prioritization using a fuzzy expert system , 2016, Inf. Softw. Technol..

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

[18]  A. D. Shrivathsan,et al.  Meliorate Test Efficiency: A Survey , 2014 .

[19]  Mark Harman,et al.  Search Algorithms for Regression Test Case Prioritization , 2007, IEEE Transactions on Software Engineering.

[20]  Tim Miller,et al.  Using Dependency Structures for Prioritization of Functional Test Suites , 2013, IEEE Transactions on Software Engineering.

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

[22]  Gregg Rothermel,et al.  On the Use of Mutation Faults in Empirical Assessments of Test Case Prioritization Techniques , 2006, IEEE Transactions on Software Engineering.

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

[24]  Nadine Mandran,et al.  Prioritizing test cases with string distances , 2011, Automated Software Engineering.

[25]  Hadi Hemmati,et al.  A similarity-based approach for test case prioritization using historical failure data , 2015, 2015 IEEE 26th International Symposium on Software Reliability Engineering (ISSRE).

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

[27]  Hyunsook Do,et al.  Requirements based test prioritization using risk factors: An industrial study , 2016, Inf. Softw. Technol..

[28]  Baowen Xu,et al.  An Improved Regression Test Selection Technique by Clustering Execution Profiles , 2010, 2010 10th International Conference on Quality Software.

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

[30]  Chin-Yu Huang,et al.  Design and analysis of GUI test-case prioritization using weight-based methods , 2010, J. Syst. Softw..

[31]  Gregg Rothermel,et al.  Understanding the effects of changes on the cost‐effectiveness of regression testing techniques , 2003, Softw. Test. Verification Reliab..

[32]  Hyunsook Do,et al.  Test Case Prioritization Using Requirements-Based Clustering , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation.

[33]  Rongcun Wang,et al.  Empirical Study of the Effects of Different Similarity Measures on Test Case Prioritization , 2016 .

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

[35]  Chandraprakash,et al.  A Literature Survey on TCP-Test Case Prioritization using the RT-Regression Techniques , 2015 .

[36]  Wing Kwong Chan,et al.  Input-based adaptive randomized test case prioritization: A local beam search approach , 2015, J. Syst. Softw..

[37]  Kuan-Li Peng,et al.  A history-based cost-cognizant test case prioritization technique in regression testing , 2012, J. Syst. Softw..

[38]  Frank Elberzhager,et al.  Reducing test effort: A systematic mapping study on existing approaches , 2012, Inf. Softw. Technol..

[39]  Jinfu Chen,et al.  Aggregate-strength interaction test suite prioritization , 2015, J. Syst. Softw..

[40]  Dayang N. A. Jawawi,et al.  Test case prioritization approaches in regression testing: A systematic literature review , 2018, Inf. Softw. Technol..

[41]  Md. Abdur Rahman,et al.  Prioritizing Dissimilar Test Cases in Regression Testing using Historical Failure Data , 2018 .

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

[43]  Antonia Bertolino,et al.  Scope-aided test prioritization, selection and minimization for software reuse , 2017, J. Syst. Softw..

[44]  S. A. Sahaaya Arul Mary,et al.  Factor oriented requirement coverage based system test case prioritization of new and regression test cases , 2009, Inf. Softw. Technol..

[45]  Sonali Agarwal,et al.  A Hybrid Approach of Clustering and Time-Aware Based Novel Test Case Prioritization Technique , 2016 .

[46]  Amit Kumar,et al.  A Literature Survey on test case prioritization , 2014 .