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.
Similar content being viewed by others
References
Alakeel AM (2014) Using fuzzy logic in test case prioritization for regression testing programs with assertions. Sci World J 5:1–9
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
Craig RD, Jaskiel SP (2002) Systematic software testing. Artech House Publishers, Boston
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
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
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
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
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
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
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
Li Z, Harman M, Hierons (2007) Search algorithms for regression test case prioritization. IEEE Trans Softw Eng 33(4):225–237
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
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
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
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
Ray M, Mohapatra DP (2014) Multi-objectve test prioritization via a genetic algorithm. Innov Syst Softw Eng 10:261–270
Rothermel G, Untch R, Chu C, Harrold M (2001) Prioritizing test cases for regression testing. IEEE Trans Software Eng 27(10):929–948
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
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
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
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
Tyagi M, Malhotra S (2015) An approach for test case prioritization based on three factors. Int J Inf Technol Comput Sci 4:79–86
Yoo S, Harman M (2007) Regression testing minimisation, selection and prioritisation: a survey. Softw Test Verif Reliabil 2:1–60
Author information
Authors and Affiliations
Corresponding author
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.
Rights and permissions
About this article
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00500-020-05428-z