Top Banner
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
14
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Decision Table Training Session

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

Page 2: Decision Table Training Session

June 2002 2

In this session …

DefinitionApplication areasSteps to create a

decision tableExerciseSolution to exercise

Page 3: Decision Table Training Session

June 2002 3

Definition

ComponentsA decision table lists

causes and effects in a matrix. Each column represents a unique combination.

Purpose is to structure logic

Cause = conditionEffect = action = expected results

Causes Values 1 2 3 4 5 6 7 8Cause 1 Y, N Y Y Y Y N N N NCause 2 Y, N Y Y N N Y Y N NCause 3 Y, N Y N Y N Y N Y NEffectsEffect 1 X X XEffect 2 X X X

Combinations

Page 4: Decision Table Training Session

June 2002 4

Application Areas

Business AnalysisProgrammingTestingHardware Design etc

Page 5: Decision Table Training Session

June 2002 5

Steps to Create a decision table

1. List all causes in the decision table

2. Calculate the number of possible combinations

3. Fill columns with all possible combinations

4. Reduce test combinations 5. Check covered combinations 6. Add effects to the table

Page 6: Decision Table Training Session

June 2002 6

Step 1: List all causes

Hints:Write down the values

the cause/condition can assume

Cluster related causesPut the most

dominating cause firstPut multi valued

causes last

Causes Values 1 2 3 4 5 6 7 8Cause 1 Y, N Y Y Y Y N N N NCause 2 Y, N Y Y N N Y Y N NCause 3 Y, N Y N Y N Y N Y NEffectsEffect 1 X X XEffect 2 X X X

Combinations

Page 7: Decision Table Training Session

June 2002 7

Step 2: Calculate combinations

If all causes are simply Y/N values:2number of causes

If 1 cause with 3 values and 3 with 2:31 * 23 = 24

Or, use the Values column and multiply each value down the column, eg. 3*2*2*2=24

Number of Values to the power of the number of causes with these values

Page 8: Decision Table Training Session

June 2002 8

Step 3: Fill columns

1. Algorithm:

2. Determine Repeating Factor (RF): divide remaining combinations by the number of possible values for that cause

3. Write RF times the first value, then RF times the next etc. until row is full

4. Next row, go to 1.

Page 9: Decision Table Training Session

June 2002 9

Step 4: Reduce combinations

Find indifferent combinations – place a ‘-’

Causes Values 1 2 3 4 5 6 7 8Cause 1 Y, N Y Y Y Y N N N NCause 2 Y, N Y Y N N Y Y N NCause 3 Y, N Y N - - Y N Y NEffectsEffect 1 X X XEffect 2 X X X

Combinations

Causes Values 1 2 3 4 5 6 7Cause 1 Y, N Y Y Y N N N NCause 2 Y, N Y Y N Y Y N NCause 3 Y, N Y N - Y N Y NEffectsEffect 1 X XEffect 2 X X X

Combinations Join columns where

columns are identicalTip: ensure the effects are

the same

Page 10: Decision Table Training Session

June 2002 10

Step 5: Check covered combinations

Checksum For each column calculate the

combinations it represents A ‘-’ represents as many

combinations as the cause has Multiply for each ‘-’ down the

column Add up total and compare with

step 2

Causes Values 1 2 3 4Cause 1 Y, N Y Y Y NCause 2 Y, N Y N N -Cause 3 Y, N - Y N -EffectsEffect 1 X XEffect 2Checksum 2 1 1 4 8

Combinations

Page 11: Decision Table Training Session

June 2002 11

Step 6: Add effects to table

Read column by column and determine the effects

One effect can occur in multiple test combinations

Causes Values 1 2 3 4Cause 1 Y, N Y Y Y NCause 2 Y, N Y N N -Cause 3 Y, N - Y N -EffectsEffect 1 X XEffect 2 X XChecksum 2 1 1 4 8

Combinations

Page 12: Decision Table Training Session

June 2002 12

Exercise: SpecificationCreate a decision table

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.

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.

Page 13: Decision Table Training Session

June 2002 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?

Causes Values 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16Customer Type A,B,C,O A A A A B B B B C C C C O O O O2 or more lines Y, N Y Y N N Y Y N N Y Y N N Y Y N NCredit rating = X Y, N Y N Y N Y N Y N Y N Y N Y N Y NEffectsNormal Letter X X X X X X X X ? ? ? ?Special Letter X X X X ? ? ? ?Add. Paragraph ? X X ? X X ? X X ? ? ? ?No Letter ? ? ? ?Checksum 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16

Combinations

Page 14: Decision Table Training Session

June 2002 14

Thank You