Regression test optimization and prioritization using Honey Bee optimization algorithm with fuzzy rule base
- PDF / 1,846,708 Bytes
- 18 Pages / 595.276 x 790.866 pts Page_size
- 59 Downloads / 218 Views
(0123456789().,-volV)(0123456789().,-volV)
FOCUS
Regression test optimization and prioritization using Honey Bee optimization algorithm with fuzzy rule base Soumen Nayak1,2 • Chiranjeev Kumar1 • Sachin Tripathi1 • Nirjharini Mohanty3 • Vishal Baral3
Springer-Verlag GmbH Germany, part of Springer Nature 2020
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. Keywords Regression testing Bee algorithms Fuzzy logic Test case prioritization
Communicated by Kannan.
Electronic supplementary material The online version of this article (https://doi.org/10.1007/s00500-020-05428-z) contains supplementary material, which is available to authorized users. & Soumen Nayak [email protected] Chiranjeev Kumar [email protected] Sachin Tripathi [email protected] Nirjharini Mohanty [email protected] Vishal Baral [email protected] 1
Department of Computer Science and Engineering, IIT (ISM), Dhanbad 826004, India
2
Department of Computer Science and Engineering, ITER, S’O’A Deemed to be University, Bhubaneswar, India
3
Department of Computer Science and Information Technology, ITER, S’O’A Deemed to be University, Bhubaneswar, India
1 Introduction Testing a program or application requires the most significant effort and is the most critical step in the software’s life cycle (SDLC). According to Craig and Jaskiel (2002), ‘‘Testing is a concurrent lifecycle process of engineering, using and maintaining testware (i.e., testing artifacts) to measure and improve the quality of the software being tested.’’ Regression testing is a maintenance level activity performed to check and validate the corre
Data Loading...