Professional Documents
Culture Documents
Giao+trinh+kiem+thu+thay+hung
Giao+trinh+kiem+thu+thay+hung
KIM TH PHN MM
Phm Ngc Hng, Trng Anh Hong v
ng Vn Hng
Thng 1 nm 2014
ii
Mc lc
1.1
1.2
Ca kim th . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3
1.4
Vic xc nh cc ca kim th . . . . . . . . . . . . . . . . . . 10
1.4.1
Kim th hm . . . . . . . . . . . . . . . . . . . . . . . 10
1.4.2
Kim th cu trc . . . . . . . . . . . . . . . . . . . . 12
1.4.3
1.5
1.6
Cc mc kim th . . . . . . . . . . . . . . . . . . . . . . . . 15
1.7
Bi tp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2 Mt s v d
2.1
2.2
21
2.1.2
Nhn xt
2.1.3
Ci t truyn thng . . . . . . . . . . . . . . . . . . . 22
2.1.4
Ci t c cu trc . . . . . . . . . . . . . . . . . . . . 25
. . . . . . . . . . . . . . . . . . . . . . . . . 22
iv
MC LC
2.3
2.2.1
2.2.2
Nhn xt
2.2.3
Ci t . . . . . . . . . . . . . . . . . . . . . . . . . . 28
. . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.2
Nhn xt
. . . . . . . . . . . . . . . . . . . . . . . . . 32
2.4
B iu khin gt nc t . . . . . . . . . . . . . . . . . . . 34
2.5
Bi tp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2
3.3
3.4
37
L thuyt tp hp . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.1.1
Phn t ca tp hp . . . . . . . . . . . . . . . . . . . 38
3.1.2
nh ngha tp hp . . . . . . . . . . . . . . . . . . . . 38
3.1.3
Tp hp rng . . . . . . . . . . . . . . . . . . . . . . . 39
3.1.4
Biu Venn . . . . . . . . . . . . . . . . . . . . . . . 40
3.1.5
Cc php ton v tp hp . . . . . . . . . . . . . . . . 41
3.1.6
Quan h gia cc tp hp . . . . . . . . . . . . . . . . 43
3.1.7
Phn hoch tp hp . . . . . . . . . . . . . . . . . . . 43
3.1.8
Cc ng nht thc v tp hp . . . . . . . . . . . . . 45
Hm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2.1
Min xc nh v min gi tr . . . . . . . . . . . . . . 46
3.2.2
Cc loi hm . . . . . . . . . . . . . . . . . . . . . . . 46
3.2.3
Hm hp . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Quan h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.3.1
Quan h gia cc tp hp . . . . . . . . . . . . . . . . 49
3.3.2
Quan h trn mt tp hp . . . . . . . . . . . . . . . . 51
Lgic mnh . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
MC LC
3.4.1
3.4.2
3.4.3
Tng ng lgic . . . . . . . . . . . . . . . . . . . . 54
3.5
L thuyt xc sut . . . . . . . . . . . . . . . . . . . . . . . . 55
3.6
L thuyt th . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.6.1
3.6.2
3.6.3
3.7
th . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.6.1.1
Bc ca nh . . . . . . . . . . . . . . . . . . 58
3.6.1.2
Ma trn ti . . . . . . . . . . . . . . . . . . . 59
3.6.1.3
Ma trn lin k . . . . . . . . . . . . . . . . . 59
3.6.1.4
ng i trong th . . . . . . . . . . . . . 60
3.6.1.5
3.6.1.6
Rt gn th . . . . . . . . . . . . . . . . . 61
3.6.1.7
Ch s chu trnh . . . . . . . . . . . . . . . . 62
th c hng . . . . . . . . . . . . . . . . . . . . . . 63
3.6.2.1
Bc vo v bc ra . . . . . . . . . . . . . . . . 64
3.6.2.2
Loi ca nh . . . . . . . . . . . . . . . . . . 65
3.6.2.3
3.6.2.4
ng i v ta ng i . . . . . . . . . . . 66
3.6.2.5
Ma trn t c . . . . . . . . . . . . . . . . 67
3.6.2.6
3.6.2.7
My hu hn trng thi . . . . . . . . . . . . 71
3.6.3.2
Mng Petri . . . . . . . . . . . . . . . . . . . 73
Bi tp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4 Kho st c t v m ngun
79
vi
MC LC
4.1
Kho st c t . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.1.1
4.1.2
4.1.1.2
4.1.1.3
4.1.2.2
4.3
4.2.1
4.2.2
4.2.3
4.2.4
Thng qua . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.2.5
Thanh tra . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.2.6
4.2.7
Bi tp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5 Kim th hm
5.1
97
Tng quan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.1.1
S phc tp ca kim th hm . . . . . . . . . . . . . 99
5.1.2
5.1.3
MC LC
5.2
Gi tr bin . . . . . . . . . . . . . . . . . . . . . . . . 108
5.2.2
5.2.3
5.2.4
5.3
5.2.2.2
5.2.2.3
V d minh ha . . . . . . . . . . . . . . . . . . . . . . 114
5.2.3.1
5.2.3.2
5.3.1
Lp tng ng . . . . . . . . . . . . . . . . . . . . . 117
5.3.2
5.3.4
5.5
5.2.2.1
5.3.3
5.4
vii
5.3.2.1
5.3.2.2
5.3.2.3
V d minh ha . . . . . . . . . . . . . . . . . . . . . . 121
5.3.3.1
5.3.3.2
5.3.3.3
5.3.3.4
5.4.2
V d minh ha . . . . . . . . . . . . . . . . . . . . . . 128
5.4.3
Kim th t hp . . . . . . . . . . . . . . . . . . . . . . . . . 132
viii
MC LC
5.6
5.5.1
Kim th i mt . . . . . . . . . . . . . . . . . . . . . 132
5.5.2
5.5.3
Bi tp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
137
6.1
6.2
6.3
Cc o kim th . . . . . . . . . . . . . . . . . . . . . . . . 139
6.4
6.4.2
6.4.3
6.4.4
6.5
Tng kt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
6.6
Bi tp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
7.2
159
tng . . . . . . . . . . . . . . . . . . . . . . . . . . 160
7.1.2
7.1.3
7.1.4
7.1.5
7.1.6
7.1.7
MC LC
ix
7.2.1
7.2.2
V d p dng . . . . . . . . . . . . . . . . . . . . . . . 182
7.2.3
7.3
Tng kt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
7.4
Bi tp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
197
8.1
8.2
8.2.2
8.2.3
8.2.4
8.2.5
8.3
8.4
8.5
8.6
V d minh ha . . . . . . . . . . . . . . . . . . . . . . . . . . 206
8.6.1
c t h thng . . . . . . . . . . . . . . . . . . . . . . 206
8.6.2
8.6.3
8.7
8.8
AGEDIS . . . . . . . . . . . . . . . . . . . . . . . . . . 212
8.8.2
8.8.3
8.8.4
JCrasher . . . . . . . . . . . . . . . . . . . . . . . . . . 214
MC LC
8.9
8.8.5
Selenium . . . . . . . . . . . . . . . . . . . . . . . . . . 215
8.8.6
SoapUI . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
8.8.7
W3af . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Tng kt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
8.10 Bi tp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
9 Kim th t ng v cng c h tr
219
9.1
9.2
9.3
CFT4CUnit . . . . . . . . . . . . . . . . . . . . . . . . 223
9.3.2
JDFT . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
9.3.3
JUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
9.3.4
9.3.5
9.3.6
9.4
Tng kt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
9.5
Bi tp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
10 Kim th tch hp
231
MC LC
xi
241
. . . . . . . . . . . . . . . . . . . 250
xii
MC LC
Li ni u
Chng ta v ang chng kin s tng trng ng kinh ngc ca ngnh
cng nghip phn mm trong vi thp k qua. Nu nh trc y phn mm
my tnh ch c s dng tnh ton khoa hc k thut v x l d liu
th ngy nay n c ng dng vo mi mt ca ca i sng hng ngy
ca con ngi, t cc ng dng nh iu khin cc thit b dng trong
gia nh nh cc thit b nghe nhn, in thoi, my git, l vi sng, ni cm
in, n cc ng dng ln hn nh tr gip iu khin cc phng tin v
h thng giao thng, tr tin cho cc ho n, qun l v thanh ton v ti
chnh, vn vn. V th con ngi ngy cng ph thuc cht ch vo cc sn
phm phn mm v do vy i hi v cht lng ca cc sn phm phn
mm ngy cng cao, tc l cc phn mm phi c sn xut vi gi thnh
h, d dng, an ton v tin cy c. Kim th c phng php l mt hot
ng khng th thiu trong quy trnh sn xut phn mm m bo cc
yu t cht lng nu trn ca cc sn phm phn mm.
Theo thng k th vic kim th tiu tn khong 50% thi gian v hn
50% gi thnh ca cc d n pht trin phn mm. Tng nng sut kim th
l mt nhu cu thit yu tng cht lng phn mm. V th nghin cu
pht trin cc k thut, cng c kim th hu hiu v o to i ng
kim th c k nng v kinh nghim l cc ng gp thit thc nht tng
cng cht lng ca cc sn phm phn mm. T yu cu thc t ny, ngy
nay rt nhiu trng i hc trong nc v quc t a mn Kim th
v m bo cht lng Phn mm thnh mt mn gio dc chuyn ngnh
ca cng ngh phn mm c bc i hc v cao hc. Chng ti thy rng
cc hc vin cao hc v sinh vin cn c o to bi bn v c s ca kim
th phn mm, bao gm c cc kin thc hn lm c bn ln cc k thut
thc hnh trong ngnh cng nghip phn mm c th p ng cng vic
ca c nghin cu vin ln kim th vin. Chng ti vit cun gio trnh ny
xiii
xiv
MC LC
MC LC
xv
xvi
MC LC
Chng 1
Tng quan v kim th
Kim th nhm nh gi cht lng hoc tnh chp nhn c ca sn phm.
Kim th cng nhm pht hin li hoc bt c vn g v sn phm. Chng
ta cn kim th v bit rng con ngi lun c th mc sai lm. iu ny c
bit ng trong lnh vc pht trin phn mm v cc h thng iu khin
bi phn mm. Chng ny nhm phc ha mt bc tranh tng th v kim
th phn mm. Cc chng cn li s nm trong khun kh ca bc tranh
ny v mc chi tit hn.
1.1
Cc thut ng v nh ngha c bn v
kim th
Kim th: R rng vic kim th lin quan n cc khi nim trn: li,
sai, tht bi v s c. C hai mc ch chnh ca mt php th: tm tht bi
hoc chng t vic tin hnh ca phn mm l ng n.
Vai tr ca kim th phn mm: Kim th phn mm ng vai tr
quan trng trong vic nh gi v thu c cht lng cao ca sn phm
phn mm trong qu trnh pht trin. Thng qua chu trnh kim th - tm
li - sa li, ta hy vng cht lng ca sn phm phn mm s c ci
tin. Mt khc, thng qua vic tin hnh kim th mc h thng trc khi
cho lu hnh sn phm, ta bit c sn phm ca ta tt mc no. V
th, nhiu tc gi m t vic kim th phn mm l mt quy trnh kim
chng nh gi v tng cng cht lng ca sn phm phn mm. Quy
trnh ny gm hai cng vic chnh l phn tch tnh v phn tch ng.
Phn tch tnh: Vic phn tch tnh c tin hnh da trn vic kho
st cc ti liu c xy dng trong qu trnh pht trin sn phm nh
ti liu c t nhu cu ngi dng, m hnh phn mm, h s thit
k v m ngun phn mm. Cc phng php phn tch tnh truyn
thng bao gm vic kho st c t v m ngun cng cc ti liu thit
k. Cc k thut kho st ny s c gii thiu trong chng 4. Ngi
ta cng c th dng cc k thut phn tch hnh thc nh kim chng
m hnh (model checking) v chng minh nh l (theorem proving)
chng minh tnh ng n ca thit k v m ngun. Cc k thut
ny tng i phc tp v nm ngoi khun kh ca cun gio trnh
ny. Cng vic ny khng ng n vic thc thi chng trnh m ch
duyt, l gii v tt c cc hnh vi c th ca chng trnh khi c
thc thi. Ti u ha cc chng trnh dch l cc v d v phn tch
tnh.
Phn tch ng: Phn tch ng lin quan n vic thc thi chng
trnh pht hin nhng tht bi c th c ca chng trnh, hoc
quan st cc tnh cht no v hnh vi v hiu qu (performance).
V gn nh khng th thc thi chng trnh trn tt c cc d liu u
vo c th, ta ch c th chn mt tp con cc d liu u vo thc
thi, gi l cc ca kim th. Chn nh th no c cc b d liu
u vo hiu qu (tc l cc b d liu c xc sut pht hin tht bi
(nu c) cao hn l cng vic cn suy ngh v l ni dung chnh ca
cc gio trnh ny.
Bng vic phn tch tnh v ng, ngi kim th mun pht hin nhiu
li nht c th c chng c th c sa giai on sm nht trong
qu trnh pht trin phn mm. Phn tch tnh v ng l hai k thut b
sung cho nhau v cn c lm lp i lp li nhiu trong qu trnh kim th.
1.2
Ca kim th
1.3
10
1.4
Vic xc nh cc ca kim th
1.4.1
Kim th hm
11
12
1.4.2
Kim th cu trc
13
1.4.3
14
1.5
1.6. CC MC KIM TH
15
ngha v cc loi sai. Cc sai c phn loi theo vi cch: giai on pht
trin khi ci sai tng ng xut hin, cc hu qu ca cc tht bi tng
ng, kh cho vic gii quyt, ri ro ca vic khng gii quyt c,
vn vn. Mt cch phn loi c a thch l da trn vic xut hin bt
thng: ch mt ln, thnh thong, xut hin li hoc lp i lp li nhiu ln.
Hnh 1.9 minh ha mt cch phn loi sai [Bor84] da trn nghim trng
ca hu qu.
1
2
3
Nh
Va
Kh chu
4
5
6
7
Bc mnh
Nghim trng
Rt nghim trng
Cc k nghim trng
8 Qu qut
9 Thm ha
10 Dch ha
Li chnh t
Hiu lm hoc tha thng tin
Tn b thiu, ct ch hoc ha
n c gi tr 0.0 ng
Vi giao dch khng c x l
Mt giao dch
X l giao dch sai
Li rt nghim trng xy ra
thng xuyn
Hy hoi c s d liu
H thng b tt
Thm ha ly lan
1.6
Cc mc kim th
16
d liu u ra
Cc trng hp
d liu u vo ng nhng khng c chp
nhn
d liu u vo sai nhng c chp nhn
m t sai hoc thiu
tham s sai hoc thiu
khun dng sai
kt qu sai
kt qu ng ti thi gian sai (qu sm hoc qu
mun)
kt qu khng y hoc thiu
kt qu gi to
vn phm/chnh t
cc trng hp khc
Bng 1.2: Cc sai lm v lgic
thiu trng hp
lp tha trng hp
iu kin cc oan b b qua
th hin sai
thiu iu kin
iu kin ngoi lai
kim th sai bin
vic lp ca chu trnh khng ng
php ton sai (chng hn dng < cho )
D c mt s nhc im, m hnh ny vn rt hu ch cho vic kim th,
l phng tin xc nh cc mc kim th khc nhau v lm sng t mc
ch ca mi mc. Mt dng ca m hnh thc nc c trnh by trong
hnh 1.10. Dng ny nhn mnh s tng ng ca vic kim th vi cc mc
thit k. Lu rng theo cc thut ng ca vic kim th hm, ba mc ca
nh ngha (c t, thit k s b v thit k chi tit) tng ng trc tip vi
ba mc ca vic kim th l kim th n v, kim th tch hp v kim th
1.6. CC MC KIM TH
17
18
1.7. BI TP
19
1.7
Bi tp
20
Chng 2
Mt s v d
Chng ny trnh by mt s v d m s c dng trong cc chng tip
theo nhm minh ha cho cc phng php kim th. Cc v d ny gm:
bi ton tam gic, hm NextDate tng i phc tp v mt lgic . Cc v
d ny lin quan n mt s vn m ngi kim th s gp trong qu
trnh kim th. Khi bn v kim th tch hp v kim th h thng trong
chng 11, ta s dng v d v mt bn n gin ca my rt tin t ng
(ATM).
Trong chng ny cc v d mc n v, ci t bng ngn ng C, s
c trnh by cho mc ch kim th cu trc. Cc m t mc h thng
ca my ATM di dng mt tp cc s dng d liu v my hu hn
trng thi s c trnh by trong cc chng tip theo.
2.1
22
2.1.1
CHNG 2. MT S V D
2.1.2
Nhn xt
2.1.3
Ci t truyn thng
23
24
CHNG 2. MT S V D
Hnh 2.1: S khi cho ci t chng trnh tam gic truyn thng.
25
{11}
{13}
{14}
{12.4}
{15.1}
{16}
{17}
{12.5}
{15.2}
{18}
{19}
{12.6}
{15.3}
{20}
2.1.4
Ci t c cu trc
26
CHNG 2. MT S V D
scanf("%d",&a);
printf("b = ");
scanf("%d",&b);
printf("c = ");
scanf("%d",&c);
printf ("Side A is ", a, "\n");
printf ("Side B is ", b, "\n");
printf ("Side C is ", c, "\n");
//Function 2: Is A Triangle?
if((a < b + c) && (b < a + c) && (c < a + b))
IsATriangle = 1;
else IsATriangle = 0;
//Function 3: Determine Triangle Type
if(IsATriangle)
if((a == b) && (b == c))
printf("Triangle is Equilateral");
else if((a != b) && (a != c) && (b != c))
printf("Triangle is Scalene");
else printf("Triangle is Isosceles");
else printf("Not a Triangle");
return 0;
}//the end
2.2
27
28
CHNG 2. MT S V D
2.2.1
2.2.2
Nhn xt
2.2.3
Ci t
int mai(){
typedef struct{
int month;
int day;
int year;
}dataType;
dataType today, tomorrow;
29
|| today.month == 3 || today.month == 5 ||
|| today.month == 8 || today.month == 10)
31)
today.day + 1;
1;
= today.month + 1;
30
CHNG 2. MT S V D
if(today.day == 28)
if((today.year%4 == 0)&&(today.year%400 != 0))
tomorrow.day = 29;//leap year
else{
tomorrow.day := 1;
tomorrow.month := 3;
}
else
if(today.day == 29){
tomorrow.day := 1;
tomorrow.month := 3;
}
else printf("Cannot have Feb.", today.day);
}
printf("Tomorrows date is %3d %3d %5d", tomorrow.day,
tomorrow.month, tomorrow.year);
return 0;
}//the end
2.3
31
2.3.1
32
CHNG 2. MT S V D
14 xut hin.
Nu yu cu gi tin vo ti khon, trng thi ca khe phong b gi tin
c xc nh t mt trng trong tp iu khin ca trm. Nu khng c
vn g, h thng hin th mn hnh 7 nhn lng tin giao dch. Nu
c vn vi khe phong b gi tin, h thng hin th mn hnh 12. Mt khi
lng tin gi c np vo, h thng hin th mn hnh 13, chp nhn
phong b tin gi v x l vic gi tin. Lng tin gi c np l lng
tin cha gi i trong tp ATM a phng, v s m s ln gi trong thng
c tng ln. C hai s ny c x l bi h ATM ch (tp trung) mt
ln mi ngy. H thng sau hin th mn hnh 14.
Nu yu cu rt tin t ti khon, h thng kim tra trng thi ca khe
nh tin (kt hay khng) trong tp iu khin trm. Nu b kt th mn hnh
9 xut hin. Tri li mn hnh 7 c hin th khch hng c th khai
bo lng tin nh rt. Khi d liu ny vo xong, h thng kim tra tp
trng thi ca trm bit lng tin trong my c tr khng. Nu khng
, hin th mn hnh 9, tri li vic rt tin c x l. H thng kim tra
s d ti khon ca khch hng (nh c m t trong giao dch kim tra
s d ti khon) v nu khng rt th hin th mn hnh 8. Nu s d
trong ti khon l th hin th mn hnh 11 v nh tin. Lng tin c
rt khi c ghi vo tp ATM a phng cha gi v s m s ln rt
trong thng c tng ln. S d trong ti khon c in ra trong sao k.
Sau khi khch hng ly tin, h thng hin th mn hnh 14.
Khi nt No c chn trong cc mn hnh 10, 12, hoc 14, h thng xut
hin mn hnh 15 v nh th ATM tr li cho khch hng. Khi th c
khch hng nhn v ly i, h thng tr li mn hnh 1. Khi nt Yes c
chn trong cc mn hnh 10, 12, hoc 14, h thng hin th mn hnh 5
khch hng chn cc giao dch khc.
2.3.2
Nhn xt
33
34
CHNG 2. MT S V D
INT
1
4
INT
2
6
INT
3
12
LOW HIGH
n/a
n/a
30
60
chng mt gii hn cho vay? Ci g ngn chn vic khch hng ly s tin
vt qu s d thc s ca ti khon bng cch n cc my ATM khc
nhau trong cng ngy? C nhiu cu hi v khi to: c bao nhiu tin trong
my? Bao nhiu khch hng mi c thm vo h thng? Nhng ci ny
v nhiu chi tit i thc khc b b qua m bo tnh n gin.
2.4
B iu khin gt nc t
2.5
Bi tp
1. Xem li s khi ca bi ton tam gic trong hnh 2.1. Liu bin
chng trnh match c th c: gi tr 4?, gi tr 5? Liu c th tin
hnh dy cc khi 1, 2, 5, 6?
2. Nhc li li bn trong chng 1 v mi quan h gia c t v ci
t ca chng trnh. Nu xem xt cn thn vic ci t ca hm
NextDate, bn s thy mt vn nh sau. Hy nhn vo lnh CASE
i vi cc thng c 30 ngy (4, 6, 9, 11). Khng c mt hnh ng c
bit cho trng hp day = 31. Hy bn xem ci t ny c ng n
2.5. BI TP
35
36
CHNG 2. MT S V D
Chng 3
C s ton hc ri rc cho vic
kim th
Vic kim th cn n cc m t v phn tch ca ton hc. Chng ny
cung cp nhng kin thc c s v ton cn thit i vi ngi kim th.
Theo biu tng ngh nhn ca vic kim th, cc ch ton hc c
chn trnh by y l cc cng c m mt ngh nhn kim th cn nm
vng s dng. Vi nhng cng c ny, ngi kim th s c c chnh
xc v tnh hiu qu t ton hc nhm ci tin cng vic ca mnh. Cc tho
lun t tnh hnh thc trong cc chng ny c th khng lm va cc nh
ton hc nhng thch hp vi mi trng kim th. Nu bn cm thy bn
vng v ton ri th c th b qua chng ny.
T ri rc c th lm ny sinh cu hi: th th ci g l ton khng ri
rc? l ton lin tc, m thng l cc php tnh vi v tch phn, cc
hm lin tc m cc nh kim th t khi dng n. Ton ri rc lin quan
n cc cu trc ri rc nh l thuyt tp hp, hm v quan h, lgic mnh
, php tnh xc sut ri rc. Ta s ni n cc ch ny trong cc mc
sau y.
3.1
L thuyt tp hp
3.1.1
Phn t ca tp hp
3.1.2
nh ngha tp hp
3.1. L THUYT TP HP
39
3.1.3
Tp hp rng
3.1.4
Biu Venn
3.1. L THUYT TP HP
41
3.1.5
Cc php ton v tp hp
3.1. L THUYT TP HP
43
3.1.6
Quan h gia cc tp hp
3.1.7
Phn hoch tp hp
3.2. HM
45
3.1.8
Cc ng nht thc v tp hp
3.2
ng nht thc
A=A
AU =A
AU =U
A=
AA=A
AA=A
(A ) = A
AB =BA
AB =BA
A (B C) = (A B) C
A (B C) = (A B) C
A (B C) = (A B) (A C)
A (B C) = (A B) (A C)
(A B) = A B
(A B) = A B
Hm
3.2.1
Min xc nh v min gi tr
3.2.2
Cc loi hm
3.2. HM
47
3.2.3
Hm hp
h(g(f (a)))
h(g(b))
h(c)
d
3.3. QUAN H
49
3.3
Quan h
3.3.1
Quan h gia cc tp hp
3.3. QUAN H
3.3.2
51
Quan h trn mt tp hp
3.4
Lgic mnh
3.4.1
53
q p
T F
F F
T T
F T
pq
T
F
F
F
pq
T
T
T
F
pq
F
T
T
F
pq
T
F
T
T
pq
T
F
F
T
3.4.2
3.4.3
q
T
T
F
F
T
T
F
F
r
T
F
T
F
T
F
T
F
pq
T
T
F
F
T
T
T
T
(p q) r p
F
T
F
F
T
T
T
F
F
F
F
F
F
F
F
F
(p q) r p
T
F
T
T
F
F
F
F
Tng ng lgic
Khi nim tng ng trong lgic cng tng t nh cc khi nim bng
nhau trong s hc v ng nht ca tp hp. C th thy cc biu thc
(p q) v p q c cng bng chn l. iu ny ngha l bt k gi tr no
c cho i vi p v q, gi tr chn l ca hai biu thc ny l nh nhau.
Cc biu thc nh vy c gi l tng ng.
nh ngha 3.13. Hai biu thc lgic P v Q c gi l tng ng, k
hiu l P Q, nu v ch nu chng c cng gi tr chn l i vi bt k
gi tr chn l no ca cc mnh c s thnh phn cha trong cc biu
thc ny. Hay ni khc i, chng c cng bng chn l.
Ta c th thy p q l tng ng vi p q q p.
nh ngha 3.14. Mt biu thc lgic m lun c gi tr chn l l ng
vi bt k gi tr chn l no ca cc mnh c s thnh phn s c gi
l mt hng ng. Mnh m lun lun nhn gi tr sai c gi l mt
mu thun (hng sai).
55
Lut
Lut ng nht
Lut
Lut
Lut
Lut
Lut
Lut
Lut
3.5
Biu thc
pT T
pF p
tri
pT T
pF F
ly ng
ppp
ppp
phn b
(p)) p
giao hon p q q p
pq qp
kt hp
(p q) r p (q r)
(p q) r p (q r)
phn phi p (q r) (p q) (p r)
p (q r) (p q) (p r)
DeMorgan (p q) p q
(p q) p q
L thuyt xc sut
3.6. L THUYT TH
3.6
57
L thuyt th
3.6.1
th
Mt th l mt cu trc ton hc gm mt tp cc nh v mt tp cc
cnh gia cc nh. Mt mng my tnh l mt v d v th. th c
nh ngha hnh thc nh sau.
nh ngha 3.17. th G = (V, E) gm mt tp hu hn v khng rng
V = {v1 , v2 , . . . , vm } cc nh, v mt tp E = {e1 , e2 , . . . , en } cc cnh,
trong mi cnh ek = {vi , vj } vi vi , vj V .
Lu rng {vi , vj } l cp khng c sp. i khi ta cng vit ek =
(vi , vj ) v cp (vi , vj ) hiu l khng c sp ty thuc vo ng cnh. Cnh
ca th cn c gi l cung v nh cng thng c gi l nt. Trong
vic biu din th bng hnh v, ta dng cc vng trn biu din nh
v dng cc ng ni hai nh biu din cc cnh. Hnh 3.5 l mt v d
v biu din bng hnh v ca mt th. Trong hnh v ny, cc tp nh
v cnh l
V = {v1 , v2 , v3 , v4 , v5 , v6 , v7 }
E = {e1 , e2 , e3 , e4 , e5 },
trong , e1 = (v1 , v2 ), e2 = (v1 , v4 ), e3 = (v3 , v4 ), e4 = (v2 , v5 ), v e5 =
(v4 , v6 ).
xc nh mt th, trc ht ta cn xc nh tp cc nh ca n v
sau l tp cc cnh gia cc cp nh. Ta c th coi cc lnh ca chng
trnh l cc nh v dng cc cnh biu din cc mi lin h gia cc lnh
nh dng iu khin hoc quan h nh ngha/s dng (def /use) i vi
bin no ca chng trnh.
v2
e4
e2
e3
v3
v4
v5
e5
v6
v7
3.6.1.1
Bc ca nh
=
=
=
=
=
=
=
2
2
1
3
1
1
0.
3.6. L THUYT TH
3.6.1.2
59
Ma trn ti
v1
v2
v3
v4
v5
v6
v7
e1
1
1
0
0
0
0
0
e2
1
0
0
1
0
0
0
e3
0
0
1
1
0
0
0
e4
0
1
0
0
1
0
0
e5
0
0
0
1
0
1
0
Ma trn lin k
v1
v2
v3
v4
v5
v6
v7
3.6.1.4
v1
0
1
0
1
0
0
0
v2
1
0
0
0
1
0
0
v3
0
0
0
1
0
0
0
v4
1
0
1
0
0
1
0
v5
0
1
0
0
0
0
0
v6
0
0
0
1
0
0
0
v7
0
0
0
0
0
0
0
ng i trong th
3.6. L THUYT TH
3.6.1.5
61
Rt gn th
Ch s chu trnh
3.6. L THUYT TH
3.6.2
63
th c hng
v2
e4
e2
e3
v3
v4
v5
e5
v6
v7
3.6.2.1
Bc vo v bc ra
=0
=1
=0
=2
=1
=1
=0
outdeg(v1 )
outdeg(v2 )
outdeg(v3 )
outdeg(v4 )
outdeg(v5 )
outdeg(v6 )
outdeg(v7 )
=2
=1
=1
=1
=0
=0
=0
3.6. L THUYT TH
65
3.6.2.2
Loi ca nh
3.6.2.3
v1
v2
v3
v4
v5
v6
v7
v1
0
0
0
0
0
0
0
v2
1
0
0
0
0
0
0
v3
0
0
0
1
0
0
0
v4
1
0
1
0
0
0
0
v5
0
1
0
0
0
0
0
v6
0
0
0
1
0
0
0
v7
0
0
0
0
0
0
0
ng i v ta ng i
3.6. L THUYT TH
67
c ta ng i gia v2 v v4 ,
c ta ng i gia v5 v v6 .
3.6.2.5
Ma trn t c
v1
v2
v3
v4
v5
v6
v7
v1
0
0
0
0
0
0
0
v2
1
0
0
0
0
0
0
v3
0
0
0
1
0
0
0
v4
1
0
1
0
0
0
0
v5
1
1
0
0
0
0
0
v6
1
0
1
1
0
0
0
v7
0
0
0
0
0
0
0
v2
e4
e2
e3
v3
v4
e6
v5
e5
v6
v7
3.6. L THUYT TH
3.6.2.7
69
v2
e4
e2
s1
v5
v7
3.6.3
3.6. L THUYT TH
sequence
71
case
ifthenelse
whiledo
repeatuntil
ifthen
3.6.3.1
My hu hn trng thi
3.6. L THUYT TH
73
Mng Petri
p5
p1
p2
t3
t1
p3
p4
t2
=
=
=
=
3.6. L THUYT TH
75
p2
p5
t3
t1
p4
p3
t2
p2
p5
t3
t1
p4
p3
p1
p2
p5
t3
t1
p4
p3
t2
t2
3.7
Bi tp
3.7. BI TP
77
e1
v1
v1
v2
e4
e2
e4
e2
e7
e9
e3
e3
v3
v2
v4
e6
v3
v5
e5
e7
v4
e6
v5
e5
e8
v6
v7
v6
e8
v8
v9
Chng 4
Kho st c t v m ngun
Chng ny gii thiu cc k thut kho st c t v m ngun. M ngun
c pht trin da trn c t v v th vic kho st c t cn c tin
hnh trc khi pht trin m ngun trnh cc ri ro v cc li c th c
trong c t. V c t khng th tin hnh nn ch c th pht hin cc li
bng kho st. Tuy nhin, m ngun th c th tin hnh c, v c th
c kim th thng qua vic thc thi, vy c cn phi kho st m ngun
trc khng? Cu tr li l rt cn, v kho st gip ta pht hin cc li
sm, cc li v lgic, cc li v cu trc v gip xut cc ca kim th hiu
qu hn. Kho st m ngun v khng thc thi phn mm pht hin li
trong qu trnh pht trin phn mm cn c tn gi khc l kim th hp
trng tnh. y l mt k thut kim th b sung vo cc k thut kim
th khc m bo cht lng phn mm. Cn kho st c t c lit
vo phm tr kim th hp en tnh v vic ny thng c tin hnh khi
cha c m ngun.
4.1
Kho st c t
80
phm pht trin v ngi kim th s tin hnh cc kho st trn ti liu
ny tm li. Cng c trng hp c t khng c vit ra. Trong trng
hp ny, n trong u ca ngi thit k v vit m, v ngi kim th
phi kho st cc ti liu ny bng vic phng vn h. Mc ny gii thiu
hai k thut kho st c t l duyt mc cao v duyt mc thp.
4.1.1
4.1. KHO ST C T
81
82
4.1.1.3
4.1.2
4.1. KHO ST C T
4.1.2.1
83
84
4.1.2.2
4.2
85
Kho st m ngun
4.2.1
86
4.2.2
Phn bin hnh thc l quy trnh tin hnh kim th hp trng tnh. Quy
trnh ny c th c p dng nhiu mc khc nhau, t mt cuc hp
n gin gia hai lp trnh vin cho n cuc thanh tra chi tit v nghim
tc i vi thit k v m ngun. C bn hng mc c bn cho mt ln phn
bin hnh thc:
Xc nh vn . Mc ch ca phn bin l tm xem phn mm c
vn g khng, khng ch l nhng th b sai, m c nhng th cn
thiu. Tt c nhng ph phn ny l nhm vo thit k hoc m ngun
ang c kho st ch khng nhm vo ngi to ra chng. Ngi
tham gia khng c php nhm vo c nhn no.
Tun th cc quy tc. Cn xc nh mt tp cc quy tc tun th.
Nhng quy tc ny c th l: lng m ngun phn bin (thng
l vi trm dng lnh), thi gian dnh cho vic phn bin (vi gi),
nhng g cn c nhn xt, vn vn. iu ny l quan trng v ngi
tham gia s bit vai tr ca h l g, v h k vng ci g, nhm lm
cho vic phn bin trn tru hn.
Chun b. Mi ngi tham gia u phi chun b v ng gp vo
vic phn bin. Ty thuc vo kiu phn bin m mi ngi tham gia
c th c cc vai tr khc nhau. H cn bit nhim v v trch nhim
ca mnh v sn sng hon thnh tt chng trong vic phn bin. Hu
ht cc vn c pht hin l giai on chun b ch khng phi
giai on phn bin thc s.
Vit bo co. Nhm phn bin cn a ra mt bo co bng vn bn
tm tt kt qu ca vic phn bin v thng bo cho nhng ngi tham
gia phn cn li ca d n pht trin sn phm ny. Nhng ngi ny
cn bit kt qu ca bui hp: bao nhiu vn c pht hin, chng
c pht hin ch no, vn vn.
Vic phn bin hnh thc ch c hiu qu khi tun th mt quy trnh
c xc nh trc. Vic ny, khi c tin hnh thc s nghim tc s l
cch rt tt pht hin li.
Ngoi vic tm ra cc vn i vi thit k v m ngun, vic phn bin
hnh thc cn c vi kt qu gin tip na l:
87
4.2.3
Phn bin cho l cch phn bin d nht v t hnh thc nht. iu ny
cng ging nh loi tho lun ti cho bn bit phn ca ti v bn cho ti
bit phn ca bn. Phn bin cho thng c t chc gia lp trnh vin
thit k kin trc hoc vit m ngun v ngi lp trnh khc hoc ngi
kim th trong vai tr ngi phn bin. Nhm nh ny s kho st m ngun
cng nhau tm li hoc cc vn tn ti. m bo vic kho st l
hiu qu v khng tr thnh cuc tn gu, mi ngi cn m bo bn hng
mc nu trong phn bin hnh thc. V phn bin cho l t hnh thc hn,
nn bn hng mc ny thng c gim nh. Tuy nhin, chng vn gip
vic tho lun v m ngun v tm li hiu qu hn.
4.2.4
Thng qua
Thng qua l bc k tip hnh thc sau phn bin cho. Trong bui thng
qua, ngi lp trnh s trnh by hnh thc v m ngun ca mnh trc mt
nhm gm nm ngi gm nhng ngi lp trnh khc v ngi kim th
h thng qua. Nhng ngi ny nhn c mt bn sao ca m ngun
88
4.2.5
Thanh tra
Thanh tra l loi hnh hnh thc nht ca vic kho st m ngun. Vic ny
c t chc cao v i hi ngi tham gia c o to. Thanh tra khc vi
phn bin cho v thng qua ch ngi trnh by m ngun, gi l ngi
trnh by hoc c gi, khng phi l ngi vit ra m ngun. iu ny i
hi ngi trnh by phi c v hiu c t liu cn trnh by v s cho
kin khch quan v cch th hin khc trong cuc hp thanh tra.
Nhng ngi tham gia khc c gi l cc thanh tra vin. Nhim v
ca mi thanh tra vin l phn bin m ngun t cc kha cnh v gc
khc nhau, chng hn ca ngi dng u cui, ngi kim th, hoc ngi
bo tr sn phm. iu ny gip vic a cc quan im khc nhau v sn
phm ra phn bin, v thng l xc nh c cc li khc nhau ca sn
phm. Cn c mt thanh tra vin duyt m t cui n u (theo kiu hi
quy) m bo m ngun c duyt y . Cng cn mt vi thanh tra
vin lm iu hnh vin v th k m bo cc quy tc c tun th v
bui hp thanh tra c tin hnh hiu qu.
Sau bui hp thanh tra, cc thanh tra vin c th cn gp nhau ln na
tho lun v cc li c pht hin v lm vic vi iu hnh vin
chun b bo co v xc nh iu cn lm khc phc li. Ngi lp trnh
sau s thay i m ngun a ra bn c sa li v iu hnh
vin s kim tra xem vic sa c lm thc s hay cha.
Ph thuc v phm vi, kch thc v tm quan trng ca phn mm m
cc bui thanh tra tip theo c nn t chc hay khng pht hin cc li
cn li.
Thanh tra chng t l mt k thut pht hin li hiu qu trong cc
89
4.2.6
Trong vic phn bin hnh thc, cc thanh tra vin tm kim cc vn tn
ti v cc thiu st trong chng trnh. Chng l cc li kinh in chng hn
ci g b vit sai. Chng c pht hin bng cch phn tch m ngun.
Cng vic ny c tin hnh hiu qu hn bi nhng ngi lp trnh v
kim th giu kinh nghim.
Cn mt vn khc na trong lp trnh l chng trnh chy ng
nhng khng c vit theo cc chun v hng dn quy nh trc. Cc
chun khi c thit lp th cn phi c tun th. Cn cc hng dn
l nhng kinh nghim thc hnh c ngh l cch lm tin li hn cho
cng vic. Chun l nghim ngt, cn hng dn c th t nghim ngt hn.
C th c cc mu phn mm chy n nh nhng vn khng ng do
khng tha mn chun. C ba l do nn tun theo chun v hng dn:
tin cy. Thc t chng t rng chng trnh vit theo chun
v hng dn c tin cy v bo mt cao hn.
Tnh d hiu v d bo tr. Cc chng trnh vit theo chun v
hng dn d c, d hiu v d bo tr hn.
Tnh d chuyn i. Cc chng trnh vit theo chun v hng dn
d c chuyn i dch bi cc chng trnh dch khc nhau cho
cc thit b tnh ton vi cc h iu hnh khc nhau.
Cc d n khc nhau c th i hi cc chun khc nhau (ni b, quc
gia hoc quc t). iu quan trng l i ng d n phi c chun, c hng
dn cho lp trnh v phi c kim chng xem chng c c tun th
khng trong khi phn bin.
Sau y l vi v d v chun v hng dn trong lp trnh.
Hnh 4.1 gii thiu mt v d v chun lp trnh lin quan n vic s
dng cc lnh go to, if-then-else v while trong ngn ng C. S dng cc
90
CH : 3.05 Hn ch v iu khin i
vi cc cu trc iu khin
CHUN
Khng c dng lnh go to (v do c
nhn lnh).
Dng chu trnh while thay cho do-while tr
khi lgic ca bi ton i hi tng minh l
phi tin hnh thn chu trnh t nht mt
ln khng ph thuc vo iu kin chu trnh.
Nu lnh if-then-else c th thay th continue th phi dng if-then-else.
THUYT MINH
Lnh go to b cm v d gy li v kh c,
kh theo di dng iu khin ca chng
trnh. Thut ton cn c trnh by theo
cch c cu trc.
Lnh do-while khng nn dng v chu trnh
cn c vit di dng thng nht l iu
kin chu trnh phi c kim tra trc khi
tin hnh thn chu trnh.
...
91
4.2.7
92
93
94
4.3
Bi tp
4.3. BI TP
95
8. Ngoi vic l hnh thc hn, s khc nhau ln nht gia thanh tra v
cc loi phn bin khc l g?
9. Nu mt lp trnh vin c thng bo l c th dng tn bin vi 8 k
t vi k t u vit hoa (ch in). iu l chun hay hng dn?
10. Bn c nh p dng danh sch cc hng mc chung cho vic kho st
m ngun trong chng ny phn bin m trong d n phn mm
tng lai?
11. Li v bo mt gy ra bi vic trn b m thuc loi no trong danh
sch ni trn?
96
Chng 5
Kim th hm
5.1
Tng quan
98
CHNG 5. KIM TH HM
v chc nng ca chng trnh vit bng ngn ng ca ngi s dng, nhng
thng l c cc ti liu phn tch, thit k cc mc chi tit hn vi cc
hnh v, bng biu, s lm r hnh vi ca chng trnh v chng m t
st hn cc tnh cht hm ca chng trnh m chng ta s da vo
thit k kim th. Chng ta gi chung cc ti liu ny l c t chc nng.
D nhn thy do ch da trn c t chc nng, kim th hm c u im
l c th thc hin c sm, trc khi ci t chng trnh. Thi im tt
chng ta bt u thit k kim th l khi ti liu c t n nh, nhng
cng c nhiu qui trnh phn mm hin i ang y vic ny ln sm hn,
ngay trong giai on xc nh yu cu lng ghp xc nh cc ca kim
th. Cc ca kim th ny thng c m t di dng cc v d, va c
tc dng gii thch, lm r ti liu c t, va c tc dng s dng lun lm
cc kch bn kim th, cc ca kim th [Bec02, Kar12].
Thng thng kt qu ca vic thit k kim th hm s a ra c t
ca kim th. Tng t nh khi nim c t chng trnh l m t chng
trnh mong mun, c t kim th m t cc ca kim th cn c to ra.
T mt c t ca kim th chng ta c th to ra nhiu ca kim th c th
tin hnh kim tra vi chng trnh. V d vi mt hm gii phng trnh
bc hai vi u vo l ba h s l a, b, c, c t ca kim th cho nghim kp
l vi mi a, b, c tha mn b2 = 4ac. T c t ny ta c th to ra cc ca
kim th c th, v d a = 1, b = 2, c = 1, v kt qu mong i l nghim
kp 1.
Bn cht ca cc c t ca kim th l mi c t ca kim th s xc
nh mt lp hnh vi ca chng trnh. Do vic thit k kim th hm l
vic phn tch c t cc hnh vi c th ca chng trnh thnh mt s lp
m mi lp ny s c hnh vi nht qun hay tng t. Vi v d hm gii
phng trnh bc hai trn chng ta c th chia c t thnh hnh vi phng
trnh cho nghim kp, hnh vi phng trnh cho kt qu v nghim, v.v.
Vic phn tch c t s gip chng ta xc nh v phn tch c cc
lp ny. Bn cnh vic phn tch cng thng gip chng ta xc nh
nhng im khng r rng, khng y ca c t. y l qu trnh phn
tch tng hp nhiu ngun thng tin, t c t, t kin thc, kinh nghim
ca ngi thit k kim th, do n mang tnh th cng v cng d mc
li. Nhiu chuyn gia v thit k kim th hm nhiu khi vn b st mt s
ca kim th quan trng.
99
5.1.1
S phc tp ca kim th hm
100
CHNG 5. KIM TH HM
...
101
5.1.2
102
CHNG 5. KIM TH HM
103
Xc nh cc lp gi tr i din: Cc gi tr i din c th c xc
nh trc tip t c t phi hnh thc, nh ngn ng t nhin. Chng cng
c th c xc nh gin tip da trn mt m hnh c xy dng phc
v cho vic ny. Trong c hai trng hp ny mc tiu u l xc nh cc
gi tr ca mi u vo mt cch c lp, bng vic ly cc gi tr lit
104
CHNG 5. KIM TH HM
105
106
5.1.3
CHNG 5. KIM TH HM
107
Ngn sch v rng buc cht lng: Ngn sch v rng buc cht
lng c th dn n s la chn khc nhau v phng php kim th. V
d nu yu cu l nhanh, kim th t ng, nhng khng cn tin cy cao
th kim th ngu nhin l ph hp. Ngc li, yu cu tin cy phi rt
cao th chng ta phi s dng cc phng php tinh vi kim th mt cch
k lng nht c th. Khi chn mt phng php, iu quan trng l phi
nh gi tt c cc yu t v chi ph lin quan.
Chi ph nn tng kim th: Mi c t ca kim th s phi c c
th ha thnh mt ca kim th v c chy i chy li nhiu ln trong sut
vng i ca sn phm. Mi ln chy mt ca kim th bao gm vic phi
a u vo vo chng trnh, thc hin chng trnh, v so snh kt qu
u ra thc t vi u ra mong i. Nu chng ta t ng ha c tt c
cc cng vic ny th phng php t hp sinh ra tt c cc t hp c th
p dng. Tuy nhin nu mt s bc phi thc hin bng tay, hoc chng
ta phi vit m cho tng c t kim th ny th c l chng ta phi chn
phng php khc kh thi v mt thi gian v cng sc.
Tm li kim th hm cng ging nhiu hot ng k thut khc i
hi phi phn tch k lng cc u nhc im chn phng php cn
bng ph hp vi cc kh khn v cc vn khng lng ht c m phi
l ngi thit k c kinh nghim mi c cm gic tt c. Kim th hm
khng phi l vic tp chn mt phng php ti u m l mt lot cc
hot ng tm ra s t hp ca mt s m hnh v k thut to ra
mt tp cc ca kim th tha mn chi ph v rng buc cht lng t ra.
S cn bng ny cng c th m rng ra ngoi thit k kim th sang thit
k phn mm thun li cho vic kim th. Thit k phn mm thch hp
s khng ch gip qu trnh pht trin c tt hn m cn gip vic kim
th cng thun li gip tit kim chi ph tng th ca d n phn mm.
108
5.2
CHNG 5. KIM TH HM
Kim th gi tr bin
5.2.1
Gi tr bin
109
110
CHNG 5. KIM TH HM
{(x1nom , x2nom ),
(x1min , x2nom ), (x1min+ , x2nom ),
(x1max , x2nom ), (x1max , x2nom ),
(x1nom , x2min ), (x1nom , x2min+ ),
(x1nom , x2max ), (x1nom , x2max )}
Tng qut ha kim th gi tr bin cho hm n bin s v mi bin c
cc gi tr bin v cn bin khc nhau ta c th d thy s c 1 + 4n ca kim
th v xut pht t mt ca kim th gm cc gi tr trung bnh ca cc bin,
ta thay n bng bn gi tr bin v cn bin: min, min+, max, v max.
Vi n bin s to thm 4n b kim th. Do tng s ca kim th l 1 + 4n.
Tuy nhin ty theo min xc nh ca bin m s lng ny thc t c th t
hn. V d bin nguyn thuc khong [1, 2] th khng c cn bin v khng
c gi tr gia.
Vi cch to b kim th gi tr bin ny, mi gi tr bin v cn bin
xut hin mt ln vi cc gi tr trung bnh ca cc bin cn li, ch khng
phi t hp cc b gi tr ca cc bin. T hp ca cc bin c gi l kim
th gi tr bin mnh s c tho lun trong phn tip theo.
Trong thc t, min xc nh ca cc bin khng ch l cc min s, nn
chng ta cn c cc vn dng thch hp xc nh cc gi tr bin tinh
t hn. V d trong chng trnh NextDate bin thng month c th l s
nguyn trong khong t 1 n 12. Nhng khng phi ngn ng lp trnh no
cng cho php khai bo min xc nh ca bin trong khong ny. Chng
ta cng c th dng kiu lit k (enumeration) khai bo cc thng bng
tn Januray, ..., December v chng ta vn c gi tr bin v cn bin.
Tuy nhin nh trong ngn ng lp trnh Java chng ta phi dng bin kiu
nguyn int v khng khai bo min gi tr cho chng c, th chng ta
s phi dng cc cn ca kiu lm bin. Trong Java, bin ca s nguyn l
Interger.MIN_VALUE v Interger.MAX_VALUE. Trong C, chng ta cng c cc
khong gi tr ny.
Vi bin kiu Boolean, cc gi tr ca min ch c TRUE v FALSE, chng
ta khng c cn bin v gi tr gia. Vi kiu xu k t, mng, hay danh
sch, tp hp (collection), chng ta c th da vo chiu di/kch thc
lm cc gi tr bin. Vi cc kiu cu trc d liu khc chng ta c th xy
dng cc gi tr bin v cn bin da theo cc thnh phn ca cu trc.
111
5.2.2
5.2.2.1
112
CHNG 5. KIM TH HM
5.2.2.2
Kim th gi tr bin t hp
113
5.2.2.3
Kim th cc gi tr c bit
114
CHNG 5. KIM TH HM
cng hiu qu trong vic kim tra li. y cng l tnh cht th cng ca
ngh kim th phn mm - kho tay v c kinh nghim s lm tt hn.
5.2.3
V d minh ha
5.2.3.1
a
100
100
100
100
100
100
100
100
100
100
1
2
100
199
200
b
100
100
100
100
100
1
2
100
199
200
100
100
100
100
100
c
1
2
100
199
200
100
100
100
100
100
100
100
100
100
100
Kt qu mong i
Tam gic cn
Tam gic cn
Tam gic u
Tam gic cn
Khng phi tam gic
Tam gic cn
Tam gic cn
Tam gic u
Tam gic cn
Khng phi tam gic
Tam gic cn
Tam gic cn
Tam gic u
Tam gic cn
Khng phi tam gic
115
5.2.4
Ngy Nm
1
1812
1
1813
1
1912
1
2011
1
2012
2
1812
2
1813
2
1912
2
2011
2
2012
15
1812
15
1813
15
1912
15
2011
15
2012
30
1812
Kt qu mong i
2/1/1812
2/1/1813
2/1/1912
2/1/2011
2/1/2012
3/1/1812
3/1/1813
3/1/1912
3/1/2011
3/1/2012
16/1/1812
16/1/1813
16/1/1912
16/1/2011
16/1/2012
31/1/1812
116
CHNG 5. KIM TH HM
5.3
5.3.1
117
Kim th lp tng ng
Lp tng ng
118
CHNG 5. KIM TH HM
5.3.2
5.3.2.1
Kim th lp tng ng yu
a
a1
a2
a3
a1
b
b1
b2
b3
b4
c
c1
c2
c3
c2
119
120
CHNG 5. KIM TH HM
5.3.2.3
5.3.3
V d minh ha
5.3.3.1
121
a
5
2
3
4
b
5
2
4
1
c
5
3
5
2
Kt qu mong i
Tam gic u
Tam gic cn
Tam gic khng cn
Khng l tam gic
122
CHNG 5. KIM TH HM
D8 = {a, b, c | c > a + b}
123
5.3.3.3
Ngy Nm Kt qu mong i
15
1912 16/6/1912
15
1912 ngy khng hp l
15
1912 ngy khng hp l
-1
1912 ngy khng hp l
32
1912 ngy khng hp l
15
1811 ngy khng hp l
15
2013 ngy khng hp l
5.3.3.4
Ngy Nm
14
1900
29
1912
30
1913
31
1900
Kt qu mong i
15/6/1900
30/7/1912
Khng hp l
Khng hp l
124
CHNG 5. KIM TH HM
5.3.4
Thng
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
Ngy Nm
14
1900
14
1912
14
1913
29
1900
29
1912
29
1913
30
1900
30
1912
30
1913
31
1900
31
1912
31
1913
14
1900
14
1912
14
1913
29
1900
29
1912
29
1913
30
1900
30
1912
Kt qu mong i
15/6/1900
15/6/1912
15/6/1913
30/6/1900
30/6/1912
30/6/1913
1/7/1900
1/7/1912
1/7/1913
Khng hp l
Khng hp l
Khng hp l
15/7/1900
15/7/1912
15/7/1913
30/7/1900
30/7/1912
30/7/1913
31/7/1900
31/7/1912
125
126
5.4
CHNG 5. KIM TH HM
5.4.1
Bng quyt nh
Cu trc bng quyt nh chia thnh bn phn chnh nh trong Hnh 5.9:
Cc biu thc iu kin C1, C2, C3.
Gi tr iu kin T, F, .
Cc hnh ng A1, A2, A3, A4.
Gi tr hnh ng, c (xy ra) hay khng, X l c.
Khi lp bng quyt nh ta thng tm cc iu kin c th xy ra, xt
cc t hp ca chng m t chng ta s xc nh c cc ca kim th
tng ng cho cc iu kin c tha mn. Cc hnh ng xy ra chnh l
kt qu mong i ca ca kim th .
Bng quyt nh vi cc gi tr iu kin ch l T, F, v c gi l
bng quyt nh lgic. Chng ta c th m rng cc gi tr ny bng cc tp
gi tr khc, v d 1, 2, 3, 4, khi chng ta c bng quyt nh tng qut.
Bng 5.10 l mt v d n gin v mt bng quyt nh khc phc s
c my in. Khi my in c s c, chng ta s xem xt tnh trng da trn cc
iu kin trong bng l ng hay sai, t xc nh c ct duy nht c
cc iu kin tha mn, v thc hin cc hnh ng khc phc s c tng
ng.
127
iu kin
Hnh ng
C1
C2
C3
A1
A2
A3
A4
1 2
T T
T T
T F
X X
X
X
Qui
3
T
F
-
tc
4
F
T
X
X
5
F
F
T
6
F
F
F
X
X
My in khng in
n nhp nhy
Khng nhn ra my in
Hnh ng Kim tra dy ngun
Kim tra cp my in
Kim tra phn mm in
Kim tra mc in
Kim tra kt giy
Y
Y
Y
X
X
X
Y Y
Y N
N Y
X
X
X
X
X
Y
N
N
N
Y
Y
N
Y
N
N
N
Y
N
N
N
X
X
X X
X
128
CHNG 5. KIM TH HM
1 2 3
F T T
- F T
- F
32 16 8
X X X
4
T
T
T
T
T
T
1
5
T
T
T
T
T
F
1
6
T
T
T
T
F
T
1
7
T
T
T
T
F
F
1
8
T
T
T
F
T
T
1
9
T
T
T
F
T
F
1
10
T
T
T
F
F
T
1
11
T
T
T
F
F
F
1
X
X
X
X
5.4.2
V d minh ha
129
a b
4 1
1 4
1 2
5 5
? ?
? ?
2 2
? ?
2 3
3 2
3 4
c
2
2
4
5
?
?
3
?
2
2
5
Kt qu mong i
Khng phi tam gic
Khng phi tam gic
Khng phi tam gic
Tam gic u
Khng kh thi
Khng kh thi
Tam gic cn
Khng kh thi
Tam gic cn
Tam gic cn
Tam gic thng
130
CHNG 5. KIM TH HM
D5 = {ngy | ngy = 31 }
Nm
Y1 = {nm | nm nhun }
Y2 = {nm | nm thng thng }
Tch -Cc s to ra 40 b gi tr. Bng quyt nh c lp nh
Hnh 5.13. C 22 quy tc, so vi 36 trong th ln hai. Chng ta c mt bng
quyt nh vi 22 quy tc. Nm quy tc u tin cho thng c 30 ngy. Hai
b tip theo (6-10 v 11-15) cho thng c 31 ngy, vi cc thng khc Thng
Mi Hai v vi Thng Mi Hai.
5.4.3
Ngy Nm
15
1993
28
1993
29
1993
30
1993
31
1993
15
1993
28
1993
29
1993
30
1993
31
1993
15
1993
28
1993
29
1993
30
1993
31
1993
15
1993
28
1992
28
1993
29
1992
29
1993
30
1993
31
1993
Kt qu mong i
16/4/1993
29/4/1993
30/4/1993
1/5/1993
Khng hp l
16/1/1993
29/1/1993
30/1/1993
31/1/1993
1/2/1993
16/12/1993
29/12/1993
30/12/1993
31/12/1993
1/1/1994
16/2/1993
29/2/1992
1/3/1993
1/3/1992
Khng kh thi
Khng kh thi
Khng kh thi
131
132
5.5
CHNG 5. KIM TH HM
Kim th t hp
5.5.1
Kim th i mt
5.5. KIM TH T HP
133
x1
T rue
T rue
F alse
F alse
x2
0
5
0
5
x3
a
b
b
a
1
1
1
2
2
2
1
2
1
2
3
1
2
2
1
5.5.2
Maldl [Rob85] l ngi u tin xut s dng ma trn trc giao thit
k cc ca kim th cp i. Nhiu chin lc kim th i mt cng c
trnh by trong cc nghin cu [GOA05], c th v ng ch l thut ton
da trn mng trc giao [Shr89] v thut ton IPO [TL02].
Chng ta hay xem xt mng hai chiu trong Bng 5.15. Bng ny c hai
tnh cht th v. Tt c cc cp (1,1), (1,2), (2,1), and (2,2) u xut hin
trong hai ct bt k. Tuy nhin khng phi tt c cc t hp ca 1 v 2 u
c trong bng. V d (2, 2, 2) l t hp hp l nhng n khng nm trong
bng. Ch bn trong tm t hp nm trong bng. Trong bng ch c 4 t hp
trn tng s 8 t hp c th. y l mt v d v ma trn trc giao L4 (23 ).
Ch s 4 l s hng ca mng, 3 l s ct ca mng, v 2 l s gi tr ln
nht mt phn t ca mng c th nhn.
Xem li v d ca hm g trn chng ta thy bng ny l mt th hin
134
CHNG 5. KIM TH HM
ca bng trc giao tng qut L4 (23 ) trong Bng 5.15. Cc gi tr 1, 2 trong
Bng 5.15 a thay bng cc gi tr tng ng ca bin ca hm g. V d 1
tng ng vi True, 2 tng ng vi False. Chng ta c th kim tra l mi
cp gi tr bt k ca hai bin bt k u xut hin trong t nht mt ca
kim th trong Bng 5.14.
5.5.3
http://www.pairwise.org/tools.asp
5.6. BI TP
5.6
135
Bi tp
136
CHNG 5. KIM TH HM
Chng 6
Kim th dng iu khin
Trong chng ny, chng ta s tm hiu chi tit v phng php kim th
dng d liu (control flow testing) nhm pht hin cc li tim n bn trong
chng trnh/n v chng trnh cn kim th. Cc li ny thng kh pht
hin bi cc k thut kim th hm hay kim th chc nng c trnh by
trong chng 5. p dng phng php ny, chng ta cn phn tch m
ngun v xy dng cc ca kim th ng vi cc dng iu khin ca chng
trnh/n v chng trnh. Cc o hay tiu ch kim th cho phng php
ny cng s c gii thiu.
6.1
Kim th hp trng
138
6.2
th dng iu khin
6.3. CC O KIM TH
139
6.3
Cc o kim th
140
Inputs
0, 1, 2, 3
1, 1, 2, 3
EO
0
1
RO Note
6.3. CC O KIM TH
141
iu kin tng ng
a==0
(a == b) || (c == d)
ng
tc1
tc2
Sai
tc2
?
Inputs
0, 1, 2, 3
1, 1, 2, 3
1, 2, 1, 2
EO
0
1
Li chia cho 0
RO Note
142
iu kin tng ng
a==0
(a == b)
(c == d)
ng
tc1
tc2
?
Sai
tc2
tc3
tc2
Inputs
0, 1, 2, 3
1, 1, 2, 3
1, 2, 1, 2
1, 2, 1, 1
EO
0
1
Li chia cho 0
1
RO Note
6.4
Kim th da trn o
143
6.4.1
Kim th cho o C1
144
Test Path
1; 2; 4; 5; 6; 7,8
1; 2; 3
Inputs
2, 2, 3, 5
0, 3, 2, 7
EO
1
0
RO Note
ph ca o C1 , ta ch cn hai ng i nh sau m bo c tt
c cc cu lnh ca hm foo c kim th t nht mt ln. kim tra vic
m bo o C1 , chng ta cn kim tra tt c cc lnh/khi lnh (1-8) u
c xut hin t nht mt ln trong cc ng i ny. R rng, hai ng
i ny tha mn iu kin trn nn chng ta t c 100% ph C1 .
1. 1; 2; 4; 5; 6; 7,8
2. 1; 2; 3
Vi ng i 1; 2; 4; 5; 6; 7,8, ta s sinh mt ca kim th n c
thc thi khi thc hin ca kim th ny. tng ca vic sinh ca kim th
ny l tm mt b gi tr u vo cho a, b, c v d sao cho iu kin ng vi
im quyt nh 2 (a == 0) l sai v iu kin ng vi im quyt nh 5
((a == b) || (c == d)) l ng. Gi tr u ra mong i (EO) ca ca kim
th ny l 1. Tng t, ta s sinh ca kim th ng vi ng i 1; 2; 3 vi
u ra mong i l 0. Chng ta s tm mt b u vo sao cho iu kin
(a == 0) l ng. Bng 6.6 l mt v d v hai ca kim th c sinh ra
bng tng trn.
6.4.2
Kim th cho o C2
145
Test Path
1; 2; 4; 5; 6; 7,8
1; 2; 3
1; 2; 4; 5; 7,8
Inputs
2, 2, 3, 5
0, 3, 2, 7
2,3,4,5
EO
1
0
li chia cho 0
RO Note
6.4.3
Kim th cho o C3
146
147
Test Path
1; 2; 4; 5c1; 6; 7,8
1; 2; 4; 5c1; 5c2; 6; 7,8
1; 2; 4; 5c1; 5c2; 7,8
1; 2; 3
Inputs
0, 2, 3, 5
2, 2, 2, 7
2,3,4,5
2,3,4,4
EO
0
1
li chia cho 0
1
RO Note
6.4.4
Kim th vng lp
148
149
Test Path
1; 2; 9; 10
1; 2; 9; 11
1; 2; 3; 9; 10
1; 2; 3; 4; 5; 8; 2; 9; 11
1; 2; 3; 4; 5; 6; 8; 2; 9; 11
1; 2; 3; 4; 5; 6; 7; 8; 2; 9; 10
Inputs
EO
[-999, ...], 1, 2
-999
RO Note
tc6
tc6
[0,-999], 1, 2
[3,-999], 1, 2
[1,-999], 1, 2
-999
-999
1
150
S ln lp
0
1
2
5
99
100
Inputs
[-999, ...], 1, 2
[1,-999], 1, 2
[1,2,-999], 1, 2
[1,2,3,4,5,-999], 1, 10
[1,2,...,99,-999], 1, 100
[1,2,...,100], 1, 2
EO RO Note
-999
1
1.5
3
50
50.5
6.5. TNG KT
6.5
151
Tng kt
152
6.6
Bi tp
6.6. BI TP
153
www.eclipse.org
http://junit.org/
154
6.6. BI TP
155
156
6.6. BI TP
157
158
Chng 7
Kim th dng d liu
Nh trnh by trong chng 6, kim th dng iu khin (control flow
testing) v kim th dng d liu (data flow testing) c xem l hai phng
php ch yu trong chin lc kim th hp trng nhm pht hin cc li
tim tng bn trong cc chng trnh/n v chng trnh. Phng php
kim th dng iu khin cho php sinh ra cc ca kim th tng ng vi
cc ng i (dng iu khin) ca chng trnh. Tuy nhin, ch p dng
phng php ny l cha pht hin tt c cc li tim n bn trong
chng trnh. Trong thc t, cc li thng hay xut hin ti cc bin c
s dng trong chng trnh/n v chng trnh. Kim th dng d liu cho
php ta pht hin nhng li ny. Bng cch p dng c hai phng php ny,
chng ta kh t tin v cht lng ca sn phm phn mm. Trong chng
ny, chng ta s tm hiu phng php kim th dng d liu v phng
php kim th da trn lt ct nhm sinh ra cc ca kim th phc v mc
ch trn.
159
160
7.1
7.1.1
7.1.2
161
thng lin quan n vic khai bo, khi to gi tr cho cc bin v s dng
chng l cc vn v dng d liu ca n v chng trnh. V d, mt lp
trnh vin c th s dng mt bin m khng khi to gi tr sau khi khai
bo n (int x; if(x == 100){ ...}).
Cc vn ph bin v dng d liu c th c pht hin bng phng
php kim th dng d liu tnh. Theo Fosdick v Osterweil [DJ76], cc vn
ny c chia thnh ba loi nh sau:
Gn gi tr ri gn tip gi tr (Loi 1): V d, Hnh 7.1 cha hai
cu lnh tun t x = f1(y); x = f2(z); vi f1 v f2 l cc hm
nh ngha trc v y, z ln lt l cc tham s u vo ca cc hm
ny. Chng ta c th xem xt hai cu lnh tun t ny vi cc tnh
hung sau:
Khi cu lnh th hai c thc hin, gi tr ca bin x c gn
v cu lnh u khng c ngha.
Lp trnh vin c th c nhm ln cu lnh u. Cu lnh ny
c th l gn gi tr cho mt bin khc nh l w = f1(y).
C th c nhm ln cu lnh th hai. Lp trnh vin nh gn
gi tr cho mt bin khc nh l w = f2(z).
Mt hoc mt s cu lnh gia hai cu lnh ny b thiu. V d
nh cu lnh w = f3(x).
Ch c lp trnh vin v mt s thnh vin khc trong d n mi c
th tr li mt cch chnh xc vn trn thuc trng hp no trong
bn tnh hung trn. Mc d vy, nhng vn tng t nh v d
ny l kh ph bin v chng ta cn phn tch m ngun pht hin
ra chng.
Cha gn gi tr nhng c s dng (Loi 2): V d, Hnh 7.2
cha ba cu lnh tun t vi y l mt bin c khai bo v gn
gi tr (y = f(x1);). Trong trng hp ny, bin z cha c gn gi
tr khi to nhng c s dng trong cu lnh tnh gi tr ca
bin x (x = y + z). Chng ta cng c th l gii vn ny theo cc
tnh hung sau:
Lp trnh vin c th b qun lnh gn gi tr cho bin z trc
cu lnh tnh ton gi tr cho bin x. V d, z = f2(x2), vi f2 l
162
163
164
7.1.3
165
166
7.1.4
th dng d liu
167
168
biu thc iu kin ca vng lp (((ti < AS) && (value[i] != -999))).
ngha ca cnh ny l nu biu thc ny ng th chuyn t nh 3 sang thc
hin nh 4. Cc cu lnh tv++; v sum = sum + value[i]; c biu din bi
nh 5. chuyn t nh 4 sang nh 5 (cnh (4, 5)), iu kin tng ng vi
cnh ny phi ng (((value[i] >= MIN) && (value[i] <= MAX)) l ng).
Tip theo, nh 6 biu din cu lnh i++;. Trong trng hp biu thc sau l
sai ((value[i] >= MIN) && (value[i] <= MAX)), th s chuyn t nh 4
sang nh 6 (cnh (4, 6)). T nh 5, th s chuyn n nh 6 (cnh (5,
6)) v khng c biu thc iu kin ca cnh ny. Vng lp while s kt thc
khi iu kin ((ti < AS) && (value[i] != -999)) l sai. Khi , th s
chuyn t nh 3 sang nh 7 (cnh (3, 7)). nh 7 l nh NULL tng ng vi
cu lnh if (tv > 0). nh 8 l biu din ca cu lnh av = (double) -999;
trong khi cu lnh av = (double)sum/tv; c biu din bng nh 9. T
nh 7, nu iu kin tv > 0 l ng th th chuyn sang nh 9 (cnh (7,
9)). Ngc li, th chuyn t nh 7 sang nh 8 (cnh (7, 8)). Cui cng,
nh 10 c s dng biu din cu lnh return(av);. T cc nh 8 v
169
7.1.5
170
def (i)
{value, AS, MIN, MAX}
{i, ti, tv, sum}
{}
{ti}
{tv, sum}
{i}
{}
{av}
{av}
{}
c-use(i)
{}
{}
{}
{ti}
{tv, i, sum, value}
{i}
{}
{}
{sum, tv}
{av}
171
puse xut hin trong th dng d liu Hnh 7.6 cng c lit k trong
Bng 7.2, vi puse(i, j) l tp cc bin c puse ti cnh (i, j).
nh ngha 7.12. (Simple path.) Mt ng i trong th dng d liu
c gi l mt Simple path nu cc nh ch xut hin ng mt ln tr
nh u v nh cui.
V d 7.13. Trong th dng d liu ca hm ReturnAverage c m t
Hnh 7.6, cc ng i (2 - 3 - 4 - 5) v (3 - 4 - 6 - 3) l cc Simple paths.
nh ngha 7.14. (Loop-f ree path.) Mt ng i trong th dng d
liu c gi l mt Loop-f ree path nu cc nh ch xut hin ng mt
ln.
nh ngha 7.15. (Complete-path.) Mt ng i c gi l mt Completepath nu n c im bt u v im kt thc chnh l im bt u v im
kt thc ca th dng d liu.
nh ngha 7.16. (Du-path.) Mt ng i (n1 - n2 - ... - nj - nk ) c gi
l mt Du-path (definition-use path) ng vi bin x nu nh n1 l Global
def ca bin x v:
172
7.1.6
173
174
175
V d 7.22. Ta s tm tt c cc ng i tha mn o All-p-uses/Somec-uses ng vi bin i (Hnh 7.6, Bng 7.1, v Bng 7.2). Bin i c hai Global
def ti cc nh 2 v nh 6. D thy rng khng c p-use ca bin ny
(Hnh 7.6). V vy, ta quan tm n o Some-c-uses ca bin i. Ti
nh 2, c mt Global c-use ca i ti nh 6 v c mt Def -clear path (2
- 3 - 4 - 5 - 6). V vy, tha mn o All-p-uses/Some-c-uses vi bin
ny, ta chn Complete-path (1 - 2 - 3 - 4 - 5 - 6 - 3 - 7 - 9 - 10) cha ng
i trn.
All-c-uses/Some-p-uses: o ny tng t nh o All-c-uses ngoi
tr trng hp khi c mt ngha (def ) ca bin x m khng c mt Global
c-use ca bin ny. Trong trng hp ny, ta s dng o Some-p-uses
c nh ngha nh sau.
nh ngha 7.23. (Some-p-uses.) Vi mi mt bin x v mi nh i sao cho
i l Global def vi bin x, chn cc Complete-path bao gm cc Def -clear
path t nh i ti mt s cnh (j, k) sao cho c mt p-use ca x ti cnh
ny.
V d 7.24. Ta s tm tt c cc ng i tha mn o All-c-uses/Somep-uses ng vi bin AS (Hnh 7.6, Bng 7.1, v Bng 7.2). Bin AS ch c mt
Global def ti nh 1. D thy rng khng c Global c-use ca bin ny
(Hnh 7.6). V vy, ta quan tm n o Some-p-uses ca bin AS. T
nh 1, c cc p-use ca AS ti cc cnh (3, 7) v (3, 4) v c cc Def -clear
path tng ng vi hai cnh ny l (1 - 2 - 3 - 7) v (1 - 2 - 3 - 4). C rt
nhiu Complete-path cha hai ng i ny. V d (1 - 2 - 3 - 4 - 5 - 6 - 3 7 - 9 - 10).
All-uses: o ny bao gm cc ng i c sinh ra t cc o Allp-uses v All-c-uses (nh nh ngha trn). iu ny c ngha l vi
mi vic s dng (c-use hoc p-use) ca mt bin th c mt ng i t
nh ngha (def ) ca bin ti cc s dng ca n.
All-du-paths: Vi mi mt bin x v mi nh i sao cho i l Global def
vi bin x, chn cc Complete-path cha cc tt c cc Du-path t nh i
ti:
176
7.1.7
Sinh cc ca kim th
tin hnh phng php kim th dng d liu, trc ht chng ta phi
sinh th dng d liu ca n v chng trnh. Vi o kim th C,
177
178
7.2
Kim th da trn lt ct
179
Hnh 7.8: Mi quan h bao gm cht gia cc o dng d liu thc thi
c.
7.2.1
180
181
182
7.2.2
V d p dng
183
184
185
I-def (i)
{value, AS, MIN, MAX}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
A-def (i)
{}
{i}
{ti}
{tv}
{sum}
{}
{}
{ti}
{}
{tv}
{sum}
{i}
{}
{av}
{av}
{}
Const(i)
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
186
Bng 7.4: C-def , L-def , I-def , O-def v P -def ca cc nh trong Hnh 7.11
nh i
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
C-def (i)
L-def (i)
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{ti}
{}
{}
{}
{tv}
{}
{sum,value}
{}
{i}
{}
{}
{}
{sum,tv}
{}
{}
{}
{}
{}
I-def (i)
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
O-def (i)
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{}
{av}
P -def (i)
{}
{}
{}
{}
{}
{}
{ti,AS,value}
{}
{value,MIN,MAX}
{}
{}
{}
{tv}
{}
{}
{}
187
188
7.2.3
Mt s lu vi kim th da trn lt ct
189
190
7.3. TNG KT
7.3
191
Tng kt
Phng php kim th dng d liu cho php chng ta pht hin cc li tim
n bn trong chng trnh lin quan n vic s dng cc bin. Cc li ny
thng kh pht hin bi cc phng php khc. p dng phng php
ny, chng ta cn xy dng th dng d liu cho chng trnh cn kim
th. ng vi mi o kim th, chng ta s xy dng tp cc ng i y
(Complete-paths) sinh cc ca kim th tng ng. Chng ta nn s
dng kim th dng d liu khi chng trnh c nhiu tnh ton. Khi chng
trnh c nhiu lnh r nhnh v bin ca biu thc iu kin ny cng c
tnh ton (p-use) th cng nn s dng kim th dng d liu. C nhiu cng
c ca cc nhm nghin cu h tr xc nh cc khi nim kim th dng
d liu ny v mt s cng c c thng mi ha. Khi bn gp mt s
m-un kh kim th, nn s dng mt s gi sau:
Cc lt ct khng tng ng vi cc ca kim th, v nhiu lnh khng
nm trong lt ct nhng nm trn ng i ca chng trnh. Khi
c th cch kt hp cc lt ct, tc l da trn lt ct cu trc li
m-un thun tin cho vic kim th.
Phn b tng i ca cc lt ct gip vic chun on chng trnh.
Phn b tng i ca mt tp B so vi tp A l tp cc phn t
thuc A m khng nm trong B, k hiu l A B.
Tn ti mt quan h nhiu-nhiu gia cc lt ct v cc dd-paths: cc
lnh trong mt lt ct c th nm trong mt s dd-paths v cc lnh
trong mt dd-paths c th nm trong mt s lt ct.
Tuy nhin, so vi phng php kim th dng iu khin, phng php
kim th dng d liu kh p dng hn v c kh hn. Hn na, phng
php ny thng kh phc tp khi p dng vi cc n v chng trnh c
kch thc ln. Phng php kim th da trn lt ct ang c xem l
mt gii php ha hn nhm gii quyt vn ny. Trong phng php kim
th da trn lt ct, chng ta khng cn phn tch tt c cc cu lnh thuc
n v chng trnh. Vi mi bin, chng ta ch quan tm n mt tp con
cc cu lnh c lin quan (khai bo, gn gi tr v s dng) n bin ny.
192
7.4
Bi tp
7.4. BI TP
193
194
7.4. BI TP
195
196
Chng 8
Kim th da trn m hnh
Chng ny gii thiu mt s phng php v cng c cho kim th da
trn m hnh nhm tng tnh hiu qu v chnh xc ca cc hot ng
kim th. Kim th da trn m hnh c th s dng vi nhiu mc ch
khc nhau trong vic t ng ha cc hot ng kim th. Chng ti gii
thiu phng php ny nhm kim tra tnh ng n ca vic lp trnh so
vi thit k . Cc phng php v cng c h tr kim th da trn m hnh
c vai tr ht sc quan trng trong vic nng cao cht lng ca cc sn
phm v tng tnh cnh tranh cho cc cng ty phn mm.
8.1
C nhiu khi nim khc nhau v kim th da trn m hnh. Tu trung li,
chng ta c th hiu kim th da trn m hnh l mt phng php kim
th ni m cc ca kim th c sinh ra t m hnh c t hnh vi ca h
thng ang c kim th. M hnh ny c biu din bng my hu hn
trng thi, tmat, c t i s, biu trng thi bng UML, ...
Qu trnh kim th da trn m hnh c bt u bng vic xc nh
yu cu ca h thng t xy dng m hnh da vo cc yu cu v chc
nng ca h thng. Vic xy dng m hnh cn phi da trn cc yu t d
liu u vo v u ra. M hnh ny c s dng sinh u vo cho cc
ca kim th. Tip n, chng ta s sinh gi tr u ra mong mun ng vi
mi b u vo. Khi kt thc bc ny, chng ta c cc ca kim th. Cc
197
198
8.2
8.2.1
My hu hn trng thi
199
200
off
dim
normal
bright
8.2.2
off
dim
turn off
turn off
turn off
decr. intensity
normal
turn on
incr. intensity
bright
incr. intensity
decr. intensity
201
8.2.3
8.2.4
202
Mt li gi ng vi mt phng thc
Mt tn hiu nhn c t cc trng thi khc trong my trng thi
Mt s thay i gi tr ca mt thuc tnh no ca mt i tng
Ht thi gian (timeout)
8.2.5
203
8.3
204
ng. Chng ta c th chn ngu nhin hoc s dng cc thut ton gii cc
h phng trnh ng vi cc iu kin t dy cc trng thi ca ng i
ny. B u vo c c m bo iu kin ng i tng ng s c thc
thi khi chy chng trnh. Tuy nhin, trong mt s trng hp v d nh
kim th tng tc giao din ngi dng, chng ta khng cn sinh cc gi
tr u vo cho mi ng i. Chi tit v cc trng hp ny c th tham
kho trong v d minh ha c trnh by trong mc 8.6.
8.4
205
8.5
206
8.6
V d minh ha
8.6.1
c t h thng
8.6. V D MINH HA
207
Hnh 8.8: Biu din DFA cho trang ng nhp bng Excel.
208
8.6.2
Sinh cc ca kim th
8.6. V D MINH HA
209
S_index*t_usrname=username*t_passwd=usr+pass*
c_submit=Stu_main
S_index*t_passwd=password*t_usrname=usr+pass*
del_passwd=username*c_submit=error_log
S_index*t_usrname=username*t_passwd=usr+pass*
del_usrname=password*c_submit=error_log*c_back=
S_index*c_submit=error_log
8.6.3
www.seleniumhq.org
210
8.7
Trong qu trnh pht trin phn mm, cc kim th vin thng thc hin
cng vic ca mnh bng cc phng php truyn thng (th cng) nn thi
gian v chi ph dnh cho cc hot ng ny thng rt cao. Kim th da
trn m hnh ha hn s l mt gii php hiu qu nhm gp phn gii quyt
vn ny. C th, kim th da trn m hnh c cc u im sau:
Gim chi ph v thi gian: Do qu trnh kim th hu ht c thc
hin t ng nn tnh hiu qu ca phng php ny rt cao trong khi
thi gian c gim mt cch ti thiu.
bao ph tt hn: Nu m hnh ca h thng c xy dng tt
th qu trnh kim th da trn m hnh sinh ra nhiu ca kim th v
pht hin nhiu li. Kim th m hnh cng cho php gim cc li ch
quan do ngi kim th sinh ra trong qu trnh kim th sn phm.
y ti liu: M hnh h thng, cc ng i, cc ca kim th,
... l cc ti liu quan trng trong qu trnh pht trin phn mm ni
chung v qu trnh kim th phn mm ni ring. Cc ti liu ny cng
gip cho cc kim th vin hiu hn v cc ca kim th v cc kch
bn kim th.
Kh nng s dng li cao: Mi khi phn mm b tin ha, chng
ta d dng sinh thm cc ca kim th v kim th li mt cch nhanh
chng v hiu qu.
2
http://uet.vnu.edu.vn/hungpn/MBT4WebApps/
212
8.8
8.8.1
AGEDIS
8.8.2
213
Spec Explorer
214
8.8.3
Conformiq Qtronic
8.8.4
JCrasher
http://www.conformiq.com/qtronic.php
215
8.8.5
Selenium
Selenium4 l mt phn mm m ngun m, c pht trin bi Jason Huggins, sau c tip tc bi nhm ThoughtWorks vo nm 2004. Phin
bn hon chnh mi nht l 1.0.1 c pht hnh vo 10/06/2009. y l
mt cng c h tr kim th t ng cho cc ng dng Web. Selenium h
tr kim th trn hu ht cc trnh duyt ph bin hin nay nh Firefox, Internet Explorer, Safari, .. cng nh cc h iu hnh ch yu nh Windows,
Linux, Mac,... Selenium cng h tr mt s ln cc ngn ng lp trnh Web
ph bin hin nay nh C#, Java, Perl, PHP, Python, Ruby,... Cng c ny
c th kt hp thm vi mt s cng c khc nh Bromien v JUnit nhng
vi ngi dng thng thng ch cn chy t ng m khng cn ci thm
cc cng c b tr. Selenium ang c cng ng s dng nh gi l mt
trong nhng cng c tt nht cho kim th t ng cc ng dng Web.
8.8.6
SoapUI
www.seleniumhq.org
http://www.soapui.org
216
8.8.7
W3af
8.9
Tng kt
http://w3af.org
8.10. BI TP
8.10
217
Bi tp
218
Chng 9
Kim th t ng v cng c
h tr
Kim th ang c xem l gii php ch yu nhm m bo cht lng
cho cc sn phm phn mm. Tuy nhin, cc hot ng kim th hin nay
ch yu c thc hin mt cch th cng v tiu tn khong 30-50% ti
nguyn (thi gian, nhn lc v chi ph) ca qu trnh pht trin sn phm
phn mm. Hn na, phc tp ca cc phn mm ngy cng tng v
trong mi trng cnh tranh nh hin nay i hi cc cng ty phn mm
phi p dng cc phng php v cng c nhm t ng ha cc hot ng
kim th. Chng ny gii thiu v kim th t ng v cc cng c h tr
nhm gii quyt vn ny.
9.1
220
9.2
222
www.seleniumhq.org
223
9.3
Mt s cng c kim th t ng
9.3.1
CFT4CUnit
224
9.3.2
JDFT
http://uet.vnu.edu.vn/hungpn/CFT4CUnit/
225
Hnh 9.4: Giao din cho php chn tp m ngun .java cn kim th.
http://uet.vnu.edu.vn/hungpn/JDFT/
226
9.3.3
JUnit
Cng c kim th cho cc n v chng trnh vit bng Java, JUnit4 , cung
cp mt c s h tng chun cho vic thit lp cc b kim th. Mt khi b
kim th c thit lp, n c th t ng chy mi khi m thay i. JUnit
khuyn khch cc nh pht trin vit cc kch bn kim th, chn cc m
kim th vo m ngun Java v thc hin chng pht hin cc li bn
trong n v chng trnh. Khc vi cc cng c khc, JUnit khng h tr
c ch sinh cc ca kim th. Hin nay, JUnit c tch hp trong Eclipse
v h tr rt c lc cho qu trnh kim th.
http://junit.org/
227
9.3.4
QuickTest Professional
http://www.automation-consultants.com
228
9.3.5
Apache JMeter
9.3.6
Load Runner
9.4
Tng kt
http://jmeter.apache.org/
http://jmeter-plugins.org
8
http://www.hp.com/LoadRunner/
7
9.5. BI TP
229
9.5
Bi tp
230
Chng 10
Kim th tch hp
10.1
Gii thiu
232
10.2
233
khin v d liu gia cc m-un. Ba loi giao din chnh chng ta thng
gp l:
Giao din gi hm/th tc (procedure call): mt hm trong mt
m-un gi mt hm trong mt m-un khc. Pha gi s chuyn iu
khin cho m-un c gi. Pha gi cng c th chuyn d liu cho
hm c gi. Ngc li hm c gi cng c th chuyn d liu tr
v cho hm gi khi n tr iu khin v cho hm gi.
Giao din b nh dng chung (shared memory): mt khi b
nh c chia s gia hai m-un. Khi b nh ny c th do mt
trong hai m-un cp pht, hoc cng c th do mt m-un th ba
cp pht. Mt m-un s ghi d liu ln khi b nh v m-un kia
c d liu t khi b nh.
Giao din truyn thng ip (message passing): mt m-un to
mt thng ip v gi thng ip cho mt m-un khc. Dng ny
rt ph bin trong cc h thng khch-ch hay cc h thng trn nn
web, dch v web.
Li giao din l li gn vi cc cu trc tn ti bn ngoi mi trng ca
m-un nhng c m-un s dng [BP84]. Mt s li giao din ny
c phn loi nh sau [PE85]:
1. Khng chc nng: li ny do mt m-un gi thit sai v m-un
kia. M-un cung cp dch v khng hot ng nh m-un s dng
mong i - c tnh hoc ngoi mun ca ngi lp trnh m-un cung
cp dch v.
2. Thay i tnh nng: mt m-un c sa i nhng cc m-un s
dng n khng c iu chnh theo nn chc nng ca h thng b
nh hng.
3. S dng giao din khng ng: mt m-un s dng khng ng
giao din ca m-un c gi. Vi giao din hm vic s dng sai ny
c th do truyn tham s khng ng th t.
4. Hiu giao din khng y : mt m-un khi thit k gi thit mt
s iu kin ca tham s u vo, nhng pha gi li khng n
234
5. Khng x l li tr v: mt m-un c gi c th tr v mt m
li nhng m-un gi li khng kim tra li, coi n l kt qu. Hoc
m-un c gi b sung thm m li tr v nhng m-un gi cha
kp bit/sa.
6. Hiu ng ph vi tham s hoc ti nguyn: mt m-un c th s dng
ti nguyn khng m t trong giao din. V d mt m-un s dng
file tm tn l "temp", nhng khi tch hp mt m-un khc cng s
dng file tm vi tn ny s gy li xung t. Hay v d hm strdup
trong ngn ng C cp pht b nh mi v tr v con tr n xu mi.
Nu bn gi khng gii phng b nh th li d b nh s xy ra.
7. Cc vn phi chc nng: Cc yu cu phi chc nng nh tc ch
c nu ra khi chng c th gy vn . Cc yu cu ny ngay c khi
khng nu ra th chng ta vn ngm nh l chng phi chy khng
qu chm. Khi tch hp cc vn v ny mi thng pht sinh.
10.3
235
10.3.1
236
10.3.2
Tch hp t di ln
237
10.3.3
Tch hp bnh kp
238
10.4
Tch hp da trn th gi hm
10.4.1
Tch hp i mt
10.5. BI TP
10.4.2
239
10.5
Bi tp
240
Chng 11
Kim th h thng, chp nhn
v hi quy
11.1
Tng quan
Chng ta bit chng trnh phn mm phi chy trn mi trng phn
cng v trong iu kin mi trng ph hp. V d mi trng c th cn
kt ni mng, hay c sng 3G, hay ngoi tri GPS c th hot ng, hay
cn kt ni vi cc h thng lin quan khc. Chng ny chng ta s xem
xt kim th mt h thng phn mm hon chnh, sau khi lp ghp tt
c cc m-un hay cc thnh phn ca h thng li. Ngoi nhng yu cu
v mt chc nng tng th, chng ta s gii thiu mt s khi nim kim tra
cht lng ca h thng, v nhng vn kim th h thng khi h thng
thay i, tin ha.
Ging nh mt chic xe p hay mt chic my tnh c lp rp t
nhiu b phn khc nhau, mt h thng phn mm l s kt hp ca cc
m-un phn mm, cc th vin lin quan, v hot ng trn mt nn tng
phn cng, phn mm xc nh. Cc b phn ca mt chic xe p hay cc
linh kin my tnh thng c lm v kim tra ring bit, nhng khi lp
chng li cha chc chng ta c mt chic xe p chy tt hay mt my tnh
nh mong mun. C th chic xe p vn chy nhng rt hay b tut xch
hoc mt cch v hnh hn l n lm ngi p xe nhanh b mi lng. Mt
my tnh c CPU vi tc x l cao nhng b nh RAM t hoc tc
241
Kim th hi quy
Kim tra li cc ca
kim th thnh
cng trc
Do i pht trin Do i pht trin v Do i pht trin
thc hin
ngi dng cng thc thc hin
hin
Kim tra sn phm Khng nh tnh Gip nhng thay i
t yu cu k thut ng n v y khng mong mun
cha
ca sn phm
khng xy ra
11.2
243
Kim th h thng
245
11.2.1
247
http://www.w3.org/TR/WAI-WEBCONTENT
249
11.2.2
11.2.3
11.2.3.1
Khi nim
C nhiu nh ngha v kim th hiu nng [MFB+ 07, Mol09]. Theo [MFB+ 07],
kim th hiu nng l kim th xc nh thi gian phn hi (repsonsiveness),
251
Khi thc hin kim th hiu nng cho mt ng dng chng ta c th thc
hin mt hoc mt vi loi kiu kim th hiu nng lin quan ty theo c
th v yu cu ca ng dng t ra. Di y s gii thiu mt vi kiu kim
th hay c s dng trong kim th hiu nng.
Kim th c s (baseline test): Kim th c s nh gi hiu nng vi
mt ngi s dng. Kim th c s c thc hin kim tra tnh ng
253
11.3
11.4
Kim th hi quy
11.4.1
Tng quan
255
11.4.2
257
259
19
int digit_low = HEX [*(++ eptr )];
20
if ( digit_high == -1 || digit low == -1) {
21
/* * dptr = ? ; */
22
ok = 1;
23
} else {
24
* dptr = 16* digit_high + digit_low ;
25
}
26
} else {
27
* dptr = * eptr ;
28
}
29
++ dptr ;
30
++ eptr ;
31
}
32
* dptr = \0 ; /* ket thuc xau */
33
return ok ;
34 }
Ca kim th
""
"test + case%dadequacy"
"adequate + test%0Dexecution%7U"
"%3D"
"%A"
"a+b"
"test"
"%0D+%4J"
"first + test%9Ktest%K9"
ng i
ABM
ABCDFL..BM
ABCDFL..BM
ABCDGHLBM
ABCDGILBM
ABCDFLBCELBCDFLBM
ABCDFLBCDFLB..BM
ABCELBCDGIL..BM
ABCDFL..BM
261
S dng
X
X
W
ZW
11.5
Bi tp
[AJ83]
[AJ84]
[AJ00]
Abdurazik Aynur and Offutt Jeff, Using uml collaboration diagrams for static checking and test generation, Proceedings of
the 3rd international conference on The unified modeling language: advancing the standard (Berlin, Heidelberg), UML00,
Springer-Verlag, 2000, pp. 383395.
[AK04a]
Hartman A. and Nagin K., The agedis tools for model based
testing, Proceedings of the 2004 ACM SIGSOFT international
symposium on Software testing and analysis (New York, NY,
USA), ISSTA 04, ACM, 2004, pp. 129132.
[AK04b]
[AW93]
264
[BBH05]
[Bec02]
[BFM04]
[Bil88]
[BL75]
[Bor84]
[Bor95]
[BP84]
[C.79]
[D.95]
Adams D., The hitchhikers guide to the galaxy, San Val, 1995.
[Dav88]
265
[DJ76]
[fS91]
[G.95]
[GG12]
[GJ88]
[GOA05]
[Gru73]
[IEE93]
Computer Society IEEE, Ieee standard classification for software anomalies, Ieee standard 1044-1993, IEEE Computer Society, 1993.
[Ing61]
Stuart J. Inglis, Planets, stars, and galaxies, 4th ed., Wiley and
Sons, New York, NY, USA, 1961.
[Jor13]
[Kar12]
Michael Kart, Behavior-driven development: conference tutorial, J. Comput. Sci. Coll. 27 (2012), no. 4, 7575.
266
[KJ02]
[Kru05]
[KWG04]
[Lee03]
[Mal87]
[Mar81]
Weiser Mark, Program slicing, Proceedings of the 5th international conference on Software engineering (Piscataway, NJ,
USA), ICSE 81, IEEE Press, 1981, pp. 439449.
[Mar84]
[Mar03]
[McC76]
[MFB+ 07]
[MG04]
[Mil91]
Edward F. Miller, Automated software testing: A technical perspective, American Programmer 4 (1991), no. 4, 3843.
267
[MMA02]
Vanmali M., Last M., and Kandel A., Using a neural network in
the software testing process, International Journal of Intelligent
Systems 17 (2002), no. 1, 4562.
[MMA04]
Last M., Friendman M., and Kandel A., Using data mining for
automated software testing, International Journal of Software
Engineering and Knowledge Engineering 14 (2004), no. 4, 369
393.
[Mol09]
[MRA04]
[Mye75]
Glenford J. Myers, The art of software testing, Wiley Interscience, New York, NY, USA, 1975.
[oST02a]
[oST02b]
, Software errors cost u.s. economy $59.5 bullion annually, Nist news release, National Institute of Standards and
Technology, 2002.
[PE85]
[Pos90]
Robert M. Poston, Automated software testing, Workshop Programming Environments (NJ, USA), Inc. Tinton Falls, 1990.
[Pos91]
268
[PZKH06]
Hu Peifeng, Zhang Zhenyu, Chan W. K., and Tse T. H., An empirical comparison between direct and indirect test result checking approaches, Proceedings of the 3rd international workshop
on Software quality assurance (New York, NY, USA), SOQUA
06, ACM, 2006, pp. 613.
[Rob85]
Mandl Robert, Orthogonal latin squares: an application of experiment design to compiler testing, Commun. ACM 28 (1985),
no. 10, 10541058.
[Rub94]
Jeffrey Rubin, Handbook of usability testing: How to plan, design, and conduct effective tests, John Wiley & Sons, Inc., New
York, NY, USA, 1994.
[S.82]
Pressman Roger S., Software engineering: A practitioners approach, McGraw-Hill, Inc., New York, NY, USA, 1982.
[Shr89]
Phadke Madhav Shridhar, Quality engineering using robust design, Englewood Cliffs, N.J. Prentice Hall, 1989.
[SJ85]
[Som10]
Kuo-Chung Tai and Yu Lei, A test generation strategy for pairwise testing, IEEE Trans. Software Eng. 28 (2002), no. 1, 109
111.
[WM96]
S lc v cc tc gi
TS. ng Vn Hng2 tt nghip ngnh Ton hc tnh ton ti Khoa TonC, Trng i hc Tng hp H Ni (nay thuc Trng i hc Khoa hc
T nhin, i hc Quc gia H Ni) nm 1977, bo v thnh cng hc v
Tin s ngnh Khoa hc my tnh ti Vin Khoa hc My tnh v T ng
ha, Vin Hn lm Khoa hc Hungary thng 2 nm 1988. TS ng Vn
Hng khi u s nghip chuyn mn ca mnh l mt nghin cu vin ti
vin Cng ngh Thng tin, Vin Khoa hc v Cng ngh Vit Nam t nm
1978, v lm nghin cu vin ca Vin Quc t v K ngh Phn mm thuc
Trng i hc Lin hip quc t nm 1995 n nm 2007. T nm 2008 n
nay TS ng Vn Hng l ging vin cao cp ca Khoa Cng ngh Thng
tin, Trng i hc Cng ngh, i hc Quc gia H Ni.
TS. ng Vn Hng tham gia tch cc vo mt s hot ng khoa hc
nh ging dy ti mt s trng h quc t, tham gia cc tiu ban chng
trnh ca nhiu hi ngh quc t v lnh vc cng ngh thng tin, hiu nh
sch v tp ch quc t cho nh xut bn Springer. Lnh vc nghin cu m
ng Vn Hng quan tm bao gm cc phng php hnh thc, m hnh
ho, c t v kim chng phn mm, cc h tnh ton sng song v phn
tn, k thut pht trin phn mm da trn thnh phn. TS. ng Vn
Hng cng b hn 80 bi bo trong lnh vc chuyn mn ca mnh trong
cc tp ch v k yu ca cc hi ngh quc t v trong nc. TS. ng Vn
Hng tng l gio s mi ca i hc S phm Hoa ng, Thng Hi,
Trung quc, v hin nay l ph tng bin tp Chuyn san Cng ngh Thng
tin v Truyn thng ca i hc Quc gia H Ni.
http://uet.vnu.edu.vn/dvh/
269
270
3
4
http://uet.vnu.edu.vn/hoangta/
http://uet.vnu.edu.vn/hungpn/