BÀI 4. CÁC KỸ THUẬT KIỂM THỬ
!"#$ %&'
( !")*+,&'
!-)./
0 !!#,!
1 !23
4 !56789
: !;67!
< !$=>-?.=@A@BC!?
3))
07/05/14 1
4.1. PHÂN CHIA LỚP TƯƠNG ĐƯƠNG
(EQUIVALENCE PARTITIONING)
Equivalence partitioning (equivalence class)@6D
@!=!EF6test caseG=!H=;
F+=$$ !IE
F6test caseJ
KL)M#Windows calculator:
N?N?N(?O PQ;)+HRN(
N<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
07/05/14 2
4.1. PHÂN CHIA LỚP TƯƠNG ĐƯƠNG
(EQUIVALENCE PARTITIONING)
Equivalence partitioning (equivalence class@!SA6test case$ !
*TF-2 $6!6*U
-
D!$V!*equivalence partitionW
⇒
equivalence partition X!*)*+Y@-?)*
+Y-?@*#$ -ZY!#!
⇒
TF?!@Y!#!X6#$ $6?[!
equivalence partition$6
⇒
\VX$V]#ADPQAF
07/05/14 3
4.1. PHÂN CHIA LỚP TƯƠNG ĐƯƠNG
(EQUIVALENCE PARTITIONING)
KL)MW06-+copy
Windows CalculatorW
%$!^)_PQ$^8_
%$!^)_PQ\`^7CN_
%$!^)_PQ\`^_
\`^%N7CN_
\`^%N_
⇒
@!(Equivalence partitioning
⇒
/A!L?@Equivalence partitioning
07/05/14 4
4.1. PHÂN CHIA LỚP TƯƠNG ĐƯƠNG
(EQUIVALENCE PARTITIONING)
KL)MW !$=>!S^le name” @S;^Save As” aZWindows:
BSlenameZWindowsZ ]6$b-?;cdeWfghiQj@X XcV0$b-W
•
b-Fb
•
b-$kFb
•
/lS)@Fb
•
/l6m2l6
)@
07/05/14 5
4.1. PHÂN CHIA LỚP TƯƠNG ĐƯƠNG
(EQUIVALENCE PARTITIONING)
K+6equivalence partitioning:
BLZ
n=!H=L$o?$k$k!G
%]Y8ZPQ=Ao
6@6BU@!SX!6
-
/!Uop!S@
\l#8#Zq!S
07/05/14 6
7
/r$V
%6;X 9V@X!W
Positive tests (clean tests):
Test dựa trên dened requirements
Test những trường hợp, hoàn cảnh sử dụng thông thường
Negative tests (dirty tests):
Test nhằm tìm ra lỗi
Test những trường hợp, hoàn cảnh sử dụng đặc biệt, bất thường (như
invalid input, vượt quá trị biên, chịu stress,…)
4.1. PHÂN CHIA LỚP TƯƠNG ĐƯƠNG
(EQUIVALENCE PARTITIONING)
07/05/14
8
KL)MW]os$b-cH@L!
Example program:
Begin
Read
(AAAAAAAAAA)
Print
End
Phân chia lớp tương đương
như thế nào?
4.1. PHÂN CHIA LỚP TƯƠNG ĐƯƠNG
(EQUIVALENCE PARTITIONING)
07/05/14
9
Equivalence classes for “positive” tests:
All 10 inputs consist of the same character in upper case,
repeated for each letter of the alphabet.
ALL 10 inputs consist of the same character in lower case,
repeated for each letter of the alphabet.
All 10 inputs are different, mixed case.
Test Cases:
TC01 - Input: AAAAAAAAAA
TC26 - Input: ZZZZZZZZZZ
TC28 - Input: aaaaaaaaaa
TC53 - Input: zzzzzzzzzz
TC54 - aBcDeFgHiK
TC55 - IhGfEdCbAe
4.1. PHÂN CHIA LỚP TƯƠNG ĐƯƠNG
(EQUIVALENCE PARTITIONING)
KL)MW
07/05/14
10
KL)MW
Equivalence classes for “negative” tests:
All 10 inputs are numeric.
Mixed numeric and alphabetic inputs.
Embedded blanks
Input consists of one valid character.
Input consists of one invalid character.
Input includes special characters (*, & %, etc.)
Input consists of 11 characters.
What would be a correct output for these cases?
4.1. PHÂN CHIA LỚP TƯƠNG ĐƯƠNG
(EQUIVALENCE PARTITIONING)
07/05/14
11
%&'
3@!S$tA>H=
7I)M""9Ib&'
nX@"!kD6@Z+E?]
$k=@"!k=6+)
u)MFYV6Y!#!?@X+=
u)MF!o
4.2. CONTROL FLOW TESTING
07/05/14
12
7""9Ib
Process 1
Process 2
?
Yes
No
Process 3
More
Processing
07/05/14
4.2. CONTROL FLOW TESTING
13
v@AW
wx8A"!ky@Z!S+Ee$l
H;Y
wx8A"!ky@Z!S +
Ee]>+EX
wx8A""9IbE!SC!e!Y
07/05/14
4.2. CONTROL FLOW TESTING
14
u)M6+E^)z_
KL)M6+E=H66?E$l
KL)M6+EXL68rE+
698)-W
3A"")*+,&')!
3YcT)G"
Bắt đầu từ node output
Lần ngược lại tới khi gặp node input
/xF!S
07/05/14
4.3. DATA FLOW TESTING
15
u)M6+E9Ib).2{!68
H8?2|$6;?O
7I)M!kD9IbZ+E?5oV !
HmY? !$V5Zc9Ib?5o@
F
07/05/14
4.4. TRANSACTION TESTING
16
u)M69Ib!@X96.;!6
.)*+
%5o66.Hl@}
07/05/14
4.5. DOMAIN TESTING
!I!#@$ !*k!@TI)Mđưa
vào?6$V=nhận được?@xem xét 5X5$k
7EF6
vL8V $ !IE@W=!Ftest caseH[equivalence
partitioning)-lE$6+!H=W
boundary condition
sub - boundary condition
Null
bad data
07/05/14 17
4.5. DOMAIN TESTING
%6#$+HlH)8)
%6;#$+Hl/8Cv)8%)
( !I*TFHl/
v)8)
%6#$lHl7Hzv)8%)
0 ,C?!8?v$?\?~?@\
1 •)?€?•?@•Hk‚,
07/05/14 18
4.5. DOMAIN TESTING
%6#$+HlH)8)
Nếu phần mềm có thể điều khiển trên những vùng biên => gần như nó sẽ được
điều khiển tốt với những điều kiện thông thường
Ví dụ: Dim data(10) As Integer
Dim i As Integer
For i = 1 To 10
data(i) = 1
Next i
End
07/05/14 19
4.5. DOMAIN TESTING
%6#$+HlH)8)
Nếu phần mềm có thể điều khiển trên những vùng biên => gần như nó sẽ được
điều khiển tốt với những điều kiện thông thường
Ví dụ: Dim data(10) As Integer
Dim i As Integer
For i = 1 To 10
data(i) = 1
Next i
End
07/05/14 20
4.5. DOMAIN TESTING
%6;#$+Hl/8Cv)8
%)
Nhiều điểm mập mờ, chưa rõ ràng => thường nằm trên các giá trị biên
Điều kiên biên là trạng thái ở cạnh hay ở những giá trị giới hạn của phần mềm
07/05/14 21
4.5. DOMAIN TESTING
%6;#$+Hl/8Cv)8
%)
Numeric
Speed
Character
Location
Position
Size
Quantity
07/05/14 22
4.5. DOMAIN TESTING
%6;#$+HlW D!6#$l
Hl?Y5bV*c*
H=2=W
First/Last Min/Max
Start/Finish Over/Under
Empty/Full Shortest/Longest
Slowest/Fastest Soonest/Latest
Largest/Smallest Highest/Lowest
Next-To/Farthest-From
07/05/14 23
4.5. DOMAIN TESTING
( !I*TFHl/
v)8)
phân chia tập dữ liệu lộn xộn thành các equivalence partition
Phân vùng 1: chứa data mà hi vọng phần mềm làm việc tốt (dữ
liệu trong biên)
Phân vùng 2: chứ data mà phần mềm dễ phát sinh lỗi (dữ liệu tại
2 đầu của biên)
07/05/14 24
4.5. DOMAIN TESTING
( !I*TFHl
Kiểm tra giá trị biên: (thêm, bớt các giá trị max, min 1 đơn vị):
ƒze3N
7zeƒN
3!8eBƒ
7'eƒ
3Ne7!z
BzeB9N
„…e„†)
7e3
7e3
wNe3'z
07/05/14 25
4.5. DOMAIN TESTING