1 740f02frankl25 Evaluating Testing Methods by Delivered Reliability Frankl, Hamlet, Littlewood,...

16
1 740f02frankl25 Evaluating Testing Methods by Delivered Reliability Frankl, Hamlet, Littlewood, Strigini IEEE TOSE Aug98

Transcript of 1 740f02frankl25 Evaluating Testing Methods by Delivered Reliability Frankl, Hamlet, Littlewood,...

Page 1: 1 740f02frankl25 Evaluating Testing Methods by Delivered Reliability Frankl, Hamlet, Littlewood, Strigini IEEE TOSE Aug98.

1740f02frankl25

Evaluating Testing Methods by Delivered Reliability

Frankl, Hamlet, Littlewood, Strigini

IEEE TOSE Aug98

Page 2: 1 740f02frankl25 Evaluating Testing Methods by Delivered Reliability Frankl, Hamlet, Littlewood, Strigini IEEE TOSE Aug98.

2740f02frankl25

Partition Testing

What is a partition?

How do you choose the partitions?

What is a good partition?

Page 3: 1 740f02frankl25 Evaluating Testing Methods by Delivered Reliability Frankl, Hamlet, Littlewood, Strigini IEEE TOSE Aug98.

3740f02frankl25

Fault Detection Probability

Probability of a testing methodology finding a fault (if it existed)

Page 4: 1 740f02frankl25 Evaluating Testing Methods by Delivered Reliability Frankl, Hamlet, Littlewood, Strigini IEEE TOSE Aug98.

4740f02frankl25

Operational Profile

What is an operational profile?

How do you construct an operational profile?

What are some difficulties with operational profiles?

Page 5: 1 740f02frankl25 Evaluating Testing Methods by Delivered Reliability Frankl, Hamlet, Littlewood, Strigini IEEE TOSE Aug98.

5740f02frankl25

Tests, Specifications, meets Test or test case

• single value of program input

• functional program - one input produces an output

Specification - S• set of input-output pairs

Program meets specification• iff for all x in spec, actual output matches spec output

Page 6: 1 740f02frankl25 Evaluating Testing Methods by Delivered Reliability Frankl, Hamlet, Littlewood, Strigini IEEE TOSE Aug98.

6740f02frankl25

Failures, failure points

“A program P with specification S fails on input x iff P does not meet S at x.”

“the event is called a failure” “the input responsible is a failure point” “The program’s failure set is the collection

of all failure points”

Page 7: 1 740f02frankl25 Evaluating Testing Methods by Delivered Reliability Frankl, Hamlet, Littlewood, Strigini IEEE TOSE Aug98.

7740f02frankl25

Faults

“the part of a source program that causes a failure” (IEEE glossary)

Not well defined usually multiple ways to correct a failure

Page 8: 1 740f02frankl25 Evaluating Testing Methods by Delivered Reliability Frankl, Hamlet, Littlewood, Strigini IEEE TOSE Aug98.

8740f02frankl25

Fixing failures

“assume that all testers, upon observing a test failure, choose fixes that eliminate exactly the same failure region”

Why is this assumption important?

Page 9: 1 740f02frankl25 Evaluating Testing Methods by Delivered Reliability Frankl, Hamlet, Littlewood, Strigini IEEE TOSE Aug98.

9740f02frankl25

Operational Testing

Q - probability distribution over input domain• Q:D -> [0,1] and Q(t) = 1

labels-phi(failure) and -sigma(success) (t) = 1 if and 0 if - failure probability for a randomly

drawn point is Q

Page 10: 1 740f02frankl25 Evaluating Testing Methods by Delivered Reliability Frankl, Hamlet, Littlewood, Strigini IEEE TOSE Aug98.

10740f02frankl25

Cost of testing

Fixed budget• Td debug tests or Tr operational tests

Td log(1-d) < Tk log(1-q)

for small q and d• dTd > qTr

Why does he assume that Td > Tr?

Page 11: 1 740f02frankl25 Evaluating Testing Methods by Delivered Reliability Frankl, Hamlet, Littlewood, Strigini IEEE TOSE Aug98.

11740f02frankl25

3.3 single failure region, with sub

Debug with subdomains• E() = q(1-di)T

Operational• E() = q(1-q)T

Page 12: 1 740f02frankl25 Evaluating Testing Methods by Delivered Reliability Frankl, Hamlet, Littlewood, Strigini IEEE TOSE Aug98.

12740f02frankl25

Triangle Code

cin >> a >> b >> c;type = “scalene”if (a == b || a == c || b == c) type = “isosceles”;if (a == b && b == c) type = “equilateral”;if (a>=b+c||b>=a+c||c>=a+b) type = “not a triangle”;if(a<=0||b<=0||c<=0) type = “bad inputs”;cout<< type

Page 13: 1 740f02frankl25 Evaluating Testing Methods by Delivered Reliability Frankl, Hamlet, Littlewood, Strigini IEEE TOSE Aug98.

13740f02frankl25

Triangle subdomains

subdomains

(1-di1)Ti1…(1-din)Tin < (1-q)T

Page 14: 1 740f02frankl25 Evaluating Testing Methods by Delivered Reliability Frankl, Hamlet, Littlewood, Strigini IEEE TOSE Aug98.

14740f02frankl25

Class discussion

What would be better subdomains

Page 15: 1 740f02frankl25 Evaluating Testing Methods by Delivered Reliability Frankl, Hamlet, Littlewood, Strigini IEEE TOSE Aug98.

15740f02frankl25

Multiple Failure,debug w/o sub

E() = qi(1-di)T

E() = qi(1-qi)T

Page 16: 1 740f02frankl25 Evaluating Testing Methods by Delivered Reliability Frankl, Hamlet, Littlewood, Strigini IEEE TOSE Aug98.

16740f02frankl25

When is ….

A. debug better than operational?

B. vice-versa?

C. reliability worse but detection better?