Software Engineering, a Practitioner’s Approach.
Trang 1§¹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
BÀI Gi NG
VÀ Ki M TH
Trang 2KI M TH PH N M M
Ph n II
Trang 3̈ Các lo i ki m th
̈ Th m đ nh và xác minh
¬ Roger S Pressman Software Engineering, a Practitioner’s
Approach 3th Edition, McGraw-Hill, 1992, B n dich c a Ngô
Trang 4a Khái ni m
̌ Chi n l c ki m th là s tích h p các k thu t
thi t k ca ki m th t o thành m t dãy các b c
nh m h ng d n quá trình ki m th ph n m m thành công
Trang 5Chi n l c ki m th ph i:
̈ tích h p đ c vi c l p k ho ch, thi t k ca ki m
th , ti n hành ki m th , thu th p và đánh giá các thông tin k t qu
Trang 8ki m th
e S đáp ng c a chi n l c ki m th
Trang 10¸ Các k s ph n m m làm ra ph n m m M t cách t
nhiên h c n ti n hành các ki m th ban đ u V
nguyên t c, ng i làm s n ph m, ki m tra s n ph m làkhông h p lý
Trang 12¸ Nhóm ki m th đ c l p giúp g b nh ng thành ki n c
h u: “ng i xây d ng không th ki m th s n ph m
t t”:
̈ g b mâu thu n gi a nh ng ng i tham gia.
̈ đánh giá công s c ng i phát tri n b ra tìm l i
¸ Nhóm ki m th đ c l p t o ra báo cáo đ y đ cho t
Trang 143 Sai x lý, lôgíc (phép toán, bi u th c )?
4 Sai đi u khi n ( vòng l p, giá tr biên)?
5 Sai ti m n (ghi chép, mô t )?
a Ki m th đ n v
̇ i u ki n lôgic
̇ Phép toán x lý
Trang 18¸ Khi th c hi n I/O ngo i lai c n ti n hành thêm:
̈ Tính ch t c a các file có đúng đ n hay không?
̈ Các câu l nh OPEN/CLOSE có đúng đ n không?
̈ c t hình th c có đúng v i các câu l nh I/O?
̈ C c a buffer có đúng v i c c a b n ghi không?
̈ Các file có m tr c khi s d ng không?
̈ Các đi u ki n end-of-file có đ c x lý ?
̈ Các sai l m I/O có đ c x lý ?
̈ Có sai v n b n nào trong thông tin ra?
a2 Ki m th liên quan đ n vào/ra
Trang 19¸ C u trúc d li u c c b cho mô đun có th sai
Vì th thi t k các ki m th c n làm l ra các lo i
l i sau:
̈ ánh máy không đúng ho c không nh t quán?
̈ Giá tr ng m đ nh ho c giá tr kh i thu sai?
̈ Tên các bi n không đúng (sai ch ho c m t ch )?
̈ Ki u d li u không nh t quán?
̈ Ngo i bi t v đ a ch , underflow, overflow
a3 Ki m th c u trúc d li u c c b
Trang 21¸ Các sai ki u, toán t , ng ngh a:
̈ So sánh các ki u d li u khác nhau
̈ u tiên ho c toán t logic không đúng đ n
̈ D đoán m t bi u th c so sánh, trong khi sai s
Trang 23¸ Các sai ti m n c n đ c đánh giá là:
̈ Mô t sai (khó hi u)
̈ D li u ghi không t ng ng v i sai đã g p
̈ i u ki n sai có tr c khi x lý sai
̈ X lý đi u ki n ngo i l là không đúng đ n
̈ Mô t sai không cung c p đ thông tin đ tr
giúp đ nh v nguyên nhân c a sai
a7 Ki m th sai ti m n
Trang 24¸ Sau khi mã ngu n đ c phát tri n, rà soát và ki m
tra tính đúng đ n cú pháp (thanh tra), thi t k ca
ki m th đ n v b t đ u
¸ ki m th đ n v là ph n ph thêm c a mã hoá
¸ K t qu rà soát thi t k cung c p các ch d n đ
thi t l p các ca ki m th nh m b c l các sai trong
Trang 25¸ Môđun không ph i là ch ng trình cô l p, nên c n
phát tri n các ph n m m b lái và/ho c cu ng
Trang 27¸ M t cu ng (stub ) ho c “dummy program” dùng các
giao di n c a mô đun th c p: làm đ c các thao tác t i thi u , ki m ch ng đ u vào và giá tr tr v
Trang 28̌ T các môđun đã ki m th đ n v , xây d ng c u trúc
ch ng trình đ m b o tuân theo thi t k
̌ Có hai cách tích h p
̈ Tích h p d n: t trên xu ng, d i lên, k p
̈ Tích h p đ ng th i 1 lúc: “ big bang”
b Ki m th tích h p
Trang 29Các sai có th g p khi tích h p :
̈ D li u b m t khi đi qua m t giao di n
̈ hi u ng b t l i 1 môđun vô tình gây ra đ i các
Trang 30l p các nguyên nhân là ph c t p: sai này đ c s a, có
th xu t hi n nhi u sai khác, c th tri n miên!
b2 Chi n l c “big bang” & h u qu
modul2 3 4
Trang 31¸ là m t cách ti n l i đ xây d ng và ki m soát c u trúc
ch ng trình
¸ G p d n các môđun t trên xu ng theo tr t t dòng
đi u khi n, b t đ u t môđun đi u khi n “main”, g n
t ng môđun ph tr vào môđun đi u khi n th ng c p
Có th theo 2 cách:
̈ Theo chi u “sâu tr c”
̈ Theo chi u “r ng tr c”
b3 Chi n l c tích h p t trên xu ng
Trang 32¸ Tích h p t trên xu ng th c hi n theo 5 b c:
1 Môđun đi u khi n chính đ c dùng nh b lái
ki m th (test driver) và t t c các môđun ph
Trang 334 Khi hoàn thành các ki m th này thì thay m t
cu ng khác b ng mô đun th c (ngh a là quay l i
b c 2).
5 Có th ki m th l i (toàn b ho c m t ph n các
ki m th tr c – ki m th h i quy) đ b o đ m
r ng không có sai m i nào đ c sinh ra.
6 Ti p t c l p l i t b c 2 cho t i khi toàn b c u
trúc ch ng trình đ c xây d ng
b3.1 Ti n trình tích h p trên xu ng
Trang 34A B
K t h p theo chi u sâu
H c n ki m th
Ch a xong
Trang 35̇ Nó không ph c t p, nh ng có các v n đ logic: khi
x lý m c th p l i đòi h i ph i đ t ng x ng v i
m c cao
̇ Khi cu ng đ c thay th cho các môđun m c th p,
do đó không 1 d li u có ý ngh a nào đ c truy n
lên trên
b3.3 Bình lu n tích h p trên xu ng
Trang 37̌ B t đ u xây d ng và ki m th t các mô đun
nguyên t : vi c x lý n u có đòi h i các mô đun
ph tr thì các mô đun th c s đã s n sàng
(cu ng- đã b lo i).
b4 Chi n l c tích h p t d i lên
Trang 46̌ Ph m vi ki m th : t ng quát các tính ch t v ch c n ng
đ c bi t, v s th c hi n, v thi t k n i t i c n ki m th ;
công s c ki m th đ c gi i h n l i; tiêu chu n đ y đ
cho t ng pha ki m th đ c mô t và ràng bu c v l ch
Trang 47̇ Tích h p giao di n : các giao di n trong và ngoài đ c ki m
th m i khi m t mô đun (ho c c m) đ c tích h p vào
̇ Th c thi : ti n hành ki m th đã thi t k nh m ki m nghi m
th c thi các h n ch đã đ c thi t l p trong quá trình thi t
k ph n m m
b6.3 Tiêu chu n ki m th tích h p
Trang 50¸ R t khó kh n & k t qu ch a nhi u
¸ Chi n l c ki m th 4 b c :
1 ki m th tác v : ki m th t ng tác v m t cách đ c l p
v i nhau (kt:h p tr ng và h p đen).Nó cho phép:
• phát hi n sai v logic & ch c n ng.
• ch a phát hi n sai v th i gian & ng x
Trang 512 Ki m th ng x :
b Phân l p s ki n (t ng t phân ho ch t ng đ ng)
Ki m th t ng l p s ki n và nh n ng x c a h thi hành đ phát hi n các sai do x lý đáp ng các s ki n
Trang 523 ki m th liên tác: tìm các sai liên quan đ n đáp
ng th i gian do không đ ng b :
a Các tác v không đ ng b khi liên tác v i các tác v
khác Vì th c n ki m th v i nh p đi u d li u và m c
t i v i các x lý khác nhau
b Các tác v không đ ng b do giao ti p ph thu c hàng
đ i thông đi p ho c truy nh p kho d li u c ng đ c
th đ b c l các sai v c d li u
d1.Chi n l c ki m th h th i gian th c(t)
Trang 54Hàng đ i
Truy nh p
Trang 56̈ B sinh t p ki m th : cho ra các giá tr ti n xác
đ nh , các t p vào đi n hình cho ch ng trình ch u
ki m th
̈ B sinh d li u th : giúp l a ch n d li u đ làm
ch ng trình ng x theo theo m t cách đ c bi t?
̈ B xác minh k t qu : đ a ra báo cáo giá tr trung
bình k t qu cho chuyên gia b o đ m ch t l ng
ph n m me1 Công c ki m th t đ ng d li u
Trang 57¸ Các tr giúp cho quá trình ki m th :
• Cài đ t m t ch ng trình d đ nh trong m t môi
Trang 58¸ H ti n hành ký hi u: dùng đ c t đ i s
¸ Mô ph ng môi tr ng:
là m t h th ng d a vào máy tính chuyên bi t có th
ki m th các môi tr ng ngo i lai c a ph n m m th i gian th c và mô ph ng các đi u ki n v n hành đông
th c s
¸ B phân tích dòng d li u:
Phân tích quy mô và t n su t dòng d li u
e3 Công c ki m th t đ ng khác
Trang 60¸ Musa & Ackerman: “Chúng ta không bao gi có th
ch c ch n r ng m t ph n m m nào đó là không có sai; song l i có th k t lu n r ng: chúng ta đã th c hi n đ y
Trang 62¸ M t mô hình là “mô hình th i gian v n hành
Trang 64¸ Thu th p các đo trong quá trình ki m th
đã có đ n nay là t t h n nhi u so v i phong
cách ngây th thô thi n tr c kia!
f4 o m c đ đ y đ c a ki m th