By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science,...

31
By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence Class Testing :EC 322235 Software Testing

Transcript of By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science,...

Page 1: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

ByAsst.Prof.Dr. Wararat Songpan

(Rungworawut)

Faculty of Computer Science, Department of Science,

Khon Kaen University, Thailand1

Chapter 3: Equivalence Class Testing :EC

322235 Software Testing

Page 2: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

Equivalence Class Testing : EC

• The next step from Boundary Value Testing is a Functional Testing.

• Define equivalence classes on the range of input or output for each variables also called partition method.

• Completeness and greatly reduces redundancy.

2

Page 3: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

• Function F is implemented and a function F, of two variables x1 and x2.

• x1 and x2 have the following boundaries and intervals within boundaries:▫a=<x1=<d with intervals [a,b), [b,c), [c,d]▫e=<x2=<g with intervals [e,f), [f,g]

• So, invalid value for x1 and x2 as follows,▫x1 < a and x1>d ▫x2 <e and x2>g

Remarks: [ = closed interval, ( = open interval 3

Equivalence Class Testing : EC

Page 4: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

Equivalence Class Testing : ECThere are 4 sub-techniques of Equivalence Class

Testing.

1) Weak Normal Testing :WN

2) Strong Normal Testing :SN

3) Weak Robust Testing :WR

4) Strong Robust Testing :SR

4

Page 5: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

1) Weak Normal Testing :WN

5

x2

x1

f

e

a b c d

g

Valid EC:

Ec1 = {x1: a=<x1< b}

Ec2= {x1: b=<x1< c}

Ec3 = {x1: c <= x1 <= d}

Ec4 = {x2: e =<x2 < f}

Ec5 = {x2: f =< x2 <=g}

- One variable from each equivalence class as “single fault assumption”

- Values identified in systematic way

Page 6: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

For example: Addition x1 and x2

(Simple example)

6

x1

x2

Function: Addition X1 and x2

Results =

OkCance

l

Page 7: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

Simple example: WN Test case

design

Test case ID EC ID x1 x2 Expected Results

WN1 EC1, EC4 5 6 11

WN2 EC2, EC5 12 15 27

WN3 EC3, EC4 17 7 24

7

Valid EC:

Ec1 = {x1: 5=<x1< 10}

Ec2= {x1: 10=<x1< 15}

Ec3 = {x1: 15 <= x1 <= 20}

Ec4 = {x2: 5 =<x2 <10}

Ec5 = {x2: 10=< x2 <=20}

x2

x1

10

5

5 10 15 20

20

Page 8: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

2) Strong Normal Testing : SN

• Test cases taken from each element of Cartesian product of the equivalence classes. Cartesian product guarantees notion of completeness.

• SN is a “multiple fault assumption”8

x2

x1

f

e

a b c d

g

Page 9: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

Simple example: SN Test case

design

Test case ID EC ID x1 x2 Expected Results

SN1 EC1, EC4 5 6 11

SN2 EC1, EC5 7 12 19

SN3 EC2, EC4 10 5 15

SN4 EC2, EC5 12 15 27

SN5 EC3, EC4 17 7 24

SN6 EC3, EC5 15 15 30 9

Valid EC:Ec1 = {x1: 5=<x1< 10}

Ec2= {x1: 10=<x1< 15}

Ec3 = {x1: 15 <= x1 <= 20}

Ec4 = {x2: 5 =<x2 <10}

Ec5 = {x2: 10=< x2 <=20}

x2

x1

10

5

5 10 15 20

20

Page 10: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

3) Weak Robust Testing (WR)

• Robust - consideration of invalid values and extension to WN.• Invalid inputs – each test case has one invalid value, single

fault should cause failure as “single fault assumption”.• Problems with robust EC Testing specification (expected

output for invalid TC?)10

x2

x1

f

e

a b c d

g

Additional consider in Invalid EC:

Ec6 = {x1: x1 < a}

Ec7 = {x1: x1 > d}

Ec8 = {x2 : x2 < e}

Ec9 = {x2 : x2 > g}

Page 11: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

Simple example: WR Test case

design

11

Test case ID EC ID x1 x2 Expected Results

WR1 EC1, EC4 5 6 11

WR2 EC2, EC5 12 15 27

WR3 EC3, EC4 17 7 24

WR4 EC6, EC4 4 8 X1 is out of range

WR5 EC7, EC4 23 8 X1 is out of range

WR6 EC3, EC8 18 4 X2 is out of range

WR7 EC3, EC9 18 23 X2 is out of range

Page 12: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

4) Strong Robust Testing :SR

• Robust - consideration of invalid values and extension to SN.

• Strong – multiple faults assumption.• Test cases taken from each element of Cartesian

product of the Valid EC and Invalid EC 12

x2

x1

f

e

a b c d

g

Page 13: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

Triangle Program (Simple)• Input 3 integers: a, b, c are side of triangle that

have boundaries • a, b, c are [1,200].

• Output is type of triangle o Equilateralo Isosceles o Scaleneo Not a Triangle

13

Page 14: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

WN Test case design Triangle Program (Simple)

Valid EC• EC1: 1<=a<= 200• EC2: 1<=b<=200• EC3: 1<=c<=200

14

Test Case EC ID a b c Expected Results

WN1 EC1,2,3 10 20 30 Scalene

Page 15: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

SN Test case design Triangle Program (Simple)

Valid EC• EC1: 1<=a< 200• EC2: 1<=b<=200• EC3: 1<=c<=200

15

Test Case EC a b c Expected Results

SN1 EC1,2,3 10 20 30 Scalene

Page 16: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

Equivalence Class : Triangle Problem (Output)

• Using output from specification translate into Equivalence Class (EC)

• 4 possible outputs: Equilateral, Isosceles, Scalene, and Not a Triangle

• 4 output equivalence classes:o Ec1 = {<a,b,c> : the triangle with sides a, b and c is

equilateral}o Ec2 = {<a,b,c> : the triangle with sides a, b and c is Isosceles}o Ec3 = {<a,b,c> : the triangle with sides a, b and c is

Scalene) }o Ec4 = {<a,b,c> : the triangle with sides a, b and c is Not a

Triangle}

16

Page 17: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

Weak Normal(WN)/ Strong Normal(SN)

Test Cases: Triangle Program

Test Case ID

EC a b c Expected Results

OWN1 EC1 5 5 5 Equilateral

OWN2 EC2 2 2 3 Isosceles

OWN3 EC3 3 4 5 Scalene

OWN4 EC4 4 1 2 Not a Triangle

17

Page 18: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

Weak Robust(WR) Test Cases: Triangle ProgramConsideration Invalid EC with WN• EC5: a> 200 • EC6: a < 1• EC7: b>200• EC8: b < 1• EC9: c>200• EC10: c<1

18

Page 19: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

Weak Robust(WR) Test Cases: Triangle

Program

19

Test Case ID

EC a b c Expected Results

WN1…WN4

WR1 EC6 -1 5 5 a not in range

WR2 EC8 5 -1 5 b not in range

WR3 EC10 5 5 -1 c not in range

WR4 EC5 201 5 5 a not in range

WR5 EC7 5 201 5 b not in range

WR6 EC9 5 5 201 c not in range

Page 20: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

Strong Robust(SR) Test Cases: Triangle

Program

20

Test Case

a b c Expected Results

WN1…WN4

SR1 -1 5 5 a not in range

SR2 5 -1 5 b not in range

SR3 5 5 -1 c not in range

SR4 -1 -1 5 a, b not in range

SR5 5 -1 -1 b, c not in range

SR6 -1 5 -1 a, c not in range

SR7 -1 -1 -1 a, b, c not in range

Page 21: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

Improved EC: Triangle Program

Improved EC Input classes for each type of triangle:▫ EC1 = {<a, b, c>: a=b=c} ▫ EC2 = {<a, b, c>: a=b, a ≠ c}▫ EC3 = {<a, b, c>: a=c, a ≠ b}▫ EC4 = {<a, b, c>: b=c, a ≠ b} ▫ EC5 = {<a, b, c>: a ≠ b, a ≠ c, b ≠ c }

Extra design of input classes: Check every side of triangle as not a triangle

▫ EC6 = {<a, b, c>: b + c <= a}

▫ EC7 = {<a, b, c>: a + c <= b}

▫ EC8 = {<a, b, c>: a + b <= c} 21

Page 22: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

Equivalence Classes(EC) : NextDate Problem

• Valid ECo M1 = {month: 1 =< month =<12}o D1 = {day: 1 =< day =< 31}o Y1 = {year: 1812 =< year =< 2012}

• Invalid ECo M2 = {month: month <1}o M3 = {month: month >12}o D2 = {day: day <1}o D3 = {day: day >31}o Y2 = {year: year < 1812}o Y3 = {year: year > 2012}

22

Page 23: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

Weak Normal and Strong Normal Test Cases: NextDate Problem

23

Test Case Month Day Year Expected Results

WN1, SN1 6 15 1912 6/16/1912

Page 24: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

Weak Robust Test Cases: The NextDate Problem

24

Test Case ID

Month

Day Year Expected Results

WN1 6 15 1912 6/16/1912

WR1 -1 15 1912 Month not in range 1…12

WR2 13 15 1912 Month not in range 1…12

WR3 6 -1 1912 Day not in range 1…31

WR4 6 32 1912 Day not in range 1…31

WR5 6 15 1811 Year not in range 1812…2012

WR6 6 15 2013 Year not in range 1812…2012

Page 25: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

Strong Robust Test Cases: The NextDate Problem

25

Test Case Month Day Year Expected Results

WN1 6 15 1912 6/16/1912

SR1 -1 15 1912 month not in range 1…12

SR2 6 -1 1912 day not in range 1…31

SR3 6 15 1811 year not in range 1812…2012

SR4 -1 -1 1912 month not in range 1…12day not in range 1…31

SR5 6 -1 1811 day not in range 1…31year not in range 1812…2012

SR6 -1 15 1811 month not in range 1…12year not in range 1812…2012

SR7 -1 -1 1811 month not in range 1…12day not in range 1…31

year not in range 1812…2012

Page 26: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

Improved Input Equivalence Classes: NextDate Problem

• M1 = {month: month has 30 days}• M2 = {month: month has 31 days}• M3 = {month: month = February}• D1 = {day: 1 =< day =< 28}• D2 = {day: day = 29}• D3 = {day: day = 30}• D4 = {day: day = 31}• Y1 = {year: year is leap year}• Y2 = {year: year is common year }

26

Page 27: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

Input Equivalence Class: The Commission Problem

Valid EC• L1 = {lock: 1 =< locks =< 70}• S1 = {stocks: 1=< stocks =< 80}• B1 = {barrels: 1 =< barrels =< 90}Invalid EC• L2 = {locks: locks <1}• L3 = {locks: locks > 70}• S2 = {stocks: stocks < 1}• S3 = {stocks: stocks > 80}• B2 = {barrels: barrels <1}• B3 = {barrels: barrels >90}

27

Page 28: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

Strong Robust Test Cases: Commission

Problem

28

Test Case ID

Locks Stocks Barrels Expected Results

SR1 5 5 5 50

SR2 -1 40 45 Locks not in range 1…70

SR3 35 -1 45 Stocks not in range 1…80

SR4 35 40 -1 Barrels not in range 1…90

SR5 -1 -1 45 Locks not in range 1…70Stocks not in range 1…80

SR6 -1 40 -1 Locks not in range 1…70Barrels not in range 1…90

SR7 35 -1 -1 Stocks not in range 1…80Barrels not in range 1…90

SR8 -1 -1 -1 Locks not in range 1…70Stocks not in range 1…80Barrels not in range 1…90

Page 29: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

Using output to Equivalence Classes

Test Cases: Commission Problem• Sales = 45 * locks +30 * stocks + 25 * barrels

o S1 = {<locks, stocks, barrels>: sales =<1000}o S2 = {<locks, stocks, barrels>: 1000 < sales =<1800}o S3 = {<locks, stocks, barrels>: sales > 1800 }

29

Test Case ID

Locks Stocks Barrels Sales Commission(Expected Results)

OWN1 5 5 5 500 50

OWN2 15 15 15 1500 175

OWN3 25 25 25 2500 360

How to design WN Test Case??

Page 30: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

Specification of Commision

Sales = 45*Locks + 30*Stock + 25*barrels

if sales <= 1000commission = 10% * sales

if sales > 1000commission = 10%*1000 + 15%*(sales –

1000)if > 1800 commission = 10%*1000+ 15%*800+ 20%* (sales-1800)

30

Page 31: By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.

Summary of EC Testing

Normal (Valid) Robust (Valid +Invalid)

Weak Normal TestingStrong Normal Testing

Weak Robust TestingStrong Robust Testing

31

Single fault (1 EC) Multiple fault (1 EC+)

Weak Normal TestingWeak Robust Testing

Strong Normal TestingStrong Robust Testing

Single fault vs Multiple fault assumption

Normal vs Robust