Đại học Quốc gia H nội - Đại học công nghệ
Bộ môn Công nghệ phần mềm
BI Gi NG
M B O CH T L
NG PH N M M
VÀ Ki M TH
Email: , mobile: 0912.505.291
Hà n i - 2005
Ph n II
KI M TH
2005
B môn CNFM –
PH N M M
i h c Công ngh
2
N i dung – Tài li u
̈ Khái ni m ki m th
̈ Các lo i ki m th
̈ Th m đ nh và xác minh
¬ Roger S. Pressman. Soft ware Engineering, a Pract it ioner’s
Approach. 3th Edition, McGraw-Hill, 1992, B n dich c a Ngô
Trung vI t, Ph n 4, t p 4 (Ch ng 17, 18, 23 –b n 2001)
¬ Ian Sommerville. Software Engineering, Sixth Edition, Addion
Wesley, 2001, Ph n 5 và 6. ch ng 20
¬ E.M.Bennatan, Soft ware Proj ect Managem ent : a pract it ioner’s
approach, McGRAW-HILL Book Company, 2001
2005
B môn CNFM –
i h c Công ngh
3
A.Khái ni m v ki m th
¸ Ki m th
đi
mã.
¸
FM là y
ph n m m
c a SQA và
đ c t thi t k & l p
:
̇ Mu n nhìn th y ph n m m nh là m t ph n t c a
h th ng ho t đ ng
̇ H n ch chi phí ph i tr cho các th t b i do l i gây ra
sau này
̇
có k ho ch t t cho su t quá trình phát tri n.
2005
B môn CNFM –
i h c Công ngh
4
a.Lý do c n ki m th ph n m m
¸ T m quan tr ng. Ki m th chi m:
2005
̈
40%
̈
≥ 30% t ng th i gian phát tri n
̈
V i các ph n m m có nh h ng t i sinh m ng, chi
phí có th g p t 3 đ n 5 l n t ng các chi phí khác
c ng l i.
t ng cơng s c phát tri n
B môn CNFM –
i h c Công ngh
5
b.Quan ni m v ki m th ph n m m
¸ M c tiêu tr c m t: c g ng t o ra các ca ki m
th đ ch ra l i c a ph n m m (t c là “đánh đ ”
ph n m m) đ c xây d ng
̈
Vì th , tr c m t ki m th mang tính “phá ho i”, khơng
ph i là xây d ng ỵ d gây ra nh ng v n đ v tâm lý.
¸ M c đích cu i cùng c a ki m th v n là có m t
ch ng trình t t, chi phí ít ỵ xây d ng
2005
B môn CNFM –
i h c Công ngh
6
c.M c tiêu ki m th ph n m m
¸ M c tiêu c a ki m th
(Glen Myers):
̇ Là quá trình v n hành ch ng trình đ tìm ra l i. Nên:
ỵ M t ca ki m th t t là ca ki m th có xác su t cao
tìm ra m t l i ch a đ c phát hi n.
ỵ M t ca ki m th th ng l i là ca ki m th làm l ra
đ c ít nh t m t l i cịn ch a đ c phát hi n.
¸
i u này có v trái v i suy ngh thơng th
xây d ng ph n m m.
2005
B môn CNFM –
i h c Công ngh
ng v
7
c.M c tiêu ki m th ph n m m
¸ M t ca ki m th th ng l i làm l ra khi m
khuy t, đ ng th i mang l i các l i ích ph :
̇
̇
̇
Thuy t minh r ng các ch c n ng ph n m m t ng
ng v i đ c t ,
Yêu c u th c thi là phù h p,
Cung c p thêm các ch s đ tin c y và ch s ch t
l ng ph n m m nói chung.
¸ Tuy nhiên, ki m th khơng th kh ng đ nh r ng
ph n m m khơng có khi m khuy t
2005
B môn CNFM –
i h c Công ngh
8
c.Các lo i hình và k thu t ki m th
¸ Ki m th đ n v
̇ Ki m th h p tr ng (white box)
̇ Ki m th h p đen (black box)
¸ Ki m th tích h p
¸ Ki m th h th ng
̇
̇
̇
̇
Ki
Ki
Ki
Ki
m th
m th
m th
m th
ph c h i
áp l c
thi hành
an ninh
¸ Ki m th ch p nh n (alpha, beta)
2005
B môn CNFM –
i h c Công ngh
9
d.Bi u đ dịng thơng tin ki m th
̌ S đ dịng thơng tin trong ti n trình ki m th
C u hình
ph n m m
C u hình
ki m th
2005
Ki m th
ánh giá
B mơn CNFM –
G
l i
Mơ hình
đơ tin
c y
i h c Công ngh
Ph n m m
ch nh s a
tin c y
d đoán
10
e. Khái ni m thi t k ca ki m th
¸ Thi t k ca ki m th nh m:
̇ tìm ra nhi u sai nh t
̇ v i n l c & th i gian nh nh t.
¸ Trong các th p k 80-90 đã nghiên c u nhi u
lo i ph ng pháp thi t k ca ki m th .
¸ Các ph
ng pháp t t ph i cho m t c ch :
̇ b o đ m tính đ y đ (khơng sót ph n nào) và
̇ cung c p kh n ng th t s phát hi n đ c các sai
trong ph n m m.
2005
B môn CNFM –
i h c Công ngh
11
f.Ph
ng pháp thi t k ca ki m th
¸ Có th ki m th
̇
̇
Ki m th h p đen
Ki m th h p tr ng
¸ ki m th
̇
̇
̇
2005
theo m t trong 2 k thu t sau:
h p đen
Th c hi n các phép th qua giao di n
thuy t minh các ch c n ng ph n m m đ
v n hành đúng
Ít chú ý t i c u trúc logic n i t i c a nó
B mơn CNFM –
i h c Công ngh
&
12
f.Ph
ng pháp thi t k ca ki m th (t)
¸ Ki m th
̈
̈
Th c hi n tr c ti p trên mã ngu n
Khám xét các chi ti t th t c; các con đ
tr ng thái c a ch ng trình.
ỵ S
̇
̇
ỵ
2005
h p tr ng
ng logic, các
con đ ng lơgíc là l n. m t ch ng trình nh :
v i 100 dòng PASCAL
v i m t vòng l p
thì s con đ ng có th lên đ n 1014. Gi s 1 ki m
th h t 1ms thì c n 3170 n m đ ki m th t t c các
con đ ng cùng ràng bu c lôgic trên nó!
B mơn CNFM –
i h c Cơng ngh
13
B. Ki m th
̈
h p tr ng
S d ng c u trúc đi u khi n c a thi t k th t c
đ hình thành các ca ki m th
̈
m b o:
• M i con đ ng đ c l p trong m t môđun c n
đ c th c hi n ít nh t m t l n.
• M i ràng bu c logic đ c th c hi n c hai
phía đúng (true) & phía sai (false).
2005
B môn CNFM –
i h c Công ngh
14
a. Khái ni m ki m th h p tr ng
̈
2005
m b o (t):
• Th c hi n t t c các vịng l p biên c a
nó & c v i các biên v n hành.
• Th c hi n các c u trúc d li u n i t i đ
b o đ m tính hi u l c c a nó
B mơn CNFM –
i h c Cơng ngh
15
b. Lý do ki m th h p tr ng
̈
Vì sao c n t n ti n cho ki m th
tr ng?
h p
• Các sai logic & gi thi t không đúng đ n t l ngh ch
v i xác su t đ m t con đ ng logic đ c thi hành.
• Th c t : m i con đ ng lơgic đ u có th đ c thi
hành trên 1 c s nh t đ nh (ta cho r ng 1con
đ ng logic nào đó là khơng th đ c thi hành).
• Có nh ng sai chính t có th là ng u nhiên trên
đ ng ta khơng ki m tra.
2005
B môn CNFM –
i h c Công ngh
16
c. Các con đ
ng c b n-đ th dòng
̈
th dòng là m t k thu t ki m th h p tr ng,
đ c Tom McCabe đ a ra đ u tiên.
̈
th dịng (c a ch ng trình) g n gi ng đ th
dòng đi u khi n.
̈ C u trúc m t đ th dịng g m:
• m i nút (hình trịn) bi u th m t s (ho c 0) câu l nh th
•
2005
t c,
m i c nh n i hai nút bi u di n dòng đi u khi n,
B môn CNFM –
i h c Công ngh
17
c. Các con đ
ng c b n-đ th dòng(t)
̈ C u trúc(t) :
• Chia m t ph ng thành nhi u mi n.
• M i nút là v t n u nó bi u th s phân nhánh
ho c h i nh p c a các cung.
2005
B môn CNFM –
i h c Công ngh
18
c. Ví d : khái ni m đ th dịng(t)
̈
Các lo i c u trúc c b n:
while
case
until
if
2005
B môn CNFM –
i h c Công ngh
19
c. Ví d : khái ni m đ th dịng(t)
̈
xét bi u đ m t ch
0
ng trình
1
2
3
6
4
8
7
5
9
10
11
2005
B mơn CNFM –
i h c Công ngh
20
c. Ví d : khái ni m đ th dịng(t)
̈
lu ng đi u khi n
̈
đ th dịng
1
0
1
2
2,3
6
3
6
4,5
4
8
7
7
5
8
9
11
2005
10
11
B mơn CNFM –
9
i h c Công ngh
10
21
c. Ví d : khái ni m đ th dịng(t)
th dịng trên g m:
̈
•
•
•
•
2005
9 nút, trong đó:
5 nút là v t (m u s m)
11 cung
Chia m t ph ng thành 4 mi n
B môn CNFM –
i h c Công ngh
22
d.
ph c t p c a chu trình
đ m t t c các câu l nh đ u đ c ki m th
ít nh t m t l n, ta c n tìm đ c t t c các
đ ng đi u khi n đ c l p trong ch ng trình,
t c là m i đ ng khác v i các đ ng khác ít
nh t m t l nh.
¸ S các đ ng đ c l p c a 1 ch ng trình là
gi i h n trên c a s các ki m th c n ph i ti n
hành. Nó đ c g i là đ ph c t p chu trình c a
ch ng trình
¸
2005
B môn CNFM –
i h c Công ngh
23
d.
ph c t p c a chu trình(t)
¸ T p c b n các con đ
ng đ c l p là t p:
̇ M i cung c a đ th dịng đ u có m t trong 1 con
đ ng c a t p này.
̇ M i con đ ng c a t p đ u ch a ít nh t m t cung
khơng có trong m i con đ ng khác c a nó.
¸ S l ng các con đ ng c a t p này cho ta s đo
đ ph c t p chu trình c a 1 ch ng trình
2005
B mơn CNFM –
i h c Cơng ngh
24
e. Tính tốn đ ph c t p chu trình
¸
ph c t p chu trình V(G) c a đ th G đ
theo các cách sau:
c tính
̇ V(G) = E - N + 2
̇ V(G) = s mi n ph ng
̇ V(G) = P – 1
Trong đó: E = s cung; N = s nút; P= s nút v t
V i ví d v đ th dịng
2005
B mơn CNFM –
trên ta có: V(G) = 4
i h c Cơng ngh
25