By Andréia Ribeiro
When testing systems that involve multiple conditions and business rules, it can be challenging to ensure that all possible combinations are properly covered. In many cases, simply testing a few typical scenarios is not enough, and important combinations may be overlooked.
I have studied the structured approach to Decision Tables commonly taught in testing certifications such as ISTQB, which provides a formal methodology for organising conditions, rules, and expected outcomes. Additionally, during my software testing mentorship with Julio de Lima, I explored practical ways to apply Decision Tables in real-world scenarios.
What Are Decision Tables?
A Decision Table is a structured test design technique that helps testers organise complex logic and systematically derive test cases. It maps conditions (inputs or rules that affect system behaviour) and their corresponding actions or outcomes (expected results for each combination) in a structured format.
Essentially, it is a visual representation of “if this, then that” logic, where every scenario is explicitly listed. This makes it easier to identify which combinations of conditions should be tested and what the expected result should be.
Key Benefits:
- Ensures complete coverage of all rule combinations.
- Reduces the risk of missing important test cases.
- Provides a visual, easy-to-understand representation of complex business logic.
- The user must be a VIP.
- The purchase amount must be greater than €100.
- The coupon must be valid.

-
Apply discount
-
Do not apply discount
2³ = 8 rules (columns)
The remaining rules produce the same outcome (no discount) and can be merged using “don’t care” (–) values to simplify the table.

In addition to the formal approach defined by ISTQB, more practical methods are often used in real-world projects. One such approach, presented by Julio de Lima, connects business rules directly to user inputs in a systematic way to facilitate test case generation.
Using this method, the tester identifies input conditions, their possible variations (or partitions), and the corresponding system actions, then organises this information into a decision table. The resulting table can be used to derive test cases that accurately reflect the system’s business rules.
Example: Money Transfer Rules
Rule 1: Transfers must be at least €10. Amounts lower than this are not allowed.
Input: Transfer amount
In this case, boundary value testing is particularly relevant, as the minimum allowed value is critical to the system behaviour.
Rule 2: Transfers of €5,000 or more require token authentication.
Inputs:
-
Transfer amount (less than €5,000 / greater than or equal to €5,000)
-
Token status (valid / invalid / not provided)
For transfers below €5,000, token authentication is optional. However, if a token is provided, it must be valid; otherwise, the transfer is rejected.
Considering these inputs, the possible combinations of conditions are:
2 × 3 = 6 combinations
Example test cases derived from this scenario:
Lessons Learned
Decision Tables are particularly useful when multiple rules interact.
They help communicate test scenarios clearly to developers, stakeholders, and other testers.
Applying the practical method from my mentorship helped me think more systematically and uncover cases I might have overlooked.
Using structured Decision Tables improves test coverage and enhances software reliability.
Deriving Test Cases
Once the table is created, test cases can be derived directly from it.
This ensures that tests accurately reflect the rules and cover all meaningful combinations of conditions.
Why Decision Tables Are Useful
-
Organise complex logic clearly
-
Reduce the risk of missing important combinations
-
Derive consistent, traceable test cases
-
Validate business rules effectively
Key Takeaways
-
Decision Tables help structure testing when multiple conditions affect outcomes
-
They make it easier to visualise and validate business rules
-
They help derive complete and logical test cases from defined system behaviour
-
While Decision Tables can become complex in real systems, combining formal ISTQB methods with practical approaches from mentorship provides both structure and real-world insight
Have you applied Decision Tables in your testing?
Which types of systems or features do you think benefit most from this technique?
Share your thoughts or examples in the comments. I’d love to hear how you use this method in practice!
References
Mentorship: Software Testing Mentorship with Julio de Lima
Graham, D., van Veenendaal, E., Evans, I., & Black, R. (2008). Foundations of Software Testing.
ISTQB Glossary & Syllabus. International Software Testing Qualifications Board.




Comments
Post a Comment