Decision Table Testing
Definition
Decision Table Testing is a black-box test design technique that uses a decision table (see Module 2) to systematically derive test cases covering all combinations of conditions and their corresponding expected actions — ensuring complex business logic is fully tested.
Why Use Decision Tables for Testing
When a system's behavior depends on multiple, combined conditions (e.g., loan approval depends on credit score AND income), simple equivalence classes aren't enough — decision tables ensure every meaningful combination is tested.
Process
- Identify all relevant conditions affecting the system's behavior
- Identify all possible actions/outcomes
- Build the decision table — each column (rule) represents one combination of conditions and its resulting action(s)
- Derive one test case per rule/column in the table
Example: Loan Approval Decision Table → Test Cases
| Condition | Rule 1 | Rule 2 | Rule 3 | Rule 4 |
|---|---|---|---|---|
| Good Credit Score? | Y | Y | N | N |
| Stable Income? | Y | N | Y | N |
| Action | Approve | Conditional | Conditional | Reject |
Derived Test Cases:
- TC1: Credit=Good, Income=Stable → Expect: Approve
- TC2: Credit=Good, Income=Unstable → Expect: Conditional Approval
- TC3: Credit=Poor, Income=Stable → Expect: Conditional Approval
- TC4: Credit=Poor, Income=Unstable → Expect: Reject
Advantages
- Guarantees complete coverage of all condition combinations (no branch of business logic missed)
- Easy to verify correctness and completeness of the underlying business rules themselves
- Test cases map directly and traceably to business rules
Disadvantages
- Table (and hence number of test cases) grows exponentially with the number of conditions (2ⁿ for n binary conditions)
- Can become impractical for logic with many independent conditions — may need to combine with equivalence partitioning to reduce scope
When to Use
- Systems with complex conditional/business rule logic (loan approval, discount eligibility, insurance premiums, tax calculation)
Exam tip: Given a scenario with 2-3 conditions, build the decision table AND derive the corresponding test cases (condition values → expected action) — a very common combined practical question.