An Efficient Method to Generate Test Data for Software Structural Testing Using Artificial Bee Colony Optimization Algorithm - Aghdam, Zohreh Karimi; Arasteh, Bahman (International journal of software engineering and knowledge engineering, 2017)
Software testing is a process for determining the quality of software system. Many small and medium-sized software projects can be manually tested. Nevertheless, due to the widespread extension of software in large-scale projects, testing them will be highly time consuming and costly. Hence, automated software testing (AST) is considered to be as a solution which can ease and simplify heavy and cumbersome tasks involved in software testing. For AST, certain data are needed through which the quality of systems can be evaluated. In this paper, an artificial bee colony (ABC) algorithm was used for solving the issue of test data generation and branch coverage criterion was used as a fitness function for optimizing the proposed solutions. For doing comparisons, seven well-known and traditional programs in the literature were used as benchmarks. The experimental results indicate that our method, on average, outperforms simulated annealing, genetic algorithm, particle swarm optimization and ant colony optimization based on the following four criteria: 99.99% average branch coverage, 99.94% success rate, 3.59 average convergence generation and 0.18 ms average execution time.