Professional Documents
Culture Documents
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
: HCQ K4A
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
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
CHNG 1.
1.1
1.1.1
1.1.2
1.1.2.1
1.1.2.2
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
1.1.3.1
u, nhc im
11
1.1.3.2
12
1.1.3.3
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,
Hnh 1.1
S cc cp kim th
13
1.1.4.1
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
15
1.1.4.3
16
17
1.1.4.4
18
1.1.4.5
Mt s cp kim th khc
1.1.5
20
1.1.5.1
1.1.5.2
21
1.2
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
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
2.3
23
Hp trng
1. Bao ph cu lnh
2. Bao ph quyt nh
3. th nguyn nhn kt qu
3. Bao ph iu kin
4. on li
2.3.1
24
2.3.1.1
25
2.3.1.2
26
2.3.1.3
ace
abd
2.3.1.4
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
2.3.1.5
30
3.
Bao ph trng hp 1, 5
Bao ph trng hp 2, 6
Bao ph trng hp 3, 7
Bao ph trng hp 4, 8
31
2.3.2
Kim th hp en
2.3.2.1
32
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
iu kin bn ngoi
Cc lp tng ng
hp l
Cc lp tng ng
khng hp l
33
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
2.3.2.2
2.3.2.3
36
Hnh 2.5
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
2.3.2.4
on li Error Guessing
2.3.3
Chin lc
Cc phng php thit k test-case c tho lun c th c kt hp
42
43
CHNG 3.
P DNG
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,
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
3.2
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
Hnh 3.1
Bng quyt nh
47
R1
R2
R3
R4
R5
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
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
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
Tng 2 s bt k so vi s Ln hn (10)
th 3
3.2.2.2
Xc nh cc ca kim th
3.2.3
3.2.3.1
Xt cc trng thi u vo
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
51
3.2.4
3.2.4.1
Bao ph cu lnh
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.
v cc hon v
(abdl)
2.
v cc hon v
(abefhl)
3.
v cc hon v
(abefijl)
4.
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
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
The Art of Software Testing, Glenford J. Myers, Second Edition, John Wiley
and Sons, Inc.
2.
3.
4.
Effective methods for Software Testing, William E. Perry, 3rd Edition, Wiley
Publishing, Indian.
5.
6.
http://www.vietnamesetestingboard.org/
7.
http://en.wikipedia.org/wiki/Software_testing
8.
57
Nguyn Hng Tn
58