You are on page 1of 58

ti thc tp chuyn ngnh:

MC LC
MC LC.......................................................................................................2
DANH MC CC HNH................................................................................5
LI NI U.................................................................................................6
TM TT NI DUNG...................................................................................7
CHNG 1. TNG QUAN V KIM TH PHN MM............................9
1.1 Cc khi nim c bn v kim th phn mm.........................................9
1.1.1 Kim th phn mm l g?...............................................................9
1.1.2 Cc phng php kim th............................................................10
1.1.2.1 Kim th tnh Static testing..................................................10

THIT K TEST-CASE
TRONG KIM TH
PHN MM

Sinh vin thc hin : Phm Th Trang


Lp

: HCQ K4A

Gio vin hng dn : Nguyn Hng Tn


B mn

: Cng ngh phn mm

1.1.2.2 Kim th ng Dynamic testing...........................................10


1.1.3 Cc chin lc kim th.................................................................10
1.1.3.1 Kim th hp en Black box testing....................................11
1.1.3.2 Kim th hp trng White box testing..................................12
1.1.3.3 Kim th hp xm Gray box testing.....................................13
1.1.4 Cc cp kim th phn mm ....................................................13
1.1.4.1 Kim th n v Unit test.....................................................14
1.1.4.2 Kim th tch hp Intergration Test.....................................15
1.1.4.3 Kim th h thng System Test ...........................................16
1.1.4.4 Kim th chp nhn sn phm Acceptance Test..................18
1.1.4.5 Mt s cp kim th khc...................................................19
1.1.5 Cc phng php kim th con ngi ...........................................20
1.1.5.1 Tng duyt Walkthrough .....................................................21
1.1.5.2 Thanh tra m ngun Code Inspection...................................21
1.2 Nguyn tc kim th phn mm............................................................22
CHNG 2. THIT K TEST CASE........................................................23
2.1 Khi nim..............................................................................................23
2.2 Vai tr ca thit k test case...............................................................23
2.3 Quy trnh thit k test case ................................................................23
2.3.1 Kim th hp trng - Kim th bao ph logic ...............................24
2.3.1.1 Bao ph cu lnh Statement Coverage.................................25
2.3.1.2 Bao ph quyt nh Decision coverage ...............................26
2.3.1.3 Bao ph iu kin Condition coverage ................................27
2.3.1.4 Bao ph quyt nh/iu kin Decision/condition coverage. 29
2.3.1.5 Bao ph a iu kin Multiple condition coverage..............30
2.3.2 Kim th hp en...........................................................................32
2.3.2.1 Phn lp tng ng Equivalence Patitioning...................32
2.3.2.2 Phn tch gi tr bin Boundary Value Analysis...................35
2.3.2.3 th nguyn nhn kt qu - Cause & Effect Graphing......36
2.3.2.4 on li Error Guessing.......................................................42
2.3.3 Chin lc......................................................................................42
CHNG 3. P DNG.................................................................................44
3.1 c t ...................................................................................................44
3.2 Thit k test case................................................................................46
3.2.1 V th nguyn nhn kt qu....................................................46
3.2.2 Phn lp tng ng....................................................................49
3.2.2.1 Xc nh cc lp tng ng ...............................................49
3.2.2.2 Xc nh cc ca kim th........................................................50
3.2.3 Phn tch gi tr bin.......................................................................50
3.2.3.1 Xt cc trng thi u vo.......................................................50
3

3.2.3.2 Xt khng gian kt qu............................................................51


3.2.4 Cc phng php hp trng............................................................52
3.2.4.1 Bao ph cu lnh.....................................................................52
3.2.4.2 Bao ph quyt nh.................................................................54
3.2.4.3 Bao ph iu kin....................................................................54
3.2.4.4 Bao ph quyt nh iu kin...............................................54
3.2.4.5 Bao ph a iu kin...............................................................55
KT LUN....................................................................................................56
TI LIU THAM KHO..............................................................................57
NHN XT CA GIO VIN HNG DN............................................58

DANH MC CC HNH
Hnh 1.1 S cc cp kim th...............................................................13
Hnh 2.1 Mt chng trnh nh kim th ..................................................25
Hnh 2.2 M my cho chng trnh trong Hnh 2.1........................................29
Hnh 2.3 Mt mu cho vic lit k cc lp tng ng................................33
Hnh 2.4 Cc k hiu th nguyn nhn kt qu c bn............................38
Hnh 2.5 Cc k hiu rng buc......................................................................39
Hnh 2.6 Nhng xem xt c s dng khi d theo th..............................40
Hnh 3.1 th nguyn nhn kt qu:..........................................................47
Hnh 3.2 Bng quyt nh...............................................................................47

LI NI U
Trong ngnh k ngh phn mm, nm 1979, c mt quy tc ni ting l:
Trong mt d n lp trnh in hnh, th xp x 50% thi gian v hn 50% tng chi
ph c s dng trong kim th cc chng trnh hay h thng c pht trin.
V cho n nay, sau gn mt phn 3 th k, quy tc vn cn ng. c rt
nhiu ngn ng, h thng pht trin mi vi cc cng c tch hp cho cc lp trnh
vin s dng pht trin ngy cng linh ng. Nhng kim th vn ng vai tr ht
sc quan trng trong bt k d n pht trin phn mm no.
Rt nhiu cc gio s, ging vin tng than phin rng: Sinh vin ca
chng ta tt nghip v i lm m khng c c nhng kin thc thc t cn thit
v cch kim th mt chng trnh. Hn na, chng ta him khi c c nhng
li khuyn b ch cung cp trong cc kha hc m u v cch mt sinh vin nn
lm v kim th v g li cc bi tp ca h.
Cc tc gi ca cun sch ni ting The Art of Software Testing Ngh
thut kim th phn mm, Glenford J. Myers, Tom Badgett, Todd M. Thomas,
Corey Sandler khng nh trong cun sch ca mnh rng: Hu ht cc thnh
phn quan trng trong cc th thut ca mt nh kim th chng trnh l kin thc
v cch vit cc ca kim th c hiu qu. Vic xy dng cc test case l mt
nhim v rt kh khn. c th xy dng c tp cc test case hu ch cho
kim th, chng ta cn rt nhiu kin thc v kinh nghim.
l nhng l do thc y em thc hin ti ny. Mc ch ca ti l tm
hiu nhng kin thc tng quan nht v kim th, v cch thit k test case trong
kim th phn mm. Vic thc hin ti s gip em tm hiu su hn v lnh vc
rt hp dn ny, vn dng c cc kin thc hc c th thit k c cc test
case mt cch c hiu qu v p dng vo nhng bi ton thc t.
Bn bo co c hon thnh di s ch bo tn tnh ca thy gio, ThS
Nguyn Hng Tn, s gip nhit tnh ca cc thy c trong b mn Cng ngh
6

phn mm, v tt c cc bn. Em hi vng s nhn c s ng gp kin ca cc


thy c v cc bn bn bo co c hon thin hn. Nhng ng gp s l
kinh nghim qu bu cho em. V t , em c th tip tc pht trin ti ny cho
t thc tp tt nghip v n tt nghip sp ti, cng nh cho cng vic trong
tng lai.
Em xin chn thnh cm n.
Sinh vin
Phm Th Trang

TM TT NI DUNG
Bn bo co c chia thnh 3 chng vi ni dung nh sau:
Chng 1: Tng quan v kim th phn mm.
Chng ny l ci nhn tng quan v kim th phn mm:
cc khi nim c bn v kim th phn mm, cc quy tc
trong kim th, v cc phng php kim th phn mm
tiu biu.
Chng 2: Thit k test case trong kim th phn mm.
Trong chng ny, em i tm hiu cc phng php thit k
test case c hiu qu. T rt ra nhn xt v u nhc
im ca tng phng php.
Chng 3: p dng.
T nhng phng php thit k test case tm hiu
trong Chng 2, em p dng xy dng tp cc test
7

case cho mt bi ton c th : Thit k cc test case cho


chng trnh Tam gic.

CHNG 1.

TNG QUAN V KIM TH


PHN MM

1.1
1.1.1

Cc khi nim c bn v kim th phn mm


Kim th phn mm l g?
Kim th phn mm l qu trnh kho st mt h thng hay thnh phn

di nhng iu kin xc nh, quan st v ghi li cc kt qu, v nh gi mt


kha cnh no ca h thng hay thnh phn . (Theo Bng ch gii thut
ng chun IEEE ca Thut ng k ngh phn mm- IEEE Standard Glossary of
Software Engineering Terminology).
Kim th phn mm l qu trnh thc thi mt chng trnh vi mc ch
tm li. (Theo The Art of Software Testing Ngh thut kim th phn mm).
Kim 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 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. (Theo Bch khoa ton th m Wikipedia).
C th nh ngha mt cch d hiu nh sau: Kim th phn mm l mt tin
trnh hay mt tp hp cc tin trnh c thit k m bo m ha my tnh
thc hin theo ci m chng c thit k lm, v khng thc hin bt c
th g khng mong mun. y l mt pha quan trng trong qu trnh pht trin
h thng, gip cho ngi xy dng h thng v khch hng thy c h thng
mi p ng yu cu t ra hay cha?

1.1.2

Cc phng php kim th


C 2 phng php kim th chnh l: Kim th tnh v Kim th ng.

1.1.2.1

Kim th tnh Static testing

L phng php th phn mm i hi phi duyt li cc yu cu v cc c


t bng tay, thng qua vic s dng giy, bt kim tra logic, ln tng chi tit m
khng cn chy chng trnh. Kiu kim th ny thng c s dng bi chuyn
vin thit k ngi m vit m lnh mt mnh.
Kim th tnh cng c th c t ng ha. N s thc hin kim tra ton b
bao gm cc chng trnh c phn tch bi mt trnh thng dch hoc bin dch
m xc nhn tnh hp l v c php ca chng trnh.

1.1.2.2

Kim th ng Dynamic testing

L phng php th phn mm thng qua vic dng my chy chng trnh
iu tra trng thi tc ng ca chng trnh. l kim th da trn cc ca
kim th xc nh bng s thc hin ca i tng kim th hay chy cc chng
trnh. Kim th ng kim tra cch thc hot ng ng ca m lnh, tc l kim
tra s phn ng vt l t h thng ti cc bin lun thay i theo thi gian. Trong
kim th ng, phn mm phi thc s c bin dch v chy. Kim th ng thc
s bao gm lm vic vi phn mm, nhp cc gi tr u vo v kim tra xem liu
u ra c nh mong mun hay khng. Cc phng php kim th ng gm c
kim th Unit Unit Tests, Kim th tch hp Intergration Tests, Kim th h
thng System Tests, v Kim th chp nhn sn phm Acceptance Tests.

1.1.3

Cc chin lc kim th
Ba trong s nhng chin lc kim th thng dng nht bao gm: Kim th

hp en, Kim th hp trng, v Kim th hp xm.


10

1.1.3.1

Kim th hp en Black box testing

Mt trong nhng chin lc kim th quan trng l kim th hp en, hng


d liu, hay hng vo/ra. Kim th hp en xem chng trnh nh l mt hp
en. Mc ch ca bn l 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.
Theo hng tip cn ny, d liu kim tra c ly ch t cc c t.

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 testing.
Kim th da trn c t tp trung vo kim tra tnh thit thc ca phn mm
theo nhng yu cu thch hp. Do , kim th vin nhp d liu vo, v ch thy
d liu ra t i tng kim th. Mc kim th ny thng yu cu cc ca kim th
trit c cung cp cho kim th vin m khi c th xc minh l i vi d
liu u vo cho, gi tr u ra (hay cch thc hot ng) c ging vi gi tr
mong mun c xc nh trong ca kim th hay khng. Kim th da trn
c t l cn thit, nhng khng ngn chn nhng ri ro chc chn.

u, nhc im

11

Kim 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 bn s c nhn, nhng kim th vin hp en tm ra li m nhng lp
trnh vin khng tm ra. Nhng, mt khc, ngi ta cng ni kim th hp en
ging nh l i trong bng ti m khng c n vy, bi v kim th vin khng
bit 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 en vit 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.
Do vy, kim th hp en c u im ca mt s nh gi khch quan, mt
khc n li c nhc im ca thm d m.

1.1.3.2

Kim th hp trng White box testing

L mt chin lc kim th khc, tri ngc hon ton vi kim th hp en,


kim th hp trng hay kim th hng logic cho php bn kho st cu trc bn
trong 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).

Cc phng php kim th hp trng


Kim th giao din lp trnh ng dng - API testing (application
programming interface): l phng php kim th ca ng dng s
dng cc API cng khai v ring t.
Bao ph m lnh Code coverage: to cc kim tra p ng mt s
tiu chun v bao ph m lnh.
Cc phng php gn li Fault injection.
Cc phng php kim th hon chuyn Mutation testing methods.

12

Kim th tnh Static testing: kim th hp trng bao gm mi kim


th tnh.
Phng php kim th hp trng cng c th c s dng nh gi s
hon thnh ca mt b kim th m c to cng vi cc phng php kim th
hp en. iu ny cho php cc nhm phn mm kho st cc phn ca 1 h thng
t khi c kim tra v m bo rng nhng im chc nng quan trng nht
c kim tra.

1.1.3.3

Kim th hp xm Gray box testing

Kim th hp xm i hi phi c s truy cp ti cu trc d liu v gii thut


bn trong cho nhng mc ch thit k cc ca kim th, nhng l kim th mc
ngi s dng hay mc hp en. Vic thao tc ti d liu u vo v nh dng d
liu u ra l khng r rng, ging nh mt chic hp xm, bi v u vo v u
ra r rng l bn ngoi hp en m chng ta vn gi v h thng c kim tra.
S khc bit ny c bit quan trng khi qun l kim th tch hp Intergartion
testing gia 2 modun m lnh c vit bi hai chuyn vin thit k khc nhau,
trong ch giao din l c a ra kim th. Kim th hp xm c th cng
bao gm c thit k i chiu quyt nh, v d, gi tr bin hay thng bo li.

1.1.4

Cc cp kim th phn mm
Kim th phn mm gm c cc cp : Kim th n v, Kim th tch hp,

Kim th h thng v Kim th chp nhn sn phm.

Hnh 1.1

S cc cp kim th

13

1.1.4.1

Kim th n v Unit test

Mt n v l mt thnh phn phn mm nh nht m ta c th kim th c.


V d, cc hm (Function), th tc (Procedure), lp (Class) hay phng thc
(Method) u c th c xem l Unit.
V Unit c chn kim tra thng c kch thc nh v chc nng hot
ng n gin, chng ta khng kh khn g trong vic t chc kim th, ghi nhn
v phn tch kt qu kim th. Nu pht hin li, vic xc nh nguyn nhn v
khc phc cng tng i d dng v ch khoanh vng trong mt n th Unit ang
kim tra. Mt nguyn l c kt t thc tin: thi gian tn cho Unit Test s c
n b bng vic tit kim rt nhiu thi gian v chi ph cho vic kim th v sa
li cc mc kim th sau .
Unit Test thng do lp trnh vin thc hin. Cng on ny cn c thc
hin cng sm cng tt trong giai on vit code v xuyn sut chu k pht trin
phn mm. Thng thng, Unit Test i hi kim th vin c kin thc v thit k
v code ca chng trnh. Mc ch ca Unit Test l bo m thng tin c x l
14

v xut (khi Unit) l chnh xc, trong mi tng quan vi d liu nhp v chc
nng ca Unit. iu ny thng i hi tt c cc nhnh bn trong Unit u phi
c kim tra pht hin nhnh pht sinh li. Mt nhnh thng l mt chui cc
lnh c thc thi trong mt Unit. V d: chui cc lnh sau iu kin If v nm
gia then ... else l mt nhnh. Thc t vic chn la cc nhnh n gin ha
vic kim th v qut ht Unit i hi phi c k thut, i khi phi dng thut ton
chn la.
Cng vi cc mc kim th khc, Unit Test cng i hi phi chun b trc
cc ca kim th (Test case) hoc kch bn kim th (Test script), trong ch nh
r d liu u vo, cc bc thc hin v d liu u ra mong mun. Cc Test case
v Test script ny nn c gi li ti s dng.

1.1.4.2

Kim th tch hp Intergration Test

Integration test kt hp cc thnh phn ca mt ng dng v kim th nh


mt ng dng hon thnh. Trong khi Unit Test kim tra cc thnh phn v Unit
ring l th Intgration Test kt hp chng li vi nhau v kim tra s giao tip gia
chng.
Hai mc tiu chnh ca Integration Test:
Pht hin li giao tip xy ra gia cc Unit.
Tch hp cc Unit n l thnh cc h thng nh (Subsystem) v cui
cng l nguyn h thng hon chnh (System) chun b cho kim th
mc h thng (System Test).
Trong Unit Test, lp trnh vin c gng pht hin li lin quan n chc nng
v cu trc ni ti ca Unit. C mt s php kim th n gin trn giao tip gia
Unit vi cc thnh phn lin quan khc, tuy nhin mi giao tip lin quan n Unit
ch tht s c kim tra y khi cc Unit tch hp vi nhau trong khi thc hin
Integration Test.

15

Tr mt s t ngoi l, Integration Test ch nn thc hin trn nhng Unit


c kim tra cn thn trc bng Unit Test, v tt c cc li mc Unit c
sa cha. Mt s ngi hiu sai rng Unit mt khi qua giai on Unit Test vi
cc giao tip gi lp th khng cn phi thc hin Integration Test na. Thc t vic
tch hp gia cc Unit dn n nhng tnh hung hon ton khc.
Mt chin lc cn quan tm trong Integration Test l nn tch hp dn tng Unit.
Mt Unit ti mt thi im c tch hp vo mt nhm cc Unit khc tch hp
trc v hon tt cc t Integration Test trc . Lc ny, ta ch cn kim
th giao tip ca Unit mi thm vo vi h thng cc Unit tch hp trc ,
iu ny s lm cho s lng can kim th gim i rt nhiu, v sai st s gim
ng k.
C 4 loi kim th trong Integration Test:
Kim th cu trc (Structure Test): Tng t White Box Test, kim
th cu trc nhm bo m cc thnh phn bn trong ca mt chng
trnh chy ng v ch trng n hot ng ca cc thnh phn cu trc
ni ti ca chng trnh chng hn cc cu lnh v nhnh bn trong.
Kim th chc nng (Functional Test): Tng t Black Box Test,
kim th chc nng ch ch trng n chc nng ca chng trnh, m
khng quan tm n cu trc bn trong, ch kho st chc nng ca
chng trnh theo yu cu k thut.
Kim th hiu nng (Performance Test): Kim th vic vn hnh ca
h thng.
Kim th kh nng chu ti (Stress Test): Kim th cc gii hn ca
h thng.

1.1.4.3

Kim th h thng System Test

Mc ch System Test l kim th thit k v ton b h thng (sau khi tch


hp) c tha mn yu cu t ra hay khng.

16

System Test bt u khi tt c cc b phn ca phn mm c tch hp


thnh cng. Thng thng loi kim th ny tn rt nhiu cng sc v thi gian.
Trong nhiu trng hp, vic kim th i hi mt s thit b ph tr, phn mm
hoc phn cng c th, c bit l cc ng dng thi gian thc, h thng phn b,
hoc h thng nhng. mc h thng, ngi kim th cng tm kim cc li,
nhng trng tm l nh gi v hot ng, thao tc, s tin cy v cc yu cu khc
lin quan n cht lng ca ton h thng.
im khc nhau then cht gia Integration Test v System Test l System Test
ch trng cc hnh vi v li trn ton h thng, cn Integration Test ch trng s
giao tip gia cc n th hoc i tng khi chng lm vic cng nhau. Thng
thng ta phi thc hin Unit Test v Integration Test bo m mi Unit v s
tng tc gia chng hot ng chnh xc trc khi thc hin System Test.
Sau khi hon thnh Integration Test, mt h thng phn mm c hnh
thnh cng vi cc thnh phn c kim tra y . Ti thi im ny, lp trnh
vin hoc kim th vin bt u kim th phn mm nh mt h thng hon chnh.
Vic lp k hoch cho System Test nn bt u t giai on hnh thnh v phn tch
cc yu cu.
System Test kim th c cc hnh vi chc nng ca phn mm ln cc yu cu
v cht lng nh tin cy, tnh tin li khi s dng, hiu nng v bo mt. Mc
kim th ny c bit thch hp cho vic pht hin li giao tip vi phn mm hoc
phn cng bn ngoi, chng hn cc li "tc nghn" (deadlock) hoc chim dng b
nh. Sau giai on System Test, phn mm thng sn sng cho khch hng
hoc ngi dng cui cng kim th chp nhn sn phm (Acceptance Test) hoc
dng th (Alpha/Beta Test).
i hi nhiu cng sc, thi gian v tnh chnh xc, khch quan, System Test
thng c thc hin bi mt nhm kim th vin hon ton c lp vi nhm
pht trin d n. Bn thn System Test li gm nhiu loi kim th khc nhau, ph
bin nht gm:

17

Kim th chc nng (Functional Test): Bo m cc hnh vi ca h


thng tha mn ng yu cu thit k.
Kim th hiu nng (Performance Test): Bo m ti u vic phn b
ti nguyn h thng (v d b nh) nhm t cc ch tiu nh thi gian
x l hay p ng cu truy vn...
Kim th kh nng chu ti (Stress Test hay Load Test): Bo m h
thng vn hnh ng di p lc cao (v d nhiu ngi truy xut cng
lc). Stress Test tp trung vo cc trng thi ti hn, cc "im cht",
cc tnh hung bt thng nh ang giao dch th ngt kt ni (xut
hin nhiu trong kim tra thit b nh POS, ATM...)...
Kim th cu hnh (Configuration Test).
Kim th bo mt (Security Test): Bo m tnh ton vn, bo mt ca
d liu v ca h thng.
Kim th kh nng phc hi (Recovery Test): Bo m h thng c
kh nng khi phc trng thi n nh trc trong tnh hung mt ti
nguyn hoc d liu; c bit quan trng i vi cc h thng giao dch
nh ngn hng trc tuyn...
Nhn t quan im ngi dng, cc cp kim th trn rt quan trng:
Chng bo m h thng kh nng lm vic trong mi trng thc.
Lu l khng nht thit phi thc hin tt c cc loi kim th nu trn. Ty
yu cu v c trng ca tng h thng, tu kh nng v thi gian cho php ca d
n, khi lp k hoch, ngi Qun l d n s quyt nh p dng nhng loi kim
th no.

1.1.4.4

Kim th chp nhn sn phm Acceptance Test

Thng thng, sau giai on System Test l Acceptance Test, c khch


hng thc hin (hoc y quyn cho mt nhm th ba thc hin). Mc ch ca

18

Acceptance Test l chng minh phn mm tha mn tt c yu cu ca khch


hng v khch hng chp nhn sn phm (v tr tin thanh ton hp ng).
Acceptance Test c ngha ht sc quan trng, mc d trong hu ht mi
trng hp, cc php kim th ca System Test v Acceptance Test gn nh tng
t, nhng bn cht v cch thc thc hin li rt khc bit.
i vi nhng sn phm dnh bn rng ri trn th trng cho nhiu ngi s
dng, thng thng s thng qua hai loi kim th gi l kim th Alpha Alpha
Test v kim th Beta Beta Test. Vi Alpha Test, ngi dng kim th phn mm
ngay ti ni pht trin phn mm, lp trnh vin s ghi nhn cc li hoc phn hi,
v ln k hoch sa cha. Vi Beta Test, phn mm s c gi ti cho ngi dng
kim th ngay trong mi trng thc, li hoc phn hi cng s gi ngc li
cho lp trnh vin sa cha.
Thc t cho thy, nu khch hng khng quan tm v khng tham gia vo qu
trnh pht trin phn mm th kt qu Acceptance Test s sai lch rt ln, mc d
phn mm tri qua tt c cc kim th trc . S sai lch ny lin quan n
vic hiu sai yu cu cng nh s mong ch ca khch hng. V d i khi mt
phn mm xut sc vt qua cc php kim th v chc nng thc hin bi nhm
thc hin d n, nhng khch hng khi kim th sau cng vn tht vng v b cc
mn hnh ngho nn, thao tc khng t nhin, khng theo tp qun s dng ca
khch hng v.v...
Gn lin vi giai on Acceptance Test thng l mt nhm nhng dch v v
ti liu i km, ph bin nh hng dn ci t, s dng v.v... Tt c ti liu i km
phi c cp nht v kim th cht ch.

1.1.4.5

Mt s cp kim th khc

Ngoi cc cp trn, cn mt s cp kim th khc nh:

Kim th hi quy Regression Testing:


19

Theo chun IEEE610.12-90, kim th hi quy l s kim tra li c la chn


ca mt h thng hay thnh phn xc minh l nhng s thay i khng gy ra
nhng hu qu khng mong mun. Trn thc t, quan nim ny l ch ra rng
phn mm m qua c cc kim tra trc vn c th c kim tra li.
Beizer nh ngha l s lp li cc kim tra ch ra rng cch hot ng ca
phn mm khng b thay i, ngoi tr ti mc nh yu cu. Hin nhin l s tha
hip phi c thc hin gia s m bo c a ra bi kim th hi quy mi ln
thc hin mt s thay i v nhng ti nguyn c yu cu thc hin iu .

Kim th tnh ng Correctness testing:


Tnh ng n l yu cu ti thiu ca phn mm, l mc ch ch yu ca
kim th. Kim th tnh ng s cn mt kiu ngi ng tin no , ch ra cch
hot ng ng n t cch hot ng sai lm. Kim th vin c th bit hoc
khng bit cc chi tit bn trong ca cc modun phn mm c kim th, v d
lung iu khin, lung d liu, v.v . Do , hoc l quan im hp trng, hoc l
quan im hp en c th c thc hin trong kim th phn mm.

1.1.5

Cc phng php kim th con ngi


Hai phng php kim th con ngi ch yu l Code Inspections v

Walkthroughs. Hai phng php ny bao gm mt nhm ngi c v kim tra


theo m lnh ca chng trnh. Mc tiu ca chng l tm ra li m khng g li.
Mt Inspection hay Walkthrough l 1 s ci tin ca phng php kim tra m
lp trnh vin c chng trnh ca h trc khi kim th n. Inspections v
Walkthroughs hiu qu hn l bi v nhng ngi khc s kim th chng trnh tt
hn chnh tc gi ca chng trnh .
Inspections/Walkthroughs v kim th bng my tnh b sung cho nhau. Hiu
qu tm li s km i nu thiu i 1 trong 2 phng php. V i vi vic sa i

20

chng trnh cng nn s dng cc phng php kim th ny cng nh cc k


thut kim th hi quy.

1.1.5.1

Tng duyt Walkthrough

Walkthrough l mt thut ng m t s xem xt k lng ca mt qu trnh


mc tru tng trong nh thit k hay lp trnh vin lnh o cc thnh vin
trong nhm v nhng ngi c quan tm khc thng qua mt sn phm phn mm,
v nhng ngi tham gia t cu hi, v ghi ch nhng li c th c, s vi phm
cc chun pht trin v cc vn khc. Walkthrough m lnh l 1 tp cc th tc
v cc cng ngh d li cho vic c nhm m lnh. Trong mt Walkthrough, nhm
cc nh pht trin vi 3 hoc 4 thnh vin l tt nht thc hin xt duyt li. Ch
1 trong cc thnh vin l tc gi ca chng trnh.
Mt u im khc ca walkthroughs, hiu qu trong chi ph g li, l 1 thc t
m khi mt li c tm thy, n thng c nh v chnh xc trong m lnh.
Thm vo , phng php ny thng tm ra 1 tp cc li, cho php sau cc li
c sa tt c vi nhau. Mt khc, kim th da trn my tnh,ch tm ra triu
chng ca li (chng trnh khng kt thc hoc a ra kt qu v ngha), v cc
li thng c tm ra v sa ln lt tng li mt.

1.1.5.2

Thanh tra m ngun Code Inspection

Thanh tra m ngun l 1 tp hp cc th tc v cc k thut d li cho vic


c cc nhm m lnh. Mt nhm kim duyt thng gm 4 ngi. Mt trong s
ng vai tr l ngi iu tit mt lp trnh vin lo luyn v khng c l
tc gi ca chng trnh v phi khng quen vi cc chi tit ca chng trnh.
Ngi iu tit c nhim v: phn phi nguyn liu v lp lch cho cc bui kim
duyt, ch o phin lm vic, ghi li tt c cc li c tm thy v m bo l cc
li sau c sa. Thnh vin th hai l mt lp trnh vin. Cc thnh vin cn li

21

trong nhm thng l nh thit k ca chng trnh ( nu nh thit k khc lp trnh


vin) v mt chuyn vin kim th.

1.2

Nguyn tc kim th phn mm


kim th t hiu qu th khi tin hnh kim th phn mm cn phi tun

th mt s quy tc sau:
Quy tc 1: Mt phn quan trng ca 1 ca kim th l nh ngha ca u ra hay
kt qu mong mun.
Quy tc 2: Lp trnh vin nn trnh t kim tra chng trnh ca mnh.
Quy tc 3: Nhm lp trnh khng nn kim th chng trnh ca chnh h.
Quy tc 4: Kim tra thu o mi kt qu ca mi kim tra.
Quy tc 5: Cc ca kim th phi c vit cho cc trng thi u vo khng hp
l v khng mong mun, cng nh cho cc u vo hp l v mong
mun.
Quy tc 6: Kho st 1 chng trnh xem liu chng trnh c thc hin ci
m n cn thc hin ch l 1 phn, phn cn li l xem liu chng
trnh c thc hin ci m n khng cn phi thc hin hay khng.
Quy tc 7: Trnh cc ca kim th bng qu tr khi chng trnh thc s l 1
chng trnh bng qu.
Quy tc 8: Khng d kin kt qu ca kim th theo gi thit ngm l khng tm
thy li.
Quy tc 9: Xc sut tn ti li trong 1 on chng trnh l tng ng vi s li
tm thy trong on .
Quy tc 10: Kim th l 1 nhim v cc k sng to v c tnh th thch tr tu.

22

CHNG 2.
2.1

THIT K TEST CASE

Khi nim
Thit k test case trong kim th phn mm l qu trnh xy dng cc

phng php kim th c th pht hin li, sai st, khuyt im ca phn mm
xy dng phn mm t tiu chun.

2.2

Vai tr ca thit k test case


To ra cc ca kim th tt nht c kh nng pht hin ra li, sai st ca
phn mm mt cch nhiu nht.
To ra cc ca kim th c chi ph r nht, ng thi tn t thi gian v
cng sc nht.

2.3

Quy trnh thit k test case


Mt trong nhng l do quan trng nht trong kim th chng trnh l thit k

v to ra cc ca kim th - cc Test case c hiu qu. Vi nhng rng buc v thi


gian v chi ph cho, th vn then cht ca kim th tr thnh:
Tp con no ca tt c ca kim th c th c kh nng tm ra nhiu li nht?
Thng thng, phng php km hiu qu nht l kim tra tt c u vo ngu
nhin qu trnh kim th mt chng trnh bng vic chn ngu nhin mt tp con
cc gi tr u vo c th. V mt kh nng tm ra nhiu li nht, tp hp cc ca
kim th c chn ngu nhin c rt t c hi l tp hp ti u hay gn ti u. Sau
y l mt s phng php chn ra mt tp d liu kim th mt cch thng
minh.

23

kim th hp en v kim th hp trng mt cch thu o l khng th.


Do , mt chin lc kim th hp l l chin lc c th kt hp sc mnh ca
c hai phng php trn: Pht trin 1 cuc kim th nghim ngt va bng vic s
dng cc phng php thit k ca kim th hng hp en no v sau b
sung thm nhng ca kim th ny bng vic kho st tnh logic ca chng trnh, s
dng phng php hp trng.
Nhng chin lc kt hp bao gm:
Hp en
1. Phn lp tng ng

Hp trng
1. Bao ph cu lnh

2. Phn tch gi tr bin

2. Bao ph quyt nh

3. th nguyn nhn kt qu

3. Bao ph iu kin

4. on li

4. Bao ph iu kin quyt nh


5. Bao ph a iu kin.

Mi phng php c nhng u im cng nh khuyt im ring, do c


c tp cc ca kim th ti u, chng ta cn kt hp hu ht cc phng php.
Quy trnh thit k cc ca kim th s bt u bng vic pht trin cc ca kim th s
dng phng php hp en v sau pht trin b sung cc ca kim th cn thit
vi phng php hp trng.

2.3.1

Kim th hp trng - Kim th bao ph logic


Kim th hp trng c lin quan ti mc m cc ca kim th thc hin hay

bao ph tnh logic (m ngun) ca chng trnh. Kim th hp trng c bn l vic


thc hin mi ng i trong chng trnh, nhng vic kim th y ng i l
mt mc ch khng thc t cho mt chng trnh vi cc vng lp. Cc tiu chun
trong kim th bao ph logic gm c:

24

2.3.1.1

Bao ph cu lnh Statement Coverage

T tng: Thc hin mi cu lnh trong chng trnh t nht 1 ln.


Xt v d vi on m lnh JAVA sau:
public void foo (int a, int b, int x){
if (a>1 && b==0) {
x=x/a;}
if (a==2||x>1){
x=x+1;
}
}
Hnh 2.1

Mt chng trnh nh kim th

25

Bn c th thc hin mi cu lnh bng vic vit 1 ca kim th n i qua


ng ace. Tc l, bng vic t A=2, B=0 v X=3 ti im a, mi cu lnh s
c thc hin 1 ln (thc t, X c th c gn bt k gi tr no).
Thng tiu chun ny kh km. V d, c l nu quyt nh u tin l php
or ch khng phi php and th li ny s khng c pht hin. Hay nu quyt
nh th hai m bt u vi x>0, li ny cng s khng c tm ra. Cng vy, c 1
ng i qua chng trnh m x khng thay i (ng i abd). Nu y l 1
li, th li ny c th khng tm ra. Hay ni cch khc, tiu chun bao ph cu lnh
qu yu n ni m n thng l v ch.

2.3.1.2

Bao ph quyt nh Decision coverage

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.
Cc v d v cu lnh r nhnh hay quyt nh l cc cu lnh switch, dowhile, v if-else. Cc cu lnh a ng GOTO thng s dng trong mt s ngn
ng lp trnh nh FORTRAN.
Bao ph quyt nh thng tha mn bao ph cu lnh. V mi cu lnh l
trn s bt ngun mt ng i ph no hoc l t 1 cu lnh r nhnh hoc l t
im vo ca chng trnh, mi cu lnh phi c thc hin nu mi quyt nh r
nhnh c thc hin. Tuy nhin, c t nht 3 ngoi l:
Nhng chng trnh khng c quyt nh.
Nhng chng trnh hay thng trnh con/phng thc vi nhiu im
vo. Mt cu lnh cho c th c thc hin nu v ch nu chng
trnh c nhp vo ti 1 im u vo ring.
Cc cu lnh bn trong cc ON-unit. Vic i qua mi hng r nhnh
s l khng nht thit lm cho tt c cc ON-unit c thc thi.

26

V chng ta thy rng bao ph cu lnh l iu kin cn thit, nn mt


chin lc tt hn l bao ph quyt nh nn c nh ngha bao hm c bao ph
cu lnh. Do , bao ph quyt nh yu cu mi quyt nh phi c kt lun ng
hoc sai, v mi cu lnh phi c thc hin t nht 1 ln.
Phng php ny ch xem xt nhng quyt nh hay nhng s phn nhnh 2
ng v phi c sa i cho nhng chng trnh c cha nhng quyt nh a
ng. V d, cc chng trnh JAVA c cha cc lnh select (case), cc chng
trnh FORTRAN cha cc lnh s hc (ba ng) if hoc cc lnh tnh ton hay s
hc GOTO, v cc chng trnh COBOL cha cc lnh GOTO bin i hay cc
lnh GO-TO-DEPENDING-ON (cc lnh goto ph thuc). Vi nhng chng trnh
nh vy, tiu chun ny ang s dng mi kt lun c th ca tt c cc quyt nh
t nht 1 ln v gi mi im vo ti chng trnh hay thng trnh con t nht 1
ln.
Trong hnh 2.1, bao ph quyt nh c th t c bi t nht 2 ca kim th
bao ph cc ng ace v abd hoc acd v abe. Nu chng ta chn kh nng th
hai, th 2 u vo test-case l A=3, B=0, X=3 v A=2, B=1, X=1.
Bao ph quyt nh l 1 tiu chun mnh hn bao ph cu lnh, nhng vn
kh yu. V d, ch c 50% c hi l chng ta s tm ra con ng trong x khng
b thay i (v d, ch khi bn chn kh nng th nht). Nu quyt nh th hai b
li (nu nh ng l phi ni l x<1 thay v x>1), li ny s khng c pht hin
bng 2 ca kim th trong v d trc.

2.3.1.3

Bao ph iu kin Condition coverage

T tng: 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.
V vy, nh vi bao ph quyt nh, th bao ph iu kin khng phi lun
lun dn ti vic thc thi mi cu lnh. Thm vo , trong tiu chun bao ph iu
27

kin, mi im vo chng trnh hay thng trnh con, cng nh cc ON-unit, c


gi t nht 1 ln. V d, cu lnh r nhnh do k=0 to 50 while (j+k<quest) c cha 2
iu kin l k<=50, v j+k<quest. Do , cc ca kim th s c yu cu cho
nhng tnh hung k<=50, k>50 ( n ln lp cui cng ca vng lp), j+k<quest,
v j+k>=quest.
Hnh 2.1 c 4 iu kin: A>1, B=0, A=2, X>1. Do cc ca kim th y
l cn thit thc y nhng trng thi m A>1, A<=1, B=0 v B<>0 c mt ti
im a v A=2, A<>2, X>1, X<=1 c mt ti im b. S lng y cc ca kim
th tha mn tiu chun v nhng ng i m c i qua bi mi ca kim th l:
1. A=2, B=0, X=4

ace

2. A=1, B=1, X=1

abd

Ch l, mc d cng s lng cc ca kim th c to ra cho v d ny,


nhng bao ph iu kin thng tt hn bao ph quyt nh l v n c th (nhng
khng lun lun) gy ra mi iu kin ring trong 1 quyt nh thc hin vi c
hai kt qu, trong khi bao ph quyt nh li khng. V d trong cng cu lnh r
nhnh: DO K=0 TO 50 WHILE (J+K<QUEST) l 1 nhnh 2 ng (thc hin thn
vng lp hay b qua n). Nu bn ang s dng kim th quyt nh, th tiu chun
ny c th c tha mn bng cch cho vng lp chy t K=0 ti 51, m cha
tng kim tra trng hp trong mnh WHILE b sai. Tuy nhin, vi tiu
chun bao ph iu kin, 1 ca kim th s cn phi cho ra 1 kt qu sai cho nhng
iu kin J+K<QUEST.
Mc d nu mi nhn thong qua, tiu chun bao ph iu kin xem ra tha
mn tiu chun bao ph quyt nh, nhng khng phi lc no cng vy. Nu quyt
nh IF (A&B) c kim tra, th tiu chun bao ph iu kin s cho php bn vit
2 ca kim th - A ng, B sai, v A sai, B ng nhng iu ny s khng lm cho
mnh THEN ca cu lnh IF c thc hin.
V d, 2 ca kim th khc:
1. A=1, B=0, X=3
28

2. A=2, B=1, X=1


bao ph tt c cc kt qu iu kin, nhng chng ch bao ph 2 trong 4 kt qu
quyt nh (c 2 u bao ph ng i abd v do , khng s dng kt qu true
ca quyt nh u tin v kt qu false ca quyt nh th hai).

2.3.1.4

Bao ph quyt nh/iu kin Decision/condition coverage

T tng: Thc hin cc ca kim th m mi iu kin trong 1 quyt nh


thc hin trn tt c cc kt qu c th t nht 1 ln, v mi im vo c gi t
nht 1 ln.
im yu ca bao ph quyt nh/iu kin l mc d xem ra n c th s
dng tt c cc kt qu ca tt c cc iu kin, nhng thng khng phi vy v
nhng iu kin chc chn cn cc iu kin khc.
Hnh 2.2

M my cho chng trnh trong Hnh 2.1

Biu tin trnh trong hnh 2.2 l cch 1 trnh bin dich to ra m my cho
chng trnh trong Hnh 2.1. Cc quyt nh a iu kin trong chng trnh ngun
29

b chia thnh cc quyt nh v cc nhnh ring v hu ht cc my khng c


ch to c th thc hin cc quyt nh a iu kin. Khi 1 bao ph kim th
t m hn xut hin l vic s dng tt c cc kt qu c th ca mi quyt nh
gc. Hai ca kim th bao ph quyt nh trc khng lm c iu ny; chng
khng th s dng kt qu false ca quyt nh H v kt qu true ca quyt nh K.
L do, nh c ch ra trong hnh 2.2, l nhng kt qu ca cc iu kin
trong cc biu thc and v or c th cn tr hay ngn chn vic c lng cc
quyt nh khc. V d, nu 1 iu kin and l sai, khng cn kim tra cc iu kin
tip theo trong biu thc. Tng t nh vy, nu 1 iu kin or l ng th cng
khng cn kim tra cc iu kin cn li. Do , cc li trong biu thc logic khng
phi lc no cng c pht hin bng cc tiu chun bao ph iu kin v bao ph
quyt nh/iu kin.

2.3.1.5

Bao ph a iu kin Multiple condition coverage

T tng: Vit cc ca kim th m tt c nhng s kt hp ca cc kt qu


iu kin c th trong mi quyt nh, v tt c cc im vo phi c gi t nht 1
ln.
V d, xt chui m lnh sau:
NOTFOUND = TRUE;
DO I=1 TO TABSIZE WHILE (NOTFOUND); /*SEARCH TABLE*/
searching logic;
END;
Bn tnh hung kim th l:
1. I<= TABSIZE v NOTFOUND c gi tr ng (ang duyt)
2.

I<= TABSIZE v NOTFOUND c gi tr sai (tm thy

mc vo trc khi gp cui bng).

30

3.

I>TABSIZE v NOTFOUND c gi tr ng (gp cui

bng m khng tm thy mc vo).


4. I>TABSIZE v NOTFOUND c gi tr sai (mc vo l ci cui cng
trong bng).
D nhn thy l tp hp cc ca kim th tha mn tiu chun a iu kin
cng tha mn cc tiu chun bao ph quyt nh, bao ph iu kin v bao ph
quyt nh/iu kin.
Quay li hnh 2.1, cc ca kim th phi bao ph 8 s kt hp:
1. A>1, B= 0
2. A>1, B<>0
3. A<=1, B=0
4. A<=1, B<>0
5. A=2, X>1
6. A=2, X<=1
7. A<>2, X>1
8. A<>2, X<=1
V l ca kim th sm hn, nn cn ch l cc trng hp t 5 n 8 biu
din cc gi tr ti v tr cu lnh IF th hai. V X c th thay i trn cu lnh IF
ny, nn gi tr cn ti cu lnh IF ny phi c sao d phng thng qua tnh logic
tm ra cc gi tr u vo tng ng.
Nhng s kt hp c kim tra ny khng nht thit ng rng cn thc
hin c 8 ca kim th. Trn thc t, chng c th c bao ph bi 4 ca kim th.
Cc gi tr u vo kim th, v s kt hp m chng bao ph, l nh sau:
A=2, B=0, X=4

Bao ph trng hp 1, 5

A=2, B=1, X=1

Bao ph trng hp 2, 6

A=1, B=0, X=2

Bao ph trng hp 3, 7

A=1, B=1, X=1

Bao ph trng hp 4, 8

31

Thc t l vic c 4 ca kim th v 4 ng i ring bit trong hnh 2.1 ch l


s trng hp ngu nhin. Trn thc t, 4 ca kim th ny khng bao ph mi ng
i, chng b qua ng i acd. V d, bn s cn 8 ca kim th cho quyt nh sau
mc d n ch cha 2 ng i:
If (x==y&&length(z)==0&&FLAG) {
J=1;}
Else {
I=1;}
Trong trng hp cc vng lp, s lng cc ca kim th c yu cu bi
tiu chun a iu kin thng t hn nhiu s lng ng i.
Tm li, i vi nhng chng trnh ch cha 1 iu kin trn 1 quyt nh,
th 1 tiu chun kim th nh nht l mt s lng cc ca kim th (1) gi tt
c cc kt qu ca mi quyt nh t nht 1 ln v (2) gi mi im ca mc vo
(nh l im vo hay ON-unit) t nht 1 ln, m bo l tt c cc cu lnh c
thc hin t nht 1 ln. i vi nhng chng trnh cha cc quyt nh c a iu
kin th tiu chun ti thiu l s lng cc ca kim th gi tt c nhng s
kt hp c th ca cc kt qu iu kin trong mi quyt nh, v tt c cc im
vo ca chng trnh t nht 1 ln.

2.3.2

Kim th hp en

2.3.2.1

Phn lp tng ng Equivalence Patitioning

Phn lp tng ng l mt phng php kim th hp en chia min u


vo ca mt chng trnh thnh cc lp d liu, t suy dn ra cc ca kim th.
Phng php ny c gng xc nh ra mt ca kim th m lm l ra mt lp li, do
lm gim tng s cc trng hp kim th phi c xy dng.

32

Thit k ca kim th cho phn lp tng ng da trn s nh gi v cc


lp tng ng vi mt iu kin vo. Lp tng ng biu th cho tp cc trng
thi hp l hay khng hp l i vi iu kin vo.
Mt cch xc nh tp con ny l nhn ra rng 1 ca kim th c la chn
tt cng nn c 2 c tnh khc:
1. Gim thiu s lng cc ca kim th khc m phi c pht trin hon
thnh mc tiu nh ca kim th hp l.
2. Bao ph mt tp rt ln cc ca kim th c th khc. Tc l, n ni cho
chng ta mt th g v s c mt hay vng mt ca nhng li qua tp
gi tr u vo c th.
Thit k Test-case bng phn lp tng ng tin hnh theo 2 bc:
(1). Xc nh cc lp tng ng v
(2). Xc nh cc ca kim th.

Xc nh cc lp tng ng
Cc lp tng ng c xc nh bng bng cch ly mi trng thi u
vo (thng l 1 cu hay 1 cm t trong c t) v phn chia n thnh 2 hay nhiu
nhm (c th s dng bng 2.3 lit k cc lp tng ng).
Hnh 2.3

Mt mu cho vic lit k cc lp tng ng

iu kin bn ngoi

Cc lp tng ng
hp l

Cc lp tng ng
khng hp l

Ch l hai kiu lp tng ng c xc nh: lp tng ng hp l m


t cc u vo hp l ca chng trnh, v lp tng ng khng hp l m t tt
c cc trng thi c th khc ca iu kin (v d, cc gi tr u vo khng ng).

33

Vi 1 u vo hay iu kin bn ngoi cho, vic xc nh cc lp tng ng


hu nh l 1 quy trnh mang tnh kinh nghim. xc nh cc lp tng ng c
c th p dng tp cc nguyn tc di y:
1. Nu 1 trng thi u vo nh r gii hn ca cc gi tr, xc nh 1 lp
tng ng hp l v 2 lp tng ng khng hp l.
2. Nu 1 trng thi u vo xc nh s gi tr, xc nh 1 lp tng ng
hp l v 2 lp tng ng bt hp l.
3. Nu 1 trng thi u vo ch nh tp cc gi tr u vo v chng trnh s
dng mi gi tr l khc nhau, xc nh 1 lp tng ng hp l cho mi
loi v 1 lp tng ng khng hp l.
4. Nu 1 trng thi u vo ch nh mt tnh hung chc chn must be,
xc nh 1 lp tng ng hp l v 1 lp tng ng khng hp l.
Nu c bt k l do no tin rng chng trnh khng x l cc phn t
trong cng 1 lp l nh nhau, th hy chia lp tng ng thnh cc lp tng
ng nh hn.

Xc nh cc ca kim th
Vi cc lp tng ng xc nh c bc trn, bc th hai l s dng
cc lp tng ng xc nh cc ca kim th. Qu trnh ny nh sau:
1. Gn 1 s duy nht cho mi lp tng ng.
2. Cho n khi tt c cc lp tng ng hp l c bao ph bi (hp nht
thnh) cc ca kim th, vit 1 ca kim th mi bao ph cng nhiu cc lp
tng ng cha c bao ph cng tt.
3. Cho n khi cc ca kim th ca bn bao ph tt c cc lp tng
ng khng hp l, vit 1 ca kim th m bao ph mt v ch mt trong
cc lp tng ng khng hp l cha c bao ph.

34

4. L do m mi ca kim th ring bao ph cc trng hp khng hp l l v


cc kim tra u vo khng ng no che giu hoc thay th cc kim
tra u vo khng ng khc.
Mc d vic phn lp tng ng l rt tt khi la chn ngu nhin cc ca
kim th, nhng n vn c nhng thiu st. V d, n b qua cc kiu test case c
li no . Hai phng php tip theo, phn tch gi tr bin v th nguyn nhn
kt qu , bao ph c nhiu nhng thiu st ny.

2.3.2.2

Phn tch gi tr bin Boundary Value Analysis

Kinh nghim cho thy cc ca kim th m kho st t m cc iu kin bin


c t l phn trm cao hn cc ca kim th khc. Cc iu kin bin l nhng iu
kin m cc tnh hung ngay ti, trn v di cc cnh ca cc lp tng ng u
vo v cc lp tng ng u ra. Phn tch cc gi tr bin l phng php thit
k ca kim th b sung thm cho phn lp tng ng, nhng khc vi phn lp
tng ng 2 kha cnh:
1. Phn tch gi tr bin khng la chn phn t bt k no trong 1 lp tng
ng l in hnh, m n yu cu l 1 hay nhiu phn t c la chn
nh vy m mi cnh ca lp tng ng chnh l i tng kim tra.
2. Ngoi vic ch tp trung ch vo cc trng thi u vo (khng gian u
vo), cc ca kim th cng nhn c bng vic xem xt khng gian kt
qu (cc lp tng ng u ra).
Phn tch gi tr bin yu cu c sng to v lng chuyn mn ha nht nh
v n l mt qu trnh mang tnh kinh nghim rt cao. Tuy nhin, c mt s quy tc
chung nh sau:
1. Nu 1 trng thi u vo nh r gii hn ca cc gi tr, hy vit cc ca
kim th cho cc gi tr cui ca gii hn, v cc ca kim th u vo
khng hp l cho cc trng hp va ra ngoi phm vi.
35

2. Nu 1 trng thi u vo nh r s lng gi tr, hy vit cc ca kim th


cho con s ln nht v nh nht ca cc gi tr v mt gi tr trn, mt gi
tr di nhng gi tr ny.
3. S dng quy tc 1 cho mi trng thi u vo. V d, nu 1 chng trnh
tnh ton s khu tr FICA hng thng v nu mc ti thiu l 0.00$, v ti
a l 1,165.25$, hy vit cc ca kim th m khu tr 0.00$ v 1,165.25,
khu tr m v khu tr ln hn 1,165.25$. Ch l vic xem xt gii hn
ca khng gian kt qu l quan trng v khng phi lc no cc bin ca
min u vo cng m t cng mt tp s kin nh bin ca gii hn u
ra (v d, xt chng trnh con tnh SIN). Ngoi ra, khng phi lc no
cng c th to ra 1 kt qu bn ngoi gii hn u ra, nhng tuy nhin rt
ng xem xt tim n .
4. S dng nguyn tc 2 cho mi trng thi u ra.
5. Nu u vo hay u ra ca 1 chng trnh l tp c sp th t ( v d,1
file tun t hay 1 danh sch nh tuyn hay 1 bng) tp trung ch vo cc
phn t u tin v cui cng ca tp hp.
6. S dng s kho lo ca bn tm cc iu kin bin.

2.3.2.3

th nguyn nhn kt qu - Cause & Effect Graphing

Mt yu im ca phn tch gi tr bin v phn lp tng ng l chng


khng kho st s kt hp ca cc trng hp u vo. Vic kim tra s kt hp
u vo khng phi l mt nhim v n gin bi v nu bn phn lp tng ng
cc trng thi u vo, th s lng s kt hp thng l rt ln. Nu bn khng c
cch la chn c h thng mt tp con cc trng thi u vo, c l bn s chn ra
mt tp ty hng cc iu kin, iu ny c th dn ti vic kim th khng c hiu
qu.

36

th nguyn nhn kt qu h tr trong vic la chn mt cch c h thng


tp cc ca kim th c hiu qu cao. N c tc ng c li nh hng ti vic ch ra
tnh trng cha y v nhp nhng trong c t. N cung cp c cch biu din
chnh xc cho cc iu kin logic v hnh ng tng ng
Qu trnh di y c s dng xy dng c cc test case:
1. c t c chia thnh cc phn c th thc hin c. iu ny l cn
thit bi v th nguyn nhn kt qu tr nn kh s dng khi c s
dng trn nhng c t ln.
2. Nguyn nhn v kt qu trong cc c t c nhn bit. Mt nguyn nhn
l mt trng thi u vo nht nh hay mt lp tng ng ca cc trng
thi u vo. Mt kt qu l mt trng thi u ra hay 1 s bin i h
thng (kt qu cn li m 1 u vo c trng thi ca 1 chng trnh hay
h thng). Bn nhn bit nguyn nhn v kt qu bng vic c tng t ca
c t v gch chn cc t hoc cm t m t nguyn nhn v kt qu. Khi
c nhn bit, mi nguyn nhn v kt qu c gn cho 1 s duy nht.
3. Xy dng th nguyn nhn kt qu bng cch pht trin v bin i
ni dung ng ngha ca c t thnh th Boolean ni gia nguyn nhn
v kt qu.
4. th c c din gii vi cc rng buc m t nhng s kt hp ca
nguyn nhn v/hoc kt qu l khng th v cc rng buc ng ngha v
mi trng.
5. Bng vic d theo cc iu kin trng thi trong th mt cch cn thn,
bn chuyn i th thnh mt bng quyt nh mc vo gii hn. Mi
ct trong bng m t mt ca kim th.
6. Cc ct trong bng quyt nh c chuyn thnh cc ca kim th.
K hiu c bn cho th c ch ra trong hnh 2.4. Tng tng mi nt c
gi tr l 0 hoc 1; 0 m t trng thi vng mt v 1 m t trng thi c mt. Hm
37

ng nht ni l nu a l 1 th b l 1; ngc li, b l 0. Hm not l ni nu a l 1


th b l 0; ngc li th b l 1. Hm or khng nh rng nu a hoc b hoc c l 1, th
d l 1; ngc li d l 0. Hm and khng nh nu c a v b l 1 th c l 1; ngc li
c l 0. Hai hm or v and c php c s lng u vo bt k.
Hnh 2.4

Cc k hiu th nguyn nhn kt qu c bn

Trong hu ht cc chng trnh, s kt hp no ca mt s nguyn nhn l


khng th bi v l do ng ngha v mi trng (v d, mt k t khng th ng
thi va l A va l B). khi , ta s dng k hiu trong Hnh 2.5. Rng buc E
(Exclude loi tr) khng nh rng ti a, ch c hoc a hoc b c th l 1 (a v b
khng th ng thi l 1). Rng buc I (Include bao hm) khng nh t nht mt
trong a, b hoc c phi lun lun l 1 (a, b hoc c khng th ng thi l 0). Rng
buc O (Only ch mt) khng nh mt v ch mt hoc a hoc b phi l 1. Rng
buc R (Request yu cu) khng nh rng khi a l 1, th b phi l 1 (v d, khng
th c trng hp a l 1, cn b l 0). Rng buc M (Mask mt n) khng nh l
nu kt qu a l 1, kt qu b s bt buc phi l 0.
38

Hnh 2.5

Cc k hiu rng buc

Bc tip theo l to bng quyt nh mc vo gii hn limited-entry


decision table. Tng t vi cc bng quyt nh, th nguyn nhn chnh l cc iu
kin v kt qu chnh l cc hnh ng. Quy trnh c s dng l nh sau:
1. Chn mt kt qu l trng thi c mt (1).
2. Ln ngc tr li th, tm tt c nhng s kt hp ca cc nguyn nhn
(i tng cho cc rng buc) m s thit lp kt qu ny thnh 1.
3. To mt ct trong bng quyt nh cho mi s kt hp nguyn nhn.
4. Vi mi s kt hp, hy quy nh trng thi ca tt c cc kt qu khc v
t chng vo mi ct.
Trong khi biu din bc 2, cn quan tm cc vn sau:
1. Khi ln ngc tr li qua mt nt or m u ra ca n l 1, khng bao gi
thit lp nhiu hn 1 u vo cho nt or l 1 mt cch ng thi. iu ny
c gi l path sensitizing lm nhy ng i. Mc tiu ca n l
ngn chn d li tht bi v mt nguyn nhn che i mt nguyn nhn
khc.
39

2. Khi ln ngc tr li qua mt nt and m u ra ca n l 0, d nhin, phi


lit k tt c cc s kt hp u vo dn ti u ra 0. Tuy nhin, nu bn
ang kho st trng thi m 1 u ra l 0 v mt hay nhiu u ra khc l 1,
th khng nht thit phi lit k tt c cc iu kin m di iu kin
cc u vo khc c th l 1.
3. Khi ln ngc tr li qua mt nt and m u ra ca n l l 0, ch cn lit
k 1 iu kin trong tt c u vo bng 0. (Nu nt and chnh gia
ca th nh vy th tt c cc u vo ca n xut pht t cc nt trung
gian khc, c th c qu nhiu trng thi m trong trng thi tt c cc
u vo ca n bng 0.)
Hnh 2.6

Nhng xem xt c s dng khi d theo th


Nu x=1, khng quan tm v
trng hp a=b=1 (s xem xt th
1)
Nu x=0, lit k tt c cc trng
hp trong a=b=0.
Nu x =1, lit k tt c cc trng
hp trong a=b=c=1.
Nu x=0, bao gm ch 1 trng
hp m a=b=c=0 (s xem xt 3).
i vi cc trng thi m abc l
001, 010, 100, 011, 101 v 110 ,
bao gm ch 1 trng hp mi
trng thi (s xem xt 2).

Nhng s xem xt ny c th xut hin tht thng, nhng chng c mt mc


ch rt quan trng: gim bt cc kt qu c kt hp ca th. Chng lit k
cc trng hp m hng v cc ca kim th t c li. Nu cc ca kim th t c li
khng c lit k, mt th nguyn nhn kt qu ln s to ra mt s lng ca
kim th cc k ln. Nu s lng cc ca kim th trn thc t l qu ln, bn s
40

chn ra 1 tp con no , nhng khng m bo l cc ca kim th t c li s l


nhng ca kim th c lit k. Do , tt hn ht l lit k chng trong sut qu
trnh phn tch ca th.

NHN XT
V th nguyn nhn kt qu l phng php to cc ca kim th c h
thng m t s kt hp ca cc iu kin. S thay i s l 1 s la chn kt hp
khng th d tnh trc, nhng khi thc hin nh vy, c v nh bn s b st
nhiu ca kim th th v c xc nh bng th nguyn nhn kt qu .
V v th nguyn nhn kt qu yu cu chuyn mt c t thnh mt
mng logic Boolean, n cung cp mt trin vng khc v s hiu bit su sc hn
na v c t. Trn thc t, s pht trin ca 1 th nguyn nhn kt qu l cch
hay khm ph s m h v cha y trong cc c t.
Mc d vic v th nguyn nhn kt qu to ra tp cc ca kim th hu
dng, nhng thng thng n khng to ra tt c cc ca kim th hu dng m c
th c nhn bit. Ngoi ra, th nguyn nhn kt qu khng kho st tha
ng cc iu kin gii hn. D nhin, bn c th c gng bao ph cc iu kin gii
hn trong sut qu trnh.
Tuy nhin, vn trong vic thc hin iu ny l n lm cho th rt phc
tp v dn ti s lng rt ln cc ca kim th. V th, tt nht l xt 1 s phn tch
gi tr gii hn tch ri nhau.
V th nguyn nhn kt qu lm chng ta mt thi gian trong vic chn
cc gi tr c th cho cc ton hng, nn cc iu kin gii hn c th b pha trn
thnh cc ca kim th xut pht t th nguyn nhn kt qu. V vy, chng ta
t c mt tp cc ca kim th nh nhng hiu qu m tha mn c 2 mc tiu.
Ch l vic v th nguyn nhn kt qu ph hp vi mt s quy tc
trong Chng 1. Vic xc nh u ra mong i cho mi ca kim th l mt phn
41

c hu ca k thut (mi ct trong bng quyt nh biu th cc kt qu c mong


i). Cng ch l n khuyn khch chng ta tm kim cc kt qu c tc dng
khng mong mun.
Kha cnh kh nht ca k thut ny l qu trnh chuyn i th thnh bng
quyt nh. Qu trnh ny c tnh thut ton, tc l bn c th t ng ha n bng
vic vit 1 chng trnh. Trn th trng c mt vi chng trnh thng mi tn
ti gip cho qu trnh chuyn i ny.

2.3.2.4

on li Error Guessing

Mt k thut thit k test-case khc l error guessing on li. Tester c


a cho 1 chng trnh c bit, h phng on, c bng trc gic v kinh nghim,
cc loi li c th v sau vit cc ca kim th a ra cc li .
Tht kh a ra mt quy trnh cho k thut on li v n l mt quy trnh
c tnh trc gic cao v khng th d on trc. tng c bn l lit k mt
danh sch cc li c th hay cc trng hp d xy ra li v sau vit cc ca kim
th da trn danh sch . Mt tng khc xc nh cc ca kim th c lin
i vi cc gi nh m lp trnh vin c th thc hin khi c c t (tc l,
nhng th b b st khi c t, hoc l do tnh c, hoc l v ngi vit c cm
gic nhng c t l r rng). Ni cch khc, bn lit k nhng trng hp c
bit m c th b b st khi chng trnh c thit k.

2.3.3

Chin lc
Cc phng php thit k test-case c tho lun c th c kt hp

thnh mt chin lc ton din. V mi phng php c th ng gp 1 tp ring


cc ca kim th hu dng, nhng khng ci no trong s chng t n ng gp mt
tp trn vn cc cc ca kim th. Chin lc hp l nh sau:

42

1. Nu c t c cha s kt hp ca cc iu kin u vo, hy bt u vi


vic v th nguyn nhn kt qu.
2. Trong trng hp bt k, s dng phng php phn tch gi tr bin. Hy
nh rng y l mt s phn tch ca cc bin u vo v u ra. Phng
php phn tch gi tr bin mang li mt tp cc iu kin kim tra b sung,
v rt nhiu hay ton b cc iu kin ny c th c hp nht thnh cc
kim th nguyn nhn kt qu.
3. Xc nh cc lp tng ng hp l v khng hp l cho u vo v u
ra, v b sung cc ca kim th c xc nh trn nu cn thit.
4. S dng k thut on li thm cc ca kim th thm vo.
5. Kho st tnh logic ca chng trnh lin quan n tp cc ca kim th. S
dng tiu chun bao ph quyt nh, bao ph iu kin, bao ph quyt
nh/iu kin, hay bao ph a iu kin ( trong bao ph a iu kin l
c s dng nhiu nht ). Nu tiu chun bao ph khng t c bi cc
ca kim th c xc nh trong bn bc trc, v nu vic t c tiu
chun l khng th ( tc l, nhng s kt hp chc chn ca cc iu kin
c th l khng th to v bn cht ca chng trnh), hy thm vo cc ca
kim th c kh nng lm cho tha mn tiu chun.
Tuy vic s dng chin lc ny s khng m bo rng tt c cc li s c
tm thy, nhng n c xc minh l i din cho mt s tha thun hp l.

43

CHNG 3.

P DNG

T nhng phng php thit k test case tm hiu trn, em vn dng


chng vo thit k test case cho chng trnh Tam gic.

3.1

c t
Chng trnh c vo 3 gi tr nguyn t hp thoi vo. Ba gi tr ny tng

ng vi chiu di 3 cnh ca 1 tam gic. Chng trnh hin th 1 thng ip cho bit
tam gic l tam gic thng, cn, hay u.
Ba gi tr nhp vo tha mn l 3 cnh ca mt tam gic khi v ch khi c 3 s
u l s nguyn dng, v tng ca 2 s bt k trong 3 s phi ln hn s th 3.
Khi , mt tam gic u l tam gic c 3 cnh bng nhau, tam gic cn l tam gic
c 2 trong 3 cnh bng nhau, v tam gic thng th c 3 cnh khc nhau.
M lnh ca chng trnh:
unit main;
interface
uses
Windows,

Messages,

SysUtils,

Variants,

Controls, Forms, Dialogs, StdCtrls, ExtCtrls;


type
TMainForm = class(TForm)
AEdit: TLabeledEdit;
BEdit: TLabeledEdit;
CEdit: TLabeledEdit;
btnTest: TButton;
procedurebtnTestClick(Sender: TObject);
private
{ Private declarations }
public

44

Classes,

Graphics,

{ Public declarations }
end;
var
MainForm: TMainForm;
implementation
{$R *.dfm}
Procedure TMainForm.btnTestClick(Sender: TObject);
var
a, b, c: Integer;
begin
try
a := StrToInt(AEdit.Text);
b := StrToInt(BEdit.Text);
c := StrToInt(CEdit.Text);
if (a < 0) Or (b < 0) Or (c < 0) then
ShowMessage('3 canh A, B, C khong thoa man la 3
canh cua mot tam giac.')
else
if (a + b > c) And (a + c > b) And (b + c > a) then
begin
if (a = b) And (b = c) then
ShowMessage('3 canh A, B, C lap thanh
mot tam giac deu.')
else
if (a=b) Or (b=c) Or (c=b) then
ShowMessage('3 canh A, B, C lap
thanh mot tam giac can.')
else
ShowMessage('3 canh A, B, C lap
thanh mot tam giac thuong.');
end
else
ShowMessage('3 canh A, B, C khong thoa
man la 3 canh cua mot tam giac.');
except

45

ShowMessage('Loi dinh dang du lieu. De nghi ban xem


va nhap lai.');
end;
end;
end.

3.2

Thit k test case


p dng chin lc kim th trnh by trong Chng 2, cc ca kim th

c xy dng nh sau:

3.2.1

V th nguyn nhn kt qu
Do c t c s kt hp u vo nn trc tin, p dng phng php v

th nguyn nhn kt qu.


Nguyn nhn l:
1. C 3 gi tr nhp vo u l s nguyn dng.
2. Tng 2 s bt k trong 3 s ln hn s cn li.
3. Hai trong 3 s c gi tr bng nhau.
4. Ba s c gi tr bng nhau.
Kt qu l:
R1. Thng bo ba gi tr nhp vo lp thnh tam gic thng.
R2. Thng bo ba gi tr nhp vo lp thnh tam gic cn.
R3. Thng bo ba gi tr nhp vo lp thnh tam gic u.
R4. Thng bo ba gi tr nhp vo khng lp thnh mt tam gic.
R5. Thng bo li nhp d liu.
46

Hnh 3.1

th nguyn nhn kt qu:

Bc tip theo l to bng quyt nh mc vo gii hn. Chn kt qu R1 l


u tin. R1 c mt nu nt cc nt 12 v 3 = 1,0. Nt 12 = 1 khi 1 v 2 = 1,1.
p dng ln lt cho s c mt ca tng kt qu u vo, ta c bng quyt
nh nh sau:
Hnh 3.2

Bng quyt nh

47

R1

R2

R3

R4

R5

Bc cui cng l chuyn i bng quyt nh thnh cc ca kim th. Cc ca


kim th thu c nh sau:

STT

Cc iu kin

Ca kim th

C 3 gi tr nhp vo u l s
nguyn dng, v tng ca 2 s
bt k trong 3 s lun ln hn s
th 3, v khng c cp 2 s bt
k no trong 3 s l = nhau.

2,3,4
2,4,3

Hnh ng
R1

3,2,4
3,4,2
4,2,3
4,3,2

C 3 gi tr nhp vo u l s
nguyn dng, v tng cu 2 s
48

3,3,4

R2

bt k trong 3 s lun ln hn s

3,4,3

th 3, v tn ti mt cp 2 s

4,3,3

trong 3 s l = nhau.
3

C 3 gi tr nhp vo u l s

3,3,3

R3

C 3 gi tr nhp vo u l s

1,2,4

R4

nguyn dng, v tn ti 2 s

V 5 hon v ca

trong 3 s c tng nh hn hoc

nguyn dng, v c 3 s c gi
tr bng nhau.
4

bng s cn li.
5

A,2,2

Tn ti mt gi tr nhp vo

-1,1,1

khng phi l s nguyn dng.

R5

1.1,1,1
V 2 hon v ca
mi trng hp

3.2.2
3.2.2.1

Phn lp tng ng
Xc nh cc lp tng ng

Cc gi tr nhp vo l s

C 3 gi tr u l s (1)

Tn ti 1 gi tr khng
phi l s (2)

Cc gi tr l nguyn

Cc gi tr l dng

C 3 gi tr u nguyn Tn ti 1 gi tr khng
(3)

nguyn (4)

C 3 gi tr u dng (5)

Tn ti 1 gi tr <=0 (6)

49

Hng s

-32768 : 32767 (7)

Tng 2 s bt k so vi s Ln hn (10)

<-32768 (8), >32767 (9)


Nh hn hoc bng (11)

th 3

3.2.2.2

Xc nh cc ca kim th

Cc ca kim th bao ph cc lp tng ng hp l:


Ca kim th 2,3,4 v 5 hon v bao ph cc lp (1), (3), (5), (7), (10).

Cc ca kim th tng ng vi tng ca kim th khng hp l:


(2) A, 1, 1 v 2 hon v.
(4) 1.1, 1, 1 v 2 hon v.
(6) -1, 1, 1 v 2 hon v.
(8) -32769, 1, 1 v 2 hon v.
(9) 32768, 1, 1 v 2 hon v.
(11) 1, 2, 4 v 5 hon v.

3.2.3

Phn tch gi tr bin

3.2.3.1

Xt cc trng thi u vo

Xt cc trng thi u vo thu c cc ca kim th nh sau:


1. 1, 1, 1
2. A, 1, 1 v 2 hon v.
3. 1.1, 1, 1 v 2 hon v.
4. 0, 1, 1 v 2 hon v.
50

5. -1, 1, 1 v 2 hon v.
6. -32768, 1, 1 v 2 hon v.
7. -32769, 1, 1 v 2 hon v.
8. 32767, 1, 1 v 2 hon v.
9. 32768, 1, 1 v 2 hon v.
10. 1, 2, 3 v 5 hon v.
11. 1, 2, 4 v 5 hon v.

3.2.3.2

Xt khng gian kt qu

Xt khng gian kt qu, thu c cc ca kim th nh sau:


Ba s u vo tha mn l 3 cnh ca mt tam gic u
12. 1, 1, 1
13. 32767, 32767, 32767
Ba s u vo tha mn l 3 cnh ca mt tam gic cn
14. 1, 1, 2 v 2 hon v.
15. 32767, 32767, 32766 v 2 hon v.
Ba s u vo tha mn l 3 cnh ca mt tam gic thng
16. 2, 3, 4 v 5 hon v.
17. 32767, 32766, 32765 v 5 hon v.
Ba s u vo khng tha mn l 3 cnh ca 1 tam gic
18. 1, 2, 3 v 5 hon v.
19. 1, 2, 4 v 5 hon v.
20. 32767, 1, 32765 v 5 hon v.

51

21. 32767, 1, 32766 v 5 hon v.


Li nh dng d liu vo
22. A, 1, 1 v 2 hon v.
23. 0, 1, 1 v 2 hon v.
24. -1, 1, 1 v 2 hon v.
25. 1.1, 1, 1 v 2 hon v.

3.2.4

Cc phng php hp trng

3.2.4.1

Bao ph cu lnh

Lu thut ton cho chng trnh tam gic:

a
a,b,c:integer
Lu thut ton cho on code
ca chng trnh
;
a:= StrToInt(AEdit.Text);
b:= StrToInt(BEdit.Text);
c:= StrToInt(CEdit.Text);

Khng c
ngoi l

b
a<0 or b<0
or c<0

S
c
ShowMessage
M5

Show Message

a+b>c and
a+c>b and
b+c>a
52
a=b
b=c
a=borand
or c=b

Show
b=c
Message
S

d
ShowMessag
e M1

Show
ShowMessage
Message

h
S
i

l
Trong :
M1: Ba cnh A, B, C khng tha mn l 3 cnh ca 1 tam gic.
M2: Ba cnh A, B, C lp thnh 1 tam gic u.
M3: Ba cnh A, B, C lp thnh 1 tam gic cn.
M4: Ba cnh A, B, C lp thnh 1 tam gic thng.
M5: Li nh dnh d liu. ngh bn xem v nhp li.
Cc ca kim th thu c:
1.

-1, 1, 1

v cc hon v

(abdl)

2.

1, 1, 1

3.

2, 2, 1

v cc hon v

(abefijl)

4.

2, 3, 4

v cc hon v

(abefikl)

5.

1, 2, 4

v cc hon v

(abegl)

6.

A, 1, 1

v cc hon v

(acl)

(abefhl)

53

7.

3.2.4.2

1.1, 1, 1 v cc hon v

(a,c,l)

Bao ph quyt nh

Cc ca kim th thu c:

3.2.4.3

1.

-32768, -32768, -32768

v cc hon v

(abdl)

2.

32767, 32767 , 32767

v cc hon v

(abefhl)

3.

32767, 32767, 327676

v cc hon v

(abefijl)

4.

32767, 32766, 32765

v cc hon v

(abefikl)

5.

32767, 1, 2

v cc hon v

(abegl)

6.

A, 1, 1

v cc hon v

(acl)

7.

1.1, 1, 1

v cc hon v

(a,c,l)

Bao ph iu kin

Cc ca kim th thu c l:
1. -1, 1, 1

v cc hon v.

2. 2, 3, 4

v cc hon v.

3. 1, 2 , 4

v cc hon v.

4. 2, 2, 1

v cc hon v.

5. 1, 1, 1

v cc hon v.

6. A, 1, 1

v cc hon v.

7. 1.1, 1, 1 v cc hon v.

3.2.4.4

Bao ph quyt nh iu kin

Cc ca kim th thu c l:
1. -1, 1, 1

v cc hon v.

2. 2, 3, 4

v cc hon v.

54

3. 1, 2 , 4

v cc hon v.

4. 2, 2, 1

v cc hon v.

5. 1, 1, 1

v cc hon v.

6. A, 1, 1

v cc hon v.

7. 1.1, 1, 1 v cc hon v.

3.2.4.5

Bao ph a iu kin

Cc ca kim th thu c l:
1. -1, 1, 1

v cc hon v.

2. 2, 3, 4

v cc hon v.

3. 1, 2 , 4

v cc hon v.

4. 2, 2, 1

v cc hon v.

5. 1, 1, 1

v cc hon v.

6. A, 1, 1

v cc hon v.

7. 1.1, 1, 1 v cc hon v.

55

KT LUN
Kim th phn mm, mt hng i khng cn mi m trn th gii, nhng li
l mt hng i rt mi Vit Nam. N ha hn mt tng lai mi cho cc hc
sinh, sinh vin ngnh CNTT.
Qua tm hiu v xy dng ti ny, em thy mnh t c mt u im
cng nh vn cn mt s tn ti.
Nhng im t c:
Nm c tng quan v kim th phn mm: Cc khi nim c bn,
cc phng php kim th phn mm, v cc vn lin quan
Tm hiu v nm c cc phng php v chin lc thit k test
case trong kim th phn mm, v p dng c cc phng php tm
hiu xy dng cc test case cho 1 bi ton c th - Chng trnh
Tam gic.
B sung v rn luyn thm k nng s dng phn mm Word v
Powerpoint.
Nng cao kh nng c hiu ti liu Ting Anh.
Nhng im cha t:
S p dng nhng kin thc tm hiu c mi ch dng li mt bi
ton nh, m vn cha th p dng cho cc bi ton hay ng dng ln.
T nhng im t v cha t trn, em hi vng s nhn c s gp chn
thnh ca cc thy c v cc bn bn bo co c hon thin hn.
Sinh vin
Phm Th Trang
56

TI LIU THAM KHO


1.

The Art of Software Testing, Glenford J. Myers, Second Edition, John Wiley
and Sons, Inc.

2.

Software Engineering - A Practitioners Approach, Roger S.Pressman, Sixth


Edition, Ph.D, McGraw-Hill, Inc.

3.

A Practitioner's Guide to Software Test Design, Lee Copeland, First Edition,


Artech House Publishers Boston, London.

4.

Effective methods for Software Testing, William E. Perry, 3rd Edition, Wiley
Publishing, Indian.

5.

Software Testing, Ron Patton, Second Edition, Sam Publishing.

6.

http://www.vietnamesetestingboard.org/

7.

http://en.wikipedia.org/wiki/Software_testing

8.

Mt s trang web v kim th phn mm khc.

57

NHN XT CA GIO VIN HNG DN

Thi Nguyn, ngy thng 09 nm 2009


Gio vin hng dn

Nguyn Hng Tn

58

You might also like