Slides White Box Testing

Embed Size (px)

Citation preview

TRNG I HC CNG NGH

ti:Phng php kim th hp trng (white box testing)

1

Ni dung trnh by

Cc khi nim ca phng phng php kim th hp trng Cc k thut c s dng khi xy dng cc ca kim th theo phng php kim th hp trng u, nhc im ca phng php. Gii php

2

t vn

Bi ton v cht lng phn mm lun c t ra trong mi d n phn mm vi mong mun l ngy cng sn sut ra c nhng phn mm c cht lng tt hn vi chi ph thp hn. Vic m bo cht lng phn mm mm lin quan n rt nhiu yu t nh: chun v quy trnh qun l ca cng ty, mi trng v cng c pht trin, m hnh pht trin phn mm c la chn, k nng ca nhn vin, Xc minh v thm nh l tn gi chung ca cc hot ng m bo cht lng phn mm.3

t vn

Kim th phn mm l mt phn quan trng trong hot ng m bo cht lng phn mm nhm to ra nhng sn phm c cht lng tt, gp phn to nn thnh cng ca cc d n phn mm Cng vic m ha mt chng trnh theo ng thit k l mt trong nhng giai on quan trng trong qu trnh sn xut phn mm. ti: Phng php kim th hp trng l mt trong nhng phng php dng thit k cc ca kim th nhm kim tra xem cc on m chng trnh c vn hnh ng nh thit k hay khng.4

t vn Ni dung chnh ca tiu lun:

Tm hiu v phng php kim th hp trng ang rt ph bin hin nay trong ngnh cng ngh phn mm.

Trn c s kin thc kim th tip thu c s gip cho bn thn to ra nhng sn phm phn mm c cht lng cao hn trong tng lai.

5

Cc khi nimKim th hp trng: kim tra cc on m chng trnh xem n c vn hnh ng nh thit k hay khng.

Kim th hp trng da trn vic xem xt cu trc bn trong ca chng trnh theo cu trc iu khin v hot ng ca chng6

Cc khi nim (tip)

Cc tn gi khc: kim th cu trc (structural testing), kim th hp knh (glass box), kim th r rng (clear box testing). i tng chnh ca kim th hp trng l tp trung vo cu trc bn trong chng trnh v tm ra tt c nhng li bn trong chng trnh. Vic kim tra tp trung ch yu vo: Cu trc chng trnh: Nhng cu lnh v cc nhnh, cc loi ng dn chng trnh. Logic bn trong chng trnh v cu trc d liu. Nhng hnh ng v trng thi bn trong chng trnh.7

Cc khi nim v phng php kim th hp trng Yu cu t ra cho cc ca kim th hp trng t nht phi m bo: Mi con ng c lp trong mt m-un cn c thc hin t nht mt ln Mi rng buc logic cn c thc hin hai pha ng v sai Tt c cc vng lp bin ca n v bin vn hnh phi c thc hin Mi cu trc d liu ni ti c dng m bo tnh hiu lc ca n8

Cc k thut trong phng php kim th hp trng1.2. 3. 4. 5.

th lung Ma trn kim th Kim th iu kin Kim th lung d liu Kim th vng lp

9

1. th lunga)-

Cu trc ca th lung th lung (flow graph) l mt k thut kim th hp trng c Tom McCabe xut nm 1976 th lung c xy dng t th lung iu khin ca chng trnh bng cch gp cc lnh tun t lin tip v lnh r nhnh sau n thnh mt nt, thay cc lnh r nhnh (c lp) hay im hp nht ca cc ng r nhnh bng mt nt.10

-

a) Cu trc ca th lung (tip)

cu trc ca mt th lung bao gm: Mi nt (hnh trn) biu th mt vi (c th l 0) cu lnh th tc. Mi cnh biu din dng iu khin ni hai nt vi nhau. Min l phn mt phng gii hn bi cc cung v nt ca th. Nhng nt biu th s phn nhnh hoc hi nhp ca cc cung c gi l nt v t.

11

a) Cu trc ca th lung (tip)

Cc cu trc lnh c bn ca chng trnh tng ng vi cc cu trc trong th lung:

12

b) phc tp chu trnh

L s o s phc tp logic ca chng trnh. L s cc ng i c lp c bn trong tp cc con ng c lp ca mt chng trnh. L s ng c lp nh nht ph ht cc cnh ca th lung. S o ny l gii hn trn ca s ca kim th cn phi tin hnh m bo rng, tt c cc cu lnh trong chng trnh u c thc hin t nht mt ln.13

b) phc tp chu trnh (tip) phc tp chu trnh ca th lung G c k hiu l V(G) v c th tnh theo bn cch sau: V(G) = s min phng V(G) = E N + 2 V(G) = P 1 V(G) = C + 1

Trong : E l s cnh, N l s nt ca th, P l s nt v t v C l s nt biu th s phn nhnh.

14

c)

V d1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. th lung iu khin i = 1; total_input = total_valid = 0; sum = 0; while(value[i] != -999 && total_input < 100) { total_input++; if(value[i] >= min && value[i] 0) average = sum/total_valid; else average = -999; return average;15

T th lung iu khin ta xy dng c th lung tng ng nh sau:

16

phc tp chu trnh V(G) ca th ny bng 4, l s min phng ca n, hay c th tnh theo cc cng thc khc di y: V(G) = E N + 2 = 10 8 + 2 = 4 V(G) = P 1 = 5 1 = 4 V(G) = C + 1 = 3 + 1 = 4 4 ng c lp c bn tm c ( lp cc ca kim th) t th lung l: ng 1: 1 2 3 4 1; ng 2: 1 2 4 1; ng 3: 1 5 6 8; ng 4: 1 5 7 8.17

Kt lun: thit lp cc ca kim th khi s dng k thut th lung, cn tin hnh theo 5 bc sau:1) 2) 3)

4)5)

T thit k hoc m ngun ca mdun, ta lp th lung iu khin. Xy dng th lung tng ng vi th lung iu khin. Xc nh phc tp chu trnh V(G) ca th lung . Xc nh tp c bn ca cc con ng c lp. Chun b cc ca kim th tng ng mi con ng c bn.

18

2. Ma trn kim th c xy dng da trn th lung. L mt ma trn vung, c kch thc bng s cc nt ca th lung: + Mi dng/ct ng vi tn mt nt. + Mi c ghi s 1 nu c mt cung ni nt dng n nt ct. Dng tnh phc tp chu trnh: cng s 1 trn mi dng ri tr i 1, sau ly tng cc dng cng thm 1 ta c kt qu.

Ma trn Ak: gi tr ghi trong mi cho s cc con ng c k cung i t nt dng ti nt ct.19

2. Ma trn kim th (tip) ma trn kim th tr thnh mt cng c mnh, ngi ta xc nh thm cc trng s sau y cho cc cung cua ma trn kim th: + Xc xut cung c tin hnh. + Thi gian x l ca ng i qua cung . + B nh yu cu ca ng i qua cung . + Ngun lc i hi ca ng i qua cung . Vi nhng tham s ny, cc ma trn kim th gip ta la chn nhng ng i c bn c trng s quan trng thit lp cc ca kim th.20

2. Ma trn kim th (tip)Sau y l 2 ma trn A v A4 th kim th ca th lung xt trong phn (1):

21

22

3. Kim th iu kinNgi ta xut ra 2 chin lc kim th iu kin: Kim th r nhnh (Branch testing). Kim th min (Domain testing).

a)

Kim th r nhnhL chin lc tp trung vo kim th tng iu kin r nhnh c trong chng trnh. m bo kim tra mi nhnh t nht mt ln. Xc nhn tnh ng n ca tt c cc r nhnh trong m lnh v khng nh khng c nhnh no dn ti mt hnh vi bt thng ca ng 23 dng.

a) Kim th r nhnh (tip)

V d: kim th on m sau:1: function hello($sDate, $sTime) { 2: echo Hello World!
; 3: if ($sDate == "01-01-2010" && $sTime == "00:00:00") { 4: echo "Happy New Year
"; 5: } 6: echo The date is: $sDate >; 7: echo The time is: $sTime
; 8: }

24

b)

Chin lc kim th BRO

Nhn xt: Khi mt biu thc iu kin phc hp gm n iu kin n m s n ln, th vic tin hnh y 2n ca kim th l rt kh thc hin. L mt k thut lm gim s ca kim th cn tin hnh trong kim th iu kin. BRO dng n rng buc iu kin cho iu kin kim th. T tng kim th ca chin lc BRO l cho php th nhy cm sai ca biu thc bool.25

b)

Chin lc kim th BRO (tip)

Chng hn: 1) Xt iu kin C l mt bin bool, khi rng buc u ra ca C l mt cp gi tr t hoc f. V d: Xt iu kin C = (A and B) vi A v B l 2 bin bool. Chin lc kim th BRO i hi rng, tp ba rng buc u ra {(t, t), (t, f), (f, t)} u c ph bi cc thi hnh ca C, cn (f, f) l tha.

Nu C khng ng n do t nht mt php ton bool sai, th trong 3 cp trn c t nht mt cp lm C tht bi. 26

2) Xt iu kin n C = (A = B) vi A v B l biu thc s hc. Khi rng buc ca C l mt trong ba quan h: , = 2) Xt iu kin C l hi ca hai biu thc bool C = (A and (B = E)). Khi cc rng buc ca C l cc cp (t, t), (t, f) v (f, t) ; vi (B = E), ta c gi tr t tng ng vi =, v gi tr f tng ng vi . Tng t nh trng hp trn xt i vi iu kin hai bin bool c rng buc u ra l {(t, t), (t, f), (f, t)}, khi ta c tp cc rng buc ca C trong trng hp ny phi gm 4 phn t: {(t, =), (t, ), (f, =)}. 27

Kt lun: Chin lc kim th iu kin c hai thun li: Th 1, o mc bao ph ca mt iu kin l n gin. Th 2, bao ph kim th ca iu kin trong mt chng trnh cho ta cc hng dn to ra cc ca kim th y cho chng trnh.28

4. Kim th lung d liu L kim th tuyn chn cc on ng ca chng trnh tng ng vi vic nh v cc bin c xc nh (nh ngha) v s dng trong chng trnh. Cc khi nim lin quan: V tr xc nh bin: l ni m n c gn mt gi tr c th. V tr s dng bin l v tr m gi tr ca bin c s dng trong chng trnh. V tr s dng bin tnh ton. Bin c s dng nh mt v t xc nh 29 ng i thc thi tip tc chng trnh.

4. Kim th lung d liu (tip)Cp xc nh v s dng bin (DEF USE) l mt cp v tr m ti bin c xc nh v c s dng, m c th lin kt vi nhau bng mt ng i tha mn iu kin l bin c xt khng c nh ngha li. Mc ch ca phng php ny l nhm kim tra tt c cc cp DEF USE xut hin trong chng trnh.

Vi mi cu lnh S, ta nh ngha:DEF(S) = {X | cu lnh S cha nh ngha ca X USE(S) = {X | cu lnh S cha mt s dng X}30

4. Kim th lung d liu (tip)Mt dy chuyn s dng X c k hiu l DU = [X, S, S], vi X trong DEF(S) v trong USE(S), ng thi nh ngha X trong S vn cn ng trong S. Yu cu ca phng php kim th lung d liu l tt c cc dy chuyn DU u c kim th t nht mt ln. Phng php ny thc hin nhm pht hin ra cc li tim nng nh: dk, ~u, ~k, ku, dd, kk, d~, trong : k (killed) l bin bi hy, ~u: data c s dng m khng nh ngha, ~k: data b hy trc khi nh ngha, d~: c nh ngha sau cng.31

5. Kim th vng lpl mt k thut kim th hp trng tp trung hon ton vo tnh hp l ca kt cu vng lp. Ta phn cc vng lp thnh 4 lp khc nhau:

32

5. Kim th vng lp (tip) Vng lp n: ta xt vng lp c ti a n vng, ta s kim th cc TH sau: B qua ton b vng lp. Ch qua 1 vng lp. Qua 2 vng lp. Qua vng lp m vi m < n. Qua vng lp n 1, n, n+1.

33

5. Kim th vng lp (tip) Vng lp lng: ta kim th t trong ra, theo phng php sau: Bt u t vng lp bn trong nht v t tt c cc vng lp khc vo gi tr ti thiu. Tin hnh kim th vng lp n cho vng lp bn trong nht. B sung cc ca kim th khc v vic vt cn hay gi tr b loi ra. Tin dn ra ngoi, thc hin php kim th cho cc vng lp tip, nhng gi tt c cc vng lp bn ngoi hn gi tr ti thiu v cc vng lp bn trong gi tr in hnh. Tip tc cho ti khi mi vng lp c kim th ht.

34

5. Kim th vng lp (tip) Vng lp ni tip Ging vng lp n nu cc bin iu khin c lp. Ngc li, xem xt nh vng lp lng. Vng lp phi cu trc: khng test, khi gp phi loi vng lp ny th nn thit k li.35

u, nhc im ca phng php kim th hp trng u im: Phng php kim th hp trng cho ta s lng ca kim th l hu hn. Phng php kim th hp trng c kh nng tm v pht hin ra li l rt cao. Nhc im: S dng phng php ny rt d ri 36 vo by ca ngi m ha.

Gii php

Kt hp kim th hp trng vi kim th hp en. C th vit cc ca kim th hp en trc sau s dng phng php kim th hp trng loi b i nhng ca kim th khng cn thit v b sung nhng ca cn thiu. Kim th hp en thng c thc hin sau khi kim th hp trng hon thnh.

37

Mt s ti liu tham kho1. 2. 3.

Nguyn Vn V - Nguyn Vit H, Gio trnh k ngh phn mm, NXB Gio dc Vit nam, 2009 ftp://ftp.csc.ncsu.edu/pub/tech/2006/TR-2006-22.pdf http://agile.csc.ncsu.edu/SEMaterials/WhiteBox.pdf

38

Xin chn thnh cm n

39