decision table-based testing - york university · dtt–44 decision table - equivalence class...

54
Decision Table-Based Testing Chapter 7

Upload: others

Post on 23-Mar-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

Decision Table-Based Testing

Chapter 7

Page 2: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

Introductory question

What is a decision table? A simple non-technical answer?

A detailed technical answer?

DTT–2

Page 3: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–3

Decision Tables - Wikipedia

A precise yet compact way to model complicated logic

Associate conditions with actions to perform

Can associate many independent conditions with severalactions in an elegant way

Page 4: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–4

Decision Table Terminology

Stub Rule 1 Rule 2 Rules3,4

Rule 5 Rule 6 Rules7,8

c1 T T T F F Fc2 T T F T T Fc3 T F - T F -a1 X X Xa2 X Xa3 X Xa4 X X

condition stubs condition entriesaction stubs action entries

Page 5: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–5

Decision Table Terminology – 2

condition stubs condition entriesaction stubs action entries

What is a limited entry decision table?

What is an extended entry decision table?

Page 6: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–6

Decision Table Terminology – 3

condition stubs condition entriesaction stubs action entries

Limited entry table Condition entries restricted to binary values

Extended entry table Condition entries have more than two values

Page 7: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–7

Printer Troubleshooting DT

Conditions

Printer does not print Y Y Y Y N N N N

A red light is flashing Y Y N N Y Y N N

Printer is unrecognized Y N Y N Y N Y N

Actions

Check the power cable X

Check the printer-computercable X X

Ensure printer software isinstalled X X X X

Check/replace ink X X X X

Check for paper jam X X

A complete limited entry table

Page 8: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–8

DT Interpretation – Conditions

How are condition entries in a decision tableinterpreted with respect to a program?

Page 9: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–9

DT Interpretation – Conditions – 2

Conditions are interpreted as

Input

Equivalence classes of inputs

Page 10: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–10

DT Interpretation – Action entries

How are action entries in a decision tableinterpreted with respect to a program?

Page 11: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–11

DT Interpretation – Action entries – 2

Actions are interpreted as

Output

Major functional processing portions

Page 12: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–12

DT and test cases

What is the relationship between decision tablesand test cases?

Page 13: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–13

DT and test cases – 2

What is the relationship between decision tablesand test cases? Each rule in a decision table gives a test cases

With a complete decision table Have based on the decision structure of the

program A complete set of test cases

Page 14: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–14

Triangle Decision Table

C1: <a, b,c > forms a triangle? F T T T T T T T T

C3: a = b? – T T T T F F F F

C4: a = c? – T T F F T T F F

C5: b = c? – T F T F T F T F

A1: Not a Triangle X

A2: Scalene X

A3: Isosceles X X X

A4: Equilateral X

A5: Impossible X X X

Action added by a tester showing impossible rules

1 2 3 4 5 6 7 8 9

Page 15: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–15

Triangle Decision Table – refined

C1-1: a < b+c? F T T T T T T T T T T

C1-2: b < a+c? – F T T T T T T T T T

C1-3: c < a+b? – – F T T T T T T T T

C2: a = b? – – – T T T T F F F F

C3: a = c? – – – T T F F T T F F

C4: b = c? – – – T F T F T F T F

A1: Not a Triangle X X X

A2: Scalene X

A3: Isosceles X X X

A4: Equilateral X

A5: Impossible X X X

Similar to equivalence classes we can refine the conditions

1 2 3 4 5 6 7 8 9 10 11

Page 16: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–16

Triangle Test Cases

Case ID a b c Expected Output1 4 1 2 Not a Triangle

2 1 4 2 Not a Triangle

3 1 2 4 Not a Triangle

4 5 5 5 Equilateral

5 ??? ??? ??? Impossible

6 ??? ??? ??? Impossible

7 2 2 3 Isosceles

8 ??? ??? ??? Impossible

9 2 3 2 Isosceles

10 3 2 2 Isosceles

11 3 4 5 Scalene

Page 17: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

Exercise – Admission to University

Students in The range [80%, 100%] gpa are admitted and receive a

scholarship.

The range [70%, 80%) gpa are admitted but have noscholarship.

The range [60%, 70%) gpa are admitted if they have nofailures.

Otherwise they are not admitted.

DTT–17

Page 18: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

Good night for Leila – Program

arrive_at_dormitory(0)

arrive_at_dormitory(ask_counter)L: if Saturday night then if likes boy then if asked in last five minutes then ask_counter++ if ask_counter ≠ 3 then goto L else dispense good-night kiss fi fi fi fi say good night end

DTT–18

Page 19: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

Good night for Leila – DT

DTT–19

Saturday night Y Y Y Y N

Likes boy Y Y Y N –

Asked within 5 minutes Y Y N – –

Ask count = 3 Y N – – –

Dispense kiss X

Say good night X X X X

Repeat X

Exit X X X X

1 2 3 4 5

DTs have other constructs in additionto repeat and exit

Page 20: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–20

NextDate Decision Table

The NextDate problem illustrates the correspondencebetween equivalence classes and decision table structure

The NextDate problem illustrates the problem ofdependencies in the input domain

Decision tables can highlight such dependencies

Impossible dates can be clearly marked as a separateaction

Page 21: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–21

NextDate Equivalence Classes – for 1st try

M1 = {month : 1 .. 12 | days(month) = 30 }

M2 = {month : 1 .. 12 | days(month) = 31 }

M3 = {month : {2} }

D1 = {day : 1 .. 28}

D2 = {day : {29} }

D3 = {day : {30} }

D4 = {day : {31} }

Y1 = {year : 1812 .. 2012 | leap_year (year) }

Y2 = {year : 1812 .. 2012 | common_year (year) }

As in discussion forequivalence classes

Page 22: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–22

NextDate Decision Table – mutually exclusive conditions

C1: month in M1? T – –

C2: month in M2? – T –

C3: month in M3? – – T

A1: Impossible

A2: Next Date

Because a month is an equivalence classwe cannot have T for more than one entry.The do not care entries are really F.

Other problems?

Page 23: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–23

NextDate DT (1st try - partial)

C1: month in M1? T T T T T T T T

C2: month in M2? T T T T

C3: month in M3?

C4: day in D1? T T T T

C5: day in D2? T T T T

C6: day in D3? T T

C7: day in D4? T T

C8: year in Y1? T T T T T T

C9: year in Y2? T T T T T T

A1: Impossible X X

A2: Next Date X X X X X X X X X X

How many rules• for a complete table?• with don't care entries?

Page 24: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

Rule count – limited entry tables

How many rules are in a complete limited entrytable?

DTT–24

Page 25: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–25

Rule count – limited entry tables – 2

How many rules are in a complete limited entrytable?

Limited entry tables with N conditions have 2N rules.

Page 26: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–26

Rule count – limited entry with don't care entries

Don't care entries reduce the number of explicit rules byimplying the existence of non-explicitly stated rules.

How do you compute the number of rules a tablecontains including all the implicit rules due to don'tcare entries?

Page 27: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–27

Rule count – limited entry with don't care entries – 2

How do you compute the number of rules a tablecontains including all the implicit rules due to don'tcare entries?

Each don't care entry in a rule doubles the count forthe rule

For each rule determine the corresponding rule count

Total the rule counts

Page 28: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–28

Rule count – limited entry with don't care entries – 3

C1-1: a < b+c? F T T T T T T T T T T

C1-2: b < a+c? – F T T T T T T T T T

C1-3: c < a+b? – – F T T T T T T T T

C2: a = b? – – – T T T T F F F F

C3: a = c? – – – T T F F T T F F

C4: b = c? – – – T F T F T F T F

Rule count 32 16 8 1 1 1 1 1 1 1 1 +/ = 64

= 26

123456

Page 29: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–29

Rule count – Extended entry table

How many rules in a complete extended entry table withno don't care entries?

Page 30: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–30

Rule count – Extended entry table – 2

How many rules in a complete extended entry table withno don't care entries?

× / [[ c : 1..#conditions • number_of_values_for (c) ]]

Page 31: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–31

Rule count – Extended entry table – 3

How do you compute the number of rules a tablecontains including all the implicit rules due to don'tcare entries?

Page 32: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–32

Rule count – Extended entry table – 4

How do you compute the number of rules a tablecontains including all the implicit rules due to don'tcare entries?

Each don't care entry in a rule multiplies the countfor the rule by the number of values for thecorresponding condition

For each rule determine the corresponding rule count

Total the rule counts

Page 33: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–33

Rule count usefulness

Is it useful to count the rules in a decision table?

Why?

Page 34: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

Rule count usefulness – 2

Less rules than combination rule count

Indicates missing rules

More rules than combination rule count

Could indicate redundant rules See Table 7.9, page 107

Could indicate inconsistent table See Table 7.10, page 108

DTT–34

Page 35: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–35

NextDate Equivalence Classes – for 2nd try

M1 = {month : 1 .. 12 | days(month) = 30 }

M2 = {month : 1 .. 12 | days(month) = 31 }

M3 = {month : {2} }

D1 = {day : 1 .. 28}

D2 = {day : {29} }

D3 = {day : {30} }

D4 = {day : {31} }

Y1 = {year : {2000} }

Y2 = {year : 1812 .. 2012 | leap_year (year) ∧ year ≠ 2000 }

Y3 = {year : 1812 .. 2012 | common_year (year) }

Handle leap year better

Page 36: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–36

NextDate DT (2nd try - part 1)

C1: month in M1 M1 M1 M1 M2 M2 M2 M2

C2: day in D1 D2 D3 D4 D1 D2 D3 D4

C3: year in – – – – – – – –

A1: Impossible X

A2: Increment day X X X X X

A3: Reset day X X

A4: Increment month X ???

A5: reset month ???

A6: Increment year ???

Extended entry table – more refined actions

This table has 16 rules. How many rules for a complete table?

1 2 3 4 5 6 7 8

Page 37: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–37

NextDate DT (2nd try - part 2)

C1: month in M3 M3 M3 M3 M3 M3 M3 M3

C2: day in D1 D1 D1 D2 D2 D2 D3 D3

C3: year in Y1 Y2 Y3 Y1 Y2 Y3 – –

A1: Impossible X X X X

A2: Increment day X

A3: Reset day X X X

A4: Increment month X X X

A5: reset month

A6: Increment year

9 10 11 12 13 14 15 16

Page 38: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–38

New Equivalence Classes – for 3rd try

M1 = {month : 1 .. 12 | days(month) = 30 }

M2 = {month : 1 .. 12 | days(month) = 31 ∧ month ≠ 12 }

M3 = {month : {12} }

M4 = {month : {2} }

D1 = {day : 1 .. 27}

D2 = {day : {28} }

D3 = {day : {29} }

D4 = {day : {30} }

D5 = {day : {31} }

Y1 = {year : 1812 .. 2012 | leap_year (year) }

Y2 = {year : 1812 .. 2012 | common_year (year) }

Handle end of month andyear better

Page 39: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–39

NextDate DT (3rd try - part 1)

C1: month in M1 M1 M1 M1 M1 M2 M2 M2 M2 M2

C2: day in D1 D2 D3 D4 D5 D1 D2 D3 D4 D5

C3: year in – – – – – – – – – –

A1: Impossible X

A2: Increment day X X X X X X X

A3: Reset day X X

A4: Increment month X X

A5: reset month

A6: Increment year

A 22 rule table

1 2 3 4 5 6 7 8 9 10

Page 40: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–40

NextDate DT (3rd try - part 2)

C1: month in M3 M3 M3 M3 M3 M4 M4 M4 M4 M4 M4 M4

C2: day in D1 D2 D3 D4 D5 D1 D2 D2 D3 D3 D4 D5

C3: year in – – – – – – Y1 Y2 Y1 Y2 – –

A1: Impossible X X X

A2: Increment day X X X X X X

A3: Reset day X X X

A4: Increment month X X

A5: reset month X

A6: Increment year X

11 12 13 14 15 16 17 18 19 20 21 22

Page 41: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–41

Decision Table - Equivalence Class Comparison

It has been shown that equivalence classes and decisiontables can be closely related.

What benefit do we get from using equivalenceclasses in place of decision tables?

Page 42: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–42

Decision Table - Equivalence Class Comparison – 2

It has been shown that equivalence classes and decisiontables can be closely related.

What benefit do we get from using equivalenceclasses in place of decision tables?

In problems with little decision logic Commission problem

Page 43: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–43

Decision Table - Equivalence Class Comparison – 3

It has been shown that equivalence classes and decisiontables can be closely related. What benefit do we get from using decision tables in

place of equivalence classes?

Page 44: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–44

Decision Table - Equivalence Class Comparison – 4

It has been shown that equivalence classes and decisiontables can be closely related. What benefit do we get from using decision tables in

place of equivalence classes? The idea of complete tables helps recognize the

occurrence of Redundancy Inconsistency

When a decision table and equivalence classes areequivalent

DT has fewer tests Can avoid meaningless tests cases Less impossible cases

Page 45: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–45

DT Applicability

When is a decision table method applicable?

Page 46: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–46

DT Applicability – 2

When is a decision table method applicable?

The specification is given or can be converted to adecision table .

The order in which the predicates are evaluated doesnot affect the interpretation of the rules or resultingaction.

The order of rule evaluation has no effect onresulting action .

Once a rule is satisfied and the action selected, noother rule need be examined.

Page 47: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–47

DT Applicability – #

The order of executing actions in a satisfied rule is ofno consequence.

The restrictions do not eliminate many applications.

In most applications, the order in which the predicatesare evaluated is immaterial.

Some specific ordering may be more efficient than someother but in general the ordering is not inherent in theprogram's logic.

Page 48: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–48

Decision Table Properties

You have constructed a decision table

Before deriving test cases, what properties shouldthe decision table have?

Page 49: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–49

Decision Tables Properties – 2

Before deriving test cases, ensure that

The rules are complete Every combination of predicate truth values is in the

decision table

The rules are consistent Every combination of predicate truth values results in

only one action or set of actions

Page 50: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–50

Guidelines and Observations

Decision Table testing is most appropriate for programswhere one or more conditions hold.

What are those conditions?

Page 51: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–51

Guidelines and Observations – 2

Decision Table testing is most appropriate for programswhere There is a lot of decision making

There are important logical relationships amonginput variables

There are calculations involving subsets of inputvariables

There is complex computation logic High cyclomatic complexity

There are cause and effect relationships betweeninput and output – ???

Page 52: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–52

Guidelines and Observations – 3

What are some problems with using decision tables?

Page 53: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–53

Guidelines and Observations – 4

Decision tables do not scale up very well May need to

Use extended entry decision tables Algebraically simplify tables

Decision tables need to be iteratively refined The first attempt may be far from satisfactory

Similar to using equivalence classes

Page 54: Decision Table-Based Testing - York University · DTT–44 Decision Table - Equivalence Class Comparison – 4 It has been shown that equivalence classes and decision tables can be

DTT–54

Guidelines and Observations – 5

Look for redundant rules More rules than combination count of conditions Actions are the same Too many test cases See Table 7.9, page 107

Look for inconsistent rules More rules than combination count of conditions Actions are different for the same conditions See Table 7.10, page 108

Look for Missing rules Incomplete table