What are black-box test design techniques?
Black-box techniques derive test cases from the specification without reading the code: equivalence partitioning groups inputs that should behave the same, boundary value analysis tests the edges of each group (0, 1, max, max+1), decision tables enumerate combinations of conditions, state transition testing walks the allowed and forbidden state changes, and pairwise testing covers every pair of parameter values with far fewer cases than the full product.
Read the guide: How to Write Test Cases
How to use Pairwise Testing Generator
- Enter parameters as "Name: value1, value2, value3", one per line.
- Add constraints for impossible combinations if needed.
- Generate and check the coverage stats; export the table as CSV or JSON.
Pairwise Testing Generator features
- All-pairs generation with an IPO-style greedy algorithm
- Constraints: IF A = x THEN B <> y, forced pairs and forbidden combinations
- Coverage statistics: tests, exhaustive count, reduction and pairs covered
- Numbered table, CSV and JSON exports
- Handles up to 30 parameters and 400 values
Pairwise Testing Generator example
Browser × OS × role matrix
Input:
Browser: Chrome, Firefox, Safari
OS: Windows, macOS, Linux
Role: admin, user
Constraint: IF OS = Linux THEN Browser <> SafariOutput:
# Browser OS Role
1 Chrome Windows admin
2 Chrome macOS user
3 Chrome Linux admin
4 Firefox Windows user
…
8 tests instead of 16 allowed combinations (18 before the constraint); pairs covered 100%| Covered by test # | WindowsOS | macOSOS | LinuxOS | adminRole | userRole |
|---|---|---|---|---|---|
ChromeBrowser | 1 | 2 | 3 | 1, 3 | 2 |
FirefoxBrowser | 4 | 5 | 6 | 5 | 4, 6 |
SafariBrowser | 7 | 8 | out | 7 | 8 |
adminRole | 1, 7 | 5 | 3 | not a pair: same parameter | not a pair: same parameter |
userRole | 4 | 2, 8 | 6 | not a pair: same parameter | not a pair: same parameter |
- Pair covered by the listed tests
- Pair excluded by
IF OS = Linux THEN Browser <> Safari
- The generated tests
- #1
Chrome · Windows · admin - #2
Chrome · macOS · user - #3
Chrome · Linux · admin - #4
Firefox · Windows · user - #5
Firefox · macOS · admin - #6
Firefox · Linux · user - #7
Safari · Windows · admin - #8
Safari · macOS · user
Each cell lists the tests that contain both values. 8 tests instead of 16 allowed combinations (18 before the constraint), computed by the tool.
Frequently asked questions about Pairwise Testing Generator
What is pairwise testing?
A combinatorial technique that guarantees every pair of parameter values appears in at least one test. Most defects involve one or two factors, so all-pairs finds them with a fraction of the exhaustive combinations.
How do I add constraints?
Use "IF OS = iOS THEN Browser <> Edge" to exclude a pair, "IF A = x THEN B = y" to force one, or "A = x AND B = y" to forbid a combination. Constraints are respected during generation and impossible pairs are reported.
How good is the reduction?
For 4×5×3×3×3 values the exhaustive set is 540 tests; the pairwise set is usually 20–25. The stats show the exact reduction and the number of value pairs covered.
Is the algorithm the same as PICT?
It is an IPO-style greedy generator similar in spirit to PICT and AllPairs. Results are minimal-ish rather than provably minimal; run it again after reordering parameters to compare sizes.
Technical notes
Generation is deterministic: identical input always yields the same table. All value pairs are enumerated first, minus those a constraint forbids on their own. Each row starts from the first uncovered pair, then fills the remaining parameters in input order with the value covering the most still-uncovered pairs against cells already fixed, ties going to the earlier value. Rows that violate a constraint or add nothing are dropped; generation stops at 5,000 rows.
Coverage is 2-way: every allowed pair appears at least once, no 3-way targeting, and row count is not proven minimal but never below the product of the two largest domains (5 × 4 = 20 for the sample). IF A = x THEN B = y expands to one forbidden pair per other value of B; forbidden combinations spanning 3+ parameters exclude rows but not pairs. The exhaustive count and the reduction use only the combinations the constraints allow (enumerated up to 200,000; above that the unconstrained product is shown, marked "before constraints").
References
- ISTQB Certified Tester Foundation Level (CTFL) v4.0The foundation syllabus of software testing: test levels and types, test design techniques, test management and tools.
- ISTQB GlossaryThe standard definitions of testing terms — test case, regression testing, severity, priority, boundary value analysis and the rest.
- ISO/IEC/IEEE 29119-1:2022 — Software and systems engineering — Software testing — Part 1: General conceptsThe international software-testing standard: concepts, processes, documentation and techniques.