130 likes | 139 Views
This text explores functional testing, multiple condition coverage, cause-effect graphing, and dataflow testing. It includes examples and solutions for various coverage criteria. Available in OO testing.
E N D
Software Testing Functional, MCC, Dataflow Testing, Cause-Effect Graphing
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
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
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.
dcu - from every def to a c-use • 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
dpu - from every def to a p-use • 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
du - from every def to every use • 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
TTYP task • Generate test case sets for triangle problem • dpu • dcu • du
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
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)
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))
Tuesday, Apr 11 • OO testing • Pressman 372-375,410-423 • SOS ch 13 • PreLecture quiz • functional, mcc, data-flow,