PWiseGen: A genetic algorithms-based framework for pairwise test set generation
Pairwise testing is a combinatorial testing approach that can be used to reduce the number of test cases dramatically for a software system. It specializes in the type of testing where the outcome of a system depends on the combination of several input parameters. This technique is widely used when there is not enough time to try out all possible combinations of the input parameters involved, because that would be very time consuming. The purpose of pairwise testing technique is to avoid testing all possible value combinations that a system can receive, and to preferably take a representative sample of test cases that captures all pairs of input values. This selection of test cases should be made carefully with some thought; for example, by combining input parameter values intelligently we may be able to parallelize executions and achieve a reduction of the test case set, which translates into a reduction of testing time. ^ Studies have shown that the generation of the least number of test cases for pairwise testing is an NP-complete problem. This is the reason why one of the problems that I wanted to address in this thesis is to find a way to generate the least amount of test cases possible for pairwise testing. Currently, there are several algorithms that can generate test cases for pairwise testing; however, a few have optimum results considering the number of test cases generated. In this research I propose PWiseGen—an approach based on genetic algorithms—that shows competitive results compared with other existing algorithms. ^ Although there is existing work on genetic algorithms to solve the problem of generating the test cases for pairwise testing, there are no tools or open-source code available. That's why another of the problems that I wanted to address in this research is the lack of a tool based on genetic algorithms capable of generating test cases for pairwise testing, where one could adjust its configuration, extend its capabilities, or override some of its default behavior, given that genetic algorithms can have many different ways of performing its internal operations. PWiseGen is designed to serve as a framework, in which one can make modifications and adapt to specific problems, or simply to serve as a tool to be used for further research. In order to accomplish this, I use object-oriented concepts to facilitate the reusability as well as the easiness of extending the tool. ^ Some of the prominent contributions made in this research include (a) an algorithm capable of generating test cases for pairwise testing, (b) a configurable open-source framework that can be used for experimenting on test case generation for pairwise testing, and (c) sample configurations and guidelines for using, adapting, and extending the framework. ^
Flores, Pedro, "PWiseGen: A genetic algorithms-based framework for pairwise test set generation" (2010). ETD Collection for University of Texas, El Paso. AAI1484230.