N-wise Test Generator

Combinatorial test case generation — runs entirely in your browser, privacy-first

The N-wise Test Generator is a powerful combinatorial testing tool that helps you create optimized test case matrices with expected outcomes. Using pairwise (2-wise) or higher-strength combinations, it dramatically reduces the number of test cases needed while maintaining high coverage of parameter interactions.

Add parameters and click Generate to create
your optimized test case matrix.

How It Works

  1. Define Parameters: Add your test parameters and their possible values using an intuitive interface
  2. Set Constraints: Define incompatible combinations using multi-condition AND logic (e.g., IF Duration=0 AND PaymentModel=One-off THEN NOT Trial=Enabled)
  3. Configure Outcomes: Create outcome rules based on parameter combinations with multi-condition support
  4. Choose Coverage: Select 2-wise through 6-wise coverage strength (exhaustive testing available when N = parameter count)
  5. Enable Negative Testing (optional): Toggle constraint violation tests to generate test cases that should be rejected
  6. Generate: Create your optimized test matrix with real-time coverage analysis
  7. Export: Download in CSV, JSON, Markdown, or Gherkin format with expected outcomes and test types included

Key Features

Expected Outcomes

Define what should happen for specific parameter combinations:

  • Conditional Rules: IF Browser=Chrome AND PaymentMethod=Card THEN “Fast Checkout”
  • Default Outcomes: Set fallback for unmatched cases
  • Multi-Condition Support: Combine multiple parameters in a single rule
  • Export Integration: Outcomes included in all export formats

Smart Constraints

  • Multi-Condition AND Logic: Combine multiple IF conditions (e.g., IF Duration=0 AND PaymentModel=One-off THEN NOT Trial=Enabled)
  • Cascading Dropdowns: Value dropdowns populate based on selected parameter
  • Add Multiple Conditions: Click ”+ Add Condition” to build complex constraint rules
  • Backward Compatible: Supports both legacy single-condition and new multi-condition formats
  • Real-Time Filtering: Invalid combinations excluded from generated tests
  • Negative Testing: Optional constraint violation tests for validating that invalid combinations are properly rejected

Coverage Options

  • 2-wise (Pairwise): Tests all 2-parameter combinations, minimal test cases
  • 3-wise: Tests all 3-parameter combinations, excellent balance
  • 4-wise: Tests all 4-parameter combinations for critical systems
  • 5-wise & 6-wise: Higher strength interaction coverage
  • Exhaustive Testing: Automatically available when N-wise = parameter count (e.g., 5-wise with 5 parameters tests ALL combinations)
  • Smart Warnings: Visual feedback when selecting exhaustive testing, showing total combination count

Use Cases

  • API Testing: Test all combinations of headers, query parameters, and request bodies with expected response codes
  • UI Testing: Cover browser, OS, screen size, and user role combinations with expected UI states
  • E-commerce Workflows: Payment methods, customer types, shipping options with success/failure outcomes
  • Configuration Testing: Test different deployment scenarios and environment configs with expected behaviors
  • Form Validation: Input combinations with expected validation messages
  • BDD Test Generation: Export directly to Gherkin format with proper Given/And syntax

Export Formats

All export formats support both valid tests and optional constraint violation tests (negative testing).

CSV

Includes TestType column to distinguish valid tests from constraint violations:

Browser,OS,PaymentMethod,ExpectedOutcome,TestType
Chrome,Windows,CreditCard,Payment Successful,Valid
Firefox,macOS,PayPal,Payment Pending,Valid
Safari,Linux,Card,ERROR: Browser=Safari → not OS=Linux,Violation

Gherkin (BDD)

Separate scenarios with @valid and @violation @negative tags:

@combinatorial @2wise
Feature: Combinatorial Test Suite

  @valid
  Scenario Outline: Valid test with <Browser>, <OS>
    Given the Browser is <Browser>
    And the OS is <OS>
    When the action is performed
    Then the outcome is <ExpectedOutcome>

    Examples:
      | Browser | OS | ExpectedOutcome |
      | Chrome | Windows | Success |

  @violation @negative
  Scenario Outline: Constraint violation test with <Browser>, <OS>
    Given the Browser is <Browser>
    And the OS is <OS>
    When the action is performed
    Then the outcome is <ExpectedOutcome>

    Examples:
      | Browser | OS | ExpectedOutcome |
      | Safari | Linux | ERROR: Constraint violation |

JSON

Full metadata including separate arrays for validTests and violationTests, with statistics for each.

Markdown

Clean tables with separate sections for valid and violation tests, perfect for documentation.

Why Combinatorial Testing?

Testing all possible combinations is usually impossible. A system with just 10 parameters of 3 values each has 59,049 possible combinations. N-wise testing dramatically reduces the number of test cases while maintaining high coverage of parameter interactions.

Key insight: Research shows that most software defects are triggered by interactions of relatively few parameters (typically 2-6), regardless of the total number of parameters in the system.

With the N-wise generator, you get:

  • Dramatic reduction in test cases (often 90%+ reduction vs exhaustive testing)
  • High coverage of N-parameter interactions (100% of all N-way combinations)
  • Multi-condition constraints for complex business rules with AND logic
  • Negative testing with optional constraint violation tests
  • Clear expectations with outcome rules
  • Validated logic with comprehensive test suite (56 automated tests)
  • Multiple export options for any workflow with test type separation