Professional Documents
Culture Documents
1 ThacBinhCuong KiemthuPhanmem
1 ThacBinhCuong KiemthuPhanmem
vn 1
TRUNGDAI HOC BCH KHOA H NOI
KHOA CNG NGHJ THNG TIN
----------o0o---------
Thc Bnh Cung
Bi giang din tu mn hc
KIEM THU V BAO DAM
CHT LUONG PHAN MEM
http://www.ebook.edu.vn 2
MO DAU......................................................................................................................................... 4
CHUONG 1: CC KHI NIJM................................................................................................. 5
1.1. Cc dinh nghia.........................................................................................................5
1.2. Vng doi cua vic kim nghim (testing life cycle):...............................................6
1.3. Phn loai kim nghim:...........................................................................................7
1.4. Su tuong quan gia cc cng doan xy dung phn mm v loai kim
nghim: M hnh ch V.......................................................................................................8
1.5. So luot cc k thut v cng doan kim nghim:....................................................9
CHUONG 2: KIEM CHNG V XC NHAN (V & V ) ....................................................... 13
2.1. Kim chung v hop l ho.....................................................................................13
2.1.1. T chuc vic kim thu phn mm.........................................................................14
2.1.2. Chin luoc kim thu phn mm............................................................................15
2.1.3. Tiu chun hon thnh kim thu ...........................................................................17
2.2. Pht trin phn mm phng sach (cleanroom software development)..................18
2.2.1. Ngh thut cua vic g ri.....................................................................................18
2.2.2. Tin trnh g li .....................................................................................................18
2.2.3. Xem xt tm l......................................................................................................19
2.2.4. Cch tip cn g li ...............................................................................................19
CHUONG 3: KIEM THU PHAN MEM.................................................................................. 22
3.1. Qu trnh kim thu................................................................................................22
3.2. Kim thu h thng.................................................................................................24
3.3. Kim thu tch hop..................................................................................................25
3.4. Kim thu pht hnh...............................................................................................27
3.5. Kim thu hiu nng...............................................................................................31
3.6. Kim thu thnh phn.............................................................................................32
3.7. Kim thu giao din................................................................................................33
3.8. Thit k truong hop thu (Test case design)...........................................................35
3.9. Tu dng ha kim thu (Test automation)..............................................................45
CHUONG 4: CC PHUONG PHP KIEM THU.................................................................. 49
4.1. Phuong php white-box:........................................................................................50
4.2. Phuong php black-box:........................................................................................59
CHUONG 5: KIEM THU TCH HOP...................................................................................... 66
5.1. Tch hop trn xung. .............................................................................................66
5.2. Tch hop duoi ln. .................................................................................................68
5.3. Kim thu ni quy...................................................................................................69
5.4. Goi v vic kim thu tch hop............................................................................71
5.5. Lp ti liu v kim thu tch hop...........................................................................72
CHUONG 6: KY NGHJ DO TIN CAY PHAN MEM............................................................ 75
6.1. Gioi thiu...............................................................................................................75
6.2. Xc nhn tnh tin cy.............................................................................................76
6.2.1. So thao hoat dng..................................................................................................78
6.2.2. Du don tnh tin cy..............................................................................................79
6.3. Dam bao tnh an ton.............................................................................................82
6.3.1. Nhng lun chung v tnh an ton.........................................................................83
6.3.2. Dam bao quy trnh.................................................................................................86
6.3.3. Kim tra tnh an ton khi thuc hin.......................................................................88
6.4. Cc truong hop an ton v tin cyduoc................................................................89
http://www.ebook.edu.vn 3
CHUONG 7: KIEM THU PHAN MEM TRONG CNG NGHIJP ..................................... 95
7.1. QUY TRNH KIEM TRA PHAN MEM CO BAN...............................................95
7.2. M HNH KIEM TRA PHAN MEM TMM (TESTING MATURITY
MODEL)............................................................................................................................99
7.3. Cc cng cu kim thu (Test tools).......................................................................105
7.3.1. TAI SAO PHAI DNG TEST TOOL ................................................................105
7.3.2. KHI QUT VE KTTD.....................................................................................106
7.3.3. GIOI THIEU CNG CU KTTD: QUICKTEST PROFESSIONAL...................108
7.3.4. Kim thu don vi voi J Unit...................................................................................112
CHUONG 8: UC LUONG GI THNH PHAN MEM..................................................... 129
8.1. Gioi thiu.............................................................................................................129
8.2. Nng sut phn mn............................................................................................131
8.3. K thut uoc luong..............................................................................................135
8.4. M hnh ho chi ph thut ton............................................................................137
8.5. M hnh COCOMO.............................................................................................139
8.6. M hnh chi ph giai thut trong k hoach du n.................................................147
8.7. Nhn vin v khoang thoi gian cua du n...........................................................149
CHUONG 9: QUAN L CHT LUONG PHAN MEM....................................................... 153
9.1. Cht luong qu trnh v cht luong san phm:....................................................153
9.2. Cht luong qu trnh v cht luong san phm:....................................................155
9.3. Dam bao cht luong v cc chun cht luong.....................................................156
9.4. Lp k hoach cht luong......................................................................................163
9.5. Kim sot cht luong...........................................................................................164
9.6. CMM/CMMi .......................................................................................................165
9.6.2. Cu trc cua CMM..............................................................................................166
9.6.3. So snh gia CMM v CMMi .............................................................................172
CHUONG 10: QUAN L CU HNH.................................................................................... 174
10.1. Gioi thiu.............................................................................................................174
10.2. K hoach quan tri cu hnh..................................................................................176
11.2. Quan l vic thay di...........................................................................................179
11.3. Quan l phin ban v ban pht hnh....................................................................183
11.4. Quan l ban pht hnh.........................................................................................186
11.5. Xy dung h thng..............................................................................................189
11.6. Cc cng cu CASE cho quan tri cu hnh...........................................................190
PHJ LJC- CC CU HOI N TAP...................................................................................... 197
1. Cht luong v dam bao cht luong phn mm............................................................197
2. Cc d dodc trung cht luong phn mm.................................................................198
3. Kim thu phn mm....................................................................................................199
4. Quan l cu hnh phn mm........................................................................................201
TI LIJU THAM KHAO......................................................................................................... 202
http://www.ebook.edu.vn 4
MO DAU
Quan l chat luong phan mm l van a khng moi nhung theo mt s anh gi l cn
yu cua cc cng ty phan mm Vit Nam. Mt s cng ty trong nuoc hin a aat cc chuan
quc t CMM/CMMI trong nng cao nng luc v quan l chat luong phan mm, song chi
am auoc trn aau ngn tay, v hin cng chi gi gon trong vi cng ty gia cng cho thi
truong nuoc ngoi.
Lu nay, ni an chat luong phan mm, khng t nguoi nghi ngay an van a l xc
ainh xem phan mm a c pht sinh li hay khng, c "chay" ang nhu yu cau hay khng
v cui cng thuong quy v vai tr cua hoat ang kim thu phan mm (testing) nhu l hoat
ang chiu trch nhim chnh.
Voi quan aim cua khch hng, aiu ny c th ang, ho khng can quan tm ni tnh
cua hoat ang pht trin phan mm, aiu ho can quan tm l liu san pham cui cng giao
cho ho c ang han hay khng v lm vic ang nhu ho mun hay khng.
Tuy nhin theo quan aim cua nguoi pht trin phan mm, thuc t cho thay hoat ang
kim thu phan mm l quan trong, nhung khng au a aam bao san pham s auoc hon
thnh ang han v ang yu cau. Kim thu sau cng a pht hin li l aiu tat nhin phai
lm, nhung trong rat nhiu truong hop, aiu a thuong qu tr v s phai mat rat nhiu
thoi gian a sua cha.
Thuc t cho thay, a aam bao auoc hai tiu ch "aon gian" trn cua khch hng, ai hoi
t chuc khng chi van hnh tt khu kim thu phan mm, m phai t chuc v duy tr su
hoat ang nhip nhng cua ca mt h thng cc cng vic lin quan an mt du n phan
mm, t ay xuat hin mt khi nim c tn l "h thng quan l chat luong phan mm"
bao gm cc quy trnh auoc thuc thi xuyn sut chu ky pht trin cua du n phan mm
song hnh cng vic kim thu phn mm nhm aam bao chat luong cho phan mm khi
chuyn giao cho khch hng.
Voi thuc t trn, l nhng nguoi lm cng tc ao tao mong mun cung cap cho sinh
vin ngnh cng ngh phan mm - nhng nguoi s l ngun nhn luc chu yu trong tuong
lai cua cc doanh nghip phan mm nhng khi nim, kin thuc v k nng co ban ban
aau v kim thu phan mm, v qui trnh quan l chat luong, aam bao chat luong phan mm
thng qua gio trnh (ni b) Kim thu v aam bao chat luong phan mm (Software
Testing and Quality Assurrance).
Gio trnh ny voi muc tiu cung cap cho sinh vin cng ngh phan mm c auoc kin
thuc v k nng v vic kim thu phan mm, cc cng aoan kim thu, cc loai kim thu,
cng cu kim thu, xy dung ti liu kim thu, d liu kim thu . V xy qui trnh aam
bao chat luong phan mm, gioi thiu tng quan v h thng quan l chat luong, nguyn
tc, k thuat a aam bao rng du n phan mm s chuyn giao cho khch hng ang
han, ang yu cau.
y l gio trnh so khoi, cn nhiu van a chua ai su phn tch v thuc hin, cn
mang tnh l thuyt nhiu. Tc gia hy vong ban aoc ang gp kin a phin ban 2 ap
ung tt hon yu cau cua nhiu ac gia, cua sinh vin v k ca nhng nguoi aang cng tc
tai cc phng pht trin v aam bao chat luong phan mm.
http://www.ebook.edu.vn 5
CHUONG 1: CC KHI NIJM
1.1. Cc d|nh nghia
Li phn mm l chuyn hin nhin cua cuc sng. Chng ta d c gng dn muc no
th thuc t l ngay ca nhng lp trnh vin xut sc nht cung khng c th lc no cung
vit duoc nhngdoan m khng c li. Tnh trung bnh, ngay ca mt lp trnh vin loai tt
th cung c tu 1 dn 3 li trn 100 dng lnh. Nguoi ta uoc luong rng vic kim tra d tm
ra cc li ny chim phn nua khi luong cng vic phai lm d c duoc mt phn mm
hoat dng duoc. (Software Testing Techniques, Second Edition, by Boris Beizer, Van
Nostrand Reinhold, 1990, ISBN 1850328803).
Trn dy l mt nhn d|nh v cng vic kim nghim (testing) chuong trnh.
Tht vy, ngy nay cng ngy cc chuong trnh (cc phn mm) cng tro ln phc
tp v d s. Vic to ra mt san phm c th bn duc trn th| trung di hoi s n
lc cua hng chc, hng tram thm ch hng ngn nhn vin. S lung dng m ln
dn hng triu. V d to ra mt san phm th khng phai chi do mt t chc dng ra
lm t du dn cui, m di hoi s lin kt, tch hp cua rt nhiu san phm, thu vin
lp trnh, cua nhiu t chc khc nhau T d di hoi vic kim nghim phn
mm cng ngy cng tro nn rt quan trng v rt phc tp.
Song song vi s pht trin cc cng ngh lp trnh, cc ngn ng lp trnh th cc
cng ngh v k thut kim nghim phn mm ngy cng pht trin v mang tnh
khoa hc. Bi tiu lun ny vi mc dch l tp hp, nghin cu, phn tch cc k
thut, cc cng ngh kim nghim phn mm dang duc su dng v pht trin hin
nay.
1.1.1. D|nh nghia:
Vic kim nghim l qu trnh thc thi mt chuong trnh vi mc dch l tm ra li.
(Glen Myers)
Giai thch theo mc dch:
Vic thu nghim hin nhin l ni dn cc li (error), sai st (fault), hong hc (failure)
hoc cc hu qua (incident). Mt php thu l mt cch chy phn mm theo cc
trung hp thu nghim vi mc tiu l:
Tm ra sai st.
Giai thch su hoat dng chnh xc.
(Paul J orgensen)
1.1.2. Cc thut ng:
Li (Error):
L cc li lm do con nguoi gy ra.
Sai st (Fault):
Sai st gy ra li. C th phn loai nhu sau:
http://www.ebook.edu.vn 6
Sai st do dua ra du thua chng ta dua mt vi thu khng chnh
xc vo m ta yu cu phn mm.
Sai st do bo st Nguoi thit k c th gy ra sai st do bo st, kt
qua l thiu mt s phn dng ra phai c trong m ta yu cu phn
mm.
Hong hc (Failure):
Xay ra khi sai st duoc thuc thi. (Khi thuc thi chuong trnh tai cc noi
bi sai th se xay ra trang thi hong hc).
Kt qua khng mong doi, hu qua (Incident)
L nhng kt qua do sai st dem dn. Hu qua l cc triu chung lin
kt voi mt hong hc v bo hiu cho nguoi dng bit su xut hin cua
hong hc.
Truong hop thu (Test case)
Truong hop thu duoc lin kt tuong ung voi hoat dng cua chuong
trnh. Mt truong hop thu bao mt mt tp cc gi tri du vo v mt
danh sch cc kt qua du ra mong mun.
Thm tra (Verification)
Thm tra l tin trnh nhm xc dinh du ra cua mt cng doan trong
vic pht trin phn mm ph hop voi cng doan truocd.
Xc nhn (Validation)
Xc nhn l tin trnh nhm chi ra ton h thngd pht trin xong ph
hop voi ti liu m ta yu cu.
So snh gia Thm tra v Xc nhn:
Thm tra: thm tra quan tm dn vic ngn chn li gia cc cng doan.
Xc nhn: xc nhn quan tm dn san phm cui cng khng cn li.
1.2. Vng di cua vic kim nghim (testing life cycle):
Bang duoi dy m ta cc cng doan pht trin mt phn mm v cch khc phuc li.
Li c th xay ra trong tt ca cc cng doan tu M ta yu cu, Thit k dn Lp
trnh.
Tu cng doan ny chuyn sang cng doan khc thuong nay sinh cc sai st (do du thua
hoc thiu theo m ta yu cu).
Dn cng doan kim nghim chng ta se pht hin ra cc hu qua (cc kt qua khng mong
mun).
Qu trnh sua li bao gm phn loai li, c lp li (tm ra nguyn nhn v noi gy li),
d ra giai php sua li v cui cng l khc phuc li.
http://www.ebook.edu.vn 7
1.3. Phn loi kim nghim:
C 2 muc phn loai:
Mt l phn bit theo mucd chi tit cua cc b phn hop thnh phn mm.
Muc kim tra don vi (Unit)
Muc kim tra h thng (System)
Muc kim tra tch hop (Integration)
Cch phn loai khc l dua trn phuong php thu nghim (thuong dng o muc
kim tra don vi)
Kim nghim hpden (Black box testing) dng d kim tra chuc nng.
Kim nghim hp trng (White box testing) dng d kim tra cu trc.
Hnh bn duoi biu din su tuong quan cua cc tiu ch cht luong phn mm, mucd
chi tit don vi v phuong php kim nghim
M ta yu cu
Thit k
Lp trnh
Kim nghim
C lp li
Phn loai li
Li
Sai st
Sai st
Sai st
Li
Li
Hu qua
Sua li
Vng di cua kim nghim
Giai php sua li
http://www.ebook.edu.vn 8
1.4. S tuong quan gia cc cng don xy dng phn mm v loi kim
nghim: M hnh ch V
M hnh ny nhm giai thch su tuong quan gia cc cng doan xy dung phn mm v
cc loai kim nghim. O mi cng doan xy dung phn mm se tuong ung voi mt loai
kim nghim v cn c mt h so kim nghim tuongung duoc thnh lpd phuc vu cho
vic kim nghim.
V du:
- Cng don: Yu cu phn mm(requiements); Loi kim nghim: Kim nghim
chp nhn (acceptance test); H so: h so kim nghim chp nhn (acceptance test
spec).
- Cng don: M ta chi tit phn mm (specification); Loi kim nghim: Kim
nghim h thng(system test); H so: h so kim nghim h thng (system test
spec).
- Cng don: H so kin trc (architecture spec); Loi kim nghim: Kim nghim
tch hop (integration test); H so: h so kim nghim tch hop (integration test
spec).
- Cng don: Thit k chi tit (detailed design); Loi kim nghim: Kim nghim
khi (module test); H so: h so kim nghim khi (module test spec).
- Cng don: Vit m (implementation code); Loi kim nghim: Kim nghim
don vi (unit test); H so: h so kim nghimdon vi (unit test spec).
Don vi (Unit)
Thnh phn (Module)
Tch hop (Integration)
H thng (System)
Mc d chi tit
Phuong php
White-box Black-box
Chuc nng
Thn thin nguoi dng
Kha nng thi hnh
Thit thuc
Ondinh
An ton
Dc dim
http://www.ebook.edu.vn 9
1.5. So lut cc k thut v cng don kim nghim:
Cc k thut v cng doan kim nghim c th chia nhu sau:
Kim nghim tm hep: kim nghim cc b phn ring re.
Kim nghim hp trng (White box testing)
Kim nghim hpden (Black box testing)
Kim nghim tm rng:
Kim nghim b phn (Module testing): kim nhim mt b phn ring
re.
Kim nghim tch hop (Itegration testing): tch hop cc b phn v h
thng con.
Kim nghim h thng (System testing): kim nghim ton b h thng.
Kim nghim chp nhn (Acceptance testing): thuc hin boi khch
hng.
Sai st
requiements
specification
architecture
spec
detailed design
implementation
code
acceptance test
system test
integration test
module test
unit test
acceptance test spec
system test spec
integration test spec
module test spec
unit test spec
http://www.ebook.edu.vn 10
1.5.1. Cc loi kim nghim tm hp:
Cc loai kim nghim ny duoc thuc hind kim nghimdn cc don vi (unit) hoc cc
khi chuc nng (module).
a. Kim nghim hp trng (white-box testing)
Cn goi l kim nghim cu trc. Kim nghim theo cch ny l loai kim nghim su dung
cc thng tin v cu trc bn trong cuaung dung. Vic kim nghim ny dua trn qu trnh
thuc hin xy dung phn mm.
Tiu chun cua kim nghim hp trng phai dp ung cc yu cu nhu sau:
Bao phu dng lnh: mi dng lnh t nht phai duoc thuc thi 1 ln
Bao phu nhnh: mi nhnh trong so d diu khin (control graph) phai duoc di
qua mt ln.
Bao phu auong: tt ca cc duong (path) tu dim khoi tao dn dim cui cng
trong so d dng diu khin phai duocdi qua.
b. Kim nghim hp den (black-box testing)
Cn goi l kim nghim chuc nng. Vic kim nghim ny duoc thuc hin m khng cn
quan tm dn cc thit k v vit m cua chuong trnh. Kim nghim theo cch ny chi
quan tm dn chuc nng dd ra cua chuong trnh. V vy kim nghim loai ny chi dua
vo ban m ta chuc nng cua chuong trnh, xem chuong trnh c thuc su cung cp dng
chuc nngd m ta trong ban chuc nng hay khng m thi.
Kim nghim hpden dua vo cc dinh nghia v chuc nng cua chuong trnh. Cc truong
hop thu nghim (test case) se duoc tao ra dua nhiu vo ban m ta chuc nng chu khng
phai dua vo cu trc cua chuong trnh.
c. Vn d kim nghim ti bin:
Kim nghim bin (boundary) l vnd duocdt ra trong ca hai loai kim nghim hpden
v hp trng. L do l do li thuong xay ra tai vng ny.
V du:
if x > y then S1 else S2
Voi diu kin bao phu, chi cn 2 truong hop thu l x>y v x<=y.
Voi kim nghimduong bin th kim tra voi cc truong hop thu l x>y, x<y, x=y
Cc loi kim nghim tm rng:
Vic kim nghim ny thuc hin trn tm muc lon hon v cc kha canh khc cua phn
mm nhu kim nghim h thng, kim nghim su chp nhn (cua nguoi dng)...
http://www.ebook.edu.vn 11
a. Kim nghim Module (Module testing)
Mucdch: xc minh module dua ra dduoc xy dungdng hay chua?
Vnd dt ra: gia su module I su dung cc module H, K. Nhung cc module H v K chua
sn sng. Vy cch no d kim tra module I mt cch dc lp?
Giai php d ra l gia lp mi truong cua module H v K.
Thng thuong mt module c th goi mt tc vu (hay mt tin trnh) khng phai cua n,
truy cp cc cu trc d liu khng phai l cuc b, hay duoc dng boi mt module khc.
Hnh sau m ta module duocdt trong mi truong thu nghim.
Ghi ch: Driver l module goi thuc thi lm cho module cn kim tra hoat dng, n gia lp
cc module khc se su dung module ny. Cc tp d liu chia se m cc module khc thit
lp trong thuc t cung duoc thit lp o drive. Stub l module gia lp cc module duoc
module dang kim tra su dung.
b. Kim nghim tch hp:
L cch kim nghimbng cch tch hop vo h thng tung module mt v kim tra.
Uudim:
D dng tm ra cc li vo ngay giai doandu.
D dng khoanh vng cc li (tch hop n modules, sau d n +1
modules).
Giam vic su dung cc stub v Driver
C th thuc him kim nghim tch hop theo ca 2 cch bottom-up v top-down ty thuc
vo mi quan h su dung ln nhau gia cc module.
c. Kim nghim h thng:
Bao gm mt loat cc kim nghim nhm xc minh ton b cc thnh phn cua h thng
duoc tch hop mt cch dngdn.
PROCEDURE
UNDER TEST
DRIVER STUB
CALL CALL
ACCESS TO NONLOCAL VARIABLES
http://www.ebook.edu.vn 12
Mucdch cua kim nghim h thng l d dam bao ton b h thng hoat dng nhu m
khch hng mong mun.
Bao gm cc loai kim nghim sau:
Kim nghim chc nang (Function testing)
Kim tra h thng sau khi tch hop c hoat dngdng chuc nng voi
yu cudt ra trong ban m ta yu cu hay khng.
V du: voi h thng xu l vn ban th kim tra cc chuc nng tao ti
liu, sua ti liu, xo ti liu c hoat dng hay khng.
Kim nghim hiu sut (Perfomance testing)
Kim nghim mc d dp ng (stress testing)
Thuc thi h thng voi gia thit l cc ti nguyn h thng yu cu
khngdpungduoc v cht luong, ndinh v s luong.
Kim nghim cu hnh (configuration tessting)
Phn tch h thng voi cc thit lp cu hnh khc nhau.
Kim nghim n d|nh (robustness tessting)
Kim nghim duoi cc diu kin khng mong doi v du nhu nguoi
dng g lnh sai, ngundin bi ngt.
Kim nghim hi phc (recovery testing)
Chi ra cc kt qua tra v khi xay ra li, mt d liu, thit bi, dich
vu hoc xo cc d liu h thng v xem kha nng phuc hi cua
n.
Kim nghim qu tai (overload testing)
Dnh gi h thng khi n vuot qua gioi han cho php. V du: mt h
thng giao tc (transaction) duoc yu cu thuc thi 20 giao tc/giy.
Khi d se kim tra nu 30 giao tc/giy th nhu th no?
Kim nghim cht lung (quality testing)
Dnh gi su tin tuong, vn d duy tu, tnh sn sng cua h thng.
Bao gm ca vic tnh ton thoi gian trung bnh h thng se bi hong
v thoi gian trung bnh d khc phuc.
Kim nghim ci dt (Installation testing)
Nguoi dng su dung cc chuc nng cua h thng v ghi lai cc li
tai vi tr su dung tht su.
V du: mt h thng duoc thit k d lm vic trn tu thuy phai
dam bao khng bi anh huong g boi diu kin thoi tit khc nhau
hoc do su di chuyn cua tu.
d. Kim nghim chp nhn
Nhmdam bao vic nguoi dng c duoc h thng m ho yu cu. Vic kim nghim ny
hon thnh boi nguoi dng phu thuc vo cc hiu bit cua ho vo cc yu cu.
http://www.ebook.edu.vn 13
CHUONG 2: KIEM CHNG V XC NHAN (V & V )
2.1. Lp k hoach V&V (Verification and validation planning)
2.2. Kim tra phn mm (Software inspections)
2.3. Phn tch tinh tu dng (Automated static analysis)
2.4. Pht trin phn mm phng sach (Cleanroom software development)
2.1. Kim chng v hp l ho
Kim thu phn mm l mt yu t trong chu dim rng hon thung duc tham
khao ti nhu vn d kim chng v hp l ho (V&V). Kim chng ni ti mt tp
cc hnh dng dam bao rang phn mm ci dt dng cho mt chc nang dc bit.
Hp l ho ni ti mt tp cc hot dng khc dam bao rang phn mm d duc xy
dng li theo yu cu cua khch hng. Bochm pht biu diu ny theo cch khc:
Kim chng: Chng ta c lm ra san phm dng khng?
Hp l ho: Chng ta c lm ra dng san phm khng?
D|nh nghia v V&V bao qut nhiu hot dng ta d tham khao ti nhu vic dam bao
cht lung phn mm (SQA).
Cc phuong php k ngh phn mm cung cp nn tang d xy dng nn cht lung.
Cc phuong php phn tch, thit k v thc hin (m ho) lm nng cao cht lung
bang cch dua ra nhng k thut thng nht v kt qua d kin duc. Cc cuc hp
xt duyt k thut chnh thc (thao trnh) gip dam bao cht lung cua san phm
duc to ra nhu h qua cua tng buc k ngh phn mm. Qua ton b tin trnh
ny, vic do dc v kim sot duc p dng cho mi phn tu cua cu hnh phn mm.
Cc chun v thu tc gip dam bao tnh thng nht v tin trnh SQA chnh thc
buc phai thi hnh trit l cht lung ton b .
Vic kim thu cung cp mt thnh lu cui cng d c th thm d|nh v cht lung,
li c th duc pht hin ra mt cch thc t hon.
Nhung khng nn coi kim thu nhu mt tm lui an ton. Nhu ngui ta vn ni,
Bn khng th kim thu duc cht lung. Nu n khng san c truc khi bn bt du
kim thu th n s chng c khi bn kt thc kim thu. Cht lung duc t hp vo
trong phn mm trong ton b tin trnh k ngh phn mm. Vic p dng dng cc
phuong php v cng c, cc cuc hp xt duyt k thut chnh thc v vic quan l
vng chc cng cch do dc tt ca dn ti cht lung duc xc nhn trong khi kim
thu.
http://www.ebook.edu.vn 14
Hnh 2.1 Dat dn cht luong phn mm
Miller k li vic kim thu phn mm v dam bao cht lung bang cch ni rang
dng co nn tang cua vic kim thu chuong trnh l d xc nhn cht lung phn
mm bang nhng phuong php c th duc p dng mt cch kinh t v hiu qua
cho ca cc h thng quy m ln v nho.
Diu quan trng cn luu rang vic kim chng v hp l ho bao gm mt phm vi
rng cc hot dng SQA c cha ca hp xt duyt chnh thc, kim ton cht lung
v cu hnh, diu phi hiu nang, m phong, nghin cu kha thi, xt duyt ti liu, xt
duyt co so d liu, phn tch thut ton, kim thu pht trin, kim thu cht lung,
kim thu ci dat. Mc du vic kim thu dng mt vai tr cc ky quan trng trong
V&V, nhiu hot dng khc cng cn cn ti.
2.1.1. T chc vic kim thu phn mm
Vi mi d n phn mm, c mt mu thun c hu v li ch xut hin ngay khi
vic kim thu bt du. Ngui d xy phn mm by gi duc yu cu kim thu phn
mm. Diu ny ban thn n dung nhu v hi; sau rt, ai bit duc chuong trnh k
hon l ngui lm ra n? Nhung khng may, cng nhng ngui pht trin ny li c
mi quan tm chng minh rang chuong trnh l khng c li, rang n lm vic dng
theo yu cu khch hng, rang n s duc hon tt theo l|ch biu v trong phm vi
ngn sch. Mt trong nhng mi quan tm ny li lm giam bt vic tm ra li trong
ton b tin trnh kim thu.
Theo quan dim tm l, vic phn tch v thit k phn mm (cng vi m ho) l
nhim v xy dng. Ngui k su phn mm to ra mt chuong trnh my tnh, ti liu
v n v cc cu trc d liu c lin quan. Ging nhu bt ky ngui xy dng no,
ngui k su phn mm t ho v dinh th d duc xy dng v nhn ng vc vo bt
http://www.ebook.edu.vn 15
ky ai d|nh lm sp d n. Khi vic kim thu bt du, c mt n lc tinh vi, dt khot
d dp v ci ngui k su phn mm d xy dng. Theo quan dim cua ngui xy
dng, vic kim thu c th duc coi nhu (v tm l) c tnh ph hoi. Cho nn ngui
xy dng d dt d cp ti vic kim thu thit k v thc hin s chng to rang
chuong trnh lm vic, thay v pht hin li. Diu khng may li s hin hu. V nu
ngui k su phn mm khng tm ra chng th khch hng s tm ra.
Thung c mt s nhn thc sai c th duc suy din sai lc t thao lun trn: (1)
ngui pht trin phn mm khng nn tin hnh kim thu; (2) phn mm nn duc
tung qua tung cho ngui l lm vic kim thu mt cch tn bo; (3) ngui kim
thu nn tham gia vo d n chi khi buc kim thu sp sua bt du. Tng pht biu
ny du khng dng.
Ngui pht biu phn mm bao gi cng c trch nhim vi vic kim thu ring cc
don v| (m dun) chuong trnh, d dam bao rang mi m dun thc hin dng chc
nang n d duc thit k. Trong nhiu trung hp, ngui pht trin cng tin hnh
ca kim thu tch hp - buc kim thu dn dn vic xy dng (v kim thu) ton b
cu trc chuong trnh. Chi sau khi kin trc phn mm hon tt th nhm kim thu
dc lp mi tham gia vo.
Vai tr cua nhm kim thu dc lp (ITG) l loi bo vn d c hu lin quan ti vic
d ngui xy dng kim thu nhng ci anh ta d xy dng ra. Vic kim thu dc lp
loi bo xung khc li ch nu khng c nhm d th c th hin hu. Cui cng nhn
s trong nhm kim thu dc lp duc tra tin d tm ra li.
Tuy nhin, ngui pht trin phn mm khng chuyn giao chuong trnh cho ITG ri
bo di. Ngui pht trin v ITE lm vic cht ch trong ton b d n phn mm d
dam bao rang nhng kim thu k lung s duc tin hnh. Trong khi tin hnh kim
thu, ngui pht trin phai c sn d sua cha li d pht hin ra.
ITG l mt phn cua nhm d n pht trin phn mm theo nghia l n tham d
trong tin trnh dc ta v vn cn tham d (lp k hoch v xc d|nh cc thu tc kim
thu) trong ton b d n ln. Tuy nhin, trong nhiu trung hp ITG bo co cho t
chc dam bao cht lung phn mm, do d dt ti mt mc d dc lp c th khng
c duc nu n l mt phn cua t chc pht trin phn mm.
2.1.2. Chin luc kim thu phn mm
Tin trnh k ngh phn mm c th duc xt theo vng xon c, nhu duc minh
ho trong Hnh 2.2. Ban du, k ngh phn mm xc d|nh vai tr cua phn mm v
dua ti vic phn tch yu cu phn mm, ch thit lp nn linh vc thng tin, chc
nang, hnh vi, hiu nang, rng buc v tiu chun hp l cho phn mm. Di vo trong
vng xon c, chng ta ti thit k v cui cng ti m ho. D xy dng phn mm
my tnh, chng ta di dc theo dung xon c, mi ln mc d tru tung li giam
dn.
Mt chin luc cho kim thu phn mm cng c th xem xt bang cch di theo dung
xon c cua Hnh 2.2 ra ngoi. Vic kim thu don v| bt du ti tm xoy cua xon c
v tp chung vo cc don v| cua phn mm khi duc ci dt trong chuong trnh gc.
Vic kim thu tin trin bang cch di ra theo dung xon c ti kim thu tch hp,
noi tp trung vo thit k v vic xy dng kin trc phn mm. Di thm mt vng
xoy na trn dung xon c chng ta gp kim thu hp l, noi cc yu cu, duc
http://www.ebook.edu.vn 16
thit lp nhu mt phn cua vic phn tch yu cu phn mm, duc hp l ho theo
phn mm d duc xy dng. Cui cng chng ta ti kim thu h thng, noi phn
mm v cc phn tu h thng khc duc kim thu nhu mt ton b. D kim thu
phn mm my tnh, chng ta theo dung xoy mo rng dn phm vi kim thu mt
ln.
Hnh 2.3 Cc buoc kim thu phn mm
Xem xt tin trnh ny theo quan dim thu tc v vic kim thu bn trong hon
canh k ngh phn mm thc ti l mt chui gm ba buc duc thc hin tun t
nhau. Cc buc ny duc v trong Hnh 2.3. Ban du, vic kim thu tp trung vo
tng m dun ring bit, dam bao rang n vn hnh dng dn nhu mt don v|. Do d
mi c tn kim thu don v|. Kim thu don v| dng rt nhiu cc k thut kim thu
hp trng, thu cc dung dc bit trong cu trc diu khin cua mt m dun d dam
bao bao qut dy du v pht hin ra li ti da. Tip d cc m dun phai duc lp
ghp hay tch hp li d to nn b trnh phn mm hon chinh. Vic kim thu tch
hp d cp ti cc vn d c lin quan ti cc vn d kim chng v xy dng chuong
trnh. Cc k thut thit k kim thu hp den chim di da s trong vic tch hp,
mc du mt s gii hn cc kim thu hp trng cng c th duc dng d dam bao
bao qut da s cc dung diu khin.
Sau khi phn mm d duc tch hp (duc xy dng), mt tp cc php kim thu cao
cp s duc tin hnh. Cc tiu chun hp l (duc thit lp trong phn tch yu cu)
cng phai duc kim thu. Vic kim thu hp l dua ra s dam bao cui cng rang
phn mm dp ng cho tt ca cc yu cu chc nang, hnh vi v s hon thin. Cc
k thut kim thu hp den duc dng chu yu trong vic hp l ho ny.
Buc kim thu cp cao cui cng roi ra ngoi phm vi cua k ngh phn mm v
roi vo hon canh rng hon cua k ngh h thng my tnh. Phn mm, mt khi duc
hp l ho, phai duc t hp vi cc phn tu h thng khc (nhu phn cng, con
ngui, co so d liu). Kim thu h thng kim chng li rang tt ca cc yu t c
http://www.ebook.edu.vn 17
khp dng vi nhau khng v rang chc nang/ d hon thin h thng ton b d dt
duc.
2.1.3. Tiu chun hon thnh kim thu
Cu hoi c din nay sinh mi khi c vic thao lun v kim thu phn mm l: Khi
no chng ta thc hin xong kim thu - lm sao ta bit rang chng ta d kim thu
du? Dng bun l khng c cu tra li xc d|nh cho cu hoi ny, nhung c mt vi s
dp ng thc t v nhng n lc ban du theo hung dn kinh nghim.
Mt dp ng cho cu hoi trn l: Bn chng bao gi hon thnh vic kim thu,
gnh nng don gian chuyn t bn (ngui pht trin) sang khch hng cua bn. Mi
lc khch hng / ngui dng thc hin mt chuong trnh my tnh th chuong trnh
ny li duc kim thu trn mt tp d liu mi. S kin dng mc ny nhn mnh
tm quan trng cua cc hot dng dam bao cht lung phn mm khc. Mt dp ng
khc (c diu g d nho bng nhung du sao cng chnh xc) l : Bn hon thnh
vic kim thu khi bn ht thi gian hay ht tin.
Mc du s t ngui thc hnh s bin minh cho nhng dp ng trn, ngui k
su phn mm cn nhng tiu chun cht ch hon d xc d|nh khi no vic kim thu
du duc tin hnh. Musa v Ackerman gi mt dp ng da trn tiu chun thng
k: Khng, chng ta khng th tuyt di chc chn rang phn mm s khng bao
gi hong, nhung theo m hnh thng k dng v l thuyt v hp l v thc nghim
th chng ta d hon thnh kim thu du d ni vi s tin tuong ti 95% rang xc sut
cua 1000 gi vn hnh CPU khng hong trong mt mi trung duc xc d|nh v xc
sut l t nht 0.995
Dng m hnh ho thng k v l thuyt d tin cy phn mm, cc m hnh v
hong hc phn mm (duc pht hin trong khi kim thu) xem nhu mt hm cua thi
gian thc hin c th duc xy dng ra. Mt ban cua m hnh sai hong, duc gi l
m hnh thc hin- thi gian Poisson l ga rit, c dng:
f(t)= ln[ ) (
1
x
p
l
0
(pt +1) ] (17.1)
vi f(t) = s tch lu nhng hong hc d kin xut hin mt khi phn mm d
duc kim thu trong mt khoang thi gian thc hin t.
l
0
= mt d hong phn mm ban du (s hong trn don v| thi gian) vo lc
bt du kim thu.
P = vic giam theo hm m trong mt d hong khi li duc pht hin v sa
di duc tin hnh.
Mt d hong th nghim. l(t), c th duoc suy ra bng cch lydao hm cua f(t):
F(t) =
1 0
0
+ pt l
l
(17.2)
Dng mi quan h trong phuong trnh (2.2), ngui kim thu c th tin don
vic loi bo li khi vic kim thu tin trin. Mt d li thc ti c th duc chm ln
trn dung cong d kin (hnh 2.4). Nu d liu thc ti duc thu thp trong khi
http://www.ebook.edu.vn 18
kim thu v m hnh thc hin - thi gian theo logarit Poisson l xp xi gn nhau vi
s dim d liu th m hnh ny c th duc dng d d don thi gian kim thu ton
b cn d dt ti mt d hong thp chp nhn duc.
Bang cch thu thp cc d do trong khi kim thu phn mm v dng cc m
hnh v d tin cy phn mm hin c, c th pht trin nhng hung dn c nghia d
tra li cu hoi: Khi no th chng ta hon thnh vic kim thu? Cn t tranh lun v
vic c phai lm cng vic thm na hay khng truc khi cc quy tc d|nh tnh cho
kim thu c th xc d|nh, nhung cch tip cn kinh nghim hin dang tn ti duc coi
l tt hon dng k so vi trc gic th.
2.2. Pht trin phn mm phng sch (cleanroom software development)
Cleanroom l mt qui trnh pht trin phn mm hon l mt k thut kim thu. Cho
dn by gi, k thut ny vn duc xem l mt cch mi cua vic suy nghi v kim
thu v dam bao cht lung phn mm. tuong cua cleanroom l nham trnh tiu
tn chi ph cho hot dng pht hin v g bo cc li bang cch vit m lnh chuong
trnh mt cch chnh xc ngay t ban du vi nhng phuong php chnh thng nhu
k thut chng minh tnh dng dn truc khi kim thu.
2.2.1. Ngh thut cua vic g ri
Kim thu phn mm l mt tin trnh c th duc vch k hoc v xc d|nh mt cch
h thng. Vic thit k trung hp kim thu c th tin hnh mt chin luc xc d|nh
v c kt qua duc tnh ton theo thi gian.
G li xut hin nhu hu qua cua vic kim thu thnh cng. Tc l, khi mt trung
hp kim thu pht hin ra li th vic g li l tin trnh s nay sinh d loi bo li.
Mc du vic g li c th nn l mt tin trnh c trt t, n phn ln cn l ngh
thut. Ngui k su phn mm khi tnh cc kt qua cua php thu, thung hay phai
duong du vi chi dn triu chng v vn d phn mm. Tc l, ci biu l ra bn
ngoi cua li v nguyn nhn bn trong cua li c th c mi quan h khng hin
nhin ti mt li khc. Tin trnh tm tr t hiu bit gn mt triu chng vi nguyn
nhn chnh vic g li.
2.2.2. Tin trnh g li
G li khng phai l kim thu, nhung bao gi cng xut hin nhu mt h qua kim
thu. Tham khao dn hnh 2.12 th tin trnh g li bt du vi vic thc hin kim
thu. Kt qua duc thm d|nh v gp vic thiu s tuong ng gia kt qua trng di
v thc t. Trong nhiu trung hp, d liu khng tuong ng l triu chng cua mt
nguyn nhn nn tang cn b| che kn. Tin trnh g li c gng ghp triu chng vi
nguyn nhn, t d dn ti vic sua li.
Tin trnh g li bao gi cng sinh ra mt trong hai kt qua logic: (1) Nguyn
nhn s duc tm ra, sua cha v loi bo hay (2) nguyn nhn s khng duc tm ra.
Trong trung hp sau, ngui thc hin g li c th hoi nghi mt nguyn nhn, thit
k ra mt trung hp kim thu gip hp l ho hoi nghi cua mnh, v vic lm
hung ti vic sua li theo cch lp li.
http://www.ebook.edu.vn 19
Ti sao g li li kh? Rt c th tm l con ngui (xem mc sau) c lin quan ti
nhiu cu tra li hon l cng ngh phn mm. Tuy nhin mt vi dc trung cua li
dua ra vi manh mi:
o Triu chung v nguyn nhn c th xa nhau v mt dia l. Tuc l, nhng
triu chung c th xut hin trong mt phn ny cua chuong trnh, trong khi
nguyn nhn thuc t c th dinh vi o mt vi tr xa. Cc cu trc chuong
trnhdi di voi nhau lm trm trong thm tnh hung ny.
o Triu chung c th bin mt (tam thoi) khi mt li khc duoc sua cha.
o Triu chung thuc t c th gy ra khng li (nhu do su khng chnh xc cua
vic lm trn s).
o Triu chung c th duoc gy ra do li con nguoi khng d ln du vt.
o Triu chung c th l kt qua cua vnd thoi gian, thay v vnd xu l.
o C th kh ti tao lai chnh xc cc diu kin vo (nhu ung dung thoi gian
thuc trong d thu tu vo khng xc dinh)
o Triu chung c th c lc c lc khng. Diu ny dc bit ph bin trong
cc h thng nhng vicdi di phn cung v phn mm khng cht che.
o Triu chung c th do nguyn nhn duoc phn b qua mt s cc nhim vu
chay trn cc b xu l khc nhau.
o Trong khi g li, chng ta gp khng t cc li chay tu vic hoi kh chiu
(nhu dinh dang ci ra khng dng) toi cc tham hoa (nhu h thng hong,
gy ra cc thit hai kinh t hay vt l trm trong). Xem nhu hu qua cua
vic tng li, khi luong suc p d tm ra li cung tng thm. Thng
thuong, suc p buc nguoi pht trin phn mm phai tm ra li v dng thoi
dua vo thm hai li na.
2.2.3. Xem xt tm l
Khng may, dung nhu c mt s bang c l s tinh thng g li thuc bm sinh con
ngui. Mt s ngui lm vic d rt gioi, s khc li khng. Mc d bang c kinh
nghim v g li vn cn d mo cho nhiu cch hiu, nhung bin thin ln nht trong
kha nang g li d duc bo co li di vi cc k su phn mm c cng nn tang
kinh nghim v gio dc.
Bnh lun v kha cnh g li cua con ngui, Shneiderman pht biu:
G li l mt trong nhng phn chn nht cua lp trnh. N c yu t cua vic giai
quyt vn d hay vn d hc ba, di di vi vic tha nhn kh ch|u rang bn d sai
lm. Hay u lo v khng san lng chp nhn kha nang li lm tang kh khan cho
cng vic. May mn l c s giam nh v bt cang thng khi li cui cng d duc
sua li.
Mc du c th kh hc duc vic g li, ngui ta vn d ngh| ra mt s cch tip cn
ti vn d. Chng ta xem xt nhng vn d ny trong mc tip.
2.2.4. Cch tip cn g li
Bt k ti cch tip cn no duc chn g li c mt mc tiu quan trng hon ca: tm
ra v sua cha nguyn nhn li phn mm. Mc tiu ny duc thc hin bang t hp
http://www.ebook.edu.vn 20
cc dnh gi c h thng, trc gic v may mn. Bradley m ta cch tip cn g li
theo cch ny:
G li l vic ng dng trc tip phuong php kh hc d tng duc pht trin hon
2500 nam qua. Co so cua vic g li l d|nh v| ngun gc cua vn d [nguyn nhn]
bang vic phn hoch nh| phn, thng qua cc gia thit lm vic d d don cc gi
tr| mi cn kim tra.
Ta hy ly mt v d khng phai phn mm: Dn trong nh ti khng lm vic. Nu
khng c g trong nh lm vic th nguyn nhn phai l cu ch chnh hay o bn
ngoi; ti nhn quanh d liu xem hng xm c b| tt dn hay khng. Ti cm chic
dn nghi ng vo cm khc v cm mt d din khc vo mch nghi ng. C th
tin hnh cc phuong n giai quyt kim thu.
Ni chung, c th dua ra ba loai cc tip cn g li:
- B buc manh bao
- Lt nguoc
- Loai bo nguyn nhn
Loi b buc mnh bo c l l phuong php thng dng nht v km hiu qua nht
d c lp nguyn nhn cua li phn mm. Chng ta p dng phuong php g li b
buc mnh bo khi tt ca cc phuong php khc du tht bi. Dng trit l c d
my tnh tm ra li, ngui ta cho x ra ni dung b nh, gi ti chuong trnh luu du
vt khi chy v np chuong trnh vi lnh WRITE. Chng ta hy vng rang du d
trong bi ly thng tin duc to ra, chng ta c th tm ra duc mt nguyn nhn cua
li. Mc du dng thng tin duc to ra cui cng c th dn ti thnh cng, thung
hon ca l n dn dn ph phm cng sc v thi gian. Phai dnh suy nghi vo d
truc ht d.
Lt nguc li cch tip cn kh thng dng c th duc dng trong nhng chuong
trnh nho. Bt du ti ch chng duc pht hin ra, lt nguc theo nhng chuong
trnh gc (mt cch thu cng) cho ti ch tm ra nguyn nhn. Khng may l khi s
dng chuong trnh gc tang ln, s con dung lt nguc tim nang c th tro nn
khng quan l ni.
Cch tip cn th ba ti g li - loi bo nguyn nhn duc biu l bang vic quy np
hay din d|ch v dua vo khi nim v phn hoch nh| phn. D liu c lin quan ti
vic xut hin li duc t chc d c lp ra cc nguyn nhn tim nang. Mt gia thit
nguyn nhn duc nu ra v d liu trn duc dng d chng minh hay bc bo gia
thit d. Mt cch khc, ta c th xy dng ra mt danh sch mi nguyn nhn dc
bit c nhiu ha hn th d liu s duc lm m|n thm d c gng c lp ra li.
Tng cch tip cn g li trn dy du c th duc b sung thm boi cng c g li.
Chng ta c th p dng mt phm vi rng cc trnh bin d|ch g li, nhung tr gip
g li dng (B d du vt), cc b sinh trung hp kim thu t dng, s b nh v
bang tham khao cho. Tuy nhin cc cng c du khng phai l cch thay th cho vic
dnh gi da trn ti liu thit k phn mm dy du v chuong trnh gc r rng.
Trong nhiu trung hp, vic g li phn mm my tnh ta nhu vic giai quyt vn
d trong th gii kinh doanh. Brow v Sampson d dua ra mt cch tip cn g li
tn l Phuong php, d l vic thch nghi cc k thut giai quyt vn d quan l.
Cc tc gia ny d ngh| pht trin mt ban dc ta v cc d lch, m ta cho vn d
bang cch phc ha ci g, khi no, o du v vi phm vi no?
http://www.ebook.edu.vn 21
Mi mt trong nhng vn d nu trn (ci g, khi no, o du v vi phm vi no) du
duc chi ra thnh nhng dp ng l hay khng l d phn bit r rt gia ci g d
xay ra v ci g d khng xay ra. Mt khi thng tin v li d duc ghi li th ngui ta
xy dng ra mt gia thit nguyn nhn da trn cc phn bit quan st duc t
nhng dp ng l hay khng l. Vic g li tip tc dng cch tip cn qui np hay
din d|ch duc m ta phn trn trong mc ny.
Bt ky thao lun no v cch tip cn v cng c g li cng du khng dy du nu
khng ni ti mt dng minh mnh m: Ngui khc! Khi nim v lp trnh v ng
cua Weinberg (duc thao lun truc dy trong cun sch ny) nn duc mo rng
thnh g li v ng. Mi ngui chng ta du c th nh li diu g kh xu khi mt
hng gi, hng ngy v mt li dai dng. Mt dng nghip vn vo di qua trong ni
tht vng ri chng ti giai thch v tung ra ban tin chuong trnh ra. Lp tc (dung
nhu) nguyn nhn li b| pht hin ra. Mim cui mt cch ngo ngh, anh bn dng
nghip chng ta bin mt. Mt quan dim mi me, khng b| che phu boi hng gi
tht vng, c th to ra nhng diu ky diu. Cu chm ngn cui cng v g li c th
l: Khi tt ca mi th khc du sai th hy nh s gip d.
Mt khi li d duc tm ra, th n phai duc sua cha. Nhung khi chng ta d luu ,
vic sua mt li di khi c th li dua vo mt li khc v do d li gy hi hon l tt.
Van Vleck gi ba cu hoi don gian ngui k su phn mm nn hoi truc khi tin
hnh sua cha d loi bo nguyn nhn gy li:
- Liu nguyn nhn gy li ny c bi ti taoo phn khc cua chuong trnh hay khng?
Trong nhiu tnh hung, mt khim khuyt chuong trnh bi gy ra boi mt mu hnh
logic sai st c th cn pht sinh o dud khc na. Vic xem xt tuong minh v
mu hnh logic ny c th lm pht hin ra thm cc li khc
- Li tip c th bi dua vo l g khi ti cha li ny? Truoc khi vic sua li duoc
tin hnh, chuong trnh gc (hay tt hon, thit k) nn duoc dnh gi lai d thm
dinh vic dnh ni cc cu trc logic d liu. Nu vic sua li duoc tin hnh trong
mt phn c d dnh ni cao th cng phai d tm nhiu khi tin hnh bt ky mt su
thay di no.
Ta c th lm g d ngan can li ny ngay t du? Cu hoi ny l buc du tin
hung ti vic thit lp mt cch tip cn dam bao cht lung phn mm thng k.
Nu ta sua chuong trnh cng nhu san phm th li s loi bo chuong trnh hin ti v
c th b| khu bo mi chuong trnh tuong lai
http://www.ebook.edu.vn 22
CHUONG 3: KIEM THU PHAN MEM
Muc tiu cua chuong ny l m ta qu trnh kim thu phan mm v aua ra cc k thuat
kim thu. Khi aoc chuong ny, ban s:
- Hiu auoc su khc bit gia kim thu hop l v kim thu khim khuyt.
- Hiu auoc cc nguyn l cua kim thu h thng v kim thu b phan.
- Hiu auoc ba chin luoc c th su dung a sinh cc truong hop kim thu h thng.
- Hiu auoc cc ac aim ban chat cua cng cu phan mm auoc su dung a kim thu
tu ang.
3.1. Qu trnh kim thu
Qu trnh kim thu phn mm c hai muc tiu ring bit:
1. Chung minh cho nguoi pht trin v khch hng thy cc yu cu cua phn mm.
Voi phn mm truyn thng, diu ny c nghia l ban c t nht mt thu nghim
cho mi yu cu cua nguoi dng v ti liu h thng yu cu.Voi cc san phm
phn mm chung, diud c nghia l ban nn thu nghim tt ca cc dc tnh cua h
thng se duoc kt hop trong san phm pht hnh.
2. Pht hin cc li v khim khuyt trong phn mm: phn mm thuc hin khng
dng, khng nhu mong doi hoc khng lm theo nhu dc ta. Kim tra khim
khuyt tp trung vo vic tm ra tt ca cc kiu thuc hin khng nhu mong doi cua
h thng, nhu su d v h thng, su tuong tc khng mong mun voi h thng
khc, tnh ton sai v sai lac d liu.
Kim thu
thnh phn
Kim thu
Nguoi pht trin phn mm Nhm kim thu dc lp
h thng
Hnh 3.1 Cc giai doan kim thu
Thit k truong hop
kimthu
Chun bi d liu
kimthu
Chay chuong trnh
voi d liu kimthu
So snh cc kt qua
Voi cc truong hop
truong hop
kimthu
kimthu
D liu
kimthu
Cc kt qua
kimthu
Bo co
thu nghim
Cc
Hnh 3.2 Mt m hnh cua qu trnh kim thu phn mm
http://www.ebook.edu.vn 23
Muc tiu thu nht dndn kim thu hop l, su dung tp cc thu nghim phan nh mong
mun cua nguoi dng d kim tra xem h thng c thuc hindng khng. Muc tiu thu hai
dn dn kim thu khim khuyt: cc truong hop kim thu duoc thit k d tm ra cc
khim khuyt. Cc truong hop kim thu c th duoc lm khng r v khng cn phan nh
cch h thng bnh thuong duoc su dung. Voi kim thu hop l, mt thu nghim thnh cng
l thu nghim m h thng thuc hin dng dn. Voi kim thu khim khuyt, mt thu
nghim thnh cng l mt thu nghim tm ra mt khim khuyt, nguyn nhn lm cho h
thng thuc hin khng chnh xc.
Kim thu c th khng chung minh duoc phn mm khng c khim khuyt, hoc n se
thuc hin nhu dc ta trong moi truong hop. Rt c th mt thu nghim ban bo qua c th
pht hin ra cc vnd khc trong h thng. Nhu Dijstra, mt nguoi di du trong vic pht
trin k ngh phn mm, d tuyn b (1972): kim thu chi c th pht hin ra cc li hin
tai, chu khng th dua ra tt ca cc li.
Ni chung, v vy, muc tiu cua kim thu phn mm l thuyt phuc nguoi pht trin phn
mm v khch hng rng phn mm l du tt cho cc thao tc su dung. Kim thu l mt
qu trnh duoc dng d tao nn su tin tuong trong phn mm.
M hnh tng qut cua qu trnh kim thu duoc m ta trong hnh 3.2. Cc truong hop
kim thu su chi r cuadu vo d thu nghim v du ra mong doi tu h thng cng voi
mt ban bo co san phmdduoc kim thu. D liu kim thu l du vo, duoc nghi ra d
kim thu h thng. D liu kim thu thinh thoang c th duoc tu dng sinh ra. Sinh cc
truong hop kim thu tu dng l diu khng lm duoc. Du ra cua thu nghim chi c th
duoc du don boi nguoi him bit v hoat dng cua h thng.
Kim thu ton din: moi chuong trnh c th thuc hin tun tu duoc kim tra, l diu
khng th lm duoc. V vy, kim thu, phai duoc thuc hin trn mt tp con cc truong
hop kim thu c th xay ra. Trong l tuong, cc cng ty phn mm c nhng diu khoan
d lua chon tp con ny hon l giao n cho di pht trin. Nhng diu khoan ny c th
dua trn nhng diu khoan kim thu chung, nhu mt diu khoan l tt ca cc cu lnh
trong chuong trnh nn duoc thuc thi t nht mt ln. Mt su lua chon l nhngdiu khoan
kim thu c th su trn kinh nghim su dung h thng, v c th tp trung vo kim thu
cc dc trung hoat dng cua h thng. V du:
1. Tt ca cc dc trung cua h thngduoc truy cp thng qua thuc don nn duoc kim
thu.
2. Kt hop cc chuc nng (v du dinh dang vn ban) duoc truy cp thng qua cng thuc
don phai duoc kim thu.
3. Khi du vo duocdua vo, tt ca cc chuc nng phai duoc kim thu voi cng mt thu
nghimdng dn v thu nghim khng dngdn.
Diu d r rng tu kinh nghim voi san phm phn mm lon nhu phn mm xu l vn
ban, hoc bang tnh c th so snh cc nguyn tc thng thuong duoc su dung trong lc
kim thu san phm. Khi cc dc trung cua phn mmduoc su dung c lp, chng lm vic
bnh thuong. Cc vnd pht sinh, nhu Whittaker giai thch (Whittaker, 2002), khi lin kt
cc dc trung khng duoc kim thu cng nhau. ng ddua ra mt v du, khi su dung phn
mm xu l vn ban su dung su dung loi ch thch o cui trang voi cch sp xp nhiu ct
lm cho vn ban trnh by khng dng.
Khi mt phn cua qu trnh lp k hoch V & V, ngui quan l phai dua ra cc
quyt d|nh ai l ngui ch|u trch nhim trong tng buc kim thu khc nhau. Vi
hu ht cc h thng, cc lp trnh vin ch|u trch nhim kim thu cc thnh phn
http://www.ebook.edu.vn 24
m h d trin khai. Khi cc lp trnh vin d hon thnh cc cng vic d, cng vic
duc giao cho di tng hp, h s tch hp cc mdun t nhng ngui pht trin
khc nhau d to nn phn mm v kim thu ton b h thng. Vi h thng quan
trng, mt qu trnh theo nghi thc c th duc su dng, cc ngui thu dc lp ch|u
trch nhim v tt ca cc buc cua qu trnh kim thu. Trong kim thu h thng
quan trng, cc thu nghim duc kim thu ring bit v h so chi tit cua kt qua
kim thu duc duy tr.
Kim thu cc thnh phn duc thc hin boi nhng ngui pht trin thung da
trn hiu bit trc gic v cch hot dng cua cc thnh phn. Tuy nhin, kim thu
h thng phai da trn van ban dc ta h thng. D c th l mt dc ta chi tit yu
cu h thng, hoc n c th l dc ta hung ngui su dng o mc cao cua cc dc
tnh duc thc hin trong h thng. Thung c mt di dc lp ch|u trch nhim
kim thu h thng, di kim thu h thng lm vic t ngui su dng v ti liu yu
cu h thng d lp k hoch kim thu h thng.
Hu ht cc thao lun v kim thu bt du vi kim thu thnh phn v sau d
chuyn dn kim thu h thng. Ti d dao nguc thu t cc thao lun trong chuong
ny boi v rt nhiu qu trnh pht trin phn mm bao gm vic tch hp cc thnh
phn su dng li v duc lp vo phn mm d to nn cc yu cu c th. Tt ca cc
kim thu trong trung hp ny l kim thu h thng, v khng c s tch ri trong
qu trnh kim thu thnh phn.
3.2. Kim thu h thng
H thng gm hai hoc nhiu thnh phn tch hop nhm thuc hin cc chuc nng hocdc
tnh cua h thng. Sau khi tch hop cc thnh phn tao nn h thng, qu trnh kim thu h
thngduoc tin hnh. Trong qu trnh pht trin lpdi lp lai, kim thu h thng lin quan
voi kim thu mt luong cng vic ngy cng tng d phn phi cho khch hng; trong qu
trnh thc nuoc, kim thu h thng lin quan voi kim thu ton b h thng.
Voi hu ht cc h thng phuc tap, kim thu h thng gm hai giai doan ring bit:
1. Kim thu tch hop: di kim thu nhn m ngun cua h thng. Khi mt vn d
duoc pht hin, di tch hop thu tm ngun gc cua vnd v nhn bit thnh phn
cn phai g li. Kim thu tch hop hu nhu lin quan voi vic tm cc khim khuyt
cua h thng.
2. Kim thu pht hnh: Mt phin ban cua h thng c th duoc pht hnh toi nguoi
dng duoc kim thu. Di kim thu tp trung vo vic hop l cc yu cu cua h
thng v dam bao tnh tin cy cua h thng. Kim thu pht hnh thuong l kim thu
hpden, di kim thu tp trung vo m ta cc dc tnh h thng c th lm duoc
hoc khng lm duoc. Cc vnd duoc bo co cho di pht trind g li chuong
trnh. Khch hng duoc bao hm trong kim thu pht hnh, thuong duoc goi l
kim thu chp nhn. Nu h thng pht hnh du tt, khch hng c th chp nhn
nd su dung.
V co ban, ban c th nghi kim thu tch hop nhu l kim thu h thng chuady du
bao gm mt nhm cc thnh phn. Kim thu pht hnh lin quan dn kim thu h
thng pht hnh c dinh phn phi toi khch hng. Tt nhin, c su gi chng ln
http://www.ebook.edu.vn 25
nhau, dc bit khi pht trin h thng v h thng duoc pht hnh khi chua hon thnh.
Thng thuong, su uu tin hng du trong kim thu tch hop l pht hin ra khim
khuyt trong h thng v su uu tin hng du trong kim thu h thng l lm hop l cc
yu cu cua h thng. Tuy nhin trong thuc t, c vi kim thu hop l v vi kim thu
khim khuyt trong cc qu trnh.
3.3. Kim thu tch hp
Qu trnh kim thu tch hop bao gm vic xy dung h thng tu cc thnh phn v
kim thu h thng tng hop voi cc vn d pht sinh tu su tuong tc gia cc thnh
phn. Cc thnh phnduoc tch hop c th trng voi chnh n, cc thnh phn c th
dng lai duoc c th thm vo cc h thng ring bit hoc thnh phn moi duoc pht
trin. Voi rt nhiu h thng lon, c tt ca 3 loai thnh phnduoc su dung. Kim thu
tch hop kim tra trn thuc t cc thnh phn lm vic voi nhau, duoc goi l chnh xc
v truyn d liudng vo lc thoi gian dng thng qua giao din cua chng.
H thng tch hop bao gm mt nhm cc thnh phn thuc hin vi chuc nng cua h
thng v duoc tch hop voi nhau bng cch gp cc m d chng lm vic cng voi
nhau. Thinh thoang, du tin ton b khung cua h thng duoc pht trin, sau d cc
thnh phnduoc gp lai d tao nn h thng. Phuong php ny duoc goi l tch hop tu
trn xung (top-down). Mt cch lua chon khc l du tin ban tch hop cc thnh phn
co so cung cp cc dich vu chung, nhu mang, truy cp co so d liu, sau d cc thnh
phn chuc nng duoc thm vo. Phuong php ny duoc goi l tch hop tu duoi ln
(bottom-up). Trong thuc t, voi rt nhiu h thng, chin luoc tch hop l su pha trn
cc phuong php trn. Trong ca hai phuong php top-down v bottom-up, ban thuong
phai thm cc m d m phong cc thnh phn khc v cho php h thng thuc hin.
Mt vnd chu yu nay sinh trong lc kim thu tch hop l cc li cuc b. C nhiu
su tuong tc phuc tap gia cc thnh phn cua h thng, v khi mt du ra bt thuong
duoc pht hin, ban c th kh nhn ra noi m li xut hin. D vic tm li cuc b
duoc d dng, ban nn thuong xuyn tch hop cc thnh phn cua h thng v kim thu
chng. Ban du, ban nn tch hop mt h thng cu hnh ti thiu v kim thu h thng
ny. Sau d ban thm dn cc thnh phn vo h thngd v kim thu sau mi buoc
thm vo.
http://www.ebook.edu.vn 26
Trong v du trn hnh 2.3, A,B,C,D l cc thnh phn v T1, T2, T3, T4, T5 l tp cc
thu nghim kt hop cc dc trung cua h thng. Du tin, cc thnh phn A v B duoc
kt hopd tao nn h thng (h thng cu hnh ti thiu), v cc thu nghim T1, T2,
T3 duoc thuc hin. Nu pht hin c khim khuyt, n se duoc hiu chinh. Sau d,
thnh phn C duoc tch hop v cc thu nghim T1, T2 v T3 duoc lm lp lai d dam
bao n khng tao nn cc kt qua khng mong mun khi tuong tc voi A v B. Nu c
vnd nay sinh trong cc kim thu ny, n hu nhu chc chn do su tuong tc voi cc
thnh phn moi. Ngun gc cua vnd dduoc khoanh vng, v vy lm don gian vic
tm v sua li. Tp thu nghim T4 cungduoc thuc hin trn h thng. Cui cng, thnh
phn D duoc tch hop vo h thng v kim thu duoc thuc hin trn cc thu nghimd
c v cc thu nghim moi.
Khi lp k hoach tch hop, ban phai quyt dinh thu tu tch hop cc thnh phn. Trong
mt qu trnh nhu XP, khch hng cung tham gia trong qu pht trin, khch hng
quyt dinh cc chuc nng nn duoc thm vo trong mi buoc tch hop h thng. Do d,
tch hop h thngduoc diu khin boi su uu tin cua khch hng. Trong cch tip cn
khc d pht trin h thng, khi cc thnh phn v cc thnh phn ring bit duoc tch
hop, khch hng c th khng tham gia vo qu trnh tch hop h thng v di tch hop
quyt dinh thu tu tch hop cc thnh phn.
Trong truong hop ny, mt quy tc tt l du tin tch hop cc thnh phn thuc hin
hu ht cc chuc nng thuong su dung cua h thng. Diu ny c nghia l cc thnh
phn thuong duoc su dung hu ht dduoc kim thu. V du, trong h thng thu vin,
LIBSYS, du tin ban nn tch hop chuc nng tm kim trong h thng ti thiu, d
nguoi dng c th tm kim cc ti m ho cn. Sau d, ban nn tch hop cc chuc nng
cho php nguoi dng tai ti liu tu trn Internet v dn thm cc thnh phn thuc hin
cc chuc nng khc cua h thng.
T3
T2
T1
T4
T5
A
B
C
D
T2
T1
T3
T4
A
B
C
T1
T2
T3
A
B
Dy kim thu 1 Dy kim thu 2 Dy kim thu 3
Hnh 3.3 Kim thu tch hop lon dn
http://www.ebook.edu.vn 27
Tt nhin, thuc t t khi don gian nhu m hnh trn. Su thuc hin cc chuc nng cua
h thng c th lin quan dn nhiu thnh phn. D kim thu mt dc tnh moi, ban c
th phai tch hop mt vi thnh phn khc nhau. Kim thu c th pht hin li trong khi
tuong tc gia cc thnh phn ring bit v cc phn khc cua h thng. Vic sua li c
th kh khn boi v mt nhm cc thnh phn thuc hin chuc nng d c th phai thay
di. Hon na, tch hop v kim thu mt thnh phn moi c th thay di tuong tc gia
cc thnh phndduoc kim thu. Cc li c th duoc pht hin c th d khng duoc
pht hin trong khi kim thu h thng cu hnh don gian.
Nhng vnd ny c nghia l khi mt h thng tch hop moi duoc tao ra, cn phai
chay lai cc thu nghim trong h thng tch hop cu d dam bao cc yu cu cc thu
nghimd vn thuc hin tt, v cc kim thu moi thuc hin tt c chuc nng moi cua
h thng. Vic thuc hin kim thu lai tp cc thu nghim cu goi l kim thu hi quy.
Nu kim thu hi quy pht hin c vnd, th ban phai kim tra c li trong h thng
cu hay khng m h thng moi d pht hin ra, hoc c li do thm cc chuc nng moi.
R rng, kim thu hi quy l qu trnh tn km, khng kha thi nu khng c su h tro
tu dng. Trong lp trnh cuc d, tt ca cc thu nghimduoc vit nhu m c th thuc
thi, cc du vo thu nghim v kt qua mong doi duoc xc dinh r v duoc tu dng
kim tra. Khi duoc su dung cng voi mt khung kim thu tu dng nhu J unit (Massol v
Husted, 2003), diu ny c nghia l cc thu nghim c th duoc tu dng thuc hin lai.
Dy l nguyn l co ban cua lp trnh cuc d, khi tp cc thu nghim ton dinduoc
thuc hin bt cu lc no m moi duoc tch hop v cc m moi ny khng duoc chp
nhn cho dn khi tt ca cc thu nghimduoc thuc hin thnh cng.
3.4. Kim thu pht hnh
Kim thu pht hnh l qu trnh kim thu mt h thng se duoc phn phi toi cc
khch hng. Muc tiu du tin cua qu trnh ny l lm tng su tin cy cua nh cung
cp rng san phm ho cung cp c dy du cc yu cu. Nu thoa mn, h thng c th
duoc pht hnh nhu mt san phm hocduoc phn phi dn cc khch hng. D chung
to h thng c dy du cc yu cu, ban phai chi ra n c cc chuc nng dc ta, hiu
nng, v tnh tin cy cao, n khng gp sai st trong khi duoc su dung bnh thuong.
Kim thu pht hnh thuong l qu trnh kim thu hpden, cc thu nghimduoc ly
tu dc ta h thng. H thng duoc di xu nhu chic hpden, cc hoat dng cua n chi
c th duoc nhn bit qua vic nghin cuudu vo v du ra cua n. Mt tn khc cua
qu trnh ny l kim thu chuc nng, boi v nguoi kim tra chi tp trung xem xt cc
chuc nng v khng quan tm su thuc thi cua phn mm.
http://www.ebook.edu.vn 28
Hnh 3.4 minh hoa m hnh mt h thngduoc kim thu bng phuong php kim thu
hpden. Nguoi kim tra duadu vo vo thnh phn hoc h thng v kim tra du ra
tuong ung. Nudu ra khng nhu du bo truoc (v du, nudu ra thuc tp O
e
), kim
thu pht hin mt li trong phn mm.
Khi h thng kim thu duoc thuc hin, ban nn thu m se phn mm bng cch lua
chon cc truong hop thu nghim trong tp I
e
(trong hnh 3.4). Boi v, muc dch cua
chng ta l lua chon cc du vo c xc sut sinh ra li cao (du ra nm trong tp O
e
).
Ban su dung cc kinh nghim thnh cng truoc d v cc nguyn tc kim thu d dua
ra cc lua chon.
Cc tc gia nhu Whittaker (Whittaker, 2002) d tm luoc nhng kinh nghim kim
thu cua ho trong mt tp cc nguyn tc nhm tng kha nng tm ra cc thu nghim
khim khuyt. Duoi dy l mt vi nguyn tc:
1. Lua chon nhngdu vo lm cho h thng sinh ra tt ca cc thng bo li.
2. Thit k du vo lm cho b dmdu vo bi trn.
3. Lm lp lai voi cc du vo nhu nhau hoc mt dy cc du vo nhiu ln.
4. Lm sao d du ra khng dng duoc sinh ra.
5. Tnh ton kt qua ra rt lon hoc rt nho.
D xc nhn h thng thuc hin chnh xc cc yu cu, cch tip cn tt nht vnd
ny l kim thu dua trn kich ban, ban dua ra mt s kich ban v tao nn cc truong
I
e kim thu
O
e
Kt qua du ra
H thng
Cc du vo
hnh xu
di thuong
Ccdu ra bc l
su hin din
cua cc khim khuyt
D liudu vo
kim thu
gy nn
Hnh 3.4 Kim thu hpden
http://www.ebook.edu.vn 29
hop thu nghim tu cc kich ban d. V du, kich ban duoi dy c th m ta cch h
thng thu vin LIBSYS, d thao lun trong chuong truoc, c th duoc su dung:
Mt sinh vin o Sct-len nghin cuu lich su nuoc M dduoc yu cu vit mt bi
lun v Tm l cua nguoi min Ty nuoc M tu nm 1840 dn nm 1880. D lm
vic d, c y cn tm cc ti liu tu nhiu thu vin. C y dng nhp vo h thng
LIBSYS v su dung chuc nng tm kimd tm xem c y c duoc truy cp vo cc ti
liu gc trong khoang thoi gian y khng. C y tm duoc cc ngun ti liu tu rt
nhiu thu vin cua cc truong dai hoc cua M, v c y tai mt vi ban sao cc ti liu
d. Tuy nhin, voi mt vi ti liu, c y cn phai c su xc nhn tu truong dai hoc cua
c y rng c y tht su l mt sinh vin v cc ti liuduoc su cho nhng muc dch
phi thuong mai. Sau d, sinh vin d su dung cc phuong tin cua LIBSYS d yu cu
su cho php v dng k cc yu cu cua ho. Nuduoc xc nhn, cc ti liud se duoc
tai xung tu my chu cua thu vin v sau dduoc in. C y nhnduoc mt thng bo
tu LIBSYS ni rng c y se nhnduoc mt e-mail khi cc ti liud in c gi tri d
tp hop.
Tu kich ban trn, chng ta c th p dung mt s thu nghimd tm ra muc dch cua
LIBSYS:
1. Kim thu co ch dng nhp bng cch thuc hin cc dng nhpdng v dng nhp
sai d kim tra nguoi dng hop l duoc chp nhn v nguoi dng khng hop l
khngduoc chp nhn.
2. Kim thu co ch tm kim bng cch su dung cc cu hoi d bit cc ti liu cn
tm d kim tra xem co ch tm kim c thuc su tm thy cc ti liud.
3. Kim thu su trnh by h thngd kim tra cc thng tin v ti liu c duoc hin
thi dng khng.
4. Kim thu co ch cho php yu cu tai ti liu xung.
5. Kim thu e-mail tra loi cho bit ti liud tai xung l sn sng su dung.
http://www.ebook.edu.vn 30
Voi mi thu nghim, ban nn thit k mt tp cc thu nghim bao gm cc du vo
hop l v du vo khng hop l d sinh ra cc du ra hop l v du ra khng hop l.
Ban cung nn t chuc kim thu dua trn kich ban, v th du tin cc kich ban thch
hopduoc thu nghim, sau d cc kich ban khc thuong v ngoai l duoc xem xt, v
vy su c gng cua ban dnh cho cc phn m h thng thuong duoc su dung.
Nu band su dung truong hop nguoi dng d m ta cc yu cu cua h thng, cc
truong hop nguoi dng d v biud lin kt ni tip c th l co so d kim thu h
thng. D minh hoadiu ny, ti su dung mt v du tu h thng tram du bo thoi tit,
Hnh 3.5 chi ra cc thao tc ln luot duoc thuc hin tai tram du bo thoi tit khi n
dpung mt yu cud tp hop d liu cho h thng ban ve. Ban c th su du biud
ny d nhn bit cc thao tc se duoc thu nghim v gip cho vic thit k cc truong
hop thu nghimd thuc hin cc thu nghim. V vy d dua ra mt yu cu cho mt
bo co se dndn su thuc hin cua mt chui cc thao tc sau:
CommsController:request WheatherStation:report WeatherData:summarise
Biud d c th duoc su dungd nhn bit du vo v du ra cn tao ra cho cc thu
nghim:
1. Mt du vo cua mt yu cu bo co nn c mt su thua nhn v cui cng bo
co nn xut pht tu yu cu. Trong lc kim thu, ban nn tao ra d liu tm tt, n
c th duoc dng d kim tra xem bo co duoc t chuc chnh xc.
Hnh 3.5 Biud dy tp hop d liu v thoi tit
http://www.ebook.edu.vn 31
2. Mt yu cudu vo cho mt bo co v kt qua cua WeatherStation trong mt bo
co tm tt duoc sinh ra. Ban c th kim thu diu ny mt cch c lp bng cch
tao ra cc d liu th tuong ung voi ban tm tt, ban d chun bi d kim tra
CommosController v kim tra di tuong WeatherStation dduocdua ra chnh xc
trong ban tm tt.
3. D liu th trn cung duoc su dungd kim thu di tuong WeatherData.
Tt nhin, ti d lm don gian biu d trong hnh 3.5 v n khng chi ra cc ngoai l.
Mt kich ban kim thu hon chinh cung phai c trong ban k khai v dam bao nm bt
duocdng cc ngoai l.
3.5. Kim thu hiu nang
Ngay khi mt h thng dduoc tch hopdydu, h thng c th duoc kim tra cc thuc
tnh ni bt nhu hiu nng v d tin cy. Kim thu hiu nng phai duoc thit k d dam
bao h thng c th xu l nhu mong mun. N thuong bao gm vic lp mt dy cc thu
nghim, gnh nng se duoc tng cho nn khi h thng khng th chp nhnduoc na.
Cng voi cc loai kim thu khc, kim thu hiu nng lin quan dn ca vic kim chung
cc yu cu cua h thng v pht hin cc vnd v khim khuyt trong h thng. D kim
thu cc yu cu hiu nng dat duoc, ban phai xy dung m ta so luoc thao tc. M ta so
luoc thao tc l tp cc thu nghim phan nh su ha trn cc cng vic se duoc thuc hin
boi h thng. V vy, nu 90% giao dich trong h thng c kiu A, 5% kiu B v phn cn
lai c kiu C, D v E, th chng ta phai thit k m ta so luoc thao tc phn lon tp trung
vo kim thu kiu A. Nu khng th ban se khng c duoc thu nghim chnh xc v hiu
nng hoat dng cua h thng.
Tt nhin, cch tip cn ny khng nht thit l tt d kim thu khim khuyt. Nhu ti d
thao lun, theo kinh nghimd chi ra cch hiu qua d pht hin khim khuyt l thit k
cc thu nghim xung quanh gioi han cua h thng. Trong kim thu hiu nng, diu ny c
nghia l nhn manh h thng (v th n c tn l kim thu nhn manh) bng cch tao ra
nhngdi hoi bn ngoi gioi han thit k cua phn mm.
V du, mt h thng xu l cc giao dich c th duoc thit k d xu l dn 300 giao dich
mi giy; mt h thngdiu khin c th duoc thit k d diu khin toi 1000 thit bi du
cui khc nhau. Kim thu nhn manh tip tuc cc thu nghim bn canh vic thit k lon
nht duoc nap vo h thng cho dn khi h thng gp li. Loai kim thu ny c 2 chuc
nng:
1. N kim thu vic thuc hin li cua h thng. Truong hop ny c th xut hin qua
vic phi hop cc su kin khng mong mun bng cch nap vuot qu kha nng cua
h thng. Trong truong hop ny, sai st cua h thng lm cho d liu bi hu hong
hoc khng dp ung duoc yu cu cua nguoi dng. Kim thu nhn manh kim tra
su qu tai cua h thng dn toi tht bai mm hon l lm supd duoi luong tai cua
n.
2. N nhn manh h thng v c th gy nn khim khuyt tro nn r rng m bnh
thuong khng pht hin ra. Mc d, n chung to nhng khim khuyt khng th
dn dn su sai st cua h thng trong khi su dung bnh thuong, c th him gp
trong truong hop bnh thuong m kim thu gay cn ti tao.
http://www.ebook.edu.vn 32
Kim thu gay cn c lin quan dc bit dn vic phn phi h thng dua trn mt mt
mang luoi my xu l. Cc h thng thuong dua ra di hoi cao khi chng phai thuc hin
nhiu cng vic. Mang tro thnh bi lm mt tc dung voi d liu kt hop m cc qu trnh
khc nhau phai trao di, v vy cc qu trnh tro nn chm hon, nhu khi n doi d liu yu
cu tu qu trnh khc.
3.6. Kim thu thnh phn
Kim thu thnh phn (thinh thoang duoc goi l kim thu don vi) l qu trnh kim thu cc
thnh phn ring bit cua h thng. Dy l qu trnh kim thu khim khuyt v vy muc
tiu cua n l tm ra li trong cc thnh phn. Khi thao lun trong phn gioi thiu, voi hu
ht cc h thng, nguoi pht trin cc thnh phn chiu trch nhim kim thu cc thnh
phn. C nhiu loai thnh phn khc nhau, ta c th kim thu chng theo cc buoc sau:
1. Cc chuc nng v cch thuc ring bit bn trong di tuong.
2. Cc lopdi tuong c mt vi thuc tnh v phuong thuc.
3. Kt hop cc thnh phn d tao nn cc di tuong v chuc nng khc nhau. Cc
thnh phn hn hop c mt giao din r rng duoc su dung d truy cp cc chuc
nng cua chng.
Cc chuc nng v phuong thuc ring le l loai thnh phn don gian nht v cc thu
nghim cua ban l mt tp cc loi goi toi cc thu tuc voi tham s du vo khc nhau. Ban
c th su dung cch tip cn ny d thit k truong hop kim thu (duoc thao lun trong
phn sau), d thit k cc thu nghim chuc nng v phuong thuc.
Khi ban kim thu cc lopdi tuong, ban nn thit k cc thu nghimd cung cp tt ca
cc chuc nng cuadi tuong. Do d, kim thu lopdi tuong nn bao gm:
1. Kim thu tt ca cc thao tc c lp lin kt tao thnh di tuong.
2. B tr v kim tra tt ca cc thuc tnh lin kt tao thnh di tuong.
3. Kim tra tt ca cc trang thi cuadi tuong. Diu ny c nghia l tt ca cc su kin
gy ra cc trang thi khc nhau cuadi tuong nn duoc m phong.
V du, tram du bo thoi tit c giao din trnh by trn hnh 3.6. N chi c mt thuc tnh,
ldinh danh cua n. N c mt hng s l tp thng s khi tram du bo thoi tit duoc thit
Hnh 3.6 Giao din
cuadi tuong
WeatherStation
http://www.ebook.edu.vn 33
dt. Do d, ban chi cn mt thu nghimd kim tra n dduoc thit dt hay chua. Ban cn
xc dinh cc truong hop kim thu d kim tra reportWeather, calibrate, test, startup v
shutdown. Trong truong hop l tuong, ban nn kim thu cc phuong thuc ring bit,
nhung trong mt vi truong hop, cn c vi thu nghim lin tip. V du d kim thu
phuong thuc shutdown ban cn thuc hin phuong thuc startup.
Su dung m hnh ny, ban c th nhn bit thu tu cua cc trang thi chuyn tip phai duoc
kim thu v xc dinh thu tu chuyn tip cc su kin. Trong nguyn tc ny, ban nn kim
thu moi trang thi chuyn tip c th xay ra, mc d trong thuc t, diu ny c th rt tn
km.V du dy trang thi nn kim thu trong tram du bo thoi tit bao gm:
Shutdown Waiting Shutdown
Waiting Calibrating Testing Transmitting Waiting
Waiting Collecting Waiting Summarising Transmitting Waiting
Nu ban su dung su k thua se lm cho vic thit k lop di tuong kim thu kh khn
hon. Mt lop cha cung cp cc thao tc se duoc k thua boi mt s lop con, tt ca cc lop
con nn duoc kim thu tt ca cc thao tc k thua. L do l cc thao tc k thua c th d
thay di cc thao tc v thuc tnh sau khi duoc k thua. Khi mt thao tc cua lop cha duoc
dinh nghia lai, th n phai duoc kim thu.
Khi nim lop tuong duong, duoc thao lun trong phn 23.3.2, c th cungduoc p dung
cho cc lopdi tuong. Kim thu cc lop tuongduong ging nhau c th su dung cc thuc
tnh cuadi tuong. Do d, cc lop tuongduong nn duoc nhn bit nhu su khoi tao, truy
cp v cp nht tt ca thuc tnh cua lopdi tuong.
3.7. Kim thu giao din
Nhiu thnh phn trong mt h thng l su kt hop cc thnh phn tao nn boi su tuong
tc cua mt vi di tuong. Kim thu cc thnh phn hn hop chu yu lin quan dn kim
thu hoat dng giao din cua chng thng qua cc dc ta.
Hnh 3.7 minh hoa qu trnh kim thu giao din. Gia su cc thnh phn A, B, v C d
duoc tch hop d tao nn mt thnh phn lon hoc mt h thng con. Cc thu nghim
khng chi p dung vo cc thnh phn ring le m cn duoc p dung vo giao din cua cc
thnh phn hn hopduoc tao nn bng cch kt hop cc thnh phnd.
Kim thu giao dindc bit quan trong trong vic pht trin phn mm huongdi tuong
v cc thnh phn co so. Cc di tuong v cc thnh phnduoc xc dinh qua giao din cua
chng v c th duoc su dung lai khi lin kt voi cc thnh phn khc trong cc h thng
khc nhau. Cc li giao din trong thnh phn hn hop khng th duoc pht hin qua vic
kim thu cc di tuong v cc thnh phn ring le. Su tuong tc gia cc thnh phn trong
thnh phn hn hop c th pht sinh li.
C nhiu kiu giao din gia cc thnh phn chuong trnh, do d c th xut hin cc
kiu li giao din khc nhau:
http://www.ebook.edu.vn 34
1. Giao din tham s: Khi d liu hoc tham chiu chuc nngduocdua tu thnh phn
ny toi thnh phn khc.
2. Giao din chia se b nho: Khi mt khi b nho duoc chia se gia cc thnh phn.
D liuduoc d trong b nho boi mt h thng con v duoc truy xut boi mt h
thng khc.
3. Giao din thu tuc: Mt thnh phn bao gm mt tp cc thu tuc c th duoc goi boi
cc thnh phn khc. Cc di tuong v cc thnh phn dng lai c dang giao din
ny.
4. Giao din truyn thng dip: Mt thnh phn yu cu mt dich vu tu mt thnh
phn khc bng cch goi mt thng dip toi thnh phnd. Thng dip tra lai bao
gm cc kt qua thuc hin dich vu. Mt vi h thng huongdi tuong c dang giao
din ny nhu trong h thng chu-khch (client-server).
Cc li giao din l mt dang li thuong gp trong cc h thng phuc tap (Lutz, 1993).
Cc li ny duoc chia lm 3 loai:
1. Dng sai giao din: Mt thnh phn goi toi thnh phn khc v tao nn mt li
trong giao din cua chng. Dy l loai li rt thuong gp trong giao din tham s:
cc tham s c th duoc truyn sai kiu, sai thu tu hoc sai s luong tham s.
2. Hiu sai giao din: Mt thnh phn goi toi thnh phn khc nhung hiu sai cc dc
ta giao din cua thnh phnduoc goi v lm sai hnh vi cua thnh phnduoc goi.
Thnh phn duoc goi khng hoat dng nhu mong doi v lm cho thnh phn goi
cung hoat dng khng nhu mong doi. V du, mt thu tuc tm kim nhi phn c th
duoc goi thuc hin trn mt mang chuaduoc xp theo thu tu, kt qua tm kim se
khngdng.
B
C
kim thu
Cc truong hop
A
Hnh 3.7 Kim thu
giao din
http://www.ebook.edu.vn 35
3. Cc li trong b dm thoi gian: Cc li ny xut hin trong cc h thng thoi gian
thuc su dung giao din chia se b nho hoc giao din truyn thng dip. D liu
cua nh san xut v d liu cua khch hng c th duoc diu khin voi cc tc d
khc nhau. Nu khng ch dn trong thit k giao din, th khch hng c th truy
cp thng tin li thoi boi v thng tin cua nh san xut chuaduoc cp nht trong
giao din chia se.
Kim thu nhng khim khuyt trong giao din rt kh khn boi v mt s li giao din
chi biu l trong nhng diu kin dc bit. V du, mt di tuong c chua mt danh sch
hng doi voi cu trc d liu c chiu di c dinh. Gia su danh sch hng doi ny duoc
thuc hin voi mt cu trc d liu v han v khng kim tra vic trn hng doi khi mt
muc duoc thm vo. Truong hop ny chi c th pht hin khi kim thu voi nhng thu
nghim lm cho trn hng doi v lm sai hnh vi cuadi tuong theo nhng cch c th
nhn bit duoc.
Nhng li khc c th xut hin do su tuong tc gia cc li trong cc mdun v di
tuong khc nhau. Nhng li trong mt di tuong c th chi duoc pht hin khi mt vi di
tuong khc hoat dng khng nhu mong mun. V du, mt di tuong c th goi mt di
tuong khc d nhn duoc mt vi dich vu v gia su duoc dp ung chnh xc. Nu n d
hiu sai v gi tri duoc tnh, th gi tri tra v l hop l nhung khng dng. Diu ny chi
duoc pht hin khi cc tnh ton sau d c kt qua sai.
Sau dy l mt vi nguyn tcd kim thu giao din:
1. Khao st nhng m dduoc kim thu v danh sch loi goi toi cc thnh phn bn
ngoi.
2. Voi nhng tham s trong mt giao din, kim thu giao din voi tham s dua vo
rng.
3. Khi mt thnh phnduoc goi thng qua mt giao din thu tuc, thit k thu nghim
sao cho thnh phn ny bi sai. Cc li khc hu nhu l do hiu sai dc ta chung.
4. Su dung kim thu gay cn, nhu d thao lun o phn truoc, trong h thng truyn
thng dip. Thit k thu nghim sinh nhiu thng dip hon trong thuc t. Vnd b
dm thoi gian c th duoc pht hin theo cch ny.
5. Khi mt vi thnh phn tuong tc thng qua chia se b nho, thit k thu nghim voi
thu tu cc thnh phnduoc kch hoat thay di. Nhng thu nghim ny c th pht
hin nhng gia su ngm cua cc lp trnh vin v thu tu d liu chia se duoc su
dung v duoc giai phng.
K thut hop l tinh thuong hiu qua hon kim thu d pht hin li giao din. Mt ngn
ng dinh kiu cht che nhu J AVA cho php ngn chn nhiu li giao din boi trnh bin
dich. Khi mt ngn ng khng cht che nhu C duoc su dung, mt phn tch tinh nhu LINT
c th pht hin cc li giao din. Su kim tra chuong trnh c th tp trung vo cc giao
din gia cc thnh phn v cu hoi v hnh vi giao din xay ra trong qu trnh kim tra.
3.8. Thit k trung hp thu (Test case design)
Thit k truong hop thu nghim l mt phn cua kim thu h thng v kim thu
thnh phn, ban se thit k cc truong hop thu nghim (du vo v du ra du don) d
kim thu h thng. Muc tiu cua qu trnh thit k truong hop kim thu l tao ra mt tp
http://www.ebook.edu.vn 36
cc truong hop thu nghim c hiu qua d pht hin khim khuyt cua chuong trnh v chi
ra cc yu cu cua h thng.
D thit k mt truong hop thu nghim, ban chon mt chuc nng cua h thng hoc cua
thnh phn m ban se kim thu. Sau d ban chon mt tp cc du thuc hin cc chuc nng
d, v cung cp ti liu v du ra mong mun v gioi han cuadu ra, v dim m c th
thit k tu dngd kim tra thu nghim voi du ra thuc t v du ra mong doi vn nhu th.
C nhiu phuong php khc nhau gip ban c th thit k cc truong hop thu nghim:
1. Kim thu dua trn cc yu cu: Cc truong hop thu nghimduoc thit k d kim
thu cc yu cu h thng. N duoc su dung trong hu ht cc buoc kim thu h
thng boi v cc yu cu h thng thuongduoc thuc hin boi mt vi thnh phn.
Voi mi yu cu, ban xc dinh cc truong hop thu nghimd c th chung to duoc
h thng c yu cud.
2. Kim thu phn hoach: ban xc dinh cc phn hoachdu vo v phn hoachdu ra
v thit k thu nghim, v vy h thng thuc hin voi du vo tu tt ca cc phn
hoach v sinh ra du ra trong tt ca cc phn hoach. Cc phn hoach l cc nhm
d liu c chung dc tnh nhu tt ca cc s du m, tt ca tn du c du c d di
nho hon 30 k tu, tt ca cc su kin pht sinh tu vic chon cc muc trn thucdon
3. Kim thu cu trc: Ban su dung nhng hiu bit v cu trc chuong trnh d thit
k cc thu nghim thuc hin tt ca cc phn cua chuong trnh. V co ban, khi kim
thu mt chuong trnh, ban nn kim tra thuc thi mi cu lnh t nht mt ln. Kim
thu cu trc gip cho vic xc dinh cc truong hop thu nghim.
Thng thuong, khi thit k cc truong hop thu nghim, ban nn bt du voi cc thu
nghim muc cao nht cua cc yu cu, sau d thm dn cc thu nghim chi tit bng cch
su dung kim thu phn hoach v kim thu cu trc.
3.8.1. Kim thu da trn cc yu cu
Mt nguyn l chung cua cc yu cu k ngh l cc yu cu phai c kha nng kim thu
duoc. Cc yu cu nn duoc vit theo cch m mt thu nghim c th duoc thit k, do d
quan st vin c th kim tra xem yu cudd thoa mn chua. V vy, kim thu dua trn
cc yu cu l mt tip cn c h thng d thit k truong hop thu nghim gip cho ban
xem xt mi yu cu v tm ra cc thu nghim. Kim thu dua trn cc yu cu c hiu qua
hon kim thu khim khuyt bandang chung to h thng thuc hinduoc dy du cc yu
cu.
V du, hy xem xt cc yu cu cho h thng LIBSYS .
1. Nguoi dng c th tm kim hoc tt ca cc tp ban du cua co so d liu hoc lua
chon mt tp con tu d.
2. H thng se cung cp cc khung nhn hop l cho nguoi dng d doc ti liu trong
kho ti liu.
3. Moi yu cu se duoc cp pht mt dinh danh duy nht (ORDER_ID) d nguoi dng
c th duoc php sao chp qua ti khoan cua vng luu tr thuong truc.
Gia su chuc nng tm kimdduoc kim thu, th cc thu nghim c th chp nhnduoc
cho yu cu thu nht l:
- Ban du, nguoi dng tm kim cc muc m d bit su c mt v d bit khng c
trong tp co so d liu chi gm c mt co so d liu.
http://www.ebook.edu.vn 37
- Ban du, nguoi dng tm kim cc muc m d bit su c mt v d bit khng c
trong tp co so d liu gm c hai co so d liu.
- Ban du, nguoi dng tm kim cc muc m d bit su c mt v d bit khng c
trong tp co so d liu gm c nhiu hon hai co so d liu.
- Lua chon mt co so d liu tu tp co so d liu, nguoi dng tm kim cc muc m
d bit su c mt v d bit khng c trong co so d liud.
- Lua chon nhiu hon mt co so d liu tu tp co so d liu, nguoi dng tm kim
cc muc m d bit su c mt v d bit khng c trong co so d liud.
Tu d, ban c th thy kim thu mt yu cu khng c nghia l chi thuc hin kim thu
trn mt thu nghim. Thng thuong, ban phai thuc kim thu nghim trn mt vi thu
nghimd dam bao band kim sot duoc yu cud.
Kim thu cc yu cu khc trong h thng LIBSYS c th duoc thuc hin theo ging nhu
trn. Voi yu cu thu hai, ban se soan ra cc thu nghimd phn phi tt ca cc kiu ti
liu c th duoc xu l boi h thng v kim tra su hin thi cc ti liud. Voi yu cu thu
ba, ban gia vo dua vo mt vi yu cu, sau d kim tra dinh danh yu cuduoc hin thi
trong giy chung nhn cua nguoi dng, v kim tra dinh danh yu cu d c l duy nht
hay khng.
3.8.2. Kim thu phn hoch
D liudu vo v kt qua du ra cua chuong trnh thuong duoc phn thnh mt s loai
khc nhau, mi loai c nhngdc trung chung, nhu cc s du duong, cc s du m, v
cc thucdon lua chon. Thng thuong, cc chuong trnh thuc hin theo cch c th so snh
duoc voi tt ca thnh vin cua mt lop. Do d, nu chuong trnh duoc kim thu thuc hin
nhng tnh ton v yu cu hai s duong, th ban se mong mun chuong trnh thuc hin
theo cch nhu nhau voi tt ca cc s duong.
Boi v cch thuc hin l tuong duong, cc loai ny cn duoc goi l phn hoach tuong
duong hay min tuongduong (Bezier, 1990). Mt cch tip cn c h thngd thit k cc
truong hop kim thu l dua trn su dinh danh cua tt ca cc phn hoach trong mt h thng
hoc mt thnh phn. Cc truong hop thu nghimduoc thit k sao cho du vo v du ra
nm trong phn hoachd. Kim thu phn hoach c th duoc su dungd thit k cc truong
hop thu nghim cho cc h thng v cc thnh phn.
Trong hnh 3.8, mi phn hoach tuong duong duoc biu thi nhu mt elp. Du vo cc
phn hoach tuongduong l nhng tp d liu, tt ca cc tp thnh vin nn duoc xu l mt
cch tuong duong. Du ra phn hoach tuong l du ra cua chuong trnh v chng c cc
dc trung chung, v vy chng c th duoc kim tra nhu mt lop ring bit. Ban cung xc
dinh cc phn hoach c du vo o bn ngoi cc phn hoach khc. Kim tra cc thu
nghim m chuong trnh su dung du vo khng hop l c thuc hin dng cch thuc
khng. Cc du vo hop l v du vo khng hop l cung duoc t chuc thnh cc phn
hoach tuong duong.
http://www.ebook.edu.vn 38
Khi ban d xc dinh duoc tp cc phn hoach, ban c th lua chon cc truong hop thu
nghim cho mi phn hoachd. Mt quy tc tt d lua chon truong hop thu nghim l lua
chon cc truong hop thu nghim trn cc gioi han cua phn hoach cng voi cc thu nghim
gn voi dim gia cua phn hoach. L do cn ban l nguoi thit k v lp trnh vin thuong
xem xt cc gi tri du vo din hnh khi pht trin mt h thng. Ban kim thu diu d
bng cch lua chondim gia cua h thng. Cc gi tri gioi han thuong khng din hnh
(v du, s 0 c th duoc su dung khc nhau trong cc tp cc s khng m), v vy n
khng duoc nguoi pht trin ch toi. Cc li cua chuong trnh thuong xut hin khi n
xu l cc gi tri khng din hnh.
Ban xc dinh cc phn hoach bng cch su dung dc ta chuong trnh hoc ti liu huong
dn su dung, v tu kinh nghim cua mnh, ban du don cc loai gi tri du vo thch hopd
pht hin li. V du, tu dc trung cua chuong trnh: chuong trnh chp nhn tu 4 dn 8 du
vo l cc s nguyn c 5 ch s lon hon 10 000. Hnh 3.9 chi ra cc phn hoach cho tnh
hung ny v cc gi tri du vo c th xay ra.
D minh hoa cho ngun gc cua nhng truong hop thu nghim ny, su dung cc dc ta
cua thnh phn tm kim (trn hnh 3.10). Thnh phn ny tm kim trn mt dy cc phn
tu d dua ra phn tu mong mun (phn tu kha). N tra lai vi tr cua phn tu d trong dy.
Ti d chi r dy l mt cch truu tuong d xc dinh cc diu kin tin quyt phai dng
truoc khi thnh phndduoc goi, v cc hudiu kin phai dng sau khi thuc hin.
Ccdu vo
khng hop l
H thng
Ccdu vo
hop l
Cc du ra
Hnh 3.8
Phn hoach
tuongduong
http://www.ebook.edu.vn 39
Diu kin tin quyt: Thu tuc tm kim se chi lm vic voi cc dy khng rng. Hudiu
kin: binFound duoc thit dt nu phn tu kha thuc dy. Phn tu kha c chi s L. Gi
tri chi s khng duoc xc dinh nu phn tu d khng thuc dy.
Tu dc trungd, ban c th nhn ra hai phn hoach tuongduong:
1. Cc du vo c phn tu kha l mt phn tu cua dy (Found =true).
2. Cc du vo c phn tu kha khng phai l mt phn tu cua dy (Found =false).
procedure Search (Key : ELEM ; T: SEQ of ELEM;
Found : in out BOOLEAN; L: in out ELEM_INDEX) ;
Tin diu kin
-- Dy c t nht mt phn tu
TFIRST <=TLAST
Hu diu kin
-- Phn tu duoc tm thy v duoc chi boi L
( Found and T (L) =Key)
hoc
-- Phn tu khng thuc dy
( not Found and
not (exists i, TFIRST >=i <=TLAST, T (i) =Key ))
Nm gia 10000 v 99999 Nho hon 10000 Lon hon 99999
9999
10000 50000
100000
99999
Cc gi tri du vo
Nm gia 4 v 10 Nho hon 4 Lon hon 10
3
4 7
11
10
S gi tri du vo
Hnh 3.9 Cc phn hoch tuong duong
http://www.ebook.edu.vn 40
Khi ban thu nghim chuong trnh voi cc dy, mang hoc danh sch, mt s nguyn tc
thuongduoc su dungd thit k cc truong hop kim thu:
1. Kim thu phn mm voi dy chi c mt gi tri. Lp trnh vin thuong nghi cc dy
gm vi gi tri, v thnh thoang, ho cho rngdiu ny lun xay ra trong cc chuong
trnh cua ho. V vy, chuong trnh c th khng lm vic chnh xc khi dy duoc
dua vo chi c mt gi tri.
2. Su dung cc dy voi cc kch thuoc khc nhau trong cc thu nghim khc nhau.
Diu ny lm giam co hi mt chuong trnh khim khuyt se ngu nhin dua ra du
ra chnh xc boi v cc du vo c cc dc tnh ngu nhin.
3. Xut pht tu cc thu nghim c phn tu du tin, phn tu o gia, v phn tu cui
cng duoc truy cp. Cch tip cn ny bc l cc vn d tai cc gioi han phn
hoach.
Tu cc nguyn tc trn, hai phn hoach tuongduong c th duoc xc dinh:
1. Dy du vo c mt gi tri.
2. S phn tu trong dy du vo lon hon 1.
Sau khi, ban xc dinh thm cc phn hoach bng cch kt hop cc phn hoachd c, v
du, kt hop phn hoach c s phn tu trong dy lon hon 1 v phn tu kha khng thuc
Dy Phn tu
C mt gi tri Thuc dy
C mt gi tri Khng thuc dy
Nhiu hon mt gi tri L phn tu du tin trong dy
Nhiu hon mt gi tri L phn tu cui cng trong dy
Nhiu hon mt gi tri L phn tu nm gia trong dy
Nhiu hon mt gi tri Khng thuc dy
Dy du vo Kha (Key) Du ra (Found,L)
17 17 true, 1
17 0 false, ??
17, 29, 21, 23 17 true, 1
41, 18, 9, 31, 30, 16, 45 45 true, 7
17, 18, 21, 23, 29, 41, 38 23 true, 4
21, 23, 29, 33, 38 25 false, ??
Hnh 3.10 Dc ta chuong trnh tm kim
Hnh 3.11 Cc phn hoch tuong duong cho chuong trnh tm kim
http://www.ebook.edu.vn 41
dy. Hnh 3.11 dua ra cc phn hoach m ban d xc dinh d kim thu thnh phn tm
kim.
Mt tp cc truong hop thu nghim c th dua trn cc phn hoachd cungduoc dua ra
trn hnh 3.11. Nu phn tu kha khng thuc dy, gi tri cua L l khng xc dinh (??).
Nguyn tc cc dy voi s kch thuoc khc nhau nn duoc su dung d duoc p dung
trong cc truong hop thu nghim ny.
Tp cc gi tri du vo su dungd kim thu thu tuc tm kim khng bao gio ht. Thu tuc
ny c th gp li nu dy du vo tnh co gm cc phn tu 1, 2, 3 v 4. Tuy nhin, diud
l hop l d gia su: nu thu nghim khng pht hin khim khuyt khi mt thnh vin cua
mt loai duoc xu l, khng c thnh vin khc cua lop se xc dinh cc khim khuyt. Tt
nhin, cc khim khuyt se vn tn tai. Mt vi phn hoach tuong duong c th khng
duoc xc dinh, cc li c th dduoc tao ra trong phn hoach tuongduong hoc d liu
thu nghim c th dduoc chun bi khng dng.
3.8.3. Kim thu cu trc
Kim thu cu trc (hnh 3.12) l mt cch tip cn d thit k cc truong hop kim thu,
cc thu nghimduoc xc dinh tu su hiu bit v cu trc v su thuc hin cua phn mm.
Cch tip cn ny thinh thoang cn duoc goi l kim thu hp trng, hp knh, hoc
kim thu hp trong d phn bit voi kim thu hpden.
M thnh phn
kim thu
Cc du ra
D liu kim thu
Xut pht tu
Cc kim thu
Hnh 3.12 Kim thu cu trc
Ranh gioi gia cc lop tuongduong
Dim gia
Cc phn tu nho hon
phn tu o gia phn tu o gia
Cc phn tu lon hon
Hnh 3.13 Cc lp tuong duong trong tm kim nh| phn
http://www.ebook.edu.vn 42
Hiuduoc cch su dung thut ton trong mt thnh phn c th gip ban xc dinh thm
cc phn hoach v cc truong hop thu nghim. D minh hoadiu ny, ti d thuc hin cch
dc ta thu tuc tm kim (hnh 3.10) nhu mt thu tuc tm kim nhi phn (hnh 3.14). Tt
nhin, diu kin tin quyt dduoc baodam nghim ngt. Dy duoc thuc thi
Class BinSearch {
// Dy l mt hm tm kim nhi phn duoc thuc hin trn mt dy cc
// di tuongd c thu tu v mt kha, tra v mt di tuong voi 2 thuc
// tnh l:
// index gi tri chi s cua kha trong dy
// found c kiu logic cho bit c hay khng c kha trong dy
// Mt di tuongduoc tra v boi v trong J ava khng th thng qua cc
// kiu co ban bng tham chiu toi mt hm v tra v hai gi tri
// Gi tri index =-1 nu kha khng c trong dy
public static void search( int key, int[] elemArray, Result r)
{
1. int bottom =0;
2. int top = elemArray.length 1;
int mid;
3. r.found =false;
4. r.index =-1;
5. while (bottom <=top)
{
6. mid =(top +bottom) / 2;
7. if (elemArray[mid] =key)
{
8. r.index =mid;
9. r.found =true;
10. return;
} // if part
else
{
11. if (elemArray[mid] <key)
12. bottom =mid +1;
else
13. top =mid -1;
}
} // while loop
14. }// search
}// BinSearch
Hnh 3.14 Chuong trnh tm kim nh| phn duc vit bang Java
http://www.ebook.edu.vn 43
nhu mt mang v mang ny phai duoc sp xp v gi tri gioi han duoi phai nho hon gi tri
gioi han trn.
D kim tra m cua thu tuc tm kim, ban c th xem vic tm kim nhi phn chia khng
gian tm kim thnh 3 phn. Mi phn duoc tao boi mt phn hoach tuong duong (hnh
3.13). Sau d, ban thit k cc truong hop thu nghim c phn tu kha nm tai cc gioi han
cua mi phn hoach.
Diu ny duadn mt tp sua lai cua cc truong hop thu nghim cho thu tuc tm kim,
nhu trn hnh 3.15. Ch , d suadi mangdu vo v vy n dduoc sp xp theo thu tu
tng dn v d thm cc thu nghim c phn tu kha k voi phn tu gia cua mang.
3.8.4. Kim thu dung dn
Kim thu duong dn l mt chin luoc kim thu cu trc. Muc tiu cua kim thu duong
dn l thuc hin moi duong dn thuc hindc lp thng qua mt thnh phn hoc chuong
trnh. Nu moi duong dn thuc hindc lpduoc thuc hin, th tt ca cc cu lnh trong
thnh phnd phai duoc thuc hin t nht mt ln. Hon na, tt ca cu lnhdiu kin phai
duoc kim thu voi ca truong hopdng v sai. Trong qu trnh pht trin huongdi tuong,
kim thu duong dn c th duoc su dung khi kim thu cc phuong thuc lin kt voi cc di
tuong.
S luong duong dn qua mt chuong trnh thuong ty l voi kch thuoc cua n. Khi tt ca
cc mdun duoc tch hop trong h thng, n tro nn khng kha thi d su dung k thut
kim thu cu trc. V th, k thut kim thu duong dn hu nhu duoc su dung trong lc
kim thu thnh phn.
Kim thu duong dn khng kim tra tt ca cc kt hop c th cua cua cc duong dn qua
chuong trnh. Voi bt ky thnh phn no ngoi cc thnh phn rt tm thuong khng c
vng lp, dy l muc tiu khng kha thi. Trong chuong trnh c cc vng lp se c mt s
v han kha nng kt hop duong dn. Thm ch, khi tt ca cc lnh cua chuong trnh d
duoc thuc hin t nht mt ln, cc khim khuyt cua chuong trnh vn c th duoc dua ra
khi cc duong dndc bit duoc kt hop.
Dy du vo (T)
17
17
17, 21, 23, 29
9, 16, 18, 30,31,41,45
17, 18, 21, 23, 29, 38, 41
17, 18, 21, 23, 29, 33, 38
12, 18, 21, 23, 32
21, 23, 29, 33, 38
Kha (Key)
17
0
17
45
23
21
23
25
Du ra (Found,L)
true, 1
false, ??
true, 1
true, 7
true, 4
true, 3
true, 4
false, ??
Hnh 3.15 Cc trung hp kim thu cho chuong trnh tm kim
http://www.ebook.edu.vn 44
Dim xut pht d kim thu duong dn l d thi lung chuong trnh. Dy l m hnh
khung cua tt ca duong dn qua chuong trnh. Mt d thi lung chua cc nt miu ta cc
quyt dinh v cc canh trnh by lungdiu khin. D thi lungduoc xy dung bng cch
thay di cc cu lnhdiu khin chuong trnh su dung biud tuongduong. Nu khng c
cc cu lnh goto trong chuong trnh, d l mt qu trnh don gian xut pht tu d thi
lung. Mi nhnh trong cu lnh diu kin (if-then-else hoc case) duoc miu ta nhu mt
duong dn ring bit. Mi mui tn tro lai nt diu kin miu ta mt vng lp. Ti d ve d
thi lung cho phuong thuc tm kim nhi phn trn hnh 3.16. D tao nn su tuong ung gia
d thi ny v chuong trnh trn hnh 3.14 duoc r rng, ti d miu ta mi cu lnh nhu
mt nt ring bit, cc s trong mi nt tuongung voi s dng trong chuong trnh.
Muc dch cua kim thu duong dn l dam bao mi duong dndc lp qua chuong trnh
duoc thuc hin t nht mt ln. Mt duong dn chuong trnh dc lp l mt duong di
ngang qua t nht mt canh moi trong d thi lung. Ca nhnh dng v nhnh sai cua cc
diu kin phai duoc thuc hin.
D thi lung cho thu tuc tm kim nhi phn duoc miu ta trn hnh 3.16, mi nt biu
din mt dng trong chuong trnh voi mt cu lnh c th thuc hin duoc. Do d, bng
Hnh 2.16 D th| lung cua chuong trnh tm kim nh| phn
http://www.ebook.edu.vn 45
cch ln vt trn d thi lung, ban c th nhn ra cc duong dn qua d thi lung tm kim
nhi phn:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14
1, 2, 3, 4, 5, 14
1, 2, 3, 4, 5, 6, 7, 11, 12, 5,
1, 2, 3, 4, 5, 6, 7, 11, 13, 5,
Nu tt ca cc duong dn duoc thuc hin, chng ta c th dam bao moi cu lnh trong
phuong thuc dduoc thuc hin t nht mt ln v mi nhnh dduoc thuc hin voi cc
diu kindng v sai.
Ban c th tm duoc s luong cc duong dn dc lp trong mt chuong trnh bng tnh
ton vng lin hop (McCabe, 1976) trong d thi lung chuong trnh. Voi chuong trnh
khng c cu lnh goto, gi tri vng lin hop l nhiu hon s cu lnh diu kin trong
chuong trnh. Mt diu kindon l mt biu thuc lgc khng c cc lin kt and hoc
or. Nu chuong trnh bao gm cc diu kin phuc hop, l cc biu thuc lgc bao gm
cc lin kt and v or, th ban phai dm s diu kindon trong cc diu kin phuc hop
khi tnh s vng lin hop.
V vy, nu c 6 cu lnh if v 1 vng lp while v cc biu thuc diu kin l don,
th s vng lin hop l 8. Nu mt biu thucdiu kin l biu thuc phuc hop nhu if A and
B or C, th ban tnh n nhu 3 diu kindon. Do d, s vng lin hop l 10. S vng lin
hop cua thut ton tm kim nhi phn (hnh 3.14) l 4 boi v n c 3 diu kindon tai cc
dng 5, 7, 11.
Sau khi tnh duoc s duong dndc lp qua m chuong trnh bng tnh ton s vng lin
hop, ban thit k cc truong hop thu nghimd thuc hin mi duong dn d. S luong
truong hop thu nghim nho nht ban cn d kim tra tt ca cc duong dn tong chuong
trnh bng s vng lin hop.
Thit k truong hop thu nghim khng kh khn trong truong hop chuong trnh l thu tuc
tm kim nhi phn. Tuy nhin, khi chuong trnh c cu trc nhnh phuc tap, c th rt kh
khn d du don c bao nhiu thu nghimdduoc thuc hin. Trong truong hop d, mt
nguoi phn tch chuong trnh nngdng c th duoc su dung d pht hin so thao su thuc
thi cua chuong trnh.
Nhng nguoi phn tch chuong trnh nngdng l cc cng cu kim thu, cng lm vic
voi trnh bin dich. Trong lc bin dich, nhng nguoi phn tch ny thm cc chi thi phu d
sinh ra m. Chng dm s ln mi cu lnh dduoc thuc hin. Sau khi chuong trnh d
thuc hin, mt ban so thao thuc thi c th duoc in ra. N chi ra nhng phn chuong trnh
d thuc thi v d khng thuc thi bng cch su dung cc truong hop thu nghimdc bit. V
vy, ban so thao thuc thi cho php pht hin cc phn chuong trnh khng duoc kim thu.
3.9. T dng ha kim thu (Test automation)
Kim thu l mt giai doan tn km v nng n trong quy trnh phn mm. Kt qua l
nhng cng cu kim thu l mt trong nhng cng cu phn mmdu tin duoc pht trin.
Hin nay, cc cng cu ny d bc l nhiu su thun tin v chng lm giamdng k chi ph
kim thu.
http://www.ebook.edu.vn 46
Ti d thao lun mt cch tip cnd tu dng ha kim thu (Mosley v Posey, 2002) voi
mt khung kim thu nhu J Unit (Massol v Husted, 2003) duoc su dung kim thu phuc hi.
J Unit l mt tp cc lop J ava duoc nguoi dng mo rngd tao nn mi truong kim thu tu
dng. Mi thu nghim ring le duoc thuc hin nhu mt di tuong v mt chuong trnh
dang chay thu nghim chay tt ca cc thu nghimd. Cc thu nghimd nn duoc vit
theo cch d chng chi ra h thng kim thu c thuc hin nhu mong mun khng.
Mt phn mm kim thu workbench l mt tp tch hop cc cng cu d phuc vu cho qu
trnh kim thu. Hon na voi cc khung kim thu cho php thuc hin kim thu tu dng, mt
workbench c th bao gm cc cng cu d m phong cc phn khc cua h thng v d
sinh ra d liu thu nghim h thng. Hnh 3.17 dua ra mt vi cng cu c th bao gm
trong mt workbench kim thu:
1. Nguoi quan l kim thu: quan l qu trnh chay cc thu nghim. Ho gi vt cua d
liu thu nghim, cc kt qua mong doi v chuong trnh d dng kim thu. Cc
khung kim tu dng ha thu nghim nhu J Unit l v du cua cc nguoi quan l thu
nghim.
2. My sinh d liu thu nghim: sinh cc d liu d thu nghim chuong trnh. Diu
ny c th thuc hin bng cch lua chon d liu tu co so d liu hoc su dung cc
mud sinh ngu nhin d liu voi khun dangdng dn.
3. H tin don (Oracle): dua ra cc du don v kt qua kim thu mong mun. Cc h
tin don c th l phin ban truoc cua chuong trnh hoc h thng ban mu. Kim
thu back-to-back , bao gm vic thuc hin kim thu song song h tin don v
chuong trnh d. Cc khc bit trong cc du ra cua chng duoc lm ni bt.
4. H so snh tp tin: so snh cc kt qua thu nghim chuong trnh voi cc kt qua thu
nghim truocd v bo co cc khc bit gia chng. Cc h so snh duoc su dung
trong kim thu hi quy (cc kt qua thuc hin trong cc phin ban khc nhau duoc
so snh). Khi kim thu tu dng duoc su dung, h so snh c th duoc goi tu bn
trong cc kim thu d.
5. H sinh bo co: cung cp cc bo co d xc dinh v dua ra cc tin loi cho kt
qua thu nghim.
6. H phn tch dng: thm m vo chuong trnh d dm s ln mi cu lnh dduoc
thuc thi. Sau khi kimthu, mt ban so thao thuc thi duoc sinh ra se cho bit mi cu
lnh trong chuong trnh dduoc thuc hin bao nhiu ln.
7. H m phong (Simulator): Cc loai h m phong khc nhau c th duoc cung cp.
Muc dch cua cc h m phong l m phong cc my khi chuong trnh duoc thuc
thi. H m phong giao din nguoi dng l cc chuong trnh diu khin kich ban m
phong nhiu tuong tc dng thoi cua nguoi dng. Su dung h m phong cho I/O c
nghia l b dinh thoi gian cua dy giao dich c th duoc lpdi lp lai.
http://www.ebook.edu.vn 47
Khi su dung cho kim thu h thng lon, cc cng cu d phai duoc dinh dang v ph hop
voi h thng cu th. V du:
1. Cc cng cu moi c th duoc thm vo d kim thu cc dc trungung dung cu th,
mt vi cng cu hin c c th khng cndn.
2. Cc kich ban c th duoc vit cho h m phong giao din nguoi dng v cc mu
d xc dinh cho h sinh d liu thu nghim. Cc khun dang bo co c th cung
phai duoc xc dinh.
3. Cc tp kt qua thu nghim mong mun c th phai chun bi bng tay nu khng
mt phin ban chuong trnh no truocd c th dng duoc nhu mt h tin don.
4. H so snh tp tin mucdchdc bit c th duoc vit bao gm hiu bit v cu trc
cua kt qua thu nghim trn tp tin.
Mt luong lon thoi gian v cng suc thuong cnd tao nn mt workbench thu nghim
ton din. Do d, cc workbench hon chinh, nhu trn hnh 3.17, chi duoc su dung khi
pht trin cc h thng lon. Voi cc h thng d, ton b chi ph kim thu c th ln toi
50% tng gi tri pht trin, v vy, n l hiu qua d du tu cho cng cu cht luong cao
CASE h tro vic kim thu. Tuy nhin, v cc loai h thng khc nhau yu cu su h tro
cc loai kim thu khc nhau, cc cng cu kim thu c th khng sn c d dng. Rankin
(Rankin, 2002) d thao lun mt tnh hung trong IBM v miu ta thit k cua h thng h
tro kim thu, m ho d pht trin cho my chu kinh doanh din tu.
Cc dim chnh:
Phn tch
duoc kim thu
Kt qua Du don
File
B so snh
M phong
M ngun
Nguoi quan l D liu
H tin don
Sinh d liu
Dc ta
bo co
Bo co kt
qua kim thu
dng
Bo co
thuc thi
Chuong trnh
kim thu
kim thu
kim thu
kim thu
kim thu
B sinh
Hnh 3.17 Mt workbench kim thu
http://www.ebook.edu.vn 48
- Kim thu c th chi ra su hin din cua cc li trong chuong trnh. N khng thu
chung to khng cn li trong chuong trnh.
- Kim thu thnh phn l trch nhim cua nguoi pht trin thnh phn. Mt di kim
thu khc thuong thuc hin kim thu h thng.
- Kim thu tch hop l hoat dng kim thu h thng ban du khi ban kim thu khim
khuyt cua cc thnh phn tch hop. Kim thu pht hnh lin quan dn kim thu
cua khch hng v kim thu pht hnh nn xc nhn h thng duoc phn phi c
dydu cc yu cu.
- Khi kim thu h thng, ban nn c gng ph h thng bng cch su dung kinh
nghim v cc nguyn tc d lua chon cc kiu thu nghim c hiu qua d pht
hin khim khuyt trong h thng.
- Kim thu giao din dng d pht hin cc khim khuyt trong giao din cua cc
thnh phn hn hop. Cc khim khuyt trong giao din c th nay sinh boi li trong
khi doc cc dc ta chuong trnh, hiu sai cc dc ta chuong trnh, cc li khc hoc
do thua nhn b dm thoi gian khng hop l.
- Phn hoach tuongduong l mt cch xc dinh cc thu nghim. N phu thuc vo
vic xc dinh cc phn hoach trong tp d liu du vo v du ra, su thuc hin
chuong trnh voi cc gi tri tu cc phn hoachd. Thng thuong, cc gi tri d l
gi tri tai gioi han cua phn hoach.
- Kim thu cu trc dua trn phn tch chuong trnh d pht hin duong dn qua
chuong trnh v su dung nhng phn tch d lua chon cc thu nghim.
- Tu dng ha thu nghim lm giam chi ph kim thu bng cch h tro qu trnh
kim thu bng cch cng cu phn mm.
http://www.ebook.edu.vn 49
CHUONG 4: CC PHUONG PHP KIEM THU
Chuong ny tap trung vo cc k thuat a tao ra cc truong hop kim thu tt v t chi ph
nhat, tat ca chng phai thoa nhng muc tiu kim thu o chuong truoc. Nhc lai cc muc
tiu kim thu phan mm l thit k cc truong hop kim thu c kha nng tm kim nhiu li
nhat trong phan mm v voi t thi gian v cng suc nhat.
Hin tai pht trin rt nhiu phuong thuc thit k cc truong hop kim thu cho phn mm.
Nhng phuong php ny du cung cp mt huong kim thu c tnh h thng. Qua trong
hon na l chng cung cp mt h thng c th gip dam bao su hon chinh cua cc
truong hop kim thu pht hin li cho phn mm.
Mt san phmdu c th duoc kim thu theo 2 cch:
Hiu r mt chuc nng cu th cua mt hm hay mt module. Cc truong hop
kim thu c th xy dung d kim thu tt ca cc thao tc d.
Hiu r cch hoat dng cua mt hm/module hay san phm. Cc truong hop
kim thu c th duoc xy dung d dam bao tt ca cc thnh phn con khop voi
nhau. D l tt ca cc thao tc ni b cua hm dua vo cc m ta v tt ca cc
thnh phn ni b dduoc kim thu mt cch thoa dng.
Cch tip cndu tin duoc goi l kim thu hpden ( black box testing ) v cch tip cn
thu hai l goi l kim thu hp trng ( white box testing).
Khi d cp dn kim thu phn mm, black box testing cn duoc bit nhu l kim thu o
muc giao din ( interface ). Mc d tht su th chng duoc thit k d pht hin li. Black
box testing cn duoc su dng d chung minh kha nng hoat dng cua hm hay module
chuong trnh v c th ca mt chuong trnh lon: cc thng s du vo duoc chp nhn nhu
m ta cua hm, gi tri tra v cung hoat dng tt, dam bao cc d liu tu bn ngoi v du
nhu file d liuduoc gi/dam bao tnh nguyn ven cua d liu khi thuc thi hm.
While box testing l k thut tp trung vo khao st chc che thu tuc mt cch chi tit. Tt
ca nhngduong din tin logic trong chuong trnh duoc kim tra bng nhng truong hop
kim thu kim tra trn cc tp diu kin v cu trc lp cu th. k thut ny se kim tra
trang thi cua chuong trnh tai rt nhiu dim trong chuong trnh nhm xc gi tri mong
doi tai cc dim nay c khop voi gi tri thuc t hay khng.
Voi tt ca cc muc tiu kimdinh trn th k thut while box testing c le se dndn mt
chuong trnh chnh xc tuyt di. Tt ca nhng g chng ta cn by gio l thit k tt ca cc
duong logic cua chuong trnh v sau d l ci dt tt ca cc truong hop kimdinh c duoc.
Tuy nhin vic kimdinh mt cch thudo tt ca cc truong hop l mt bi ton qu lon
v tn rt nhiu chi phi. Chng ta hay xem xt v du sau
http://www.ebook.edu.vn 50
Hnh 4.1. FlowChart
Bn tri l flowchart cho mt chuong trnh
don gian duoc vit bng khoan 100 dng
m voi mt vng lp chnh thuc thi doan
m bn trong v lp lai khng qu 20 ln.
Tuy nhin khi tnh ton cho thy di voi
chuong trnh ny c dn khoang 10
14
duong c th duoc thuc hin.
Chng ta lm tip mt php tnh nhanh d
thy duoc chi ph dng d kim thu doan
chuong trnh nay mt cch thudo v chi
tit. Ta gia su rng d kim dinh mt
truong hop cn chay trung bnh tn mt
giy. V chuong trnh kim thu se duoc
chay 24 gio mt ngy v chay sut 365
ngy mt nm. Vy th d chay kim thu
cho tt ca cc truong hop ny cung cn
phai tn khoan 3170 nm.
Do d kim thu mt cch thu do l mt
vic bt kha thi cho nhng h thng lon.
Mc d k thut ny khng th hin thucduoc trong thuc t voi luong ti nguyn c han,
tuy nhin voi mt s luong c gioi han cc duong din tin logic quan trong c chon lua
truocd kim thu. Phuong php ny c th l rt kha thi
Ngoi ra cc truong hop kim thu cn c th l su kt hop cua ca hai k thut trn nhm
dat duoc cc muc tiu cua vic kim thu.
V by gio chng ta se di v chi tit thao lun v k thut kim thu hp trng
4.1. Phuong php white-box:
L phuong php kim nghim dua vo cu trc/m lnh chuong trnh. Phuong php
white-box kim nghim mt chuong trnh (mt phn chuong trnh, hay mt h thng, mt
phn cua h thng) dpung tt tt ca cc gi tri input bao gm ca cc gi tri khng dng
hay khng theo du dinh cua chuong trnh.
Phuong php kim nghim white-box dua trn:
- Cc cu lnh (statement)
- Duong dn (path)
- Cc diu kin (condition)
- Vng lp (loop)
- Ng re (branch)
4.1.1 M ta mt s cu trc theo luc d:
Trong cc phuong php kim tra tnh dngdn cua chuong trnh, luocd duoc dng d:
- Truu tuong ha c php cua m lnh.
Begin
End
Loop <=20
http://www.ebook.edu.vn 51
- Lm khun mu co ban cho cc nguyn tc kim tra theo truong hop.
- Kim tra tnh dngdn trn ton b luocd.
-
4.1.2 Kim tra theo cu lnh: (Statement Testing)
Thit k qu trnh kim tra sao cho mi cu lnh cua chuong trnh duoc thuc hin t nht
mt ln. Phuong php kim tra ny xut pht tu tuong:
- Tu phi mt cu lnh duoc thuc hin, nu khng ta khng th bit duoc c li
xay ra trong cu lnhd hay khng.
- Nhung vic kim tra voi mt gi tri du vo khng dam bao l se dng cho moi
truong hop.
V du: Doan chuong trnh thuc hin tnh:
result = 0+1++|value|,
nu result <= maxint, bo li trong truong hop nguoc lai.
1 PROGRAM maxsum ( maxint, value : INT )
2 INT result :=0 ; i :=0 ;
3 IF value <0
4 THEN value :=- value ;
5 WHILE ( i <value ) AND ( result <=maxint )
6 DO i :=i +1 ;
7 result :=result +i ;
8 OD;
9 IF result <=maxint
http://www.ebook.edu.vn 52
10 THEN OUTPUT ( result )
11 ELSE OUTPUT ( too large )
12 END.
http://www.ebook.edu.vn 53
V du voi cc b gi tri input:
maxint =10, value =-1
Hay
maxint =0, value =-1
se kim tra duoc ton b cc cu lnh trong doan chuong trnh trn.
Cc vn d di vi phuong php kim tra theo cu lnh:
D dnh gi phuong php ny ta xem qua v du sau:
http://www.ebook.edu.vn 54
Voi cu hoi du tin Luocd no phuc tap hon, ta c cu tra loi l B. V voi cu hoi tip
theo Luocd no cn cc buoc kim tra nhiu hon? ta cung tra loi l B.
Tuy nhin, ta thy s ln kim tra ti thiud c th kim tra ton b cc cu lnh nhu trn
cho ca 2 hm du l 2. V vy, phuong php ny khng tuongung voi su phuc tap cua m
lnh.
http://www.ebook.edu.vn 55
4.1.3 Kim tra theo dung dn: (Path Testing)
L phuong php kim tra bao trm moi duong dn cua chuong trnh v cn kt hop voi
luocd tin trnh.
Nhn xt:
Phuong php kim tra theo duong dn phu thuc nhiu vo cc biu thuc diu kin. Tuy
nhin, c nhng truong hop s luong duong dn qu lon (truong hop vng lp). V vy
thuong khng phai l lua chon thuc t d tin hnh vic kim tra tnh dng dn cua chuong
trnh.
i f ( A > B)
S1;
S2;
el se
S3;
S4;
A>B
S1; S2; S3;
S4;
true
false
whi l e ( A<B)
{
S1;
S2;
}
S3;
A>B
S1; S2;
S3;
true
false
i f ( A<B && C<D)
S1;
el se
S2;
S3;
A>B
C>D
S2;
true
false
S1;
S3;
true
false
http://www.ebook.edu.vn 56
4.1.4 Kim tra theo diu kin: (Condition Testing)
L phuong php kim tra cc biu thucdiu kin trn 2 gi tri true v false.
Ta xt cc v du sau:
V du 1:
Cc b kim tra { (x>0, y>0), (x <=0, y>0) } se kim tra ton b cc diu kin.
Tuy nhin: Khng thoa mn voi moi gi tri input, cn kt hop ca x v y d thuc hin buoc
kim tra.
V du 2:
i f ( x > 0 && y > 0)
x = 1;
el se
x = 2;
whi l e ( x > 0 | | y > 0)
{
x- - ; y- - ;
z += x*y;
}
C khoang 5
20
= 95.367.431.640.625 auong dan
loop <20
If then - else
http://www.ebook.edu.vn 57
Voi b kim tra { (x>0) } se kim tra bao trm duoc cc diu kin.
Tuy nhin: Khng kim tra duoc gi tri y.
V du 3:
Voi b kim tra {(x=0,z=1), (x=1, z=0)} se kim tra bao trm duoc cc diu kin.
Tuy nhin: Khng kim tra duoc truong hop li chia cho 0 (khi x=0).
Nhn xt: Khi kim tra bng phuong php kim tra theo diu kin cn xem xt kt hop cc
diu kin voi nhau.
4.1.5 Kim tra theo vng lp: (Loop Testing)
L phuong php tp trung vo tnh hop l cua cc cu trc vng lp.
i f ( x ! = 0 )
y = 5;
i f ( z < 1 )
z = z/ x;
el se
z = 0;
Vng lp
don gian
Vng lp
lng nhau
Vng lp
ni tip nhau
Vng lp
khng cu trc
http://www.ebook.edu.vn 58
- Cc buc cn kim tra cho vng lp don:
+ Bo qua vng lp.
+ Lp mt ln.
+ Lp hai ln.
+ Lp m ln (m<n).
+ Lp (n-1), n, (n+1) ln.
Trongd n l s ln lp ti da cua vng lp.
- Cc buc cn kim tra cho vng lp dng lng nhau:
+ Khoi du voi vng lp nm bn trong nht. Thit lp cc tham s lp cho cc
vng lp bn ngoi v gi tri nho nht.
+ Kim tra voi tham s min+1, 1 gi tri tiu biu, max-1 v max cho vng lp bn
trong nht trong khi cc tham s lp cua cc vng lp bn ngoi l nho nht.
+ Tip tuc tuong tu voi cc vng lp lin ngoi tip theo cho dn khi tt ca vng
lp bn ngoi duoc kim tra.
- Cc buc cn kim tra cho vng lp ni tip:
+ Nu cc vng lp l dc lp voi nhau th kim tra nhu truong cc vng lp dang
don, nu khng th kim tra nhu truong hop cc vng lp lng nhau.
V du:
// LOOP TESTING EXAMPLE PROGRAM
import java.io.*;
class LoopTestExampleApp {
// ------------------ FIELDS ----------------------
public static BufferedReader keyboardInput =
new BufferedReader(new InputStreamReader(System.in));
private static final int MINIMUM =1;
private static final int MAXIMUM =10;
// ------------------ METHODS ---------------------
http://www.ebook.edu.vn 59
/* Main method */
public static void main(String[] args) throws IOException {
System.out.println("Input an integer value:");
int input =new Integer(keyboardInput.readLine()).intValue();
int numberOfIterations=0;
for(int index=input;index >=MINIMUM && index <=MAXIMUM;index++) {
numberOfIterations++;
}
// Output and end
System.out.println("Number of iterations =" +numberOfIterations);
}
}
Gi tr|
du vo
Kt qua
(S ln lp)
11 0 (bo qua vng lp)
10 1 (chay 1 ln lp)
9 2 (chay 2 ln lp)
5 6 (truong hop chay m ln lp khi m<n)
2 9 (chay N-1 ln lp)
1 10 (chay N ln lp)
0 0 (bo qua vng lp)
4.2. Phuong php black-box:
Cn goi l kim nghim chuc nng. Vic kim nghim ny duoc thuc hin m khng cn
quan tm dn cc thit k v vit m cua chuong trnh. Kim nghim theo cch ny chi
quan tm dn chuc nng dd ra cua chuong trnh. V vy kim nghim loai ny chi dua
vo ban m ta chuc nng cua chuong trnh, xem chuong trnh c thuc su cung cp dng
chuc nngd m ta trong ban chuc nng hay khng m thi.
Kim nghim hpden dua vo cc dinh nghia v chuc nng cua chuong trnh. Cc truong
hop thu nghim (test case) se duoc tao ra dua nhiu vo ban m ta chuc nng chu khng
phai dua vo cu trc cua chuong trnh. Gm cc phuong php sau:
http://www.ebook.edu.vn 60
- Phn chia tuongduong
- Phn tch gi tri bin
- D thi Cause Effect
- Kim tra hnh vi (Behavioural testing)
- Kim thu ngu nhin
- Uoc luong li .
C 3 huong tip cn chnh trong phuong php blackbox:
Phn tch min vo/ra cua chuong trnh:
- Dn toi vic phn chia hop l min Input/Ouput vo tp hop con interesting.
Phn tch tnh cht dng ch cua hp den:
- Dn toi mt loai flowgraphlike, c th ung dung cc k thut cua hp trng
(trn loai hpden ny).
Heuristics:
- Cc k thut ny ging voi phn tch rui ro, du vo ngu nhin, kim thu stress.
4.2.1. Phn chia tuong duong:
Phn chia (nu c th) tt ca cc lopdu vo, nhu l:
- C mt s han ch v cc lop tuong duongdu vo.
- Chng ta c th chp nhn mt s l do nhu:
- Chuong trnh chay d gom nhng tn hiudu vo tuong tu nhau vo trong
cng mt lop.
- Test mt gi tri dai din cua lop.
- Nu gi tri dai din bi li th cc thnh vin trong lopd cung se bi li nhu
th.
output
input
SUT
requirements
events
domain testing
x
y
http://www.ebook.edu.vn 61
4.2.2. Lp k hoch:
Nhn dang cc lop tuong duongdu vo:
- Dua vo cc diu kin vo/ra trong dc tnh k thut/m ta k thut.
- Ca hai lop tuong duong du vo: valid v invalid.
- Dua vo heuristics v chuyn gia.
- input x in [1..10] classes: x<1, 1_ x _10, x>10
- Loai lit k A, B, C classes: A, B, C, not{A,B,C}
Dinh nghia mt/cp cua cc truong hop thu cho mi lop.
- Kim thu cc truong hop thuc lop tuong duong valid
- Kim thu cc truong hop thuc lop tuong duong invalid
V du:
Kim mt hm tnh gi tri tuyt di cua mt s integer. Cc lop tuongduong:
Condition Cc lp tuong duong Valid Cc lp tuong duong
Invalid
S nhp vo 1 0, >1
Loai d liu vo integer Non-interger
Abs <0, >=0
Kim cc truong hop:
x=-10, x=100
x=XYZ, x=- x=10 20
V du 2:
Mt chuong trnh doc 3 gi tri integer. Ba gi tri ny duoc th hin nhu chiu di cua 3
canh mt hnh tam gic. Chuong trnh in mt cu thng bo l tam gic thuong
(uligesidet), tam gic cn (ligebenet), hoc tam gic du (ligesidet). [Myers]
+Vit mt tp cc truong hopd thu chuong trnh ny.
Cc truong hop test l:
- Gi tri 3 canh c lch nhau khng?
- Gi tri 3 canh c bng nhau khng?
- Gi tri 3 canh tam gic cn?
http://www.ebook.edu.vn 62
- Ba hon vi truocd?
- Canh bng 0?
- Canh c gi tri m?
- Mt canh bng tng cua 2 canh kia?
- Ba hon vi truocd?
- Gi tri mt canh lon hon tng 2 canh kia?
- Ba hon vi truocd?
- Tt ca cc canh bng 0?
- Nhp vo gi tri khng phai s nguyn (non-integer)?
- S cua cc gi tri sai?
- Cho mi truong hop thu: l gi tri du ra mong doi?
- Kim tra cch chay chuong trnh sau khi du ra hon chinh?
V du: Phn lop tuongduong
Kim tra mt chuong trnh tnh tng gi tri du tin cua cc s nguyn min l tng ny
nho honmaxint. Mt khc, khi c li chuong trnh cn ghi lai, nu gi tri m, th phai ly
gi tri tuyt di.
Dang:
Nhp s nguyn maxint v value, gi tri result duoc tnh l:
Result=
_
=
/ /
0
Value
K
k nu:<=maxint, ngoi ra th sinh li.
Cc lop tuong duong:
Condition Lop tuong auong Valid Lop tuong auong Invalid
S nhp vo 2 <2, >2
Loai d liu vo Int int Int no-int, no-int int
Abs(value) Value<0, value>0
Maxint _ks maxint, _k>maxint
4.2.3. Phn tch gi tr| bin:
Dua vo chuyn gia/Heuristics:
http://www.ebook.edu.vn 63
- Test diu kin bin cua cc lop th c tc dung nhiu hon l dua vo cc gi tri truc
tip nhu trn.
- Chon cc gi tri bin du vo d kim tra cc lopdu vo thay v thm vo nhng
gi tri ty .
- Cung chon nhng gi tri du vo nhu th d cho ra nhng gi tri bin du ra.
- V du v chin luoc mo rng vic phn lop:
- Chon mt gi tri ty cho mi lop.
- Chon cc gi tri chnh xc o bin trn v bin duoi cua mi lop.
- Chon cc gi tri ngay lp tuco duoi v trn mi bin (nu c th).
V du: Kim tra mt hm tnh gi tri tuyt di cua 1 s nguyn.
Cc lop tuong duong valid nhu sau:
Condition Lop tuong auong Valid Lop tuong auong Invalid
Abs <0, >=0
Cc truong hop thu:
Lop x<0, Gi tri ty : x=-10
Lop x>=0, Gi tri ty : x=100
Cc lop x<0, x>=0, Gi tri bin x=0
Cc lop x<0, x>=0, Gi tri duoi v trn x=-1, x=1
V du: Phn tch gi tri bin
Nhp vo s integer maxint v value tnh ton gi tri result nhu sau:
Result=
_
=
/ /
0
Value
K
k nu:<=maxint, ngoi ra th sinh li.
Cc lop tuong duongvalid:
Condition Lop tuongduong Valid
Abs(value) Value<0, value>0
Maxint _ks maxint, _k>maxint
Chng ta cn gi tri giamaxint<0 vmaxint>=0?
http://www.ebook.edu.vn 64
Maxint maxint<0, 0s maxint <_k, maxint> _k
Cc lop tuong duongvalid:
Abs(value) Value<0, value>0
Maxint Maxint < 0, 0s maxint < _k, maxint > _k
Cc truong hop thu:
Maxint value result maxint value result
55 10 55 100 0 0
54 10 error 100 -1 1
56 10 55 100 1 1
0 0 0
4.2.4. D th| Cause Effect :
K thut kim thu Black-Box phn tch vic kt hop cc diu kin vo.
Dc tnh Cause v Effect
! !
inputs outputs
Trang thi hin tai trang thi moi
- Tao mt d thi kt ni Causes v Effects
- Ch thch nu khng th kt hop Causes v Effects.
- Pht trin bang quyt dinh tu d thi ung voi mi ct, mt su kt hopdc bit cua
du vo v du ra.
- Mi truong hop test phai thay di ct.
Cc truong hop thu:
Maxint Value result
Valid 100 10 55
100 -10 55
10 10 error
Invalid 10 - Error
10 30 Error
http://www.ebook.edu.vn 65
XYZ 10 Error
100 9.1E4 error
_ k _ maxint 1 1 0 0
_ k > maxint 0 0 1 1
value < 0 1 0 1 0
Causes
inputs
value _ 0 0 1 0 1
_ k 1 1 0 0 Effects
outputs
error 0 0 1 1
_ k s maxint
_ k >maxint
value <0
value > 0
xor
and
and
_ k
error
http://www.ebook.edu.vn 66
CHUONG 5: KIEM THU TCH HOP
Nguoi moi tap su trong th gioi phan mm c th hoi mt cu hoi c ve hop l khi
moi m aun a auoc kim thu aon vi xong Nu tat ca chng a lm vic ring bit tt th
sao cc anh lai hoi nghi rng chng khng lm vic khi ta gn chng lai voi nhau? Van
a, di nhin, l o ch gn chng lai voi nhau lm giao din. D liu c th bi mat qua
giao din; m aun ny c th c su bat can, anh huong bat loi sang m aun khc; cc chuc
nng con , khi t hop, khng th tao ra chuc nng chnh mong mun; nhng su khng
chnh xc chap nhan auoc o tng m aun c th bi khuch aai ln an muc khng chap
nhan ni; cc cau trc d liu ton cuc b c th lm sinh ra van a. iu ang bun l
danh sch ny cn ko di mi.
Kim thu tch hop l mt ki thuat h thng a xy dung cau trc chuong trnh trong
khi ang thoi tin hnh cc kim thu a pht hin li lin kt voi vic giao tip. Muc ach
lay cc m aun a kim thu aon vi xong v xy dung nn mt cau trc chuong trnh auoc
quy ainh boi thit k.
Thuong c mt khuynh huong c gng tch hop khng tng dan; tuc l xy dung
chuong trnh bng cch dng cch tip can vu n lon Big bang. Tat ca cc m aun au
auoc t hop truoc. Ton b chuong trnh auoc kim thu nhu mt tng th. V thuong s l
mt kt qua hn loan! Gp phai mt tap hop cc li. Vic sua ai thnh kh khn v vic
c lap nguyn nhn bi phuc tap boi vic trai rng trn ton chuong trnh. Khi nhng li
ny a auoc sua cha th nhng li moi lai xuat hin v tin trnh ny cu tip din trong
chu trnh v han.
Tch hop tng dan l nguoc lai voi cch tip cn vu n lon. Chuong trnh duoc xy
dung v kim thu trong tungdoan nho, noi li d duoc c lp v sua cha hon; giao din
c th duoc kim thu dy du hon v cch tip cn h thng c th duoc p dung. Trong
nhng muc sau dy, mt s chin luoc tch hop tng dn se duoc thao lun toi.
5.1. Tch hp trn xung.
Tch hop trn xung l cch tip cn tng dn toi vic xy dung cu trc chuong
trnh. Cc m dunduoc tch hop bng cch di dn xung qua cp bc diu khin, bt du
voi m dun diu khin chnh (chuong trnh chnh). Cc m dun phu thuc (v phu thuc
cui cng) vo m dundiu khin chnh se duoc t hop dn vo trong cu trc theo chiu
su truoc hoc chiu rng truoc.
http://www.ebook.edu.vn 67
Hnh 5.1. Tch hop trn xung
Tham khao toi hnh 5.1., vic tch hop chiu su truoc se tch hop tt cc cc m
dun trn duongdiu khin chnh cua cu trc. Vic chon mt duong chnh c tuy tin v
phu thuc vo cc dc trung cuaung dung. Chng han, chon duong bn tay tri, cc m
dun M1, M2, M5, se duoc tch hop truoc. Tipd M8 hay (nu cn cho chuc nng ring
cua M2) M6 se duoc tch hop vo. Ri, xy dung tip cc duongdiu khino gia v bn
phai. Vic tch hop theo chiu rng t hop tt ca cc m dun truc tip phu thuc vo tung
muc; di xuyn qua cu trc ngang. Tu hnh ve, cc m dun M2, M3, M4 (thay th cho
cung S4) se duoc tch hop vo truoc nht. Cc mucdiu khin tip M5, M6, .. theo sau.
Tin trnh tch hopduoc thuc thin trong mt loat nm buoc:
1. M dundiu khin chnh duoc dng nhu mt khin trnh kim thu v
cc cung duoc th vo cho tt ca cc m dun phu thuc truc tip vo m dundiu khin
chnh.
2. Tuy theo cc tip cn tch hop duoc chon lua (nhung theo chiu su
hay theo chiu ngang truoc) cc cung phu thucduoc thay th tung ci mt mi ln bng
cc m dun thuc tai.
3. Vic kim thu duoc tin hnh khi tung m dun duoc tch hop vo.
4. Khi hon thnh tung tp cc php kim thu, cung khc de duoc thay
th bng cc m dun thuc.
5. Kim thu hi quy (tuc l tin hnh tt ca hay mt s cc php kim thu
truoc) c th duoc tin hnh d dam bao tung nhng li moi khng bi dua thm vo.
Tin trnh ny tip tuc tu buoc 2 toi khi ton b cu trc chuong trnh dduoc xy dung
xong. Hnh 5.1 minh hoa cho tin trnh ny. Gia su ta dng cch tip cnd su truoc v
mt cu trc hon chinh b phn, cung S7 l chun bi duoc thay th boi m dun M7. M7
ban thn n c th c cc cung se bi thay th bng cc m dun tuong ung. Diu quan
trong phai ch l phai tin hnh cc php kim thu cho mi ln thay th d kim chung
giao din.
M
1
M
2
M
3
M
5
M
4
M
6
M
8
M
7
http://www.ebook.edu.vn 68
Chin luoc tch hop trn xung kim chung vicdiu khin chnh hay cc dim quyt dinh
ngay tu du trong tin tnh kim thu. Trong mt cu trc chuong trnh b tr kho, vic
quyt dinh thuong xut hin tai cc muc trn trong cp bc v do dduoc gp phai truoc.
Nu cc vnd diu khin chnh qua l tn tai th vic nhn ra chng l diu chu cht. Nu
vic tch hop theo d su duoc lua chon th chuc nngdy du cua phn mm c th duoc
ci dt v chung minh. Chng han, ta hy xt mt cu trc giao tc c din trong d cn
toi mt loai cc ci vo truong tc phuc tap ri thu nhn v kim chung chng qua duong
di toi. Duong di toi c th duoc tch hop theo cch trn xung. Tt ca xu l ci vo (di
voi vic pht tn giao tc v sau) c th duoc biu din truoc khi cc phn tu khc cua cu
trc duoc tch hop vo. Vic biu din ban du v kha nng chuc nng l ci xy dung
nim tin cho ca nguoi pht trin khch hng.
Chin luoc pht trin trn xung c ve nhu khng phuc tap nhung trong thuc t, cc vn d
logic c th ny sinh. Diu thng thuong nht cua nhng vnd ny xut hin khi vic xu
l tai muc thp trong cp bc di hoi vic kim thu tch hop o muc trn. Cung thay th
cho cc m dun cp thp vo lc bt du cua kim thu trn xung; do d khng c d liu
no c nghia c th chay nguoc ln trong cu trc chuong tnh. Nguoi kim thu dung truoc
hai chon lua: (1) d tr nhiu vic kim thu toi khi cungduoc thay th bng m dun thuc
th, (2) xy dung cc cung thuc hin nhng chuc nng gioi han m phong cho m dun
thuc tai, v (3) tch hop phn mm tu dy cp bc ln. Hnh 5.2 minh hoa cho cc lop
cungdin hnh, b tr tu don gian nht (cung A) toi phuc tap nht (cung D).
Hinh 5.2 Cung
Cch tip cn thu nht (d tr kim thu cho dn khi cung duoc thay th boi m
dun thuc tai) gy cho chng ta bi mt diu khindi voi tuong ung gia kim thu dc bit
v vic t hop cc m dundc bit. Diu ny c th dn toi nhng kh khn trong vic xc
dinh nguyn nhn li v c khuynh huong vi pham ban cht bi rng buc cao d cua cch
tip cn trn xung. Cc tip cn thu hai th duoc, nhung c th dn toi tng ph kh lon, v
cung tro thnh ngy cng phuc tap hon. Cch tip cn thu ba, duoc goi l kim thu duoi
ln, duoc thao lun trong muc sau:
5.2. Tch hp dui ln.
Kim thu tch hop duoi ln, nhu tn n d hm , bt du xy dung v kim thu voi
cc m dun nguyn tu (tuc l cc m dun o muc thp nht trong cu trc chuong trnh). V
Cung
A
Cung
B
Cung
C
Cung
D
Hin thi thng
bo du vt
Hin thi tham
binduoc
truyn
Cho lai gi tri
tu bang
Tm kim bang
cho tham bin
vo v cho lai
tham bin ra
Chiu cua lung d liu
http://www.ebook.edu.vn 69
cc m dun ny duoc tch hop tu duoi ln trn nn vic xu l yu cudi voi cc m dun
phu thuc cua mt muc no d bao gio cung c sn v nhu cu v cung bi dep bo.
Chin luoc tch hop duoi ln c th duoc thuc hin qua nhng buoc sau:
1. Cc m dun muc thpduoc t hop vo cc chum (di khi cung cn
duoc goi l kiu kin trc) thuc hin cho mt chuc nng con phn mmdc bit.
2. Khin trnh (mt chuong trnh diu khin cho kim thu) duoc vit
rad phi hop vic vo v truong hop kim thu.
3. Kim thu chm
4. Loai bo khin trnh v chm duoc t hop chuyn ln trong cu trc
chuong trnh.
Vic tch hopdi theo mu hnh duoc minh hoa trong hnh 5.3. Cc m dunduoc t
hopd tao nn cc chm 1, 2, 3. Tung chm duduoc kim thu bng cch dng mt khin
trnh (duoc ve trong khi sm mu). Cc m dun trong cc chm 1 v 2 phu thuc vo M
a
.
Cc khin trnh D1 v D2 duoc loai bo v chm duoc giao tip truc tip voi M
a
. Tuong tu,
khin trnh D3 cho chm 3 loai bo truoc khi tch hop voi m dun M
b
. Ca M
a
va M
b
cui
cng se duoc tch hop voi m dun M, v cu nhu th. Cc loai khin trnh khc nhau duoc
minh hoa trong hnh 5.4
Khi vic tch hopdi ln, nhu cu v cc khin trnh kim thu tch bit t dn. Trong
thuc t, nu hai mucdinh cua cu trc chuong trnh duoc tch hop theo kiu trn xung th
s cc khin trnh c th duoc giam bot kh nhiu v vic tch hop cc chm duoc don
gian hon rt nhiu.
5.3. Kim thu ni quy.
Mi mt ln mt module moi duoc thm vo nhu l mt phn cua kim thu tch
hop, phn mm thay di. Cc duong dn d liu moi duoc thit lp, vo ra moi cung xay
ra, v logic diu khin moi duoc goi ra. Nhng thay di ny c th sinh ra vnd di voi
cc hm d lm vic hon hao truoc d. Trong mt ng canh cua mt chin luoc kim thu
phn mm, kim thu hi quy l vic thuc hin lai mt vi tp hop con cc kim thu m d
duoc quan l d dam bao nhng thay di d khng sinh ra cc hiuung phu khng kim
sot duoc.
http://www.ebook.edu.vn 70
( Hnh 5.3)
Trong mt ng canh rng nhu vy, kim thu thnh cng (bt cu loai no) kt qua l
cc tm ra cc li c cc li phai duoc lm dng. Mt khi phn mmdduoc lm dng,
mt vi b phn cua cu hnh phn mm (chuong trnh, cc ti liu cua n, d liu m h
tro n) bi thay di. Kim thu hi quy l hoat dng m gip dam bao rng nhng thay
di(trong ton b qu trnh kim thu hoc l cc l do khc) khng dn toi cc cch thuc
khng luong truoc hoc cc li pht sinh thm.
N
H
M
I
N
H
M
3
N H M 2
http://www.ebook.edu.vn 71
Hnh 5.4 Khin trnh
Kim thu hi quy c th thuc hin bng thao tc bng tay bng cch thuc hin lai
mt tp hop con cua tt ca cc truong hop kim tra hoc su dung cc cng cu bt li tu
dng. Cc cng cu bt li tro lai (capture - playback tools) cho php nguoi k su phn
mm c th bt duoc cc trung hop kim tra v kt qua cho mt chui li v so snh tro
lai. B kim thu hi quy bao gm ba lop cc truong hop kim thu khc nhau:
- Mt l biu din v du cua cc truong hop kim thu m n se thuc hin voi
tt ca cc chuc nng cua phn mm.
- Thm vo cc kim thu ung voi cc chuc nng cua phm mm ging nhu
l gia dinh khi thay di.
- Cc truong hop kim thu ung voi cc thnh phn cua phn mmd bi
thay di.
Ging nhu tin trnh kim thu tch hop, s cc kim thu hi quy c th tng ln kh
lon. V th b kim thu hi quy nn duoc thit k d bao gm chi cc truong hop kim thu
m nhm vo mt hay nhiu cc lop cua li trong mi chuc nng chuong trnh chnh. R
rang l khng thuc t v khng hiu qua de thuc hin lai tt ca cc kim thu cho moi chuc
nng chuong trnh mi ln khi c su thay di xay ra.
5.4. Gi v vic kim thu tch hp
D c nhiu thao lun v uu v nhuoc dim tuongdi cua vic kim thu tch hop
trn xung v duoi ln. Ni chung, uu dim cua chin luoc ny c khuynh huong thnh
nhuoc dim cua chin luoc kia. Nhuoc dim chnh cua cch tip cn trn xung l cn toi
cc cung v c th c nhng kh khn kim thu km theo lin kt voi chng. Vnd lin
Khin trnh
A
Khin trnh
B
Khin trnh
C
Khin trnh
D
Chiu cua lung thng tin
Goi phu thuc Gui tham bin
tu bang
(hay tp ngoi)
Hin thi
Tham bin
T hop cc
khin trnh
B&C
http://www.ebook.edu.vn 72
quan toi cc cung c th b dp lai bnguudim cua vic kim thu cc chuc nng diu
khin chnh som sua. Nhuoc dim chnh cua vic tch hop duoi ln l o ch chuong trnh
nhu mt thuc th th chua tn tai chung no m dun cui cng chua duoc thm vo.
Nhuocdim ny duoc lm diudi bng thit k truong hop kim thu som hon v vic thiu
cung.
Su lua chon mt chin luoc tch hop phu thuc vo cc dc trung phn mm v di
khi ca lich biu du n. Ni chng, mt cch tip cn t hop (di khi cn duoc goi l kim
thu bnh kep thit) dng chin luoc trn xung cho cc muc trn cua cu trc chuong trnh,
di di voi chin luoc duoi ln co cc muc phu thuc, c th l su thoa hip tt nht.
Khi vic kim thu tch hopduoc tin hnh, nguoi kim thu phai xc dinh m dun
gng. Mt m dun gng c duy nht mt hay nhiudc trung sau: (1) d cp toi nhiu yu
cu phn mm, (2) c muc diu khin cao (nmo vi tr tuong di cao trong cu trc
chuong trnh), (3) l phuc tap hay d sinh li (d phuc tap xoay vng c th duoc dng lm
mt chi bao) hay (4) c yu cud hon thin xc dinh. Cc m dun gng nn duoc kim
thu som nht c th duoc. Bn canhd, kim thu hi quy nn tp trung vo chuc nng m
dun gng.
5.5. Lp ti liu v kim thu tch hp
K hoach tng th cho vic tch hop phn mm v mt m ta v cc kim thu dc
bit duoc ghi trong ban c ta kim thu. Ban dc ta kim thu ny c th bn giao duoc
trong tin trnh ki ngh phn mm v tro thnh mt phn cua cu hnh phn mm. Hnh
17.11 trnh by dn bi cho bandc ta kim thu c th duoc dng nhu mt khun kh cho
ti liu ny
Hnh 5.5 Dn bi dc ta kim thu
I. Pham vi kim thu
II. K hoach kim thu
A. Cc giai doan v khi kim thu.
B. Lich biu
C. Tng ph phn mm
D. Mi truong v ti nguyn
III. Thu tuc kim thu n (m ta vic kim thu cho khi n)
A. Thu tu tch hop
1. Mucdch
2. Mdun cn kim thu
B. Kim thu don vi co cc m dun trong khi
1. M ta kim thu cho m dun
2. M ta tng ph phn mm
3. Kt qua du kin
C. Mi truong kim thu
1. Cng cu hay k thut dc bit
2. M ta tng ph phn mm
http://www.ebook.edu.vn 73
D. D liu truong hop kim thu
E. Kt qua du kin thuc t
IV. Kt qua kim thu thuc t
V. Tham khao
VI. Phu luc
Pham vi kim thu tm tt cc dc trung chuc nng, su hon thin v thit k bn trong
ring, cn phai duoc kim thu. N luc kim thu v cn gn km, tiu chun d hon tt
tung giai doan kim thu cnduoc m ta, v cc rng buc lich biu cnduoc lm tu liu.
Phn k hoach kim thu m ta chin luoc chung cho vic tch hop. Vic kim thu duoc
chia thnh cc giai doan v khi, d cp toi cc dc trung hnh vi v chuc nng ring cua
phn mm. Chng han, kim thu tch hop cho mt h thng CAD huong d thi c th duoc
chia thnh cc giai doan kim thu sau:
- Giao din nguoi dng (chon chi lnh; tao ra vic ve; biu din hin thi;
xu l li v biu din li)
- Thao tc v phn tch d liu (tao ra k hiu; tm huong; quay; tnh cc
tnh cht vt l)
- Xu l v sinh hin thi (hin thi hai chiu, )
- Quan tri co so d liu (thm nhp; cp nht; ton ven; hiu nng)
Mi mt trong cc giai doan v giai doan con (duoc ghi trong du ngoc trn) du
nu ra pham tr chuc nng rng bn trong phn mm v ni chung c th c lin quan toi
mt linh vuc ring cua cu trc chuong trnh. Do d, cc khi chuong trnh (nhm cc m
dun) duoc tao ra d tuong ung voi tung giai doan.
Cc tiu chun sau dy v php kim thu tuongungduoc p dung cho tt ca cc giai
doan kim thu:
Tnh thng nht giao din. Cc giao din bn trong v bn ngoi duoc kim thu khi
tung m dun (hay chm) duoc t hop vo trong cu trc.
Hop l chuc nng. Tin hnh cc kim thu dduoc thit k d pht hin ra li chuc
nng.
Ni dung thng tin. Tin hnh cc kim thu dduoc thit k d pht hin ra li lin
kt voi cc cu trc d liu cuc b hay ton cucduoc su dung.
Su hon thin. Tin hnh kim thu d duoc thit k d kim chung cc cn hon
thindduoc thit lp trong thit k phn mm.
Nhng tiu chun ny v cc kim thu lin kt voi chng duoc thao lun trong muc
banDc ta kim thu.
Lich biu d tch hop, tng ph phn mm, v cc chu th c lin quan cung duoc
thao lun nhu mt phn cua muc k hoach kim thu. Ngy thng bt du v kt thc cho
tung giai doanduoc thit lp v cua s c sn cho cc m dund xong kim thu don vi
cung phai duoc xc dinh. Mt m ta tm tt v tng ph phn mm (cung v khin trnh)
tp trung vo cc dc trung c th yu cu n lucdc bit. Cui cng, cung phai m ta mi
truong v ti nguyn kim thu. Cc cu hnh phn cung bt thuong, cc b m phong
ngoai lai, cc cng cu k thut kim thu dc bit l mt s trong nhiu chu d c th duoc
thao lun trong muc ny.
http://www.ebook.edu.vn 74
Mt thu tuc kim thu chi tit cn toi d hon thnh ban k hoach kim thu se duoc
m ta trong muc thu tuc kim thu. Tham khao lai dn bi banDc ta kim thu muc II, trt
tu cua vic tch hop v cc php kim tu tuong ung tai mi buoc tch hop phai duoc m ta.
Mt danh sch tt ca cc truong hop kim thu (c th d tham khao v sau) v kt qua du
kin cung nn duocdua vo.
Lich su cc kt qua kim thu thuc tai, cc vnd, hay cc dc th duoc ghi lai trong
bn muc cua banDc ta kim thu. Thng tin c trong muc ny c th rt quan trong cho
vic bao tr phn mm. Cc tham khao thch hop cc phu luc cungduoc trnh by trong hai
muc cui.
Ging nhu tt ca cc phn tu khc cua cu hnh phn mmdinh dang cn banDc ta
kim thu c th duoc t chuc theo nhu cu cuc b cua t chuc pht trin phn mm. Tuy
nhin diu quan trong cn luu l mt chin luc tch hop c trong ban K hoach kim thu,
v cc chi tit kim thu duoc m ta trong banDc ta kim thu l thnh phn ban cht v
phai c.
http://www.ebook.edu.vn 75
CHUONG 6: KY NGHJ DO TIN CAY PHAN MEM
Muc tiu cua chuong ny l thao luan k thuat tham ainh v xc nhan tnh hop l auoc
dng trong vic pht trin h thng quan trong. Khi ban aoc chuong ny, ban s:
- Hiu auoc phuong php ao a tin cay cua h thng v cc m hnh pht trin a tin cay
c th auoc su dung a du bo khi mt muc a yu cau a tin cay aat auoc.
- Hiu auoc cc nguyn l cua cc luan chung tnh an ton v cch cc nguyn l ny c
th auoc su dung cng voi phuong php V & V trong vic aam bao tnh an ton cua h
thng.
- Hiu auoc cc van a trong vic aam bao tnh bao mat cua h thng.
- Lm quen voi cc truong hop an ton m aua ra cc luan chung v dau hiu cua an ton
h thng.
6.1. Gii thiu
R rng, vic thm d|nh v xc nhn tnh hp l cua h thng quan trng d rt
ph bin trong vic xc nhn tnh hp l cua bt ky h thng no. Qu trnh V & V
m ta cc dc ta cua h thng, v d|ch v h thng v cch cu xu vi cc yu cu cua
ngui dng. Tuy nhin, vi h thng quan trng, tnh tin cy duc di hoi cao, hon
na kim thu v phn tch duc yu cu d dua ra bang chng chng to h thng
dng tin cy. C hai l do ti sao bn nn lm vic d:
1. Chi ph tht bi: Chi ph v hu qua cua vic tht bi trong h thng quan trng c
kha nang cao hon trong h thng khng quan trng. Bn giam nguy co tht bi cua
h thng bang cch su dng vic thm d|nh v xc nhn tnh hp l cua h thng.
Vic tm v loi bo li truc khi h thng duc phn phi lun lun re hon chi ph do
cc s c cua h thng.
2. Xc nhn tnh hp l cua cc thuc tnh tin cy: Bn c th phai to ra mt trung
hp bnh thung d cho cc khch hng thy h thng c cha cc yu cu v tnh tin
cy (tnh san sng, tnh tin cy, tnh an ton v tnh bao mt). D dnh gi dc tnh
tin cy di hoi s hot dng c th V & V(duc thao lun o phn sau trong chuong
ny). Trong mt vi trung hp, ngui kim sot bn ngoi nhu ngui c thm quyn
trong ngnh hng khng quc gia c th phai chng nhn rang h thng l an ton
truc khi n c th ct cnh. D dt duc chng nhn ny, bn phai thit k v thc
thi thu tc dc bit V & V nham tp hp chng c v tnh an ton cua h thng.
V rt nhiu l do, gi tr| cua V & V vi h thng quan trng lun lun cao hon so
vi cc loi h thng khc. Thng thung V & V chim hon 50% tng gi tr| pht
Tnh ton
tnh tin cy
p dung
vo h thng
Chun bi tp
d liu kim thu
Xc dinh
hoat dng
so luoc
cc kim thu
Hnh 6.1 Qu trnh do tnh tin cy
http://www.ebook.edu.vn 76
trin cua h thng phn mm quan trng. Tt nhin, dy l gi d duc diu chinh,
khi tht bi cua h thng d duc ngan nga. V d, nam 1996, mt h thng phn
mm quan trng trn tn lua Ariane 5 b| hong v mt vi v tinh d b| ph huy, gy
thit hi hng tram triu dla. Sau d, nhng ngui c trch nhim d khm ph ra
rang s thiu ht trong h thng V & V c phn no trch nhim trong vic ny.
Mc d, qu trnh xc nhn tnh hp l cua h thng quan trng phn ln tp trung
vo vic xc nhn tnh hp l cua h thng, cc hot dng lin quan nn kim tra d
xc nhn qu trnh pht trin h thng d duc thc hin. Khi thao lun trong
chuong 27 v 28, cht lung h thng b| anh huong boi cht lung cua qu trnh
duc su dng d pht trin h thng. Tm li, qu trnh tt dn dn h thng tt. V
vy, d cung cp h thng tin cy, bn cn phai tin tuong rang qu trnh pht trin
hp l d duc tin hnh.
Dam bao qu trnh l mt phn cua tiu chun ISO 9000 v quan l cht lung,
duc trnh by tm tt trong chuong sau. Ti liu yu cu chun cua cc qu trnh
duc su dng v lin kt cc hot dng d dam bao cc qu trnh d duc thc hin.
Thng thung yu cu c cc h so qu trnh d chng nhn vic hon thnh cc
hot dng xu l v kim tra cht lung san phm. Tiu chun ISO 9000 chi r du ra
cua qu trnh cn dua ra v ngui ch|u trch nhim dua ra n. .
6.2. Xc nhn tnh tin cy
S lung d do d duc pht trin d chi ra yu cu tin cy cua mt h thng. D xc
nhn h thng c cc yu cu no, bn phai do d tin cy cua h thng nhu boi mt
ngui dng h thng thng thung.
Qu trnh do d tin cy cua h thng duc minh ha trong hnh 6.1. Qu trnh ny
gm 4 buc:
1. Du tin, ban nghin cuu cc h thng tn tai cua cc kiu nhu nhau d dua ra m
ta so luoc hoat dng. M ta so luoc hoat dng nhn bit loai cuadu vo h thng
v xc sut xut hin cc du vo ny trong truong hop bnh thuong.
2. Saud, ban thit dt tp cc d liu kim thu d phan nh m ta so luoc hoat dng.
C nghia l ban tao ra d liu kim thu voi phn b xc sut nhu nhau (nhu d liu
cho h thng m band nghin cuu). Thng thuong, ban su dung my sinh d liu
kim thu d kim tra qu trnh ny.
3. Ban kim thu h thng su dung cc d liudduoc sinh o trn v dm s luong v
cc loai li xay ra. S ln li cungduoc ghi nhn. Nhu thao lun trong chuong 9,
ccdon vi thoi gian ban nn chon ph hop voi d do tnh tin cy ban dng.
4. Cui cng, ban tin hnh thng k cc li quan trong, ban c th tnh ton d tin
cy cua phn mm v dua ra gi tri d dod tin cy.
Cch tip cn ny duc gi l kim thu thng k. Mc dch cua kim thu thng k
l dnh gi d tin cy cua h thng. Vic dnh gi cng vi kim thu sai st, duc
http://www.ebook.edu.vn 77
thao lun trong chuong 2, c cng mc dch l tm ra li cua h thng. Prowell et
al.(1999) dua ra mt m ta tt cua kim thu thng k trong sch cua ng (K ngh
phn mm phng sch).
Cch tip cn da trn d do tnh tin cy khng d dng p dng trong thc t.
Nhng kh khan chu yu xut hin do:
1. Khng chc chn m ta so luoc hoat dng: M ta so luoc hoat dng dua trn kinh
nghim, voi cc h thng khc c th khng phan nh chnh xc thuc t su dung
cua h thng.
2. Gi tri cao cua su sinh ra d liu kim tra: c th rt dt d sinh mt luong lon d
liu yu cu trong m ta so luoc hoat dng tru khi qu trnh c th hon ton tu
dng.
3. Thng k khng chc chn khi yu cu tnh tin cy cao duoc chi ra: Ban phai sinh
mt s luong thng k quan trong cc sai st d cho php dod tin cy chnh xc.
Khi phn mmdduoc xc thuc tnh tin cy, mt vi sai st lin quan xut hin v
n kh khnd sinh sai st moi.
Pht trin m ta so luoc thao tc chnh xc chc chn c th voi vi kiu h thng, nhu
h thng truyn thng c mt mu tiu chun ha duoc su dung. Tuy nhin, voi cc loai h
thng khc c rt nhiu nguoi su dung khc nhau, mi nguoi c mt cch ring khi su
dung h thng. Nhu ti d thao lun trong chuong 3, nhng nguoi dng khc nhau c cc
n tuong khc nhau v d tin cy v ho su dung h thng theo nhng cch khc nhau.
T d, cch tt nht d sinh lung ln d liu d dp ng yu cu do d tin cy l su
dng mt h sinh d liu kim thu m c th thit dt t dng sinh du vo ph hp
vi m ta so luc hot dng. Tuy nhin, n thung khng th t dng sinh ra tt ca
d liu thu nghim cho cc h thng tuong tc boi v cc du vo thung l cu tra
li ti du ra h thng. Tp d liu cho cc h thng d phai duc sinh ra bang tay,
do d chi phi cao hon. Ngay ca khi diu d c th hon ton t dng, vit lnh cho h
sinh d liu thu nghim c th tit kim nhiu thi gian.
Thng k khng chc chn l mt vn d chung trong vic do d tin cy cua h
thng. D to nn mt d don chnh xc d tin cy, bn cn phai lm nhiu hon l
chi pht hin ra mt li h thng don le. Bn phai sinh ra mt lung ln d liu ph
hp, thng k s cc li d chc chn rang d tin cy cua bn l chnh xc. Diu ny
tt nht khi bn tm ra rt t li trong h thng, kh khan l n tro thnh do s hiu
qua cua k thut t li. Nu tnh tin cy duc xc d|nh o mc rt cao, n thung
khng thc t d sinh du li h thng d kim tra cc dc ta d.
http://www.ebook.edu.vn 78
6.2.1. So thao hot dng
So thao hot dng cua phn mm phan nh cch phn mm s duc su dng trong
thc t. So thao hot dng gm dc ta cc loi du vo v kha nang xut hin cua
chng. Khi mt h thng phn mm mi thay th mt h thng bang tay hoc mt h
thng t dng ha, diu d l d thuyt phc d dnh gi cc mu cch dng c th c
cua phn mm mi. N nn ph hp vi cch su dng hin c, vi mt vi s tha
nhn duc to boi chc nang mi c th c trong phn mm mi. V d, mt so thao
hot dng c th duc xc d|nh cho cc h thng chuyn mch vin thng boi v cc
cng ty vin thng bit tt ca cc mu cuc gi m cc h thng d phai diu khin.
Thng thung, so thao hot dng nhu l cc du vo c kha nang cao nht duc
sinh ra v duc phn vo mt lung nho cc lp, nhu chi ra o bn tri hnh 6.2. C
mt lung ln cc lp c cc du vo c kha nang khng xay ra cao nhung khng
phai l khng th xay ra. N duc chi ra o bn phai hnh 6.2. Du () c nghia l cn
c rt nhiu du vo khc.
Musa (Musa, 1993; Musa, 1998) d xut cc nguyn tc d pht trin cc so thao
hot dng. ng l mt k su h thng vin thng, v ng d c thi gian di lm vic
tp hp d liu ngui dng trong linh vc ny. Do d, ng d rt ra kt lun: Qu
trnh pht trin so thao hot dng tuong di d lm. Vi mt h thng yu cu cng
sc pht trin cua khoang 15 ngui lm vic trong mt nam, so thao hot dng d
duc pht trin trong khoang 1 ngui/thng. Trong cc trung hp khc, h sinh so
thao hot dng cn nhiu thi gian hon (2-3 ngui/nam), nhung chi ph d trai rng
ra h thng pht hnh. Musa tnh rang cng ty cua ng (mt cng ty vin thng) c t
nht 10 nhm d du tu vo vic pht trin so thao hot dng.
Tuy nhin, khi mt h thng phn mm mi v tin tin duc pht hnh, ta rt kh
don truc duc n s duc su dng nhu th no d dua ra so thao hot dng chnh
xc. Rt nhiu ngui dng vi trnh d, kinh nghim v s mong mun khc nhau c
th su dng h thng mi. N khng c co so d liu l|ch su cch dng. Ngui dng
...
S du vo
Cc loai du vo
Hnh 6.2 Mt so thao hoat dng
http://www.ebook.edu.vn 79
c th su dng h thng theo nhiu cch m ngui pht trin h thng d khng d
don truc.
Vn d tro nn phc tp hon boi v cc so thao hot dng c th thay di lc h
thng d duc su dng. Khi ngui dng nghin cu mt h thng mi v tro nn tin
tuong hon v n, h thung su dng n theo nhng cch phc tp. Do nhng kh
khan d, Hamlet (Hamlet, 1992) cho rang n khng c kha nang d pht trin mt so
thao hot dng tin cy. Nu bn khng chc chn rang so thao hot dng cua bn l
chnh xc, th bn c th khng tin tuong v s chnh xc cua d do tnh tin cy cua
bn.
6.2.2. D don tnh tin cy
Trong lc thm d|nh phn mm, ngui quan l phai phn cng qu trnh kim thu
h thng. V qu trnh kim thu phn mm rt tn km, nn n s duc dng ngay
khi c th v khng kim thu qu h thng. Kim thu c th dng khi mc d yu
cu tnh tin cy cua h thng d duc thc hin. Tt nhin, thinh thoang, cc d don
tnh tin cy c th cho thy mc d yu cu tnh tnh tin cy cua h thng s khng
bao gi duc thc hin. Trong trung hp d, ngui quan l phai dua ra quyt d|nh
kh khan: vit li cc phn cua phn mm hoc sua li m ta h thng.
M hnh qu trnh gia tang tnh tin cy l mt m hnh m tnh tin cy cua h thng
thay di qu gi trong thi gian qu trnh kim thu. Khi cc li h thng duc pht
hin, cc khim khuyt co so dn dn cc li d d duc sua cha, v vy tnh tin cy
cua h thng c th duc cai thin trong lc kim thu v g li h thng. D d don
tnh tin cy, m hnh qu trnh gia tang tnh tin cy nhn thc phai hiu l m hnh
ton hc. Ti khng di vo cc mc c th cua vn d ny, don gian chi thao lun cc
nguyn tc cua qu trnh gia tang tnh tin cy.
C nhiu m hnh qu trnh gia tang tnh tin cy d duc bt ngun t kinh nghim
trong cc linh vc ng dng khc nhau. Nhu Kan (Kan, 2003) d pht biu rang: hu
ht cc m hnh d theo lut s m, vi tnh tin cy tang nhanh khi cc khim khuyt
Tnh tin cy
(ROCOF)
t1 t2 t3 t4 t5
Thoi gian
Hnh 23.3 M hnh chuc nng cua qu trnh gia tng tnh tin cy voi buoc tng bng nhau
http://www.ebook.edu.vn 80
duc pht hin v loi bo (hnh 6.5). Sau d, s tang thm nho dn di v tin ti trng
thi n d|nh khi rt t khim khuyt duc pht hin v loi bo trong ln kim thu
cui cng.
M hnh don gian nht minh ha khi nim gia tang tnh tin cy l m hnh buc
chc nang (Jelinski v Moranda, 1972). Tnh tin cy tang lin tip mi khi mt li
(hoc mt tp li) duc pht hin v sua cha (hnh 6.3) v mt phin ban mi cua
phn mm duc to ra. M hnh ny gia su rang s sua cha phn mm lun duc
thc hin chnh xc v vy s li v khim khuyt lin hp cua phn mm giam trong
mi phin ban mi cua h thng. Khi s sua cha duc to ra, ty l xut hin li cua
phn mm (ROCOF) c th giam, nhu trn hnh 6.3. Ch cc chu ky thi gian trn
trc honh phan nh thi gian gia cc ln pht hnh h thng d kim thu, v vy
n thung c chiu di khng bang nhau.
Tuy nhin, trong thc t, cc li phn mm khng lc no cng duc sua trong lc
g li, v khi bn thay di mt chuong trnh, thinh thoang bn dua cc li mi vo
chuong trnh d. Kha nang xut hin cc li d c th cao hon kha nang xut hin cc
li d duc sua cha. Do d, thinh thoang tnh tin cy cua h thng c th tro nn ti
hon trong phin ban mi.
M hnh qu trnh gia tang tnh tin cy don gian buc bang nhau cng gia su tt ca
cc li dng gp nhu nhau vo tnh tin cy cua h thng, v mi li duc sua cha
dng gp mt lung nhu nhau vo vic gia tang tnh tin cy. Tuy nhin, khng phai
tt ca cc li c kha nang xay ra nhu nhau. Sua cha cc li ph bin dng gp vo
vic gia tang tnh tin cy nhiu hon l sua cha cc li chi thinh thoang xay ra. C l
bn cng cho rang d dng tm kim cc li c kha nang xay ra trong qu trnh kim
thu, v th tnh tin cy c th tang nhiu hon khi cc li t c kha nang xay ra duc
pht hin.
t1 t2 t3 t4 t5
Thoi gian
Tnh tin cy
Mt li duoc sua
v tnh tin cy giam
(tng thm ROCOF)
Tnh tin cy
(ROCOF)
tng khc nhau
lm xut hin cc li moi
Hnh 6.4 M hnh chuc nng qu trnh gia tng tnh tin cy voi buoc tng ngu nhin
http://www.ebook.edu.vn 81
Cui cng, cc m hnh nhu d xut cua Littlewood v Verrall dua ra cc vn d
bang cch dua mt thnh phn ngu nhin vo qu trnh gia tang tnh tin cy nham
cai thin tc dng cua mt sua cha trong phn mm. Do d, mi sua cha khng
dn dn cng mt lung tang tnh tin cy bang nhau trong phn mm, cc bin di
ph thuc vo tnh ngu nhin (hnh 6.4).
M hnh cua Littewood v Verrall cho php phu nhn qu trnh gia tang tnh tin cy
khi s sua cha dua vo nhiu li hon. D cng l m hnh khi mt li duc sua
cha, tnh tin cy duc cai thin trung bnh boi mi sua cha giam. L do l hu ht
cc li c kha nang xay ra c th d duc pht hin sm trong qu trnh kim thu.
Sua cha cc li d dng gp phn ln vo qu trnh gia tang tnh tin cy.
Cc m hnh o trn l cc m hnh ri rc phan nh qu trnh gia tang tnh tin cy.
Khi mt phin ban mi cua phn mm d duc sua li duc dua di kim thu, n nn
c ty l li xut hin thp hon phin ban truc. Tuy nhin, d d don tnh tin cy s
dt duc sau khi thc hin kim thu, chng ta cn m hnh ton hc lin tc. Nhiu
m hnh ny nhn duc t cc linh vc ng dng khc nhau, d duc d xut v so
snh.
Don gian, bn c th d don tnh tin cy bang cch kt hp d liu do tnh tin cy
v m hnh nhn bit tnh tin cy. Sau d, bn ngoi suy m hnh d vi cc mc yu
cu tnh tin cy v quan st khi mt mc yu cu tnh tin cy s dt duc (hnh 6.5).
Do d, kim thu v g li phai duc thc hin lin tc cho dn khi thoa mn cc yu
cu.
D don tnh tin cy cua h thng t m hnh qu trnh gia tang tnh tin cy c hai
li ch chnh:
1. Lap k hoach kim thu: dua ra lich kim thu hin tai, ban c th du don khi no
qu trnh kim thu duoc hon thnh. Nu diu d kt thc sau ngy du kin pht
Tnh tin cy
Tnh tin cy
m hnh tnh tin cy
Duong cong
Uoc luong thoi gian
dat duoc tnh tin cy
Thoi gian
=Tnh tin cydoduoc
yu cu
Hnh 6.5 Du don tnh tin cy
http://www.ebook.edu.vn 82
hnh h thng, th ban phai trin khai b sung ti nguyn cho vic kim thu v g
li d tng nhanh ty l pht trin tnh tin cy.
2. Su am phn khch hng: Di khi m hnh tnh tin cy cho thy su tng ln cua
tnh tin cy rt chm v su thiu cn xung cua cc c gng kim thu duoc yu cu
voi loi ch dat duoc tuong di t. N c th dng gi d dm phn lai cc yu cu v
tnh tin cy voi khch hng. Mt su lua chon khc, m hnh d du don tnh cc
yu cu v tnh tin cy c th se khng bao gio dat duoc. Trong truong hopd, ban
se phai dm phn lai voi khch hng v cc yu cu v tnh tin cy cua h thng.
O dy, ti d don gian ha m hnh qu trnh gia tang tnh tin cy nham dem li
cho bn nhng hiu bit co ban v khi nim ny. Nu bn mun su dng nhng m
hnh ny, bn phai hiu bit cc kin thc ton hc bn dui nhng m hnh ny v
cc vn d thc t cua chng. Littlewood v Musa d vit cc vn d bao qut cua cc
m hnh gia tang tnh tin cy v Kan vit mt cun sch tm tt rt hay v vn d
ny. Nhiu tc gia khc d m ta cc kinh nghim thc t cua h khi su dng cc m
hnh qu trnh gia tang tnh tin cy.
6.3. Dam bao tnh an ton
Cc qu trnh dam bao tnh an ton v thm d|nh tnh tin cy c mc tiu khc
nhau. Bn c th xc d|nh s lung tnh tin cy bang cch su dng mt vi d do, do
d do duc tnh tin cy cua h thng. Vi cc gii hn cua qu trnh do, bn bit cc
mc yu cu cua tnh tin cy c th dt duc hay khng. Tuy nhin, tnh an ton
khng th xc d|nh dy du nghia theo s lung, v do d khng th duc do khi
kim thu h thng.
V vy, dam bao tnh an ton lin quan ti vic chng minh mc d tin cy cua h
thng, n c th thay di t rt thp dn rt cao. Dy l mt chu d vi cc chuyn
gia phn don da trn cc du hiu cua h thng, mi trung v cc qu trnh pht
trin h thng. Trong nhiu trung hp, s tin cy ny phn no da trn kinh
nghim t chc pht trin h thng. Nu truc d mt cng ty d pht trin nhiu h
thng diu khin m d hot dng an ton, th d l diu hp l d cho rang h s tip
tc pht trin cc h thng an ton.
Tuy nhin, s dnh gi phai dam bao boi nhng chng c r rng t thit k h
thng, cc kt qua cua h thng V & V, v cc qu trnh pht trin h thng d duc
su dng. Vi mt s h thng, cc chng c r rng duc thu thp trong mt hp an
ton (xem phn 6.4), n cho php mt ngui diu chinh bn ngoi di dn kt lun s
tin tuong cua ngui pht trin v tnh an ton cua h thng duc chng minh l
dng.
Cc qu trnh V & V vi cc h thng quan trng an ton l ph bin vi cc qu
trnh c th so snh duc cua bt ky h thng no vi cc yu cu tnh tin cy cao. D
phai l qu trnh kim thu bao qut d pht hin cc khim khuyt c th xay ra, v
ti nhng ch thch hp, kim thu thng k c th duc su dng d dnh gi tnh tin
cy cua h thng. Tuy nhin, boi v ty l li cc thp duc yu cu trong nhiu h
thng quan trong an ton, kim thu thng k khng th lun cung cp s dnh gi v
http://www.ebook.edu.vn 83
s lung tnh an ton cua h thng. Cc thu nghim cung cp mt vi bang chng,
m d duc su dng cng vi cc bang chng khc nhu cc kt qua cua s xem xt
li v kim tra tinh , d dua ra kt lun v tnh an ton cua h thng.
S xem xt li bao qut l cn thit trong lc qut trnh pht trin hung tnh an
ton d trung by phn mm ti nhng ngui m s xem xt n t nhiu khung nhn
khc nhau. Pernas d xut 5 loi xem xt li m nn duc uy thc vi h thng quan
trng an ton.
1. xem xt lai chnh xc chuc nng mong doi.
2. xem xt lai cu trc c th duy tr duoc, v c th hiuduoc.
3. xem xt lai d kim tra lai thit k thut ton v cu trc d liu l thch hop voi
hnh vi xc dinh.
4. xem xt lai tnh chc chn cua thit k m, thut ton v cu trc d liu.
5. xem xt lai su dydu cua cc truong hop kim thu.
Mt s tha nhn lm co so cua hot dng v tnh an ton h thng l nhiu thiu
st cua h thng c th dn ti nhng rui ro v tnh an ton quan trng l t hon dng
k so vi tng s thiu st c th tn ti trong h thng d. Dam bao tnh an ton c
th tp trung vo nhng li c tim nang gy rui ro. Nu n c th duc chng minh
rang nhng li d khng th xut hin, hoc nu nhng li d xut hin, s rui ro kt
hp s khng dua dn mt tai nn, th h thng l an ton. Dy l nhng lun chng
co ban v tnh an ton m ti thao lun trong phn ti.
6.3.1. Nhng lun chng v tnh an ton
Vic chng minh mt chuong dng dn, nhu thao lun trong chuong truc, d
duc d ra nhu mt k thut thm d|nh phn mm khoang hon 30 nam truc. Vic
chng minh mt chuong trnh bnh thung chc chn c th duc xy dng cho cc
h thng nho. Tuy nhin, nhng kh khan thc t cua vic chng minh rang mt h
thng dp ng dy du cc dc ta n l qu ln vi t chc xem xt vic chng minh
dng dn tro thnh mt chi ph. Tuy nhin, vi mt s ng dng quan trng, n c
th kinh t d pht trin vic chng minh tnh dng dn nham tang s tin tuong rang
h thng dp ng cc yu cu v tnh an ton v tnh bao mt. Dy l trung hp dc
bit khi chc nang tnh an ton quan trng c th c lp trong mt h thng con nho
m c th duc xc d|nh chnh xc.
Mc d, n c th khng mang li li nhun d pht trin vic chng minh tnh
dng dn cho hu ht cc h thng, thinh thoang n c th thc hin duc d pht
trin nhng lun chng don gian v tnh an ton d chng minh chuong trnh dp
ng cc yu cu v tnh an ton. Vi mt lun chng v tnh an ton, n c th khng
cn thit d chng minh cc chc nang cua chuong trnh duc xc d|nh. N chi cn
thit d chng minh rang s thc thi cua chuong trnh khng th dn ti mt trng
thi khng an ton.
http://www.ebook.edu.vn 84
Hu ht cc k thut hiu qua d chng minh tnh an ton cua h thng l chng
minh bang phan chng. Bn bt du vi gia thit rang mt trng thi khng an ton
d duc xc d|nh bang phn tch rui ro h thng, c th duc di dn khi chuong trnh
thc thi. Bn vit mt thuc tnh d xc d|nh d l trng thi khng an ton. Sau d,
mt cch c h thng, bn phn tch m chuong trnh v chi ra, vi tt ca cc dung
dn chuong trnh dn ti trng thi d, diu kin kt thc cua cc dung dn d mu
thun vi thuc tnh trng thi khng an ton. Nu c trung hp d, gia thit ban
du cua trng thi khng an ton l khng dng. Nu bn lp li diu d vi tt ca
d|nh danh rui ro, th phn mm l an ton.
Mt v d, xem xt m trn hnh 6.6, n c th l mt phn thc thi cua h thng
phn phi insulin. Pht trin mt lun chng cho m ny bao gm vic chng minh
liu lung thuc duc quan l khng bao gi nhiu hon mc ln nht d duc lp
cho mi bnh nhn. Do d, khng cn thit d chng minh rang h thng phn phi
dng liu lung thuc, m chi don thun l n khng bao gi phn phi qu liu
lung cho bnh nhn.
- Liu luong Insulin duoc phn phi l mt hm cua mucd duong trong
mu, liu luong Insulin phn phi ln truoc v thoi gian phn phi liu
thuc truoc.
currentDose =computeInsulin();
// Tnh an ton kim tra v diu chinh currentDose nu cn thit
// Cu lnh if-1
if (previousDose ==0)
{
if (currentDose >16)
currentDose =16;
}
else
if (currentDose >(previousDose * 2))
currentDose =previousDose * 2;
// Cu lnh if-2
if (currentDose <minimumDose)
currentDose =2;
else if (currentDose >maxDose)
currentDose =maxDose;
administerInsulin(currentDose);
Hnh 6.6 M phn phi Insulin
http://www.ebook.edu.vn 85
D xy dng nhng lun chng v tnh an ton, bn xc d|nh tin diu kin cho
trng thi khng an ton , trong trung hp d nhu l currentDose > maxDose. Sau
d, bn chng minh rang tt ca cc dung dn chuong trnh dua dn s mu thun
cua diu khng d|nh tnh khng an ton d. Nu d l mt trung hp, diu kin
khng an ton khng th l dng. Do d, h thng l an ton. Bn c th cu trc v
dua ra nhng lun chng v tnh an ton bang d th| nhu trn hnh 6.7.
Nhng lun chng v tnh an ton, nhu duc chi ra trn hnh 6.7, l ngn hon nhiu
so vi vic thm tra h thng theo dng trnh t. Du tin, bn xc d|nh tt ca cc
dung dn c th m dua ti trng thi khng an ton tim nang. Bn lm vic v
pha sau t trng thi khng an ton v xem xt kt qua cui cng ti tt ca cc bin
trng thi trn mi dung dn dn ti n. Bn c th bo qua cc tnh ton truc d
(nhu cu lnh if th nht trong hnh 6.7) trong cc lun chng tnh an ton. Trong v
d ny, tt ca nhng g bn cn lin quan ti l mt tp cc gi tr| c th xay ra cua
currentDose ngay lp tc truc khi phuong thc administerInsulin duc thc thi.
Hnh 6.7 Cc lun chung tnh an ton dua trn su m ta nhng mu thun
http://www.ebook.edu.vn 86
Trong cc lun chng v tnh an ton chi ra trn hnh 6.7, c ba dung dn chuong
trnh c th dn ti vic gi ti phuong thc administerInsulin. Chng ti mun
chng minh rang lung insulin phn phi khng bao gi vut qu maxDose. Tt ca
cc dung dn chuong trnh c th dn ti phuong thc administerInsulin d duc
xem xt:
1. Khng c nhnh no cua cu lnh if thu hai duoc thuc thi. N chi c th xay ra nu
mt trong hai diu sau xay ra: currentDose l lon hon hoc bng minimumDose
v nho hon hoc bng maxDose.
2. Nhnh then cua cu lnh if thu 2 duoc thuc thi. Trong truong hop d, vic gn
currentDose bng 0 duoc thuc thi. Do d, hudiu kind l currentDose =0.
3. Nhnh else-if cua cu lnh if thu 2 duoc thuc thi. Trong truong hop d, vic gn
currentDose bng maxDose duoc thuc thi. Do d, hu diu kin d l
currentDose=maxDose.
Trong ca ba trung hp trn, cc hu diu kin mu thun vi cc tin diu kin v
tnh khng an ton l liu lung thuc duc phn phi l nhiu hon maxDose, v vy
h thng l an ton.
6.3.2. Dam bao quy trnh
Ti d thao lun tm quan trng cua vic dam bao cht lung cua qu trnh pht
trin h thng trong phn gii thiu chuong ny. Dy l diu quan trng vi tt ca
cc h thng quan trng nhung n dc bit quan trng vi cc h thng tnh an ton
quan trng. C 2 l do cho diu ny:
1. Cc rui ro t xay ra trong cc h thng quan trong v n c th l khng th xay ra
duoc trong thuc t d m phong chng trong lc kim thu h thng. Ban khng th
dua trn kim thu bao qut d tao ra cc diu kin c th dn toi mt tai nan.
2. Cc yu cu v tnh an ton, nhu ti d thao lun trong chuong 9, di khi l nhng
yu cu se khng (shall not) loai tru hnh vi khng an ton cua h thng. N
khng th duoc chung minh thuyt phuc thng qua kim thu v cc hoat dng thm
dinh khc rng cc yu cuddduoc thuc thi.
M hnh vng di cho qu trnh pht trin h thng tnh an ton quan trng lm
cho diu d r rng rang s ch r rng nn dnh cho tnh an ton trong tt ca cc
buc cua quy trnh phn mm. Diu d c nghia l cc hot dng dam bao tnh an
ton phai duc bao gm trong quy trnh. N bao gm:
1. Vic tao thnh mt doan rui ro v gim st h thng ln theo nhng rui ro tu phn
tch tnh rui ro ban du thng qua kim thu v thmdinh h thng.
2. B nhim vo du n cc k su v tnh an ton, nhng nguoi c trch nhim r rng
v tnh an ton cua h thng.
3. Su dung tnh an ton bao qut xem xt lai trong ton b quy trnh pht trin.
4. Tao thnh su chung nhn tnh an ton h thng boi tnh an ton cua cc thnh phn
quan trong tnh an ton d chnh thucduoc chung nhn.
5. Su dung h thng quan l cu hnh rt chi tit (xem chuong 29), m d duoc su
dungd theo di tt ca cc ti liu v tnh an ton lin quan v gi n trong tung
buoc voi ti liu k thut lin quan. C mt dim nho trong thu tuc thmdinh
http://www.ebook.edu.vn 87
nghim ngt nu mt li trong cu hnh quan l c nghia l mt h thng khng
dngduoc phn phi toi khc hng.
D minh ha vic dam bao tnh an ton, ti d su dng qu trnh phn tch rui ro
m n l mt phn thit yu cua qu trnh pht trin cc h thng tnh tin cy quan
trng. Phn tch rui ro lin quan dn vic xc d|nh cc rui ro, kha nang c th xay ra
cua chng v kha nang m cc rui ro d s dn dn tai nn. Nu qu trnh pht trin
bao gm cc du hiu r rng t nhn dng rui ro trong chnh h thng d, th mt
lun c c th chng minh duc ti sao cc rui ro d khng dn dn cc tai nn. Dy
c th duc b sung vo cc lun c v tnh an ton, nhu d thao lun trong phn
6.2.1. Khi s xc nhn bn ngoi duc yu cu truc khi h thng duc su dng (v
d, mt my bay), n thung l diu kin xc nhn rang cc du vt ny c th duc
chng minh.
Cc ti liu tnh an ton trung tm l hazard log, noi m cc rui ro duc xc d|nh
trong qu trnh dc ta duc chng minh v chi ra. Sau d, Hazard log duc su dng
tai mi giai don trong qu trnh pht trin phn mm d dnh gi rang giai don
pht trin d d dua cc rui ro d vo ban k khai. Mt v d don gian cua mt
hazard log du vo cho h thng phn phi insulin duc chi ra trn hnh 6.8. Mu ti
liu ny chng minh qu trnh phn tch rui ro v chi ra cc yu cu thit k m d
duc sinh ra trong qu trnh ny. Cc yu cu thit k d duc d d|nh d dam bao
rang h thng diu khin c th khng bao gi phn phi qu liu lung insulin ti
ngui dng.
Hazard Log Trang 4: duoc in ngy 20.02.2003
H thng: H thng bom Insulin File: Insulin/Safety/HazardLog
K su dam bao: J ames Brown Phin ban Log: 1/3
Xcdinh rui ro: Luong Insulin duoc phn phi qu liu luong toi bnh nhn
Xcdinh boi: J aneWilliams
Muc quan trong: 1
Xcdinh su rui ro: Cao
Xcdinh cy khim khuyt: C ngy 24.01.99 Vi tr: Hazard Log, trang 5
Nguoi tao cy khim khuyt: J ane Williams v Bill Smith
Kim tra cy khim khuyt: Ngy 28.01.99 Nguoi kim tra J ames Brown.
Cc yu cu thit k tnh an ton cua h thng
1. H thng se bao gm phn mm tu kim thu m se kim tra h thng cam
bin, dng h v h thng phn phi Insulin.
2. Phn mm tu kim tra se duoc thuc thi t nht mt ln mi pht.
3. Khi phn mm tu kim tra pht hin mt sai st trong bt ky mt thnh
phn no, mt canh bo se duoc pht ra v bom hin thi se cho bit tn cua
thnh phn m sai st dduoc pht hin. Vic phn phi Insulin se bi tr
hon.
4. H thng se kt hop voi h thng ghi dd cho php nguoi su dung h
thng suadi liu luong Insulin d tnh d phn phi boi h thng.
5. Luong ghi d nn duoc gioi han khng lon hon mt gi tri dinh truoc l
mt tp m h thngdduoc cu hnh boi cc chuyn gia y t.
Hnh 6.8 Mt trang don gian Hazard log
http://www.ebook.edu.vn 88
Nhu chi ra trn hnh 6.8, cc c nhn ch|u trch nhim v tnh an ton nn duc
xc d|nh r rng. Cc d n pht trin h thng tnh an ton quan trng nn b
nhim mt k su v tnh an ton, ngui m khng lin quan trong vic pht trin h
thng. Trch nhim cua k su ny l dam bao vic kim tra tnh an ton thch hp d
duc to thc hin v chng minh. H thng d cng c th yu cu mt ngui thm
d|nh tnh an ton dc lp duc b nhim t mt t chc bn ngoi, ngui ny s bo
co trc tip ti khch hng cc vn d v tnh an ton.
Trong mt s linh vc, cc k su h thng c trch nhim v tnh an ton phai duc
cp giy chng nhn. O Anh, diu ny c nghia l h phai duc tha nhn nhu l
mt thnh vin cua mt vin k ngh (v din, co kh,) v phai l cc k su c du tu
cch hnh ngh. Cc k su thiu kinh nghim, cht lung km c th khng dam bao
trch nhim v tnh an ton.
Hin nay, diu ny khng duc p dng vi cc k su phn mm, mc d n d
duc thao lun rng ri v giy php cua cc k su o mt s bang cua nuc M
(Knight v Leveson, 2002; Begert, 2002). Tuy nhin, trong tuong lai, cc tiu chun
cua qu trnh pht trin phn mm tnh an ton quan trng c th yu cu cc k su
v tnh an ton cua d n nn l cc k su d duc cp giy chng nhn chnh thc
vi mt cp d thp nht cua qu trnh do to.
6.3.3. Kim tra tnh an ton khi thc hin
K thut tuong t c th duc su dng d gim st dng cc h thng tnh an ton
quan trng. Cc m kim tra c th duc thm vo h thng d kim tra mt rng
buc v tnh an ton. N dua mt ngoi l nu rng buc d b| vi phm. Cc rng
buc v tnh an ton nn lun duc gi ti cc dim c th trong mt chuong trnh c
th duc biu th| nhu cc xc nhn. Cc xc nhn d m ta cc diu kin phai duc
dam bao truc khi cc cu lnh tip theo c th duc thc hin. Trong cc h thng
tnh an ton quan trng, cc xc nhn nn duc sinh ra t cc dc ta tnh an ton. N
duc d d|nh d dam bao hnh vi an ton hon hnh vi theo cc dc ta.
Cc xc nhn c th c gi tr| dc bit trong vic dam bao tnh an ton trong giao
tip gia cc thnh phn cua h thng. V d, trong h thng phn phi insulin, liu
thuc cua ngui quan l insulin cng vi cc tn hiu duc sinh ra ti bom insulin d
phn phi lung tang xc d|nh insulin (hnh 6.9). Lung tang insulin cng vi liu
lung insulin ln nht cho php c th duc tnh ton truc v duc tnh dn nhu
mt xc nhn trong h thng.
Nu c mt li trong vic tnh ton currentDose, currentDose l mt bin trng thi
gi lung insulin duc phn phi, hoc nu gi tr| ny d b| sua di theo mt cch
no d, th n s b| chn li ti buc ny. Mt liu lung insulin qu mc s khng
duc phn phi, khi phuong thc kim tra dam bao rang bom s khng phn phi
nhiu hon maxDose.
http://www.ebook.edu.vn 89
T cc xc nhn tnh an ton duc bao gm nhu cc li ch giai chuong trnh, vit
m d kim tra cc xc nhn d c th duc sinh ra. Bn c th xem hnh 6.9, cu
lnh if sau cc ch giai xc nhn kim tra xc nhn d. V nguyn tc, vic sinh cc
m ny c th duc sinh ra mt cch t dng bang cch su dng b tin xu l xc
nhn. Tuy nhin, cc cng c thung phai duc vit ring bit v thng thung m
xc nhn duc sinh bang tay.
6.4. Cc trung hp an ton v tin cy duc
Cc trung hp an ton v, tng qut hon, cc trung hp tin cy duc cu trc
thnh ti liu, dua ra cc lun chng v chng c chi tit d chng minh h thng l
an ton hoc mc yu cu cua tnh tin cy duc d dt duc. Vi nhiu loi h thng
quan trng, dua ra mt trung hp an ton l mt yu cu theo lut d|nh, v trung
hp d phai thoa mn mt s chng nhn chnh truc khi h thng c th duc trin
khai.
Nhng ngui diu chinh duc to ra boi chnh phu d dam bao rang k ngh mt
khng duc li dng s thiu cc tiu chun quc gia v tnh an ton, tnh bao mt,
C nhiu ngui diu chinh trong nhiu linh vc k ngh khc nhau. V d, ngnh
hng khng duc diu chinh boi nhng ngui trong linh vc hng khng quc gia
nhu FAA (ti M) v CAA (ti Anh). Nhng ngui diu chinh ngnh dung st tn
ti d dam bao tnh an ton trong ngnh dung st, nhng ngui diu chinh ht nhn
phai chng nhn tnh an ton cua khu vc xu l ht nhn truc khi n c th hot
dng. Trong linh vc ngn hng, cc ngn hng nh nuc ph v vi vai tr nhu
nhng ngui diu chinh, thit lp cc thu tc v cc bi tp d giam kha nang gian
static void administerInsulin() throw SafetyException {
int maxIncrements =InsulinPump.maxDose / 8;
int increments =InsulinPump.currentDose / 8;
// xc nhan currentDose <= InsulinPump.maxDose;
if (InsulinPump.currentDose >InsulinPump.maxDose)
throw new SatefyException (Pump.doseHigh);
else
for (int i =1; i <=increments; i++)
{
generateSignal();
if (i >maxIncrements)
throw new SatefyException (Pump.incorrectIncrements);
} // for loop
} // administerInsulin
Hnh 6.9 Quan l insulin bang cch kim tra lc thc thi
http://www.ebook.edu.vn 90
ln v bao v khch hng truc nhng rui ro. Khi cc h thng phn mm ngy cng
tang tm quan trng trong co so h tn cua cc quc gia, nhng ngui diu chinh tro
nn lin quan nhiu hon ti cc trung hp an ton v tin cy duc cua cc h thng
phn mm.
Thnh phn M ta
M ta h thng Tng quan v h thng v m ta cc thnh phn
quan trong cua n.
Cc yu cu tnh an ton Cc yu cu tnh an ton rt ra tu dc ta yu cu cua
h thng.
Phn tch cc rui ro v
cc nguy co
Cc ti liu m ta cc rui ro v nguy co dduoc xc
dinh v cc tiu chun duoc dua ra d giam cc
nguy co d.
Xc nhn v thmdinh M ta vic su dung thu tuc V & V v, ch thch
hop, cc kim thu duoc thuc hin voi h thng.
Bo co xem xt lai Cc h so cua tt ca thit k v tnh an ton duoc
xem xt lai
Nhm nng luc Chung co nng luc cua tt ca cc nhm cng voi
vic pht trin v thmdinh h thng tnh an ton
lin quan.
Qu trnh QA Cc h so cua qu trnh dam bao cht luong duoc
thuc hin trong khi pht trin h thng.
Qu trnh quan l su thay
di
Cc h so cua tt ca cc thay di duoc dua ra v cc
hnh dng thuc hin v noi thch hop, su bin minh
tnh an ton cua cc thay di d.
Cc truong hop kt hop
tnh an ton
Xem xt toi cc truong hop tnh an ton khc c th
tc dng toi cc truong hop an ton.
Vai tr cua nhng ngui diu chinh l kim tra xem h thng d hon thnh l an
ton v c th thc hin duc, v vy h chu yu duc tp hp khi mt d n pht
trin duc hon thnh. Tuy nhin, nhng ngui diu chinh v nhng ngui pht
trin him khi lm vic dc lp, h lin lc vi di pht trin d xc minh nhng g
phai tnh dn trong mt trung hp an ton. Nhng ngui diu chinh v nhng
ngui pht trin cng nhau thm tra cc qu trnh v cc thu tc d dam bao rang n
d duc ban hnh v chng minh thao mn ngui diu khin.
Tt nhin, ban thn phn mm khng nguy him. N chi nguy him khi n duc
nhng vo trong mt h thng ln, h thng da trn my tnh hoc h thng chuyn
mn x hi m nhng sai st cua phn mm c th dn dn sai st cua cc thit b|
khc hoc cuar cc qu trnh m c th gy ra tn hi v ci cht. V vy, mt trung
hp an ton cua phn mm lun lun l mt phn cua trung hp an ton h thng
rng hon d chng minh tnh an ton cua ton b h thng. Khi xy dng mt trung
hp an ton cua phn mm, bn phai lin h nhng sai st cua phn mm vi nhng
sai st cua h thng ln hon v chng minh rang hoc nhng sai st cua phn mm s
Hnh 6.11. Cc thnh phn cua mt truong hop an ton cua phn mm
http://www.ebook.edu.vn 91
khng xay ra hoc n s khng lm lan rng ra theo cch lm cho cc sai st nguy
him cua h thng c th xay ra.
Mt trung hp an ton l mt tp cc ti liu bao gm m ta h thng d duc
chng nhn, thng tin v cc qu trnh su dng d pht trin h thng v cc lun
chng hp logic d chng minh rang h thng l c kha nang an ton. Bishop v
Bloomfield d dua ra d|nh nghia ngn gn v mt trung hp an ton nhu sau:
Mt ti liu nhiu bng chung cung cp mt lun chung thuyt phuc v hop l rng h
thng thoa mn tnh an ton voi ung dungdua ra trong mi truongdua ra.
S t chc v ni dung cua mt trung hp an ton ph thuc vo kiu cua h
thng d duc chng nhn v ng canh hot dng cua n. Hnh 6.11 chi ra mt t
chc c th xay ra vi mt trung hp an ton cua phn mm.
Thnh phn then cht cua mt trung hp an ton l mt tp cc lun chng hp
logc v tnh an ton cua h thng. N c th l cc lun chng xc thc (s kin X s
hoc s khng xay ra) hoc cc lun chng kha nang (xc xut cua s kin X l 0.Y);
khi duc kt hp, n c th chng minh duc tnh an ton. Nhu trn hnh 24.12, mt
lun chng l mt mi lin h gia ci g duc nghi l mt trung hp (mt tuyn b)
v khung chng c d duc thu thp. V co ban, lun chng d giai thch ti sao
tuyn b d (ni chung diu g d l an ton) c th duc suy ra t cc chng c d.
Tt nhin, dua ra nhiu mc t nhin cua cc h thng, cc tuyn b duc t chc
trong mt h thng phn cp. D chng minh rang mt tuyn b mc cao l hp l,
du tin bn phai thc hin vi cc lun chng mc thp hon. Hnh 24.13 chi ra mt
phn cua h thng phn cp tuyn b phn phi kim tim Insulin.
Nhu mt thit b| y t, h thng bom Insulin c th phai duc chng nhn bn ngoi.
V d, o Anh, MDD phai dua ra mt chng nhn an ton vi bt ky thit b| y t no
duc bn ti Anh. Nhiu lun chng khc nhau c th phai dua ra d chng minh
tnh an ton cua h thng d. V d, cc lun chng dui dy c th l mt phn
trung hp an ton cua h thng bom Insulin.
Chung co
Chung co
Chung co
Lun cu Tuynb
Hnh 6.12 Cu trc cua mt lun c
http://www.ebook.edu.vn 92
Tuyn b: Mt liu thuc lon nht duoc tnh boi h thng bom Insulin se khng vuot
qu maxDose.
Chng c: Lun chung an ton cho h thng Insulin (hnh 6.7).
Chng c: Cc tp d liu thu nghim cho h thng Insulin.
Chng c: Bo co phn tch tinh cho phn mm bom Insulin.
Lun c: Lun cu an ton chi ra liu luong insulin lon nht c th duoc tnh bng voi
maxDose.
Trong 400 thu nghim, gi tri cua Dose duoc tnh chnh xc v khng bao gio vuot qu
maxDose.
Phn tch tinh phn mmdiu khin khng xut hin di thuong.
Tt ca du hop l d thua nhn rng tuyn b dduoc khngdinh.
Tt nhin, dy l mt lun chng rt don gian, v trong mt trung hp an ton thc
t c th tham khao dn cc chng c s duc dua ra. Boi v, chi tit t nhin cua n,
do d, cc trung hp an ton l cc ti liu rt di v phc tp. Cc cng c phn
mm khc nhau c kha nang gip xy dng chng, v ti d bao gm cc lin kt ti
cc cng c d trong cc trang web cua cun sch ny.
Nhng vn d trng tm
maxDose l mt liu
thuc an ton cho
nguoi dng h thng
bom Insulin
Khi thao tc bnh thuong,
liu thuc lon nht duoc
tnh se khng vuot qu
maxDose
Luong thuc lon nht
duoc tnh boi phn
mm bom se khng
vuot qu maxDose
maxDose duoc
thit dt chnh
xc khi bom
duoc cu hnh
Nu phn mm bi li,
liu thuc lon nht
duoc tnh se khng
vuot qu maxDose
Bom insulin se khng phn
phi mt liu thuc insulin
khng an ton
Hnh 6.13 H thng phn cp tuyn b trong truong hop tnh an ton
cua h thng bom insulin
http://www.ebook.edu.vn 93
Kim thu thng k duoc su dung dnh gi tnh tin cy cua phn mm. N dua vo
kim thu h thng voi mt tp d liu thu nghim phan nh so thao hoat dng cua
phn mm. D liu thu nghim c th duoc sinh ra tu dng.
Cc m hnh pht trin tnh tin cy biu thi su thay di tnh tin cy khi cc thiu st
duoc tho g tu phn mm trong qu trnh kim thu. Cc m hnh tnh tin cy c
th duoc su dungd du don khi cc yu cu tnh tin cy se dat duoc.
Chung minh tnh tin cy l mt k thut hiu qua dam bao tnh tin cy cua san
phm. N chi ra cc diu kin c tnh rui ro xc dinh c th khng bao gio xut
hin. N thuongdon gian hon vic chung minh rng chuong trnh dp ung dy du
dc ta.
Diu quan trongd c mt dinh nghia r rng, chung nhn qu trnh pht trin cc
h thng tnh tin cy quan trong. Qu trnh d phai bao gm su xc nhn v gim
st cc rui ro tim nng.
Thmdinh tnh bao mt c th duoc thuc hin bng cch su dung phn tch dua
trn kinh nghim, phn tch dua trn cng cu hoc di h(tiger teams) m m
phong vic tn cng vo h thng.
Cc truong hop tnh an ton tp hop tt ca cc chung co d chung minh mt h
thng l an ton. Cc truong hop an ton d duoc yu cu khi mt b diu khin
bn ngoi phai xc nhn h thng truoc khi n duoc su dung.
Best practices in code inspection for safety-critical software. Bi bo gioi thiu mt ban
lit k cc muc can kim tra cua cc nguyn tc a kim tra v xem xt phan mm tnh an
ton quan trong. (J.R. de Almeida, IEEE Software, 20(3), May/June 2003).
Statically scanning Java code: Finding security vulnerabilities. y l mt bi bo hay
v van a ngn nga vic tan cng tnh bao mat. N thao luan cch cc tan cng a auoc
thuc hin v cch pht hin chng bng mt phn tch tinh. (J. Viega, IEEE Software,
17(5), September/Octorber 2000).
Software Reliability Engineering: More Reliable Software, Faster Development and
Testing. y chc chn l r rng v vic su dung cc so thao thao tc v m hnh tnh
tin cay a anh gi tnh tin cay. N bao gm kinh nghim chi tit v kim thu thn k. (J.D.
Musa, 1998, McGraw-Hill).
Safety-critical Computer System. y l mt cun sch gio khoa rat hay bao gm mt
s chuong hay v vi tr cua nhng phuong thuc hnh thuc trong qu trnh pht trin phan
mm tnh tin cay quan trong. (N. Storey, 1996, Addison-Wesley).
Safeware: System Safety and Computers. Cun sch ny bao gm mt s chuong v vic
tham ainh cc h thng tnh an ton quan trong voi rat nhiu chi tit hon ti a aua ra o
ay v vic su dung nhng luan chung v tnh an ton dua trn cy thiu st. (N. Leveson,
1995, Addison-Wesley).
Bi tp
1. M ta cch ban se su dung d thmdinh dc ta tnh tin cy cua h thng siu thi m
band xc dinh trong bi tp 9.8. Cu tra loi cua ban nn bao gm su m ta cc cng
cu thmdinh c th duoc su dung.
http://www.ebook.edu.vn 94
2. Giai thch tai sao thuc t khng th lm duoc vic thmdinhdc ta tnh tin cy khi c
gioi han r rng cua rt t li qua ton b cucdoi cua mt h thng.
3. Su dung tc phm vn hoc nhu thng tin nn tang, vit mt bo co cho nguoi quan l
(nhng nguoi chua c kinh nghim trong linh vuc ny) v cch su dung m hnh pht
trin tnh tin cy.
4. C hop voi daoduc khng khi mt k su dng d phn phi mt h thng phn mm
m d bit c cc thiu st toi khch hng? Diu d c th tao nn nhiu diu khc
nhau nu khch hng ni c tn tai cc thiu st trong phn mm? Nhu th no l hop
ld dua ra tuyn b v tnh tin cy cua phn mm trong hon canhd?
5. Giai thch tai sao dam bao tnh tin cy cua h thng khng phai l mt su dam bao v
tnh an ton cua h thng.
6. Co cudiu khin vic kha cua trong diu kin luu tr cht thai hat nhn duoc thit
k d hoat dng an ton. N dam bao li di vo kho lua tr chi duoc cho php khi tm
chn su phng xa duocdt hoc khi mucd phng xa trong phng giam xung dn gi
tri d cho (dangerLevel). D l:
a. Nu tm chn diu khin tu dng l duoc dt trong mt phng, cua c th
duoc mo boi nguoi diu hnh c thm quyn.
http://www.ebook.edu.vn 95
CHUONG 7: KIEM THU PHAN MEM TRONG CNG NGHIJP
Trong phn truc chng ti d gii thiu tng quan v cc mc v loi kim tra phn
mm (KTPM) co ban. Thc t di su vo tng mc v loi kim tra, cn c rt nhiu
kim tra dc th khc na, mang tnh chuyn bit cho tng vn d hoc tng loi ng
dng. Trong phn ny, chng ti s gii thiu chi tit v nhng buc co ban cua mt
quy trnh KTPM, lm th no d dnh gi v cai tin nang lc KTPM cua mt t
chc thng qua m hnh TMM (Testing Maturity Model), duc cc chuyn gia dnh
gi kh tt, dnh ring cho hot dng KTPM
7.1. QUY TRNH KIEM TRA PHAN MEM CO BAN
Truc khi tm hiu mt quy trnh kim tra phn mm co ban, ta cn hiu hai khi
nim sau: Test Case v Test Script.
7.1.1. Test Case
Mt Test Case c th coi nm na l mt tnh hung kim tra, duc thit k d kim
tra mt di tung c thoa mn yu cu dt ra hay khng. Mt Test Case thung bao
gm 3 phn co ban:
M ta: dc ta cc diu kin cn c d tin hnh kim tra.
Nhp: dc ta di tung hay d liu cn thit, duc su dng lm du vo d thc
hin vic kim tra.
Kt qua mong ch: kt qua tra v t di tung kim tra, chng to di tung dt yu
cu.
7.1.2. Test Script
Mt Test Script l mt nhm m lnh dng dc ta k|ch ban dng d t dng ha mt
trnh t kim tra, gip cho vic kim tra nhanh hon, hoc cho nhng trung hp m
kim tra bang tay s rt kh khan hoc khng kha thi. Cc Test Script c th to thu
cng hoc to t dng dng cng c kim tra t dng. (Hnh 04)
Phn sau s giai thch r hon cc buc co ban cua mt quy trnh kim tra.
Hnh 7.1: Mt quy trnh kim tra co ban c th p dung rng ri cho nhiu h thng PM
voi nhngdc trung khc nhau.
http://www.ebook.edu.vn 96
7.1.3. Lp k hoch kim tra
Mc dch: Nham chi d|nh v m ta cc loi kim tra s duc trin khai v thc hin.
Kt qua cua buc lp k hoch l ban ti liu k hoch KTPM, bao gm nhiu chi tit
t cc loi kim tra, chin luc kim tra, cho dn thi gian v phn d|nh lc lung
kim tra vin.
Ban k hoch kim tra du tin duc pht trin rt sm trong chu trnh pht trin
phn mm (PTPM), ngay t khi cc yu cu d tuong di dy du, cc chc nang v
lung d liu chnh d duc m ta. Ban k hoch ny c th duc coi l ban k hoch
chnh (master test plan), trong d tt ca cc k hoch chi tit cho cc mc kim tra v
loi kim tra khc nhau du duc d cp (hnh 05).
Luu , ty theo dc trung v d phc tp cua mi d n, cc k hoch kim tra chi
tit c th duc gom chung vo ban k hoch chnh hoc duc pht trin ring.
Sau khi ban k hoch chnh duc pht trin, cc ban k hoch chi tit ln lut duc
thit k theo trnh t thi gian pht trin cua d n. (Hnh 06 minh ho thi dim
ph hp d thit lp cc k hoch kim tra, gn lin vi qu trnh pht trin cua d
n. Qu trnh pht trin cc k hoch kim tra khng dng li ti mt thi dim, m
lin tc duc cp nht chinh sua cho ph hp dn tn cui d n.).
Hnh 05: Ban k hoach chnh v cc ban k hoach chi tit
Cc buc lp k hoch:
Xc dinh yu cu kim tra: chi dinh b phn, thnh phn cua PM se duoc kim tra, pham
vi hoc gioi han cua vic kim tra. Yu cu kim tra cungduoc dng d xc dinh nhu cu
nhn luc.
Khao st rui ro: Cc rui ro c kha nng xay ra lm chm hoc can tro qu trnh cung nhu
cht luong kim tra. V du: k nng v kinh nghim cua kim tra vin qu yu, khng hiu
r yu cu.
Xc dinh chin luoc kim tra: chi dinh phuong php tip cnd thuc hin vic kim tra
trn PM, chi dinh cc k thut v cng cu h tro kim tra, chi dinh cc phuong php dng
d dnh gi cht luong kim tra cung nhu diu kind xc dinh thoi gian kim tra.
Xc dinh nhn luc,vt luc: k nng, kinh nghim cua kim tra vin; phn cung, phn
mm, cng cu, thit bi gia lp... cn thit cho vic kim tra.
http://www.ebook.edu.vn 97
Lp k hoach chi tit: uoc luong thoi gian, khi luong cng vic, xc dinh chi tit cc
phn cng vic, nguoi thuc hin, thoi gian tt ca cc dim mc cua qu trnh kim tra.
Tng hop v tao cc ban k hoach kim tra: k hoach chung v k hoach chi tit.
Xem xt cc k hoach kim tra: phai c su tham gia cua tt ca nhng nguoi c lin quan,
k ca truong du n v c th ca khch hng. Vic xem xt nhm baodam cc k hoach l
kha thi, cung nhu d pht hin (v sa cha sau d) cc sai st trong cc ban k hoach.
7.1.4. Thit k Test
Muc dch: Nhm chi dinh cc Test Case v cc buoc kim tra chi tit cho mi phin ban
PM. Giai doan thit k test l ht suc quan trong, n baodam tt ca cc tnh hung kim tra
"qut" ht tt ca yu cu cn kim tra.
Hnh 06 cho thy vic thit k test khng phai chi lm mt ln, n se duoc sua cha, cp
nht, thm hoc bot xuyn sut chu ky PTPM, vo bt cu lc no c su thay di yu cu,
hoc sau khi phn tch thy cnduoc sua cha hoc b sung.
Hnh 7: Thoi dim ph hopd thit lp cc k hoach kim tra
Cc buc thit k test bao gm:
- Xc d|nh v m ta Test Case: xc d|nh cc diu kin cn thit lp truc v
trong lc kim tra. M ta di tung hoc d liu du vo, m ta cc kt qua
mong ch sau khi kim tra.
- M ta cc buc chi tit d kim tra: cc buc ny m ta chi tit d hon
thnh mt Test Case khi thc hin kim tra. Cc Test Case nhu d ni o trn
thung chi m ta du vo, du ra, cn cch thc tin hnh nhu th no th
khng duc d|nh nghia. Thao tc ny nham chi tit ha cc buc cua mt
Test Case, cng nhu chi d|nh cc loi d liu no cn c d thc thi cc Test
Case, chng bao gm cc loi d liu trc tip, gin tip, trung gian, h
thng...
- Xem xt v khao st d bao phu cua vic kim tra: m ta cc chi s v cch
thc xc d|nh vic kim tra d hon thnh hay chua? bao nhiu phn tram
PM d duc kim tra? D xc d|nh diu ny c hai phuong php: can c
trn yu cu cua phn mm hoc can c trn s lung code d vit.
http://www.ebook.edu.vn 98
- Xem xt Test Case v cc buc kim tra: Vic xem xt cn c s tham gia
cua tt ca nhng ngui c lin quan, k ca truong d n nham bao dam cc
Test Case v d liu yu cu l du v phan nh dng cc yu cu cn kim
tra, d bao phu dt yu cu, cng nhu d pht hin (v sa cha) cc sai st.
7.1.5. Pht trin Test Script
kt qua nhn duc l dng tin cy, cng nhu nhn bit duc nhng li xay ra khng
phai do PM m do d liu dng d kim tra, mi trung kim tra hoc cc buc kim
tra (hoc Test Script) gy ra. Nu thc s li xay ra do qu trnh kim tra, cn phai
sua cha v kim tra li t du.
7.1.6. Dnh gi qu trnh kim tra
Mc dch: Dnh gi ton b qu trnh kim tra, bao gm xem xt v dnh gi kt qua
kim tra, lit k li, chi d|nh cc yu cu thay di, v tnh ton cc s liu lin quan
dn qu trnh kim tra (chng hn s gi, thi gian kim tra, s lung li, phn loi
li...).
Luu , mc dch cua vic dnh gi kt qua kim tra o buc ny hon ton khc vi
buc thm d|nh kt qua kim tra sau khi hon tt mt vng kim tra. Dnh gi kt
qua kim tra o giai don ny mang tnh ton cc v nham vo ban thn gi tr| cua
cc kt qua kim tra.
Hnh 06 cho thy, vic dnh gi qu trnh v kt qua kim tra duc thc hin song
song vi bt ky ln kim tra no v chi chm dt khi qu trnh kim tra d hon tt.
Dnh gi qu trnh kim tra thung thng qua cc buc sau:
Hnh 07: Cu trc cua mt mc truong thnh trong m hnh TMM
http://www.ebook.edu.vn 99
Phn tch kt qua kim tra v d xut yu cu sua cha: Chi d|nh v dnh gi s
khc bit gia kt qua mong ch v kt qua kim tra thc t, tng hp v gui thng
tin yu cu sua cha dn nhng ngui c trch nhim trong d n, luu tr d kim
tra sau d.
Dnh gi d bao phu: Xc d|nh qu trnh kim tra c dt duc d bao phu yu cu
hay khng, ty l yu cu d duc kim tra (tnh trn cc yu cu cua PM v s lung
code d vit).
Phn tch li: Dua ra s liu phc v cho vic cai tin cc qui trnh pht trin, giam
sai st cho cc chu ky pht trin v kim tra sau d. V d, tnh ton ty l pht sinh
li, xu hung gy ra li, nhng li "ngoan c" hoc thung xuyn ti xut hin.
Xc d|nh qu trnh kim tra c dt yu cu hay khng: Phn tch dnh gi d xem
cc Test Case v chin luc kim tra d thit k c bao phu ht nhng dim cn kim
tra hay khng? Kim tra c dt yu cu d n khng? T nhng kt qua ny, kim
tra vin c th s phai thay di chin luc hoc cch thc kim tra.
Bo co tng hp: Tng hp kt qua cc buc o trn v phai duc gui cho tt ca
nhng ngui c lin quan.
Tm luc: Trn dy l tm tt cc buc co ban cua mt quy trnh KTPM. Ty theo
dc th cua d n, loi kim tra v mc d kim tra, quy trnh kim tra trong thc t
c th chi tit hon nhiu, tuy nhin cc buc trn l xuong sng cua bt ky quy trnh
kim tra no.
Sau dy, chng ti s gii thiu mt m hnh gip cc t chc dnh gi v nng cao
nang lc KTPM cua mnh, d l m hnh TMM (Testing Maturity Model).
7.2. M HNH KIEM TRA PHAN MEM TMM (TESTING MATURITY
MODEL)
Mc d khng t ngui trong cng nhu ngoi ngnh bit hoc d tng nghe v m
hnh CMM/CMMi (Capability Maturity Model/Intergration) cua SEI (Software
Engineering Institute Vin cng ngh phn mm cua M) dng d dnh gi v nng
cao nang lc PTPM, song c l t ngui bit v TMM - m hnh duc cc chuyn gia
dnh gi l kh tt duc dng d dnh gi v nng cao nang lc KTPM cua mt t
chc.
TMM thc ra khng mi, phn ln ni dung cua m hnh ny d duc pht trin t
nam 1996, tuy nhin chng khng duc chp nhn rng ri. Mt trong nhng l do
chnh d l ti liu v TMM rt t. Cc bi bo, sch v n thung duc vit dui
dng nng v l thuyt. Mt l do na l phn ln cc t chc du "say m m hnh
CMM/CMMi v nghi rang qu du cho qui trnh PTPM cua mnh.
Thc t cho thy khng hon ton nhu vy
KTPM l mt b phn sng cn cua quy trnh PTPM, s h tr quan trng d dam
bao cht lung cua PM. Nhiu t chc PM trong thc t vn chua nhn thy tnh non
nt yu km trong quy trnh cng nhu nang lc KTPM cua h. Cc m hnh hng
du hin nay nhu CMM/CMMi/ISO9000 thc t vn khng ch tm dy du vo cc
vn d cua KTPM.
http://www.ebook.edu.vn 100
TMM duc pht trin ti IIT (Illinois Institute of Technology Vin cng ngh
Illinois) vo gia thp nin 90 trong bi canh hu nhu chua c quy trnh PM no d
cp mt cch ton din vn d kim tra trong PTPM. Tuong t SW-CMM, n c mt
cu trc co ban bao gm 5 mc truong thnh. V TMM l m hnh chuyn bit cho
linh vc KTPM, cc mc truong thnh ny trc tip m ta cc mc tiu truong
thnh cua mt quy trnh KTPM. Trong mt t chc PM, TMM khng mu thun m
c th dng dc lp hoc phi hp vi CMM/CMMi.
Mc dch cua TMM l h tr t chc PM dnh gi v cai tin cc quy trnh v nang
lc PM cua mnh, mc tiu cui cng l gip t chc c th:
Hon thnh san phm dng hn v trong phm vi ngn sch d d|nh.
To ra san phm phn mm c cht lung cao hon.
Xy dng nn tang cho vic cai tin quy trnh o phm vi rng trong mt t chc.
TMM bao gm hai thnh phn chnh:
1. Tp hp 5 mc d truong thnh, d|nh nghia nang lc KTPM cua mt t chc. Mi
mc d bao gm:
Mc tiu
Hot dng d hin thc cc mc tiu
Cng vic v phn cng trch nhim
2. M hnh dnh gi nang lc KTPM cua mt t chc, bao gm
Bang cu hoi dnh gi
Thu tc tin hnh dnh gi
Hung dn d chn la v hun luyn nhm dnh gi.
Phn sau ta s khao st r hon v cc mc d truong thnh cua TMM
7.2.1. Cu trc cua mt mc truong thnh
Cc mc truong thnh cu thnh TMM, vy ban thn mt mc truong thnh l g v
cu trc cua n ra sao? (Hnh 07).
Mi mc d, ngoi tr mc d thp nht l 1, c cu trc bao gm cc thnh phn
sau:
Mc tiu truong thnh: Xc d|nh cc mc tiu cn phai dt trong vic cai tin quy
trnh KTPM. D dt mt mc truong thnh, t chc phai dt tt ca cc mc tiu cua
mc truong thnh d.
Mc tiu con: Cc mc tiu truong thnh d ni o trn c tm bao qut rng. Do
vy d lm r hon phm vi cng nhu nhng cng vic cn lm d dt duc mt mc
tiu, mi mc tiu li duc m ta r hon thng qua nhng mc tiu con, d hiu v c
th hon. Nu ta dt duc tt ca mc tiu con cua mt mc tiu nghia l ta d dt duc
mc tiu d.
Cng vic v trch nhim: M ta r hon cc cng vic cn lm, cng nhu ai trong
d n (truong d n, lp trnh vin, kim tra vin...) s thc hin cc cng vic d.
Nghia l, d dt duc mt mc tiu con, ta cn thc hin tt ca cc cng vic duc d
ngh| cho mc tiu con d.
http://www.ebook.edu.vn 101
S tham gia cua cc nhm khc nhau: TMM cho rang c 3 nhm ngui quan trng
vi cch nhn v quan dim khc nhau anh huong dn cng vic KTPM, d l ngui
quan l/quan l d n, lp trnh vin/kim tra vin, v khch hng/ngui su dng. Do
vy m hnh TMM yu cu cc cng vic phai duc phn trch nhim cho 3 nhm
ngui ny.
7.2.2. nghia v t chc cua cc mc truong thnh
5 mc d truong thnh do TMM quy d|nh duc xc d|nh nhu hnh 08.
Mc truong thnh 1: Khoi du
Mc khoi du cua da s t chc PM, khng c mc tiu no dt ra cho mc ny. Quy
trnh KTPM hon ton hn dn. KTPM duc thc hin mt cch khng d tnh v
phi th thc sau khi code duc vit xong; khng c k hoch, khng c quy trnh. Ni
chung o mc ny KTPM dng nghia vi tm li (debugging). Mt lp trnh vin vit
code v sau d tm li, sua cha, d li... cho dn khi tin rang mi th dt yu cu.
Kim tra vin khng duc hun luyn, ti nguyn cn thit cng khng dy du.
Do hu nhu chi c lp trnh vin lm mi th, chi ph kim tra hu nhu khng bit
truc hoc duc bao gm trong chi ph PTPM.
Mc truong thnh 2: D|nh nghia
KTPM l mt quy trnh ring bit, l mt chng cua ton b chu trnh PTPM v
hon ton phn bit vi cng vic d tm li (debug). Mc tiu cua kim tra nham
chng minh PM hoc h thng dp ng duc cc yu cu.
KTPM duc lp k hoch chi tit v duc theo di cht ch. Quy trnh kim tra c
th duc su dng lp li trong cc d n khc nhau. K hoch kim tra thung duc
hon thnh sau khi d xong giai don vit code. K thut v phuong php kim tra
co ban duc thit lp v dua vo su dng. Cc mc tiu cua mc 2 bao gm:
Pht trin cc mc tiu d li v kim tra phn mm
Quy trnh lp k hoch kim tra
Th ch ha cc k thut v phuong php kim tra co ban
Mc truong thnh 3: Tch hp
Mt nhm kim tra vin duc thnh lp
nhu mt b phn trong cng ty. Kim tra
vin duc hun luyn k v dc bit. KTPM khng cn l mt chng, m duc thc
hin xuyn sut ton b chu ky PTPM. Vic su dng cng c kim tra t dng bt
du duc tnh dn. K hoch kim tra duc thc hin sm hon nhiu so vi mc
TMM Mc 2:
Dinh nghia
CMM Mc 2:
C th lp lai
K thut v
phuong php
kim tra co ban
Quy trnh lp k
hoach kim tra
Muc tiu d li
v kim tra phn
mm
Quan l yu cu
Lp k hoach du n
Gim st v theo di
du n
Quan l thu phu
Dam bao cht luong
Quan l cu hnh
http://www.ebook.edu.vn 102
truong thnh 2. Quy trnh kim tra duc gim st, tin d v hiu qua kim tra duc
kim sot cht ch. Mc tiu cua mc 3 bao gm:
Thit lp b phn KTPM
Thit lp chuong trnh hun luyn k thut
Tch hp KTPM vo chu ky PTPM
Kim sot v gim st quy trnh kim tra
http://www.ebook.edu.vn 103
7.2.3. So snh mc 3 gia TMM v CMM:
TMM Mc 3:
Tch hop
CMM Mc 3:
Duocdinh nghia
Kim sot v gim st quy trnh kim
tra
Tch hop kim tra phn mm
Thit lp chuong trnh hun luyn k
thut
Thit lp t chuc kim tra phn mm
Tp trung quy trnh cp t chuc
Dinh nghia quy trnh cp t chuc
Chuong trnh hun luyn
Tch hop quan l phn mm
K thut pht trin san phm
Diu phi lin nhm
Xem xt ngang hng
Mc truong thnh 4: Quan l v do lung
Mt chuong trnh xem xt cp cng ty duoc thnh lp voi muc tiu loai bo sai st trong san
phm k ca san phm trung gian bng k thut xem xt ngang hng (peer review k thut
ph bin d pht hin li som trn cc san phm v san phm trung gian khng thi hnh
duoc nhu yu cu khch hng, ban thit k, m ngun, k hoach kim tra... duoc thuc hin
boi mt nhm nguoi cng lm vic).
Quy trnh kim tra l mt quy trnh dinh luong. Cc chi s lin quan dn KTPM duocdinh
nghia v thu thp nhm phn tch, khao st cht luong v hiu qua cua quy trnh kim tra.
Mt s v du v cc chi s ny nhu: ty l li trn mt don vi kch thuoc PM, s luong li
do kim tra vin tm thy trn tng s li cua PM (bao gm li do khch hng pht hin),
thoi gian trung bnh d sua cha mt li... Muc tiu cua muc 4 bao gm:
Thit lp chuong trnh xem xt xuyn sut cc du n trong cng ty
Thit lp chuong trnh do luong vic KTPM
Dnh gi cht luong PM
So snh mc 4 gia TMM v CMM
TMM Mc 4:
Quan l v do luong
CMM Mc 4:
Duoc quan l
Dnh gi cht luong phn
mm
Do luong vic kim tra phn
mm
Chuong trnh xem xt xuyn
du n
Quan l quy trnh theo
luong ha
Quan l cht luong phn
mm
Mc truong thnh 5: Ti uu ha, phng nga li v kim sot cht lung
D liu lin quan dn cc sai st d thu thp (o mc 4) duc phn tch d tm ra
nguyn nhn gc pht sinh cc sai st d. Can c vo cc nguyn nhn ny, hnh
dng phng nga duc thit lp v thi hnh. Cc php thng k duc dng d uc
http://www.ebook.edu.vn 104
lung tnh tin cy cua phn mm, cng nhu lm co so cho cc quyt d|nh lin quan
dn xc d|nh cc mc tiu v d tin cy cua phn mm. Chi ph v tnh hiu qua cua
KTPM duc gim st cht ch, cng c kim tra t dng duc su dng rng ri.
Mt khc, o mc 5, quy trnh KTPM phai duc cai tin mt cch lin tc, nham khc
phc nhng yu km cua quy trnh, cng nhu hung dn nhng mc tiu xa hon.
Mc tiu cua mc 5 bao gm:
- Su dung d liu thu thpd phng ngua sai st.
- Kim sot cht luong
- Ti uu ha quy trnh KTPM
So snh mc 5 gia TMM v CMM:
TMM Mc 5: Ti uu ha, phng
ngua li v kim sot cht luong
CMM Mc 5:
Ti uu ha
Phng ngua sai st.
Kim sot cht luong
Ti uu ha quy trnh kim tra
phn mm
Phng ngua sai st.
Quan l thay di k thut/cng
ngh
Quan l thay di quy trnh
Tm li
KTPM l mt linh vc rt quan trng trong hot dng san xut cng nhu gia cng
PM. Cc mc kim tra v loi kim tra rt phong ph, phc v mc tiu dam bao
cht lung ton din cho mt PM hoc mt h thng. Trong thc t, d trin khai tt
ca cc mc v loi kim tra d lit k cho mt d n PM di hoi s du tu rt ln ca
v thi gian ln cng sc. Cc t chc "cn non" trong quy trnh kim tra thung c
gng tit kim ti da du tu vo KTPM, thung l vic lp k hoch kim tra dn khi
hon thnh vic vit code, bo qua mt vi hoc hu ht cc chng kim tra. PM giao
cho khch hng trong diu kin nhu th thung ngho nn v cht lung. Kt qua
thung l s dt bin v chi ph bo ra cho vic sa cha li, hoc bao tr PM, tuy
nhin s mt mt ln nht l s tht vng cua khch hng hoc nhng ngui dng
cui.
http://www.ebook.edu.vn 105
Hnh 08: 5 mucd truong thnh trong TMM
7.3. Cc cng c kim thu (Test tools)
Ngy nay t dng ha duc ng dng o rt nhiu linh vc, mc dch thung rt da
dng v ty theo nhu cu dc th cua tng linh vc, tuy nhin dim chung nht vn
l giam nhn lc, thi gian v sai st. Ngnh CNTT m c th l pht trin phn
mm (PTPM) cng khng ngoi l. Nhu chng ta bit, d to ra san phm CNTT hay
PM c cht lung th hot dng kim thu phn mm (KTPM) dng vai tr rt quan
trng, trong khi d hot dng ny li tiu tn v chim ty trng kh ln cng sc v
thi gian trong mt d n. Do vy, nhu cu t dng ho qui trnh KTPM cng duc
dt ra.
Qua thc t cho thy vic p dng kim thu t dng (KTTD) hp l s mang li
thnh cng cho hot dng KTPM. KTTD gip giam bt cng sc thc hin, tang d
tin cy, giam s nhm chn v rn luyn k nang lp trnh cho kim thu vin (KTV).
Bi vit ny s gii thiu cc khi nim co ban cua KTTD, dng thi gii thiu mt
cng c KTTD kh mnh hin nay l QuickTest Professional 8.2 (QTP) cua Mercury.
7.3.1. TAI SAO PHAI DNG TEST TOOL
Test Tool (TT) trong linh vc PTPM l cng c gip thc hin vic kim thu PM mt
cch t dng. Tuy nhin khng phai mi vic kim thu du c th t dng ha, cu
hoi dt ra l trong diu kin hoc tnh hung no dng TT l thch hp? Vic dng
TT thung duc xem xt trong mt s tnh hung sau:
1. Khng du ti nguyn
Khi s lung tnh hung kim thu (test case) qu nhiu m cc KTV khng th hon
tt bang tay trong thi gian c th no d.
http://www.ebook.edu.vn 106
C th ly mt dn chng l khi thc hin kim thu chc nang cua mt website.
Website ny s duc kim thu vi 6 mi trung gm 3 trnh duyt v 2 h diu hnh
Tnh hung ny di hoi s ln kim thu tang ln v lp li 6 ln so vi vic kim thu
cho mt mi trung c th.
Kim thu hi qui
Trong qu trnh PTPM, nhm lp trnh thung dua ra nhiu phin ban PM lin tip
d kim thu. Thc t cho thy vic dua ra cc phin ban PM c th l hng ngy, mi
phin ban bao gm nhng tnh nang mi, hoc tnh nang c duc sua li hay nng
cp. Vic b sung hoc sua li code cho nhng tnh nang o phin ban mi c th lm
cho nhng tnh nang khc d kim thu tt chy sai mc d phn code cua n khng
h chinh sua. D khc phc diu ny, di vi tng phin ban, KTV khng chi kim
tra chc nang mi hoc duc sua, m phai kim tra li tt ca nhng tnh nang d
kim tra tt truc d. Diu ny kh kha thi v mt thi gian nu kim tra thu cng.
nh duyt: IE, Netscape, Opera
H diu hnh:
WinXP, Linux WinXP, IE WinXP, Netscape WinXP, Opera Linux, IE Linux, Netscape
Linux, Opera
2. Kim tra kha nang vn hnh PM trong mi trung dt bit
Dy l kim tra nham dnh gi xem vn hnh cua PM c thoa mn yu cu dt ra
hay khng. Thng qua d KTV c th xc d|nh duc cc yu t v phn cng, phn
mm anh huong dn kha nang vn hnh cua PM. C th lit k mt s tnh hung
kim thu tiu biu thuc loi ny nhu sau:
Do tc d trung bnh xu l mt yu cu cua web server.
Thit lp 1000 yu cu, dng thi gui dn web server, kim tra tnh hung 1000
ngui dng truy xut web cng lc.
Xc d|nh s yu cu ti da duc xu l boi web server hoc xc d|nh cu hnh my
thp nht m tc d xu l cua PM vn c th hot dng o mc cho php.
Vic kim tra thu cng cho nhng tnh hung trn l cc kh, thm ch "v phuong".
Cn luu l hot dng KTTD nham mc dch kim tra, pht hin nhng li cua PM
trong nhng trung hp don truc. Diu ny cng c nghia l n thung duc thc
hin sau khi d thit k xong cc tnh hung (test case). Tuy nhin, nhu d ni, khng
phai mi trung hp kim tra du c th hoc cn thit phai t dng ha, trong tt ca
test case th KTV phai dnh gi v chn ra nhng test case no ph hp hoc cn
thit d p dng KTTD da trn nhng tiu ch d d cp bn trn.
7.3.2. KHI QUT VE KTTD
Vic pht trin KTTD cng tun theo cc buc PTPM, chng ta phai xem vic pht
trin KTTD ging nhu pht trin mt d n. Bn dc c th tham khao bi vit v
kim tra phn mm trn TGVT A thng 12/2005 (ID: A0512_110). Hnh 1 cho chng
ta thy mi tuong quan gia KTTD v ton b chu trnh KTPM.
http://www.ebook.edu.vn 107
Hnh 1
Ging nhu PTPM, d thnh cng trong KTTD chng ta nn thuc hin cc buoc co ban sau:
Thu thp cc dc ta yu cu hoc test case; lua chon nhng phn cn thuc hin KTTD.
Phn tch v thit k m hnh pht trin KTTD.
Pht trin lnhdc ta (script) cho KTTD.
Kim tra v theo di li trong script cua KTTD.
Bang sau m ta r hon cc buoc thuc hin KTTD:
T Buc thc hin M ta
1
Tao test script
Giai aoan ny chng ta s dng test tool a ghi lai cc thao tc ln PM can kim tra v tu
ang sinh ra test script.
2
Chinh sua test script
Chinh sua a test script thuc hin kim tra theo ang yu cau at ra, cu th l lm theo test
case can thuc hin.
3
Chay test script a KTT
Gim st hoat ang kim tra PM cua test script.
4
nh gi kt qua
Kim tra kt qua thng bo sau khi thuc hin KTT. Sau a b sung, chinh sua nhng sai
st.
KTTD c mt s thun li v kh khan co ban khi p dng:
KTPM khng can can thip cua KTV.
Giam chi ph khi thuc hin kim tra s luong lon test case hoc test case lp lai nhiu
lan.
Gia lap tnh hung kh c th thuc hin bng tay.
Mat chi ph tao cc script a thuc hin KTT.
Tn chi ph dnh cho bao tr cc script.
i hoi KTV phai c k nng tao script KTT.
Khng p dung auoc trong vic tm li moi cua PM.
http://www.ebook.edu.vn 108
7.3.3. GII THIJU CNG CJ KTTD: QUICKTEST PROFESSIONAL
Trong linh vc KTTD hin c kh nhiu TT thuong mi ni ting, ph bin nhu
QuickTest Professional, WinRunner, Rational Robot, SilkTest, JTest,... Trong s d,
QuickTest Professional (QTP) phin ban 8.2 cua hng Mercury kh tt v mnh, bao
gm nhiu chc nang din hnh cua mt cng c kim tra t dng. Luu l QTP 8.2
d c mt ci tn mi hon l Mercury Functional Testing 8.2.
QTP l TT dng d kim tra chc nang (functional test) v cho php thc hin kim
tra hi qui (regression test) mt cch t dng. Dy cng l cng c p dng phuong
php Keyword-Driven, mt k thut scripting (lp trnh trong KTTD) hin di, cho
php KTV b sung test case bang cch to file m ta cho n m khng cn phai chinh
sua hay b sung bt c script no ca. N cng ph hp trong tnh hung chuyn giao
cng vic m ngui mi tip nhn chua c thi gian hoc khng hiu script vn c th
thc hin kim tra PM theo dng yu cu.
1. Loi phn mm h tr
QTP gip chng ta KTPM theo hung chc nang trn rt nhiu loi chuong trnh
phn mm khc nhau. Tuy nhin Mercury chi h tr san mt s loi chuong trnh
thng dng nhu:
ng dng Windows chun/Win32.
ng dng web theo chun HTML, XML chy trong trnh duyt Internet Explorer,
Netscape hoc AOL.
Visual Basic.
ActiveX.
QTP h tr Unicode (UTF-8, UTF-16).
Mt s loi chuong trnh khc di hoi chng ta phai ci dt thm thnh phn b sung
cua QTP th mi thc hin kim tra duc. Cc loi chuong trnh d l:
.NET
NET Framework 1.0, 1.1, 2.0 beta
Cc di tung chun cua .NET v cc di tung khc tha k t cc di tung
chun.
Java
Sun JDK 1.1 1.4.2
IBM JDK 1.2 1.4
Oracle
Oracle Applications 11.5.7, 11.5.8, 11.5.9
People Soft
PeopleSoft Enterprise 8.0 8.8
SAP
SAP GUI HMTL 4.6D, 6.10, 6.20
http://www.ebook.edu.vn 109
Dc dim
D su dng, bao tr, to test script nhanh. Cung cp d liu kim tra r rng v d
hiu.
Kim tra phin ban mi cua ng dng vi rt t s thay di. V d khi ng dng
thay di nt tn "Login" thnh "Dang nhp", th chi cn cp nht li Object
Repository (OR - duc giai thch o phn sau) d QTP nhn ra s thay di d m
khng cn thay di bt c test script no.
H tr lm vic theo nhm thng qua s chia se thu vin, thng nht quan l Object
Repository.
Thc t cho thy, QTP thc hin KTTD trn nhiu trnh duyt cng lc tt hon
nhng TT khc.
Vi chc nang Recovery Scenarios, QTP cho php xu l nhng s kin hoc li
khng th don truc c th lm script b| dng trong khi dang chy.
QTP c kha nang hiu test script cua Mercury Winrunner (mt cng c kim tra
khc cua Mercury).
Dc bit phin ban v.8.2 c mt s tnh nang mi ni bt:
Quan trj Object Repository
Phi hop gia cc KTV qua vic ang b ha d liu, kha nng trn, nhap/xuat ra file
XML
Thu vin hm mi
Chia se cc thu vin hm gia cc nhm KTV
Kim tra ti nguyn
Kim tra ti nguyn can thit truoc khi thuc thi lnh kim tra tu ang.
Nng cp kha nng ko tha
Ko tha cc buoc kim tra trong mi truong ngn ng tu nhin.
H tr XML cho bo co
Luu tr kt qua kim tra duoi dang XML, HTML, t a cho php ty bin bo co.
Trnh pht trin mi (IDE)
Mi truong soan thao moi, mm deo cho ty bin v su dung.
Trnh d li mi
Cho php KTV kim sot li khi vit test case.
Quan trj t kha
Quan l t kha trong qu trnh su dung
H tr da giao tip
Cho php nguoi dng mo v soan thao ang thoi nhiu hm thu vin v Object
Repository.
H tr Unicode
H tro Unicode voi cc ung dung aa ngn ng (multi-language).
H tr cc mi trung mi
http://www.ebook.edu.vn 110
Khu vc Chc
Menu bar Cu hnh thao tc vi QTP v script File toolbar H tr quan l script
Debug toolbar H tr kim tra li trong test script (debug) Testing toolbar H tr
qu trnh to test script hoc thc hin KTTD Action toolbar Xem mt Action (thu
tc, hm) hoc ton b chu trnh cua test script Test pane Son thao script o mt
trong 2 ch d Keyword View hoc Expert View Data Table Noi luu tr d liu cho
test script Active Screen Xem li giao din PM duc kim tra
3. Cc thnh phn quan trng trong QTP
a. Action:
Ging nhu thu tuc hay hm trong cc ngn ng lp trnh khc, Action ghi lai cc
buoc thuc hin KTTD v n c th duoc su dung lai nhiu ln. Trong mt test
script c th c nhiu Action.
b. DataTable:
Noi luu d liu phuc vu cho KTTD. Mt test script se c mt DataTable duoc dng
chung cho tt ca cc Action. Bn canh d mi Action cung c mt DataTable cho
ring mnh.
c. Object Repository (OR):
Cu trc theo dang cy, m ta cc di tuong trong PM duoc kim tra. Dyduoc
xem l cu ni d test script tuong tc voi PM duoc kim tra.
Khi ra lnh cho QTP ghi lai thao tc nguoi dng ln PM th trong OR se tu dng
pht sinh thnh phndai din cho nhng di tuong trn PM vuaduoc thao tc.
OR c th t chuc thnh 2 loai, mt loai dng chung trong nhiu test script, loai
http://www.ebook.edu.vn 111
khc dng theo tung Action.
D xem OR, chon menu Tools >Object Repository.
d. Checkpoint:
C th hiu l noi kim tra trong test script, khi chay n se thuc hin so snh kt
qua thuc t khi kim tra PM voi kt qua mong doi. Sau khi tin hnh so snh QTP
se tu dng ghi lai kt qua vo Test Results (noi luu kt qua khi chay test script).
4. Ngn ng su dng vit script
QTP su dng ngn ng VBScript d vit test script. Dy l ngn ng d hc; rt
ging ngn ng VBA. Ch d Expert View cua QTP l ch d son thao dnh cho
VBScript. Ngoi vic dng VBScript d tuong tc vi PM duc kim tra, QTP cn c
kha nang cu hnh h thng bang ngn ng Windows Script.
Chi tit v ngn ng VBScript, ngui dc c th d dng tm trong cc sch hin c
trn th| trung, thm ch ngay chnh trong phn help cua QTP.
6. Su Dng QTP
a. Yu cu cu hnh h thng:
b. Ban quyn su dung:
http://www.ebook.edu.vn 112
H diu hnh Windows 2000 SP3, SP4; Windows XP SP1, SP2 hoc Windows 2003
Server RAM 256 MB tro ln Dung lung dia Ti thiu 250MB cho ng dng, 120MB
trn dia h diu hnh. Sau khi ci QTP, dung lung cn thit thm trn dia ci h
diu hnh l 150 MB Trnh duyt IE 5.5 SP 2 tro ln Bn c th vo
http://www.mercury.com d dang k v tai v ban dng thu trong 14 ngy. Cc buc
ci dt theo s hung dn cua chuong trnh. Sau thi gian dng thu, d c th tip
tc su dng QTP chng ta cn phai mua ban quyn, gi tham khao t nh cung cp
nhu sau: cho mt my 9.000 USD; cho nhiu my dng cng lc 12.000 USD.
7.3.4. Kim thu don v| vi JUnit
D|nh nghia
JUnit l mt framework don gian dng cho vic to cc unit testing t dng, v
chy cc test c th lp di lp li. N chi l mt phn cua h kin trc XUnit cho vic
to cc Unit Testing. JUnit l mt chun trn thc t cho Unit Testing trong Java.
Dc dim
JUnit l cng c gip ta thu nghim, g ri chuong trnh Java. Vi JUnit, bn d
dng theo di din bin cua chuong trnh, nhanh chng dn dng hng lot php thu
(test case) d kim tra xem mi vic c xay ra dng nhu d d|nh hay khng. Thuo
ban du, JUnit duc xy dng boi Kent Beck v Erich Gamma. Sau d, gii lp trnh
vin Java bin JUnit thnh mt d n ngun mo. Ngy nay, JUnit tro thnh mt th
"cng c chun" m mi lp trnh vin Java du nn bit cch dng.
JUnit l mt m ngun mo, regression-testing framework nham gip cho cc
java developer vit nhng unit test d kim tra tng modul cua project khi pht trin
h thng. Framework gip d trong vic thit lp mt close-relationship gia testing
v development. Du tin bn vit ra cc don code cua bn s lm vic. Sau d bn
vit code v dng JUnit test runner d kim tra xem n b| chch hung so vi d
d|nh ban du nhu th no.Intergration testing xc nhn rang nhng h thng con
khc nhau d s lm vic tt khi kt hp chng vi nhau. Acceptance testing don gian
xc nhn chnh xc rang mt ng dng c lm vic dng nhu khch hng mong di
khng. Unit test duc gi nhu vy boi v h test tng don code don le mt, n c th
chi l mt class don trong java.
Khc vi cc Unit Test dc th, o d bn c khuynh hung rang s vit test sau
khi hon thnh module, JUnit khuyn khch bn kt hp coding v testing trong sut
qun trnh pht trin. K t dy, mc dch chnh l kim tra module o mc nho l
kim tra cc chc nang, v hon l kim tra cc khi co ban cua h thng ti mt thi
dim no d.D n ny hung dn vic pht trin mt b test ton din m bn c th
dng bt c khi no sau khi thay di mt don code v tin tuong rang san phm hoc
don code sua di d khng ph v nhng h thng con khch m bn k duc bit.
http://www.ebook.edu.vn 113
Mt s dcdim quan trong cua J unit:
Xc nhn (assert) vic kim tra kt qua duoc mong doi.
Cc Test Suite cho php chng ta d dng t chuc v chay cc test.
H tro giao dind hoa v giao din dng lnh.
Cc test case cua JUnit l cc lp cua Java, cc lp ny bao gm mt hay nhiu
cc phuong thc unit testing, v nhng test ny li duc nhm thnh cc Test Suite.
Mi phuong thc test trong JUnit phai duc thc thi nhanh chng. Tc d l
diu ti quan trng v cng nhiu test duc vit v tch hp vo bn trong qu trnh
xy dng phn mm, cn phai tn nhiu thi gian hon cho vic chy ton b Test
Suite. Cc lp trnh vin khng mun b| ngt qung trong mt khong thi gian di
trong khi cc test chy, v th cc test m chy cng lu th s c nhiu kha nang l
cc lp trnh vin s bo qua buc cng khng km phn quan trng ny.
Cc test trong JUnit c th l cc test duc chp nhn hay tht bi, cc test ny
duc thit k d khi chy m khng cn c s can thip cua con ngui. T nhng
thit k nhu th, bn c th thm cc b test vo qu trnh tch hp v xy dng phn
mm mt cch lin tc v d cho cc test chy mt cch t dng.
Mt s phuong thc trong Junit
Cc phuong thc assertXXX()
Cc phuong thc assertXXX() duc dng d kim tra cc diu kin khc nhau.
junit.framework.TestCase, lp cha cho tt ca cc test case, tha k t lp
junit.framework.Assert. Lp ny d|nh nghia kh nhiu cc phuong thc
assertXXX(). Cc phuong thc test hot dng bang cch gi nhng phuong thc ny.
Mt s m ta cc phuong thc assertXXX() khc nhau c trong lp junit.framework.
assert:assertEquals(): So snh 2 gi tri a kim tra bng nhau. Test s auoc
chap nhan nu cc gi tri bng nhau
assertFalse(): nh gi biu thuc luan l. Test s auoc chap nhan nu biu
thuc saiassertNotNull(): So snh tham chiu cua mt ai tuong voi null. Test s auoc chap
nhan nu tham chiu ai tuong khc null
assertNotSame(): So snh aia chi vng nho cua 2 tham chiu ai tuong
bng cch su dung ton tu ==. Test s auoc chap nhan nu ca 2 au tham chiu an cc
ai tuong khc nhau
assertNull(): So snh tham chiu cua mt ai tuong voi gi tri null. Test s
auoc chap nhan nu tham chiu l null
assertSame(): So snh aia chi vng nho cua 2 tham chiu ai tuong bng
cch su dung ton tu ==. Test s auoc chap nhan nu ca 2 au tham chiu an cng mt
ai tuong
assertTrue(): nh gi mt biu thuc luan l. Test s auoc chap nhan nu
biu thuc ang
fail(): Phuong thuc ny lm cho test hin hnh that bai, phuong thuc ny
thuong auoc su dung khi xu l cc bit l
Mc d bn c th chi cn su dng phuong thc assertTrue() cho gn nhu hu
ht cc test, tuy nhin th vic su dng mt trong cc phuong thc assertXXX() c th
s lm cho cc test cua bn d hiu hon v cung cp cc thng dip tht bi r rng
hon.
Tt ca cc phuong thc trn du nhn vo mt String khng bt buc lm
tham s du tin. Khi duc xc d|nh, tham s ny cung cp mt thng dip m ta test
tht bi.
http://www.ebook.edu.vn 114
V du:
assertEquals(employeeA, employeeB);
assertEquals(Employees should be equal after the clone() operation., employeeA,
employeeB).
.Set Up v Tear Down
Hai phuong thc setUp() v tearDown() l mt phn cua lp
junit.framework.TestCase Bang cch su dng cc phuong thc setUp v tearDown.
Khi su dng 2 phuong thc setUp() v tearDown() s gip chng ta trnh duc vic
trng m khi nhiu test cng chia se nhau o phn khoi to v dn dp cc bin.
JUnit tun thu theo mt dy c th t cc s kin khi chy cc test. Du tin,
n to ra mt th hin mi cua test case ng vi mi phuong thc test. T d, nu
bn c 5 phuong thc test th JUnit s to ra 5 th hin cua test case. V l do d, cc
bin th hin khng th duc su dng d chia se trng thi gia cc phuong thc test.
Sau khi to xong tt ca cc di tung test case, JUnit tun theo cc buc sau cho mi
phuong thc test:
Goi phuong thuc setUp() cua test case
Goi phuong thuc test
Goi phuong thuc tearDown() cua test case
Qu trnh ny duoc lp lai di voi mi phuong thuc test trong test case.
Sau dy chng ta se xem xt 1 v du tnh cng, tru v nhn hai s nguyn:
CODE
public class CongTruNhan {
int add (int x, int y){
return (x + y );
}
int multiply (int x, int y){
return (x*y);
}
int subtract (int x, int y){
return (x-y);
}
}
M Code TestCase cua lop trn c su dung phuong thuc setUp() v tearDown()
http://www.ebook.edu.vn 115
CODE
import junit.framework.*;
public class Test CongTruNhan extends TestCase {
public Test CongTruNhan (String name) {
super(name);
}
// Initialize common test data
int x;
int y;
protected void setUp() {
System.out.println("setUp - Intialize common test data");
x = 7;
y = 5;
}
protected void tearDown(){
System.out.println("tearDown - Clean up");
}
/**
* Test of add method, of class CongTruNhan.
*/
public void testAdd() {
System.out.println("add");
CongTruNhan instance = new CongTruNhan ();
int expResult = 12;
int result = instance.add(x, y);
assertEquals(expResult, result);
}
/**
* Test of multiply method, of class CongTruNhan.
*/
public void testMultiply() {
System.out.println("multiply");
CongTruNhan instance = new CongTruNhan ();
int expResult = 35;
int result = instance.multiply(x, y);
assertEquals(expResult, result);
}
/**
* Test of subtract method, of class CongTruNhan.
http://www.ebook.edu.vn 116
*/
public void testSubtract() {
System.out.println("subtract");
CongTruNhan instance = new CongTruNhan();
int expResult = 2;
int result = instance.subtract(x, y);
assertEquals(expResult, result);
}
public static void main(String[] args){
System.out.println("Running the test using junit.textui.TestRunner.run() method...");
junit.textui.TestRunner.run(TestCongTruNhan.class);
}
}
Thng thung chng c th bo qua phuong thc tearDown() v mi unit
test ring khng phai l nhng tin trnh chy tn nhiu thi gian, v cc di tung
duc thu dn khi JVM thot. tearDown() c th duc su dng khi test cua bn thc
hin nhng thao tc nhu mo kt ni dn co so d liu hay su dng cc loi ti nguyn
khc cua h thng v bn cn phai dn dp ngay lp tc. Nu chung chy mt b bao
gm mt s lung ln cc unit test, th khi bn tro tham chiu cua cc di tung dn
null bn trong thn phuong thc tearDown() s gip cho b dn rc ly li b nh
khi cc test khc chy
Di khi bn mun chy vi don m khoi to chi mt ln, sau d chy cc
phuong thc test, v bn chi mun chy cc don m dn dp chi sau khi tt ca test
kt thc. O phn trn, JUnit gi phuong thc setUp() truc mi test v gi
tearDown() sau khi mi test kt thc, v th d lm duc diu nhu trn, chng ta s su
dng lp junit.extension.TestSetup d dt duc yu cu trn.
V d sau s minh ha vic su dng lp trn
CODE
import junit.extensions.TestSetup;
import junit.framework.*;
public class TestPerson extends TestCase {
public TestPerson(String name)
{ super(name); }
public void testGetFullName() {
Person p = new Person("Aidan", "Burke");
assertEquals("Aidan Burke", p.getFullName());
}
public void testNullsInName() {
Person p = new Person(null, "Burke");
http://www.ebook.edu.vn 117
assertEquals("? Burke", p.getFullName());
p = new Person("Tanner", null);
assertEquals("Tanner ?", p.getFullName());
}
public static Test suite() {
TestSetup setup = new TestSetup(new TestSuite(TestPerson.class)) {
protected void setUp() throws Exception
{
//Thuc hin cc aoan m khoi tao mt lan o ay
}
protected void tearDown() throws Exception {
//Thuc hin cc aoan m don dep o ay
}
};
return setup;
}
}
TestSetup l mt lp tha k t lp junit.extension.TestDecorator, Lp
TestDecorator l lp co so cho vic d|nh nghia cc test bin th. L do chnh d mo
rng TestDecorator l d c duc kha nang thc thi don m truc v sau khi mt
test chy. Cc phuong thc setUp() v tearDown() cua lp TestSetup duc gi truc
v sau khi bt ky Test no duc truyn vo constructor,
Trong v d trn chng ta d truyn mt tham s c kiu TestSuite vo
constructor cua lp TestSetup
TestSetup setup = new TestSetup(new TestSuite(TestPerson.class))
Diu ny c nghia l 2 phuong thc setUp() duc gi chi mt ln truc ton b
b test v tearDown() duc gi chi mt ln sau khi cc test trong b test kt thc.
Ch : cc phuong thuc setUp() v tearDown() bn trong lop TestPerson vnduoc
thuc thi truoc v sau mi phuong thuc test bn trong lop TestPerson.
To test class v to b test
Test cc chc nang cua mt lp
Bn mun vit cc unit test vi JUnit. Vic du tin bn phai to mt lp con
tha k t lp junit.framework.TestCase. Mi unit test duc di din boi mt
phuong thc testXXX() bn trong lp con cua lp TestCase
Ta c mt lop Person nhu sau:
CODE
public class Person {
private String firstName;
private String lastName;
public Person(String firstName, String lastName) {
if (firstName == null && lastName == null) {
throw new IllegalArgumentException("Both names cannot be null");
}
this.firstName = firstName;
http://www.ebook.edu.vn 118
this.lastName = lastName;
}
public String getFullName() {
String first = (this.firstName != null) ? this.firstName : "?";
String last = (this.lastName != null) ? this.lastName : "?";
return first + last;
}
public String getFirstName() {
return this.firstName;
}
public String getLastName() {
return this.lastName;
}
}
Sau d ta se vit mt test case don giand test mt s phuong thuc cua lop trn:
CODE
import junit.framework.TestCase;
public class TestPerson extends TestCase
{
public TestPerson(String name) {
super(name);
}
/**
*
Xac nhan rang name duoc the hien dung dinh dang
*/
public void testGetFullName() {
Person p = new Person("Aidan", "Burke");
assertEquals("Aidan Burke", p.getFullName());
}
/**
* Xac nhan rang nulls da duoc xu ly chinh xac
*/
public void testNullsInName() {
Person p = new Person(null, "Burke");
assertEquals("? Burke", p.getFullName());
p = new Person("Tanner", null);
assertEquals("Tanner ?", p.getFullName());
}
}
Luu : mi unit test l mt phuong thc public v khng c tham s duc bt
du bang tip du ng test. Nu bn khng tun theo quy tc dt tn ny th JUnit s
khng xc d|nh duc cc phuong thc test mt cc t dng.
http://www.ebook.edu.vn 119
D bin d|ch TestPerson, chng ta phai khai bo gi thu vin junit trong bin
dung mi trung classpath
set classpath=%classpath%;.;junit.jar
javac TestPerson
T chc cc test vo cc test suite
Thng thung JUnit t dng to ra cc Test Suite ng vi mi Test Case. Tuy
nhin bn mun t to cc Test Suite cua ring mnh bang cch t chc cc Test vo
Test Suite. JUnit cung cp lp junit.framework.TestSuite h tr vic to cc Test
Suite
Khi bn su dng giao din text hay graphic, JUnit s tm phuong thc sau
trong test case cua bn trn, JUnit s su dng k thut reflection d t dng xc d|nh
tt ca cc phuong
public static Test suite() { }
Nu khng thy phuong thc thc testXXX() trong test case cua bn, ri
thm chng vo mt test suite. Sau d n s chy tt ca cc test trong suite ny. Bn
c th to ra ban sao hnh vi cua phuong thc suite() mc d|nh nhu sau:
public class TestGame extends TestCase{