13
1 testing18 Software Testing Functional, MCC, Dataflow Testing, Cause-Effect Graphing

1 testing18 Software Testing Functional, MCC, Dataflow Testing, Cause-Effect Graphing

Embed Size (px)

Citation preview

Page 1: 1 testing18 Software Testing Functional, MCC, Dataflow Testing, Cause-Effect Graphing

1testing18

Software Testing

Functional, MCC, Dataflow Testing,

Cause-Effect Graphing

Page 2: 1 testing18 Software Testing Functional, MCC, Dataflow Testing, Cause-Effect Graphing

2testing18

condition 1 2 3 4 5 6

0< h T t t F T T

h<80 T T F t T T

40< h F T T f x x

0 < w T T x x T F

w < 100 T T x x F T

output n.e. n.e. h/w h/w wag wag

Solution

Page 3: 1 testing18 Software Testing Functional, MCC, Dataflow Testing, Cause-Effect Graphing

3testing18

Multiple Condition Coverage

For each decision– test case for true and test case for false

– same as C1

For each complex (involves logical operators) decision– test case for each combination of T/F for each relational

operator

– A || B requires TT, TF, FT, FF

– Lazy evaluation => TX, FT, FF

Page 4: 1 testing18 Software Testing Functional, MCC, Dataflow Testing, Cause-Effect Graphing

4testing18

TTYP Task – MCC

Generate the test sets to achieve multiple condition coverage for the “if a>=b+c || b>=a+c || c>=a+b” decision in the triangle problem

Page 5: 1 testing18 Software Testing Functional, MCC, Dataflow Testing, Cause-Effect Graphing

5testing18

Data flow coverage

Def x is a node where x is defined (given a value) Use x is a node where the value of x is used in an

expression or a decision– C use is in a computation

– P use is in a decision (predicate)

A def-free path is a path from a definition to a use that does not include another definition of that variable.

Page 6: 1 testing18 Software Testing Functional, MCC, Dataflow Testing, Cause-Effect Graphing

6testing18

dcu - from every def to a c-useA

B

C

D

E

c-use (computation) if a variable is defined

in node A and there are computational uses in node B and D, the dcu coverages requires an def-free path segment of either ABC or ACD

Page 7: 1 testing18 Software Testing Functional, MCC, Dataflow Testing, Cause-Effect Graphing

7testing18

dpu - from every def to a p-useA

B

C

D

E

p-use (predicate) if a variable is defined

in node A and it is used in a decision in C, the dpu coverage requires two def-free paths, one with segment of A...CD and one with A...CE

Page 8: 1 testing18 Software Testing Functional, MCC, Dataflow Testing, Cause-Effect Graphing

8testing18

du - from every def to every use

A

B

C

D

E

if a variable is defined in node A and there are computational uses in node B and D, the du coverage requires a def-free path from node A to node B and a def-free path from node A to node D

Page 9: 1 testing18 Software Testing Functional, MCC, Dataflow Testing, Cause-Effect Graphing

9testing18

TTYP task

Generate test case sets for triangle problem– dpu– dcu– du

Page 10: 1 testing18 Software Testing Functional, MCC, Dataflow Testing, Cause-Effect Graphing

10testing18

Cause-Effect Graphing

Identify the basic conditions: b1, b2 (aka causes, atomic conditions)

Identify the effects as boolean expressions of the conditions

Identify combinations of the boolean expressions

Page 11: 1 testing18 Software Testing Functional, MCC, Dataflow Testing, Cause-Effect Graphing

11testing18

Classic Example - boiler

Boiler should shut down if– Water level is below 20,000 lb – Water level is above 120,000 lb– Degraded mode and steam meter fails

(Degraded mode if water pump has failed or pump monitor has failed)

Page 12: 1 testing18 Software Testing Functional, MCC, Dataflow Testing, Cause-Effect Graphing

12testing18

Conditions for boiler

B1 – water below 20,000 lbs B2 – water above 120,000 lbs B3 – water pump has failed B4 – pump monitor has failed B5 – steam meter has failed E1 – shut the boiler E1 = (B1 or B2 or (B5 (B3 or B4))

Page 13: 1 testing18 Software Testing Functional, MCC, Dataflow Testing, Cause-Effect Graphing

13testing18

Tuesday, Apr 11

OO testing – Pressman 372-375,410-423– SOS ch 13

PreLecture quiz– functional, mcc, data-flow,