Automatic Software Test Data Generation for Spanning Sets Coverage Using Genetic Algorithms

keywords: Genetic algorithms, automatic test-data generation, subsumption, break spanning sets
Software testing takes a considerable amount of time and resources spent on producing software. Therefore, it would be useful to have ways to reduce the cost of software testing. The new concepts of spanning sets of entities suggested by Marre and Bertolino are useful for reducing the cost of testing. In fact, to reduce the testing effort, the generation of test data can be targeted to cover the entities in the spanning set, rather than all the entities in the tested program. Marre and Bertolino presented an algorithm based on the subsumption relation between entities to find spanning sets for a family of control flow and data flow-based test coverage criteria. This paper presents a new general technique for the automatic test data generation for spanning sets coverage. The proposed technique applies to the algorithm proposed recently by Marre and Bertolino to automatically generate the spanning sets of program entities that satisfy a wide range of control flow and data flow-based test coverage criteria. Then, it uses a genetic algorithm to automatically generate sets of test data to cover these spanning sets. The proposed technique employed the concepts of spanning sets to limit the number of test cases, guide the test case selection, overcome the problem of the redundant test cases and automate the test path generation.
reference: Vol. 26, 2007, No. 4, pp. 383–401