Li ni u c c thnh qu hc tp nh ngy hm nay, ngoi s n lc phn u khng
ngng ca bn thn th mt phn khng nh ng gp nn thnh cng y l nh s hng dn,
dy d ca cc thy c trong vin CNTT&TT ni ring v trong trng HBK H
Ni ni chung trong sut gn nm nm em hc tp v nghin cu ti HBK H Ni.Em
xin gi li cm n chn thnh n thy Ths. Thc Bnh Cng ging vin b mn Cng
ngh phn mm, Vin Cng ngh thng tin v Truyn thng, trng i Hc Bch Khoa H
Ni nh hng, hng dn v ch bo tn tnh trong qu trnh em lm bo co thc tp
tt nghip ny. Em xin chc thy v gia nh lun lun mnh khe v hnh phc.Cui
cng, em xin c cm n n gia nh, ta b ng vin, chm sc, ng gp kin v gip
trong qu trnh hc tp, nghin cu v hon thnh bo co thc tp tt nghip
ny.Tuy nhin, do thi gian v trnh c hn nn bo co khng th trnh khi nhng
thiu st. Chnh v vy, em rt mong c c s gp t cc thy c gio v ton th cc
ta.Sinh vin thc hin
Nguyn Vng QuynL do la chn tiNgy nay cng ngh thng tin ang ngy cng
pht trin nhanh chng, ko theo l h thng mng v cc phn mm cng gia tng c
v s lng theo quy m rng v c v cht lng phn mm theo chiu su. Nhng cng
t ny sinh ra nhiu vn v li hng hc phn mm khng ng c gy ra cc nh hng
nghim trng n x hi, kinh t,...Nhng li ny c th do t bn thn phn mm b
hng do khng c kim duyt k lng trc khi a cho ngi dng cui hay cng c th
do c ngi c tnh ph hoi nhm nh cp thng tin c nhn nh m s ti khon ngn
hng, s in thoi, danh b, tin nhn,...Nhng vn nan gii v cp thit ny cng
c xu hng m rng trong cc nm gn y, in hnh nh s c my tnh Y2K nm 2000
lm t lit nhiu h thng my tnh ln hay nh cng c nhiu loi virus ph hoi
mi xut hin, tn cng vo cc l hng bo mt phn mm lm t lit nhiu h thng
phn mm v phn cng. T y ta d dng nhn ra l mc d phn mm pht trin ngy
cng phc tp nhng vn cht lng vn l mt du hi ln cn xem xt cn thn. Do yu
cu t ra l cn c cng tc kim th phn mm tht k lng nhm ngn chn cc li hay
hng hc cn tim tng bn trong phn mm m ta cha kp nhn ra. Tuy nhin v
phn mm ngy cng ln, hng nghn module, c th do c mt cng ty hng nghn
ngi pht trin v vy kim th c mt phn mm ln nh vy s tn rt nhiu cng sc v
thi gian nu lm th cng, cha k n cht lng kim th s khng cao va tht
chnh xc ph hp cho yu cu. Theo nhiu tnh ton th cng vic kim th ng vai
tr ht sc quan trng trong quy trnh pht trin phn mm, n ng gp ti 40%
tng ton b chi ph cho vic sn xut phn mm. V vy cn c cc h thng kim th
phn mm mt cch t ng cho php ta thc hin c cc cng vic mt cch nhanh
chng v an ton, chnh xc cao nht c th. V chnh l l do em la chn ti ny
nghin cu, tm hiu v ra cc gii php mi ci tin cc quy trnh kim th nh
hin nay sao cho c nng sut cao nht.
Chng I Khi qut v phn mm v kim th phn mm1.Tng quan v phn mm1.1.
nh nghaC nhiu nh ngha v phn mm, sau y l mt v dPhn mm my tnh (ting
Anh: Computer Software) hay gi tt l Phn mm (Software) l mt tp hp
nhng cu lnh hoc ch th (Instruction) c vit bng mt hoc nhiu ngn ng lp
trnh theo mt trt t xc nh, v cc d liu hay ti liu lin quan nhm t ng
thc hin mt s nhim v hay chc nng hoc gii quyt mt vn c th no .( Theo
Wikipedia)1.2.Phn loi phn mmC nhiu cch thc phn loi phn mm, song c
th chia thnh hai loi chnh sau:1.2.1.Theo phng thc hot ng-Phn mm h
thng dng vn hnh my tnh v cc phn cng my tnh. y l cc loi phn mm m h
iu hnh lin lc vi chng iu khin v qun l cc thit bphn cng.-Phn mm ng
dng: ngi s dng c th hon thnh mt hay nhiu cng vic no .-Cc phn mm
chuyn dchm bao gmtrnh bin dchvtrnh thng dch.-Cc nn tng cng ngh
nh.NET,1C:DOANH NGHIP...1.2.2.Theo kh nng ng dng-Phn mm thi gian
thc (cc PM anti-virus, PM chat,...)-PM gii tr (Game,...)-PM nhng:
chy trn cc thit b c th nh in thoi di ng, TV, my lnh,...-PM phn tn:
chy trn nhiu thit b, phi hp hot ng ng thi vi nhau1.3. Quy trnh pht
trin phn mm1.3.1.Tng quanCng nh mi ngnh sn xut khc, qui trnh l mt
trong nhng yu t cc k quan trng em li s thnh cng cho cc nh sn xut
phn mm, n gip cho mi thnh vin trong d n t ngi c n ngi mi, trong hay
ngoi cng ty u c th x l ng b cng vic tng ng v tr ca mnh thng qua cch
thc chung ca cng ty, hay t nht cp d n.C th ni qui trnh pht trin/xy
dng phn mm (Software Development/Engineering Process - SEP) c tnh
cht quyt nh to ra sn phm cht lung tt vi chi ph thp v nng sut cao.Vy
qui trnh l g?Qui trnh c th hiu l phng php thc hin hoc sn xut ra sn
phm. Tng t nh vy, SEP chnh l phng php pht trin hay sn xut ra sn phm
phn mm.Thng thng mt qui trnh bao gm nhng giai on c bn sau:c t yu cu
(Requirements Specification): ch ra nhng i hi cho c cc yu cu chc
nng v phi chc nng.Pht trin phn mm (Development): to ra phn mm tha
mn cc yu cu c ch ra trong c t yu cu.Kim th phn mm
(Validation/Testing): bo m phn mm sn xut ra p ng nhng i hi c ch ra
trong c t yu cu.Thay i phn mm (Evolution): p ng nhu cu thay i ca
khch hng.Ty theo m hnh pht trin phn mm, cc nhm cng vic c trin khai
theo nhng cch khc nhau. sn xut cng mt sn phm phn mm ngi ta c th dng
cc m hnh khc nhau. Tuy nhin khng phi tt c cc m hnh u thch hp cho mi
ng dng.1.3.2.Cc m hnh SEPC kh nhiu m hnh SLC khc nhau, trong mt s c
ng dng kh ph bin trn th gii:M hnh Waterfall (Waterfall model)M hnh
ch V (V-model)Cc m hnh nhiu phin bn (Multi-version models)M hnh mu
(Prototype)M hnh tin ha (Evolutionary)M hnh lp v tng dn (Iterative
and Incremental)M hnh pht trin ng dng nhanh (RAD)M hnh xon
c(Spiral) M hnh pht trin da trn kim th (Test Driven
Development-TDD)1.3.3. M hnh pht trin da trn kim th (TDD)a) nh
ngha:TDD l mt phng php tip cn mi nhm ci tin quy trnh pht trin phn
mm trong kt hp phng php Pht trin kim th trc (Test First
Development) v phng php iu chnh li m ngun (Refactoring). Mc tiu
quan trng nht ca TDD l vit m ngun sng sa, r rng v c th chy c.b) Cc
ci tin ca TDD-TDD hon ton thay i cch pht trin truyn thng.Khi ta bt
u thc hin mt tnh nng mi, cu hi u tin t ra l liu thit k hin ti c phi
l thit k tt nht cho php ta thc hin cc chc nng hay khng.Nu c, ta tin
hnh thng qua mt phng php Pht trin kim th trcTFD.Nu khng, ta iu chnh
li n mt cch cc b thay i ring phn thit k b nh hng bi tnh nng mi, cho
php ta d dng b thm cc tnh nng c th.Kt qu l cht lng thit k ca ta s
lun lun c nng cao, do s thun li hn khi lm vic vi n trong tng
lai.-Mt gi nh c bn ca TDD l ta c sn mt nn tng (framework) cho kim
th mc n v (unit-test). Nhng lp trnh vin phn mm theo phng php Agile
thng s dng cc cng c m ngun m thuc h xUnit, nh JUnit hay VBUnit, mc
d cc cng c thng mi cng l nhng la chn kh d. Nu khng c nhng cng c nh
vy th TDD hu nh khng th thc hin c.
Hnh1.2.Cc bc trong TDDHai nguyn tc n gin cho TDD:Trc tin, ta nn
vit m x l nghip v mi ch khi mu kim th t ng thc hin khng thnh cng.Th
hai, ta nn loi b bt k s trng lp m ta tm thy.Nhng quy tc n gin: Thit
k vi m ngun m chng chy c v to ra kt qu phn hi gia cc quyt nh. T vit
cc mu kim th ca ring mnh, khng ch ngi khc Mi trng pht trin phi cung
cp c kt qu nhanh vi nhng thay i nh (v d nh ta cn mt trnh bin dch
nhanh v chui kim th hi quy (regression test) Thit k phi bao gm nhng
thnh phn gn kt, s ph thuc ln nhau nh (loosely coupled) thc hin cc
mu kim th d dng hn (iu ny cng lm cho qu trnh nng cp v bo tr cc h
thng ca ta d dng hn).c) TDD v cch kim th truyn thngTDD l mt k thut
thit k vi mt hiu ng ph l vic m bo ton b m ngun c thc hin kim th mc
n v.Tuy nhin, c nhng iu cn quan trng hn c vic thc hin kim th. Ta s
vn cn xem xt cc k thut kim th khc nh kim th chp nhn (acceptance
test) hay kim th d hi (investigative test) theo kiu Agile. Ta c th
thc hin nhiu nhng kiu kim th ny trong d n nu nh ta chn lm iu (v ta
nn lm).Vi kiu kim th truyn thng, mt mu kim th thnh cng s tm ra mt
hoc nhiu li. Tng t vi TDD, khi mt mu kim th tht bi th ta cng c s
tin trin bi v by gi ta bit rng ta cn phi gii quyt mt s vn . Quan
trng hn, ta c mt cch o r rng v s thnh cng khi mu kim th khng tht bi
na. T TDD lm tng nim tin v h thng p ng c cc yu cu c nh ngha cho
n.Nh vi th nghim truyn thng,h thng cng c nhiu ri ro ln cng cn phi c
nhiu mu kim th c thc hin.Vi c haikiu kim thtruyn thng v TDD ta khng
phn u cho s hon ho, thay vo takim thtm quan trng ca h thng.Mt hiu
ng ph th v ca TDD l ta t c 100% khi kim th ph m ngun (coverage
test) - mi dng m u c kim th - iu m kim th truyn thng khng bo m d
cho n khuyn khch iu .Khng c g ngc nhin khi ni rng TDD l mt k thut c
t (specification technique), vi mt tc dng ph c gi tr l n em li kt
qu trong vic kim th m ngun tt hn ng k so vi cc k thut truyn thng.d)
Ti sao nn dng TDD ?Mt li th ng k ca TDD l n cho php ta thc hin cc
bc nh khi vit phn mm.y l mt thc t mngi ta pht huy trong nhiu nm qua
bi v nmang lihiu qunhiu hnso vi c gngvit mtrongnhngbc ln.V d, gi s
ta thm mt s m ngun cho chc nng mi, bin dch, v kim th n.Kh nng rt ln
lcc kim th ca ta s tht bi bi nhng li c trong m ngun mi. S d dng hn
nhiu trong vic tm kim, v sau sa cha nhng li nu ta vit thm hai dng m
mi thay v hai nghn dng.Nhiu ngicho rng cc k thut Agile hot ng rt n
vi nhng d n nh, cn mt s t ngi trong mt vi thng, nhng chng khng hot
ng i vi nhng d n thc s ln hn. Tuy nhin, iu khng hon ton ng. Ngi ta
a ra mt bn bo co rng lm vic vi mt h thng Smalltalk s dng hon ton
phng php hng kim th (test-driven) ht 4 nm vi chi ph nhn cng 40
man-year, ra kt qu gm 250,000 dng m ngun chc nng v 250,000 dng m
kim th. C 4000 mu kim th chy di 20 pht, cn vi b mu kim th y th cn
chy vi ngy. iu chng t rng TDD vn hot ng tt vi nhng d n c kch thc
ln.e) Cng c: Cc cng c phc v cho TDD, thng l cc nn tng cho kim th m
ngun mc n v (unit test): xUnit (Nunit, Junit,...)1.4.Mi quan h gia
quy trnh pht trin phn mm v kim th phn mmPht trin phn mm v kim th
phn mm c mi quan h khng kht vi nhau. Pht trin phn mm ngay t nhng
pha u tin nh phn tch yu cu, phn tch thit k h thng,... phi c tin hnh
kim th mt cch c lp bi mt i ng c kinh nghim nu c pht hin ra sai st
th phi tin hnh sa cha kp thi, nu cng v sau mi pht hin ra li th chi
ph sa cha l v cng ln. th di y minh ha cho iu ny
Hnh 1.4.Nhn vo m hnh ta cng c th d dng nhn thy l nhng pha u tin
ca quy trnh pht trin phn mm th chi ph l nh khng ng k nhng cng v sau
th chi ph tng ln rt nhiu ln. V vy ta khng th ch quan m l l vic kim
th ngay t giai on u ca pht trin phn mm. iu ny l cn thit nht l i vi
cc d n phn mm ln ca cc doanh nghip ngy nay.2. Tng quan v kim th phn
mm2.1.Khi nimKim th phn mm l hot ng kho st thc tin sn phm hay dch v
phn mm trong ng mi trng chng d nh s c trin khai nhm cung cp cho
nhng ngi c li ch lin quan nhng thng tin v cht lng ca sn phm hay dch
v phn mm y. Mc ch ca kim th phn mm l tm ra cc li hay khim khuyt phn
mm nhm m bo hiu qu hot ng ti u ca phn mm trong nhiu ngnh khc nhau.
(Wikipedia)Software testing l mt trong nhng k thut phn mm xc minh v
xc nhn (verification and validation hay gi tt l V&V).
Verification (ch V u tin) l qu trnh nh gi mt h thng hoc thnh phn xc
nh xem cc sn phm ca mt giai on pht trin nht nh p ng cc iu kin p t
vo lc bt u ca giai on hay khng. Cc hot ng Verification bao gm vic
kim th v nh gi. V d trong phn mm chi game Monopoly, chng ta c th xc
minh rng hai ngi choi khng th s hu cng mt nh. Validationis qu trnh
nh gi mt h thng hoc mt thnh phn trong hoc cui ca qu trnh pht trin
xc nh xem n p ng yu cu quy nhVerificationValidation
Thng qua Verification chng ta mun chc chn rng phn mm c cc hnh vi
ng nh chng ta mong i. V d:
Trong game Monopoly, ngi chi c th c cng 200 im nu h h cnh trn sn
hoc i qua Go nhng ngi lp trnh li ci t l ngi chi phi i qua
Go(?!).Thng qua Validation chng ta s xc nhn rng nhng ni khng ng vi
yu cu ca khch hng s khng c thc hin tip theo trong sut qu trnh xy
dng xy dng phn mm. Validation lun lun lin quan ti vic so snh vi cc
yu cu ca khch hng. V d khch hng yu cu l lm cho h game Monopoly
nhng i ng pht trin li lm a cho game Life v h ngh l game Life hay
hn game Monopoly nh yu cu ban u (?!).
2.2.Vai tr ca kim th phn mmVic to ra mt sn phm phn mm phi tri
qua nhiu giai on, ngi ta gi l qui trnh pht trin phn mm, bt u t khi
bt u c tng cho n khi a ra sn phm phn mm thc thi. Khi lng cng vic
trong tng giai on ca qu trnh sn xut phn mm cng thay i theo thi
gian. Bng 1.1 minh ha c th hn v iu ny.
Bng 1.1 - T l cng vic ca cc giai on pht trin phn mm Nh vy, mt sn
phm phn mm khng ch n gin l cc on m chng trnh m cn rt nhiu phn n ng
sau n (Hnh 1.1). V vy, vic mc li khng ch xy ra trong khi lp trnh m
cn xy ra cao hn trong cc cng on khc ca qui trnh pht trin mt sn phm
phn mm. Vic kim th cng v th phi c tin hnh trong tt c cc phn to nn
mt sn phm phn mm.2.3.Cc k thut kim th phn mm Kim th hp en (Black
Box testing): dng kim tra chc nng m khng xem xt m ngun cng nh cu
chc chng trnh bn trong. Thng kim th hp en quan tm nhiu n cc b d liu
kim th u vo. Kim th hp trng (White Box testing): khc vi kim th hp
en, kim th hp trng xem xt mi module trong chng trnh, cc lung thc
hin cng vic t a ra cc chin lc k hoch c th cho vic kim th. Kim th hp
xm (Grey Box Testing): y l mt k thut kim th mi da trn nhng c tnh ca
c kim th hp en v hp trng. Mc tiu chnh ca kim th hp xm l kim th cc
ng dng trn nn web (web based).2.4.Cc giai on hay cp kim th phn mm
Kim th n v (Unit test): kim th tng module nh trong chng trnh tm ra
cc li v khc phc. Kim th tch hp: sau khi thc hin thnh cng kim th n
v, ta s tin hnh tch hp cc module ny vi nhau v kim th trn ton b khi
m lnh tch hp ny. Kim th h thng (System test): kim th trn ton b ng
dng. Kim th chp nhn (Acceptance Test): khu ny do khch hng trc tip m
nhn trc khi bn giao sn phm chnh thc Kim th hi quy l hot ng tr gip m
bo rng cc thay i khng a ra nhng hnh vi hoc nhng li b sung khng mong
i.2.5. Mt s loi hnh kim th ph binHin nay, do s pht trin mnh m ca
cng nghm phn mm nn c mt s loi hnh kim th tiu biu nh: Kim th cc phn
mm trn Desktop: y l cc ng dng c ci t trc tip trn my tnh c nhn nhm
thc hin cc chc nng theo yu cu ngi dng. y vn ang l nhng ng dng ph
bin nht. Kim th Web hay kim th trn m my: vi s ln mnh ca Internet th
cc ng dng web cng ngy cng pht trin v ang dn thay th cc ng dng trn
Desktop truyn thng nh Google Document, Microsoft web apps,... Kim
th trn Mobile: ngy nay x hi vi s pht trin nhanh chng, cc thit b di
ng (in thoi thng minh, my tnh bng,...) c s lng ngi dng cng ang tng
ln chng mt, cng vi l s lng phn mm phc v cho nhu cu cng tng cao v vy
y l mt lnh vc y tim nng v thch thc trong cng ngh phn mm.
Chng II Cc k thut c bn, giai on (cp ) v cng c kim th phn mm t
ng1.Cc k thut c bn ca kim th phn mm1.1.Kim th hp en (Black Box
Testing - BBT)1.1.1.nh nghanh ngha: Kim th hp en hay cn gi l kim
tra chc nng v th nghim hnh vi. Xem chng trnh nh l mt hp en, hon ton
khng quan tm v cch c x v cu trc bn trong ca chng trnh. Thay vo , Tp
trung vo tm cc trng hp m chng trnh khng thc hin theo cc c t ca
n.1.1.2.Cc phng php kim th hp en Phn lp tng ng Equivalence
partitioning. Phn tch gi tr bin Boundary value analysis. Kim th mi
cp All-pairs testing. Kim th fuzz Fuzz testing. Kim th da trn m hnh
Model-based testing. Ma trn du vt Traceability matrix. Kim th thm d
Exploratory testing. Kim th da trn c t Specification-base
testing1.1.3.c im BBTKim th da trn c t tp trung vo kim tra tnh thit
thc ca phn mmtheo nhng yu cu thch hp. Do , kim th vin nhp d liu vo,
v ch thyd liu ra t i tng kim th. Mc kim th ny thng yu cu cc ca kim
thtrit c cung cp cho kim th vin m khi c th xc minh l i vi dliu u vo
cho, gi tr u ra (hay cch thc hot ng) c ging vi gi trmong mun c xc
nh trong ca kim th hay khng. Kim th da trnc t l cn thit, nhng khng
ngn chn nhng ri ro chc chn.1.1.4.Nguyn l thc hin ca BBTKim th hp en
khng c mi lin quan no ti m lnh, v kim th vin ch rt n gin tm nim l:
mt m lnh phi c li. S dng nguyn tc Hy i hi v ta s c nhn, nhng kim th
vin hp en tm ra li m nhng lptrnh vin khng tm ra. Nhng, mt khc, ngi
ta cng ni kim th hp enging nh l i trong bng ti m khng c n vy, bi v
kim th vin khngbit cc phn mm c kim tra thc s c xy dng nh th no. l l
do m c nhiu trng hp m mt kim th vin hp envit rt nhiu ca kim th kim
tra mt th g m ng l c th ch cn kim tra bng 1 ca kim th duy nht,
v/hoc mt s phn ca chng trnh khng c kim tra cht no.1.1.5.Cc trng hp
ng dng Phn lp tng ng - Equivalence partitioning. tng : phn hoch min
d liu vo thnh cc d liu c lin h vi nhauMi lp dng kim th 1 chc nng ,
gi l lp tng ng.Cc bc : i vi d liu u vo , xc nh cc lp tng ng t min d
liu. Chn d liu i din cho mi lp tng ng Kt hp cc d liu th bi tch cc
to ra b d liu kim th.Nguyn tc phn hoch cc lp tng ng Nu d liu vo ph
thuc mt khong , xy dng 1 lp cc gi tr ln hn 1 lp cc gi tr nh hn N cc
gi tr hp l Nu d liu l tp hp cc gi tr , Xy dng 1 lp tp rng 1 lp qu
nhiu cc gi tr N lp hp l Nu d liu u vo l iu kin rng buc , xy dng 1
lp cc rng buc c tha mn. 1 lp vi rng buc khng c tha mn. Phn tch gi
tr bin - Boundary value analysis.:C s : li thng xut hin gn cc gi tr
bin ca min d liu.Tp trung phn tch cc gi tr bin ca min d liu xy dng
d liu kim th.Nguyn tc kim th cc d liu bao gm: Gi tr nh nht. Gi tr
gn k ln hn gi tr nh nht. Gi tr bnh thng. Gi tr gn k nh hn gi tr ln
nht Gi tr ln nhtNguyn tc chn d liu th Nu d liu vo thuc mt khong ,
chn 2 Gi tr bin. 4 gi tr = Gi tr bin sai s nh nht Nu gi tr vo ph
thuc danh sch cc gi tr , chn phn t ln th nht , phn t th hai , phn t
k cui , phn t cui. Nu d u vo l iu kin rng buc s gi tr , chn s gi tr
ti thiu v s gi tr ti a v mt s gi tr khng hp l. Bng quyt nh-
Decision Table Bases testing-Lm gim s lng tets casse khng cn thit
so vi 2 k thut trn v n loi tr cc php kt hp khng cn thit gia cc gi
tr bin u vo.-Lit k nguyn nhn (cause) kt qu (result) trong mt ma
trn. Mi ct ma trn i din cho 1 php kt hp gia cc cause trong trong
vic to ra 1 result-Cc bc to bng quyt nh Lit k cc nguyn nhn trong
bng quyt nh Tnh tng s lng kt hp gia cc cause in vo cc ct vi tt c cc
kt hp c th c Rt bt s lng cc php kt hp d tha Kim tra cc php kt hp c
bao ph ht mi trng hp hay khng B xung kt qu vo bng quyt nh th nguyn
nhn kt qu.-L k thut thit k test case da tn th -Tp trung vo vic xc
nh cc mi kt hp gia cc iu kin v kt qu m cc mi kt hp mang li.-Cc bc
xy dng th: B1: Phn chia h thng thnh vng hot ng B2: Xc nh nguyn nhn
kt qu B3: Chuyn ni dung ng ngha trong c t thnh th lin kt cc cause v
result B4: Chuyn i th thnh bng quyt nh B5: Thit lp danh sch test
case t bng quyt nh. Mi test case tng ng vi 1 ct trong bng quyt nh
Kim th da trn yu cu - Specification-based testing.Phng php kim th
da vo chc nng - Specification-based testing: Vic kim th c tin hnh
da vo vic kim th chc nng ca phn mm xem n c ph hp vi yu cu ca ngi
dng hay khng. V vy, cc tester nhp data vo phn mm v ch cn xem kt qu
ca phn mm v cc mc tiu test. Mc test ny thng yu cu cc tester phi vit
test case y trc khi test, khi test, n gin ch cn thc hin theo cc bc
m t trong test case thao tc v nhp data vo, sau xem kt qu tr v hoc
hnh vi ca phn mm, ri so snh vi kt qu mong i c vit trong test case,
in kt qu test vo test case l OK (OK = is chng trnh lm ng theo mong
i) hay NG (not good = is not chng trnh khng lm ng theo mong i).
Specification-based testing l cn thit, nhng n khng bo m chc chn cc
ri ro xy ra (n ch l iu in cn ch khng phi l iu kin ).1.1.6.u, nhc im
ca BBTa)u dim: Tester khng cn kin thc thc hin, bao gm c ngn ng lp
trnh c th. Tester thc hin trn quan im ca ngi s dng. Gip pht hin bt
k s m h hoc khng nht qun trong cc c t chc nng.b)Nhc im: Ch c mt s
nh cc yu t u vo c th thc s c th c th nghim, kim tra tt c cc dng u
vo c th s mt gn nh mi mi. C th li nhiu phn chng trnh cha c kim
tra.1.2.Kim th hp trng (White Box Testing - WBT)1.2.1.nh nghaL phng
php kim nghim da vo cu trc/m lnh chng trnh. WBT kim nghim mt chng
trnh (mt phn chng trnh, hay mt h thng, mt phn ca h thng) p ng tt tt
c cc gi tr input bao gm c cc gi tr khng ng hay khng theo d nh ca
chng trnh. Chin lc ny xut pht t d liu kim th bng s kim th tnh logic
ca chng trnh. Kim th vin s truy cp vo cu trc d liu v gii thut bn
trong chng trnh (v c m lnh thc hin chng).1.2.2.c im ca WBT Da vo
thut gii c th, vo cu trc d liu bn trong ca n v phn mm cn kim th xc
nh n v phn mm c thc hin ng khng. Ngi kim th phi c k nng, kin thc
nht nh c th thng hiu chi tit v on code cn kim th. Thng tn rt nhiu
thi gian v cng sc nu mc kim th c nng ln cp kim th tch hp hay kim th
h thng. Do k thut ny ch yu c dng kim th n v. Trong lp trnh hng i
tng, kim th n v l kim th tng tc v ca 1 class chc nng no . C 2 hot
ng kim th hp trng : Kim th lung iu khin. Kim th dng d liu.Ph thuc
vo cc ci t hin ti ca h thng v ca phn mm, nu c s thay i th cc bi
test cng thay i theo c ng dng trong cc kim tra cp m un, tch hp v h
thng ca qu trnh testphn mm.1.2.3.Cc k thut kim th ca WBTWBT da trn:
Cc cu lnh (statement) :Thit k qu trnh kim tra sao cho mi cu lnh ca
chng trnh c thc hin t nht mt ln. Phng php kim tra ny xut pht t tng:
T phi mt cu lnh c thc hin, nu khng ta khng th bit c c li xy ra
trong cu lnh hay khng Nhng vic kim tra vi mt gi tr u vo khng m bo l
s ng cho mi trng hp ng dn (path) L phng php kim tra bao trm mi ng
dn ca chng trnh v cn kt hp vi lc tin trnh.T tng: Vit cc ca kim th m
mi quyt nh c kt lun ng hay sai t nht 1 ln. Ni cch khc, mi hng phn
nhnh phi c xem xt k lng t nht 1 ln. Nhn xt: Phng php kim tra theo
ng dn ph thuc nhiu vo cc biu thc iu kin. Tuy nhin, c nhng trng hp s
lng ng dn qu ln (trng hp vng lp). V vy thng khng phi l la chn thc t
tin hnh vic kim tra tnh ng n ca chng trnh. Cc iu kin (condition) L
phng php kim tra cc biu thc iu kin trn 2 gi tr true v false. Vit cc
ca kim th m bo rng mi iu kin trong mt quyt nh m nhn tt c cc kt qu c
th t nht mt ln. Nhn xt: Khi kim tra bng phng php kim tra theo iu
kin cn xem xt kt hp cc iu kin vi nhau. Vng lp (loop) L phng php tp
trung vo tnh hp l ca cc cu trc vng lp.- Cc bc cn kim tra cho vng lp
n: + B qua vng lp. + Lp mt ln. + Lp hai ln. + Lp m ln (m