Automatic Test Data Generation using Metaheuristic Cuckoo Search Algorithm

Automatic Test Data Generation using Metaheuristic Cuckoo Search Algorithm

Madhumita Panda (Seemanta Engineering College, Baripada, India), Partha Pratim Sarangi (Seemanta Engineering College, Baripada, India) and Sujata Dash (North Orissa University, Baripada, India)
Copyright: © 2015 |Pages: 14
DOI: 10.4018/IJKDB.2015070102
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

The proposed work emphasizes on the automated process of test data generation for unit testing of structured programs, targeting complete path coverage of the software under test. In recent years, Cuckoo Search (CS) has been successfully applied in many engineering applications because of its high convergence rate to the global solution. The authors motivated with the performance of Cuckoo search, utilized it to generate test suits for the standard benchmark problems, covering entire search space of the input data in less iterations. The experimental results reveal that the proposed approach covers entire search space generating test data for all feasible paths of the problem in few number of generations. It is observed that proposed approach gives promising results and outperforms other reported algorithms and it can be an alternative approach in the field of test data generation.
Article Preview

Introduction

The automated test data generation is an undecidable problem and the main challenge in this field is the size and complexity of the software. Nature inspired algorithms are good at seeking good solutions for combinatorial optimization problems within confined time at a reasonable computational cost. A good number of Nature based algorithms coming under metaheuristic have been used by researchers to generate test data for white box, black box as well as grey box testing (Harman, 2015). Most of the research work has been done for structural testing, functional testing, mutation testing etc., but very few papers are available related to grey box and quality testing (Harman, 2009). The first workshop on software engineering using metaheuristic algorithms was conducted in 2001 (Harman, 2001). At that time only limited work has been done by the researchers in the area of software testing using search algorithms like Simulated Annealing (SA), Tabu search and Genetic algorithms (Harman, 2001; McMinn, 2004; Sthamer, 2002).

Search based software engineering (SBSE) is a reformulation of the software engineering problems (Harman, 2004; de Oliveira, 2015) coming under the category of un-decidable, NP hard or NP complete problems. Here the specific problem is designed as a search problem and then the target is to select best solutions out of a large domain of solution space using guided heuristics mimicked from nature (Harman, 2015).

Search based techniques are perfect for the software engineering problems as this is the area where the engineers have no idea regarding what are the good solutions but very clear idea about what qualities the good solutions must have, and they have to choose the best one out of a number of competing and conflicting solutions(Harman, 2001; McMinn, 2004).To redesign any problem of software engineering as a search problem, three components are necessary to be specified clearly, these include first an intermediate representation of the problem, second a fitness function on the basis of the targeted objective and finally a set of operators to deploy (Harman, 2001).

Out of these three the most crucial role is played by the fitness function. The fitness function captures the vital information and guides the search process by selecting the best solutions from a number of suitable solutions on the basis of the testing strategy adopted (Sthamer, 2002; Baresel, 2002). For example, in white box testing if path based testing approach is followed then the suitable test cases are those test cases that are able to show maximum path coverage.

Complete Article List

Search this Journal:
Reset
Open Access Articles: Forthcoming
Volume 7: 2 Issues (2017)
Volume 6: 2 Issues (2016)
Volume 5: 2 Issues (2015)
Volume 4: 2 Issues (2014)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing