Pairwise Test Case Generator

Generate a small set of test cases that covers every pair of parameter values, then check the verified result. Your model never leaves your browser.

Generates a small set of tests in which every pair (or, at strength 3, every triple) of parameter values appears at least once. The set is small, not guaranteed to be the smallest possible, and may differ from other tools. Pairwise testing is a heuristic: it doesn't find every bug, and it doesn't know the expected results.

Name: value, value, value. Wrap a name or value that contains a comma or colon in double quotes ("Size: 10, 20" or "a ""quoted"" word"). Limits: 30 parameters, 50 values each, 500 values in all, 100 characters per name or value. A parameter with one value is allowed; it adds no pairs.

Name=Value, Name=Value: no test will hold all of them together. One assignment alone forbids that value in every test. Combinations no valid test can hold are reported as excluded by your rules.

Models with up to 20,000 combinations to cover are generated as you type; larger ones when you press Generate, in the background, with a Cancel button. The limits: 200,000 pairs at strength 2 and 1,000,000 triples at strength 3.

Examples

Type parameters, or load the sample. Nothing you enter leaves your browser.

Pairwise testing, also called all-pairs testing, picks test cases so that every pair of values from any two parameters appears together at least once. It answers a practical problem: three browsers, three operating systems, two payment methods and two kinds of user already make 36 combinations, and every new parameter multiplies them.

A worked example

The sample has four parameters, Browser (Chrome, Firefox, Safari), OS (Windows, macOS, Linux), Payment (Card, PayPal) and User (Guest, Member), and one forbidden combination: Safari on Windows. Every combination would take 36 tests. The tool generates 10 tests and its verification reads “Verified: all 36 pairs are covered by 10 tests. 1 pair is excluded by your rules.” That is 72.22% fewer tests than every combination, rounded down.

Strength 3

At strength 3, every triple of values from any three parameters appears in some test. That covers failures that need three values together, at a cost: the sample needs 16 tests instead of 10, and large models grow quickly.

Forbidden combinations

Some values can't go together. A forbidden line lists assignments that must never all appear in one test; a single assignment removes that value from every test. Combinations no valid test can hold are reported as excluded by your rules, not as gaps. If the bounded search can't settle a combination within its step limit, the tool says it could not be covered and why; it never drops one silently.

How it works

The generator is deterministic and greedy: it builds one test at a time, giving each parameter, in order, the value that can still cover the most combinations, ties going to the earlier value. The same input always gives the same tests. Finding the smallest possible set is a hard problem, so the result is small but not guaranteed to be minimal, and other tools such as PICT may produce more or fewer tests. A separate verifier then checks every combination, rule and row.

What it doesn't do

Pairwise testing is a heuristic. A widely taught idea is that many failures are triggered by one parameter or by two together, but that is not a guarantee: a bug that needs more values together can be missed unless you raise the strength, and the tool doesn't know the expected results. Pick parameters and values from the requirements, add boundary values and risky single cases by hand, and use synthetic test data, not real personal data.

Privacy

The model is processed in your browser and never leaves it. Like every page on this site, the page records a visit when it loads, but not what you type.

How to use

  1. Enter one parameter per line, as Name: value, value, or load the sample.
  2. Add forbidden combinations if some values can't go together, and choose the strength.
  3. Read the verification line, then copy or download the tests.

Features

Common uses

Frequently asked questions

What is pairwise testing?

A way to choose test cases so that every pair of values from any two parameters is tested together at least once, with far fewer tests than every combination.

What is all-pairs testing?

Another name for pairwise testing.

How many tests will I get?

Without forbidden combinations, at least the product of the two largest value counts, and usually somewhat more. The summary shows that lower bound and the actual count.

Does pairwise testing find all bugs?

No. It covers every pair of values, not every combination, and it doesn't know the expected results.

What is the difference between pairwise testing and testing every combination?

Every combination grows by multiplication: the sample needs 36 tests. Pairwise covers every pair in far fewer, 10 for the sample, but skips most larger combinations.

What do forbidden combinations do?

They keep values that can't go together out of every test. The pairs they rule out are listed as excluded, not as missing.

Will the results match PICT?

Not necessarily. Different methods give different sets, sometimes smaller, sometimes larger; this tool makes no claim to match any other tool.

What does strength 3 mean?

Every triple of values from any three parameters appears in some test. It needs more tests than strength 2.

Is my data uploaded?

No. The model is processed in your browser and never sent anywhere or saved. The page itself records a visit when it loads, as every page here does.

Need to test a whole website, not just a snippet?

RoboQA tests real pages and user journeys in a browser: logins, forms, clicks and full flows. See what RoboQA can test or compare plans.

More free tools

See all free tools