A Bee Colony Optimization Algorithm for Fault Coverage Based Regression Test Suite Prioritization

The process of verifying the modified software in the maintenance phase is called Regression Testing. The size of the regression test suite and its selection process is a complex task for regression testers because of time and budget constraints. In this research paper, the Bee Colony Optimization (BCO) algorithm for the fault coverage regression test suite prioritization has been presented. In the natural bee colony, there are of two types of worker bees; Scout bees and forager bee, who are responsible for the development and maintenance of the colony. The BCO algorithm developed for the fault coverage regression test suite is based on the behavior of these two bees. The BCO algorithm has been formulated for fault coverage to attain maximum fault coverage in minimal units of execution time of each test case, using two examples whose results are comparable to optimal solution. Average Percentage of Fault Detection (APFD) metrics and charts has been used to show the effectiveness of proposed algorithm.

[1]  Gregg Rothermel,et al.  Cost-cognizant Test Case Prioritization , 2006 .

[2]  Gregg Rothermel,et al.  Prioritizing test cases for regression testing , 2000, ISSTA '00.

[3]  A. Porter,et al.  A history-based test prioritization technique for regression testing in resource constrained environments , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[4]  Saeed Parsa,et al.  Incorporating Historical Test Case Performance Data and Resource Constraints into Test Case Prioritization , 2009, TAP@TOOLS.

[5]  Mary Lou Soffa,et al.  TimeAware test suite prioritization , 2006, ISSTA '06.

[6]  Xin-She Yang,et al.  Engineering Optimizations via Nature-Inspired Virtual Bee Algorithms , 2005, IWINAC.

[7]  Mark Harman,et al.  Search Algorithms for Regression Test Case Prioritization , 2007, IEEE Transactions on Software Engineering.

[8]  Gregory M. Kapfhammer,et al.  Towards the prioritization of regression test suites with data flow information , 2005, SAC '05.

[9]  Laurie A. Williams,et al.  System test case prioritization of new and regression test cases , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[10]  Joseph Robert Horgan,et al.  A study of effective regression testing in practice , 1997, Proceedings The Eighth International Symposium on Software Reliability Engineering.

[11]  Pavol Návrat,et al.  Bee hive at work: A problem solving, optimizing mechanism , 2009, 2009 World Congress on Nature & Biologically Inspired Computing (NaBIC).

[12]  Mary Jean Harrold,et al.  Test-Suite Reduction and Prioritization for Modified Condition/Decision Coverage , 2003, IEEE Trans. Software Eng..

[13]  G. Crawford,et al.  A note on the analysis of subjective judgment matrices , 1985 .

[14]  Hyuncheol Park,et al.  Historical Value-Based Approach for Cost-Cognizant Test Case Prioritization to Improve the Effectiveness of Regression Testing , 2008, 2008 Second International Conference on Secure System Integration and Reliability Improvement.

[15]  Bogdan Korel,et al.  Model-based test prioritization heuristic methods and their evaluation , 2007, A-MOST '07.

[16]  Ladan Tahvildari,et al.  A Prioritization Approach for Software Test Cases Based on Bayesian Networks , 2007, FASE.

[17]  Arvinder Kaur,et al.  Test case prioritization using ant colony optimization , 2010, SOEN.

[18]  Gregg Rothermel,et al.  Empirical Studies of a Prediction Model for Regression Test Selection , 2001, IEEE Trans. Software Eng..

[19]  Nashat Mansour,et al.  Regression Test Selection for C# Programs , 2009, Adv. Softw. Eng..

[20]  Noel Bryson,et al.  A Goal Programming Method for Generating Priority Vectors , 1995 .

[21]  Gregg Rothermel,et al.  Prioritizing test cases for regression testing , 2000, ISSTA '00.

[22]  Neelam Gupta,et al.  Experiments with test case prioritization using relevant slices , 2008, J. Syst. Softw..

[23]  Jean Zoren Werner Hartmann,et al.  Techniques for selective revalidation , 1990, IEEE Software.

[24]  Malcolm Yoke-Hean Low,et al.  A Bee Colony Optimization Algorithm to Job Shop Scheduling , 2006, Proceedings of the 2006 Winter Simulation Conference.

[25]  Mary Lou Soffa,et al.  An incremental approach to unit testing during maintenance , 1988, Proceedings. Conference on Software Maintenance, 1988..

[26]  Shingo Takada,et al.  Regression test selection based on intermediate code for virtual machines , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[27]  Saif Mahmood,et al.  DEVELOPING OPTIMIZATION ALGORITHM USING ARTIFICIAL BEE COLONY SYSTEM , 2011 .

[28]  Li-Pei Wong,et al.  A Bee Colony Optimization Algorithm for Traveling Salesman Problem , 2008, 2008 Second Asia International Conference on Modelling & Simulation (AMS).

[29]  H. Torkaman,et al.  The Ant-Bee Routing Algorithm: A New Agent Based Nature-Inspired Routing Algorithm , 2009 .

[30]  Bo Qu,et al.  Test Case Prioritization Based on Varying Testing Requirement Priorities and Test Case Costs , 2007, Seventh International Conference on Quality Software (QSIC 2007).

[31]  Nada M.A. AL-Salami,et al.  Evolutionary Algorithm Definition , 2009 .

[32]  Neelam Gupta,et al.  Test Case Prioritization Using Relevant Slices , 2006, 30th Annual International Computer Software and Applications Conference (COMPSAC'06).

[33]  Mary Lou Soffa,et al.  Efficient time-aware prioritization with knapsack solvers , 2007, WEASELTech '07.

[34]  Hussein Owaied,et al.  Modeling Artificial Bees Colony System , 2008, IC-AI.

[35]  Mark Harman,et al.  Meta-heuristic Search Algorithms for Regression Test Case Prioritization , 2007 .

[36]  Jaysonne A. Pacurib,et al.  Solving Sudoku Puzzles Using Improved Artificial Bee Colony Algorithm , 2009, 2009 Fourth International Conference on Innovative Computing, Information and Control (ICICIC).