What it does
Models each parameter and its partitions/constraints, computes the full Cartesian size, generates a constraint-honoring combinatorial set at the chosen strength, adds boundary/negative supplements, and reports the reduction and interaction-coverage metrics with per-case traceability.
When to use it
Several inputs/options combine and exhaustive testing is infeasible (Principle 2).
Prerequisites
qa.config.yml (paths.docs_dir, risk_areas drive strength raises); a multi-parameter feature, or empty to default to the highest-priority risk_areas.critical entry with multiple inputs.
Output
ISO/IEC/IEEE 29119-3 Test Case Specification -> docs/COMBINATORIAL-<feature>.md.
Mechanics
How it works
- Model parameters: partitions (EP first), invalid values, and constraints
- Compute the full Cartesian size as the reduction baseline
- Choose technique and strength by rule (pairwise default; raise to 3-wise only for critical/high)
- Generate the combination set honoring every constraint
- Add boundary/negative cases combinatorics won't catch
- Record per-case traceability + report reduction % and n-way interaction coverage
Why it works
The theory behind it
Combinatorial techniques are Advanced (CTAL-TA) black-box — pairwise/classification tree were removed from CTFL v4.0 Foundation. A direct realization of Principle 2: most defects involve one or two factors, so all-pairs coverage catches them without the combinatorial explosion.
CTFL v4.0 §1.4 (design) · CTAL-TA (combinatorial, Advanced)
Example
See it in use
> /qa:combinatorial "checkout: 3 payment methods × 2 shipping × 4 countries"✓ Correct when It gives a pairwise/classification-tree set far smaller than the 24 exhaustive combos while covering all pairs, with the reduction % and interaction coverage stated.
Related commands
Used by