Upload
ezra-moore
View
212
Download
0
Embed Size (px)
Citation preview
1testing18
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
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
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
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.
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
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
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
9testing18
TTYP task
Generate test case sets for triangle problem– dpu– dcu– du
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
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)
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))
13testing18
Tuesday, Apr 11
OO testing – Pressman 372-375,410-423– SOS ch 13
PreLecture quiz– functional, mcc, data-flow,