International Journal of Advanced Technology and Engineering Exploration (IJATEE) ISSN (P): 2394-5443 ISSN (O): 2394-7454 Vol - 9, Issue - 88, March 2022
  1. 1
    Google Scholar
Test case prioritization using modified genetic algorithm and ant colony optimization for regression testing

T. K. Akila and A. Malathi

Abstract

Regression testing (RT) plays an essential role in software maintenance. The occurrence of any new fault during the re-testing or modification process needs to be analyzed effectually. RT needs enormous effort to produce a higher fault detection rate. Test case prioritization (TCP) is an efficient way to predict the fault detection rate. Various researchers modelled the TCP method to provide a single objective solution; however, this work concentrates on providing a multi-objective solution using a meta-heuristic optimization approach. Here, two different approaches known as ant colony optimization (ACO) and genetic algorithm (GA) are adopted to offer a multi-objective solution with a better fault detection rate. The characteristics of the ACO and GA are analyzed to prioritize the test case by combining the multi-dimensional characteristics under the test environment to enhance the fault detection rate. Here, some experimentation is made to compute the performance of the proposed model by evaluating the number of test cases, number of iterations, and ant traversal path. The proposed model shows better trade-off in contrast to the prevailing approaches where the fault detection rate of multi-objective (ACO and GA) model provides outcomes of 94.5%, 94.8%, 93.8%, 92.5%, 95.8%, 97.8%, 99.2%, and 93.5% respectively.

Keyword

Regression test, Test case prioritization, Genetic algorithm, Ant colony optimization, Meta-heuristic optimization.

Cite this article

Akila TK, Malathi A

Refference

[1][1]Yoo S, Harman M. Regression testing minimization, selection and prioritization: a survey. Software Testing, Verification and Reliability. 2012; 22(2):67-120.

[2][2]Yuan F, Bian Y, Li Z, Zhao R. Epistatic genetic algorithm for test case prioritization. In international symposium on search based software engineering 2015 (pp. 109-24). Springer, Cham.

[3][3]Bajaj A, Sangwan OP. A survey on regression testing using nature-inspired approaches. In 4th international conference on computing communication and automation 2018 (pp. 1-5). IEEE.

[4][4]Wang S, Buchmann D, Ali S, Gotlieb A, Pradhan D, Liaaen M. Multi-objective test prioritization in software product line testing: an industrial case study. In proceedings of the international software product line conference 2014 (pp. 32-41).

[5][5]Ansari A, Khan A, Khan A, Mukadam K. Optimized regression test using test case prioritization. Procedia Computer Science. 2016; 79:152-60.

[6][6]Huang YC, Peng KL, Huang CY. A history-based cost-cognizant test case prioritization technique in regression testing. Journal of Systems and Software. 2012; 85(3):626-37.

[7][7]Briand L, Labiche Y, Chen K. A multi-objective genetic algorithm to rank state-based test cases. In international symposium on search based software engineering 2013 (pp. 66-80). Springer, Berlin, Heidelberg.

[8][8]Pradhan D, Wang S, Ali S, Yue T, Liaaen M. CBGA-ES: a cluster-based genetic algorithm with elitist selection for supporting multi-objective test optimization. In international conference on software testing, verification and validation 2017 (pp. 367-78). IEEE.

[9][9]Srikanth H, Hettiarachchi C, Do H. Requirements based test prioritization using risk factors: an industrial study. Information and Software Technology. 2016; 69:71-83.

[10][10]Khanna M, Chauhan N, Sharma D, Toofani A, Chaudhary A. Search for prioritized test cases in multi-objective environment during web application testing. Arabian Journal for Science and Engineering. 2018; 43(8):4179-201.

[11][11]Suri B, Singhal S. Implementing ant colony optimization for test case selection and prioritization. International Journal on Computer Science and Engineering. 2011; 3(5):1924-32.

[12][12]Geng J, Li Z, Zhao R, Guo J. Search based test suite minimization for fault detection and localization: a co-driven method. In international symposium on search based software engineering 2016 (pp. 34-48). Springer, Cham.

[13][13]Li Z, Harman M, Hierons RM. Search algorithms for regression test case prioritization. IEEE Transactions on Software Engineering. 2007; 33(4):225-37.

[14][14]Yoo S, Harman M, Ur S. Highly scalable multi objective test suite minimisation using graphics cards. In international symposium on search based software engineering 2011 (pp. 219-36). Springer, Berlin, Heidelberg.

[15][15]Mei H, Hao D, Zhang L, Zhang L, Zhou J, Rothermel G. A static approach to prioritizing junit test cases. IEEE Transactions on Software Engineering. 2012; 38(6):1258-75.

[16][16]Yoo S, Harman M, Tonella P, Susi A. Clustering test cases to achieve effective and scalable prioritisation incorporating expert knowledge. In proceedings of the eighteenth international symposium on software testing and analysis 2009 (pp. 201-12).

[17][17]Marchetto A, Islam MM, Asghar W, Susi A, Scanniello G. A multi-objective technique to prioritize test cases. IEEE Transactions on Software Engineering. 2015; 42(10):918-40.

[18][18]Di ND, Panichella A, Zaidman A, De LA. A test case prioritization genetic algorithm guided by the hypervolume indicator. IEEE Transactions on Software Engineering. 2018; 46(6):674-96.

[19][19]Guo P, Wang X, Han Y. The enhanced genetic algorithms for the optimization design. In international conference on biomedical engineering and informatics 2010 (pp. 2990-4). IEEE.

[20][20]Laali M, Liu H, Hamilton M, Spichkova M, Schmidt HW. Test case prioritization using online fault detection information. In Ada-Europe international conference on reliable software technologies 2016 (pp. 78-93). Springer, Cham.

[21][21]Khatibsyarbini M, Isa MA, Jawawi DN, Hamed HN, Suffian MD. Test case prioritization using firefly algorithm for software testing. IEEE Access. 2019; 7:132360-73.

[22][22]Jahan H, Feng Z, Mahmud SM. Risk-based test case prioritization by correlating system methods and their associated risks. Arabian Journal for Science and Engineering. 2020; 45(8):6125-38.

[23][23]Solanki K, Singh Y, Dalal S, Srivastava PR. Test case prioritization: an approach based on modified ant colony optimization. In emerging research in computing, information, communication and applications 2016 (pp. 213-23). Springer, Singapore.

[24][24]Kundu D, Sarma M, Samanta D, Mall R. System testing for object‐oriented systems with test case prioritization. Software Testing, Verification and Reliability. 2009; 19(4):297-333.

[25][25]Kaur P, Bansal P, Sibal R. Prioritization of test scenarios derived from UML activity diagram using path complexity. In proceedings of the CUBE international information technology conference 2012 (pp. 355-9).

[26][26]Sharma S, Singh A. Model-based test case prioritization using ACO: a review. In international conference on parallel, distributed and grid computing 2016 (pp. 177-81). IEEE.

[27][27]Niu H, Keivanloo I, Zou Y. Learning to rank code examples for code search engines. Empirical Software Engineering. 2017; 22(1):259-91.

[28][28]Ye X, Bunescu R, Liu C. Learning to rank relevant files for bug reports using domain knowledge. In proceedings of the ACM SIGSOFT international symposium on foundations of software engineering 2014 (pp. 689-99).

[29][29]Yu YT, Lau MF. Fault-based test suite prioritization for specification-based testing. Information and Software Technology. 2012; 54(2):179-202.

[30][30]Paiva AC, Faria JC, Tillmann N, Vidal RA. A model-to-implementation mapping tool for automated model-based GUI testing. In international conference on formal engineering methods 2005 (pp. 450-64). Springer, Berlin, Heidelberg.

[31][31]Singh G, Gupta D. An integrated approach to test suite selection using ACO and genetic algorithm. International Journal of Advanced Research in Computer Science and Software Engineering. 2013; 3(6):1770-8.

[32][32]Tahat L, Korel B, Koutsogiannakis G, Almasri N. State-based models in regression test suite prioritization. Software Quality Journal. 2017; 25(3):703-42.

[33][33]Nayak S, Kumar C, Tripathi S. Enhancing efficiency of the test case prioritization technique by improving the rate of fault detection. Arabian Journal for Science and Engineering. 2017; 42(8):3307-23.

[34][34]Wang Y, Zhu Z, Yang B, Guo F, Yu H. Using reliability risk analysis to prioritize test cases. Journal of Systems and Software. 2018; 139:14-31.

[35][35]Jahan H, Feng Z, Mahmud SM, Dong P. Version specific test case prioritization approach based on artificial neural network. Journal of Intelligent & Fuzzy Systems. 2019; 36(6):6181-94.

[36][36]Khatibsyarbini M, Isa MA, Jawawi DN, Tumeng R. Test case prioritization approaches in regression testing: a systematic literature review. Information and Software Technology. 2018; 93:74-93.

[37][37]Fu W, Yu H, Fan G, Ji X, Pei X. A regression test case prioritization algorithm based on program changes and method invocation relationship. In Asia-pacific software engineering conference 2017 (pp. 169-78). IEEE.

[38][38]Dash U, Acharya AA. A systematic review of test case prioritization approaches. In proceedings of international conference on advanced computing applications 2022 (pp. 653-66). Springer, Singapore.

[39][39]Gupta P. Test case prioritization based on requirement. In communication and intelligent systems 2021 (pp. 309-14). Springer, Singapore.

[40][40]Hettiarachchi C, Do H, Choi B. Effective regression testing using requirements and risks. In eighth international conference on software security and reliability 2014 (pp. 157-66). IEEE.