written 5.8 years ago by |
A decision table is a good way to deal with combinations of things (e.g. inputs). This technique is sometimes also referred to as a cause-effect‘ table. The first task is to identify a suitable function or subsystem which reacts according to a combination of inputs or events.
The system should not contain too many inputs otherwise the number of combinations will become unmanageable. It is better to deal with large numbers of conditions by dividing them into subsets and dealing with the subsets one at a time. Once you have identified the aspects that need to be combined, then you put them into a table listing all the combinations of True and False for each of the aspects.
Following decision table shows the sample example of a credit card black box testing
Conditio n | Rule1 | Rule2 | Rule3 | Rule4 |
---|---|---|---|---|
Pin Number | T | T | T | F |
Payment Detail | T | F | F | T |
Overdue details | F | T | T | F |
OR
i). Decision table testing is black box test design technique to determine the test scenarios for complex business logic.
ii). Decision tables provide a systematic way of stating complex business rules, which is useful for developers as well as for testers.
iii). Decision tables can be used in test design whether or not they are used in specifications, as they help testers explore the effects of combinations of different inputs and other software states that must correctly implement business rules.
iv). It helps the developers to do a better job can also lead to better relationships with them.
v). Testing combinations can be a challenge, as the number of combinations can often be huge.
vi). Testing all combinations may be impractical if not impossible.
vii). We have to be satisfied with testing just a small subset of combinations but making the choice of which combinations to test and which to leave out is also important.
viii). If you do not have a systematic way of selecting combinations, an arbitrary subset will be used and this may well result in an ineffective test effort.
Example of decision table :
In each column of two conditions mention ―Yes‖ or ―No‖, user will get here four combinations (two to the power of the number of things to be combined). Because of this, it‘s always good to take small sets of combinations at once.
To keep track on combinations, give alternate ―Yes‖ and ―No‖ on the bottom row, put two ―Yes‖ and then two ―No‖ on the row above the bottom row, etc., so the top row will have all ―Yes‖ and then all ―No‖ (Apply the same principle to all such tables).
Conditio n | Step 1 | Step 2 | Step 3 | Step 4 |
---|---|---|---|---|
Repayment money has been mentioned | T | T | T | F |
Terms of loan has been mentioned | T | F | F | T |