Software Engineering, a Practitioner’s Approach... Phân tích giá tr biên 3... các giá tr biên và sát biênf2.. Phân tích giá tr biên... Áp d ng cho giá tr biên ra... Mô hình phân ho ch &
Trang 1§¹i häc Quèc gia Hμ néi - §¹i häc c«ng nghÖ
Trang 2Nguy n V n V
Ph n II
Trang 3Nguy n V n V
̈ Khái ni m ki m th
̈ 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ô Trung vI t, Ph n 4, t p 4 (Ch ng
Trang 4Nguy n V n V
¸ Ki m th FM là y u t quy t đ nh c a SQA, là khâu
đi n hình c a rà soát đ c t , thi t k , l p mã
¸ ki m th theo Glen Myers: Là quá trình v n hành
ch ng trình đ tìm ra l i.
¬ C n v n hành nh th nào đ :
̇ hi u su t tìm ra l i là cao nh t ?
̇ chí phí (th i gian, công s c) ít nh t?
Câu h i: Lý do? Vai trò? M c tiêu? Quan ni m? L i
ích khác? Lo i-m c? Dòng thông tin? Ti n trình ?
Trang 9¸ 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
e L i ích khác c a ki m th
Trang 10L p rà soát
test đ n v
Th m
đ nh
Trang 11̇ KT ch u t i (extra: stress & load test )
̇ KT thi hành (performance test )
̇ KT an ninh (security test )
g Các m c – lo i hình ki m th
Trang 14c y
Trang 17̇ các chi ti t th t c (thu t toán)
̇ con đ ng logic (lu ng đi u khi n)
̇ các tr ng thái c a ch ng trình (d li u)
Trang 20Nguy n V n V
̈ Yêu c u đ t ra:
Ü 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)
Ü T t c các vòng l p biên c a nó & c các biên
v n hành ph i đ c th c hiên
Ü M i c u trúc d li u n i t i đ c dùng đ b o
đ m hi u l c thi hành c a nó
c Yêu c u ki m th h p tr ng
Trang 21Nguy n V n V
̈ Vì sao t n ti n cho ki m th h p tr ng?
̇ Các sai logic & gi thi t không đúng 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
̇ Có nh ng sai chính t có th là ng u nhiên trên
đ ng ta không ki m tra
d Lý do ki m th h p tr ng
Trang 24Nguy n V n V
̈ C u trúc g m:
̇ m i nút (hình tròn) bi u th m t hay m t s l nh tu n t ,
ho c thay cho đi m h i t các đ ng đi u khi n
̇ m i c nh n i hai nút bi u di n dòng đi u khi n,
̈ K t qu đ thi dòng:
̇ Chia m t ph ng thành nhi u mi n
̇ Có nút v t bi u th s phân nhánh ho c h i nh p c a các cung
f1 C u trúc đ th dòng
Trang 261 2
10
Trang 278 7
6
11
4,5 2,3
̈ đ th dòng
8 11
1 2
10
Trang 30Nguy n V n V
¸ ph c t p chu trình V(G) c a đ th G đ c tính theo các cách sau:
Trang 31Nguy n V n Vf8 Xác đ nh các ca ki m th
Trang 33Nguy n V n V
¸ ma tr n ki m th - m t công c m nh - trong vi c
đánh giá c u trúc đi u khi n ch ng trình Khi ki m
th , ta thêm tr ng s cho các cung c a ma tr n ki m
th nh sau:
̇ Xác su t cung đó đ c th c thi
̇ Th i gian x lý c a ti n trình đi qua cung đó
̇ B nh đòi h i c a ti n trình đi qua cung đó
̇ Ngu n l c đòi h i c a ti n trình đi qua cung đó
g1 Các ma tr n ki m th có tr ng s
Trang 34Nguy n V n Vg2 Ví d ma tr n ki m th
1
10 9
8 7
6
11
4,5 2,3
Trang 35Nguy n V n Vg2 Ví d ma tr n ki m th (t)
A2 =
Các strong ma
tr n cho
bi t s con
đ ng
có hai
c nh đi qua
cung đó
Trang 37Nguy n V n V
̌ Sai bi n Bool
̌ Sai toán t Bool.
̌ Sai s h ng trong bi u th c toán t Bool
̌ Sai toán t quan h
̌ Sai bi u th c s h c.
h1 Ki u sai trong đi u ki n lôgic
Trang 39¸ Làm sao ch ra t t c các tr ng h p c n ki m
h3 Chi n l c ki m th mi n
Trang 40Nguy n V n V
¸ BRO = ki m th nhánh & toán t quan h
( b ranch and r elational o peration)
̇ BRO dùng “ràng bu c đi u ki n làm đi u ki n c n th ”
đ phát hi n sai nhánh và toán t khi x y ra m t l n
Trang 41Nguy n V n V
̇ Ta nói r ng ràng bu c X i c a đi u ki n D là đ c ph
b i m t s th c thi c a C n u nh trong quá trình th c
thi đó, đ u ra c a m i đi u ki n đ n X i trong D tho mãn
Trang 43Ü C p (t,t) ng v i C = t
Ü C p (t,f) và (f,t) ng v i C = f
h6 Chi n l c BRO – t o ràng bu c1
Trang 46Nguy n V n V
¸ Ph ng pháp ki m th dòng d li u tuy n ch n các
đ ng c a ch ng trình t ng ng v i vi c đ nh v cácxác đ nh bi n và s d ng bi n trong ch ng trình ã
có m t s chi n l c ki m th dòng d li u và so sánh chúng
Trang 47Nguy n V n V
¸ V i m i câu l nh S ta đ nh ngh a:
̈ DEF(S) = { X / câu l nh S ch a đ nh ngh a X}
̈ USE(S) = { X / câu l nh S ch a 1 s d ng X}
̈ N u S là câu l nh if ho c câu l nh vòng l p thì DEF(S)
là r ng, còn USE(S) c a nó đ c xác đ nh tùy theo
đi u ki n trong S
i1 nh ngh a các dòng d li u
Trang 48Nguy n V n V
¸ Gi thi t: đ nh ngh a bi n X câu l nh S v n còn s ng
câu l nh S’ n u có m t con đ ng t S t i S’ mà trên đó không ch a m t đ nh ngh a nào khác c a X
Trang 51Nguy n V n Vk1 Ki u vòng l p l ng nhau
K t h p m i vòng l p ngoài v i m i vòng l p trong
Trang 52Nguy n V n V
K t h p m i vòng l p tr c v i m i vòng l p sau
k2 Ki u vòng l p n i ti p
Trang 57Nguy n V n V
¸ Các câu h i t p trung tr l i :
̈ Hi u l c c a ch c n ng (ch c n ng, hi u su t, giao di n) đ t
đ c đ n đâu?
̈ L p đ u vào nào cho các ca ki m th t t?
̈ S nh y c m c a mô đun v i giá tr vào nào?
Trang 59Nguy n V n V
1. Phân ho ch t ng đ ng
2. Phân tích giá tr biên
3. th nhân qu
Câu h i: đ u vào, đi u kiên? Lo i sai? Khó kh n?
K thu t dùng: v n đ gi i quy t? Ph ng châm – nguyên t c? B c đi? K t qu ? u, nh c?
e Các k thu t ki m th h p đen
Trang 62các giá tr biên và sát biên
f2 Phân tích giá tr biên
Trang 64Nguy n V n V
¸ Áp d ng ph ng châm 1 và 2 cho c đi u ki n
ra.
¸ Áp d ng đi u ki n giá tr biên cho c ch ng
trình trung gian có các biên c a c u trúc d li u
đ c mô t
f3 Áp d ng cho giá tr biên ra
Trang 65Nguy n V n Vf4 Mô hình phân ho ch & phân tích giá tr biên
x xx x xx
xx x xx
x
x x x
… x x x
x b
max
x
x
Trang 67Nguy n V n Vg1 Các b c ti n hành
Chuy n đ thi å b ng quy t đ nh
Trang 68Nguy n V n Vg2 Ví d k thu t đ th nhân qu
Trang 69Nguy n V n Vg2 Ví d k thu t đ th nhân qu
Có nhi u công c đ xây d ng đ th nhân qu th
Mô đun B
Trang 70Nguy n V n Vg3 B ng quy t đ nh c a đ th nhân qu
Trang 71Nguy n V n Vg4 Ch n ca ki m th
Trang 72Nguy n V n V
C©u hái và th o lu n