Ki m th thi hànht... Ph ng cách lo i tr nguyên nhân... Ph ng cách lo i tr nguyên nhânt... Ph ng cách lo i tr nguyên nhânt... Báo cáo hi n tr ng... Báo cáo hi n tr ngt.
Trang 1§¹i häc Quèc gia Hμ néi - §¹i häc c«ng nghÖ
Trang 2KI M TH PH N M M
Ph n II
Trang 3̈ 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 w ar e Engineer ing, a Pr act it ioner ’s
Appr oach 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
N i dung – Tài li u
Trang 6¸ M t k ho ch ki m th phác ra nh ng l p ki m
th c n ti n hành và m t th t c ki m th xác
đ nh các ca ki m th s đ c dùng đ thuy t minh s phù h p v i các yêu c u.
¸ C k ho ch này và th t c này đ c thi t k
đ b o đ m r ng t t c các yêu c u đ c tho mãn , các yêu c u thi hành đ t đ c, tài li u đúng đ n và các yêu c u khác đ c tho
h1 Khái ni m ki m th th m đ nh(t)
Trang 7¸ Sau m i ca ki m th ph n m m vào m t trong hai
tr ng h p sau:
̈ Các đ c tính ch c n ng ho c s th c hi n phù
h p v i đ c t và đ c ch p nh n.
̈ M t l ch l c so v i đ c t đ c phát hi n và m t
danh sách các khi m khuy t đ c t o ra
Ít khi các sai sót đ c ch nh s a trong giai đo n này Th ng ph i th o lu n l i v i khách hàng đ thi t l p m t ph ng pháp đ gi i quy t các l ch h2 Tiêu chu n ki m th th m đ nh
Trang 8¸ M t y u t quan tr ng c a quá trình th m đ nh là rà
soát c u hình (đôi khi đ c g i là ki m toán) Rà
soát này b o đ m r ng các y u t c a c u hình ph n
m m đã th c s đ c phát tri n, l p danh m c, và có các chi ti t c n thi t đ tr giúp pha b o trì c a vòng
đ i ph n m m
h3 Rà soát c u hình
Trang 9¸ Ng i phát tri n không th đoán tr c đ c khách
Trang 10H4.1 Ki m th Alpha & Beta 1 khách
Trang 11¸ Khi ph n m m dành cho nhi u ng i đ t hàng thì ki m
Trang 12¸ ki m th alpha đ c bên phát tri n ti n hành Ph n
m m s đ cng i dùng dùng trong b i c nh t
nhiên đ ng i phát tri n “nhòm qua vai” ng i s
d ng và báo cáo các sai và các v n đ s d ng (vì th còn g i là ki m th sau l ng)
¸ ki m th alpha đ c ti n hành trong m t môi tr ng
đ c đi u khi n (theo k ho ch c a ng i phát tri n)
H4.3 Ki m th Alpha
Trang 13¸ ki m th bêta đ c nhi u ng i đ t hàng ti n hành ,
không có m t Ng i phát tri n
¸ ki m th bêta là áp d ng trong môi tr ng th c, không
có s ki m soát c a phía ng i phát tri n
¸ Khách hàng s báo cáo t t c các v n đ (th c ho c
t ng t ng) mà h g p trong quá trình ki m th cho
ng i phát tri n m t cách đ nh k
¸ Theo các báo đó Ng i phát tri n c i biên và chu n b
phân ph i b n phát hành b n hoàn thi n cho toàn b
H4.4 Ki m th Beta
Trang 14¸ H th ng d a vào máy tính do nhi u bên xây d ng,
Trang 15¸ Ti n hành các ki m th mô ph ng các d li u x u
ho c các sai ti m tàng khác t i giao di n ph n m m
¸ Báo cáo các k t qu ki m th đ làm ch ng c phòng
ng a đ l i cho nhau
¸ Nh ng ng i tham gia vào trong vi c ho ch đ nh và
thi t k các ki m th h th ng sao cho k ho ch và
ki m th b o đ m ph n m m đ c ki m th đ y đ
h5 Ki m th h th ng (t)
Trang 18Có 2 cách h i ph c:
¸ Ph c h i t đ ng: b ng kh i đ ng l i (c ch
checkpoint) Sau khi ph c h i d li u, h th ng t kh i
đ ng l i thì đ c đánh giá là đúng đ n
¸ Ph c h i có s can thi p c a con ng i: ph i đánh giá
th i gian trung bình đ s a ch a và xác đ nh xem li u
nó đã trong gi i h n ch p nh n đ c không?
h6 Ki m th h i ph c (t)
Trang 19¸ Ki m tra c ch b o v đ c xây d ng trong h th ng
xem có đ t hi u qu tr c các đ t nh p hay không?
Trang 20¸ V nguyên t c: M i đ t nh p là có th n u đ th i gian
và ngu n l c
¸ Bài toán thi t k h th ng đ t ra là:
̈ làm cho vi c đ t nh p t n phí nhi u h n giá tr thu
Trang 21lý không n đ nh ho c không chính xác.
h8 Ki m th áp l c
Trang 22¸ V i các h nhúng & h th i gian th c, ph n m m
cung c p ch c n ng nh ng không phù h p v i các yêu c u thi hành đ u là không ch p nh n đ c
¸ ki m th thi hành đ c thi t k đ ki m th vi c thi
Trang 23¸ ki m th thi hành đôi khi g n li n v i ki m th áp l c
vì c hai th ng đòi h i các d ng c ph n c ng và
ph n m m ó là do c n đo s t ng h p ngu n l c
(trong, ngoài) Nh d ng c ngo i lai đ th giám sát
các kho ng v n hành, các s ki n ng t (log) khi nó
xu t hi n, có th l y m u các tr ng thái máy
¸ ki m th có th làm b c l các tình th d n đ n s
suy gi m ho c th t b i h th ng ti m n
h9 Ki m th thi hành(t)
Trang 24¸ Ki m th thành công d n đ n vi c g l i, k t qu c a
ki m th th ng m i ch ra cho k s ph n m m
nh ng tri u ch ng c a v n đ Có th ch a rõ nguyên nhân: Bi u l bên ngoài c a sai & nguyên nhân bên
trong c a sai có th không có quan h rõ ràng
¸ G l i không ph i là ki m th Mà là tìm nguyên nhân
gây l i đ lo i tr l i - khác v i ki m th
I Ngh thu t g r i
Trang 25¸ Quá trình g r i luôn d n t i hai kh n ng:
̈ Tìm ra nguyên nhân, ch nh s a và kh đ c l i
̈ Không tìm đ c nguyên nhân
Tr ng h p này, ng i g l i có th nghi ng m t s nguyên nhân nào đó và c n thi t k m t ca ki m th đ giúp vi c th m đ nh nghi ng và nh v y công vi c tìm sai
l i d n đ n ti p t c ki m th nh m t vòng l p
I1 Ti n trình g r i
Ki m th L i G r i nguyên nhân Tìm ra Kh l i
Trang 26̈ Tri u ch ng có th th c gây ra b i sai c a ng i
dùng mà không d theo dõi đ c
̈ Tri u ch ng có th là k t qu c a v n đ th i gian
ch không ph i là v n đ x lý
I1 Ti n trình g r i (t)
Trang 27Có th khó tái th hi n các đi u ki n đ u vào ( ng
d ng th i gian th c,th t đ u vào không xác đ nh).Tri u ch ng có th là b gián đo n (các h nhúng v i liên k t ph n c ng và ph n m m không tháo r i
đ c)
Tri u ch ng có th do các nguyên nhân đ c phân tán trong m t s các nhi m v ch y trên các b x lý khác nhau
I1 Ti n trình g r i (t)
Trang 28¸ Nhi u ch ng c cho r ng tài g l i là m t th b m sinh
Trang 30¸ Ph ng cách v d ng vô m u là ph ng sách chung
nh t nh ng l i ít hi u qu nh t; áp d ng ph ng sách này khi ch ng còn cách nào khác
¸ Tri t lý “hãy đ cho máy tính tìm ra sai”: xem xét t t c ,
ghi l i t t c v i hy v ng tìm ra trong đ ng thông tin
kh ng l đó cái nguyên nhân c a sai!
¸ M t cách ngh thô thi n, nhi u tr ng h p không kh
thi
I3.1 Ph ng cách v d ng vô m u
Trang 31¸ Ph ng cách lùi theo v t c c ng là ít thông d ng, và
có th dùng th ng l i trong các ch ng trình nh
¸ B t đ u l n ng c t ch th y tri u ch ng sai trong
mã ngu n (b ng tay!) cho t i khi đ nh v đ c sai
¸ Khi s dòng l nh t ng lên thì s con đ ng đi ng c
có th nhi u đ n m c không qu n lý n i
I3.2 Ph ng cách l n theo v t c
Trang 32¸ Cách làm: t ch c l i d li u liên quan đ n xu t hi n
sai đ cô l p nguyên nhân ti m n
¸ M t gi thi t nguyên nhân đ c đ a ra t d li u trên
đ c dùng đ ch ng t ho c ph n ch ng gi thi t đó
m t danh sách các nguyên nhân ti m n đ c v ch ra
và các ki m th đ c ti n hành đ lo i tr các
nguyên nhân trong danh sách đó
¸ N u ki m th ch ra m t nguyên nhân nào đó có h a
h n thì tinh ch ti p d li u liên quan đ cô l p l i
I3.3 Ph ng cách lo i tr nguyên nhân
Trang 33¸ M i khi tìm th y l i thì ph i ch nh s a Nh ng nên nh
r ng s a m t sai có th gây ra nhi u sai khác Làm
sao đ s a tri t đ ?
¸ Tr c khi s a nên t h i đ tìm gi i pháp:
̈ Nguyên nhân này có th sinh ra ph n khác c a
ch ng trình hay không? (trong nhi u tình th ,
m t khi m khuy t ch ng trình có th gây ra m t
m u sai logic mà nó có th đ c sinh ra m t
n i khác)
I3.3 Ph ng cách lo i tr nguyên nhân(t)
Trang 34̈ L i nào có th đ c sinh ra ti p? Tr c khi ch nh
s a nên xét l i mã ngu n (t t h n h t là xét l i thi t k ) đ đánh giá s g n k t gi a logic và c u trúc d li u
̈ Làm gì đ ng n c n l i này ngay t ch đ u tiên?
(th ng có nhi u gi i pháp đ nhà thi t k l a
ch n).
I3.3 Ph ng cách lo i tr nguyên nhân(t)
Trang 37m2 Phân bi t v i b o trì
Trang 39̈ Ch a hoàn thi n – hoàn thi n (theo ti n trình, ch t l ng)
̈ các m c ti n hóa khác nhau (các phiên b n)
m4 C u hình ph n m m
Trang 40¸ Các đ ng m c gi i là ranh gi i đ c đ t ra:
Tr c nó thì c u hình có th thay đ i nhanh chóng và không chính th c.
Trang 41Check out
5
5
Trang 44̇ Các môđun & mã thi hành đ c
̇ Các môđun đã liên k t
m6 Các kho n m c c u hình ph n m m(t)
Trang 46¸ Trách nhi m nguyên thu c a qu n lý c u hình ph n
Trang 50¸ C n đ t tên không trùng cho các kho n m c c u hình
Trang 53¸ Ki m soát phiên b n = t h p các th t c & các công
nh đó mà cho phép đ c t m t c u hình b ng mô t
t p các thu c tính mong mu n
m10 Ki m soát phiên b n
Trang 54¸ xây d ng m t bi n th thích h p c a m t phiên b n
c a m t ch ng trình, m i thành ph n c a phiên b n
đ c gán m t “b thu c tính” - là m t danh sách các
đ c đi m
¸ M t phiên b n hay bi n th đ c xây d ng c n xác đ nh
thành ph n nào đ c dùng hay c n thay đ i
¸ M t cách khác đ hình thành khái ni m v quan h gi a
các thành ph n, các bi n th , các phiên b n là bi u di n chúng nh là m t v ng (pool) đ i t ng
m10 Ki m soát phiên b n (t)
Trang 56¸ T i sao? Khi phát tri n ph n m m l n, không ki m
Trang 57̌ Bi u đ ti n trình ki m soát thay đ i:
Nh n ra nhu c u thay đ i
Ng i dùng đ trình yêu c u thay đ i
Ng i phát tri n đánh giá Sinh ra báo cáo v thay đ im11.1 Ti n trình ki m soát s thay đ i
Trang 58Ng i có th m quy n quy t đ nh ki m soát thay đ i
Yêu c u b bác b Thông báo cho ng i dùng
………
………
m11.1 Ti n trình ki m soát s thay đ i(t)
̌ Quá trình ki m soát đ i thay nh sau:
Trang 59m11.1 Ti n trình ki m soát s thay đ i(t)
̌ Quá trình ki m soát đ i thay nh sau:
Ng i có th m quy n quy t đ nh không ch thay đ i
Trang 60m11.1 Ti n trình ki m soát s thay đ i(t)
̌ Quá trình ki m soát đ i thay nh sau:
Trang 61m11.1 Ti n trình ki m soát s thay đ i(t)
Xem l i các thay đ i s đ c bao g m vào trong
l n phân phát m i Xây d ng l i phiên b n m i c a ph n m m
Rà soát l i s thay đ i c a t t c các kho n m c c u hình (ki m toán) Bao g m các thay đ i vào trong phiên b n m i
Trang 62¸ Khi m t yêu c u thay đ i đ c đ trình c n đ nh giá tr
nh m:
̈ s d ng k thu t thích
̈ hi u ng ph có th có, nh h ng lên t ng th
các đ i t ng c u hình khác & lên các ch c n ng
h th ng & lên chi phí d án vì thay đ i đó
¸ K t qu đánh giá v s đ i thay đ c báo cáo cho
ng i có th m quy n ki m soát đ i thay – CCA -, có
quy n t i h u v tình tr ng & quy t đ nh đ i thay
m11.2 Ho t đ ng ki m soát s thay đ i
Trang 63¸ M t m nh l nh đ i thay k thu t (ECO) đ c t o ra
cho t ng đ i thay đ c ch p thu n
¸ L nh này mô t các đ i thay c n làm, các ràng bu c
ph i tuân theo, các tiêu chu n rà soát và ki m toán
¸ i t ng c n thay đ i đ c “check out” kh i c s
d li u d án, đ c thay đ i, và các ho t đ ng b o
đ m ch t l ng ph n m m c n đ c áp d ng
¸ Sau đó đ i t ng này đ c “check in” vào c s d
li u & m t c ch ki m soát phiên b n đ c s d ng
m11.2 Ho t đ ng ki m soát s thay đ i(t)
Trang 64¸ Quá trình “check in” và “check out” th c thi hai đi u
quan tr ng c a ki m soát đ i thay là: ki m soát truy
c p và ki m soát đ ng b
¸ ki m soát truy c p qu n tr nh ng cái gì mà ng i k
s có th m quy n truy c p và c i biên m t đ i t ng
c u hình đ c bi t
¸ ki m soát đ ng b giúp ta b o đ m r ng các đ i thay
song song, hoàn thành b i nh ng ng i khác nhau
không vi t đè lên nhau
m11.2 Ho t đ ng ki m soát s thay đ i(t)
Trang 65¸ “check out” m t đ i t ng c u hình d a trên yêu c u
đ i thay đã đ c ch p thu n và th t đ i thay k
thu t cho phép ng i k s ph n m m
¸ M t ch c n ng ki m soát truy c p s b o đ m r ng
ng i k s ph n m m đó có th m quy n “check out”
cái đ i t ng đó & các ki m soát đ ng b s khoá đ i
t ng đó trong c s d li u d án sao cho không th
c p nh t đ c d li u này cho đ n khi phiên b n
“check out” hi n th i đ c thay th .
m11.2 Ho t đ ng ki m soát s thay đ i(t)
Trang 66¸ Chú ý r ng các b n sao khác có th đ c “check out”
khoá
m11.2 Ho t đ ng ki m soát s thay đ i(t)
Trang 67¸ đ ng m c đ c t o ra khi đ i t ng đó đã đ c rà
soát k thu t chính th c & đã đ c ch p thu n
¸ Sau đó ki m soát đ i thay m c d án đ c th c thi
Tr c h t ng i phát tri n ph i đ c s ch p thu n
c a ng i qu n lý d án (n u d án là c c b ) ho c
đ c s ch p thu n c a ng i có th m quy n ki m soát đ i thay (n u n u đ i thay nh h ng t i các
kho n m c c u hình ph n m m khác)
m11.2 Ho t đ ng ki m soát s thay đ i(t)
Trang 68¸ Quá trình ki m soát thay đ i v i nhi u th t c quá
ch t ch có nguy c t o ra quan liêu
¸ Không t ch c và kiêm tra t t, s ki m soát thay đ i có
Trang 69¸ Trong m t s tr ng h p s t o sinh nhi u th t c
chính th c: các yêu c u, các báo cáo thay, và các th
t đ i thay k thu t là đ c b qua Tuy nhiên vi c
đánh giá t ng đ i thay v n đ c ti n hành và t t c
các đ i thay v n đ c theo dõi và đ c rà soát
¸ ki m soát đ i thay chính th c đ c hình thành khi s n
ph m đã đ c phân phát cho khách hàng
¸ Th m quy n ki m soát thay đ i đóng m t vai trò tích
c c trong t ng th hai và th ba Ph thu c vào kích
m11.4 Th c ti n ki m soát s thay đ i
Trang 70̌ Ng i có th m quy n c n có cái nhìn t ng th , đánh
giá đ c nh h ng c a thay đ i đ i v i các y u t bên ngoài các kho n m c c u hình ph n m m:
m11.4 Th c ti n ki m soát s thay đ i(t)
Trang 71¸ Minh đ nh, ki m soát phiên b n, ki m soát thay đ i,
giúp cho ng i phát tri n duy trì m t tr t t , tránh
đ c tình th h n đ n
¸ Tuy nhiên ngay c các c c u ki m soát thành công
nh t c ng ch theo dõi m t thay đ i cho đ n khi m t đ i
t ng c u hình k thu t đ c sinh ra;
¸ làm th nào đ b o đ m s đ i đó th c s đ c th c
thi? C n có hai ho t đ ng:
̈ rà soát k thu t chính th c,
n Ki m toán c u hình
Trang 72¸ Rà soát k thu t chính th c t p trung vào s đúng
n Ki m toán c u hình (t)
Trang 73¸ Ki m toán h i và tr l i các câu h i sau:
̇ Thay đ i đ c đ c t trong tr t t thay đ i k
thu t đã đ c th c hi n hay ch a?, Nh ng c i biên ph nào đã đ c ph i h p?
̇ Rà soát k thu t chính th c đã đ c ti n hành đ
đánh giá s đúng đ n k thu t hay ch a?
̇ Các chu n k ngh ph n m m đã th c s đ c tuân th ch a?
n Ki m toán c u hình (t)
Trang 74¸ Ki m toán h i và tr l i các câu h i sau (ti p):
̇ Thay đ i đó đã n i b t lên trong các kho n m c
ph n m m ch a? Có đ c t ngày & tác gi c a thay đ i đó? Các thu c tính c a đ i t ng c u hình đó đã ph n ánh đ c đ i thay đó ch a?
̇ Các th t c qu n lý c u hình đ giám sát, ghi l i
và báo cáo v nó có đ c tuân th hay không?
̇ T t c các kho n m c c u hình ph n m m liên quan đã th c s đ c c p nh t ch a?
n Ki m toán c u hình (t)
Trang 75¸ Trong m t vài tr ng h p các câu h i ki m toán nh là
m t ph n c a rà soát k thu t ph n m m; nh ng khi
qu n lý c u hình ph n m m là m t ho t đ ng chính
th c thì ki m toán qu n lý c u hình ph n m m đ c
ti n hành tách ra b i m t nhóm b o đ m ch t l ng
n Ki m toán c u hình (t)
Trang 76̌ Thông tin báo cáo tình tr ng c u hình g n ch t v i các
nhi m v trong ph n ki m soát đ i thay
o Báo cáo hi n tr ng
Trang 77¸ M i khi m t kho n m c c u hình ph n m m đ c n
đ nh m i ho c đ c c p nh t ch ng th thì m t n i
dung (entry) đ c t o ra
¸ M i khi m t kho n m c c u hình ph n m m đ c ch p
thu n b i th m quy n thay đ i c u hình (có m t m nh
l nh thay đ i k ngh đ c phát ra) thì m t n i dung (entry) đ c t o ra
¸ M i khi m t ki m toán c u hình đ c ti n hành thì các
k t qu c a nó đ c báo cáo nh là m t ph n c a
o Báo cáo hi n tr ng(t)
Trang 78¸ u ra c a báo cáo tình tr ng c u hình có th đ c
đ t trên m t c s d li u tr c tuy n sao cho nh ng
ng i phát tri n ph n m m hay b o trì có th truy c p các thông tin đ i thay
¸ Báo cáo tình tr ng c u hình ph n m m đóng m t vai
Trang 79¸ Báo cáo tình tr ng c u hình giúp ta lo i tr v n đ b t
c p liên quan nhi u ng i b ng cách c i thi n giao