About this tool
Testing every combination of browsers, operating systems, locales and account types quickly becomes impossible: five parameters with three or four values each already exceed 300 combinations. Pairwise (all-pairs) testing picks a much smaller set in which every pair of values appears together at least once, which catches the interaction defects that involve two settings. This generator uses an IPOG-style greedy algorithm, so the same input always produces the same rows. After generating, it independently recounts every required pair and shows the result, so you can see the coverage claim is checked rather than assumed. Simple constraints remove combinations that cannot exist, such as Safari on Windows.
How to use it
- Enter one parameter per line in the form “Browser: Chrome, Firefox, Safari”.
- Optionally add constraints, one per line, such as “if Browser = Safari then OS != Windows”.
- Read the generated rows and the coverage line, which compares the count with the full cartesian product.
- Copy or download the matrix as CSV and turn each row into a test configuration.
Pairwise Test Generator FAQ
Does pairwise testing find all defects?
No. It guarantees that every combination of two values is exercised, which targets defects triggered by two interacting settings. Defects that need three or more specific values together can be missed, so add targeted cases for high-risk combinations.
Why is the result not always the theoretical minimum?
Finding the smallest covering array is computationally hard, so practical tools use greedy algorithms. The lower bound is the product of the two largest value lists; IPOG-style results are usually close to it.
How do constraints work?
Each constraint forbids one pair of values from ever appearing in the same row. Forbidden pairs are not required for coverage. If constraints conflict so that some allowed pair cannot be placed, the tool lists it instead of hiding it.