Skip to main content
Log in

Nature-inspired metaheuristic methods in software testing

  • Application of soft computing
  • Published:
Soft Computing Aims and scope Submit manuscript

Abstract

Software quality is becoming a momentous challenge in software engineering processes, and software testing has a pivotal role in its measurements. Nature-inspired metaheuristic methods play an essential role in software testing, in which various studies have been conducted in this field; however, due to a lack of wide-ranging papers reviewing these methods, conducting a comprehensive systematic review to examine an array of crucial mechanisms in this field has become a necessity. This study aims to present a detailed analysis and taxonomically classifies the metaheuristic methods inspired by nature. This paper compromises a systematic literature review of 65 chosen studies published between 2015 and 2022. Genetic algorithm-based, hybrid, ant colony optimization-based, cuckoo search-based, firefly algorithm-based, artificial bee colony-based, and other metaheuristic methods constitute this systematic study’s stratification. Evaluation methods, applied tools, merits, and demerits of each reviewed article are investigated. Additionally, future directions and open issues are addressed. This conducted paper not only expounds on software testing strengths, open issues, and future works, but also recognizes the quest for optimizing the insufficient metrics in software testing, such as mutation score, complexity, and scalability, which would be the propulsion of the testing process if consummated.

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

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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

Explore related subjects

Discover the latest articles, news and stories from top researchers in related subjects.

Data availability

Enquiries about data availability should be directed to the authors

Notes

  1. https://scholar.google.com.

  2. https://www.sciencedirect.com.

  3. http://ieeexplore.ieee.org.

  4. http://www.acm.org.

  5. http://link.springer.com.

  6. http://www.tandfonline.com.

  7. https://www.hindawi.com.

  8. http://online.sagepub.com.

  9. https://www.emerald.com.

  10. https://www.worldscientific.com.

  11. https://www.wiley.com.

  12. https://www.inderscience.com.

References

  • Abkenar SB, Kashani MH, Akbari M, Mahdipour E (2020) Twitter spam detection: a systematic review. arXiv:201114754

  • Afzal W, Alone S, Glocksien K, Torkar R (2016) Software test process improvement approaches: a systematic literature review and an industrial case study. J Syst Softw 111:1–33

    Google Scholar 

  • Aghdam ZK, Arasteh B (2017) An efficient method to generate test data for software structural testing using artificial bee colony optimization algorithm. Int J Software Eng Knowl Eng 27:951–966

    Google Scholar 

  • Ahmadi Z, Haghi Kashani M, Nikravan M, Mahdipour E (2021) Fog-based healthcare systems: a systematic review. Multim Tools Appl 80:36361–36400

    Google Scholar 

  • Ahmed BS, Abdulsamad TS, Potrus MY (2015) Achievement of minimized combinatorial test suite for configuration-aware software functional testing using the cuckoo search algorithm. Inf Softw Technol 66:13–29

    Google Scholar 

  • Alkawaz MH, Silvarajoo A (2019) A survey on test case prioritization and optimization techniques in software regression testing. In: 2019 IEEE 7th conference on systems, process and control (ICSPC), pp 59–64

  • Alsariera YA, Majid MA, Zamli KZ (2015) SPLBA: an interaction strategy for testing software product lines using the Bat-inspired algorithm. In: 2015 4th international conference on software engineering and computer systems (ICSECS), pp 148–153

  • Alyahya S (2020) Crowdsourced software testing: a systematic literature review. Inf Softw Technol 127:106363

    Google Scholar 

  • Anand S, Burke EK, Chen TY, Clark J, Cohen MB, Grieskamp W, Harman M, Harrold MJ, Mcminn P, Bertolino A (2013) An orchestrated survey of methodologies for automated software test case generation. J Syst Softw 86:1978–2001

    Google Scholar 

  • Anbu M, Anandha Mala GS (2019) Feature selection using firefly algorithm in software defect prediction. Clust Comput 22:10925–10934

    Google Scholar 

  • Antelman K, Bakkalbasi N, Goodman D, Hajjem C, Harnad S (2005) Evaluation of algorithm performance on identifying OA

  • Arasteh B, Hosseini SMJ (2022) Traxtor: an automatic software test suit generation method inspired by imperialist competitive optimization algorithms. J Electron Test 38:205–215

    Google Scholar 

  • Asoudeh N, Labiche Y (2018) Life sciences-inspired test case similarity measures for search-based, FSM-based software testing. In: Pierantonio A, Trujillo S (eds) Modelling foundations and applications. Springer International Publishing, Cham, pp 199–215

    Google Scholar 

  • Baby B and Banu S (2019) Enhanced security for dynamic multi keyword ranked search using greedy best first search

  • Bahaweres RB, Zawawi K, Khairani D and Hakiem N (2017) Analysis of statement branch and loop coverage in software testing with genetic algorithm. In: 2017 4th international conference on electrical engineering, computer science and informatics (EECSI), pp 1–6, IEEE

  • Bahrampour A, Rafe V (2021) Using memetic algorithm for robustness testing of contract-based software models. Artif Intell Rev 54:877–915

    Google Scholar 

  • Barbosa G, de Souza ÉF, dos Santos LBR, da Silva M, Balera JM, Vijaykumar NL (2022) A systematic literature review on prioritizing software test cases using Markov chains. Inf Softw Technol 147:106902

    Google Scholar 

  • Barr ET, Harman M, McMinn P, Shahbaz M, Yoo S (2014) The oracle problem in software testing: a survey. IEEE Trans Software Eng 41:507–525

    Google Scholar 

  • Basili VR (1989) Software development: a paradigm for the future. In: Proceedings of the thirteenth annual international computer software & applications conference. IEEE, pp 471–485

  • Bazzaz Abkenar S, Haghi Kashani M, Mahdipour E, Jameii SM (2021) Big data analytics meets social media: A systematic review of techniques, open issues, and future directions. Telematics Inform 57:101517

    Google Scholar 

  • Bellman R (1966) Dynamic programming. Science 153:34–37

    Google Scholar 

  • Betts KM, Petty MD (2016) Automated search-based robustness testing for autonomous vehicle software. Model Simul Eng 2016:5309348

    Google Scholar 

  • Bharathi M, Sangeetha V (2018) Weighted rank ant colony metaheuristics optimization based test suite reduction in combinatorial testing for improving software quality. In: 2018 second international conference on intelligent computing and control systems (ICICCS). IEEE, pp 525–534

  • Bianchi L, Dorigo M, Gambardella LM, Gutjahr WJ (2009) A survey on metaheuristics for stochastic combinatorial optimization. Nat Comput 8:239–287

    MathSciNet  Google Scholar 

  • Biswas S, Kaiser MS, Mamun S (2015) Applying ant colony optimization in software testing to generate prioritized optimal path and test data. In: 2015 international conference on electrical engineering and information communication technology (ICEEICT). IEEE, pp 1–6

  • Bluemke I, Malanowska A (2021) Software testing effort estimation and related problems: a systematic literature review. ACM Comput Surv 54:Article 53

  • Boisvert RF, Cools R and Einarsson B (2005) Assessment of accuracy and reliability, in Accuracy and reliability in scientific computing pp 13–32, SIAM.

  • Boopathi M, Sujatha R, Kumar CS and Narasimman S (2014) The mathematics of software testing using genetic algorithm, in Proceedings of 3rd International Conference on Reliability, Infocom Technologies and Optimization pp 1–6, IEEE.

  • Boopathi M, Sujatha R, Kumar CS, Narasimman S, Rajan A (2019) Markov approach for quantifying the software code coverage using genetic algorithm in software testing. International Journal of Bio-Inspired Computation 14:27–45

    Google Scholar 

  • Brereton P, Kitchenham BA, Budgen D, Turner M, Khalil M (2007) Lessons from applying the systematic literature review process within the software engineering domain. J Syst Softw 80:571–583

    Google Scholar 

  • Burnstein I, Suwanassart T and Carlson R (1996) Developing a testing maturity model for software test process evaluation and improvement, in Proceedings International Test Conference 1996 Test and Design Validity pp 581–589, IEEE.

  • Carpenter BE and Doran R (1986) AM Turing's ACE report of 1946 and other papers, Massachusetts Institute of Technology.

  • Charette RN (2005) Why software fails [software failure]. IEEE Spectr 42:42–49

    Google Scholar 

  • Chen Y and Sun X-H (2006) Stas: A scalability testing and analysis system, in 2006 IEEE International Conference on Cluster Computing pp 1–10, IEEE.

  • Collins E, Dias-Neto A and de Lucena Jr VF (2012) Strategies for agile software testing automation: An industrial experience, in 2012 IEEE 36th Annual Computer Software and Applications Conference Workshops pp 440–445, IEEE.

  • Dadkhah M, Araban S, Paydar S (2020) A systematic literature review on semantic web enabled software testing. J Syst Softw 162:110485

    Google Scholar 

  • Damia A, Esnaashari M and Parvizimosaed M (2021) Automatic Web-Based Software Structural Testing Using an Adaptive Particle Swarm Optimization Algorithm for Test Data Generation, in 2021 7th International Conference on Web Research (ICWR) pp 282–286.

  • Dasgupta D, Ji Z and Gonzalez F (2003) Artificial immune system (AIS) research in the last five years, in The 2003 Congress on Evolutionary Computation, 2003 CEC'03 pp 123–130, IEEE.

  • Dasoriya R and Dashoriya R (2018) Use of Optimized Genetic Algorithm for Software Testing, in 2018 IEEE International Students' Conference on Electrical, Electronics and Computer Science (SCEECS) pp 1–5, IEEE.

  • Devika Rani Dhivya and Mee-nakshi (2018)" in the text and Tables 17 and 18 is inactive. Dhivya DR, K and Meenakshi VS, (2018) An Optimized Adaptive Random Partition Software Testing by Using Bacterial Foraging Algorithm. In: Hemanth DJ, Smys S (eds) Computational Vision and Bio Inspired Computing. Springer International Publishing, Cham, pp 542–555

  • de Souza ÉF, Falbo RdA, Vijaykumar NL (2015) Knowledge management initiatives in software testing: A mapping study. Inf Softw Technol 57:378–391

    Google Scholar 

  • Devika Rani Dhivya K, Meenakshi VS (2018) An Optimized Adaptive Random Partition Software Testing by Using Bacterial Foraging Algorithm. In: Hemanth DJ, Smys S (eds) Computational Vision and Bio Inspired Computing. Springer International Publishing, Cham, pp 542–555

    Google Scholar 

  • Dhavakumar P, Gopalan NP (2021) An efficient parameter optimization of software reliability growth model by using chaotic grey wolf optimization algorithm. J Ambient Intell Humaniz Comput 12:3177–3188

    Google Scholar 

  • Dorigo M and Di Caro G (1999) Ant colony optimization: a new meta-heuristic, in Proceedings of the 1999 congress on evolutionary computation-CEC99 (Cat No 99TH8406) pp 1470–1477, IEEE.

  • Esnaashari M, Damia AH (2021) Automation of software test data generation using genetic algorithm and reinforcement learning. Expert Syst Appl 183:115446

    Google Scholar 

  • Esparcia-Alcázar AI, Almenar F, Vos TE, Rueda U (2018) Using genetic programming to evolve action selection rules in traversal-based automated software testing: results obtained with the TESTAR tool. Memetic Computing 10:257–265

    Google Scholar 

  • Etemadi M, Bazzaz Abkenar S, Ahmadzadeh A, Haghi Kashani M, Asghari P, Akbari M, Mahdipour E (2023) A systematic review of healthcare recommender systems: Open issues, challenges, and techniques. Expert Syst Appl 213:118823

    Google Scholar 

  • Fakhouri SN, Hudaib A, Fakhouri HN (2020) Enhanced Optimizer Algorithm and its Application to Software Testing. J Exp Theor Artif Intell 32:885–907

    Google Scholar 

  • Fathi M, Haghi Kashani M, Jameii SM, Mahdipour E (2022) Big Data Analytics in Weather Forecasting: A Systematic Review. Archives of Computational Methods in Engineering 29:1247–1275

    Google Scholar 

  • Ferrer J, Chicano F, Ortega-Toro JA (2021) CMSA algorithm for solving the prioritized pairwise test data generation problem in software product lines. Journal of Heuristics 27:229–249

    Google Scholar 

  • Fuggetta A (2000) Software process: a roadmap, in Proceedings of the Conference on the Future of Software Engineering pp 25–34, ACM.

  • Galin D (2004) Software quality assurance: from theory to implementation, Pearson Education India.

  • Gao R and Xiong S (2015) A genetic local search algorithm for optimal testing resource allocation in module software systems, in International Conference on Intelligent Computing pp 13–23, Springer.

  • Garousi V, Felderer M, Hacaloğlu T (2017) Software test maturity assessment and test process improvement: A multivocal literature review. Inf Softw Technol 85:16–42

    Google Scholar 

  • Garousi V, Küçük B (2018) Smells in software test code: A survey of knowledge in industry and academia. J Syst Softw 138:52–81

    Google Scholar 

  • Garousi V, Mäntylä MV (2016) A systematic literature review of literature reviews in software testing. Inf Softw Technol 80:195–216

    Google Scholar 

  • Ghaemi A and Arasteh B (2019) SFLA‐based heuristic method to generate software structural test data. Journal of Software: Evolution and Process:e2228.

  • Gillenson ML, Zhang X, Stafford TF and Shi Y (2018) A Literature Review of Software Test Cases and Future Research, in 2018 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW) pp 252–256, IEEE.

  • Graham D, Van Veenendaal E and Evans I (2008) Foundations of software testing: ISTQB certification, Cengage Learning EMEA.

  • Gupta N, Sharma A and Pachariya MK (2020) Multi-objective test suite optimization for detection and localization of software faults. Journal of King Saud University - Computer and Information Sciences.

  • Haghi Kashani M, Mahdipour E (2023) Load Balancing Algorithms in Fog Computing. IEEE Trans Serv Comput 16:1505–1521

    Google Scholar 

  • Haghi Kashani M, Madanipour M, Nikravan M, Asghari P, Mahdipour E (2021) A systematic review of IoT in healthcare: Applications, techniques, and trends. J Netw Comput Appl 192:103164

    Google Scholar 

  • Haghi Kashani M, Rahmani AM, Jafari Navimipour N (2020) Quality of service-aware approaches in fog computing. Int J Commun Syst 33:e4340

    Google Scholar 

  • Haraty RA, Mansour N, Zeitunlian H (2018) Metaheuristic Algorithm for State-Based Software Testing. Appl Artif Intell 32:197–213

    Google Scholar 

  • Harman M, Jia Y and Zhang Y (2015) Achievements, Open Problems and Challenges for Search Based Software Testing, in 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST) pp 1–12.

  • Hema Shankari K, Mathivilasini S, Arasu D and Suseendran G (2021) Genetic Algorithm Based on Test Suite Prioritization for Software Testing in Neural Network, in Proceedings of First International Conference on Mathematical Modeling and Computational Science (Peng S-L, Hao R-X and Pal S eds) pp 409–416, Springer Singapore, Singapore.

  • Hill MD (1990) What is scalability? ACM SIGARCH Computer Architecture News 18:18–21

    Google Scholar 

  • Hinson JM, Staddon J (1983) Hill-climbing by pigeons. J Exp Anal Behav 39:25–47

    Google Scholar 

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

  • Huo J, Xue B, Shang L and Zhang M (2017) Genetic Programming for Multi-objective Test Data Generation in Search Based Software Testing, in Australasian Joint Conference on Artificial Intelligence pp 169–181, Springer.

  • Isaksen U, Bowen JP, Nissanke N (1996) System and software safety in critical systems. The University of Reading, Whiteknights, United Kingdom

    Google Scholar 

  • Jamil MA, Alhindi A, Arif M, Nour MK, Abubakar NSA and Aljabri TF (2019) Multiobjective Evolutionary Algorithms NSGA-II and NSGA-III for Software Product Lines Testing Optimization, in 2019 IEEE 6th International Conference on Engineering Technologies and Applied Sciences (ICETAS) pp 1–5.

  • Jamil MA, Arif M, Abubakar NSA and Ahmad A (2016) Software Testing Techniques: A Literature Review, in 2016 6th International Conference on Information and Communication Technology for The Muslim World (ICT4M) pp 177–182.

  • Jin C, Jin S-W (2016) Parameter optimization of software reliability growth model with S-shaped testing-effort function using improved swarm intelligent optimization. Appl Soft Comput 40:283–291

    Google Scholar 

  • Kabir MN, Ali J, Alsewari AA and Zamli KZ (2017) An adaptive flower pollination algorithm for software test suite minimization, in 2017 3rd International Conference on Electrical Information and Communication Technology (EICT) pp 1–5, IEEE.

  • Karaboga D, Basturk B (2008) On the performance of artificial bee colony (ABC) algorithm. Appl Soft Comput 8:687–697

    Google Scholar 

  • Karimi Y, Haghi Kashani M, Akbari M, Mahdipour E (2021) Leveraging big data in smart cities: A systematic review. Concurrency and Computation: Practice and Experience 33:e6379

    Google Scholar 

  • Kashani MH and Sarvizadeh R (2011) A novel method for task scheduling in distributed systems using Max-Min Ant Colony Optimization, in 2011 3rd International Conference on Advanced Computer Control pp 422–426.

  • Kassaymeh S, Abdullah S, Al-Betar MA, Alweshah M (2022a) Salp swarm optimizer for modeling the software fault prediction problem. Journal of King Saud University - Computer and Information Sciences 34:3365–3378

    Google Scholar 

  • Kassaymeh S, Al-Laham M, Al-Betar MA, Alweshah M, Abdullah S, Makhadmeh SN (2022b) Backpropagation Neural Network optimization and software defect estimation modelling using a hybrid Salp Swarm optimizer-based Simulated Annealing Algorithm. Knowl-Based Syst 244:108511

    Google Scholar 

  • Kernighan BW, Plauger PJ (1976) Software tools. ACM SIGSOFT Software Engineering Notes 1:15–20

    Google Scholar 

  • Khan R and Amjad M (2015) Automatic test case generation for unit software testing using genetic algorithm and mutation analysis, in 2015 IEEE UP Section Conference on Electrical Computer and Electronics (UPCON) pp 1–5, IEEE.

  • Khari M and Kumar P (2016) A novel approach for software test data generation using cuckoo algorithm, in Proceedings of the second international conference on information and communication technology for competitive strategies p 98, ACM.

  • Khari M, Kumar P (2019) An extensive evaluation of search-based software testing: a review. Soft Comput 23:1933–1946

    Google Scholar 

  • Khatibsyarbini M, Isa MA, Jawawi DN, Hamed HNA, Suffian MDM (2019) Test Case Prioritization Using Firefly Algorithm for Software Testing. IEEE Access 7:132360–132373

    Google Scholar 

  • Khuat TT, Le MH (2019) Binary teaching–learning-based optimization algorithm with a new update mechanism for sample subset optimization in software defect prediction. Soft Comput 23:9919–9935

    Google Scholar 

  • Kitchenham B (2004) Procedures for performing systematic reviews. Keele, UK, Keele University 33:1–26

    Google Scholar 

  • Koleejan C, Xue B and Zhang M (2015) Code coverage optimisation in genetic algorithms and particle swarm optimisation for automatic software test data generation, in 2015 IEEE Congress on Evolutionary Computation (CEC) pp 1204–1211, IEEE.

  • Koteswara Rao K, Raju G (2019) Reducing interactive fault proneness in software application using genetic algorithm based optimal directed random testing. Int J Comput Appl 41:296–305

    Google Scholar 

  • Krishnanand K, Ghose D (2009) Glowworm swarm optimization for simultaneous capture of multiple local optima of multimodal functions. Swarm Intell 3:87–124

    Google Scholar 

  • Kumar V, Sahni R (2020) Dynamic testing resource allocation modeling for multi-release software using optimal control theory and genetic algorithm. International Journal of Quality & Reliability Management 37:1049–1069

    Google Scholar 

  • Li X, Wong WE, Gao R, Hu L, Hosono S (2018) Genetic algorithm-based test generation for software product line with the integration of fault localization techniques. Empir Softw Eng 23:1–51

    Google Scholar 

  • Liu F, Huang H and Hao Z (2017) Evolutionary algorithm with convergence speed controller for automated software test data generation problem, in 2017 IEEE Congress on Evolutionary Computation (CEC) pp 869–875, IEEE.

  • Mahajan S, Joshi SD and Khanaa V (2015) Component-based software system test case prioritization with genetic algorithm decoding technique using java platform, in 2015 International Conference on Computing Communication Control and Automation pp 847–851, IEEE.

  • Mahmoud T, Ahmed BS (2015) An efficient strategy for covering array construction with fuzzy logic-based adaptive swarm optimization for software testing use. Expert Syst Appl 42:8753–8765

    Google Scholar 

  • Malaiya YK, Li MN, Bieman JM, Karcich R (2002) Software reliability growth with test coverage. IEEE Trans Reliab 51:420–426

    Google Scholar 

  • Malhotra R (2016) Empirical research in software engineering: concepts, analysis, and applications, Chapman and Hall/CRC.

  • Mäntylä MV, Adams B, Khomh F, Engström E, Petersen K (2015) On rapid releases and software testing: a case study and a semi-systematic literature review. Empir Softw Eng 20:1384–1425

    Google Scholar 

  • Mao C, Xiao L, Yu X, Chen J (2015) Adapting ant colony optimization to generate test data for software structural testing. Swarm Evol Comput 20:23–36

    Google Scholar 

  • Margineantu DD and Dietterich TG (1997) Pruning adaptive boosting, in ICML pp 211–218, Citeseer.

  • Matnei Filho RA and Vergilio SR (2015) A mutation and multi-objective test data generation approach for feature testing of software product lines, in 2015 29th Brazilian Symposium on Software Engineering pp 21–30, IEEE.

  • Mirjalili S, Mirjalili SM, Lewis A (2014) Grey wolf optimizer. Adv Eng Softw 69:46–61

    Google Scholar 

  • Murty KG (1983) Linear programming, Chichester.

  • Myers GJ (2006) The art of software testing. John Wiley & Sons

    Google Scholar 

  • Nadel BA (1989) Constraint satisfaction algorithms 1. Comput Intell 5:188–224

    Google Scholar 

  • Nanthaamornphong A, Carver JC (2017) Test-Driven Development in scientific software: a survey. Software Qual J 25:343–372

    Google Scholar 

  • Nawaz A and Malik KM (2008) Software testing process in agile development. Department of Computer Science School of Engineering Blekinge Institute of Technology Box 520 SE-372 25 Ronneby Sweden.

  • Nejad FM, Akbari R and Dejam MM (2016) Using memetic algorithms for test case prioritization in model based software testing, in 2016 1st Conference on Swarm Intelligence and Evolutionary Computation (CSIEC) pp 142–147, IEEE.

  • Nemati S, Haghi Kashani M and Faghih Mirzaee R (2023) Comprehensive Survey of Ternary Full Adders: Statistics, Corrections, and Assessments. IET Circuits, Devices & Systems n/a.

  • Nikravan M, Haghi Kashani M (2022) A review on trust management in fog/edge computing: Techniques, trends, and challenges. J Netw Comput Appl 204:103402

    Google Scholar 

  • Nikravan M, Jameii SM, Kashani MH (2011) An intelligent energy efficient QoS-routing scheme for WSN. International Journal of Advanced Engineering Sciences and Technologies 8:121–124

    Google Scholar 

  • Niu B and Wang H (2012) Bacterial colony optimization. Discrete Dynamics in Nature and Society 2012.

  • Ow PS, Morton TE (1988) Filtered beam search in scheduling. The International Journal of Production Research 26:35–62

    Google Scholar 

  • Pan J (1999) Software reliability. Dependable Embedded Systems, Carnegie Mellon University 18:1–14

    Google Scholar 

  • Potter B, McGraw G (2004) Software security testing. IEEE Secur Priv 2:81–85

    Google Scholar 

  • Prabhakar N, Singhal A, Bansal A and Bhatia V (2019) A literature survey of applications of meta-heuristic techniques in software testing, in Software Engineering pp 497–505, Springer.

  • Rahimi M, Songhorabadi M, Kashani MH (2020) Fog-based smart homes: A systematic review. J Netw Comput Appl 153:102531

    Google Scholar 

  • Raj HLP and Chandrasekaran K (2018) NEAT Algorithm for Testsuite generation in Automated Software Testing, in 2018 IEEE Symposium Series on Computational Intelligence (SSCI) pp 2361–2368.

  • Rao KM and Anuradha K (2016) A hybrid method for parameter estimation of software reliability growth model using Modified Genetic Swarm Optimization with the aid of logistic exponential testing effort function, in 2016 International Conference on Research Advances in Integrated Navigation Systems (RAINS) pp 1–8, IEEE.

  • Rodrigues A and Dias-Neto A (2016) Relevance and impact of critical factors of success in software test automation lifecycle: A survey, in Proceedings of the 1st Brazilian Symposium on Systematic and Automated Software Testing p 6, ACM.

  • Sahin O, Akay B (2016) Comparisons of metaheuristic algorithms and fitness functions on software test data generation. Appl Soft Comput 49:1202–1214

    Google Scholar 

  • Sarvizadeh R, Kashani MH, Zakeri FS, Jameii SM (2012) A novel bee colony approach to distributed systems scheduling. Int J Comput Appl 42:1–6

    Google Scholar 

  • Sayyari F and Emadi S (2015) Automated generation of software testing path based on ant colony, in 2015 International Congress on Technology, Communication and Knowledge (ICTCK) pp 435–440, IEEE.

  • Serdyukov KS and Avdeenko TV (2018) Automatic Data Generation for Software Testing Based on the Genetic Algorithm, in 2018 XIV International Scientific-Technical Conference on Actual Problems of Electronics Instrument Engineering (APEIE) pp 535–540, IEEE.

  • Sharma R, Saha A (2020) Identification of critical test paths using firefly algorithm for object oriented software. Journal of Interdisciplinary Mathematics 23:191–203

    Google Scholar 

  • Sharma S, Rizvi SAM and Sharma V (2019) A Framework for Optimization of Software Test Cases Generation using Cuckoo Search Algorithm, in 2019 9th International Conference on Cloud Computing, Data Science & Engineering (Confluence) pp 282–286.

  • Sheikh Sofla M, Haghi Kashani M, Mahdipour E, Faghih Mirzaee R (2022) Towards effective offloading mechanisms in fog computing. Multimedia Tools and Applications 81:1997–2042

    Google Scholar 

  • Shomali N and Arasteh B (2020) Mutation reduction in software mutation testing using firefly optimization algorithm. Data Technologies and Applications.

  • Singh SK and Singh A (2012) Software testing, Vandana Publications.

  • Singhal A, Bansal A, Kumar A (2016) An approach to design test oracle for aspect oriented software systems using soft computing approach. International Journal of System Assurance Engineering and Management 7:1–5

    Google Scholar 

  • Singhal A, Bansal A, Kumar A (2021) Meta-heuristic algorithm to generate optimised test cases for aspect-oriented software systems. International Journal of Advanced Intelligence Paradigms 18:134–153

    Google Scholar 

  • Sivaji U and Srinivasa Rao P (2021) Test case minimization for regression testing by analyzing software performance using the novel method. Materials Today: Proceedings.

  • Songhorabadi M, Rahimi M, MoghadamFarid A, Haghi Kashani M (2023) Fog computing approaches in IoT-enabled smart cities. J Netw Comput Appl 211:103557

    Google Scholar 

  • Stocks PA (1993) Applying formal methods to software testing, University of Queensland.

  • Sugave SR, Patil SH, Reddy BE (2017) DDF: Diversity dragonfly algorithm for cost-aware test suite minimization approach for software testing, in 2017 International Conference on Intelligent Computing and Control Systems (ICICCS) pp 701–707, IEEE.

  • Suri B and Singhal S (2012) Literature survey of ant colony optimization in software testing. In: 2012 CSI Sixth International Conference on Software Engineering (CONSEG). IEEE, pp 1–7

  • Tebes G, Peppino D, Becker P, Matturro G, Solari M, Olsina L (2020) Analyzing and documenting the systematic review results of software testing ontologies. Inf Softw Technol 123:106298

    Google Scholar 

  • Thirumoorthy K, Britto JJJ (2022) A clustering approach for software defect prediction using hybrid social mimic optimization algorithm. Computing 104:2605–2633

    Google Scholar 

  • Thirumoorthy K, J JJB, (2022) A feature selection model for software defect prediction using binary Rao optimization algorithm. Appl Soft Comput 131:109737

    Google Scholar 

  • Thompson HH (2003) Why security testing is hard. IEEE Secur Priv 1:83–86

    Google Scholar 

  • Turing AM (1937) On Computable numbers, with an application to the Entscheidungsproblem. In: Proceedings of the London Mathematical Society s2–42:230–265

  • van der Veer H, Wiles A (2008) Achieving technical interoperability. European Telecommunications Standards Institute

  • West DB (1996) Introduction to graph theory. Prentice Hall, Upper Saddle River

    Google Scholar 

  • Wiklund K, Eldh S, Sundmark D, Lundqvist K (2017) Impediments for software test automation: a systematic literature review. Software Test Verificat Reliab 27:e1639

    Google Scholar 

  • Wu B, Yun L, Jin X, Liu B, Wei G (2016) Study on the fuzzing test method for industrial supervisory control configuration software based on genetic algorithm. In: 2016 11th international conference on reliability, maintainability and safety (ICRMS) pp 1–6, IEEE

  • Yang S, Man T, Xu J, Zeng F, Li K (2016) RGA: A lightweight and effective regeneration genetic algorithm for coverage-oriented software test data generation. Inf Softw Technol 76:19–30

    Google Scholar 

  • Yang X-S (2009) Firefly algorithms for multimodal optimization. In: Watanabe O, Zeugmann T (eds) Stochastic algorithms: foundations and applications. Springer, Berlin, Heidelberg, pp 169–178

    Google Scholar 

  • Yang X-S (2010a) Nature-inspired metaheuristic algorithms. Luniver Press

  • Yang X-S (2010b) A new metaheuristic bat-inspired algorithm. In: Nature inspired cooperative strategies for optimization (NICSO 2010b). Springer, pp 65–74

  • Yang X-S, Deb S (2009) Cuckoo search via Lévy flights. In: 2009 World congress on nature & biologically inspired computing (NaBIC). IEEE, pp 210–214

  • Yao X, Gong D, Li B, Dang X, Zhang G (2020) Testing method for software with randomness using genetic algorithm. IEEE Access 8:61999–62010

    Google Scholar 

  • Yusop OM, Ibrahim S (2011) Evaluating software maintenance testing approaches to support test case evolution. Int J New Comput Architect Appl (IJNCAA) 1:74–83

    Google Scholar 

  • Zelenka J, Budinská I, Dideková Z (2012) A combination of heuristic and non-heuristic approaches for modified vehicle routing problem. In: 2012 4th IEEE international symposium on logistics and industrial informatics. IEEE, pp 107–112

  • Zhan L (2022) Optimal model of software testing path selection based on genetic algorithm and its evolutionary solution. Wirel Commun Mob Comput 2022:7601096

    Google Scholar 

  • Zhu E, Yao C, Ma Z, Liu F (2017) Study of an improved genetic algorithm for multiple paths automatic software test case generation. In: International conference on swarm intelligence. Springer, pp 402–408

  • Zhu K, Ying S, Zhang N, Zhu D (2021) Software defect prediction based on enhanced metaheuristic feature selection optimization and a hybrid deep neural network. J Syst Softw 180:111026

    Google Scholar 

  • Ziming Z, Xiong X, Li J (2017) Improved evolutionary generation of test data for multiple paths in search-based software testing. In: 2017 IEEE Congress on Evolutionary Computation (CEC), pp 612–620

  • Zuse H (2019) Software complexity: measures and methods. Walter de Gruyter GmbH & Co KG

Download references

Funding

No funding is provided for the preparation of the manuscript.

Author information

Authors and Affiliations

Authors

Contributions

The first and second authors have equal contributions to this work.

Corresponding author

Correspondence to Mostafa Haghi Kashani.

Ethics declarations

Competing interests

The authors have no relevant financial or non-financial interests to disclose.

Ethics approval

This article does not contain any studies with human participants.

Additional information

Publisher's Note

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

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Khoshniat, N., Jamarani, A., Ahmadzadeh, A. et al. Nature-inspired metaheuristic methods in software testing. Soft Comput 28, 1503–1544 (2024). https://doi.org/10.1007/s00500-023-08382-8

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00500-023-08382-8

Keywords