Loading...

What is a Decision Table in Software testing?

A method for testing the implementation of system requirements with different condition combinations resulting in specific actions or outcomes.

Particularly useful for business rules and complex logic.

      Structure of Decision Tables

      1. Rows:
      • Represent conditions (criteria) and actions (outcomes).

      2. Columns:

      • Represent unique combinations of conditions (called decision rules) and their corresponding actions.

      Types of Decision Tables

      1. Limited-Entry:
      • Values are Boolean:
      • T = True (condition satisfied)
      • F = False (condition not satisfied)
      •  = Irrelevant condition for outcome
      • N/A = Infeasible condition
      • X = Action occurs
      • Blank = Action does not occur

      2. Extended-Entry:

      • Conditions or actions may take on multiple values (e.g., ranges, equivalence partitions).

      Coverage in Decision Table Testing

      • 100% Coverage:
      • All feasible combinations of conditions (columns) are tested.
      • Formula: Coverage (%)= (Tested Columns​/Total Feasible Columns)×100

      Strengths of Decision Table Testing

      • The systematic approach ensures no condition combinations are overlooked.
      • Identifies gaps or contradictions in requirements.
      • Ensures logical completeness.

      Challenges

      • The number of decision rules grows exponentially with conditions, making exhaustive testing time-consuming.
      • Solution: Use a minimized table or a risk-based approach.

      Example

      Scenario: Loan Approval System

      A bank approves or rejects a loan based on the following conditions:

      1. The applicant has a good credit score.
      2. The applicant has sufficient income.
      3. The applicant has no prior loan defaults.

      The resulting action is either to approve or reject the loan

      Decision Table:

      Explanation of Rules

      1. Rule 1:
      • The applicant has a good credit score, sufficient income, and no loan defaults → Loan Approved.

      2. Rule 2:

      • The applicant has a good credit score and sufficient income but has prior loan defaults → Loan Rejected.

      3. Rule 3:

      • Applicant has a good credit score but lacks sufficient income (even with no defaults) → Loan Rejected.

      4. Rule 4:

      • The applicant has a good credit score but lacks sufficient income and has prior defaults → Loan Rejected.

      5. Rules 5–8:

      • Applicant has a poor credit score → Loan Rejected (regardless of other conditions).