Abstract
This paper presents a novel method referred as fault coverage-based test suite optimization (FCBTSO) for regression test suite optimization. FCBTSO is proposed based on Harrolds–Gupta–Soffa (HGS) test suite reduction method, and it follows the phenomenon: “learning from mistakes”. We conducted computational experiments on 12 versions of benchmarked programs retrieved from software artefact infrastructure repository and dummy fault matrix test. The performance of the proposed FCBTSO is measured against the traditional test suite reduction methods (Greedy method, Additional Greedy, HGS, and Enhanced HGS) by following the performance measures: fault coverage, execution time and reduced optimized test suite size. Rigorous statistical tests are conducted to determine the performance significance, which indicates that FCBTSO outperforms other approaches implemented with respect to the execution time that includes the execution time of the proposed approach to find the optimized test suite and the execution time of test cases in the optimized test suite.
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs00521-019-04098-9/MediaObjects/521_2019_4098_Fig1_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs00521-019-04098-9/MediaObjects/521_2019_4098_Fig2_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs00521-019-04098-9/MediaObjects/521_2019_4098_Fig3_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs00521-019-04098-9/MediaObjects/521_2019_4098_Fig4_HTML.png)
Similar content being viewed by others
References
Eghbali S, Tahvildari L (2016) Test case prioritization using lexicographical ordering. IEEE Trans Softw Eng 42:1178–1195
Augustsson A (2012) A framework for evaluating regression test selection techniques in industry. Chalmers University of Technology Gothenburg, Sweden
Yoo S, Harman M (2010) Using hybrid algorithm for pareto effcient multi-objective test suite minimisation. J Syst Softw 83:689–701
Harrold MJ, Rosenblum D, Rothermel G, Weyuker E (2001) Empirical studies of a prediction model for regression test selection. IEEE Trans Softw Eng 27:248–263
Malishevsky AG, Ruthruff JR, Rothermel G, Elbaum S (2006) Cost-cognizant test case prioritization
Elbaum S, Malishevsky AG, Rothermel G (2002) Test case prioritization: a family of empirical studies. IEEE Trans Softw Eng 28:159–182
Shi A, Gyori A, Gligoric M et al (2014) Balancing trade-offs in test-suite reduction. In: FSE’14, pp 1–11
Park S, Hossain BMM, Hussain I et al (2012) CarFast: achieving higher statement coverage faster. In: Proceedings of the ACM SIGSOFT 20th international symposium on the foundations of software engineering SIGSOFT’12/FSE-20, pp 1–11
Li Z, Harman M, Hierons RM (2007) Search algorithms for regression test case prioritization. IEEE Trans Softw Eng 33:225–237
Wong WE, Horgan JR, London S, Agrawal H (1997) A study of effective regression testing in practice. In: Proceedings of the eighth international symposium on software reliability engineering, pp 264–274
Harrold MJ, Gupta R, Soffa ML (1993) A methodology for controlling the size of a test suite. ACM Trans Softw Eng Methodol 2:270–285
Gladston A, Nehemiah HK, Narayanasamy P, Kannan A (2015) Test suite reduction using HGS based heuristic approach. Comput Inform 34:1113–1132
Rothermel G, Harrold MJ (1997) A safe, efficient regression test selection technique. ACM Trans Softw Eng Methodol 6:173–210
Offutt AJ, Pan J, Voas JM (1995) Procedures for reducing the size of coverage-based test sets. In: International conference on testing computer software, pp 1–11
Binkley D (1997) Semantics guided regression test cost reduction. IEEE Trans Softw Eng 23:498–516
Rothermel G, Harrold MJ, Von Ronne J, Hong C (2002) Empirical studies of test-suite reduction. J Softw Testing Verif Reliab 12:219–249
Briand LC, Labiche Y, He S (2009) Automating regression test selection based on UML designs. Inf Softw Technol 51:16–30
King JC (1975) A new approach to program testing. In: Proceedings of the international conference on reliable systems, pp 228–233
Miller W, Spooner DL (1976) Automatic generation of floating-point test data. IEEE Trans Softw Eng SE 2:223–226
Harrold MJ, Souffa ML (1988) An incremental approach to unit testing during maintenance. In: Proceedings of the conference on software maintenance, pp 362–367
Leung HKN (1989) Insights into regression testing. In: Proceedings of the international conference on software maintenance, pp 60–69
Fujiwara S, Bochmann GV, Khendek F et al (1991) Test selection based on finite state models. IEEE Trans Softw Eng 17:591–603
Rothermel G, Harrold MJ (1996) Analyzing regression test selection techniques. IEEE Trans Softw Eng 22:529–551
Rothermel G, Untch RH, Chu C, Harrold MJ (1999) Test case prioritization: an empirical study. In: Proceedings IEEE international conference on software maintenance—1999 (ICSM’99). “Software Maintenance for Business Change”, pp 179–188
Graves TL, Harrold MJ, Kim JM et al (2001) An empirical study of regression test selection techniques. ACM Trans Softw Eng Methodol 10:184–208. https://doi.org/10.1145/367008.367020
Jeffrey D, Gupta N (2005) Test suite reduction with selective redundancy. In: IEEE international conference on software maintenance, ICSM, pp 549–558
Grindal M, Lindström B, Offutt J, Andler SF (2006) An evaluation of combination strategies for test case selection. Empir Softw Eng 11:583–611. https://doi.org/10.1007/s10664-006-9024-2
Jeffrey D, Gupta N (2007) Improving fault detection capability by selectively retaining test cases during test suite reduction. IEEE Trans Softw Eng 33:108–123
Zhong H, Zhang L, Mei H (2008) An experimental study of four typical test suite reduction techniques. Inf Softw Technol 50:534–546
Chen TY, Lau MF (1998) A new heuristic for test suite reduction. Inf Softw Technol 40:347–354
Mansour N, El-Fakih K (1999) Simulated annealing and genetic algorithms for optimal regression testing. J Softw Maint Res Pract 11:19–34
Black J, Melachrinoudis E, Kaeli D (2004) Bi-criteria models for all-uses test suite reduction. In: Proceedings of the 26th international conference on software engineering, pp 106–115
Lin JW, Huang CY (2009) Analysis of test suite reduction with enhanced tie-breaking techniques. Inf Softw Technol 51:679–690
Chen Y, Probert RL, Ural H (2009) Regression test suite reduction based on SDL models of system requirements. J Softw Maint Evol Res Pract 21:379–405
Wang YH, Wu IC (2009) Achieving high and consistent rendering performance of java AWT/Swing on multiple platforms. Softw Pract Exp 39:701–736
Mirarab S, Akhlaghi S, Tahvildari L (2012) Size-constrained regression test case selection using multicriteria optimization. IEEE Trans Softw Eng 38:936–956
Wang S, Ali S, Gotlieb A (2013) Minimizing test suites in software product lines using weight-based genetic algorithms. In: 2013 15th genetic and evolutionary computation conference, GECCO 2013, pp 1493–1500
Liu P (2014) An efficient reduction approach to test suite. In: 15th IEEE/ACIS international conference on software engineering, artificial intelligence, networking and parallel/distributed computing (SNPD), pp 1–5
Harris P, Raju N (2015) A greedy approach for coverage-based test suite reduction. Int Arab J Inf Technol 12:17–23
Shi A, Yung T, Gyori A, Marinov D (2015) Comparing and combining test-suite reduction and regression test selection. In: Proceedings of the 2015 10th joint meeting on foundations of software engineering, pp 237–247
Harris P, Raju N (2015) Towards test suite reduction using maximal frequent data mining concept. Int J Comput Appl Technol 52:48–58
Panichella A, Oliveto R, Di Penta M, De Lucia A (2015) Improving multi-objective test case selection by injecting diversity in genetic algorithms. IEEE Trans Softw Eng 41:358–383
Hafez S, Elnainay M, Abougabal M, Elshehaby S (2016) Potential-fault cache-based regression test selection. In: Proceedings of IEEE/ACS international conference on computer systems and applications, AICCSA, pp 1–8
Panda S, Mohapatra DP (2017) Regression test suite minimization using integer linear programming model. Softw Pract Exp 47:1539–1560
Garousi V, Özkan R, Betin-Can A (2018) Multi-objective regression test selection in practice: an empirical study in the defense software industry. Inf Softw Technol 103:40–54
Chen J, Zhu L, Chen TY et al (2018) Test case prioritization for object-oriented software: an adaptive random sequence approach based on clustering. J Syst Softw 135:107–125
Do H, Elbaum S, Rothermel G (2005) Supporting controlled experimentation with testing techniques: an infrastructure and its potential impact. Empir Softw Eng 10:405–435
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Agrawal, A.P., Choudhary, A., Kaur, A. et al. Fault coverage-based test suite optimization method for regression testing: learning from mistakes-based approach. Neural Comput & Applic 32, 7769–7784 (2020). https://doi.org/10.1007/s00521-019-04098-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00521-019-04098-9