// Free testing tool

Decision Table Builder

List every combination of your conditions, choose the outcome for each, and get the simplified set of tests you need to run.

// Builder

Build your decision table

Add your conditions and outcomes, set the outcome for each rule, then see the tests you need.

Each one is a yes/no question. Up to 6.

Separate them with commas.

Full decision table
Simplified decision table (your tests)

Things to know

  • Simplifying merges rules that give the same outcome. If a defect only affects one of the merged combinations, the simplified tests could miss it. Where a mistake would be costly, test the full table.
  • Choose "Not possible" for combinations that can't happen, such as being under 18 and over 65 at the same time. They're left out of the tests.
  • A rule can appear under "Covers rules" for more than one test. That's normal. It means two simplified rules overlap, and both are needed to cover everything.
// FAQs

Frequently asked questions

The simplified table covers every outcome and every rule with fewer tests. The full table tests each combination on its own. Use the full table when a mistake would be costly, such as with payments, or when there are only a few rules anyway.

Choose "Not possible" for that rule. It stays in the full table so you can see it was considered, but it's left out of the tests.

This builder uses yes/no conditions, which is the most common form. A condition with more values, such as a ticket type of adult, child or senior, can be split into yes/no questions, such as "Child?" and "Senior?". Then mark the impossible combinations, such as being both, as not possible. For settings with lots of options, the pairwise calculator may suit better.

Filling in the table forces a decision for every combination. Often nobody has decided what a student member pays on a Tuesday until the table asks the question. Finding that gap before the code is written is far cheaper than finding it after.

No. Decision tables are built from business rules, which are written in everyday language. They're one of the clearest ways to see how a piece of software should behave.