Skip to main content

Regression test optimization and prioritization using Honey Bee optimization algorithm with fuzzy rule base

Abstract

Regression testing is a maintenance level activity performed on a modified program to instill confidence in the software’s reliability. Prioritization of test case arranges the regression test suite to detect the faults earlier in the testing process. The test cases necessary for validating the recent changes and finding the maximum faults in minimum time are selected. In this manuscript, an optimization algorithm (Bee Algorithm) based on the intelligent foraging behavior of honey bee swarm has been proposed that can enhance the rate of fault detection in test case prioritization. The bee algorithm, along with the fuzzy rule base, reduces the test cases’ volume by selecting the test cases from the pre-existing test suite. The proposed algorithm developed for enhancing the fault detection rate in minimum time is inspired by the behavior of two types of worker bees, namely scout bees and forager bees. These worker bees are responsible for the maintenance, progress, and growth of the colony. The proposed approach is implemented on two projects. The prioritization result is quantified by using the average percentage of fault detection (APFD) metric. Compared with other existing prioritization techniques like no prioritization, reverse prioritization, random prioritization, and previous work, the proposed algorithm outperforms all in fault detection rate. The effectiveness of the proposed algorithm is represented by using the APFD graphs and charts.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3

References

  • Alakeel AM (2014) Using fuzzy logic in test case prioritization for regression testing programs with assertions. Sci World J 5:1–9

    Article  Google Scholar 

  • Chi J, Qu Y, Zheng Q, Yang Z, Jin W, Cui D, Liu T (2020) Relation-based test case prioritization for regression testing. J Syst Softw 163:1–18

    Article  Google Scholar 

  • Craig RD, Jaskiel SP (2002) Systematic software testing. Artech House Publishers, Boston

    MATH  Google Scholar 

  • Elbaum S, Malishevsky A, Rothermel G (2000) Prioritizing test cases for regression testing. In: Proceedings the 2000 ACM SIGSOFT international symposium on software testing and analysis, Portland, Oregon, USA, pp 102–112

  • Elbaum S, Malishevsky AG, Rothermel G (2000b) Test case prioritization: a family of empirical studies. IEEE Trans Softw Eng 28(2):159–182

    Article  Google Scholar 

  • Erdogmus H, Morisio M, Torchiano M (2005) On the effectiveness of the test-first approach to programming. IEEE Trans Softw Eng 31(3):226–237

    Article  Google Scholar 

  • Gao D, Guo X, Zhao L (2015) Test case prioritization for regression testing based on ant colony optimization. In: 6th IEEE international conference on software engineering and service science (ICSESS), Beijing, pp 275–279

  • ISG of Software Engg Terminology (1990) IEEE standards collection, IEEE std 610.12-1990

  • Jeffrey D, Gupta N (2006) Test case prioritization using relevant slices. In: Proceedings of the 30th annual international computer software and applications conference (COMPSAC 2006), Washington, DC, USA, IEEE Computer Society, pp 411–420

  • Jiang H (2015) Artificial bee colony algorithm for traveling salesman problem. In: 4th international conference on mechatronics, materials, chemistry and computer engineering (ICMMCCE 2015), pp 468–472

  • Karaboga D (2005) An idea based on honey bee swarm for numerical optimization. Technical Report TR06, Erciyes University, Engineering Faculty, Computer Engineering Department

  • Karaboga D, Gorkemli B, Ozturk C, Karaboga N (2013) A comprehensive survey: artificial bee colony (ABC) algorithm and applications. Artif Intell Rev 4:1–37

    Google Scholar 

  • Kaur A, Goyal S (2011) A Bee colony optimization algorithm for fault coverage based regression test suite prioritization. Int J Adv Sci Technol 29:17–29

    Google Scholar 

  • Kavitha R, Sureshkumar N (2010) Test case prioritization for regression testing based on severity of fault. Int J Comput Sci Eng 2(5):1462–1466

    Google Scholar 

  • Khatibsyarbini M, Isa M, Jawani D, Hamed H, Suffian M (2019) Test case prioritization using firefly algorithm for software testing. IEEE Access 7:132360–132373

    Article  Google Scholar 

  • Korel B, Koutsogiannakis G, Tahat LH (2007) Model-based test prioritization heuristic methods and their evaluation. In: Proceeding A-MOST’07 proceedings of the 3rd international workshop on advances in model-based testing, ACM, pp 34–43

  • Krishnamoorthi R, Mary SA (2009) Factor oriented requirement coverage based system test case prioritization of new and regression test cases. Inf Softw Technol 51(4):799–808

    Article  Google Scholar 

  • Li Z, Harman M, Hierons (2007) Search algorithms for regression test case prioritization. IEEE Trans Softw Eng 33(4):225–237

    Article  Google Scholar 

  • Malishevsky A, Ruthruff JR, Rothermel G, Elbaum S (2006) Cost-cognizant test case prioritization. Technical report TR-UNL-CSE-2006-004, Department of CSE, University of Nebraska-Lincoln, USA

  • Malz C, Jazdi N, Göhner P (2012) Prioritization of test cases using software agents and fuzzy logic. In: Proceedings of fifth international conference on software testing, verification and validation, IEEE, pp 483–486

  • Mounika M, Reddy DV (2015) Test case selection for path testing using bee colony optimization. Elysium J 2(1):1–7

    Google Scholar 

  • Mukherjee R, Patnaik S (2019) Introducing a fuzzy model for cost cognizant software test case prioritization. In: IEEE Region 10 Conference (TENCON), pp 504–509

  • Nayak S, Kumar C, Tripathi S (2016) Effectiveness of prioritization of test cases based on faults. In: Proceedings of third international conference on recent advances in information technology (RAIT-2016), IEEE

  • Nayak S, Kumar C, Tripathi S (2017) Enhancing efficiency of the test case prioritization technique by improving the rate of fault detection. Arab J Sci Eng 42(8):3307–3323

    Article  Google Scholar 

  • Rotherrmel G, Harrold MJ, Ostrin, J, Hong C (1998) An emprical study of the effects of minimization on the fault detection capabilities of test suites. In: Proceedings of the international conference on software maintenance, pp 34–43

  • Öztürk M (2018) A bat-inspired algorithm for prioritizing test cases. Vietnam J Comput Sci 5(1):45–57

    MathSciNet  Article  Google Scholar 

  • Pan Q-K, Fatih TM, Suganthan PN, Chua TJ (2011) A discrete artificial bee colony algorithm for the lot-streaming flow shop scheduling problem. Inf Sci 181(12):2455–2468

    MathSciNet  Article  Google Scholar 

  • Ray M, Mohapatra DP (2014) Multi-objectve test prioritization via a genetic algorithm. Innov Syst Softw Eng 10:261–270

    Article  Google Scholar 

  • Rothermel G, Untch R, Chu C, Harrold M (2001) Prioritizing test cases for regression testing. IEEE Trans Software Eng 27(10):929–948

    Article  Google Scholar 

  • Shrivathsan A, Ravichandran K, Krishankumar R, Sangeetha V, Kar S, Ziemba P, Jankowski J (2019) Novel fuzzy clustering methods for test case prioritization in software projects. Symmetry MDPI 11(11):1–22

    Google Scholar 

  • Silva DS, Rabelo R, Neto PS, Britto R, Oliveira PA (2019) A test case prioritization approach based on software component metrics. In: IEEE international conference on systems, man and cybernetics (SMC), pp 2939–2945

  • Srikanth H, Williams L, Osborne J (2005) System test case prioritization of new and regression test cases. In: International symposium on empirical software engineering (ISESE 2005), Noosa Heads, Australia, pp 64–73

  • Srikanth A, Kulkarni NJ, Naveen KV, Singh P, Srivastava PR (2011) Test case optimization using artificial bee colony algorithm. In: Communications in computer and information science (CCIS-2011), pp 570–579

  • Srikanth H, Cashman M, Cohen MB (2016) Test case prioritization of build acceptance tests for an enterprise cloud application: an industrial case study. J Syst Softw 119:122–135

    Article  Google Scholar 

  • Suri B, Singhal S (2011) Implementing ant colony optimization for test case selection and prioritization. Proc Int J Comput Sci Eng 3(5):1924–1932

    Google Scholar 

  • Sushant K, Ranjan P (2017) ACO based test case prioritization for fault detection in maintenance phase. Int J Appl Eng Res 12(16):5578–5586

    Google Scholar 

  • Tyagi M, Malhotra S (2015) An approach for test case prioritization based on three factors. Int J Inf Technol Comput Sci 4:79–86

    Google Scholar 

  • Yoo S, Harman M (2007) Regression testing minimisation, selection and prioritisation: a survey. Softw Test Verif Reliabil 2:1–60

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Soumen Nayak.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Ethical approval

This article does not contain any studies with human participants or animals performed by any of the authors.

Additional information

Publisher's Note

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

Electronic supplementary material

Below is the link to the electronic supplementary material.

Supplementary material 1 (DOCX 38 kb)

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Nayak, S., Kumar, C., Tripathi, S. et al. Regression test optimization and prioritization using Honey Bee optimization algorithm with fuzzy rule base. Soft Comput 25, 9925–9942 (2021). https://doi.org/10.1007/s00500-020-05428-z

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00500-020-05428-z

Keywords

  • Regression testing
  • Bee algorithms
  • Fuzzy logic
  • Test case prioritization