Skip to main content

Advertisement

Log in

Tri-level regression testing using nature-inspired algorithms

  • Original Article
  • Published:
Innovations in Systems and Software Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

References

  1. Mann M, Sangwan OP (2014) Test case prioritization using Cuscuta search. Netw Biol 4(4):179–192

    Google Scholar 

  2. 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

    Google Scholar 

  3. 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

  4. Mann M, Tomar P, Sangwan OP (2018) Bio-inspired metaheuristics: evolving and prioritizing software test data. Appl Intell 48(3):687–702

    Article  Google Scholar 

  5. 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

  6. Rothermel G, Untch RH, Chu C, Harrold MJ (2001) Prioritizing test cases for regression testing. IEEE Trans Softw Eng 27(10):929–948

    Article  Google Scholar 

  7. 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

    Article  Google Scholar 

  8. Yoo S, Harman M (2012) Regression testing minimization, selection and prioritization: a survey. Softw Test Verif Reliab 22(2):67–120

    Article  Google Scholar 

  9. Bajaj A, Sangwan OP (2019) A systematic literature review of test case prioritization using genetic algorithms. IEEE Access 7:126355–126375

    Article  Google Scholar 

  10. Mittal S, Sangwan OP (2018) Prioritizing test cases for regression techniques using metaheuristic techniques. J Inf Optim Sci 39(1):39–51

    Google Scholar 

  11. 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

  12. Kennedy J, Eberhart R (1995) Particle swarm optimization. In: Proceedings of ICNN'95-international conference on neural networks, vol 4. IEEE, pp 1942–1948

  13. Rashedi E, Nezamabadi-Pour H, Saryazdi S (2019) GSA: a gravitational search algorithm. Inf Sci 179(13):2232–2248

    Article  Google Scholar 

  14. 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

    Article  Google Scholar 

  15. 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

  16. 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

    Chapter  Google Scholar 

  17. Bajaj A, Sangwan OP (2020) Test case prioritization using bat algorithm. Recent Adv Comput Sci Commun. https://doi.org/10.2174/2213275912666190226154344

    Article  Google Scholar 

  18. 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

    Google Scholar 

  19. 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

  20. 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

    Article  Google Scholar 

  21. 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

  22. 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

    Article  Google Scholar 

  23. 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

  24. 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

    Article  Google Scholar 

  25. Suri B, Singhal S (2011) Analyzing test case selection & prioritization using ACO. SIGSOFT Softw Eng Notes 36(6):1–5

    Article  Google Scholar 

  26. 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

    Article  Google Scholar 

  27. Sugave SR, Patil SH, Reddy BE (2018) DIV-TBAT algorithm for test suite reduction in software testing. IET Softw 12(3):271–279

    Article  Google Scholar 

  28. 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

    Google Scholar 

  29. 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

  30. 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

    Article  Google Scholar 

  31. 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

    Article  Google Scholar 

  32. 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

    Chapter  Google Scholar 

  33. Gouthamkumar N, Sharma V, Naresh R (2015) Disruption based gravitational search algorithm for short term hydrothermal scheduling. Expert Syst Appl 42(20):7000–7011

    Article  Google Scholar 

  34. 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

    Article  Google Scholar 

  35. Dhumane AV, Prasad RS (2019) Multi-objective fractional gravitational search algorithm for energy efficient routing in IoT. Wirel Netw 25(1):399–413

    Article  Google Scholar 

  36. 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

    Chapter  Google Scholar 

  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

    Article  Google Scholar 

  38. Mirjalili S, Gandomi AH (2017) Chaotic gravitational constants for the gravitational search algorithm. Appl Soft Comput 53:407–419

    Article  Google Scholar 

  39. 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.

  40. 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

    Article  Google Scholar 

  41. 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

    Article  Google Scholar 

  42. 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

    Article  Google Scholar 

  43. 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

    Article  Google Scholar 

  44. 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

    Article  Google Scholar 

  45. 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.

  46. Holland JH (1992) Adaptation in natural and artificial systems: an introductory analysis with applications to biology, control, and artificial intelligence. MIT Press, Cambridge

    Book  Google Scholar 

  47. 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

    Article  Google Scholar 

  48. Eghbali S, Tahvildari L (2016) Test case prioritization using lexicographical ordering. IEEE Trans Softw Eng 42(12):1178–1195

    Article  Google Scholar 

  49. 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

    Article  Google Scholar 

  50. 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

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Anu Bajaj.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11334-021-00384-9

Keywords

Navigation