Decision Table Generator

Runs in browser Test Design

Enter conditions (with true/false or multi-valued options) and actions, get the full combination matrix, mark expected actions and export as a test table.

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

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 Decision Table Generator

  1. Enter conditions one per line; use "Name: v1, v2" for multi-valued conditions.
  2. List the actions and, optionally, the rules that map conditions to actions.
  3. Set a default action and keep collapsing on for the minimal table.
  4. Generate and export the decision table and its test cases.

Decision Table Generator features

  • Boolean and multi-valued conditions with the full combination matrix (up to 1,024 rules)
  • Rules written as IF … AND … THEN actions or positional Y, N, - lines
  • Default action for unmatched combinations
  • Collapse rules with identical outcomes into don't-care entries
  • One test case per rule with conditions as test data and actions as expected result

Decision Table Generator example

Discount rules

Input:

Conditions: Customer logged in / Has valid coupon / Cart total: <50, >=50
Actions: Apply coupon discount / Free shipping / Show login prompt
Rules:
IF Customer logged in = N THEN Show login prompt
IF Customer logged in = Y AND Has valid coupon = Y AND Cart total = >=50 THEN Apply coupon discount, Free shipping
IF Customer logged in = Y AND Has valid coupon = Y AND Cart total = <50 THEN Apply coupon discount
IF Customer logged in = Y AND Has valid coupon = N AND Cart total = >=50 THEN Free shipping
Default action: No action

Output:

Rule  Customer logged in  Has valid coupon  Cart total  Actions
R1    Y                   Y                 <50         Apply coupon discount
R2    Y                   Y                 >=50        Apply coupon discount, Free shipping
R3    Y                   N                 <50         No action
R4    Y                   N                 >=50        Free shipping
R5    N                   -                 -           Show login prompt
The discount example's 8 combinations become 5 rules: the four with Customer logged in = N share one action, so they merge into one rule with don't-care entries.
CombinationActionsRule after collapse
1Y, Y, <50Apply coupon discountR1Y, Y, <50
2Y, Y, >=50Apply coupon discount, Free shippingR2Y, Y, >=50
3Y, N, <50No actionR3Y, N, <50
4Y, N, >=50Free shippingR4Y, N, >=50
5N, Y, <50Show login promptR5N, -, -
6N, Y, >=50Show login promptR5N, -, -
7N, N, <50Show login promptR5N, -, -
8N, N, >=50Show login promptR5N, -, -
  • Merged: one rule now covers several combinations

Computed by the tool from the example input. Values are in the order Customer logged in, Has valid coupon, Cart total; “-” means don’t care: any value of that condition.

Frequently asked questions about Decision Table Generator

How do I enter conditions?

One per line. A bare name becomes a Yes/No condition; "Name: v1, v2, v3" defines a multi-valued condition. The generator builds every combination (up to 1,024 rules).

How do rules work?

Write "IF Condition = value AND Other = value THEN action, action" or a positional "Y, N, - => action" line. Combinations that match no rule get the default action.

What does collapsing do?

Rules with identical actions that differ in one condition only are merged into a single rule with a don't-care ("-") entry, giving the minimal table testers actually execute.

Why generate test cases from the table?

Each rule becomes one test case with the condition values as test data and the actions as the expected result — complete decision coverage with no missed combination.

References