Upcoming SlideShare
×

Decision Table Training Session

2,163 views

Published on

1 Like
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

Views
Total views
2,163
On SlideShare
0
From Embeds
0
Number of Embeds
135
Actions
Shares
0
62
0
Likes
1
Embeds 0
No embeds

No notes for slide
• Decision Table Training Session

1. 1. Decision Tables A useful testing technique and more… Marien de Wilde, Project Manager IBM New Zealand Ltd, 021 - 474 018 © Copyright IBM New Zealand Ltd, June 2002
2. 2. In this session … <ul><li>Definition </li></ul><ul><li>Application areas </li></ul><ul><li>Steps to create a decision table </li></ul><ul><li>Exercise </li></ul><ul><li>Solution to exercise </li></ul>
3. 3. Definition <ul><li>Components </li></ul><ul><li>A decision table lists causes and effects in a matrix. Each column represents a unique combination. </li></ul><ul><li>Purpose is to structure logic </li></ul>Cause = condition Effect = action = expected results
4. 4. Application Areas <ul><li>Business Analysis </li></ul><ul><li>Programming </li></ul><ul><li>Testing </li></ul><ul><li>Hardware Design </li></ul><ul><li>etc </li></ul>
5. 5. Steps to Create a decision table <ul><li>1. List all causes in the decision table </li></ul><ul><li>2. Calculate the number of possible combinations </li></ul><ul><li>3. Fill columns with all possible combinations </li></ul><ul><li>4. Reduce test combinations </li></ul><ul><li>5. Check covered combinations </li></ul><ul><li>6. Add effects to the table </li></ul>
6. 6. Step 1: List all causes <ul><li>Hints: </li></ul><ul><li>Write down the values the cause/condition can assume </li></ul><ul><li>Cluster related causes </li></ul><ul><li>Put the most dominating cause first </li></ul><ul><li>Put multi valued causes last </li></ul>
7. 7. Step 2: Calculate combinations <ul><li>If all causes are simply Y/N values: 2 number of causes </li></ul><ul><li>If 1 cause with 3 values and 3 with 2: 3 1 * 2 3 = 24 </li></ul><ul><li>Or, use the Values column and multiply each value down the column, eg. 3*2*2*2=24 </li></ul>Number of Values to the power of the number of causes with these values
8. 8. Step 3: Fill columns <ul><li>Algorithm: </li></ul><ul><li>Determine Repeating Factor (RF): divide remaining combinations by the number of possible values for that cause </li></ul><ul><li>Write RF times the first value, then RF times the next etc. until row is full </li></ul><ul><li>Next row, go to 1. </li></ul>
9. 9. Step 4: Reduce combinations <ul><li>Find indifferent combinations – place a ‘-’ </li></ul><ul><li>Join columns where columns are identical </li></ul><ul><li>Tip: ensure the effects are the same </li></ul>
10. 10. Step 5: Check covered combinations <ul><li>Checksum </li></ul><ul><li>For each column calculate the combinations it represents </li></ul><ul><li>A ‘-’ represents as many combinations as the cause has </li></ul><ul><li>Multiply for each ‘-’ down the column </li></ul><ul><li>Add up total and compare with step 2 </li></ul>
11. 11. Step 6: Add effects to table <ul><li>Read column by column and determine the effects </li></ul><ul><li>One effect can occur in multiple test combinations </li></ul>
12. 12. Exercise: Specification Create a decision table <ul><li>A mailing is to be sent out to customers. The content of the mailing is about the current level of discounting and potential levels of discounting. The content is different for different types of customers. </li></ul><ul><li>Customer Types A, B and C get a normal letter except Customer Type C, who get a special letter. Any customer with 2 or more current lines or with a credit rating of ‘X’ get a special paragraph added with an offer to subscribe to another level of discounting. </li></ul>
13. 13. Exercise: possible solution “ 2 or more current lines OR credit rating X”. What if both: AND ? Other customer types? See “O-Other” above. What about non current lines?
14. 14. Thank You