Decision Table Training Session

15
 Decision Table s A useful testing technique and more… Marien de Wilde, Solution Architect

description

decision table

Transcript of Decision Table Training Session

  • 5/26/2018 Decision Table Training Session

    1/15

    Decision Tables

    A useful testing technique and

    more

    Marien de Wilde, Solution Architect

  • 5/26/2018 Decision Table Training Session

    2/15

    February 2010 2

    In this session

    Definition

    Application areas

    Steps to create a

    decision table

    ExerciseSolution to exercise

  • 5/26/2018 Decision Table Training Session

    3/15

    February 2010 3

    Definition

    Components

    A decision table lists

    causes and effects in amatrix. Each column

    represents a unique

    combination.

    Purpose is to structure

    logic

    Cause = condition

    Effect = action = expected results

    Causes Values 1 2 3 4 5 6 7 8

    Cause 1 Y, N Y Y Y Y N N N N

    Cause 2 Y, N Y Y N N Y Y N N

    Cause 3 Y, N Y N Y N Y N Y N

    Effects

    Effect 1 X X X

    Effect 2 X X X

    Combinations

  • 5/26/2018 Decision Table Training Session

    4/15

    February 2010 4

    Application Areas

    Business Analysis

    Programming

    Testing

    Hardware Design

    etc

  • 5/26/2018 Decision Table Training Session

    5/15

    February 2010 5

    Steps to Create a decision table

    1. List all causes in the decision table

    2. Calculate the number of possible

    combinations3. Fill columns with all possible

    combinations

    4. Reduce test combinations5. Check covered combinations

    6. Add effects to the table

  • 5/26/2018 Decision Table Training Session

    6/15

    February 2010 6

    Step 1: List all causes

    Hints:

    Write down the values

    the cause/conditioncan assume

    Cluster related causes

    Put the mostdominating cause first

    Put multi valued

    causes last

    Causes Values 1 2 3

    Cause 1 Y, N Y Y Y

    Cause 2 Y, N Y Y N

    Cause 3 Y, N Y N Y

    Effects

    Effect 1 X

    Effect 2 X

    Com

  • 5/26/2018 Decision Table Training Session

    7/15

    February 2010 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* 2 3= 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

  • 5/26/2018 Decision Table Training Session

    8/15

    February 2010 8

    Step 3: Fill columns

    Algorithm:

    1. Determine Repeating Factor (RF):

    divide remaining combinations by thenumber 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.

    s Values 1 2 3 4 5 6 7 8

    1 Y, N Y Y Y Y N N N N

    2 Y, N Y Y N N Y Y N N

    3 Y, N Y N Y N Y N Y N

    s

    t 1 X X X

    t 2 X X X

    Combinations

  • 5/26/2018 Decision Table Training Session

    9/15

    February 2010 9

    Step 4: Reduce combinations

    Find indifferent

    combinations place

    a -

    Causes Values 1 2 3 4 5 6 7 8

    Cause 1 Y, N Y Y Y Y N N N N

    Cause 2 Y, N Y Y N N Y Y N N

    Cause 3 Y, N Y N - - Y N Y NEffects

    Effect 1 X X X

    Effect 2 X X X

    Combinations

    Causes Values 1 2 3 4 5 6 7

    Cause 1 Y, N Y Y Y N N N N

    Cause 2 Y, N Y Y N Y Y N N

    Cause 3 Y, N Y N - Y N Y N

    Effects

    Effect 1 X X

    Effect 2 X X X

    Combinations

    Join columns wherecolumns are identical

    Tip: ensure the effects

    are the same

  • 5/26/2018 Decision Table Training Session

    10/15

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

    Cause 1 Y, N Y Y Y N

    Cause 2 Y, N Y N N -

    Cause 3 Y, N - Y N -

    Effects

    Effect 1 X X

    Effect 2

    Checksum 2 1 1 4 8

    Combinations

  • 5/26/2018 Decision Table Training Session

    11/15

    February 2010 11

    Step 6: Add effects to table

    Read column by

    column and determine

    the effectsOne effect can occur

    in multiple test

    combinations

    Causes Values 1 2 3 4

    Cause 1 Y, N Y Y Y N

    Cause 2 Y, N Y N N -

    Cause 3 Y, N - Y N -

    Effects

    Effect 1 X X

    Effect 2 X X

    Checksum 2 1 1 4 8

    Combinations

  • 5/26/2018 Decision Table Training Session

    12/15

    February 2010 12

    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.

  • 5/26/2018 Decision Table Training Session

    13/15

    February 2010 13

    Solution on next slide

  • 5/26/2018 Decision Table Training Session

    14/15

    February 2010 14

    Exercise: possible solution

    2 or more current lines ORcredit 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 16

    Customer Type A,B,C,O A A A A B B B B C C C C O O O O

    2 or more lines Y, N Y Y N N Y Y N N Y Y N N Y Y N N

    Credit rating = X Y, N Y N Y N Y N Y N Y N Y N Y N Y NEffects

    Normal 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

  • 5/26/2018 Decision Table Training Session

    15/15

    February 2010 15

    Thank You