Decision Table Testing is a good way to deal with a combination of inputs, which produce different results. It helps reduce test effort in verifying each and every combinations of test data, at the same time ensuring complete coverage
Example: To understand the importance of Decision Table Making we will see an example, let's consider the behavior of Flight Button for different combinations of Fly From & Fly To.
Rule 1:When destination for both Fly From & Fly To are not set the Flight Icon is disabled. In the decision table, we register values False for Fly From & Fly To and the outcome would be False, which is Flights Button will be disabled. Likewise, you can decide different outcome for different situation.
Rule 2: When Fly From destination is set but Fly to is not set, Flight button is disabled. Correspondingly, you register True for Fly from destination in the decision table, and the rest of the entries are false.
Rule 3: When Fly from destination is not set but Fly to destination is set, Flight button is disabled and you make entries in the decision table.
Rule 4: only when Fly to and Fly from destinations are set, Flights button is enabled and you make the corresponding entry in the decision table.
If you observe the outcomes for Rule 1, 2 & 3 it remains the same. So you can select any one of them and rule 4 for your testing.
The significance of this technique becomes immediately clear as the number of inputs increases. Number of possible Combinations is given by 2 ^ n , where n is the number of Inputs. For n = 10, which is very common in the web based testing, having big input forms, the number of combinations will be 1024. Obviously, you cannot test all but you will choose a rich sub-set of the possible combinations using decision based testing technique