Bao Dam Chat Luong Pm

Embed Size (px)

Citation preview

  • 8/6/2019 Bao Dam Chat Luong Pm

    1/202

    1

    TRNG I HC BCH KHOA H NIKHOA CNG NGH THNG TIN

    ----------o0o---------

    Thc Bnh Cng

    Bi ging in tmn hc

    KIM THV BO M

    CHT LNG PHN MM

  • 8/6/2019 Bao Dam Chat Luong Pm

    2/202

  • 8/6/2019 Bao Dam Chat Luong Pm

    3/202

    3

    CHNG 7: KIM THPHN MM TRONG CNG NGHIP .....................................957.1. QUY TRNH KIM TRA PHN MM C BN...............................................957.2. M HNH KIM TRA PHN MM TMM (TESTING MATURITYMODEL)............................................................................................................................997.3. Cc cng c kim th (Test tools).......................................................................1057.3.1. TI SAO PHI DNG TEST TOOL ................................................................105

    7.3.2. KHI QUT V KTT .....................................................................................1067.3.3. GII THIU CNG C KTT: QUICKTEST PROFESSIONAL...................1087.3.4. Kim thn v vi JUnit ...................................................................................112

    CHNG 8: C LNG GI THNH PHN MM.....................................................1298.1. Gii thiu.............................................................................................................1298.2. Nng sut phn mn ............................................................................................1318.3. K thut c lng..............................................................................................1358.4. M hnh ho chi ph thut ton ............................................................................1378.5. M hnh COCOMO.............................................................................................1398.6. M hnh chi ph gii thut trong k hoch d n.................................................1478.7. Nhn vin v khong thi gian ca d n ...........................................................149

    CHNG 9: QUN L CHT LNG PHN MM .......................................................1539.1. Cht lng qu trnh v cht lng sn phm:....................................................1539.2. Cht lng qu trnh v cht lng sn phm:....................................................1559.3. m bo cht lng v cc chun cht lng.....................................................1569.4. Lp k hoch cht lng......................................................................................1639.5. Kim sot cht lng...........................................................................................1649.6. CMM/CMMi .......................................................................................................1659.6.2. Cu trc ca CMM ..............................................................................................1669.6.3. So snh gia CMM v CMMi.............................................................................172

    CHNG 10: QUN L CU HNH....................................................................................17410.1. Gii thiu.............................................................................................................174

    10.2. K hoch qun tr cu hnh ..................................................................................17611.2. Qun l vic thay i...........................................................................................17911.3. Qun l phin bn v bn pht hnh....................................................................18311.4. Qun l bn pht hnh .........................................................................................18611.5. Xy dng h thng ..............................................................................................18911.6. Cc cng c CASE cho qun tr cu hnh ...........................................................190

    PH LC- CC CU HI N TP......................................................................................1971. Cht lng v m bo cht lng phn mm............................................................1972. Cc o c trng cht lng phn mm.................................................................1983. Kim th phn mm ....................................................................................................1994. Qun l cu hnh phn mm........................................................................................201

    TI LIU THAM KHO.........................................................................................................202

  • 8/6/2019 Bao Dam Chat Luong Pm

    4/202

    4

    MU

    Qun l cht lng phn mm l vn khng mi nhng theo mt snh gi l cnyu ca cc cng ty phn mm Vit Nam. Mt scng ty trong nc hin t cc chunquc tCMM/CMMI trong nng cao nng lc v qun l cht lng phn mm, song chm c trn u ngn tay, v hin cng chgi gn trong vi cng ty gia cng cho thtrng nc ngoi.

    Lu nay, ni n cht lng phn mm, khng t ngi nghngay n vn l xcnh xem phn mm c pht sinh li hay khng, c "chy" ng nhyu cu hay khngv cui cng thng quy vvai tr ca hotng kim thphn mm (testing) nhl hotng chu trch nhim chnh.

    Vi quan im ca khch hng, iu ny c thng, h khng cn quan tm ni tnhca hotng pht trin phn mm, iu h cn quan tm l liu sn phm cui cng giaocho h c ng hn hay khng v lm vic ng nhh mun hay khng.

    Tuy nhin theo quan im ca ngi pht trin phn mm, thc tcho thy hotngkim thphn mm l quan trng, nhng khng m bo sn phm sc honthnh ng hn v ng yu cu. Kim thsau cng pht hin li l iu tt nhin phi

    lm, nhng trong rt nhiu trng hp, iu thng qu trv sphi mt rt nhiuthi gian sa cha.

    Thc tcho thy, m bo c hai tiu ch "n gin" trn ca khch hng, i hitchc khng chvn hnh tt khu kim thphn mm, m phi tchc v duy tr shotng nhp nhng ca c mt h thng cc cng vic lin quan n mt dn phnmm, ty xut hin mt khi nim c tn l "h thng qun l cht lng phn mm"bao gm cc quy trnh c thc thi xuyn sut chu k pht trin ca dn phn mmsong hnh cng vic kim thphn mm nhm m bo cht lng cho phn mm khichuyn giao cho khch hng.

    Vi thc t trn, l nhng ngi lm cng tc o to mong mun cung cp cho sinhvin ngnh cng ngh phn mm - nhng ngi sl ngun nhn lc ch yu trong tng

    lai ca cc doanh nghip phn mm nhng khi nim, kin thc v knng cbn banu vkim thphn mm, vqui trnh qun l cht lng, m bo cht lng phn mmthng qua gio trnh (ni b) Kim th v m bo cht lng phn mm (SoftwareTesting and Quality Assurrance).

    Gio trnh ny vi mc tiu cung cp cho sinh vin cng ngh phn mm c c kinthc v knng vvic kim thphn mm, cc cng on kim th, cc loi kim th,cng c kim th , xy dng ti liu kim th, d liu kim th. V xy qui trnh mbo cht lng phn mm, gii thiu tng quan vh thng qun l cht lng, nguyntc, k thut m bo rng dn phn mm schuyn giao cho khch hng nghn, ng yu cu.

    y l gio trnh s khi, cn nhiu vn cha i su phn tch v thc hin, cn

    mang tnh l thuyt nhiu. Tc gi hy vng bn c ng gp kin phin bn 2 png tt hn yu cu ca nhiu c gi, ca sinh vin v kc nhng ngi ang cng tcti cc phng pht trin v m bo cht lng phn mm.

  • 8/6/2019 Bao Dam Chat Luong Pm

    5/202

    5

    CHNG 1: CC KHI NIM

    1.1. Cc nh ngha

    Li phn mm l chuyn hin nhin ca cuc sng. Chng ta d c gng n mc no

    th thc t l ngay c nhng lp trnh vin xut sc nht cng khng c th lc no cngvit c nhng on m khng c li. Tnh trung bnh, ngay c mt lp trnh vin loi ttth cng c t 1 n 3 li trn 100 dng lnh. Ngi ta c lng rng vic kim tra tmra cc li ny chim phn na khi lng cng vic phi lm c c mt phn mmhot ng c. (Software Testing Techniques, Second Edition, by Boris Beizer, Van

    Nostrand Reinhold, 1990, ISBN 1850328803).

    Trn y l mt nhn nh v cng vic kim nghim (testing) chng trnh.

    Tht vy, ngy nay cng ngy cc chng trnh (cc phn mm) cng tr ln phctp v s. Vic to ra mt sn phm c th bn c trn th trng i hi snlc ca hng chc, hng trm thm ch hng ngn nhn vin. S lng dng m lnn hng triu. V to ra mt sn phm th khng phi ch do mt t chc ng ra

    lm tu n cui, m i hi slin kt, tch hp ca rt nhiu sn phm, thvinlp trnh, ca nhiu t chc khc nhau T i hi vic kim nghim phnmm cng ngy cng trnn rt quan trng v rt phc tp.

    Song song vi spht trin cc cng ngh lp trnh, cc ngn nglp trnh th cccng ngh v k thut kim nghim phn mm ngy cng pht trin v mang tnhkhoa hc. Bi tiu lun ny vi mc ch l tp hp, nghin cu, phn tch cc kthut, cc cng ngh kim nghim phn mm ang c sdng v pht trin hinnay.

    1.1.1. nh ngha:

    Vic kim nghim l qu trnh thc thi mt chng trnh vi mc ch l tm ra li.(Glen Myers)

    Gii thch theo mc ch:

    Vic thnghim hin nhin l ni n cc li (error), sai st (fault), hng hc (failure)hoc cc hu qu (incident). Mt php th l mt cch chy phn mm theo cctrng hp thnghim vi mc tiu l:

    Tm ra sai st.

    Gii thch s hot ng chnh xc.

    (Paul Jorgensen)

    1.1.2. Cc thut ng:

    Li (Error):

    L cc li lm do con ngi gy ra.

    Sai st (Fault):

    Sai st gy ra li. C th phn loi nh sau:

  • 8/6/2019 Bao Dam Chat Luong Pm

    6/202

    6

    Sai st do a ra d tha chng ta a mt vi th khng chnhxc vo m t yu cu phn mm.

    Sai st do b st Ngi thit k c th gy ra sai st do b st, ktqu l thiu mt s phn ng ra phi c trong m t yu cu phnmm.

    Hng hc (Failure): Xy ra khi sai st c thc thi. (Khi thc thi chng trnh ti cc ni

    b sai th s xy ra trng thi hng hc).

    Kt qu khng mong i, hu qu (Incident)

    L nhng kt qu do sai st em n. Hu qu l cc triu chng linkt vi mt hng hc v bo hiu cho ngi dng bit s xut hin cahng hc.

    Trng hp th (Test case)

    Trng hp th c lin kt tng ng vi hot ng ca chngtrnh. Mt trng hp th bao mt mt tp cc gi tru vo v mtdanh sch cc kt quu ra mong mun.

    Thm tra (Verification)

    Thm tra l tin trnh nhm xc nh u ra ca mt cng on trongvic pht trin phn mm ph hp vi cng on trc .

    Xc nhn (Validation)

    Xc nhn l tin trnh nhm ch ra ton h thng pht trin xong phhp vi ti liu m t yu cu.

    So snh gia Thm tra v Xc nhn:

    Thm tra: thm tra quan tm n vic ngn chn li gia cc cng on.

    Xc nhn: xc nhn quan tm n sn phm cui cng khng cn li.

    1.2. Vng i ca vic kim nghim (testing life cycle):

    Bng di y m t cc cng on pht trin mt phn mm v cch khc phc li.

    Li c th xy ra trong tt c cc cng on t M t yu cu, Thit k n Lptrnh.

    T cng on ny chuyn sang cng on khc thng ny sinh cc sai st (do d thahoc thiu theo m t yu cu).

    n cng on kim nghim chng ta s pht hin ra cc hu qu (cc kt qu khng mongmun).

    Qu trnh sa li bao gm phn loi li, c lp li (tm ra nguyn nhn v ni gy li), ra gii php sa li v cui cng l khc phc li.

  • 8/6/2019 Bao Dam Chat Luong Pm

    7/202

    7

    1.3. Phn loi kim nghim:

    C 2 mc phn loi:

    Mt l phn bit theo mc chi tit ca cc b phn hp thnh phn mm.

    Mc kim tra n v (Unit)

    Mc kim tra h thng (System)

    Mc kim tra tch hp (Integration) Cch phn loi khc l da trn phng php th nghim (thng dng mc

    kim tra n v)

    Kim nghim hp en (Black box testing) dng kim tra chc nng.

    Kim nghim hp trng (White box testing) dng kim tra cu trc.

    Hnh bn di biu din s tng quan ca cc tiu ch cht lng phn mm, mc chi tit n v v phng php kim nghim

    M t yu cu

    Thit k

    Lp trnh

    Kim nghim

    C lp li

    Phn loi li

    Li

    Sai st

    Sai st

    Sai st

    Li

    Li

    Hu qu

    Sa li

    Vng i ca kim nghim

    Gii php sa li

  • 8/6/2019 Bao Dam Chat Luong Pm

    8/202

    8

    1.4. Stng quan gia cc cng on xy dng phn mm v loi kimnghim: M hnh chV

    M hnh ny nhm gii thch s tng quan gia cc cng on xy dng phn mm vcc loi kim nghim. mi cng on xy dng phn mm s tng ng vi mt loikim nghim v cn c mt h skim nghim tng ng c thnh lp phc v chovic kim nghim.

    V d:

    - Cng on: Yu cu phn mm(requiements); Loi kim nghim: Kim nghimchp nhn (acceptance test); H s: h skim nghim chp nhn (acceptance testspec).

    - Cng on: M t chi tit phn mm (specification); Loi kim nghim: Kimnghim h thng(system test); H s: h s kim nghim h thng (system testspec).

    - Cng on: H skin trc (architecture spec); Loi kim nghim: Kim nghim

    tch hp (integration test); H s: h s kim nghim tch hp (integration testspec).

    - Cng on: Thit k chi tit (detailed design); Loi kim nghim: Kim nghimkhi (module test); H s: h skim nghim khi (module test spec).

    - Cng on: Vit m (implementation code); Loi kim nghim: Kim nghimn v (unit test); H s: h skim nghim n v (unit test spec).

    n v (Unit)Thnh phn (Module)

    Tch hp (Integration)

    H thng (System)

    Mc chi tit

    Phng php

    White-box Black-box

    Chc nng

    Thn thin ngi dng

    Kh nng thi hnh

    Thit thc

    n nh

    An ton

    c im

  • 8/6/2019 Bao Dam Chat Luong Pm

    9/202

    9

    1.5. Slt cc k thut v cng on kim nghim:

    Cc k thut v cng on kim nghim c th chia nh sau:

    Kim nghim tm hp: kim nghim cc b phn ring r.

    Kim nghim hp trng (White box testing)

    Kim nghim hp en (Black box testing)

    Kim nghim tm rng:

    Kim nghim b phn (Module testing): kim nhim mt b phn ringr.

    Kim nghim tch hp (Itegration testing): tch hp cc b phn v h

    thng con. Kim nghim h thng (System testing): kim nghim ton b h thng.

    Kim nghim chp nhn (Acceptance testing): thc hin bi khchhng.

    Sai st

    requiements

    specification

    architecturespec

    detailed design

    implementationcode

    acceptance test

    system test

    integration test

    module test

    unit test

    acceptance test spec

    system test spec

    integration test spec

    module test spec

    unit test spec

  • 8/6/2019 Bao Dam Chat Luong Pm

    10/202

    10

    1.5.1. Cc loi kim nghim tm hp:

    Cc loi kim nghim ny c thc hin kim nghim n cc n v (unit) hoc cckhi chc nng (module).

    a. Kim nghim hp trng (white-box testing)

    Cn gi l kim nghim cu trc. Kim nghim theo cch ny l loi kim nghim s dngcc thng tin v cu trc bn trong ca ng dng. Vic kim nghim ny da trn qu trnhthc hin xy dng phn mm.

    Tiu chun ca kim nghim hp trng phi p ng cc yu cu nh sau:

    Bao ph dng lnh: mi dng lnh t nht phi c thc thi 1 ln

    Bao ph nhnh: mi nhnh trong siu khin (control graph) phi c iqua mt ln.

    Bao phng: tt c cc ng (path) tim khi to n im cui cngtrong s dng iu khin phi c i qua.

    b. Kim nghim hp en (black-box testing)

    Cn gi l kim nghim chc nng. Vic kim nghim ny c thc hin m khng cnquan tm n cc thit k v vit m ca chng trnh. Kim nghim theo cch ny chquan tm n chc nng ra ca chng trnh. V vy kim nghim loi ny ch davo bn m t chc nng ca chng trnh, xem chng trnh c thc s cung cp ngchc nng m t trong bn chc nng hay khng m thi.

    Kim nghim hp en da vo cc nh ngha v chc nng ca chng trnh. Cc trnghp th nghim (test case) sc to ra da nhiu vo bn m t chc nng ch khngphi da vo cu trc ca chng trnh.

    c. Vn kim nghim ti bin:

    Kim nghim bin (boundary) l vn c t ra trong c hai loi kim nghim hp env hp trng. L do l do li thng xy ra ti vng ny.

    V d:

    if x > y then S1 else S2

    Vi iu kin bao ph, ch cn 2 trung hp th lx>y vxy, x

  • 8/6/2019 Bao Dam Chat Luong Pm

    11/202

    11

    a. Kim nghim Module (Module testing)

    Mc ch: xc minh module a ra c xy dng ng hay cha?

    Vn t ra: gi s module I s dng cc module H, K. Nhng cc module H v K chasn sng. Vy cch no kim tra module I mt cch c lp?

    Gii php ra l gi lp mi trng ca module H v K.

    Thng thng mt module c th gi mt tc v (hay mt tin trnh) khng phi ca n,truy cp cc cu trc d liu khng phi l cc b, hay c dng bi mt module khc.

    Hnh sau m t module c t trong mi trng th nghim.

    Ghi ch: Driver l module gi thc thi lm cho module cn kim tra hot ng, n gi lpcc module khc s s dng module ny. Cc tp d liu chia s m cc module khc thitlp trong thc t cng c thit lp drive. Stub l module gi lp cc module cmodule ang kim tra s dng.

    b. Kim nghim tch hp:L cch kim nghimbng cch tch hp vo h thng tng module mt v kim tra.

    u im:

    D dng tm ra cc li vo ngay giai on u.

    D dng khoanh vng cc li (tch hp n modules, sau n + 1modules).

    Gim vic s dng cc stub v Driver

    C th thc him kim nghim tch hp theo c 2 cch bottom-up v top-down ty thucvo mi quan h s dng ln nhau gia cc module.

    c. Kim nghim hthng:

    Bao gm mt lot cc kim nghim nhm xc minh ton b cc thnh phn ca h thngc tch hp mt cch ng n.

    PROCEDUREUNDER TEST DRIVERSTUB

    CALL CALL

    ACCESS TO NONLOCAL VARIABLES

  • 8/6/2019 Bao Dam Chat Luong Pm

    12/202

    12

    Mc ch ca kim nghim h thng l m bo ton b h thng hot ng nh mkhch hng mong mun.

    Bao gm cc loi kim nghim sau:

    Kim nghim chc nng (Function testing)

    Kim tra h thng sau khi tch hp c hot ng ng chc nng viyu cu t ra trong bn m t yu cu hay khng.

    V d: vi h thng x l vn bn th kim tra cc chc nng to tiliu, sa ti liu, xo ti liu c hot ng hay khng.

    Kim nghim hiu sut (Perfomance testing)

    Kim nghim mc p ng (stress testing)

    Thc thi h thng vi gi thit l cc ti nguyn h thng yu cukhng p ng c v cht lng, n nh v s lng.

    Kim nghim cu hnh (configuration tessting)

    Phn tch h thng vi cc thit lp cu hnh khc nhau.

    Kim nghim n nh (robustness tessting)

    Kim nghim di cc iu kin khng mong i v d nh ngidng g lnh sai, ngun in b ngt.

    Kim nghim hi phc (recovery testing)

    Ch ra cc kt qu tr v khi xy ra li, mt d liu, thit b, dchv hoc xo cc d liu h thng v xem kh nng phc hi can.

    Kim nghim qu ti (overload testing)

    nh gi h thng khi n vt qua gii hn cho php. V d: mt hthng giao tc (transaction) c yu cu thc thi 20 giao tc/giy.Khi s kim tra nu 30 giao tc/giy th nh th no?

    Kim nghim cht lng (quality testing)

    nh gi s tin tng, vn duy tu, tnh sn sng ca h thng.Bao gm c vic tnh ton thi gian trung bnh h thng s b hngv thi gian trung bnh khc phc.

    Kim nghim ci t (Installation testing)

    Ngi dng s dng cc chc nng ca h thng v ghi li cc liti v tr s dng tht s.

    V d: mt h thng c thit k lm vic trn tu thy phim bo khng bnh hng g bi iu kin thi tit khc nhauhoc do s di chuyn ca tu.

    d. Kim nghim chp nhn

    Nhm m bo vic ngi dng c c h thng m h yu cu. Vic kim nghim nyhon thnh bi ngi dng ph thuc vo cc hiu bit ca h vo cc yu cu.

  • 8/6/2019 Bao Dam Chat Luong Pm

    13/202

    13

    CHNG 2: KIM CHNG V XC NHN (V & V )

    2.1. Lp k hoch V&V (Verification and validation planning)

    2.2. Kim tra phn mm (Software inspections)

    2.3. Phn tch tnh tng (Automated static analysis)2.4. Pht trin phn mm phng sch (Cleanroom software development)

    2.1. Kim chng v hp l ho

    Kim thphn mm l mt yu t trong chim rng hn thng c thamkho ti nhvn kim chng v hp l ho (V&V). Kim chng ni ti mt tpcc hnh ng m bo rng phn mm ci t ng cho mt chc nng c bit.Hp l ho ni ti mt tp cc hot ng khc m bo rng phn mm c xydng li theo yu cu ca khch hng. Bochm pht biu iu ny theo cch khc:

    Kim chng: Chng ta c lm ra sn phm ng khng?

    Hp l ho: Chng ta c lm ra ng sn phm khng?

    nh ngha v V&V bao qut nhiu hot ng ta tham kho ti nhvic m bocht lng phn mm (SQA).

    Cc phng php k ngh phn mm cung cp nn tng xy dng nn cht lng.Cc phng php phn tch, thit k v thc hin (m ho) lm nng cao cht lngbng cch a ra nhng k thut thng nht v kt qu dkin c. Cc cuc hpxt duyt k thut chnh thc (tho trnh) gip m bo cht lng ca sn phmc to ra nhh qu ca tng bc k ngh phn mm. Qua ton b tin trnhny, vic o c v kim sot c p dng cho mi phn tca cu hnh phn mm.

    Cc chun v th tc gip m bo tnh thng nht v tin trnh SQA chnh thcbuc phi thi hnh trit l cht lng ton b .

    Vic kim thcung cp mt thnh lu cui cng c th thm nh v cht lng,li c thc pht hin ra mt cch thc t hn.

    Nhng khng nn coi kim thnhmt tm li an ton. Nhngi ta vn ni, Bn khng th kim thc cht lng. Nu n khng sn c trc khi bn bt ukim thth n s chng c khi bn kt thc kim th. Cht lng c t hp votrong phn mm trong ton b tin trnh k ngh phn mm. Vic p dng ng ccphng php v cng c, cc cuc hp xt duyt k thut chnh thc v vic qun lvng chc cng cch o c tt c dn ti cht lng c xc nhn trong khi kimth.

  • 8/6/2019 Bao Dam Chat Luong Pm

    14/202

    14

    Hnh 2.1 t n cht lng phn mm

    Miller k li vic kim thphn mm vm bo cht lng bng cch ni rngng cnn tng ca vic kim thchng trnh l xc nhn cht lng phnmm bng nhng phng php c thc p dng mt cch kinh t v hiu qucho c cc h thng quy m ln v nh.

    iu quan trng cn lu rng vic kim chng v hp l ho bao gm mt phm virng cc hot ng SQA c cha c hp xt duyt chnh thc, kim ton cht lngv cu hnh, iu phi hiu nng, m phng, nghin cu kh thi, xt duyt ti liu, xtduyt csd liu, phn tch thut ton, kim thpht trin, kim thcht lng,kim thci t. Mc du vic kim thng mt vai tr cc k quan trng trongV&V, nhiu hot ng khc cng cn cn ti.

    2.1.1. T chc vic kim thphn mm

    Vi mi dn phn mm, c mt mu thun c hu v li ch xut hin ngay khivic kim thbt u. Ngi xy phn mm by gic yu cu kim thphnmm. iu ny bn thn n dng nhv hi; sau rt, ai bit c chng trnh khn l ngi lm ra n? Nhng khng may, cng nhng ngi pht trin ny li cmi quan tm chng minh rng chng trnh l khng c li, rng n lm vic ngtheo yu cu khch hng, rng n sc hon tt theo lch biu v trong phm vingn sch. Mt trong nhng mi quan tm ny li lm gim bt vic tm ra li trongton b tin trnh kim th.

    Theo quan im tm l, vic phn tch v thit k phn mm (cng vi m ho) lnhim vxy dng. Ngi k sphn mm to ra mt chng trnh my tnh, ti liuv n v cc cu trc d liu c lin quan. Ging nhbt k ngi xy dng no,ngi k sphn mm tho v dinh th c xy dng v nhn ngvc vo bt

  • 8/6/2019 Bao Dam Chat Luong Pm

    15/202

    15

    k ai nh lm sp n. Khi vic kim thbt u, c mt n lc tinh vi, dt khot p v ci ngi k sphn mm xy dng. Theo quan im ca ngi xydng, vic kim thc thc coi nh(v tm l) ctnh ph hoi. Cho nn ngixy dng d dt cp ti vic kim th thit k v thc hin s chng t rngchng trnh lm vic, thay v pht hin li. iu khng may li s hin hu. V nungi k sphn mm khng tm ra chng th khch hng s tm ra.

    Thng c mt s nhn thc sai c thc suy din sai lc t tho lun trn: (1)ngi pht trin phn mm khng nn tin hnh kim th; (2) phn mm nn ctung qua tng cho ngi l lm vic kim thmt cch tn bo; (3) ngi kimthnn tham gia vo dn ch khi bc kim thsp sa bt u. Tng pht biuny u khng ng.

    Ngi pht biu phn mm bao gicng c trch nhim vi vic kim thring ccn v (m un) chng trnh, m bo rng mi m un thc hin ng chcnng n c thit k. Trong nhiu trng hp, ngi pht trin cng tin hnhc kim th tch hp - bc kim thdn n vic xy dng (v kim th) ton bcu trc chng trnh. Ch sau khi kin trc phn mm hon tt th nhm kim thc lp mi tham gia vo.

    Vai tr ca nhm kim thc lp (ITG) l loi b vn c hu lin quan ti vic ngi xy dng kim thnhng ci anh ta xy dng ra. Vic kim thc lploi b xung khc li ch nu khng c nhm th c th hin hu. Cui cng nhnstrong nhm kim thc lp c tr tin tm ra li.

    Tuy nhin, ngi pht trin phn mm khng chuyn giao chng trnh cho ITG ribi. Ngi pht trin v ITE lm vic cht ch trong ton b dn phn mm m bo rng nhng kim thk lng sc tin hnh. Trong khi tin hnh kimth, ngi pht trin phi c sn sa cha li pht hin ra.

    ITG l mt phn ca nhm dn pht trin phn mm theo ngha l n tham dtrong tin trnh c t v vn cn tham d(lp k hoch v xc nh cc th tc kimth) trong ton b dn ln. Tuy nhin, trong nhiu trng hp ITG bo co cho tchc m bo cht lng phn mm, do t ti mt mc c lp c th khngc c nu n l mt phn ca t chc pht trin phn mm.

    2.1.2. Chin lc kim thphn mm

    Tin trnh k ngh phn mm c thc xt theo vng xon c, nhc minhho trong Hnh 2.2. Ban u, k ngh phn mm xc nh vai tr ca phn mm va ti vic phn tch yu cu phn mm, ch thit lp nn lnh vc thng tin, chcnng, hnh vi, hiu nng, rng buc v tiu chun hp l cho phn mm. i vo trongvng xon c, chng ta ti thit k v cui cng ti m ho. xy dng phn mmmy tnh, chng ta i dc theo ng xon c, mi ln mc tru tng li gimdn.

    Mt chin lc cho kim thphn mm cng c th xem xt bng cch i theo ngxon c ca Hnh 2.2 ra ngoi. Vic kim thn v bt u ti tm xoy ca xon cv tp chung vo cc n v ca phn mm khi c ci t trong chng trnh gc.Vic kim th tin trin bng cch i ra theo ng xon c ti kim th tch hp,ni tp trung vo thit k v vic xy dng kin trc phn mm. i thm mt vngxoy na trn ng xon c chng ta gp kim thhp l, ni cc yu cu, c

  • 8/6/2019 Bao Dam Chat Luong Pm

    16/202

    16

    thit lp nhmt phn ca vic phn tch yu cu phn mm, c hp l ho theophn mm c xy dng. Cui cng chng ta ti kim thh thng, ni phnmm v cc phn th thng khc c kim thnhmt ton b. kim thphn mm my tnh, chng ta theo ng xoy mrng dn phm vi kim thmtln.

    Hnh 2.3 Cc bc kim th phn mm

    Xem xt tin trnh ny theo quan im th tc v vic kim thbn trong hon

    cnh k ngh phn mm thc ti l mt chui gm ba bc c thc hin tun tnhau. Cc bc ny c v trong Hnh 2.3. Ban u, vic kim th tp trung votng m un ring bit, m bo rng n vn hnh ng n nhmt n v. Do mi c tn kim thn v. Kim thn v dng rt nhiu cc k thut kim thhp trng, thcc ng c bit trong cu trc iu khin ca mt m un mbo bao qut y v pht hin ra li ti a. Tip cc m un phi c lpghp hay tch hp li to nn b trnh phn mm hon chnh. Vic kim th tchhp cp ti cc vn c lin quan ti cc vn kim chng v xy dng chngtrnh. Cc k thut thit k kim thhp en chim i a s trong vic tch hp,mc du mt s gii hn cc kim thhp trng cng c th dc dng m bobao qut a s cc ng iu khin.

    Sau khi phn mm c tch hp (c xy dng), mt tp cc php kim thcao

    cp sc tin hnh. Cc tiu chun hp l (c thit lp trong phn tch yu cu)cng phi c kim th. Vic kim thhp la ra sm bo cui cng rngphn mm p ng cho tt c cc yu cu chc nng, hnh vi v shon thin. Cck thut kim thhp en c dng ch yu trong vic hp l ho ny.

    Bc kim thcp cao cui cng ri ra ngoi phm vi ca k ngh phn mm vri vo hon cnh rng hn ca k ngh h thng my tnh. Phn mm, mt khi chp l ho, phi c t hp vi cc phn th thng khc (nhphn cng, conngi, c sd liu). Kim thh thng kim chng li rng tt c cc yu t c

  • 8/6/2019 Bao Dam Chat Luong Pm

    17/202

    17

    khp ng vi nhau khng v rng chc nng/ hon thin h thng ton b tc.

    2.1.3. Tiu chun hon thnh kim th

    Cu hi cin ny sinh mi khi c vic tho lun v kim thphn mm l: Khino chng ta thc hin xong kim th - lm sao ta bit rng chng ta kim th? ng bun l khng c cu tr li xc nh cho cu hi ny, nhng c mt vi sp ng thc t v nhng n lc ban u theo hng dn kinh nghim.

    Mt p ng cho cu hi trn l: Bn chng bao gihon thnh vic kim th,gnh nng n gin chuyn tbn (ngi pht trin) sang khch hng ca bn. Milc khch hng / ngi dng thc hin mt chng trnh my tnh th chng trnhny li c kim th trn mt tp d liu mi. Skin ng mc ny nhn mnhtm quan trng ca cc hot ng m bo cht lng phn mm khc. Mt p ng

    khc (c iu g nho bng nhng du sao cng chnh xc) l : Bn hon thnhvic kim thkhi bn ht thi gian hay ht tin.

    Mc du s t ngi thc hnh s bin minh cho nhng p ng trn, ngi ksphn mm cn nhng tiu chun cht ch hn xc nh khi no vic kim thc tin hnh. Musa v Ackerman gi mt p ng da trn tiu chun thngk: Khng, chng ta khng th tuyt i chc chn rng phn mm s khng baogihng, nhng theo m hnh thng k ng v l thuyt v hp l v thc nghimth chng ta hon thnh kim th ni vi stin tng ti 95% rng xc sutca 1000 givn hnh CPU khng hng trong mt mi trng c xc nh v xcsut l t nht 0.995

    Dng m hnh ho thng k v l thuyt tin cy phn mm, cc m hnh vhng hc phn mm (c pht hin trong khi kim th) xem nhmt hm ca thigian thc hin c thc xy dng ra. Mt bn ca m hnh sai hng, c gi l

    m hnh thc hin- thi gian Poisson l ga rit, c dng:

    f(t)= ln[)( 1 xp

    l0(pt +1) ] (17.1)

    vif(t) = s tch lu nhng hng hc dkin xut hin mt khi phn mm c kim thtrong mt khong thi gian thc hin t.

    l0 = mt hng phn mm ban u (s hng trn n v thi gian) vo lcbt u kim th.

    P = vic gim theo hm m trong mt hng khi li c pht hin v sa

    i c tin hnh.Mt hng th nghim. l(t), c thc suy ra bng cch ly o hm ca f(t):

    F(t) = 100+ptl

    l(17.2)

    Dng mi quan h trong phng trnh (2.2), ngi kim thc th tin onvic loi b li khi vic kim thtin trin. Mt li thc ti c thc chm lntrn ng cong dkin (hnh 2.4). Nu d liu thc ti c thu thp trong khi

  • 8/6/2019 Bao Dam Chat Luong Pm

    18/202

    18

    kim thv m hnh thc hin - thi gian theo logarit Poisson l xp x gn nhau visim dliu th m hnh ny c thc dng don thi gian kim thtonb cn t ti mt hng thp chp nhn c.

    Bng cch thu thp cc o trong khi kim thphn mm v dng cc mhnh v tin cy phn mm hin c, c th pht trin nhng hng dn c ngha tr li cu hi: Khi no th chng ta hon thnh vic kim th? Cn t tranh lun vvic c phi lm cng vic thm na hay khng trc khi cc quy tc nh tnh chokim thc th xc nh, nhng cch tip cn kinh nghim hin ang tn ti c coil tt hn ng k so vi trc gic th.

    2.2. Pht trin phn mm phng sch (cleanroom software development)

    Cleanroom l mt qui trnh pht trin phn mm hn l mt k thut kim th. Chon by gi, k thut ny vn c xem l mt cch mi ca vic suy nghv kimthv m bo cht lng phn mm. tng ca cleanroom l nhm trnh tiutn chi ph cho hot ng pht hin v gb cc li bng cch vit m lnh chng

    trnh mt cch chnh xc ngay tban u vi nhng phng php chnh thng nhk thut chng minh tnh ng n trc khi kim th.

    2.2.1. Ngh thut ca vic gri

    Kim thphn mm l mt tin trnh c thc vch k hoc v xc nh mt cchh thng. Vic thit k trng hp kim thc th tin hnh mt chin lc xc nhv c kt quc tnh ton theo thi gian.

    G li xut hin nhhu qu ca vic kim ththnh cng. Tc l, khi mt trnghp kim thpht hin ra li th vic g li l tin trnh s ny sinh loi b li.Mc du vic g li c th nn l mt tin trnh c trt t, n phn ln cn l nghthut. Ngi k sphn mm khi tnh cc kt qu ca php th, thng hay phi

    ng u vi ch dn triu chng v vn phn mm. Tc l, ci biu l ra bnngoi ca li v nguyn nhn bn trong ca li c th c mi quan h khng hinnhin ti mt li khc. Tin trnh tm tr t hiu bit gn mt triu chng vi nguynnhn chnh vic gli.

    2.2.2. Tin trnh gli

    G li khng phi l kim th, nhng bao gicng xut hin nhmt h qu kimth. Tham kho n hnh 2.12 th tin trnh g li bt u vi vic thc hin kimth. Kt quc thm nh v gp vic thiu stng ng gia kt qu trng iv thc t. Trong nhiu trng hp, dliu khng tng ng l triu chng ca mtnguyn nhn nn tng cn b che kn. Tin trnh gli c gng ghp triu chng vi

    nguyn nhn, t dn ti vic sa li.Tin trnh gli bao gicng sinh ra mt trong hai kt qu logic: (1) Nguyn

    nhn sc tm ra, sa cha v loi b hay (2) nguyn nhn s khng c tm ra.Trong trng hp sau, ngi thc hin gli c th hoi nghi mt nguyn nhn, thitk ra mt trng hp kim th gip hp l ho hoi nghi ca mnh, v vic lmhng ti vic sa li theo cch lp li.

  • 8/6/2019 Bao Dam Chat Luong Pm

    19/202

    19

    Ti sao g li li kh? Rt c th tm l con ngi (xem mc sau) c lin quan tinhiu cu tr li hn l cng ngh phn mm. Tuy nhin mt vi c trng ca lia ra vi manh mi:

    o Triu chng v nguyn nhn c th xa nhau v mt a l. Tc l, nhngtriu chng c th xut hin trong mt phn ny ca chng trnh, trong khinguyn nhn thc t c thnh vmt v tr xa. Cc cu trc chngtrnh i i vi nhau lm trm trng thm tnh hung ny.

    o Triu chng c th bin mt (tm thi) khi mt li khc c sa cha.o Triu chng thc t c th gy ra khng li (nh do s khng chnh xc ca

    vic lm trn s).o Triu chng c thc gy ra do li con ngi khng d ln du vt.o Triu chng c th l kt qu ca vn thi gian, thay v vn x l.o C th kh ti to li chnh xc cc iu kin vo (nhng dng thi gian

    thc trong th t vo khng xc nh)o Triu chng c th c lc c lc khng. iu ny c bit ph bin trong

    cc h thng nhng vic i i phn cng v phn mm khng cht ch.o Triu chng c th do nguyn nhn c phn b qua mt s cc nhim v

    chy trn cc b x l khc nhau.o Trong khi g li, chng ta gp khng t cc li chy t vic hi kh chu(nhnh dng ci ra khng ng) ti cc thm ho (nh h thng hng,gy ra cc thit hi kinh t hay vt l trm trng). Xem nh hu qu cavic tng li, khi lng sc p tm ra li cng tng thm. Thngthng, sc p buc ngi pht trin phn mm phi tm ra li v ng thia vo thm hai li na.

    2.2.3. Xem xt tm l

    Khng may, dng nhc mt s bng cl stinh thng gli thuc bm sinh con

    ngi. Mt s ngi lm vic rt gii, s khc li khng. Mc d bng ckinhnghim v gli vn cn mcho nhiu cch hiu, nhng bin thin ln nht trongkh nng g li c bo co li i vi cc k sphn mm c cng nn tngkinh nghim v gio dc.

    Bnh lun v kha cnh gli ca con ngi, Shneiderman pht biu:

    G li l mt trong nhng phn chn nht ca lp trnh. N c yu t ca vic giiquyt vn hay vn hc ba, i i vi vic tha nhn kh chu rng bn sailm. Hay u lo v khng sn lng chp nhn kh nng li lm tng kh khn chocng vic. May mn l c sgim nh v bt cng thng khi li cui cng csa li.

    Mc du c th kh hc c vic gli, ngi ta vn ngh ra mt s cch tip cnti vn . Chng ta xem xt nhng vn ny trong mc tip.

    2.2.4. Cch tip cn gli

    Bt k ti cch tip cn no c chn gli c mt mc tiu quan trng hn c: tmra v sa cha nguyn nhn li phn mm. Mc tiu ny c thc hin bng t hp

  • 8/6/2019 Bao Dam Chat Luong Pm

    20/202

    20

    cc nh gi c h thng, trc gic v may mn. Bradley m t cch tip cn g litheo cch ny:

    G li l vic ng dng trc tip phng php kh hc tng c pht trin hn2500 nm qua. Csca vic g li l nh v ngun gc ca vn [nguyn nhn]bng vic phn hoch nh phn, thng qua cc gi thit lm vic don cc gitr mi cn kim tra.

    Ta hy ly mt v d khng phi phn mm: n trong nh ti khng lm vic. Nukhng c g trong nh lm vic th nguyn nhn phi l cu ch chnh hay bnngoi; ti nhn quanh liu xem hng xm c b tt n hay khng. Ti cm chicn nghi ngvo cm khc v cm mt in khc vo mch nghi ng. C thtin hnh cc phng n gii quyt kim th.

    Ni chung, c tha ra ba loi cc tip cn gli: B buc mnh bo Lt ngc Loi b nguyn nhn

    Loi b buc mnh bo c l l phng php thng dng nht v km hiu qu nht

    c lp nguyn nhn ca li phn mm. Chng ta p dng phng php g li bbuc mnh bo khi tt c cc phng php khc u tht bi. Dng trit l cmy tnh tm ra li, ngi ta cho x ra ni dung b nh, gi ti chng trnh lu duvt khi chy v np chng trnh vi lnh WRITE. Chng ta hy vng rng u trong bi ly thng tin dc to ra, chng ta c th tm ra c mt nguyn nhn cali. Mc du ng thng tin c to ra cui cng c th dn ti thnh cng, thnghn c l n dn n ph phm cng sc v thi gian. Phi dnh suy ngh vo trc ht .

    Lt ngc li cch tip cn kh thng dng c thc dng trong nhng chngtrnh nh. Bt u ti ch chng c pht hin ra, lt ngc theo nhng chngtrnh gc (mt cch th cng) cho ti ch tm ra nguyn nhn. Khng may l khi s

    dng chng trnh gc tng ln, s con ng lt ngc tim nng c th trnnkhng qun l ni.

    Cch tip cn thba ti gli - loi b nguyn nhn c biu l bng vic quy nphay din dch v a vo khi nim v phn hoch nh phn. Dliu c lin quan tivic xut hin li c t chc c lp ra cc nguyn nhn tim nng. Mt gi thitnguyn nhn c nu ra v dliu trn c dng chng minh hay bc b githit . Mt cch khc, ta c th xy dng ra mt danh sch mi nguyn nhn cbit c nhiu ha hn th dliu sc lm mn thm c gng c lp ra li.

    Tng cch tip cn g li trn y u c thc b sung thm bi cng c gli.Chng ta c th p dng mt phm vi rng cc trnh bin dch gli, nhng trgipgli ng (B d du vt), cc b sinh trng hp kim thtng, s b nhv

    bng tham kho cho. Tuy nhin cc cng cu khng phi l cch thay th cho vicnh gi da trn ti liu thit k phn mm y v chng trnh gc r rng.

    Trong nhiu trng hp, vic gli phn mm my tnh ta nhvic gii quyt vn trong th gii kinh doanh. Brow v Sampson a ra mt cch tip cn g litn l Phng php, l vic thch nghi cc k thut gii quyt vn qun l.Cc tc gi ny ngh pht trin mt bn c t v cc lch, m t cho vn bng cch phc ha ci g, khi no, u v vi phm vi no?

  • 8/6/2019 Bao Dam Chat Luong Pm

    21/202

    21

    Mi mt trong nhng vn nu trn (ci g, khi no, u v vi phm vi no) uc ch ra thnh nhng p ng l hay khng l phn bit r rt gia ci g xy ra v ci g khng xy ra. Mt khi thng tin v li c ghi li th ngi taxy dng ra mt gi thit nguyn nhn da trn cc phn bit quan st c tnhng p ng l hay khng l. Vic g li tip tc dng cch tip cn qui np haydin dch c m t phn trn trong mc ny.

    Bt k tho lun no v cch tip cn v cng c g li cng u khng y nukhng ni ti mt ng minh mnh m: Ngi khc! Khi nim v lp trnh v ngca Weinberg (c tho lun trc y trong cun sch ny) nn c m rngthnh g li v ng. Mi ngi chng ta u c th nh li iu g kh xkhi mthng gi, hng ngy v mt li dai dng. Mt ng nghip vn vi qua trong nitht vng ri chng ti gii thch v tung ra bn tin chng trnh ra. Lp tc (dngnh) nguyn nhn li b pht hin ra. Mm ci mt cch ngo ngh, anh bn ngnghip chng ta bin mt. Mt quan im mi m, khng b che ph bi hng githt vng, c th to ra nhng iu k diu. Cu chm ngn cui cng v gli c thl: Khi tt c mi thkhc u sai th hy nhsgip .

    Mt khi li c tm ra, th n phi c sa cha. Nhng khi chng ta lu ,

    vic sa mt li i khi c th li a vo mt li khc v do li gy hi hn l tt.Van Vleck gi ba cu hi n gin ngi k sphn mm nn hi trc khi tinhnh sa cha loi b nguyn nhn gy li:

    Liu nguyn nhn gy li ny c b ti to phn khc ca chng trnh hay khng?Trong nhiu tnh hung, mt khim khuyt chng trnh b gy ra bi mt mu hnhlogic sai st c th cn pht sinh u khc na. Vic xem xt tng minh vmu hnh logic ny c th lm pht hin ra thm cc li khc

    Li tip c th ba vo l g khi ti cha li ny? Trc khi vic sa li ctin hnh, chng trnh gc (hay tt hn, thit k) nn c nh gi li thmnh vic dnh ni cc cu trc logic d liu. Nu vic sa li c tin hnh trong

    mt phn c dnh ni cao th cng phi tm nhiu khi tin hnh bt k mt sthay i no.

    Ta c th lm g ngn cn li ny ngay tu? Cu hi ny l bc u tinhng ti vic thit lp mt cch tip cn m bo cht lng phn mm thng k.Nu ta sa chng trnh cng nhsn phm th li s loi b chng trnh hin ti vc th b khb mi chng trnh tng lai

  • 8/6/2019 Bao Dam Chat Luong Pm

    22/202

    22

    CHNG 3: KIM THPHN MM

    Mc tiu ca chng ny l m t qu trnh kim thphn mm v a ra cc kthutkim th. Khi c chng ny, bn s:

    - Hiu c skhc bit gia kim thhp l v kim thkhim khuyt.

    - Hiu c cc nguyn l ca kim thh thng v kim thb phn.- Hiu c ba chin lc c thsdng sinh cc trng hp kim thh thng.

    - Hiu c cc c im bn cht ca cng c phn mm c sdng kim thtng.

    3.1. Qu trnh kim th

    Qu trnh kim th phn mm c hai mc tiu ring bit:

    1. Chng minh cho ngi pht trin v khch hng thy cc yu cu ca phn mm.Vi phn mm truyn thng, iu ny c ngha l bn c t nht mt th nghimcho mi yu cu ca ngi dng v ti liu h thng yu cu.Vi cc sn phmphn mm chung, iu c ngha l bn nn th nghim tt c cc c tnh ca hthng sc kt hp trong sn phm pht hnh.

    2. Pht hin cc li v khim khuyt trong phn mm: phn mm thc hin khngng, khng nh mong i hoc khng lm theo nh c t. Kim tra khimkhuyt tp trung vo vic tm ra tt c cc kiu thc hin khng nh mong i cah thng, nh s vh thng, s tng tc khng mong mun vi h thngkhc, tnh ton sai v sai lc d liu.

    Kim ththnh phn

    Kim th

    Ngi pht trin phn mm Nhm kim thc lp

    h thng

    Hnh 3.1 Cc giai on kim th

    Thit k trng hpkim th

    Chun b d liukim th

    Chy chng trnhvi d liu kim th

    So snh cc kt quVi cc trng hp

    trng hpkim th kim th

    D liukim th

    Cc kt qukim thBo co

    th nghim

    Cc

    Hnh 3.2 Mt m hnh ca qu trnh kim th phn mm

  • 8/6/2019 Bao Dam Chat Luong Pm

    23/202

    23

    Mc tiu th nht dn n kim th hp l, s dng tp cc th nghim phn nh mongmun ca ngi dng kim tra xem h thng c thc hin ng khng. Mc tiu th haidn n kim th khim khuyt: cc trng hp kim th c thit k tm ra cckhim khuyt. Cc trng hp kim th c thc lm khng r v khng cn phn nhcch h thng bnh thng c s dng. Vi kim th hp l, mt th nghim thnh cngl th nghim m h thng thc hin ng n. Vi kim th khim khuyt, mt th

    nghim thnh cng l mt th nghim tm ra mt khim khuyt, nguyn nhn lm cho hthng thc hin khng chnh xc.

    Kim th c th khng chng minh c phn mm khng c khim khuyt, hoc n sthc hin nhc t trong mi trng hp. Rt c th mt th nghim bn b qua c thpht hin ra cc vn khc trong h thng. Nh Dijstra, mt ngi i u trong vic phttrin k ngh phn mm, tuyn b (1972): kim th ch c th pht hin ra cc li hinti, ch khng tha ra tt c cc li.

    Ni chung, v vy, mc tiu ca kim th phn mm l thuyt phc ngi pht trin phnmm v khch hng rng phn mm l tt cho cc thao tc s dng. Kim th l mtqu trnh c dng to nn s tin tng trong phn mm.

    M hnh tng qut ca qu trnh kim thc m t trong hnh 3.2. Cc trng hpkim th s ch r ca u vo th nghim v u ra mong i t h thng cng vimt bn bo co sn phm c kim th. D liu kim th l u vo, c nghra kim th h thng. D liu kim th thnh thong c thc tng sinh ra. Sinh cctrng hp kim th tng l iu khng lm c. u ra ca th nghim ch c thc don bi ngi him bit v hot ng ca h thng.

    Kim th ton din: mi chng trnh c th thc hin tun tc kim tra, l iukhng th lm c. V vy, kim th, phi c thc hin trn mt tp con cc trnghp kim th c th xy ra. Trong l tng, cc cng ty phn mm c nhng iu khon la chn tp con ny hn l giao n cho i pht trin. Nhng iu khon ny c thda trn nhng iu khon kim th chung, nh mt iu khon l tt c cc cu lnhtrong chng trnh nn c thc thi t nht mt ln. Mt s la chn l nhng iu khon

    kim th c th s trn kinh nghim s dng h thng, v c th tp trung vo kim thcc c trng hot ng ca h thng. V d:

    1. Tt c cc c trng ca h thng c truy cp thng qua thc n nn c kimth.

    2. Kt hp cc chc nng (v dnh dng vn bn) c truy cp thng qua cng thcn phi c kim th.

    3. Khi u vo c a vo, tt c cc chc nng phi c kim th vi cng mt thnghim ng n v th nghim khng ng n.

    iu r rng t kinh nghim vi sn phm phn mm ln nh phn mm x l vnbn, hoc bng tnh c th so snh cc nguyn tc thng thng c s dng trong lc

    kim th sn phm. Khi cc c trng ca phn mm c s dng c lp, chng lm vicbnh thung. Cc vn pht sinh, nh Whittaker gii thch (Whittaker, 2002), khi lin ktcc c trng khng c kim th cng nhau. ng a ra mt v d, khi s dng phnmm x l vn bn s dng s dng li ch thch cui trang vi cch sp xp nhiu ctlm cho vn bn trnh by khng ng.

    Khi mt phn ca qu trnh lp k hoch V & V, ngi qun l phi a ra ccquyt nh ai l ngi chu trch nhim trong tng bc kim thkhc nhau. Vihu ht cc h thng, cc lp trnh vin chu trch nhim kim thcc thnh phn

  • 8/6/2019 Bao Dam Chat Luong Pm

    24/202

    24

    m h trin khai. Khi cc lp trnh vin hon thnh cc cng vic , cng vicc giao cho i tng hp, h s tch hp cc mun tnhng ngi pht trinkhc nhau to nn phn mm v kim th ton b h thng. Vi h thng quantrng, mt qu trnh theo nghi thc c thc sdng, cc ngi thc lp chutrch nhim v tt c cc bc ca qu trnh kim th. Trong kim thh thngquan trng, cc thnghim c kim th ring bit v h s chi tit ca kt qu

    kim thc duy tr.Kim thcc thnh phn c thc hin bi nhng ngi pht trin thng da

    trn hiu bit trc gic v cch hot ng ca cc thnh phn. Tuy nhin, kim thh thng phi da trn vn bn c t h thng. c th l mt c t chi tit yucu h thng, hoc n c th l c t hng ngi sdng mc cao ca cc ctnh c thc hin trong h thng. Thng c mt i c lp chu trch nhimkim thh thng, i kim thh thng lm vic tngi sdng v ti liu yucu h thng lp k hoch kim thh thng.

    Hu ht cc tho lun v kim th bt u vi kim th thnh phn v sau chuyn n kim thh thng. Ti o ngc thtcc tho lun trong chngny bi v rt nhiu qu trnh pht trin phn mm bao gm vic tch hp cc thnh

    phn sdng li v c lp vo phn mm to nn cc yu cu c th. Tt c cckim thtrong trng hp ny l kim thh thng, v khng c stch ri trongqu trnh kim ththnh phn.

    3.2. Kim thh thng

    H thng gm hai hoc nhiu thnh phn tch hp nhm thc hin cc chc nng hoc ctnh ca h thng. Sau khi tch hp cc thnh phn to nn h thng, qu trnh kim th hthng c tin hnh. Trong qu trnh pht trin lp i lp li, kim th h thng lin quanvi kim th mt lng cng vic ngy cng tng phn phi cho khch hng; trong qutrnh thc nc, kim th h thng lin quan vi kim th ton b h thng.

    Vi hu ht cc h thng phc tp, kim th h thng gm hai giai on ring bit:

    1. Kim th tch hp: i kim th nhn m ngun ca h thng. Khi mt vn c pht hin, i tch hp th tm ngun gc ca vn v nhn bit thnh phncn phi gli. Kim th tch hp hu nh lin quan vi vic tm cc khim khuytca h thng.

    2. Kim th pht hnh: Mt phin bn ca h thng c thc pht hnh ti ngidng c kim th. i kim th tp trung vo vic hp l cc yu cu ca hthng v m bo tnh tin cy ca h thng. Kim th pht hnh thng l kim thhp en, i kim th tp trung vo m t cc c tnh h thng c th lm c

    hoc khng lm c. Cc vn c bo co cho i pht trin gli chngtrnh. Khch hng c bao hm trong kim th pht hnh, thng c gi lkim th chp nhn. Nu h thng pht hnh tt, khch hng c th chp nhnn s dng.

    V cbn, bn c th nghkim th tch hp nh l kim th h thng cha y bao gm mt nhm cc thnh phn. Kim th pht hnh lin quan dn kim th hthng pht hnh c nh phn phi ti khch hng. Tt nhin, c s gi chng ln

  • 8/6/2019 Bao Dam Chat Luong Pm

    25/202

    25

    nhau, c bit khi pht trin h thng v h thng uc pht hnh khi cha hon thnh.Thng thng, s u tin hng u trong kim th tch hp l pht hin ra khimkhuyt trong h thng v su tin hng u trong kim th h thng l lm hp l ccyu cu ca h thng. Tuy nhin trong thc t, c vi kim th hp l v vi kim thkhim khuyt trong cc qu trnh.

    3.3. Kim thtch hp

    Qu trnh kim th tch hp bao gm vic xy dng h thng t cc thnh phn vkim th h thng tng hp vi cc vn pht sinh t s tng tc gia cc thnhphn. Cc thnh phn c tch hp c th trng vi chnh n, cc thnh phn c thdng li c c th thm vo cc h thng ring bit hoc thnh phn mi c phttrin. Vi rt nhiu h thng ln, c tt c 3 loi thnh phn c s dng. Kim thtch hp kim tra trn thc t cc thnh phn lm vic vi nhau, c gi l chnh xcv truyn d liu ng vo lc thi gian ng thng qua giao din ca chng.

    H thng tch hp bao gm mt nhm cc thnh phn thc hin vi chc nng ca hthng v c tch hp vi nhau bng cch gp cc m chng lm vic cng vinhau. Thnh thong, u tin ton b khung ca h thng c pht trin, sau ccthnh phn c gp li to nn h thng. Phng php ny c gi l tch hp ttrn xung (top-down). Mt cch la chn khc l u tin bn tch hp cc thnh phncscung cp cc dch v chung, nh mng, truy cp csd liu, sau cc thnhphn chc nng c thm vo. Phng php ny c gi l tch hp t di ln(bottom-up). Trong thc t, vi rt nhiu h thng, chin lc tch hp l s pha trncc phng php trn. Trong c hai phng php top-down v bottom-up, bn thngphi thm cc m m phng cc thnh phn khc v cho php h thng thc hin.

    Mt vn ch yu ny sinh trong lc kim th tch hp l cc li cc b. C nhius tng tc phc tp gia cc thnh phn ca h thng, v khi mt u ra bt thngc pht hin, bn c th kh nhn ra ni m li xut hin. vic tm li cc bc d dng, bn nn thng xuyn tch hp cc thnh phn ca h thng v kim thchng. Ban u, bn nn tch hp mt h thng cu hnh ti thiu v kim th h thngny. Sau bn thm dn cc thnh phn vo h thng v kim th sau mi bcthm vo.

  • 8/6/2019 Bao Dam Chat Luong Pm

    26/202

    26

    Trong v d trn hnh 2.3, A,B,C,D l cc thnh phn v T1, T2, T3, T4, T5 l tp ccth nghim kt hp cc c trng ca h thng. u tin, cc thnh phn A v B ckt hp to nn h thng (h thng cu hnh ti thiu), v cc th nghim T1, T2,T3 c thc hin. Nu pht hin c khim khuyt, n sc hiu chnh. Sau ,thnh phn C c tch hp v cc th nghim T1, T2 v T3 c lm lp li mbo n khng to nn cc kt qu khng mong mun khi tng tc vi A v B. Nu c

    vn ny sinh trong cc kim th ny, n hu nh chc chn do s tng tc vi ccthnh phn mi. Ngun gc ca vn c khoanh vng, v vy lm n gin victm v sa li. Tp th nghim T4 cng c thc hin trn h thng. Cui cng, thnhphn D c tch hp vo h thng v kim thc thc hin trn cc th nghim c v cc th nghim mi.

    Khi lp k hoch tch hp, bn phi quyt nh th t tch hp cc thnh phn. Trongmt qu trnh nh XP, khch hng cng tham gia trong qu pht trin, khch hngquyt nh cc chc nng nn c thm vo trong mi bc tch hp h thng. Do ,tch hp h thng c iu khin bi su tin ca khch hng. Trong cch tip cnkhc pht trin h thng, khi cc thnh phn v cc thnh phn ring bit c tchhp, khch hng c th khng tham gia vo qu trnh tch hp h thng v i tch hpquyt nh th t tch hp cc thnh phn.

    Trong trng hp ny, mt quy tc tt l u tin tch hp cc thnh phn thc hinhu ht cc chc nng thng s dng ca h thng. iu ny c ngha l cc thnhphn thng c s dng hu ht c kim th. V d, trong h thng th vin,LIBSYS, u tin bn nn tch hp chc nng tm kim trong h thng ti thiu, ngi dng c th tm kim cc ti m h cn. Sau , bn nn tch hp cc chc nngcho php ngi dng ti ti liu t trn Internet v dn thm cc thnh phn thc hincc chc nng khc ca h thng.

    T3

    T2

    T1

    T4

    T5

    A

    B

    C

    D

    T2

    T1

    T3

    T4

    A

    B

    C

    T1

    T2

    T3

    A

    B

    Dy kim th 1 Dy kim th 2 Dy kim th 3

    Hnh 3.3 Kim th tch hp ln dn

  • 8/6/2019 Bao Dam Chat Luong Pm

    27/202

    27

    Tt nhin, thc t t khi n gin nh m hnh trn. S thc hin cc chc nng cah thng c th lin quan n nhiu thnh phn. kim th mt c tnh mi, bn cth phi tch hp mt vi thnh phn khc nhau. Kim th c th pht hin li trong khitng tc gia cc thnh phn ring bit v cc phn khc ca h thng. Vic sa li cth kh khn bi v mt nhm cc thnh phn thc hin chc nng c th phi thayi. Hn na, tch hp v kim th mt thnh phn mi c th thay i tng tc gia

    cc thnh phn c kim th. Cc li c thc pht hin c th khng cpht hin trong khi kim th h thng cu hnh n gin.

    Nhng vn ny c ngha l khi mt h thng tch hp mi c to ra, cn phichy li cc th nghim trong h thng tch hp cm bo cc yu cu cc thnghim vn thc hin tt, v cc kim th mi thc hin tt c chc nng mi cah thng. Vic thc hin kim th li tp cc th nghim c gi l kim th hi quy.Nu kim th hi quy pht hin c vn , th bn phi kim tra c li trong h thngc hay khng m h thng mi pht hin ra, hoc c li do thm cc chc nng mi.

    R rng, kim th hi quy l qu trnh tn km, khng kh thi nu khng c s h trtng. Trong lp trnh cc , tt c cc th nghim c vit nh m c th thcthi, cc u vo th nghim v kt qu mong i c xc nh r v c tng

    kim tra. Khi c s dng cng vi mt khung kim th tng nh Junit (Massol vHusted, 2003), iu ny c ngha l cc th nghim c thc tng thc hin li.y l nguyn l cbn ca lp trnh cc , khi tp cc th nghim ton din cthc hin bt c lc no m mi c tch hp v cc m mi ny khng c chpnhn cho n khi tt c cc th nghim c thc hin thnh cng.

    3.4. Kim thpht hnh

    Kim th pht hnh l qu trnh kim th mt h thng sc phn phi ti cckhch hng. Mc tiu u tin ca qu trnh ny l lm tng s tin cy ca nh cungcp rng sn phm h cung cp c y cc yu cu. Nu tha mn, h thng c thc pht hnh nh mt sn phm hoc c phn phi n cc khch hng. chngt h thng c y cc yu cu, bn phi ch ra n c cc chc nng c t, hiunng, v tnh tin cy cao, n khng gp sai st trong khi c s dng bnh thng.

    Kim th pht hnh thng l qu trnh kim th hp en, cc th nghim c lytc t h thng. H thng c i x nh chic hp en, cc hot ng ca n chc thc nhn bit qua vic nghin cu u vo v u ra ca n. Mt tn khc caqu trnh ny l kim th chc nng, bi v ngi kim tra ch tp trung xem xt ccchc nng v khng quan tm s thc thi ca phn mm.

  • 8/6/2019 Bao Dam Chat Luong Pm

    28/202

    28

    Hnh 3.4 minh ha m hnh mt h thng c kim th bng phng php kim thhp en. Ngi kim tra a u vo vo thnh phn hoc h thng v kim tra u ratng ng. Nu u ra khng nh d bo trc (v d, nu u ra thuc tp Oe), kimth pht hin mt li trong phn mm.

    Khi h thng kim thc thc hin, bn nn th m s phn mm bng cch lachn cc trng hp th nghim trong tp Ie (trong hnh 3.4). Bi v, mc ch cachng ta l la chn cc u vo c xc sut sinh ra li cao (u ra nm trong tp Oe).Bn s dng cc kinh nghim thnh cng trc v cc nguyn tc kim thara cc la chn.

    Cc tc gi nh Whittaker (Whittaker, 2002) tm lc nhng kinh nghim kimth ca h trong mt tp cc nguyn tc nhm tng kh nng tm ra cc th nghimkhim khuyt. Di y l mt vi nguyn tc:

    1. La chn nhng u vo lm cho h thng sinh ra tt c cc thng bo li.

    2. Thit ku vo lm cho bm u vo b trn.

    3. Lm lp li vi cc u vo nh nhau hoc mt dy cc u vo nhiu ln.4. Lm sao u ra khng ng c sinh ra.

    5. Tnh ton kt qu ra rt ln hoc rt nh.

    xc nhn h thng thc hin chnh xc cc yu cu, cch tip cn tt nht vn ny l kim th da trn kch bn, bn a ra mt s kch bn v to nn cc trng

    Iekim th

    OeKt quu ra

    H thng

    Cc u vo

    hnh xd thng

    Cc u ra bc ls hin din

    ca cc khim khuyt

    D liu u vo

    kim th

    gy nn

    Hnh 3.4 Kim th hp en

  • 8/6/2019 Bao Dam Chat Luong Pm

    29/202

    29

    hp th nghim t cc kch bn . V d, kch bn di y c th m t cch hthng th vin LIBSYS, tho lun trong chng trc, c thc s dng:

    Mt sinh vin Sct-len nghin cu lch s nc M c yu cu vit mt bilun v Tm l ca ngi min Ty nc M t nm 1840 n nm 1880. lm

    vic , c y cn tm cc ti liu t nhiu th vin. C y ng nhp vo h thngLIBSYS v s dng chc nng tm kim tm xem c y c c truy cp vo cc tiliu gc trong khong thi gian y khng. C y tm c cc ngun ti liu t rtnhiu th vin ca cc trng i hc ca M, v c y ti mt vi bn sao cc ti liu. Tuy nhin, vi mt vi ti liu, c y cn phi c s xc nhn t trng i hc cac y rng c y tht s l mt sinh vin v cc ti liu c s cho nhng mc chphi thng mi. Sau , sinh vin s dng cc phng tin ca LIBSYS yu cus cho php v ng k cc yu cu ca h. Nu c xc nhn, cc ti liu scti xung t my ch ca th vin v sau c in. C y nhn c mt thng bot LIBSYS ni rng c y s nhn c mt e-mail khi cc ti liu in c gi trtp hp.

    T kch bn trn, chng ta c th p dng mt s th nghim tm ra mc ch caLIBSYS:

    1. Kim th cchng nhp bng cch thc hin cc ng nhp ng v ng nhpsai kim tra ngi dng hp lc chp nhn v ngi dng khng hp lkhng c chp nhn.

    2. Kim th cch tm kim bng cch s dng cc cu hi bit cc ti liu cntm kim tra xem cch tm kim c thc s tm thy cc ti liu .

    3. Kim th s trnh by h thng kim tra cc thng tin v ti liu c c hinthng khng.

    4. Kim th cch cho php yu cu ti ti liu xung.5. Kim th e-mail tr li cho bit ti liu ti xung l sn sng s dng.

  • 8/6/2019 Bao Dam Chat Luong Pm

    30/202

    30

    Vi mi th nghim, bn nn thit k mt tp cc th nghim bao gm cc u vohp l v u vo khng hp l sinh ra cc u ra hp l v u ra khng hp l.

    Bn cng nn t chc kim th da trn kch bn, v thu tin cc kch bn thchhp c th nghim, sau cc kch bn khc thng v ngoi lc xem xt, vvy s c gng ca bn dnh cho cc phn m h thng thng c s dng.

    Nu bn s dng trng hp ngi dng m t cc yu cu ca h thng, cctrng hp ngi dng v biu lin kt ni tip c th l cs kim th hthng. minh ha iu ny, ti s dng mt v d t h thng trm d bo thi tit,

    Hnh 3.5 ch ra cc thao tc ln lt c thc hin ti trm d bo thi tit khi np ng mt yu cu tp hp d liu cho h thng bn v. Bn c th s d biu ny nhn bit cc thao tc sc th nghim v gip cho vic thit k cc trnghp th nghim thc hin cc th nghim. V vy a ra mt yu cu cho mtbo co s dn n s thc hin ca mt chui cc thao tc sau:

    CommsController:request WheatherStation:report WeatherData:summarise

    Biu c thc s dng nhn bit u vo v u ra cn to ra cho cc thnghim:

    1. Mt u vo ca mt yu cu bo co nn c mt s tha nhn v cui cng boco nn xut pht t yu cu. Trong lc kim th, bn nn to ra d liu tm tt, nc thc dng kim tra xem bo co c t chc chnh xc.

    Hnh 3.5 Biu dy tp hp d liu v thi tit

  • 8/6/2019 Bao Dam Chat Luong Pm

    31/202

    31

    2. Mt yu cu u vo cho mt bo co v kt qu ca WeatherStation trong mt boco tm tt c sinh ra. Bn c th kim thiu ny mt cch c lp bng cchto ra cc d liu th tng ng vi bn tm tt, bn chun b kim traCommosController v kim tra i tng WeatherStation c a ra chnh xctrong bn tm tt.

    3. D liu th trn cng c s dng kim thi tng WeatherData.

    Tt nhin, ti lm n gin biu trong hnh 3.5 v n khng ch ra cc ngoi l.Mt kch bn kim th hon chnh cng phi c trong bn k khai v m bo nm btc ng cc ngoi l.

    3.5. Kim thhiu nng

    Ngay khi mt h thng c tch hp y , h thng c thc kim tra cc thuc

    tnh ni bt nh hiu nng v tin cy. Kim th hiu nng phi c thit kmbo h thng c th x l nh mong mun. N thng bao gm vic lp mt dy cc thnghim, gnh nng sc tng cho nn khi h thng khng th chp nhn c na.

    Cng vi cc loi kim th khc, kim th hiu nng lin quan n c vic kim chngcc yu cu ca h thng v pht hin cc vn v khim khuyt trong h thng. kimth cc yu cu hiu nng t c, bn phi xy dng m t s lc thao tc. M t slc thao tc l tp cc th nghim phn nh s ha trn cc cng vic sc thc hinbi h thng. V vy, nu 90% giao dch trong h thng c kiu A, 5% kiu B v phn cnli c kiu C, D v E, th chng ta phi thit k m t slc thao tc phn ln tp trungvo kim th kiu A. Nu khng th bn s khng c c th nghim chnh xc v hiunng hot ng ca h thng.

    Tt nhin, cch tip cn ny khng nht thit l tt kim th khim khuyt. Nh ti tho lun, theo kinh nghim ch ra cch hiu qu pht hin khim khuyt l thit kcc th nghim xung quanh gii hn ca h thng. Trong kim th hiu nng, iu ny cngha l nhn mnh h thng (v th n c tn l kim th nhn mnh) bng cch to ranhng i hi bn ngoi gii hn thit k ca phn mm.

    V d, mt h thng x l cc giao dch c thc thit k x l n 300 giao dchmi giy; mt h thng iu khin c thc thit kiu khin ti 1000 thit bucui khc nhau. Kim th nhn mnh tip tc cc th nghim bn cnh vic thit k lnnht c np vo h thng cho n khi h thng gp li. Loi kim th ny c 2 chcnng:

    1. N kim th vic thc hin li ca h thng. Trng hp ny c th xut hin qua

    vic phi hp cc s kin khng mong mun bng cch np vt qu kh nng cah thng. Trong trng hp ny, sai st ca h thng lm cho d liu b h hnghoc khng p ng c yu cu ca ngi dng. Kim th nhn mnh kim tras qu ti ca h thng dn ti tht bi mm hn l lm sp di lng ti can.

    2. N nhn mnh h thng v c th gy nn khim khuyt trnn r rng m bnhthng khng pht hin ra. Mc d, n chng t nhng khim khuyt khng thdn n s sai st ca h thng trong khi s dng bnh thng, c th him gptrong trng hp bnh thng m kim th gay cn ti to.

  • 8/6/2019 Bao Dam Chat Luong Pm

    32/202

    32

    Kim th gay cn c lin quan c bit n vic phn phi h thng da trn mt mtmng li my x l. Cc h thng thng a ra i hi cao khi chng phi thc hinnhiu cng vic. Mng trthnh b lm mt tc dng vi d liu kt hp m cc qu trnhkhc nhau phi trao i, v vy cc qu trnh trnn chm hn, nh khi n i d liu yucu t qu trnh khc.

    3.6. Kim ththnh phn

    Kim th thnh phn (thnh thong c gi l kim thn v) l qu trnh kim th ccthnh phn ring bit ca h thng. y l qu trnh kim th khim khuyt v vy mctiu ca n l tm ra li trong cc thnh phn. Khi tho lun trong phn gii thiu, vi huht cc h thng, ngi pht trin cc thnh phn chu trch nhim kim th cc thnhphn. C nhiu loi thnh phn khc nhau, ta c th kim th chng theo cc bc sau:

    1. Cc chc nng v cch thc ring bit bn trong i tng.

    2. Cc lp i tng c mt vi thuc tnh v phng thc.

    3. Kt hp cc thnh phn to nn cc i tng v chc nng khc nhau. Cc

    thnh phn hn hp c mt giao din r rng c s dng truy cp cc chcnng ca chng.

    Cc chc nng v phng thc ring l l loi thnh phn n gin nht v cc thnghim ca bn l mt tp cc li gi ti cc th tc vi tham su vo khc nhau. Bnc th s dng cch tip cn ny thit k trng hp kim th (c tho lun trongphn sau), thit k cc th nghim chc nng v phng thc.

    Khi bn kim th cc lp i tng, bn nn thit k cc th nghim cung cp tt ccc chc nng ca i tng. Do , kim th lp i tng nn bao gm:

    1. Kim th tt c cc thao tc c lp lin kt to thnh i tng.

    2. B tr v kim tra tt c cc thuc tnh lin kt to thnh i tng.

    3. Kim tra tt c cc trng thi ca i tng. iu ny c ngha l tt c cc s kingy ra cc trng thi khc nhau ca i tng nn c m phng.

    V d, trm d bo thi tit c giao din trnh by trn hnh 3.6. N ch c mt thuc tnh,l nh danh ca n. N c mt hng s l tp thng s khi trm d bo thi tit c thit

    Hnh 3.6 Giao dinca i tng

    WeatherStation

  • 8/6/2019 Bao Dam Chat Luong Pm

    33/202

    33

    t. Do , bn ch cn mt th nghim kim tra n c thit t hay cha. Bn cnxc nh cc trng hp kim th kim tra reportWeather, calibrate, test, startup vshutdown. Trong trng hp l tng, bn nn kim th cc phng thc ring bit,nhng trong mt vi trng hp, cn c vi th nghim lin tip. V d kim thphng thc shutdown bn cn thc hin phng thc startup.

    S dng m hnh ny, bn c th nhn bit th t ca cc trng thi chuyn tip phi ckim th v xc nh th t chuyn tip cc s kin. Trong nguyn tc ny, bn nn kimth mi trng thi chuyn tip c th xy ra, mc d trong thc t, iu ny c th rt tnkm.V d dy trng thi nn kim th trong trm d bo thi tit bao gm:

    Shutdown Waiting Shutdown

    Waiting Calibrating Testing Transmitting Waiting

    Waiting Collecting Waiting Summarising Transmitting Waiting

    Nu bn s dng s k tha s lm cho vic thit k lp i tng kim th kh khnhn. Mt lp cha cung cp cc thao tc sc k tha bi mt s lp con, tt c cc lpcon nn c kim th tt c cc thao tc k tha. L do l cc thao tc k tha c ththay i cc thao tc v thuc tnh sau khi c k tha. Khi mt thao tc ca lp cha cnh ngha li, th n phi c kim th.

    Khi nim lp tng ng, c tho lun trong phn 23.3.2, c th cng c p dngcho cc lp i tng. Kim th cc lp tng ng ging nhau c th s dng cc thuctnh ca i tng. Do , cc lp tng ng nn c nhn bit nh s khi to, truycp v cp nht tt c thuc tnh ca lp i tng.

    3.7. Kim thgiao din

    Nhiu thnh phn trong mt h thng l s kt hp cc thnh phn to nn bi s tngtc ca mt vi i tng. Kim th cc thnh phn hn hp ch yu lin quan n kimth hot ng giao din ca chng thng qua cc c t.

    Hnh 3.7 minh ha qu trnh kim th giao din. Gi s cc thnh phn A, B, v C c tch hp to nn mt thnh phn ln hoc mt h thng con. Cc th nghimkhng ch p dng vo cc thnh phn ring l m cn c p dng vo giao din ca ccthnh phn hn hp c to nn bng cch kt hp cc thnh phn .

    Kim th giao din c bit quan trng trong vic pht trin phn mm hng i tngv cc thnh phn cs. Cc i tng v cc thnh phn c xc nh qua giao din cachng v c thc s dng li khi lin kt vi cc thnh phn khc trong cc h thngkhc nhau. Cc li giao din trong thnh phn hn hp khng thc pht hin qua vickim th cc i tng v cc thnh phn ring l. S tng tc gia cc thnh phn trongthnh phn hn hp c th pht sinh li.

    C nhiu kiu giao din gia cc thnh phn chng trnh, do c th xut hin cc

    kiu li giao din khc nhau:

  • 8/6/2019 Bao Dam Chat Luong Pm

    34/202

    34

    1. Giao din tham s: Khi d liu hoc tham chiu chc nng c a t thnh phnny ti thnh phn khc.

    2. Giao din chia s b nh: Khi mt khi b nhc chia s gia cc thnh phn.D liu c trong b nhbi mt h thng con v c truy xut bi mt hthng khc.

    3. Giao din th tc: Mt thnh phn bao gm mt tp cc th tc c thc gi bicc thnh phn khc. Cc i tng v cc thnh phn dng li c dng giao dinny.

    4. Giao din truyn thng ip: Mt thnh phn yu cu mt dch v t mt thnhphn khc bng cch gi mt thng ip ti thnh phn . Thng ip tr li baogm cc kt qu thc hin dch v. Mt vi h thng hng i tng c dng giaodin ny nh trong h thng ch-khch (client-server).

    Cc li giao din l mt dng li thng gp trong cc h thng phc tp (Lutz, 1993).Cc li ny c chia lm 3 loi:

    1. Dng sai giao din: Mt thnh phn gi ti thnh phn khc v to nn mt litrong giao din ca chng. y l loi li rt thng gp trong giao din tham s:cc tham s c thc truyn sai kiu, sai th t hoc sai s lng tham s.

    2. Hiu sai giao din: Mt thnh phn gi ti thnh phn khc nhng hiu sai cc ct giao din ca thnh phn c gi v lm sai hnh vi ca thnh phn c gi.Thnh phn c gi khng hot ng nh mong i v lm cho thnh phn gicng hot ng khng nh mong i. V d, mt th tc tm kim nh phn c thc gi thc hin trn mt mng cha c xp theo th t, kt qu tm kim skhng ng.

    B

    C

    kim thCc trng hp

    A

    Hnh 3.7 Kim thgiao din

  • 8/6/2019 Bao Dam Chat Luong Pm

    35/202

    35

    3. Cc li trong bm thi gian: Cc li ny xut hin trong cc h thng thi gianthc s dng giao din chia s b nhhoc giao din truyn thng ip. D liuca nh sn xut v d liu ca khch hng c thc iu khin vi cc tc khc nhau. Nu khng ch n trong thit k giao din, th khch hng c th truycp thng tin li thi bi v thng tin ca nh sn xut cha c cp nht tronggiao din chia s.

    Kim th nhng khim khuyt trong giao din rt kh khn bi v mt s li giao dinch biu l trong nhng iu kin c bit. V d, mt i tng c cha mt danh schhng i vi cu trc d liu c chiu di cnh. Gi s danh sch hng i ny cthc hin vi mt cu trc d liu v hn v khng kim tra vic trn hng i khi mtmc c thm vo. Trng hp ny ch c th pht hin khi kim th vi nhng thnghim lm cho trn hng i v lm sai hnh vi ca i tng theo nhng cch c thnhn bit c.

    Nhng li khc c th xut hin do s tng tc gia cc li trong cc mun v itng khc nhau. Nhng li trong mt i tng c th chc pht hin khi mt vi itng khc hot ng khng nh mong mun. V d, mt i tng c th gi mt itng khc nhn c mt vi dch v v gi sc p ng chnh xc. Nu n hiu sai v gi trc tnh, th gi tr tr v l hp l nhng khng ng. iu ny chc pht hin khi cc tnh ton sau c kt qu sai.

    Sau y l mt vi nguyn tc kim th giao din:

    1. Kho st nhng m c kim th v danh sch li gi ti cc thnh phn bnngoi.

    2. Vi nhng tham s trong mt giao din, kim th giao din vi tham sa vorng.

    3. Khi mt thnh phn c gi thng qua mt giao din th tc, thit k th nghimsao cho thnh phn ny b sai. Cc li khc hu nh l do hiu sai c t chung.

    4. S dng kim th gay cn, nh tho lun phn trc, trong h thng truynthng ip. Thit k th nghim sinh nhiu thng ip hn trong thc t. Vn bm thi gian c thc pht hin theo cch ny.

    5. Khi mt vi thnh phn tng tc thng qua chia s b nh, thit k th nghim vith t cc thnh phn c kch hot thay i. Nhng th nghim ny c th phthin nhng gi s ngm ca cc lp trnh vin v th t d liu chia sc sdng v c gii phng.

    K thut hp l tnh thng hiu qu hn kim th pht hin li giao din. Mt ngnngnh kiu cht ch nh JAVA cho php ngn chn nhiu li giao din bi trnh bindch. Khi mt ngn ng khng cht ch nh C c s dng, mt phn tch tnh nh LINT

    c th pht hin cc li giao din. S kim tra chng trnh c th tp trung vo cc giaodin gia cc thnh phn v cu hi v hnh vi giao din xy ra trong qu trnh kim tra.

    3.8. Thit k trng hp th(Test case design)

    Thit k trng hp th nghim l mt phn ca kim th h thng v kim ththnh phn, bn s thit k cc trng hp th nghim (u vo v u ra don) kim th h thng. Mc tiu ca qu trnh thit k trng hp kim th l to ra mt tp

  • 8/6/2019 Bao Dam Chat Luong Pm

    36/202

    36

    cc trng hp th nghim c hiu qu pht hin khim khuyt ca chng trnh v chra cc yu cu ca h thng.

    thit k mt trng hp th nghim, bn chon mt chc nng ca h thng hoc cathnh phn m bn s kim th. Sau bn chn mt tp cc u thc hin cc chc nng, v cung cp ti liu vu ra mong mun v gii hn ca u ra, v im m c ththit k tng kim tra th nghim vi u ra thc t v u ra mong i vn nh th.

    C nhiu phng php khc nhau gip bn c th thit k cc trng hp th nghim:

    1. Kim th da trn cc yu cu: Cc trng hp th nghim c thit k kimth cc yu cu h thng. N c s dng trong hu ht cc bc kim th hthng bi v cc yu cu h thng thng c thc hin bi mt vi thnh phn.Vi mi yu cu, bn xc nh cc trng hp th nghim c th chng tch thng c yu cu .

    2. Kim th phn hoch: bn xc nh cc phn hoch u vo v phn hoch u rav thit k th nghim, v vy h thng thc hin vi u vo t tt c cc phnhoch v sinh ra u ra trong tt c cc phn hoch. Cc phn hoch l cc nhmd liu c chung c tnh nh tt c cc su m, tt c tn u c u c di

    nh hn 30 k t, tt c cc s kin pht sinh t vic chn cc mc trn thc n3. Kim th cu trc: Bn s dng nhng hiu bit v cu trc chng trnh thit

    k cc th nghim thc hin tt c cc phn ca chng trnh. V cbn, khi kimth mt chng trnh, bn nn kim tra thc thi mi cu lnh t nht mt ln. Kimth cu trc gip cho vic xc nh cc trng hp th nghim.

    Thng thng, khi thit k cc trng hp th nghim, bn nn bt u vi cc thnghim mc cao nht ca cc yu cu, sau thm dn cc th nghim chi tit bng cchs dng kim th phn hoch v kim th cu trc.

    3.8.1. Kim thda trn cc yu cu

    Mt nguyn l chung ca cc yu cu k ngh l cc yu cu phi c kh nng kim thc. Cc yu cu nn c vit theo cch m mt th nghim c thc thit k, do quan st vin c th kim tra xem yu cu tha mn cha. V vy, kim th da trncc yu cu l mt tip cn c h thng thit k trng hp th nghim gip cho bnxem xt mi yu cu v tm ra cc th nghim. Kim th da trn cc yu cu c hiu quhn kim th khim khuyt bn ang chng t h thng thc hin c y cc yucu.

    V d, hy xem xt cc yu cu cho h thng LIBSYS .

    1. Ngi dng c th tm kim hoc tt c cc tp ban u ca csd liu hoc lachn mt tp con t.

    2. H thng s cung cp cc khung nhn hp l cho ngi dng c ti liu trongkho ti liu.

    3. Mi yu cu sc cp pht mt nh danh duy nht (ORDER_ID) ngi dngc thc php sao chp qua ti khon ca vng lu tr thng trc.

    Gi s chc nng tm kim c kim th, th cc th nghim c th chp nhn ccho yu cu th nht l:

    - Ban u, ngi dng tm kim cc mc m bit s c mt v bit khng ctrong tp csd liu ch gm c mt csd liu.

  • 8/6/2019 Bao Dam Chat Luong Pm

    37/202

    37

    - Ban u, ngi dng tm kim cc mc m bit s c mt v bit khng ctrong tp csd liu gm c hai csd liu.

    - Ban u, ngi dng tm kim cc mc m bit s c mt v bit khng ctrong tp csd liu gm c nhiu hn hai csd liu.

    - La chn mt csd liu t tp csd liu, ngi dng tm kim cc mc m

    bit s c mt v bit khng c trong csd liu .- La chn nhiu hn mt csd liu t tp csd liu, ngi dng tm kim

    cc mc m bit s c mt v bit khng c trong csd liu .

    T, bn c th thy kim th mt yu cu khng c ngha l ch thc hin kim thtrn mt th nghim. Thng thng, bn phi thc kim th nghim trn mt vi thnghim m bo bn kim sot c yu cu .

    Kim th cc yu cu khc trong h thng LIBSYS c thc thc hin theo ging nhtrn. Vi yu cu th hai, bn s son ra cc th nghim phn phi tt c cc kiu tiliu c thc x l bi h thng v kim tra s hin th cc ti liu . Vi yu cu thba, bn gi va vo mt vi yu cu, sau kim tra nh danh yu cu c hin thtrong giy chng nhn ca ngi dng, v kim tra nh danh yu cu c l duy nhthay khng.

    3.8.2. Kim thphn hoch

    D liu u vo v kt quu ra ca chng trnh thng c phn thnh mt s loikhc nhau, mi loi c nhng c trng chung, nh cc su dng, cc su m, vcc thc n la chn. Thng thng, cc chng trnh thc hin theo cch c th so snhc vi tt c thnh vin ca mt lp. Do , nu chng trnh c kim th thc hinnhng tnh ton v yu cu hai s dng, th bn s mong mun chng trnh thc hintheo cch nh nhau vi tt c cc s dng.

    Bi v cch thc hin l tng ng, cc loi ny cn c gi l phn hoch tng

    ng hay min tng ng (Bezier, 1990). Mt cch tip cn c h thng thit k cctrng hp kim th l da trn snh danh ca tt c cc phn hoch trong mt h thnghoc mt thnh phn. Cc trng hp th nghim c thit k sao cho u vo v u ranm trong phn hoch . Kim th phn hoch c thc s dng thit k cc trnghp th nghim cho cc h thng v cc thnh phn.

    Trong hnh 3.8, mi phn hoch tng ng c biu th nh mt elp. u vo ccphn hoch tng ng l nhng tp d liu, tt c cc tp thnh vin nn c x l mtcch tng ng. u ra phn hoch tng l u ra ca chng trnh v chng c ccc trng chung, v vy chng c thc kim tra nh mt lp ring bit. Bn cng xcnh cc phn hoch c u vo bn ngoi cc phn hoch khc. Kim tra cc thnghim m chng trnh s dng u vo khng hp l c thc hin ng cch thc

    khng. Cc u vo hp l v u vo khng hp l cng c t chc thnh cc phnhoch tng ng.

  • 8/6/2019 Bao Dam Chat Luong Pm

    38/202

    38

    Khi bn xc nh c tp cc phn hoch, bn c th la chn cc trng hp thnghim cho mi phn hoch . Mt quy tc tt la chn trng hp th nghim l lachn cc trng hp th nghim trn cc gii hn ca phn hoch cng vi cc th nghimgn vi im gia ca phn hoch. L do cn bn l ngi thit k v lp trnh vin thngxem xt cc gi tru vo in hnh khi pht trin mt h thng. Bn kim thiu

    bng cch la chn im gia ca h thng. Cc gi tr gii hn thng khng in hnh(v d, s 0 c thc s dng khc nhau trong cc tp cc s khng m), v vy nkhng c ngi pht trin ch ti. Cc li ca chng trnh thng xut hin khi nx l cc gi tr khng in hnh.

    Bn xc nh cc phn hoch bng cch s dng c t chng trnh hoc ti liu hngdn s dng, v t kinh nghim ca mnh, bn don cc loi gi tru vo thch hp pht hin li. V d, tc trng ca chng trnh: chng trnh chp nhn t 4 n 8 uvo l cc s nguyn c 5 ch s ln hn 10 000. Hnh 3.9 ch ra cc phn hoch cho tnhhung ny v cc gi tru vo c th xy ra.

    minh ha cho ngun gc ca nhng trng hp th nghim ny, s dng cc c tca thnh phn tm kim (trn hnh 3.10). Thnh phn ny tm kim trn mt dy cc phn

    ta ra phn t mong mun (phn t kha). N tr li v tr ca phn t trong dy.Ti ch r y l mt cch tru tng xc nh cc iu kin tin quyt phi ngtrc khi thnh phn c gi, v cc hu iu kin phi ng sau khi thc hin.

    Cc u vo

    khng hp l

    H thng

    Cc u vohp l

    Cc u ra

    Hnh 3.8Phn hoch

    tng ng

  • 8/6/2019 Bao Dam Chat Luong Pm

    39/202

    39

    iu kin tin quyt: Th tc tm kim s ch lm vic vi cc dy khng rng. Hu iukin: bin Found c thit t nu phn t kha thuc dy. Phn t kha c ch s L. Gitr ch s khng c xc nh nu phn t khng thuc dy.

    Tc trng , bn c th nhn ra hai phn hoch tng ng:

    1. Cc u vo c phn t kha l mt phn t ca dy (Found = true).

    2. Cc u vo c phn t kha khng phi l mt phn t ca dy (Found = false).

    procedure Search (Key : ELEM ; T: SEQ of ELEM;

    Found : in out BOOLEAN; L: in out ELEM_INDEX) ;

    Tin iu kin

    -- Dy c t nht mt phn t

    TFIRST = i

  • 8/6/2019 Bao Dam Chat Luong Pm

    40/202

    40

    Khi bn th nghim chng trnh vi cc dy, mng hoc danh sch, mt s nguyn tcthng c s dng thit k cc trng hp kim th:

    1. Kim th phn mm vi dy ch c mt gi tr. Lp trnh vin thng nghcc dygm vi gi tr, v thnh thong, h cho rng iu ny lun xy ra trong cc chngtrnh ca h. V vy, chng trnh c th khng lm vic chnh xc khi dy ca vo ch c mt gi tr.

    2. S dng cc dy vi cc kch thc khc nhau trong cc th nghim khc nhau.iu ny lm gim chi mt chng trnh khim khuyt s ngu nhin a ra ura chnh xc bi v cc u vo c cc c tnh ngu nhin.

    3. Xut pht t cc th nghim c phn tu tin, phn tgia, v phn t cuicng c truy cp. Cch tip cn ny bc l cc vn ti cc gii hn phnhoch.

    T cc nguyn tc trn, hai phn hoch tng ng c thc xc nh:

    1. Dy u vo c mt gi tr.

    2. S phn t trong dy u vo ln hn 1.

    Sau khi, bn xc nh thm cc phn hoch bng cch kt hp cc phn hoch c, vd, kt hp phn hoch c s phn t trong dy ln hn 1 v phn t kha khng thuc

    Dy Phn tC mt gi tr Thuc dy

    C mt gi tr Khng thuc dy

    Nhiu hn mt gi tr L phn tu tin trong dy

    Nhiu hn mt gi tr L phn t cui cng trong dy

    Nhiu hn mt gi tr L phn t nm gia trong dy

    Nhiu hn mt gi tr Khng thuc dy

    Dy u vo Kha (Key) u ra (Found,L)17 17 true, 1

    17 0 false, ??17, 29, 21, 23 17 true, 1

    41, 18, 9, 31, 30, 16, 45 45 true, 7

    17, 18, 21, 23, 29, 41, 38 23 true, 4

    21, 23, 29, 33, 38 25 false, ??

    Hnh 3.10 c t chng trnh tm kim

    Hnh 3.11 Cc phn hoch tng ng cho chng trnh tm kim

  • 8/6/2019 Bao Dam Chat Luong Pm

    41/202

    41

    dy. Hnh 3.11 a ra cc phn hoch m bn xc nh kim th thnh phn tmkim.

    Mt tp cc trng hp th nghim c th da trn cc phn hoch cng c a ra

    trn hnh 3.11. Nu phn t kha khng thuc dy, gi tr ca L l khng xc nh (??).Nguyn tc cc dy vi s kch thc khc nhau nn c s dng c p dngtrong cc trng hp th nghim ny.

    Tp cc gi tru vo s dng kim th th tc tm kim khng bao giht. Th tcny c th gp li nu dy u vo tnh cgm cc phn t 1, 2, 3 v 4. Tuy nhin, iu l hp l gi s: nu th nghim khng pht hin khim khuyt khi mt thnh vin camt loi c x l, khng c thnh vin khc ca lp s xc nh cc khim khuyt. Ttnhin, cc khim khuyt s vn tn ti. Mt vi phn hoch tng ng c th khngc xc nh, cc li c th c to ra trong phn hoch tng ng hoc d liuth nghim c th c chun b khng ng.

    3.8.3. Kim thcu trc

    Kim th cu trc (hnh 3.12) l mt cch tip cn thit k cc trng hp kim th,cc th nghim c xc nh t s hiu bit v cu trc v s thc hin ca phn mm.Cch tip cn ny thnh thong cn c gi l kim th hp trng, hp knh, hockim th hp trong phn bit vi kim th hp en.

    M thnh phnkim th

    Cc u ra

    D liu kim th

    Xut pht tCc kim th

    Hnh 3.12 Kim thcu trc

    Ranh gii gia cc lp tng ng

    im gia

    Cc phn t nh hnphn tgia phn tgia

    Cc phn t ln hn

    Hnh 3.13 Cc lp tng ng trong tm kim nh phn

  • 8/6/2019 Bao Dam Chat Luong Pm

    42/202

    42

    Hiu c cch s dng thut ton trong mt thnh phn c th gip bn xc nh thmcc phn hoch v cc trng hp th nghim. minh ha iu ny, ti thc hin cchc t th tc tm kim (hnh 3.10) nh mt th tc tm kim nh phn (hnh 3.14). Ttnhin, iu kin tin quyt c bo m nghim ngt. Dy c thc thi

    Class BinSearch {

    //y l mt hm tm kim nh phn c thc hin trn mt dy cc//i tng c th t v mt kha, tr v mt i tng vi 2 thuc// tnh l:

    // index gi tr ch s ca kha trong dy// found c kiu logic cho bit c hay khng c kha trong dy// Mt i tng c tr v bi v trong Java khng th thng qua cc// kiu cbn bng tham chiu ti mt hm v tr v hai gi tr// Gi tr index = -1 nu kha khng c trong dy

    public static void search( int key, int[] elemArray, Result r){

    1. int bottom = 0;2. int top = elemArray.length 1;

    int mid;3. r.found = false;

    4. r.index = -1;5. while (bottom

  • 8/6/2019 Bao Dam Chat Luong Pm

    43/202

    43

    nh mt mng v mng ny phi c sp xp v gi tr gii hn di phi nh hn gi trgii hn trn.

    kim tra m ca th tc tm kim, bn c th xem vic tm kim nh phn chia khnggian tm kim thnh 3 phn. Mi phn c to bi mt phn hoch tng ng (hnh

    3.13). Sau , bn thit k cc trng hp th nghim c phn t kha nm ti cc gii hnca mi phn hoch.

    iu ny a n mt tp sa li ca cc trng hp th nghim cho th tc tm kim,nh trn hnh 3.15. Ch , sa i mng u vo v vy n c sp xp theo th ttng dn v thm cc th nghim c phn t kha k vi phn t gia ca mng.

    3.8.4. Kim thng dn

    Kim thng dn l mt chin lc kim th cu trc. Mc tiu ca kim thngdn l thc hin mi ng dn thc hin c lp thng qua mt thnh phn hoc chngtrnh. Nu mi ng dn thc hin c lp c thc hin, th tt c cc cu lnh trong

    thnh phn phi c thc hin t nht mt ln. Hn na, tt c cu lnh iu kin phic kim th vi c trng hp ng v sai. Trong qu trnh pht trin hng i tng,kim thng dn c thc s dng khi kim th cc phng thc lin kt vi cc itng.

    S lng ng dn qua mt chng trnh thng t l vi kch thc ca n. Khi tt ccc mun c tch hp trong h thng, n trnn khng kh thi s dng k thutkim th cu trc. V th, k thut kim thng dn hu nhc s dng trong lckim th thnh phn.

    Kim thng dn khng kim tra tt c cc kt hp c th ca ca cc ng dn quachng trnh. Vi bt k thnh phn no ngoi cc thnh phn rt tm thng khng cvng lp, y l mc tiu khng kh thi. Trong chng trnh c cc vng lp s c mt s

    v hn kh nng kt hp ng dn. Thm ch, khi tt c cc lnh ca chng trnh c thc hin t nht mt ln, cc khim khuyt ca chng trnh vn c thc a rakhi cc ng dn c bit c kt hp.

    Dy u vo (T)171717, 21, 23, 299, 16, 18, 30,31,41,4517, 18, 21, 23, 29, 38, 41

    17, 18, 21, 23, 29, 33, 3812, 18, 21, 23, 3221, 23, 29, 33, 38

    Kha (Key)170

    174523

    212325

    u ra (Found,L)true, 1

    false, ??true, 1true, 7true, 4

    true, 3true, 4

    false, ??

    Hnh 3.15 Cc trng hp kim thcho chng trnh tm kim

  • 8/6/2019 Bao Dam Chat Luong Pm

    44/202

    44

    im xut pht kim thng dn l th lung chng trnh. y l m hnhkhung ca tt cng dn qua chng trnh. Mt th lung cha cc nt miu t ccquyt nh v cc cnh trnh by lung iu khin. th lung c xy dng bng cchthay i cc cu lnh iu khin chng trnh s dng biu tng ng. Nu khng ccc cu lnh goto trong chng trnh, l mt qu trnh n gin xut pht t thlung. Mi nhnh trong cu lnh iu kin (if-then-else hoc case) c miu t nh mtng dn ring bit. Mi mi tn trli nt iu kin miu t mt vng lp. Ti vth lung cho phng thc tm kim nh phn trn hnh 3.16. to nn s tng ng gia th ny v chng trnh trn hnh 3.14 c r rng, ti miu t mi cu lnh nh

    mt nt ring bit, cc s trong mi nt tng ng vi s dng trong chng trnh.Mc ch ca kim thng dn l m bo mi ng dn c lp qua chng trnh

    c thc hin t nht mt ln. Mt ng dn chng trnh c lp l mt ng ingang qua t nht mt cnh mi trong th lung. C nhnh ng v nhnh sai ca cciu kin phi c thc hin.

    th lung cho th tc tm kim nh phn c miu t trn hnh 3.16, mi nt biudin mt dng trong chng trnh vi mt cu lnh c th thc hin c. Do , bng

    Hnh 2.16 th lung ca chng trnh tm kim nh phn

  • 8/6/2019 Bao Dam Chat Luong Pm

    45/202

    45

    cch ln vt trn th lung, bn c th nhn ra cc ng dn qua th lung tm kimnh phn:

    1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14

    1, 2, 3, 4, 5, 14

    1, 2, 3, 4, 5, 6, 7, 11, 12, 5,

    1, 2, 3, 4, 5, 6, 7, 11, 13, 5,

    Nu tt c cc ng dn c thc hin, chng ta c thm bo mi cu lnh trongphng thc c thc hin t nht mt ln v mi nhnh c thc hin vi cciu kin ng v sai.

    Bn c th tm c s lng cc ng dn c lp trong mt chng trnh bng tnhton vng lin hp (McCabe, 1976) trong th lung chng trnh. Vi chng trnhkhng c cu lnh goto, gi tr vng lin hp l nhiu hn s cu lnh iu kin trongchng trnh. Mt iu kin n l mt biu thc lgc khng c cc lin kt and hocor. Nu chng trnh bao gm cc iu kin phc hp, l cc biu thc lgc bao gm

    cc lin kt and v or, th bn phi m siu kin n trong cc iu kin phc hpkhi tnh s vng lin hp.

    V vy, nu c 6 cu lnh if v 1 vng lp while v cc biu thc iu kin l n,th s vng lin hp l 8. Nu mt biu thc iu kin l biu thc phc hp nh if A andB or C, th bn tnh n nh 3 iu kin n. Do , s vng lin hp l 10. S vng linhp ca thut ton tm kim nh phn (hnh 3.14) l 4 bi v n c 3 iu kin n ti ccdng 5, 7, 11.

    Sau khi tnh c sng dn c lp qua m chng trnh bng tnh ton s vng linhp, bn thit k cc trng hp th nghim thc hin mi ng dn . S lngtrng hp th nghim nh nht bn cn kim tra tt c cc ng dn tng chngtrnh bng s vng lin hp.

    Thit k trng hp th nghim khng kh khn trong trng hp chng trnh l th tctm kim nh phn. Tuy nhin, khi chng trnh c cu trc nhnh phc tp, c th rt khkhn don c bao nhiu th nghim c thc hin. Trong trng hp , mtngi phn tch chng trnh nng ng c thc s dng pht hin stho s thcthi ca chng trnh.

    Nhng ngi phn tch chng trnh nng ng l cc cng c kim th, cng lm vicvi trnh bin dch. Trong lc bin dch, nhng ngi phn tch ny thm cc ch th phsinh ra m. Chng m s ln mi cu lnh c thc hin. Sau khi chng trnh thc hin, mt bn s tho thc thi c thc in ra. N ch ra nhng phn chng trnh thc thi v khng thc thi bng cch s dng cc trng hp th nghim c bit. Vvy, bn stho thc thi cho php pht hin cc phn chng trnh khng c kim th.

    3.9. Tng ha kim th(Test automation)

    Kim th l mt giai on tn km v nng n trong quy trnh phn mm. Kt qu lnhng cng c kim th l mt trong nhng cng c phn mm u tin c pht trin.Hin nay, cc cng c ny bc l nhiu s thun tin v chng lm gim ng k chi phkim th.

  • 8/6/2019 Bao Dam Chat Luong Pm

    46/202

    46

    Ti tho lun mt cch tip cn tng ha kim th (Mosley v Posey, 2002) vimt khung kim th nh JUnit (Massol v Husted, 2003) c s dng kim th phc hi.JUnit l mt tp cc lp Java c ngi dng mrng to nn mi trng kim th tng. Mi th nghim ring lc thc hin nh mt i tng v mt chng trnhang chy th nghim chy tt c cc th nghim . Cc th nghim nn c vittheo cch chng ch ra h thng kim th c thc hin nh mong mun khng.

    Mt phn mm kim th workbench l mt tp tch hp cc cng c phc v cho qutrnh kim th. Hn na vi cc khung kim th cho php thc hin kim th tng, mtworkbench c th bao gm cc cng c m phng cc phn khc ca h thng v sinh ra d liu th nghim h thng. Hnh 3.17 a ra mt vi cng c c th bao gmtrong mt workbench kim th:

    1. Ngi qun l kim th: qun l qu trnh chy cc th nghim. H gi vt ca dliu th nghim, cc kt qu mong i v chng trnh d dng kim th. Cckhung kim tng ha th nghim nh JUnit l v d ca cc ngi qun l thnghim.

    2. My sinh d liu th nghim: sinh cc d liu th nghim chng trnh. iuny c th thc hin bng cch la chn d liu t csd liu hoc s dng ccmu sinh ngu nhin d liu vi khun dng ng n.

    3. H tin on (Oracle): a ra cc don v kt qu kim th mong mun. Cc htin on c th l phin bn trc ca chng trnh hoc h thng bn mu. Kimth back-to-back , bao gm vic thc hin kim th song song h tin on vchng trnh . Cc khc bit trong cc u ra ca chng c lm ni bt.

    4. H so snh tp tin: so snh cc kt qu th nghim chng trnh vi cc kt qu thnghim trc v bo co cc khc bit gia chng. Cc h so snh c s dngtrong kim th hi quy (cc kt qu thc hin trong cc phin bn khc nhau cso snh). Khi kim th tng c s dng, h so snh c thc gi t bn

    trong cc kim th.5. H sinh bo co: cung cp cc bo co xc nh v a ra cc tin li cho kt

    qu th nghim.

    6. H phn tch ng: thm m vo chng trnh m s ln mi cu lnh cthc thi. Sau khi kimth, mt bn stho thc thi c sinh ra s cho bit mi culnh trong chng trnh c thc hin bao nhiu ln.

    7. H m phng (Simulator): Cc loi h m phng khc nhau c thc cung cp.Mc ch ca cc h m phng l m phng cc my khi chng trnh c thcthi. H m phng giao din ngi dng l cc chng trnh iu khin kch bn mphng nhiu tng tc ng thi ca ngi dng. S dng h m phng cho I/O cngha l bnh thi gian ca dy giao dch c thc lp i lp li.

  • 8/6/2019 Bao Dam Chat Luong Pm

    47/202

    47

    Khi s dng cho kim th h thng ln, cc cng c phi c nh dng v ph hpvi h thng c th. V d:

    1. Cc cng c mi c thc thm vo kim th cc c trng ng dng c th,mt vi cng c hin c c th khng cn n.

    2. Cc kch bn c thc vit cho h m phng giao din ngi dng v cc mu xc nh cho h sinh d liu th nghim. Cc khun dng bo co c th cngphi c xc nh.

    3. Cc tp kt qu th nghim mong mun c th phi chun b bng tay nu khngmt phin bn chng trnh no trc c th dng c nh mt h tin on.

    4. H so snh tp tin mc ch c bit c thc vit bao gm hiu bit v cu trcca kt qu th nghim trn tp tin.

    Mt lng ln thi gian v cng sc thng cn to nn mt workbench th nghimton din. Do , cc workbench hon chnh, nh trn hnh 3.17, chc s dng khipht trin cc h thng ln. Vi cc h thng , ton b chi ph kim th c th ln ti50% tng gi tr pht trin, v vy, n l hiu quu t cho cng c cht lng caoCASE h trvic kim th. Tuy nhin, v cc loi h thng khc nhau yu cu s h trcc loi kim th khc nhau, cc cng c kim th c th khng sn c dng. Rankin(Rankin, 2002) tho lun mt tnh hung trong IBM v miu t thit k ca h thng htrkim th, m h pht trin cho my ch kinh doanh in t.

    Cc im chnh:

    Phn tchc kim th

    Kt qu Don

    FileB so snhM phng

    M ngun Ngi qun l D liu H tin on

    Sinh d liu c t

    bo coBo co ktqu kim th

    ng

    Bo cothc thi

    Chng trnhkim th

    kim th kim th

    kim th

    kim th

    B sinh

    Hnh 3.17 Mt workbench kim th

  • 8/6/2019 Bao Dam Chat Luong Pm

    48/202

    48

    - Kim th c th ch ra s hin din ca cc li trong chng trnh. N khng thchng t khng cn li trong chng trnh.

    - Kim th thnh phn l trch nhim ca ngi pht trin thnh phn. Mt i kimth khc thng thc hin kim th h thng.

    - Kim th tch hp l hot ng kim th h thng ban u khi bn kim th khim

    khuyt ca cc thnh phn tch hp. Kim th pht hnh lin quan n kim thca khch hng v kim th pht hnh nn xc nhn h thng c phn phi cy cc yu cu.

    - Khi kim th h thng, bn nn c gng ph h thng bng cch s dng kinhnghim v cc nguyn tc la chn cc kiu th nghim c hiu qu phthin khim khuyt trong h thng.

    - Kim th giao din dng pht hin cc khim khuyt trong giao din ca ccthnh phn hn hp. Cc khim khuyt trong giao din c th ny sinh bi li trongkhi c cc c t chng trnh, hiu sai cc c t chng trnh, cc li khc hocdo tha nhn bm thi gian khng hp l.

    - Phn hoch tng ng l mt cch xc nh cc th nghim. N ph thuc vovic xc nh cc phn hoch trong tp d liu u vo v u ra, s thc hinchng trnh vi cc gi tr t cc phn hoch . Thng thng, cc gi tr lgi tr ti gii hn ca phn hoch.

    - Kim th cu trc da trn phn tch chng trnh pht hin ng dn quachng trnh v s dng nhng phn tch la chn cc th nghim.

    - Tng ha th nghim lm gim chi ph kim th bng cch h trqu trnhkim th bng cch cng c phn mm.

  • 8/6/2019 Bao Dam Chat Luong Pm

    49/202

    49

    CHNG 4: CC PHNG PHP KIM TH

    Chng ny tp trung vo cc kthutto ra cc trng hp kim thtt v t chi phnht, tt c chng phi tho nhng mc tiu kim thchng trc. Nhc li cc mctiu kim thphn mm l thit kcc trng hp kim thc kh nng tm kim nhiu linht trong phn mm v vi t thi gian v cng sc nht.

    Hin ti pht trin rt nhiu phng thc thit k cc trng hp kim th cho phn mm.Nhng phng php ny u cung cp mt hng kim th c tnh h thng. Qua trnghn na l chng cung cp mt h thng c th gip m bo s hon chnh ca cctrng hp kim th pht hin li cho phn mm.

    Mt sn phm u c thc kim th theo 2 cch:

    Hiu r mt chc nng c th ca mt hm hay mt module. Cc trng hpkim th c th xy dng kim th tt c cc thao tc .

    Hiu r cch hot ng ca mt hm/module hay sn phm. Cc trng hpkim th c thc xy dng m bo tt c cc thnh phn con khp vinhau. l tt c cc thao tc ni b ca hm da vo cc m t v tt c cc

    thnh phn ni b c kim th mt cch thong.Cch tip cn u tin c gi l kim th hp en ( black box testing ) v cch tip cnth hai l gi l kim th hp trng ( white box testing).

    Khi cp n kim th phn mm, black box testing cn c bit nh l kim thmc giao din ( interface ). Mc d tht s th chng c thit k pht hin li. Blackbox testing cn c s dng chng minh kh nng hot ng ca hm hay modulechng trnh v c th c mt chng trnh ln: cc thng su vo c chp nhn nhm t ca hm, gi tr tr v cng hot ng tt, m bo cc d liu t bn ngoi v dnh file d liu c gi/m bo tnh nguyn vn ca d liu khi thc thi hm.

    While box testing l k thut tp trung vo kho st chc ch th tc mt cch chi tit. Ttc nhng ng din tin logic trong chng trnh c kim tra bng nhng trng hp

    kim th kim tra trn cc tp iu kin v cu trc lp c th. k thut ny s kim tratrng thi ca chng trnh ti rt nhiu im trong chng trnh nhm xc gi tr mongi ti cc im nay c khp vi gi tr thc t hay khng.

    Vi tt c cc mc tiu kim nh trn th k thut while box testing c l s dn n mtchng trnh chnh xc tuyt i. Tt c nhng g chng ta cn by gil thit k tt c ccng logic ca chng trnh v sau l ci t tt c cc trng hp kim nh c c.Tuy nhin vic kim nh mt cch thu o tt c cc trng hp l mt bi ton qu lnv tn rt nhiu chi phi. Chng ta hay xem xt v d sau

  • 8/6/2019 Bao Dam Chat Luong Pm

    50/202

    50

    Hnh 4.1. FlowChart

    Bn tri l flowchart cho mt chng trnhn gin c vit bng khon 100 dngm vi mt vng lp chnh thc thi onm bn trong v lp li khng qu 20 ln.Tuy nhin khi tnh ton cho thy i vichng trnh ny c n khong 1014ng c thc thc hin.

    Chng ta lm tip mt php tnh nhanh thy c chi ph dng kim thonchng trnh nay mt cch thu o v chitit. Ta gi s rng kim nh mttrng hp cn chy trung bnh tn mtgiy. V chng trnh kim th s cchy 24 gi mt ngy v chy sut 365ngy mt nm. Vy th chy kim thcho tt c cc trng hp ny cng cn

    phi tn khon 3170 nm.Do kim th mt cch thu o l mtvic bt kh thi cho nhng h thng ln.

    Mc d k thut ny khng th hin thc c trong thc t vi lng ti nguyn c hn,tuy nhin vi mt s lng c gii hn cc ng din tin logic quan trng c chn latrc kim th. Phng php ny c th l rt kh thi

    Ngoi ra cc trng hp kim th cn c th l s kt hp ca c hai k thut trn nhmt c cc mc tiu ca vic kim th.

    V by gichng ta si v chi tit tho lun v k thut kim th hp trng

    4.1. Phng php white-box:

    L phng php kim nghim da vo cu trc/m lnh chng trnh. Phng phpwhite-box kim nghim mt chng trnh (mt phn chng trnh, hay mt h thng, mtphn ca h thng) p ng tt tt c cc gi tr input bao gm c cc gi tr khng nghay khng theo dnh ca chng trnh.

    Phng php kim nghim white-box da trn:

    - Cc cu lnh (statement)

    - ng dn (path)

    - Cc iu kin (condition)- Vng lp (loop)

    - Ng r (branch)

    4.1.1 M t mt s cu trc theo lc :

    Trong cc phng php kim tra tnh ng n ca chng trnh, lc c dng :

    - Tru tng ha c php ca m lnh.

    Begin

    End

    Loo

  • 8/6/2019 Bao Dam Chat Luong Pm

    51/202

    51

    - Lm khun mu cbn cho cc nguyn tc kim tra theo trng hp.

    - Kim tra tnh ng n trn ton b lc .

    -

    4.1.2 Kim tra theo cu lnh: (Statement Testing)

    Thit k qu trnh kim tra sao cho mi cu lnh ca chng trnh c thc hin t nhtmt ln. Phng php kim tra ny xut pht t tng:

    - T phi mt cu lnh c thc hin, nu khng ta khng th bit c c lixy ra trong cu lnh hay khng.

    - Nhng vic kim tra vi mt gi tru vo khng m bo l sng cho mitrng hp.

    V d: on chng trnh thc hin tnh:

    result = 0+1++|value|,

    nu result

  • 8/6/2019 Bao Dam Chat Luong Pm

    52/202

    52

    10 THEN OUTPUT ( result )

    11 ELSE OUTPUT ( too large )

    12 END.

  • 8/6/2019 Bao Dam Chat Luong Pm

    53/202

    53

    V d vi cc b gi tr input:

    maxint = 10, value = -1

    Hay

    maxint = 0, value = -1

    s kim tra c ton b cc cu lnh trong on chng trnh trn.

    Cc vn i vi phng php kim tra theo cu lnh:

    nh gi phng php ny ta xem qua v d sau:

  • 8/6/2019 Bao Dam Chat Luong Pm

    54/202

    54

    Vi cu hi u tin Lc no phc tp hn, ta c cu tr li l B. V vi cu hi tiptheo Lc no cn cc bc kim tra nhiu hn? ta cng tr li l B.

    Tuy nhin, ta thy s ln kim tra ti thiu c th kim tra ton b cc cu lnh nh trncho c 2 hm u l 2. V vy, phng php ny khng tng ng vi s phc tp ca mlnh.

  • 8/6/2019 Bao Dam Chat Luong Pm

    55/202

    55

    4.1.3 Kim tra theo ng dn: (Path Testing)

    L phng php kim tra bao trm mi ng dn ca chng trnh v cn kt hp vilc tin trnh.

    Nhn xt:

    Phng php kim tra theo ng dn ph thuc nhiu vo cc biu thc iu kin. Tuynhin, c nhng trng hp s lng ng dn qu ln (trng hp vng lp). V vythng khng phi l la chn thc t tin hnh vic kim tra tnh ng n ca chng

    trnh.

    if ( A > B)S1;

    S2;

    else

    S3;

    S4;