Equivalence Partition Generator

Runs in browser Test Design

Apply equivalence partitioning to ranges, enumerations, formats and lengths, producing classes and one representative value per class.

Privacy: This tool runs entirely in your browser. Your input never leaves your device.
Loading tool…

How to use Equivalence Partition Generator

  1. List the input fields with their constraints.
  2. Generate to see the class table (valid / invalid with a representative value).
  3. Use the derived test cases directly or feed the ranges to Boundary Value Analysis.

Equivalence Partition Generator features

  • Valid and invalid equivalence classes for ranges, enums, booleans, dates, formats, files, lists and strings
  • One representative value per class with the expected result
  • Missing/optional class derived from the required flag
  • Case-sensitivity and pattern classes where applicable
  • One test case per class, exportable as Markdown, JSON, CSV or Gherkin

Equivalence Partition Generator example

Classes for a country selector

Input:

country: enum(SA, AE, JO, EG), required

Output:

Missing (required)                     Invalid   <empty>
Allowed value "SA"                     Valid     SA
Allowed value "AE"                     Valid     AE
Value outside the allowed set          Invalid   unknown-option
Different casing of an allowed value   Invalid   sa

Frequently asked questions about Equivalence Partition Generator

What is equivalence partitioning?

Splitting the input domain into classes where every value should behave the same way, then testing one representative per class. It gives high coverage with few tests and is the foundation of boundary value analysis.

How are the classes derived?

From the field type and constraints: below-range, in-range and above-range for numbers; each allowed value plus an unknown value for enums; well-formed and malformed variants for emails, URLs and phones; too short, valid and too long for strings.

Which representative value is chosen?

A clear example from inside the class — for instance 17 for "below minimum 18" or an address without @ for "missing @". Change it to any other member of the class if you prefer.

How does this relate to BVA?

Use the partitions to identify valid and invalid classes, then run Boundary Value Analysis on the range edges between classes.