Abstract

The quality of test data has an important effect on the fault-revealing ability of software testing. Search-based test data generation reformulates testing goals as fitness functions, thus, test data generation can be automated by meta-heuristic algorithms. Meta-heuristic algorithms search the domain of input variables in order to find input data that cover the targets. The domain of input variables is very large, even for simple programs, while this size has a major influence on the efficiency and effectiveness of all search-based methods. Despite the large volume of works on search-based test data generation, the literature contains few approaches that concern the impact of search space reduction. In order to partition the input domain, this study defines a relationship between the structure of the program and the input domain. Based on this relationship, we propose a method for partitioning the input domain. Then, to search in the partitioned search space, we select ant colony optimization as one of the important and prosperous meta-heuristic algorithms. To evaluate the performance of the proposed approach in comparison with the previous work, we selected a number of different benchmark programs. The experimental results show that our approach has 14.40% better average coverage versus the competitive approach

Highlights

  • 1- Introduction functions are executed with real argument, pointer values and array subscripts are known at run-time, many of Software testing is a vital part of the software development the problems relevant to the symbolic execution are resolved

  • The results demonstrate that the proposed approach has better average coverage for most benchmarks, except three, i.e., BubbleSort, Median, and Variance

  • We have presented an approach to input space partitioning based on the program’s conditional statements

Read more

Summary

2- Related Work

We first review some of the important works for test data generation based on different optimization algorithms, such as Genetic Algorithm (GA), Simulated Annealing (SA), ACO, and Particle Swarm Optimization (PSO) with more emphasis on ACO because we customize ACO based on our input space partitioning. The approaches related to input domain reduction in the search-based test data generation [1] are presented. Since this viewpoint is only appropriate for branch coverage, authors in [26][27] introduced a method for using ACO to cover prime paths They applied the idea of adaptive random testing in local search and used the information of program predicates in partitioning the search space [26]. They can be removed from the input domain without affecting the feasibility of the target Their approach was empirically evaluated for search-based structural test data generation. By performing symbolic execution for predestinate test paths of the program, the clauses of the program are converted such that they only involve input variables This is carried out because the space we are searching through is constructed by input variables.

Finding a combination of input values that satisfy
4-1- Experiment Results
6- Conclusions and Future Work
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call