Abstract
Combinatorial testing is as an effective testing technique to reveal failures in a given system, based on input combinations
coverage and combinatorial optimization. Combinatorial testing of strength t (t>=2) requires that each t-wise tuple of values
of the different system input parameters is covered by at least one test case. Combinatorial test suite generation algorithms
aim at producing a test suite covering all the required tuples in a small (possibly minimal) number of test cases, in order
to reduce the cost of testing. The most used combinatorial technique is the pairwise testing (t=2) which requires coverage
of all pairs of input values. Constrained combinatorial testing takes also into account constraints over the system parameters,
for instance forbidden tuples of inputs, modeling invalid or not realizable input values combinations. In this paper a new
approach to combinatorial testing, tightly integrated with formal logic, is presented. In this approach, test predicates are
used to formalize combinatorial testing as a logical problem, and an external formal logic tool is applied to solve it. Constraints
over the input domain are expressed as logical predicates too, and effectively handled by the same tool. Moreover, inclusion
or exclusion of select tuples is supported, allowing the user to customize the test suite layout. The proposed approach is
supported by a prototype tool implementation and results of experimental assessment are also presented.
[read the copyright and download the pdf file] [DOI]