ToolJovia
Developer

Pairwise Test Case Builder

Generate constrained two-way parameter cases with explicit feasible-pair coverage and selected-case witnesses.

✓ Browser-local processing

Loading tool…

How to use Pairwise Test Case Builder

Generate constrained two-way parameter cases with explicit feasible-pair coverage and selected-case witnesses. Build a smaller source test-data suite, then inspect exactly which feasible parameter pairs it covers. Forbidden partial assignments are applied to complete rows first; generating coverage is separate from running a test or knowing the application’s correct answer.

  1. Provide optional parameter-model json file, factors and forbidden partial assignments as json.
  2. Choose the supported mode and run the tool. Review its assumptions and any reported errors.
  3. Copy the result or download a separate output; reset to clear the current form.

Good to know

  • UTF-8 JSON up to 50,000 bytes, 10,000 values and 40 levels. Supply 2–8 uniquely named factors with 2–8 distinct nonblank string values each; names and values are at most 80 UTF-8 bytes. Prototype-sensitive object members are refused.
  • At most 4,096 unfiltered Cartesian rows are enumerated. At most 64 forbidden partial assignments use exact existing factor names/values and exclude matching complete rows. A model with no feasible complete row is refused. There is no arbitrary expression, solver language or hidden domain inference.
  • Pair coverage concerns only pairs that appear in at least one remaining complete row. Unreachable pairs are counted separately. Each covered eligible pair records factor/value indexes and its first selected-case witness, so it can be checked independently.
  • The authored greedy selector repeatedly chooses the highest uncovered-pair count, breaking ties by Cartesian row order. Inverted incidence updates keep work bounded by the small enumerated space; the result is capped at 512 cases. This is not a smallest-suite search, orthogonal array or ACTS/IPOG compatibility claim.
  • Two-way coverage does not cover every full row, higher-order interaction, application output or runtime behavior. No generated case is executed, and no defect-detection or software-safety guarantee follows from a complete pair count.
  • CSV contains factor columns in declared order and formula-protected source cells. JSON retains literal values plus coverage witnesses; spreadsheet apostrophe prefixes are an export defense, not changes to the source model.
  • A same-origin module Worker prepares within 10 seconds before ready; the separate computation deadline is 2 seconds. No source is executed, sent to an application or uploaded. The JSON report is capped at 500,000 characters.
  • Structured text output is limited to 500,000 characters. Reduce the supplied source when that separate output budget is exceeded.
  • Inputs are processed on this device and are not automatically saved or uploaded.

Common questions

Does complete pair coverage mean all tests have passed?

No. The suite covers every feasible pair under your declared model. You still need to execute the cases, define the expected behavior and consider higher-order interactions or other risks that two-way coverage does not address.

Does this change my original input?

No. The tool returns a separate result. Review that output before using it in another application.

Keep going with related tools

All developer →