Professional Documents
Culture Documents
9 KiemThu
9 KiemThu
Ni dung
Gii thiu v kim th Kim th trong tin trnh pht trin Kim th hp en Kim th hp trng
Kim th l g ?
IEEE: Kim th l tin trnh vn hnh h thng hoc thnh phn di nhng iu kin xc nh, quan st hoc ghi nhn kt qu v a ra nh gi v h thng hoc thnh phn Myers: Kim th l tin trnh thc thi chng trnh vi mc ch tm thy li (The art of software testing)
3
Kim th l g ?
Kim th G ri (debug)
Kim th
nhm pht hin li
G r i
xc nh bn cht li v nh v li trong chng trnh tin hnh sa li
Cc khi nim
Mt sai st (error) l mt s nhm ln hay mt s hiu sai trong qu trnh pht trin phn mm ca ngi pht trin Mt li (fault, defect) xut hin trong phn mm nh l kt qu ca mt sai st Mt hng hc (failure) l kt qu ca mt li xut hin lm cho chng trnh khng hot ng c hay hot ng nhng cho kt qu khng nh mong i
sai st
5
l i
hng hc
Cc khi nim
D liu th (test data)
d liu vo cn cung cp cho phn mm trong khi thc thi
Cc khi nim
Kim th vin (tester)
ngi thc hin kim th
Cc khi nim
bc quan st kt qu kim th
thc hin trong khi hoc sau khi thc thi so snh kt qu nhn c v kt qu mong i
9
10
Kh khn ca kim th
Lin quan n tin trnh pht trin
gm nhiu giai on pht trin
ci ra ca mt giai on l ci vo ca giai on khc mt mt thng tin
V mt con ngi
thiu o to t ch trng vai tr kim th
V mt k thut
khng tn ti thut ton tng qut c th chng minh s ng n hon ton ca bt k mt chng trnh no
11
Ti sao kim th
Hp thc ha (validation)
ch ra rng sn phm p ng c yu cu ngi s dng
Xc minh (verification)
ch ra rng sn phm tha mn c t yu cu
12
13
17
chin lc t di ln (bottom-up)
kim th cc thnh phn khng gi cc thnh phn khc, sau thm vo cc thnh phn gi cc thnh phn va kim th t s dng cc nt trm nhng li xc nh li tr hn
18
cn kim th li: kim th hi quy thng ti s dng cc b d liu th s dng trong cc giai on trc
20
10
21
Cc k thut kim th
k thut kim th tnh (static testing)
khng thc thi chng trnh
22
11
Kim th tnh
Thanh tra m ngun (code inspection) Chng minh hnh thc Thc thi hnh thc (symbolic execution) nh gi phc tp
McCabe Nejmeh
23
Kim th hp en
Input test data I
e
System
Oe
12
Kim th hp en
Ch cn da vo c t chng trnh
Xy dng d liu th trc khi m ha/lp trnh
Thng pht hin cc li c t yu cu, thit k D dng thc hin Chi ph thp
25
Kim th hp en
Kim th gi tr bin (boundary value analysis) Kim th lp tng ng (equivalence class testing) Kim th ngu nhin (random testing) th nhn-qu (cause-efect graph) Kim th c php
26
13
Kim th gi tr bin
C s
li thng xut hin gn cc gi tr bin ca min d liu
Tp trung phn tch cc gi tr bin ca min d liu xy dng d liu kim th Nguyn tc: kim th cc d liu vo gm
gi tr nh nht gi tr gn k ln hn gi tr nh nht gi tr bnh thng gi tr gn k nh hn gi tr ln nht gi tr ln nht
27
Kim th gi tr bin
28
14
Kim th gi tr bin
Nguyn tc chn d liu th
Nu d liu vo thuc mt khong, chn
2 gi tr bin 4 gi tr = gi tr bin sai s nh nht
29
Kim th gi tr bin
V d (1)
Chng trnh nhn vo ba s thc, kim tra ba s thc c l di ba cnh mt tam gic. Nu l di ba cnh ca mt tam gic, th kim tra xem l tam gic thng, cn, u cng nh kim tra l tam gic nhn, vung hay t.
30
15
Kim th gi tr bin
V d (2) D liu th
1, 1, 2 0, 0, 0 4, 0, 3 1, 2, 3.00001 0.001, 0.001, 0.001 99999, 99999, 99999 3.00001, 3, 3 2.99999, 3, 4 3, 4, 5.00001 3, 4, 5, 6 3 -3, -3, 5
Khng l tam gic Ch mt im Mt cnh bng khng Gn l mt tam gic Tam gic rt nh Tam gic rt ln Tam gic gn u Tam gic gn cn Tam gic gic gn vung Bn gi tr Ch mt gi tr D liu vo rng Gi tr m
31
Kim th lp tng ng
tng
phn hoch min d liu vo thnh cc lp cc d liu c quan h vi nhau mi lp dng kim th mt chc nng, gi l lp tng ng
32
16
Kim th lp tng ng
Ba bc
i vi mi d liu vo, xc nh cc lp tng ng t min d liu vo chn d liu i din cho mi lp tng ng kt hp cc d liu th bi tch -cc ti ra b d liu kim th
33
Kim th lp tng ng
Nguyn tc phn hoch cc lp tng ng
17
Kim th lp tng ng
V d
Bi ton tam gic
Thng Cn u Nhn 6,5,3 6,1,6 4,4,4 -1,2,8 Vung 5,6,10 7,4,4 khng th T 3,4,5 2,2,2 khng th
35
Bi tp
Kim th gi tr bin
Vit mt chng trnh thng k phn tch mt tp cha tn v im ca sinh vin trong mt nm hc. Tp ny cha nhiu nht 100 trng. Mi trng cha tn ca mi sinh vin (20 k t), gii tnh (1 k t) v im ca 5 mn hc (t 0 n 10). Mc ch chng trnh:
tnh dim trung bnh mi sinh vin tnh im trung bnh chung (theo gii tnh et theo mn hc) tnh s sinh vin ln lp (im trung bnh trn 5)
36
18
Bi tp
Kim th lp tng ng
Vit chng trnh dch, trong c cu lnh FOR, c t cu lnh FOR nh sau: Lnh FOR ch chp nhn mt tham s duy nht l bin m. Tn bin khng c s dng qu hai k t khc rng. Sau k hiu = l cn di v cn trn ca bin m. Cc cn trn v cn di l cc s nguyn dng v c t gia t kha TO. Xy dng d liu th kim th cu lnh FOR theo k thut kim th lp tng ng
37
Kim th hp trng
Da vo m ngun/cu trc chng trnh
Xy dng d liu th sau khi m ha/lp trnh
38
19
39
th lung iu khin
th lung iu khin (Control Flow Graph TLK) l th c hng, biu din mt chng trnh
nh: biu din lnh tun t hay khi lnh cung: biu din cc r nhnh mt nh vo v mt nh ra c thm vo biu din im vo v ra ca chng trnh
20
th lung iu khin
V d 1
if x <= 0 then x := -x else x := 1 -x; if x = -1 then x=1 else x := x+1; writeln(x);
41
th lung iu khin
V d 1 (2)
C 4 l trnh
[a, b, d, f, g] [a, b, d, e, g] [a, c, d, f, g] [a, c, d, e, g]
42
21
th lung iu khin
V d 1 (3)
th G1 c th biu din dng biu thc chnh quy: G1 = abdfg + abdeg + acdfg + acdeg Hay n gin: G1 = a(bdf + bde + bdf + bde)g G1 = a(b + c)d(e + f)g
43
th lung iu khin
Biu din cc cu trc
Cu trc tun t: ab
22
th lung iu khin
V d 2
i := 1; found:= false; while (not found) do begin if (a[i] = E) then begin found:= true; s := i; end; i := i + 1; end; G2 = ab(c( + d)eb)*f
45
th lung iu khin
Bi tp 1
V th lung iu khin Xy dng biu thc chnh quy biu din th
if n <= 0 then n := 1-n end; if (n mod 2) = 0 then n := n / 2 else n := 3*n + 1 end ; write(n);
46
23
th lung iu khin
Bi tp 2
V th lung iu khin Xy dng biu thc chnh quy biu din th
read(i); s := 0; while(i <= 3) do begin if a[i] > 0 thens := s + a[i]; i := i + 1; end
47
48
24
25
51
D liu th DT1 = {a=b=1} v DT2 = {a=b=3} tha mn ph tt c cc cung, nhng khng ph tt c cc quyt nh, chng hn DT3 = {a=3, b=2}
Nu (a AND b)
a = b = true a = b = false a = true, b = false a = false, b = true
52
26
53
54
27
55
56
28
58
29