Test Design Techniques Luxoft
-
Upload
chilipalmer777 -
Category
Documents
-
view
504 -
download
9
Transcript of Test Design Techniques Luxoft
-
-
-
2
:
.
-
3
:
(review):
(informal review)
(walkthrough)
(technical review)
(inspection)
(static analysis):
[] (data [flow] analysis)
(control flow analysis)
/
-
4
:
(IDE)
(W3C HTML/CSS validator, FindBugs)
-
5
: (structure-
based):
(statement coverage) (decision coverage) (condition coverage)
(experience-based):
(ad hoc testing) (error guessing)
(exploratory testing)
-
6
:
(specification-based):
(equivalence partitioning)
(boundary value analysis)
(decision tables)
(state transition)
(use-case testing)
-
7
[]
Use-case
-
8
White-box
-
9
Black-box : SC = 60%-70%
SC = 100% - (statement) -
%100Total
Exercised
S
SSC
-
10
Read P
Read Q
If P+Q>100 Then
Print P>Q
End If
If P>50 Then
Print P>50
End If
TC1:
P = 60
Q = 60
1:
-
11
Read X
Read Y
If X=3 Then
Print Message X
If Y=2 then
Print Message Y
Else Print Message Z
End If
Else Print Message Z
End If
TC1:
X = 3
Y = 2
TC2:
X = 3
Y 2
TC3:
X 3
Y =
2:
-
12
Decision statements: IF, Case, Do-While, Repeat-Until, etc.
Black-box : DC = 40%-60%
DC = 100% - -
DC = 100% SC = 100%
%100Total
Exercised
D
DDC
-
13
Read P
Read Q
If P+Q>100 Then
Print P+Q>100
End If
If P>50 Then
Print P>50
End If
TC1:
P = 60
Q = 60
TC2:
P = 10
Q = 15
3:
-
14
Read X
Read Y
If X=3 Then
Print Message X
If Y=2 then
Print Message Y
Else Print Message Z
End If
Else Print Message Z
End If
TC1:
X = 3
Y = 2
TC2:
X = 3
Y 2
TC3:
X 3
Y =
4:
-
15
Tea/
Coffee
Prepare tea
Sugar Add sugar
Give drink
Prepare
coffee
Milk Add milk
Sugar Add sugar
Tea Coffee
Y
N
Y
N
N
Y
:
TC1: Tea, Sugar
TC2: Coffee, Milk, Sugar
:
TC3: Tea, Sugar
TC4: Coffee, M ilk, Sugar
5:
-
16
Condition coverage
Condition/decision coverage CC+DC
Modified condition/decision coverage CC+DC +
Multiple condition coverage
-
17
If A or B Then
Print Message Z
End If
SC: TF
DC: TF, FF
CC: TF, FT (TT,FF)
CDC: TT, FF
Modified CDC: TF, FT, FF
Multiple CC: TT, TF, FT, FF
6:
-
18
If (A or B) and C Then
Print Message Z
End If
SC: TTT
DC: TTT, TTF
CC: TFT, FTF (TTT, FFF)
CDC: TTT, FFF
Modified CDC:
A: FFT / TFT
B: FFT / FTT
C: TTF / TFT(FTT)
All: FFT, TFT, FTT, TTF
Multiple CC: FFF, FFT, FTF, FTT,
TFF, TFT, TTF, TTT
7:
-
19
Black-box
-
20
, .
,
(
[] ,
[] )
-
21
, :
100 . : 0%
100 . 1000 . : - 7%
1000 . : - 10%
7:
-
22
(valid) (invalid)
1) 1 N < 100
2) 100 N < 999
3) 1000 N
1) N = 0
2) N -1
3) Null
4)
5) 123.4567
6) Max < N
7:
-
23
: / (-, +, 0, 199999,0.123456) (symbol, , SML, !@#$%^) ( , , multi-select) (.bmp, .jpg, .png) (Null, 200, ) (Null, 4+Gb) (/ ) (640x480, 1920x1080, 2560x1440) , (Mac OS/Win/Linux, DX9/10/11) (Firefox, Safari, Chrome, IE6/7/8, Opera)
-
24
():
-
-
25
,
.
-
26
(brute force)
TC FW MW MC D
1 L Y Y Up
2 U Y Y Up
3 M Y Y Up
4 L N Y Up
5 U N Y Up
6 M N Y Up
24 M N N Down
:
1) Find what (FW)
2) Match whole word (MW)
3) Match case (MC)
4) Direction (D)
:
FW = {lower, UPPER, MiXeD}
MW = {Yes, No}
MC = {Yes, No}
D = {Up, Down}
3x2x2x2 = 24
TC FW MW MC D
1 L Y N Up
2 U N Y Down
3 M Y Y Up
8:
-
27
:
1) Find what (FW)
2) Match whole word (MW)
3) Match case (MC)
4) Direction (D)
:
FW = {lower, UPPER, MiXeD}
MW = {Yes, No}
MC = {Yes, No}
D = {Up, Down}
3x2x2x2 = 24
(pairwise testing)
TC FW MW MC D
1 L Y N Down
2 L N Y Up
3 M Y Y Up
4 M N N Down
5 U Y N Down
6 U N Y Up
8:
-
28
1.
(B)
(R)
(T)
(L)
2.
B = {IE, FF, Safari, Chrome}
R = {800x600, 1280x1024, 1920x1080}
T = {Theme1, Theme2, Theme3}
L = {EN, RU, UA}
3.
=
=
- =
-
29
B R
IE 800x600
IE 1280x1024
IE 1920x1080
FF 800x600
FF 1280x1024
FF 1920x1080
Safari 800x600
Safari 1280x1024
Safari 1920x1080
Chrome 800x600
Chrome 1280x1024
Chrome 1920x1080
B R T
IE 800x600 Theme1
IE 1280x1024 Theme2
IE 1920x1080 Theme3
FF 800x600 Theme2
FF 1280x1024 Theme3
FF 1920x1080 Theme1
Safari 800x600 Theme3
Safari 1280x1024 Theme1
Safari 1920x1080 Theme2
Chrome 800x600 Theme1
Chrome 1280x1024 Theme2
Chrome 1920x1080 Theme3
B R T L
IE 800x600 Theme1 EN
IE 1280x1024 Theme2 RU
IE 1920x1080 Theme3 UA
FF 800x600 Theme2 UA
FF 1280x1024 Theme3 EN
FF 1920x1080 Theme1 RU
Safari 800x600 Theme3 RU
Safari 1280x1024 Theme1 UA
Safari 1920x1080 Theme2 EN
Chrome 800x600 Theme1 EN
Chrome 1280x1024 Theme2 RU
Chrome 1920x1080 Theme3 UA
-
30
:
(100 N < 999)
(1000 N)
:
,
, ,
-
31
, :
100 $1000 () : +3%
$1000 $10 000 : +5%
$10 000 : +7%
9:
-
32
0% $99.99, $0 -$0.01
+3% $100.00, $100.01, $999.99, $1000.00
+5% $1000.01, $9 999.99
+7% $10 000, 10 000.01, $Max $Max + $0.01
+3% +5% +7% 100 1000 10 000
99.99 100.01 999.99 1000.01 9 999.99 10 000.01 Max
10:
0%
-
33
():
-
-
,
-
34
(decision tables/
cause-effect tables) :
-
-
35
:
(rules)
1 2 3 4 5 6 7 8
(conditions)
1 T T T T F F F F
2 T T F F T T F F
3 T F T F T F T F
(actions)
1 X X X
2 X X
3 X X X
4 X X X X
(expected results)
-
(rules)
1 2 3 4 5 6 7 8
1 T,F T T T T F F F F
2 T,F T T F F T T F F
3 T,F T F T F T F T F
1 X X X
2 X X
3 X X X
4 X X X X
-
36
:
1) /
2)
3)
4)
5)
-
37
: a,b,c
: (,
,, )
1 ( ):
1: a,b,c ? {Y,N}
2: a=b? {Y,N}
3: a=c? {Y,N}
4: b=c? {Y,N}
11:
-
38
2 ( ):
({Y,N}):
- = 2-
({A, B, C, D}):
- = VC1* VC2* VC3 * VCn
N = 24 = 16
11:
-
39
3-4 ( ): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
C1: ? Y Y Y Y Y Y Y Y N N N N N N N N
C2: a=b? Y Y Y Y N N N N Y Y Y Y N N N N
C3: a=c? Y Y N N Y Y N N Y Y N N Y Y N N
C4: b=c? Y N Y N Y N Y N Y N Y N Y N Y N
1 2 3 4 5 6 7 8 9
C1: ? Y N
C2: a=b? Y N -
C3: a=c? Y N Y N -
C4: b=c? Y N Y N Y N Y N -
11:
-
40
5 ( ): 1 2 3 4 5 6 7 8 9
C1: ? Y N
C2: a=b? Y N -
C3: a=c? Y N Y N -
C4: b=c? Y N Y N Y N Y N -
A1: X
A2: X
A3: X X X
A4: X
A5: X X X
11:
-
41
-
.
:
1) A, B
2) C
3) , 5 $500 20%
12:
-
42
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
A,B,C,D A A A A B B B B C C C C D D D D
5 Y,N Y Y N N Y Y N N Y Y N N Y Y N N
$500 Y,N Y N Y N Y N Y N Y N Y N Y N Y N
X X X X X X X X ? ? ? ?
X X X X ? ? ? ?
? X X ? X X ? X X ? ? ? ?
? ? ? ?
D ( )
? 5 $500
12:
-
43
(finite state machine)
,
, .
[IEEE 610]
,
,
.
-
44
:
(state-transition diagram)
(state-transition table)
:
,
( )
,
,
-
45
/C
/
/
[ ]/
13:
-
46
-
/C
/
/
[ ]/
1
2
3
13:
-
47
-
/C
/
/
[ ]/
1
2
3
13:
-
48
-
/C
/
/
[ ]/
1 2 3 4 5
13:
-
49
1-
2-
3-
PIN-
PIN-
PIN-
PIN-
PIN-
PIN-
14:
-
50
-:
PIN PIN
S1) S2
S2) 1- S5 S3
S3) 2- S5 S4
S4) 3- S5 S6
S5) ? ?
S6) S1 ( )
14:
-
51
Use-case
,
.
(actors) :
-
52
Use-case
:
,
,
-
-
53
Use-case
/
( )
/ / /
/ / ()
,
/
/
,
1
2
,
, ,
/ /
-
54
Use-case
/ ATM123
-
:
:
1. ()
2. () PIN-
3. PIN ()
4. PIN- ()
2a) ,
4a) PIN- , PIN
4b) 3 PIN- ,
-
3
-
55
Use-case
-
-
-
56
Kelly J. Hayhurst - "A Practical Tutorial on Modified Condition/Decision Coverage"
Lee Copeland A Practitioner's Guide to Software Test Design
Dorothy Graham Foundations of software testing
IEEE SWEBOK 2004
IEEE 610
Google
Wikipedia
-
57