Software Engineering | Decision Table

Decision table is a brief visual representation for specifying which actions to perform depending on given conditions. The information represented in decision tables can also be represented as decision trees or in a programming language using if-then-else and switch-case statements.

A decision table is a good way to settle with different combination inputs with their corresponding outputs and also called cause-effect table. Reason to call cause-effect table is a related logical diagramming technique called cause-effect graphing that is basically used to obtain the decision table.

Importance of Decision Table:

  1. Decision tables are very much helpful in test design technique.
  2. It helps testers to search the effects of combinations of different inputs and other software states that must correctly implement business rules.
  3. It provides a regular way of stating complex business rules, that is helpful for developers as well as for testers.
  4. It assists in development process with developer to do a better job. Testing with all combination might be impractical.
  5. A decision table is basically an outstanding technique used in both testing and requirements management.
  6. It is a structured exercise to prepare requirements when dealing with complex business rules.
  7. It is also used in model complicated logic.

Decision Table in test designing:

Blank Decision Table

CONDITIONS    STEP 1    STEP 2    STEP 3    STEP 4
Condition 1                
Condition 2                
Condition 3                
Condition 4                

Decision Table: Combinations

CONDITIONS    STEP 1    STEP 2    STEP 3    STEP 4
Condition 1      Y         Y         N         N
Condition 2      Y         N         Y         N
Condition 3      Y         N         N         Y
Condition 4      N         Y         Y         N

Advantage of Decision Table:

  1. Any complex business flow can be easily converted into the test scenarios & test cases using this technique.
  2. Decision tables work iteratively that means the table created at the first iteration is used as input table for next tables. The iteration is done only if the initial table is not satisfactory.
  3. Simple to understand and everyone can use this method design the test scenarios & test cases.
  4. It provide complete coverage of test cases which help to reduce the rework on writing test scenarios & test cases.
  5. These tables guarantee that we consider every possible combination of condition values. This is known as its completeness property.


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.