Document Type: Original Article
K. N. Toosi University of Technology
Software testing is an expensive and time-consuming process. These costs can be significantly reduced using automated methods. Recently, many researchers have focused on automating this process using search algorithms. Many different methods have been proposed, all of which using a means of heuristic or meta-heuristic search algorithms. The main problem with these methods is that they are usually stuck in local optima. In this paper, to overcome such a problem, we have combined the firefly algorithm (FA) and asexual reproduction optimization algorithm (ARO). FA is a bio-inspired algorithm that is very efficient at exploitation and local searches; however, it suffers from poor exploration and is prone to local optima problem. On the other hand, ARO can be used for escaping from local optima. For this combination, we have inserted ARO into the steps of FA for increasing the population diversity. We have utilized this combination for automatic test case generation with the aim of covering all finite paths of the control flow graph. To evaluate the performance of the proposed method, we have utilized it for generating test cases for a number of programs. Results have indicated that, while giving similar results in terms of the test coverage, the proposed method is significantly better than the existing state of the art algorithms in terms of the number of fitness evaluations. Compared algorithms are FA, ARO, traditional genetic algorithm (TGA), adaptive genetic algorithm (AGA), adaptive particle swarm optimization (APSO), hybrid genetic tabu search algorithm (HGATS), random search (RS), differential evolution (DE), and hybrid cuckoo search and genetic algorithm (CSGA).