Software Testing · Software Engineering

Decision Table Testing

Watch lectures

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

  1. Identify all relevant conditions affecting the system's behavior
  2. Identify all possible actions/outcomes
  3. Build the decision table — each column (rule) represents one combination of conditions and its resulting action(s)
  4. 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.

Official AppAndroid App

PYQDeck for Android

Solve BEU previous-year exam papers anywhere, anytime. Fast search, offline paper viewing, and step-by-step solutions designed specifically for your phone.

← All Software Engineering modules