Abstract
A software needs to be updated to survive in the customers’ ever-changing demands and the competitive market. The modifications may produce undesirable changes that require retesting, known as regression testing, before releasing it in the public domain. This retesting cost increases with the growth of the software test suite. Thus, regression testing is divided into three techniques: test case prioritization, selection, and minimization to reduce costs and efforts. The efficiency and effectiveness of these techniques are further enhanced with the help of optimization techniques. Therefore, we present the regression testing using well-known algorithms, genetic algorithm, particle swarm optimization, a relatively new nature-inspired approach, gravitational search algorithm, and its hybrid with particle swarm optimization algorithm. Furthermore, we propose a tri-level regression testing, i.e., it performs all the three methods in succession. Nature-inspired algorithms prioritize the test cases on code coverage criteria. It is followed by selecting the modification-revealing test cases based on the proposed adaptive test case selection approach. The last step consists of the removal of redundant test cases. The hybrid algorithm performed well for the average percentage of statement coverage, and the efficiency of genetic algorithm and particle swarm optimization is better comparatively. The proposed test case selection method can select at least 75% modification-revealing test cases using nature-inspired algorithms. Additionally, it minimizes the test suite with full statement coverage and almost negligible fault coverage loss. Overall, the simulation results show that the proposed hybrid technique outperformed the other algorithms.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Mann M, Sangwan OP (2014) Test case prioritization using Cuscuta search. Netw Biol 4(4):179–192
Chaudhary N, Sangwan OP (2016) Multi objective test suite reduction for GUI based software using NSGA-II. Int J Inf Technol Comput Sci 8:59–65
Bajaj A, Sangwan OP (2018) A survey on regression testing using nature-inspired approaches. In: Proceedings of 4th international conference on computing, communication and automation. IEEE, pp 1–5
Mann M, Tomar P, Sangwan OP (2018) Bio-inspired metaheuristics: evolving and prioritizing software test data. Appl Intell 48(3):687–702
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 (Cat. No. 99CB36360). IEEE, pp 179–188
Rothermel G, Untch RH, Chu C, Harrold MJ (2001) Prioritizing test cases for regression testing. IEEE Trans Softw Eng 27(10):929–948
Khanna M, Chaudhary A, Toofani A, Pawar A (2019) Performance comparison of multi-objective algorithms for test case prioritization during web application testing. Arab J Sci Eng 44(11):9599–9625
Yoo S, Harman M (2012) Regression testing minimization, selection and prioritization: a survey. Softw Test Verif Reliab 22(2):67–120
Bajaj A, Sangwan OP (2019) A systematic literature review of test case prioritization using genetic algorithms. IEEE Access 7:126355–126375
Mittal S, Sangwan OP (2018) Prioritizing test cases for regression techniques using metaheuristic techniques. J Inf Optim Sci 39(1):39–51
Fister Jr I, Yang XS, Fister I, Brest J, Fister D (2013) A brief review of nature-inspired algorithms for optimization. arXiv preprint, arXiv:1307.4186, pp 116–122
Kennedy J, Eberhart R (1995) Particle swarm optimization. In: Proceedings of ICNN'95-international conference on neural networks, vol 4. IEEE, pp 1942–1948
Rashedi E, Nezamabadi-Pour H, Saryazdi S (2019) GSA: a gravitational search algorithm. Inf Sci 179(13):2232–2248
Di Nucci D, Panichella A, Zaidman A, De Lucia A (2018) A test case prioritization genetic algorithm guided by the hypervolume indicator. IEEE Trans Softw Eng 46(6):674–696
Bajaj A, Sangwan OP (2019) Study the impact of parameter settings and operators role for genetic algorithm based test case prioritization. In: Proceedings of international conference on sustainable computing in science, technology and management. Elsevier, Amsterdam, pp 1564–1569. https://doi.org/10.2139/ssrn.3356318
Dhareula P, Ganpati A (2020) Flower pollination algorithm for test case prioritization in regression testing. In: Fong S, Dey N, Joshi A (eds) ICT analysis and applications. Springer, Singapore, pp 155–167
Bajaj A, Sangwan OP (2020) Test case prioritization using bat algorithm. Recent Adv Comput Sci Commun. https://doi.org/10.2174/2213275912666190226154344
Gupta D, Gupta V (2016) Test suite prioritization using nature inspired meta-heuristic algorithms. International conference on intelligent systems design and applications. Springer, Cham, pp 216–226
De Souza LS, Prudêncio RB, Barros FDA (2014) A hybrid binary multi-objective particle swarm optimization with local search for test case selection. In: Brazilian conference on intelligent systems. IEEE, pp 414–419
De Souza LS, Prudêncio RBC, De Barros FA (2015) A hybrid particle swarm optimization and harmony search algorithm approach for multi-objective test case selection. J Braz Comput Society 21(1):19
Mondal D, Hemmati H, Durocher S (2015) Exploring test suite diversification and code coverage in multi-objective test case selection. In: 2015 IEEE 8th international conference on software testing, verification and validation (ICST). IEEE, pp 1–10
Harikarthik SK, Palanisamy V, Ramanathan P (2019) Optimal test suite selection in regression testing with test case prioritization using modified Ann and Whale optimization algorithm. Cluster Comput 22(5):11425–11434
Correia D (2019) An industrial application of test selection using test suite diagnosability. In: Proceedings of the 2019 27th ACM joint meeting on European software engineering conference and symposium on the foundations of software engineering, pp 1214–1216
De Souza LS, Prudêncio RB, Barros FDA, Aranha EHDS (2013) Search based constrained test case selection using execution effort. Expert Syst Appl 40(12):4887–4896
Suri B, Singhal S (2011) Analyzing test case selection & prioritization using ACO. SIGSOFT Softw Eng Notes 36(6):1–5
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
Sugave SR, Patil SH, Reddy BE (2018) DIV-TBAT algorithm for test suite reduction in software testing. IET Softw 12(3):271–279
Mohapatra SK, Prasad S (2015) Test case reduction using ant colony optimization for object oriented program. Int J Electr Comput Eng 5(6):2088–8708
Zhang YN, Yang H, Lin ZK, Dai Q, Li YF (2017) A test suite reduction method based on novel quantum ant colony algorithm. In: 2017 4th international conference on information science and control engineering (ICISCE). IEEE, pp 825–829
Marchetto A, Scanniello G, Susi A (2017) Combining code and requirements coverage with execution cost for test suite reduction. IEEE Trans Softw Eng 45(4):363–390
Anwar Z, Afzal H, Bibi N, Abbas H, Mohsin A, Arif O (2019) A hybrid-adaptive neuro-fuzzy inference system for multi-objective regression test suites optimization. Neural Comput Appl 31(11):7287–7301
Bajaj A, Sangwan OP (2020) Nature-inspired approaches to test suite minimization for regression testing. In: Bansal A, Jain A, Jain S, Jain V, Choudhary A (eds) Computational intelligence techniques and their applications to software engineering problems, vol 1. CRC Press, Boca Raton, pp 99–110
Gouthamkumar N, Sharma V, Naresh R (2015) Disruption based gravitational search algorithm for short term hydrothermal scheduling. Expert Syst Appl 42(20):7000–7011
Prakash J, Singh PK (2019) Gravitational search algorithm and K-means for simultaneous feature selection and data clustering: a multi-objective approach. Soft Comput 23(6):2083–2100
Dhumane AV, Prasad RS (2019) Multi-objective fractional gravitational search algorithm for energy efficient routing in IoT. Wirel Netw 25(1):399–413
Bala I, Yadav A (2019) Gravitational search algorithm: a state-of-the-art review. In: Yadav N, Yadav A, Bansal J, Deep K, Kim J (eds) Harmony search and nature inspired optimization algorithms. Springer, Singapore, pp 27–37
Somu N, MR GR, Kaveri A, Krithivasan K, VS SS, (2020) IBGSS: An Improved Binary Gravitational Search Algorithm based search strategy for QoS and ranking prediction in cloud environments. Appl Soft Comput 88:105945
Mirjalili S, Gandomi AH (2017) Chaotic gravitational constants for the gravitational search algorithm. Appl Soft Comput 53:407–419
Mirjalili S, Hashim SZM (2010) A new hybrid PSOGSA algorithm for function optimization. In: 2010 international conference on computer and information application. IEEE, pp 374–377.
Sarhani M, Afia AE (2016) Simultaneous feature selection and parameter optimisation of support vector machine using adaptive particle swarm gravitational search algorithm. Int J Metaheuristics 5(1):51–66
Mallick S, Kar R, Mandal D, Ghoshal SP (2017) Optimal sizing of CMOS analog circuits using gravitational search algorithm with particle swarm optimization. Int J Mach Learn Cybern 8(1):309–331
Meshram SG, Ghorbani MA, Shamshirband S, Karimi V, Meshram C (2019) River flow prediction using hybrid PSOGSA algorithm based on feed-forward neural network. Soft Comput 23(20):10429–10438
Farasat A, Menhaj MB, Mansouri T, Moghadam MRS (2010) ARO: a new model-free optimization algorithm inspired from asexual reproduction. Appl Soft Comput 10(4):1284–1292
Mansouri T, Farasat A, Menhaj MB, Moghadam MRS (2011) ARO: a new model free optimization algorithm for real time applications inspired by the asexual reproduction. Expert Syst Appl 38(5):4866–4874
Hao D, Zhao X, Zhang L (2013) Adaptive test-case prioritization guided by output inspection. In: 2013 IEEE 37th annual computer software and applications conference, pp 169–179.
Holland JH (1992) Adaptation in natural and artificial systems: an introductory analysis with applications to biology, control, and artificial intelligence. MIT Press, Cambridge
Do H, Elbaum S, Rothermel G (2005) Supporting controlled experimentation with testing techniques: an infrastructure and its potential impact. Empir Softw Eng 10(4):405–435
Eghbali S, Tahvildari L (2016) Test case prioritization using lexicographical ordering. IEEE Trans Softw Eng 42(12):1178–1195
Mei H, Hao D, Zhang L, Zhang L, Zhou J, Rothermel G (2012) A static approach to prioritizing juint test cases. IEEE Trans Softw Eng 38(6):1258–1275
Chouhan VK, Khan SH, Hajiaghaei-Keshteli M, Subramanian S (2020) Multi-facility-based improved closed-loop supply chain network for handling uncertain demands. Soft Comput 24:7125–7147
Acknowledgements
The University Grants Commission supports this work under the JRF-NET scheme with Reference Number 3469/(NET-DEC. 2014). We want to express our deep sense of gratitude to Prof. Saroj Ratnoo for proofreading. We would also like to thank the anonymous reviewers for their valuable comments and consideration.
Author information
Authors and Affiliations
Corresponding author
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
Bajaj, A., Sangwan, O.P. Tri-level regression testing using nature-inspired algorithms. Innovations Syst Softw Eng 17, 1–16 (2021). https://doi.org/10.1007/s11334-021-00384-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11334-021-00384-9