Sie sind auf Seite 1von 15

Decision Tables

A useful testing technique and more


Marien de Wilde, Solution Architect

In this session

Definition Application areas Steps to create a decision table Exercise Solution to exercise

February 2010

Definition
Causes Cause 1 Cause 2 Cause 3 Effects Effect 1 Effect 2 Combinations Values 1 2 3 4 5 6 7 8 Y, N Y Y Y Y NNNN Y, N Y Y NNY Y NN Y, N Y NY NY NY N X X X X X X

Components
A decision table lists causes and effects in a

matrix. Each column represents a unique combination. Purpose is to structure logic


3

February 2010

Cause = condition Effect = action = expected results

Application Areas
Business Analysis
Programming Testing

Hardware Design
etc

February 2010

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
February 2010 5

Step 1: List all causes


Hints: Combinations 1 2 3 4 5 6 8 7 Write down the values Y Y Y Y NNNN the cause/condition Y Y NNY Y NN Y NY NY NY N can assume X X XCluster related causes X X X Put the most dominating cause first Put multi valued causes last
6

Causes Cause 1 Cause 2 Cause 3 Effects Effect 1 Effect 2

Values Y, N Y, N Y, N

February 2010

Step 2: Calculate combinations


Number of Values to If all causes are simply Y/N the power of the values: number of causes 2number of causes with these values

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

February 2010

Step 3: Fill columns


Combinations Values 1 2 3 4 5 6 7 8 Y, N Y Y Y Y NNNN Y, N Y Y NNY Y NN Y, N Y NY NY NY N X X X X X X

Algorithm:
1. Determine Repeating Factor (RF): divide remaining combinations by the

es e1 e2 e3 ts t1 t2

number of possible values for that cause 2. Write RF times the first value, then RF times the next etc. until row is full 3. Next row, go to 1.
8

February 2010

Step 4: Reduce combinations


Causes Cause 1 Cause 2 Cause 3 Effects Effect 1 Effect 2 Combinations Values 1 2 3 4 5 6 7 8 Y, N Y Y Y Y NNNN Y, N Y Y NNY Y NN Y, N Y N - - Y NY N X X X X X X

Find indifferent combinations place a -

Causes Cause 1 Cause 2 Cause 3 Effects Effect 1 Effect 2


February 2010

Combinations Values 1 2 3 4 5 6 7 Y, N Y Y Y NNNN Y, N Y Y NY Y NN Y, N Y N - Y NY N X X X X X

Join columns where

columns are identical Tip: ensure the effects are the same
9

Step 5: Check covered combinations


Checksum
Causes Cause 1 Cause 2 Cause 3 Effects Effect 1 Effect 2 Checksum Combinations Values 1 2 3 4 Y, N Y Y Y N Y, N Y N N Y, N - Y N X 2 1 X 1 4 8

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

February 2010

10

Step 6: Add effects to table


Causes Cause 1 Cause 2 Cause 3 Effects Effect 1 Effect 2 Checksum Combinations Values 1 2 3 4 Y, N Y Y Y N Y, N Y N N Y, N - Y N X X 2 X X 1 1 4

Read column by column and determine the effects One effect can occur in multiple test 8 combinations

February 2010

11

Exercise: Specification Create 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.
February 2010 12

Solution on next slide

February 2010

13

Exercise: possible solution


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

X X X X X X X X ? X X ? X X X X X X ? X X 1 1

1 1 1 1 1 1 1 1 1 1

16

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?
February 2010 14

Thank You

February 2010

15

Das könnte Ihnen auch gefallen