Tap Bai Giang Kiem Thu Phan Mem

Embed Size (px)

Citation preview

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    1/165

    MC LC

    MC LC ...................................................................................................................................... 1PHN I NN TNG CA KIM THPHN MM ............................................................. 6

    BI 1: C BN V KIM THPHN MM .................................................................. 6A. MC TIU ..................................................................................................................... 6B. NI DUNG..................................................................................................................... 6

    1.1. Cc li phn mm nghim trng trong lch s.......................................................... 61.1.1. Li v php chia du phy ng........................................................................ 61.1.2. S c Y2K ......................................................................................................... 7

    1.2. Li l g? ................................................................................................................... 81.3. Ti sao li xut hin? ................................................................................................ 91.4. Chiph cho vic sa li .......................................................................................... 111.5. Ngi kim th phn mm (software tester) lm nhng g? .................................. 111.6. Nhng t cht no to nn mt tester tt? .............................................................. 12

    C. HNH THC V PHNG PHP GING DY..................................................... 13D.

    TI LIU THAM KHO ............................................................................................ 13

    E. CU HI V BI TP............................................................................................... 13

    BI 2: QUY TRNH PHT TRIN PHN MM........................................................... 14A. MC TIU ................................................................................................................... 14B. NI DUNG................................................................................................................... 14

    2.1. Quy trnhpht trin phn mm ............................................................................... 142.1.1. Cc thnh phn ca phn mm........................................................................ 142.1.2. Cc nhn lc ca d n phn mm.................................................................. 162.1.3. Cc m hnh vng ipht trin phn mm.................................................... 16

    2.2. Thc trng ca qu trnh kim th phn mm........................................................ 232.2.1. Phng chm ca vic kim th phn mm.................................................... 232.2.2.

    nh ngha v thut ng ca qu trnh kim th phn mm ........................... 24

    2.2.3. M hnh ch V................................................................................................. 28

    2.3. Qu trnh nghin cu c t phn mm .................................................................. 302.3.1. Khi u .......................................................................................................... 302.3.2. Thc thi qu trnh xem xtbn c t mc cao............................................ 302.3.3. K thut kim thc t mc thp............................................................... 33

    C. PHNG PHP V HNH THC GING DY..................................................... 33D. TI LIU THAM KHO ............................................................................................ 33E. CU HI V BI TP............................................................................................... 34

    PHN II. NGUYN L KIM THPHN MM.................................................................... 35BI 3: CC PHNG PHP KIM THPHN MM ................................................ 35

    A.

    MC TIU ................................................................................................................... 35

    B. NI DUNG................................................................................................................... 353.1. Phngphp kim th hp trng............................................................................ 353.2. Phngphp kim th hp en .............................................................................. 363.3. Phngphp kim th hp xm ............................................................................. 373.4. Phngphp kim th tnh..................................................................................... 37

    3.4.1. Kim tra cho (Peer review):........................................................................... 383.4.2. Tng duyt (Walk Through):........................................................................... 383.4.3. Thanh tra m ngun (Code Inspection): .......................................................... 39

    3.5. Phngphp kim thng................................................................................... 39

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    2/165

    C. PHNG PHP V HNH THC GING DY..................................................... 40D. TI LIU THAM KHO ............................................................................................ 40E. CU HI V BI TP............................................................................................... 40

    BI 4: CC K THUT KIM THPHN MM........................................................ 41A. MC TIU ................................................................................................................... 41B. NI DUNG................................................................................................................... 41

    4.1. K thut phn vng tng ng ........................................................................... 414.2. K thut phn tch gi tr bin................................................................................. 424.3. K thut on li..................................................................................................... 434.4. K thut da trn use case ...................................................................................... 43

    4.4.1. Nhng kchbn usecase .................................................................................. 464.4.2. Pht sinh testcase............................................................................................. 46

    4.5. K thut ng din tin ca chng trnh (Basic Path Testing)........................... 504.6. Kim tra lung iu khin....................................................................................... 56

    4.6.1. Kim tra c php (biu thc iu kin) ........................................................... 564.6.2. Kim tra vng lp (Loop Testing)................................................................... 58

    4.7. Kim tra lung d liu (Data Flow Testing)........................................................... 60C. PHNG PHP V HNH THC GING DY..................................................... 62D. TI LIU THAM KHO ............................................................................................ 62E. CU HI V BI TP............................................................................................... 62

    BI 5: CC VN CN KIM TH......................................................................... 64A. MC TIU ................................................................................................................... 64B. NI DUNG................................................................................................................... 64

    5.1. Kim th cu hnh................................................................................................... 645.1.1. Kim th cu hnh l g ................................................................................... 645.1.2. Cc bc thc hin kim th cu hnh............................................................ 65

    5.2. Kim th kh nng tng thch .............................................................................. 665.2.1. Kim th kh nng tng thch l g ............................................................... 665.2.2. Cc bc thc hin.......................................................................................... 675.3. Kim th Foreign language ................................................................................. 685.3.1. Kim th Foreign language.......................................................................... 685.3.2. Ti sao cnphi kim tra foreign language..................................................... 685.3.3. Khi no kim th Foreign language ............................................................. 685.3.4. Cc bc tin hnh .......................................................................................... 69

    5.4. Kim th kh nng tin dng.................................................................................. 705.4.1. Kim th kh nng tin dng l g .................................................................. 705.4.2. Kim tra ci t................................................................................................ 705.4.3. Kim tra chc nng kh dng.......................................................................... 715.4.4. Kim tra giao din ngi s dng ................................................................... 71

    5.5. Kim th ti liu ..................................................................................................... 725.6. Kim th bo mt.................................................................................................... 72C. PHNG PHP V HNH THC GING DY..................................................... 73D. TI LIU THAM KHO ............................................................................................ 73E. CU HI V BI TP............................................................................................... 73

    BI 6: CC GIAI ON KIM TH............................................................................. 74A. MC TIU ................................................................................................................... 74B. NI DUNG................................................................................................................... 74

    6.1. Kim chng v xc nhn (V&V) ............................................................................ 74

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    3/165

    6.1.1. T chc vic kim th phn mm ................................................................... 756.1.2. Tiu chun hon thnh kim th ..................................................................... 776.1.3. Chin lc kim th phn mm ...................................................................... 78

    6.2. Kim thn v ...................................................................................................... 816.2.1. Cc xem xt ca kim thn v .................................................................... 816.2.2. Th tc kim thn v .................................................................................. 82

    6.3. Kim th tch hp ................................................................................................... 836.3.1. Tch hp t trn xung .................................................................................... 846.3.2. Tch hp t di ln ........................................................................................ 866.3.3. Lp ti liu cho kim th tch hp................................................................... 87

    6.4. Kim th h thng .................................................................................................. 906.5. Kim th chp nhn ................................................................................................ 936.6. Kim th hi qui ..................................................................................................... 93

    C. PHNG PHP V HNH THC GING DY..................................................... 94D. TI LIU THAM KHO ............................................................................................ 94E. CU HI V BI TP............................................................................................... 95

    PHN III QUY TRNH KIM THPHN MM................................................................ 97BI 7: LP K HOCH KIM TH............................................................................... 97A. MC TIU ................................................................................................................... 97

    B. NI DUNG................................................................................................................... 977.1. Mt s khi nim .................................................................................................... 977.2. Gii thiu v lp k hoch ...................................................................................... 977.3. Xc nh cc yu cu kim tra ................................................................................ 987.4. Xc nh chin lc kim th................................................................................. 997.5. Xc nh ti nguyn (nhn lc, vt lc)................................................................ 1007.6. Kho st ri ro....................................................................................................... 1017.7. Xc nh cc mc kim sot ca giai on test. ................................................... 1017.8. Cc sn phm ........................................................................................................ 102

    C. PHNG PHP V HNH THC GING DY................................................... 102D. TI LIU THAM KHO .......................................................................................... 102E. CU HI V BI TP............................................................................................. 102

    BI 8: THC HNH LP K HOCH KIM TH.................................................... 102BI 9: VIT V THEO DI CC TESTCASES........................................................... 103

    A. MC TIU ................................................................................................................. 103B. NI DUNG................................................................................................................. 103

    9.1. Mc ch ca testcase ........................................................................................... 1039.2. Xy dng cc testcase........................................................................................... 1049.3. Theo di v qun l cc testcase........................................................................... 106

    C. PHNG PHP V HNH THC GING DY................................................... 107D. TI LIU THAM KHO .......................................................................................... 108E. CU HI V BI TP............................................................................................. 108

    BI 10 THC HNH XY DNG CC TESTCASE .................................................. 108BI 11: THC HIN TEST, VIT BO CO V NH GI KT QU .................. 109

    A. MC TIU ................................................................................................................. 109B. NI DUNG................................................................................................................. 109

    11.1. Thc hin test .................................................................................................... 10911.1.1. Chunb mi trng test.............................................................................. 10911.1.2. Thc thi test.................................................................................................. 109

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    4/165

    11.1.3. Thm tra v nh gi kt qu ....................................................................... 110C. PHNG PHP V HNH THC GING DY................................................... 111D. TI LIU THAM KHO .......................................................................................... 111E. CU HI V BI TP............................................................................................. 111

    BI 12: THC HNH THC HIN TEST, VIT BO ................................................. 111PHN IV MT S K NNG TRONG LNH VC KIM TH..................................... 112

    BI 13: KIM THT NG........................................................................................ 112A. MC TIU ................................................................................................................. 112B. NI DUNG................................................................................................................. 112

    13.1. Tng quan v kim th tng ........................................................................ 11313.1.1. Khi nim v kim th tng.................................................................... 11313.1.2. Ti saophi kim th tng...................................................................... 11313.1.3. Khi no s dng Test tools........................................................................... 113

    13.2. Quy trnh kim th tng............................................................................... 11513.3. Gii thiu mt s cng c kim th tng..................................................... 116

    13.3.1. WinRunner................................................................................................... 11613.3.2. Load Runner................................................................................................. 11713.3.3. Quick Test Professional ............................................................................... 11813.3.4. Quality Center .............................................................................................. 120

    13.4. Kim thn v vi Junit ................................................................................. 122C. PHNG PHP V HNH THC GING DY................................................... 125D. TI LIU THAM KHO .......................................................................................... 125E. CU HI V BI TP............................................................................................. 126

    BI 14: THC HNH KIM THT NG.............................................................. 126PHN V: M BO CHT LNG PHN MM ......................................................... 127

    BI 15: KHI NIM M BO CHT LNG ......................................................... 127A. MC TIU ................................................................................................................. 127B. NI DUNG................................................................................................................. 127

    15.1. Cht lng qu trnh v cht lng sn phm .................................................. 13015.2. mbo cht lng v cc chun cht lng................................................... 13215.2.1. ISO 9000 ...................................................................................................... 13515.2.2. Cc chun ti liu ......................................................................................... 138

    15.3. Lp k hoch cht lng ................................................................................... 14015.4. Kim sot cht lng ........................................................................................ 14215.5. R sot cht lng............................................................................................. 142

    C. PHNG PHP V HNH THC GING DY................................................... 144D. TI LIU THAM KHO .......................................................................................... 144E. CU HI V BI TP............................................................................................. 144

    BI 16: QUN L CU HNH ........................................................................................ 146A. MC TIU ................................................................................................................. 146B. NI DUNG................................................................................................................. 146

    16.1. Gii thiu v qun l cu hnh .......................................................................... 14616.2. Cc hot ng ca qun l cu hnh.................................................................. 147

    16.2.1. Lp k hoch qun l cu hnh..................................................................... 14716.2.2. nh danh cc CI (Identifying Configuration Items)................................... 14816.2.3. Kim sot cc phinbn (Version Control)................................................. 14916.2.4. Qun l baseline........................................................................................... 15416.2.5. Kim sot thay i (Change Control) .......................................................... 154

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    5/165

    16.2.6. Bo co trng thi cu hnh (Status Accounting)......................................... 15816.2.7. Auditing........................................................................................................ 15816.2.8. Lu tr, sao chp v d phng..................................................................... 159

    16.3. Vai tr ca cc thnh vin trong d n.............................................................. 16016.4. Cc cng c qun l cu hnh - SVN ................................................................ 161

    16.4.1. SVN l g ...................................................................................................... 16116.4.2. Chc nng .................................................................................................... 162

    C. PHNG PHP V HNH THC GING DY................................................... 165D. TI LIU THAM KHO .......................................................................................... 165E. CU HI V BI TP............................................................................................. 165

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    6/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 6

    PHN I NN TNG CA KIM THPHN MM

    BI 1: CBN V KIM THPHN MM

    A.MC TIU

    1. V kin thc: Cung cp cho sinh vin nhng kin thc- Hiu c li phn mm l g?

    - Hiu c tm quan trng ca kim th phn mm v l dophi kim th

    phn mm

    - Bit c cng vic ca ngi tester, vai tr trch nhim ca tester trong

    tng giai on kim th.

    2. V k nng:

    - Xc nh c cc loi li phn mm: Error, Fault, Failure v mi quan h

    gia chng.

    B. NI DUNG

    1.1. Cc li phn mm nghim trng trong lch s

    1.1.1. Li v php chia du phy ng

    Hnh 1.1: Li my Pentium 1994

    Mt li silicon khin chip Pentium ni ting ca hng sn xut thit b x l

    M gp sai st khi chia s floating-point trong mt chui c th. V d, chia

    4195835.0/3145727.0 s ra 1.33374 thay v 1.33382, sai s 0,0006%. D li nh

    hng n rt t ngi s dng, n tr thnh mt cn c mng v PR (quan h

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    7/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 7

    cng ng) cho Intel. c khong 3 - 5 triu chip gp khim khuyt lu thng

    trn th trng. Intel ban u ch cung cp thit b x l mi cho nhng khch

    hng chng minh c rng cng vic ca hi hi chnh xc cao. Tuy nhin,

    cng ty sau nhn nhng v chp nhn thay th chip cho bt c ai gi phn

    nn. Tng thit hi ca Intel cho li ny l 475 triu USD.

    iu g lm cho chuyn ny ng ch hn l li, l cch x l tnh hung

    ca Intel:

    - Nhng ngi kim th phn mm pht hin ra vn trong khi thc

    hin cc trng hp th nghim trc khi a con chip ny ra th trng.

    Nh qun l Intel quyt nh rng nhng li ny khng qu kht khe v c

    kh nng sa n.

    - Mt khi li c tm thy, Intel c gng gim thiu mc nghim trng

    ca n thng qua cc thng co bo ch v cc pht biu cng khai.

    - Khi p lc, Intel cung cp thay th cc chip b li, nhng ch khi mt

    ngi dng c th chng minh rng ng bnh hng bi li ny

    1.1.2. Sc Y2K

    Hnh 1.2: ScY2K

    Y2K l g? l s c my tnh s xy ra vo nm 2000 i vi mt s

    my chy trn hiu hnh c. Y2K khng chnh hng ln i vi my tnh

    ni mng m cn c th gy tc hi i vi c my tnh c nhn ca bn na bi

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    8/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 8

    n s lm bn nhm ln khng th phn bit c nm no l nm 1900 v nm

    no l nm 2000.

    C l chng kh khn g tng tng s c ny s gy ra nhng kh

    khn nh th no! V d nh mt bn thanh ton, mt h thng tng cc lnh

    c t trn csngy, thng, nm thc hin mt s nhim v no . Hay

    nh qu trnh lu tr vn bn, chuyn tin cc ngn hng, nu nh vn ny

    xy ra, tt c s nh mt "mbng bong" khng th xc nh c.

    Nguyn nhn: do vn khng th nhn bit c s khc bit gia cc

    nm 2000 v 1900 bi v chng c lp trnh vi 2 ch s cui cng nhm tit

    kim chi ph khi m gi c "chip" cn kh t . Khi nhng my ny thm mt

    con s vo sau 99, BIOS st li sm thnh 00. Vn ny l do my tnh

    nhn dng ngy 01/01/00 (ngy 1 thng 1 nm 2000) nh l ngy 1 thng 1 nm

    1900.

    1.2. Li l g?

    Nh cc v dtrn, chuyn g s xy ra nu li phn mm xy ra? iu

    tht bt tin, khi chng trnh game khng hot ng ng, hoc c th l xy

    ra nhng tai nn s mang li nhng tn tht trong cuc sng. C th ch mt vi

    ng sa nhng li , nhng s mt hng triu xc nh hng giiquyt. Trong nhng v d trn r rng l phn mm khng hot ng ng nh

    mong i. L mt ngi kim th phn mm bn phi lm sao pht hin ra li

    ngay c nhng li khng r rng.

    C rt nhiu thut ng din t li. Ti sao li c nhiu nh th? Thc ra

    n ph thuc vo tiu chun ca tng cng ty, ty thuc vo qui trnh m cng ty

    p dng pht trin phn mm .Trc ht, cc bn nn hiu r cc thut

    ng lin quan v li: Li (error):

    L li do con ngi gy ra. Mt tng ngha l mistake, l mt

    s nhm ln hay mt s hiu sai trong qu trnh pht trin phn mm

    ca con ngi. Khi lp trnh vin gy ra li trong qu trnh vit m th

    chng ta gi li ny l bugs.

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    9/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 9

    Sai st (Fault):

    Xut hin trong phn mm nh l kt qu ca error. C th phn

    loi nh sau:

    - Sai st do a ra d tha chng ta a mt vi th khng chnh

    xc vo m t yu cu phn mm.

    - Sai st do b st: Ngi thit k c th gy ra sai st do b st,

    kt qu l thiu mt s phn ng ra phi c trong m t yu cu

    phn mm.

    Hng hc (Failure):

    L kt qu ca mt li xut hin lm chng trnh khng hot

    ng c hoc hot ng nhng khng cho kt qu nhng mong i.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

    lin kt vi mt hng hc v bo hiu cho ngi dng bit s xut hin

    ca hng hc.

    1.3. Ti sao li xut hin?Nhiu trng hp kim thc thc thi trong cc d n t rt nhn

    cc ln, v cho cc kt qu ging nhau. Mt trong s cc nguyn nhn gy ra li l

    khu c t.

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    10/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 10

    Hnh 1.3: Li c gy ra bi nhiu nguyn nhn, nhng phn tch trong mt vi d

    n th nguyn nhn chnh gy ra li tp trung khu c t.

    C mt vi nguyn nhn t khu c t l li ln trong qu trnh sn xut

    phn mm. Trong mt s trng hp n gin khng c ti liu vc t. Nhng

    nguyn nhn khc c th l c t cha hon ton y , lin tc thay i hoc

    lin lc ni kt trong ton i pht trin l khng tt. Vic lp k hoch cho vic

    pht trin phn mm l cc k quan trng, nu khu ny khng c lm tt th

    chc chn c nhiu li xy ra.

    Mt nguyn nhn ln th 2 c th gy ra li l khu thit k. l khu m

    cc lp trnh vin b tr k hoch phn mm ca h. C th so snh khu ny

    ging nh trong thit k mt ta nh vy. Li xy ra trong giai on ny ging

    nh trong khu c t. N c thit k vi vng, thay i cng ngh hay do

    tng tc bi nhiu h thng.

    Li coding th quen thuc vi nhng ngi lp trnh. Nguyn nhn ca

    nhng li ny thng cng xut pht t phc tp ca chng trnh, hay nhng

    ti liu ngho nn (c bit l trong nhng on code c nng cp hoc sa

    li), do p lc v thi gian. iu quan trng ch rng nhng li trong lp trnh

    c th do li c t v thit k gy nn.

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    11/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 11

    1.4. Chi phcho vic sa li

    Hnh 1.4: Biu chiphsa liPhn mm c thit lp theo qui trnh pht trin phn mm. T lc bt u

    d n qua cc khu lp k hoch, lp trnh, kim th v s dng trong cng ng,

    th s pht hin c mt vi li tim nng. Hnh trn cho thy chi ph sa cc li

    ny tng theo thi gian.

    Chi ph sa li tng gp 10 ln theo thi gian. Mt li no c tm thy

    v sa trong giai on u khi m ti liu c tang c vit th chi ph khng

    l bao nhiu ch c th l 1USD cho li ny. Cng li th ny nhng khng c

    pht hin cho n giai on code v kim th th chi ph sa li ny c th

    ln t 10USD n 100USD. V nu li ny khng c pht hin n khi khch

    hng hoc ngi s dng pht hin ra th chi ph c th ln n hng ngn c

    khi l hng t.

    1.5. Ngi kim thphn mm (software tester) lm nhng g?Kim tra cht lng phn mm p ng cc yu cu t ra ca khch hng

    l khu rt quan trng trong bt k qui trnh sn xut no. Sn phm hon thin,

    cht lng cao s to thm nim tin v uy tn ca cng ty i tc. Chnh v vy,

    tester l v tr khng th thiu v cng vic ny quyt inh kh nhiu vo thnh

    cng chung ca d n.

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    12/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 12

    Nhim v chnh ca tester l phi kim tra hot ng ca chng trnh phn

    mm theo yu cu ca khch hng t ra, tm li, chuyn sang nhm lp trnh sa

    cha, ng thi phi don c li ny bt ngun tu, v m bo rng li

    c th sa cha c.

    lm c vic ny, tester phi tm hiu yu cu ca khch hng tht k

    thng qua cc ti liu c t, thit k, t ln k hoch kim th, thit k cc

    trng hp kim th tc l vit cc testcase, chun b mi trng kim th tt.

    Ngoi ra, tester cn phi vit cc ti liu bo co v li, hng dn s dng

    (user guide) v cc ch v sn phm khi pht hnh phn mm (release note).

    1.6. Nhng t cht no to nn mt tester tt?

    Ngy nay hu ht cc cng ty ln u xem kim th phn mm nh l k

    thut chuyn nghip. H nhn ra rng cn phi o to cc k s kim th phn

    mm trong cc d n v cho php p dng vo trong qui trnh pht trin to ra

    mt phn mm c cht lng cao. Tuy nhin, vn cn mt vi cng ty nh

    khng nh gi cao nhim v kh khn ca kim th v gi tr nng lc ca kim

    th.

    Di y l nhng c im m mt tester cn phi c:

    Tnh t m: Ngi kim th phn mm khng ngi tm ti nhng tnhhung cha xc nh r rng, ly mt gi phn mm v ci t ln PCs

    quan st xem nhng g din ra trn .

    Tnh nhy bn: C kh nng tm ra c nguyn nhn ti sao chng

    trnh khng thc hin c, tm ra gii p cho nhng vn kh hiu

    xy ra.

    Tnh nghim khc: Khng ngng tm li, phi xem xt li mt

    cha v c kh ti to li khng hn l b qua li, trng chvo may

    mn. Phi tm v th mi cch tm c nhiu li cng tt.

    Tnh nng ng:

    Tnh mm do, cu ton: C gng thc hin tm li lm cho phn

    mm hon ton sch li, nhng n mt lc no khng tht c

    nh th th ngi kim th nn chp nhn dng khi c th.

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    13/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 13

    Phn on tt: Ngi kim th cn c nhng quyt nh ng n v

    nhng g mnh s kim tra, lm vic trong bao lu, v xem xt vn

    c thc s l li hay khng, on trc cc li c kh nng xy ra.

    C x khn kho: Ngi kim th lun mang li nhng tin xu khng

    vui cho ngi lp trnh. Khi h pht hin li v chuyn sang cho lp

    trnh vin th thng nhn thy s kh chu ca ngi lp trnh. V vy,

    tester cn phi bit cch c x v ngoi giao tt lm vic d dng

    hn.

    Ngoi ra ngi kim th cn phi c tnh kin tr v cng vic kim th

    thng l nhng vic lp li nhiu ln thng gy cm gic chn nn, do vy

    ngi kim th phi kin tr v nn tm ra nhng phng php mi ham thchvi cng vic hn.

    C.HNH THC V PHNG PHP GING DY

    1. Ni dung

    Trnh chiu powerpoint

    t vn , trao i

    2. Sau khi hc xong l thuyt sinh vin vn dng lmbi tp h thng ha likin thc chng.

    D.TI LIU THAM KHO

    1. By Ron Patton: Software Testing, Sams Publishing, 2005 Chapter 1

    2. John.Wiley.and.Sons.The.Art.of.Software.Testing.Second.Edition.Jun.2004.eB

    ook-DDU Chapter 1, 2.

    E. CU HI V BI TP

    1. Mc ch ca ngi kim th phn mm l g?2. Hy cho bit mt vi l do ti sao li xut hin trong qu trnh c t phn

    mm ln hn nhiu so vi li trong m ngun?

    3. Phn bit cc thut ng li, sai st, hng hc v kt qu khng mong i.

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    14/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 14

    BI 2: QUY TRNH PHT TRIN PHN MM

    A.MC TIU

    1. V kin thc

    Cung cp cho sinh vin cc kin thc v:

    - Cc giai on pht trin phn mm, vng i pht trin phn mm SDLC

    v cc giai on kim th phn mm tng ng.

    2. V k nng

    Sau khi hc xongbi ny sinh vin c th:

    - Xc nh v trnh by chi tit khi nim V & V t xc nh c u l

    Validation v u l Verification trong kim th phn mm.

    - Phn tch c mi tng quan gi giai on pht trin v kim th, pht

    trin hng kim th.

    B. NI DUNG

    2.1. Quy trnh pht trin phn mm

    2.1.1. Cc thnh phn ca phn mm

    nh ngha 1:

    Phn mm l tp hp:

    (1) Cc lnh (chng trnh my tnh) khi c thc hin th cung cpnhng chc nng v kt qu mong mun

    (2) Cu trc d liu lm cho chng trnh thao tc thng tin thch hp

    (3) Cc t liu m t thao tc v cch s dng chng trnh

    nh ngha 2:

    Trong mt h thng my tnh, nu tr bi cc thit b v cc loi ph

    kin th phn cn li chnh l cc phn mm.

    Ngha hp: phn mm l dch v chng trnh tng kh nng x l caphn cng my tnh.

    Ngha rng: phn mm l tp tt c cc k thut ng dng thc hin

    nhng dch v chc nng cho cc mc ch no bng phn cng.

    Tm li phn mm l:

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    15/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 15

    Trong :

    Nhm cc k thut, phng php lun bao gm:

    Cc khi nim v trnh t c th ho ca mt h thng

    Cc phng php tip cn v gii quyt vn

    Cc trnh t thit k v pht trin c chun ho (quy trnh) Cc phng php c t, yu cu, thit k h thng, thit k chng

    trnh, kim th, ton b quy trnh qun l pht trin phn mm

    Nhm cc chng trnh l phn giao din vi phn cng, con ngi t

    cc nhm lnh ch th cho my tnh bit trnh t thao tc x l d liu.

    Nhm cc t liu:

    Nhng ti liu hu ch, c gi tr cao v rt cn thit pht trin, vn

    hnh v bo tr phn mm

    ch ra phn mm vi tin cy cao cn phi to ra cc t liu cht

    lng cao: c t yu cu, m t thit k tng loi, iu kin kim th,

    th tc vn hnh, hng dn thao tc

    Nhng yu t khc

    Tm cc kthut,phngphplun

    Nhm ccchng trnh

    Nhm t liu

    Kinh nghim k sKnow - how

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    16/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 16

    Sn xut phn mm ph thuc rt nhiu vo con ngi (k s phn

    mm). Kh nng h thng ho tru tng, kh nng lp trnh, k nng

    cng ngh, kinh nghim lm vic, tm bao qut khc nhau mi

    ngi.

    Phn mm ph thuc nhiu vo tng v k nng ca ngi/ nhm

    tc gi

    2.1.2. Cc nhn lc ca d n phn mm

    Nhn lc ca d n phn mm gm c:

    PM (Project Manager): iu khin, gim st ton b d n t khi bt u

    n kt thc. Trch nhim ca h l vit cc c t ca sn phm, qun

    l lch trnh, v a ra nhng quyt nh quan trng. K s kin trc h thng: l nhng chuyn gia v k thut trong i d

    n. H thng l nhng ngi c kinh nghim v c nng lc trong vic

    thit k kin trc ca ton b h thng v thit k phn mm. H thng

    lm vic mt thit vi nhng lp trnh vin.

    Nhng lp trnh vin, nh pht trin phn mm hay coders l nhng

    ngi c nhim v thit k, vit code v sa li (nu c). H thng

    lm vic vi PM, v nhng k s kin trc to ra sn phm, ngthi h lin h vi tester tm ra bugs.

    Testers v QA l nhng ngi c nhim v tm v bo co li nhng

    vn tn ti trong phn mm. H lm vic gn gi vi tt c cc thnh

    vin trong i d n khipht trin test case cng nh trong khi thc thi

    test, v bo co li khi h tm thy.

    Nhng k thut vin, ngi h trs dng, ngi hng dn s dng

    vit ra cc ti liu giy v trc tuyn i km vi sn phm phn mm.

    Ngi qun l cu hnh c nhim v qun l qu trnh to ra sn phm,

    qun l cc ti liu do cc nh pht trin to ra v tp hp chng li vi

    nhau thnh mt khi thng nht.

    2.1.3. Cc m hnh vng i pht trin phn mm

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    17/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 17

    Vng i phn mm l thi k tnh t tnh t khi phn mm c sinh ra

    cho n khi cht i ( t lc hnh thnh p ng yu cu, vn hnhbo dng cho

    n khi loib khng dng). Qui trnhpht trin phn mm bao gm 3 giai on

    chnh: xc nh, pht trin v bo tr c gp trong mi vic pht trin phn

    mm, bt k ti min ng dng, cd n, phc tp.

    Trong giai on xc nh ngipht trin phn mm c gng tp trung vo

    xc nh thng tin no cn c x l, chc nng v hiu nng no cn c, giao

    din no cn c thit lp, rng buc thit k no hin c v tiu chun hp l

    no cn c xc nh ra mt h thng thnh cng. Giai on ny gm 3 bc:

    Phn tch h thng: Xc nh vai tr ca tng phn t trong h thng

    da trn my tnh, ch ra vai tr m phn mm s gi.

    Lp k hoch d n phn mm: Mt khi phm vi ca phn mm c

    thit lp, ri ro c phn tch, ti nguyn c cppht, chiph c

    c lng th phi xc nh nhim v cng vic v lp lch.

    Phn tch yu cu: Phm vi c xc nh cho phn mm s a ra

    chiu hng nhng cn phi c thm vic xc nh chi tit lnh vc

    thng tin v chc nng trc khi cng vic c th bt u.

    Trong giai on pht trin tp trung vo xc nh cch cu trc d liu vkin trc phn mm cn c thit k, cch cc chi tit th tc c ci t, cch

    dch thit k vo ngn ng lp trnh hay ngn ng phi th tc v cch thc hin

    kim th. Gm c 3 bc:

    Thit k phn mm: Thit k dch cc yu cu v phn mm thnh mt

    tp hp cc biu din (da trn ha,bng hay ngn ng) m t cho

    cu trc d liu, kin trc, th tc thut ton v c trng giao din.

    M ha: Cc biu din thit k c dch thnh ngn ng nhn to

    (ngn ng c th l ngn ng lp trnh qui c hay ngn ng phi th tc

    dng trong hon cnh ca khun cnh 4GT) m s to ra kt qu l cc

    lnh thc hin c trn my tnh.

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    18/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 18

    Kim th phn mm: Mi khi phn mm c ci t di dng m

    my thc hin c cn phi kim th n pht hin cc khim

    khuyt khi vn hnh trong logic v trong ci t.

    Giai on bo tr tp trung vo nhng thay i gn lin vi vic sa li,

    thch ng khi mi trng phn mm tin ha, v s nng cao gy ra bi thay i

    yu cu ngi dng. Giai onbo tr p dng li cc bc ca giai on xc nh

    v pht trin nhng lm vic trong hon cnh phn mm hin c. C 3 kiu

    thay i thng gp trong giai onbo tr:

    Sa i: Phn mm lun c li tim tng. Do vy cho d cc hot ng

    bo m cht lng phn mm tt nht, vn c th l khch hng s

    pht hin ra khim khuyt trong phn mm. Bo tr sa i thay iphn mm sa cc khim khuyt.

    Thch nghi: Qua thi gian, mi trng ban u pht trin phn mm

    c th thay i. Bo tr thch nghi thc hin vic sa i phn mm

    n thch hp vi nhng thay i mi trng bn ngoi.

    Nng cao: Khi phn mm c dng, khch hng/ ngi dng s nhn

    ra nhng chc nng ph c li. Bo tr hon thin mrng phn mm ra

    ngoi cc yu cu chc nng gc ca n.a. M hnh thc nc (Waterfall Model)

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    19/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 19

    y l m hnh pht trin phn mm cin nht. M hnh ny ngh

    cc hot ng c tin hnh nh cc giai on tch bit, giai on sau

    s khng bt u chng no giai on trc cha hon thnh. Sn phm

    u ra ca giai on trc trthnh u vo ca giai on sau.

    Nhng mi tn ngc t di ln trn cho thy nhng sai lm giai

    on trc c thc pht hin giai on sau v i hi vic quayngc ln lm li giai on trc. Tuy nhin ,hot ng quay lui ny

    ch nn c coi l cc ngoi l m thi.

    M hnh thc nc c u im l d qun l. y chnh l m hnh a

    thch ca cc nh qun l d n. Thi gian hon thnh d n thng

    c d bo vi chnh xc hn so vi cc m hnh khc. Cc ti liu

    u ra ca tng giai on cng c xy dng y v h thng hn.

    Tuy nhin m hnh ny c mt s nhc im ln l:

    M hnh i hi mt bn yu cu (requirement) y v chnh

    xc tpha khch hng. Yu cu ny him khi t c bi khch

    hng t khi xc nh c chnh xc h mun g ngay giai on

    u ca d n, sthch ca h cng thay i kh thng xuyn. Vic

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    20/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 20

    lm li cc giai on ban u p ng s thay i ca khch hng

    thng mt rt nhiu cng sc v ph vcu trc ca phn mm.

    Khch hng cn phi kin nhn. H chc tham gia vo d n

    giai on phn tch yu cu v test m thi. Ngoi ra, sn phm s

    chc bn giao khi tt c cc cng vic lin quan c hon

    thnh.

    M hnh thc nc ch nn c s dng khi i d n c kinh

    nghim, yu cu t khch hng c xc nh r ngay tu v t

    c kh nng thay i. Hin nay, m hnh thc nc vn c s

    dng rng ri do tnh gn gi vi cc m hnh pht trin trong cc

    ngnh kthut khc.

    b. M hnh tin ha (Evolutionary model)

    M hnh tin ha c a ra nhm gii quyt nhng kh khn gy ra

    do yu cu ca khch hng khng r rng hoc hay thay i. tng

    ca m hnh ny l pht trin phn mm qua nhiu phin bn, mi phin

    bn c a ra ly kin khch hng, c sa cha, lm mn cho n

    khi t c phin bn hon chnh.

    Ph hp cho cc d n va v nh, cc phn ca d n phc tp v cc

    d n c thi gian sng ngn.

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    21/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 21

    M hnh ny gp kh khn trong cc d n c cu trc h thng ti, tin

    trnh khng r rng.

    c. M hnh nguyn mu (prototyping model)

    Tng t nh m hnh thc nc vi b sung vo cc giai on thc

    hin phn mm mu ngay khi xc nh yu cu nhm mc tiu pht hin

    nhanh cc sai st v yu cu. Cc giai on trong m hnh bn mu phn

    mm c th tin hnh lp i lp li ch khng nht thit phi theo trnh t

    nht nh.

    Ngay sau khi giai on xc nh yu cu, nh pht trin phn mm

    a ra ngay mt bn thit k sb v tin hnh ci t bn mu u tin v

    chuyn cho ngi s dng. Bn mu ny ch nhm miu t cch thc

    phn mm hot ng cng nh cch ngi s dng tng tc vi h thng.

    Ngi s dng sau khi xem xt s phn hi thng tin cn thit li

    cho nh pht trin. Nu ngi s dng ng vi bn mu a th ngi

    pht trin s tin hnh ci t thc s. Ngc li c hai phi quay li giai

    on xc nh yu cu. Cng vic ny c lp li lin tc cho n khi

    ngi s dng ng vi cc bn mu do nh pht trin a ra.

    Nh vy y l mt hng tip cn tt khi cc yu cu cha r rngv kh nh gi c tnh hiu qu ca cc thut ton. Tuy nhin, m hnh

    ny cng c nhc im l tnh cu trc khng cao do khch hng d

    mt tin tng.

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    22/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 22

    d. M hnh xon c ()M hnh ny chnh l s kt hp ca m hnh bn mu thit k v

    m hnh thc nc c lp li nhiu ln. ln lp tip theo h thng s

    c tm hiu v xy dng hon thin hn ln lp trc .

    mi ln lp cc yu cu ca ngi s dng s c hiu ngy

    cng r rng hn v cc bn mu phn mm cng ngy mt hon thin hn.

    Ngoi ra cui mi ln lp s c thm cng on phn tch mc ri ro

    quyt nh xem c nn i tip theo hng ny na hay khng.

    Lp k hoch Phn tch ri ro

    nh gi K ngh

    M hnh ny ph hpvi cc h thng phn mm ln do c kh nng

    kim sot ri ro tng bc tin ha. Tuy nhin vn cha c s dng

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    23/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 23

    rng ri nh m hnh thc nc hoc bn mu do i hi nng lc qun l,

    nng lc phn tch ri ro cao.

    e. M hnh pht trin nhanh (RAD - Rapid Application Development)

    RAD l m hnh tng dn vi chu k pht trin cc ngn. t

    c mc tiu ny, RAD da trn phng php pht trin trn csthnh

    phn ha h thng cng vi vic ti s dng cc thnh phn thch hp.

    RAD thch hp cho nhng h thng qun l thng tin.

    f. M hnh RUP (Rational Unified Process):

    RUP l mt quy trnh vng lp pht trin phn mm c to ra bi

    cng ty Rational Software, mt b phn ca IBM t nm 2002 (IBM

    Rational). RUP l mt lin kt cc kin thc cbn vi cc Artifact v m

    t chi tit vi cc loi activity khc nhau. RUP c cha bn trong sn

    phm IBM Rational Method Composer (RMC) cho php ti u tin trnh.

    Phng php ny gi l phng php pht trin lp (hay phng php tip

    cn lp). N th hin mt quy trnh lp trong mt chu trnh pht trin t

    tng ban u cho ti khi mt sn phm phn mm hon thin, n nh v

    c cht lng c chuyn giao ti ngi dng cui.

    2.2. Thc trng ca qu trnh kim thphn mm

    2.2.1. Phng chm ca vic kim thphn mm

    Phng chm ca vic kim th phn mm l tm ra li trong phn

    mm cng sm cng tt.

    Xem xt cht lng ca phn mm, mc ch ca kim th phn

    mm l tm li cng nhiu cng tt.

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    24/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 24

    Thm vo , kim th nhm xem xt chiph ca vic kim th, do

    vy kim th nhm tm ra nhiu li cng sm trong thi gian lch trnh v

    ngun nhn lc c sn.

    2.2.2. nh ngha v thut ng ca qu trnh kim thphn mm

    2.2.2.1. Kim thphn mm l g? Ti saophi kim thphn mmTrong qu kh khi phn mm cn nh ch vi trm dng m th kim

    th l tng i d dng. Nhng ngi pht trin phn mm thng cho

    rng thut ton ng v phn tch kt cu chng trnh chc chn n

    c bin dch ng. Nu c li th h s sa chng v bin dch li nn

    kim th khng thnh vn . Tuy nhin khi kch cphn mm trnn ln

    hn, h bt u thy rng khng th kim sot ht li v mt nhiu thi

    gian, cng sc cho vic sa li trc khi chuyn sn phm cho khch hng.

    V tm ra tt c cc li trong ngay c chng trnh nh, chng ta s phi

    cho chy kim th vt cn m c th tn km v yu cu nhiu n lc.

    Mt trong cc nguyn nhn lm cho chng trnh kim th t l tht

    ra hu ht nhng ngi pht trin phn mm (ngi lp trnh) bt u bng

    cc nhn thc sai lm rng: Kim th phn mm l mt qui trnh chng minh chng trnh l khng

    c li. Nhiu nh qun l d n cho rng trng hp kim th m khng

    tm ra bt c li no th kim th l thnh cng, ngc li trng hp

    kim th m tm ra mt li mi th l kim th tht bi. y l mt

    kin sai lm. Vic xy dng v thc thi kim th tt cho mt mng ca

    phn mm l thnh cng khi n tm ra nhiu li v c th sa c

    nhng li , v thm ch l chng t rng khng th tm ra thm lino na. Nhng trng hp kim th khng thnh cng l vic kim

    tra phn mm khng ng n, v trong nhiu trng hp, kim th

    khng tm ra mt li no c xem l tht bi, khi m khi nim rng

    mt chng trnh kim th khng c li cbn l khng ng tin cy.

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    25/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 25

    Hoc l mc ch ca kim th l ch ra rng chng trnh thc hin

    ng cc chc nng a ra. C nhiu phn mm hot ng c

    ng chc nng ca n nhng vn cha li. Nhng li lm chng trnh

    khng hot ng c l nhng li qu r rng. Tuy nhin, li vn xy

    ra khi chng trnh hot ng tt cc chc nng.

    Hay kim th l qui trnh thc hin chng t chng trnh lm

    c nhng chc nng cn c.

    Khi bn thc hin kim th mt chng trnh, bn mun a vo

    mt vi d liu. Vic thm d liu thng qua vic thc hin kim th nhm

    a ra tin cy v cht lng phn mm. Vic tng tin cy ca

    chng trnh ngha l phi tm ra li v sa cc li . V th, bn khng

    nn thc hin kim th ch ni rng chng trnh hot ng c, m

    nn ginh rng chng trnh c cha nhiu li (mt ginh hp l cho

    mi chng trnh) v sau hy kim nghim chng trnh tm ra cng

    nhiu li cng tt.

    Vy kim th phn mm l g?

    Kim thphn mm l qu trnh thc thi mt chng trnh vi

    mc ch tm ra li.

    (Glen Myers)

    Gii thch theo mc ch:

    Vic kim nghim dnhin l ni n cc li (error), sai st (fault),

    hng hc (failure) hay cc hu qu (incident). Mt php th l cch chy

    th mt chng trnh phn mm theo cc trng hp th nghim vi mc

    tiu:

    Tm ra li.

    Gii thch s hot ng chnh xc ca phn mm.

    (Paul Jorgensen)

    Mc d nghe c v rt mh, nhng thc s n c nt c o quan

    trng. Vic hiu ng nh ngha ca kim th phn mm c th to ra s

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    26/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 26

    khc bit r rng trong kt qu ca bn. Nu mc ch ca bn ch chng

    minh rng chng trnh khng c li th bn s hng theo mc ch ny,

    lc bn s chn ra nhng d liu kim th no t c kh nng gy ra li

    cho chng trnh. Mt khc nu mc ch ca bn l mun chng minh

    chng trnh c nhiu li th d liu kim th ca bn s l nhng d liu

    c kh nng gy ra li cao.

    Vy ti sao chng ta phi thc hin kim th?

    Li phn mm l chuyn hin nhin ca cuc sng. Chng ta d c

    gng n mc no th thc t ngay c nhng lp trnh vin xut sc cng

    khng th lc no cng vit c nhng on m khng c li. Tnh trung

    binh ngay c nhng lp trnh vin loi tt th cng c t 1 n 3 li trn 100dng lnh. Ngi ta c lng rng vic kim tra tm ra cc li ny

    chim phn na khi lng cng vic phi lm c c mt phn mm

    hot ng c.

    (Software Testing Techniques, Second Edition, by Boris

    Beizer, Van Nostrand Reinhold, 1990, ISBN 1850328803).

    C hai l do chnh: xem xt v cht lng v pht hin li. Cn

    phi thc hin kim th phn mm v li c th xy ra bt c giai on

    no trong qu trnh pht trin phn mm. Ngi ta sn xut cc h thng

    phn mm gia tng tin nghi trong cuc sng nhng thc t khng nh

    k vng, phn mm hot ng khng ng yu cu gy ra nhiu vn bt

    cp v thi gian, tin bc v cng sc.

    V vy, phi thc hin kim th:

    Tm ra li cng sm cng tt c th sa cc li trc khi giao sn

    phm n vi khch hng.

    Gim thiu ri ro trong sut qu trnh thc hin v phn phi i vi

    cht lng phn mm.

    m bo phn mm lm ra p ng c yu cu ca khch hng,

    ngi s dng v cc chun cng nghip.

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    27/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 27

    To s tin tng v cht lng phn mm.

    Rt ra bi hc t cc d n c, hiu gc r nguyn nhn cc khim

    khuyt. T ci tin qu trnh vi d n mi, trnh ti din sai st c.

    Do vy, trong tin trnh pht trin phn mm, giai on kim thng vai tr quan trng. Phn mm cng ln v cng phc tp, th tc kim

    thi hi tn nhiu thi gian v cng sc. V to ra mt sn phm th

    khng phi ch do mt t chc ng ra lm tu n cui, m i hi s

    lin kt, tch hp ca rt nhiu sn phm, th vin lp trnh, ca nhiu t

    chc khc nhau T i hi vic kim nghim phn mm cng ngy

    cng trnn rt quan trng v rt phc tp.

    2.2.2.2. Cc thut nglin quan n kim thphn mm Trng hp kim th(Test case):

    Mt trng hp kim th tng ng vi mt ln thc hin chng trnh

    vi mt tp cc gi tr u vo v mt danh sch cc kt qu u ra

    mong mun.

    Dliu th(Test data):

    D liu u vo cn cung cp cho phn mm trong khi thc thi

    Kch bn kim th: (Test scenario):

    Cc bc thc hin khi kim th.

    Thm tra (Verification):

    Thm tra l tin trnh nhm xc nh u ra ca mt cng on trong

    vic 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.

    Cn phn bit gia Thm tra v Xc nhn

    - Thm tra: thm tra quan tm n vic ngn chn li gia cc

    cng on.

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    28/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 28

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

    li

    2.2.2.3. Nhng nguyn tc cbn ca kim thphn mmTrc khi bt u bt c hot ng kim th no mt k s phn

    mm cng phi hiu bit cc nguyn tc cbn sau trong kim th:

    Mi hot ng kim thu phi theo c yu cu ca khch hng.

    Do mc ch ca kim th l tm ra li nn phn ln cc li (t quan

    im ca khch hng) s lm cho chng trnh khng p ng c yu

    cu ca khch hng.

    Kim th phi c lp k hoch trc khi tht s bt u: Lp k

    hoch kim th c th bt u ngay khi hon thnh xong cc m hnhyu cu. Xc nh chi tit cc trng hp th c th bt u khi cc m

    hnh thit kc hon thin. Do mi kim th c thc lp k

    hoch v thit k trc khi xy dng m chng trnh.

    Kim th ban u nh, sau qu trnh ln dn. Kim th u tin

    c lp k hoch v thc hin thng tp trung vo cc module

    chng trnh ring l. Trong tin trnh kim th, kim th chuyn sang

    ch trng vo cc n lc tm ra cc li trong cc module tch hp v

    cui cng l ton b h thng.

    Khng th kim th mi kha cnh: C nhiu cch kim th cho cc

    chng trnh thm ch c vi cc chng trnh c kch thc va phi.

    V l, khng th thc hin mi cch trong kim th.

    c hiu qu cao nht, qa trnh kim th phi c s tham gia ca bn

    th 3. K s phn mm to ra h thng khng phi l ngi tt nht

    thc hin mi kim th cho phn mm.

    2.2.3. M hnh chV

    M hnh ny nhm gii thch s tng quan gia cc giai on xy

    dng phn mm v cc phng php kim th. mi giai on xy dng

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    29/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 29

    phn mm s tng ng vi mt loi kim th v cn c mt h skim

    th tng ng c thnh lp phc v cho vic kim th.

    Hnh 1.5: M hnh chVV d:

    Giai on: Yu cu phn mm(requiements); Loi kim nghim:

    Kim nghim chp nhn (acceptance test); H s: h skim nghim

    chp nhn (acceptance test spec).

    Giai on: M t chi tit phn mm (specification); Loi kim

    nghim: Kim nghim h thng(system test); H s: h s kim

    nghim h thng (system test spec).

    Giai on: H s kin trc (architecture spec); Loi kim nghim:

    Kim nghim tch hp (integration test); H s: h skim nghim tch

    hp (integration test spec).

    Giai on: Thit k chi tit (detailed design); Loi kim nghim:

    Kim nghim khi (module test); H s: h s kim nghim khi

    (module test spec).

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    30/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 30

    Giai on: Vit m (implementation code); Loi kim nghim: Kim

    nghim n v (unit test); H s: h skim nghim n v (unit test

    spec).

    2.3. Qu trnh nghin cu c t phn mm2.3.1. Khi u

    Kim tra c t l k thut kim th hp en tnh. c t l mt ti

    liu khng phi l mt chng trnh thc hin, v vy n c coi l tnh.

    N c to ra bng cch s dng nhiu ngun d liu t cc nhm nghin

    cu, nhm tm hiu yu cu, v gi tr u vo ca qu trnh thu thp tm

    hiu yu cu.

    Bn s lm g nu i d n ca mnh khng c bn c t? C l d

    n theo m hnh big bang hoc l m hnh code fix lng lo. L mt

    tester trong d n ny l mt v tr kh khn. V sao? Mc ch ca tester l

    tm li cng sm cng tt trc khi d n bc vo giai on code, nu nh

    khng c bn c t th vic tm li kh m thc hin c.

    2.3.2. Thc thi qu trnh xem xt bn c t mc cao

    Xc nh mt sn phm phn mm l qu trnh kh khn. Cc c t

    vi nhiu n s, v s gi tr u vo tp hp li to thnh ti liu cho mt

    sn phm mi. Qu trnh ny i hi phi chnh xc v thng gp phi

    nhiu vn .

    Tm hiu yu cu khch hng:

    Bc u tin trong kim tra c t khng phi l nhy vo v tm

    kim cc li c th m phi c ci nhn tng quan v xem xt mc cao.

    Xem xtbn c t c coi l cng vic tm hiu yu cu, nubn hiu rbn c t th trong qu trnh kim th s thc hin tt hn, hiu qu hn.

    iu d dng nht ca mt tester khi h nhn c mtbn c t l

    gi s mnh ang v tr ca khch hng. Hy lm mt vi nghin cu xem

    khch hng l ai. C th ni chuyn vi ngi marketing, ngibn hng

    c c nhng gi v ngi dng cui. Nu d n l sn phm phn

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    31/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 31

    mm ni b, th tm hiu xem ai s l ngi s dng gp v ni chuyn,

    phng vn h.

    iu quan trng l phi hiu c s mong i ca khch hng. V

    cht lng ca sn phm phn mm l p ng c yu cu ca khch

    hng. L mt tester bn cnphi hiu r yu cu ca khch hng kim

    tra phn mm c t c nhng mong i ca khch hng khng. Tuy

    nhin iu khng c ngha l bnphi l mt chuyn gia trong lnh vc

    ht nhn khi ang test phn mm cho nh my in hay mt phi cng

    chuyn nghip khi test cho mt m phng chuyn bayM bn phi c

    c mt vi hiu bit trong lnh vc mnh ang kim tra bng cch tm

    hiu yu cu r rng.

    Tm hiu cc chun v hng dn c

    Thi gian trc khi c Microsoft Windows v Macintosh ca Apple,

    gn nhu tt c cc sn phm phn mm c giao din ngi dng khc nhau,

    mu sc khc nhau, cu trc menu khc nhau, khng gii hn cch thc m

    file, v v s lnh kh hiu thc hin cng mt task. Vic chuyn t mt

    sn phm sang mt sn phm khc hon ton yu cuphi o to li. May

    mn l c nhng n lc chun ha phn cng v phn mm, c nhiu

    nghin cu su rng v cch mi ngi s dng my tnh. Kt qu l by

    gi chng ta c nhng sn phm hp l tng t nhau. C th ni rng

    cc chun v cc hng dn c thng qua khngphi l hon ho, c

    th c nhiu cch tt hn thc hin mt cng vic, nhng hiu qu

    c ci thin bi s ph bin ny.

    Di y l mt vi v d v cc chun v hng dn:

    Thut ng cng ty v cng c: Nu phn mm ny c thit k

    cho mt cng ty c th th cn p dng cc thut ng ph bin v cc cng

    c thng c cc nhn vin s dng.

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    32/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 32

    Cc yu cu ca ngnh cng nghip: Yu cu ngnh cng nghip.

    Cc ngnh cng nghip y t, dc phm, cng nghip, ti chnh v c cc

    tiu chun rt nghim ngt m phn mm ca h phi tun theo.

    Tiu chun chnhph c bit l qun s u c cc chun nghim

    ngt.

    Giao din ngi dng ha (GUI). Nu phn mm ca bn chy

    di h thng Microsoft Windows hoc iu hnh Apple Macintosh, cc

    chun v hng dn ca phn mm nn c thc hin di nhn v cm

    nhn di gc ca ngi s dng.

    Tiu chun an nnh: Cc giao din v giao thc trong phn mm cn

    phi m ng c cc chunbo mt.

    Cng vic ca tester khngphi l xc nh cc chun v hng dn

    ny, m phi nm c cc chun ny kim tra xc thc phn mm

    Xem xt v th nghim cc phn mm tng t

    Mt trong nhng phngphp hiu c nhng g sn phm ny

    t c l xem xt v th nghim vi phn mm tng t. iu ny c th

    l mt sn phm cnh tranh hoc sn phm tng t vi nhng g d n

    ang to ra. Tt nhin phn mm ny khngphi l yu cu cu khch hng

    nhng n s gip tester c nhng suy nghv cc tnh hung th nghim v

    cch tip cn th nghim.

    Cc vn cn xem xt khi th nghim cc sn phm cnh tranh:

    o Quy m: S c nhiu hoc t hn cc chc nng? t code hn hay

    nhiu hn? C vn chnh lch kch thc trong th nghim

    khng?

    o phc tp: Phn mm cabn c phc tp hn khng? Nhng

    tc ng n phn mmbn ang test.

    o Kh nng kim th c

    o Cht lng v tin cy

    o Bo mt

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    33/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 33

    2.3.3. K thut kim th c t mc thp

    Sau khi hon thnh vic xem xt bn c t mc cao, bn s c

    hiu r hn v sn phm ca mnh v nhng nh hng bn ngoi tc ng

    vo thit k ca phn mm. T nhng thng tin ny chng ta chuyn sang

    kim nghim sn phm mc thp bng cch chun b cc checklist

    kim tra cc c t.

    Danh sch kim tra cc thuc tnh c t. Mt c t tt thng c cc

    c tnh sau:

    o Hon thnh: C thuc tnh nob mt hoc st khng? Bn c t

    c p ng trit mi th trong yu cu ca khch hng khng?

    o chnh xc: Giiphp c xut c ng khng?N c p

    ng ng mc tiu ca sn phm khng? C bt k li no

    khng?

    o Nht qun: M t trong cc chc nng c

    o Tnh kh thi: c sn cng c v ngun lc trong phm vi ngn

    sch v tin qui nh khng?

    o Free code: Bn c t ch xc nh sn phm ch khngphi l

    mt thit k, kin trc hay code cbn ca phn mmo Kim nghim: C thng tin cung cp cho th nghim khng

    Danh sch c t cc thut ng

    Khi kim trabn c t cn ch n cc t ng hoc ng cnh

    khng r rng, c th c nhiu li y:

    C.PHNG PHP V HNH THC GING DY

    1. Ni dung

    Trnh chiu powerpoint

    t vn , trao i

    2. Sau khi hc xong l thuyt sinh vin vn dng lmbi tp h thng ha li

    kin thc chng.

    D.TI LIU THAM KHO

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    34/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 34

    1. By Ron Patton: Software Testing, Sams Publishing, 2005 Chapter 1

    2. John.Wiley.and.Sons.The.Art.of.Software.Testing.Second.Edition.Jun.2004.eB

    ook-DDU Chapter 2.

    E. CU HI V BI TP

    1. Ti sao phi kim th phn mm? Mc tiu kim th l g? T c nhng

    quan nim sai g v kim th phn mm?

    2. Th no l mt ca kim th tt? ca kim th thnh cng? Li ch ph ca kim

    th l g?

    3. C th kim th hon ton mt sn phm phn mm khng? Gii thch ti sao?

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    35/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 35

    PHN II. NGUYN L KIM THPHN MM

    BI 3: CC PHNG PHP KIM THPHN MM

    A.MC TIU

    1. V kin thcCung cp cho sinh vin nhng kin thc:

    - Nhn din v phn bit c kim th tnh, kim th ng.

    - Hiu c 2 phngphp kim th hp trng v kim th hp en.

    - Xc nh, v nhn din c cc k thut kim th hp trng, kim th hp

    en.

    2. V k nng

    Sau khi hc xong chng ny sinh vin c th vn dng nhng kin thc

    vo thc t

    - p dng c cc k thut kim th cu trc, kim th chc nng. Phn

    tch v nh gi c khi no s dng kim th hp trng, kim th hp

    en.

    B. NI DUNG

    3.1. Phng php kim thhp trng

    Kim th hp trng l k thut tp trung vo kho st cht ch cc th tc/

    hm mt cch chi tit. Tt c cc ng din tin logic trong chng trnh c

    kim tra bng nhng trng hp kim th trn cc tp iu kin v cu trc lp c

    th. K thut ny s kim tra trng thi ca chng trnh ti rt nhiu im nhm

    xc nh gi tr mong i ti cc im ny c khp vi gi tr thc t hay khng.

    Vi nhn nh trn th k thut thit k kim th hp trng c l s dn n

    mt chng trnh chnh xc tuyt i. Tt c nhng g chng ta cn lm by gilthit k tt c cc ng logic ca chng trnh, thit k cc trng hp kim th

    thc thi, v nh gi cc kt qu c c.Tuy nhin vic kim th thu o tt

    c cc trng hp l mt bi ton qu ln v tn rt nhiu chi ph, ngay c nhng

    bi ton nh cng c s lng cc ng dn logic l rt ln. Xem xt mt v

    d sau y:

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    36/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 36

    Hnh trn l mt flowchart cho mt chng trnh n gin c vit bng

    khong 100 dng m vi mt vng lp chnh thc thi on m bn trong v lp li

    khng qu 20 ln . Tuy nhin khi tnh ton cho thy i vi chng trnh ny c

    n khong 1014

    ng c th thc hin c. Chng ta c th lm mt php tnhnhanh thy c chi ph dng kim th on chng trnh ny mt cch

    thu o v chi tit. Ta gi s rng kim th mt trng hp cn chy trung

    bnh tn 1s. V chng trnh kim th sc chy l 24h mt ngy v chy sut

    365 ngy mt nm. Vy th kim th tt c cc trng hp ny cng cn phi

    tn khong 3170 nm. Do , kim th mt cch thu o cho cc h thng ln l

    mt vic bt kh thi.

    3.2. Phng php kim thhp enPhng php kim th hp en l phng php tp trung vo yu cu v

    mt chc nng ca phn mm. Phng php ny cho php to ra mt tp cc iu

    kin input kim th tt c cc chc nng ca mt chng trnh. V bn cht,

    kim th hp en khng phi l phng php tri ngc vi kim thc hp trng.

    Begin

    End

    Loo

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    37/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 37

    ng hn y l phng php b sung cho kim th hp trng pht hin ra cc

    li khc m phng php kim th hp trng khng th pht hin ra.

    Kim th hp en pht hin cc li sau:

    Khng ng hay thiu mt s chc nng, hm/module.

    Giao din khng ph hp, li v interface.

    Li v cu trc d liu hay thao tc ln d liu bn ngoi.

    Li thc thi

    Khng ging nh phng php kim th hp trng c thc thc hin

    giai on u ca qu trnh kim th phn mm. Phng php ny tp trung vo

    phn sau ca qu trnh kim th. Mc ch ca kim th hp en l tp trung trn

    cc vng thng tin, hng d liu hay hng vo/ ra. Cc trng hp kim thc to ra da vo bn m t chc nng ch khng phi tp trung trn vng m

    chng trnh.

    3.3. Phng php kim thhp xm

    Kim th hp xm i hi phi c s truy cp ti cu trc d liu v gii

    thut bn trong cho nhng mc ch thit k cc ca kim th, nhng l kim th

    mc ngi s dng hay mc hp en. Vic thao tc ti d liu u vo v nh

    dng d liu u ra l khng r rng, ging nh mt chic hp xm, bi v uvo v u ra r rng l bn ngoi hp en m chng ta vn gi v h thng

    c kim tra. S khc bit ny c bit quan trng khi qun l kim th tch hp

    Intergartion testing gia 2 modun m lnh c vit bi hai chuyn vin thit k

    khc nhau, trong ch giao din l c a ra kim th. Kim th hp xm

    c th cng bao gm c thit ki chiu quyt nh, v d, gi tr bin hay

    thng bo li.

    3.4. Phng php kim th tnh

    L phng php kim th phn mm i hi phi duyt li cc yu cu v

    cc c t bng tay thng qua vic s dng giy, bt kim tra logic, ln tng chi

    tit m khng cn chy chng trnh. Kiu kim th ny thng c s dng bi

    chuyn vin thit k hay nhng ngi vit m lnh mt mnh.

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    38/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 38

    Kim th tnh cng c thc tng ha. N s thc hin kim tra ton

    b bao gm cc chng trnh c phn tch bi mt trnh thng dch hoc bin

    dch m xc nhn tnh hp l v c php ca chng trnh.

    Mc ch ca kim th tnh:

    Tm li trong code v m hnh phn mm sm, gim chi ph cho vic

    sa li.

    D dng c lp li v tm li (bugs) ch khng thng qua triu chng.

    Lm cho phn mm hot ng ng vi yu cu ca khch hng

    3.4.1. Kim tra cho (Peer review):

    Peer review l cch lm thng xuyn ca cc thnh vin trong i d n

    tho lun cng nhtm ra cc sai st trong code ca nhau.

    Peer review c t chc bi mt ngi thit k kin trc h thng vi

    mt hoc nhiu lp trnh vin, v cc tester trong vic kim tra code. Nhm ny

    n gin ch thc hin vic kim tra code cho nhau v tm ra cc li hoc cc sai

    st trong .

    m bo vic kim tra t hiu qu cao th nhng ngi tham gia

    review phi m bo bn yu t trong bui kim duyt chnh thc c a ra:

    tm ra cc vn sai st hay li, p dng theo ng quy tc chun,phi c chun

    b k cho vic kim tra nhcc checklist v code standard, c bo co c th. Bi

    v cc kim tra cho ny thng khng chnh thc nn nhng yu t ny thng

    c thu nh li.

    3.4.2. Tng duyt (Walk Through):

    Walkthrough l mt thut ng m t s xem xt k lng ca mt qu trnh

    mc tru tng trong nh thit k hay lp trnh vin lnh o cc thnh vin

    trong nhm v nhng ngi c quan tm khc thng qua mt sn phm phn

    mm, v nhng ngi tham gia t cu hi, v ghi ch nhng li c th c, s vi

    phm cc chun pht trin v cc vn khc. Walkthrough m lnh l 1 tp cc

    th tc v cc cng ngh d li cho vic c nhm m lnh. Trong mt

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    39/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 39

    Walkthrough, nhm cc nh pht trin vi 3 hoc 4 thnh vin l tt nht thc

    hin xt duyt li. Ch 1 trong cc thnh vin l tc gi ca chng trnh.

    Mt u im khc ca walkthroughs, hiu qu trong chi ph g li, l 1

    thc t m khi mt li c tm thy, n thng c nh v chnh xc trong m

    lnh. Thm vo , phng php ny thng tm ra 1 tp cc li, cho php sau

    cc li c sa tt c vi nhau. Mt khc, kim th da trn my tnh,ch tm

    ra triu chng ca li (chng trnh khng kt thc hoc a ra kt qu v ngha),

    v cc li thng c tm ra v sa ln lt tng li mt.

    3.4.3. Thanh tra m ngun (Code Inspection):

    Thanh tra m ngun l 1 tp hp cc th tc v cc k thut d li cho vic

    c cc nhm m lnh. Mt nhm kim duyt thng gm 4 ngi. Mt trong s

    ng vai tr l ngi iu tit mt lp trnh vin lo luyn v khng c l

    tc gi ca chng trnh v phi khng quen vi cc chi tit ca chng trnh.

    Ngi iu tit c nhim v: phn phi nguyn liu v lp lch cho cc bui kim

    duyt, cho phin lm vic, ghi li tt c cc li c tm thy v m bo l

    cc li sau c sa. Thnh vin th hai l mt lp trnh vin. Cc thnh vin

    cn li trong nhm thng l nh thit k ca chng trnh ( nu nh thit k khc

    lp trnh vin) v mt chuyn vin kim th.3.5. Phng php kim th ng

    L phng php th phn mm thng qua vic dng my chy chng

    trnh kim tra trng thi tc ng ca chng trnh. l kim th da trn

    cc ca kim th xc nh bng s thc hin ca i tng kim th hay chy cc

    chng trnh. Kim thng kim tra cch thc hot ng ng ca m lnh, tc

    l kim tra s phn ng vt l t h thng ti cc bin lun thay i theo thi gian.

    Trong kim thng, phn mm phi thc sc bin dch v chy. Kim thng thc s bao gm lm vic vi phn mm, nhp cc gi tru vo v kim

    tra xem liu u ra c nh mong mun hay khng.

    Mi sn phm phn mm u c th kim th theo 2 cch:

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    40/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 40

    Hiu r mt chc nng c th ca mt hm hay mt module, cc trng

    hp kim thc xy dng kim th tt c cc thao tc ca chng

    trnh nhm tm ra li trong mi chc nng.

    Hiu r cch hot ng ca mt hm/ module hay mt sn phm. Cc

    trng hp kim th c th c xy dng m bo tt c cc thnh

    phn con khp vi nhau. l kim tra tt c cc thao tc bn trong ca

    mt hm da theo cc m t v tt c cc thnh phn ni b mt cch tha

    ng. Cch tip cn u tin l kim th hp en v th hai l kim th hp

    trng.

    C.PHNG PHP V HNH THC GING DY

    1. Ni dung

    Trnh chiu powerpoint

    t vn , trao i

    2. Sau khi hc xong l thuyt sinh vin vn dng lmbi tp h thng ha li

    kin thc chng.

    D.TI LIU THAM KHO

    1. By Ron Patton: Software Testing, Sams Publishing, 2005 Chapter 5,6.

    2. John.Wiley.and.Sons.The.Art.of.Software.Testing.Second.Edition.Jun.2004.eB

    _ook-DDU Chapter 4

    3. Roger S. Pressman: Software Engineering: A Practitioner's Approach, 6th

    Ed., McGraw-Hill, 2004 Chapter 17

    E. CU HI V BI TP

    1. Kim th hp trng da trn csno thit k cc ca kim th? Thit k ca

    kim th phi m bo iu kin g?

    2. M hnh ca kim th hp en quan tm n nhn t no ca phn mm? N

    nhm tm ra cc loi sai no? Nu cc phng php p dng cho n?

    3. Phn bit cc thut ngpeer review, Walkthrough, Code Inspection,

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    41/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 41

    BI 4: CC K THUT KIM THPHN MM

    A.MC TIU

    1. V kin thc

    Cung cp cho sinh vin nhng kin thc:

    - Xc nh v nhn din c cc phng php trong kim th hp trng v

    kim th hp en: kim thng bin, phn vng tng ng, kim th

    bao ph...

    - Nm c cc k thut to ra cc trng hp kim th tt v t chi ph

    nht, tt c chng phi tho nhng mc tiu kim thchng trc.

    - Xc nh, v nhn din c cc k thut kim th hp trng, kim th hp

    en.

    2. V k nng

    Sau khi hc xong chng ny sinh vin c th vn dng nhng kin thc

    vo thc t:

    - p dng c cc k thut kim th cu trc, kim th chc nng.

    - Phn tch v nh gi c khi no s dng kim th hp trng, kim th

    hp en.

    B. NI DUNG

    4.1. K thut phn vng tng ng

    K thut phn vng tng ng l phng php kim th hp en chia

    min u vo ca mt chng trnh thnh cc lp d liu, t pht sinh ra cc

    trng hp kim th.

    Thit k cc trng hp kim th cho phn lp tng ng da trn s

    nh gi v cc lp tng ng vi mt iu kin vo. Lp tng ng biu thcho tp cc trng thi hp l hay khng hp li vi iu kin vo.

    Cc lp tng ng c xc nh bng cch ly mi trng thi u vo

    (thng l mt cu hay mt cm t trong c t) v phn chia n thnh 2 hoc

    nhiu nhm (c th s dng bng di y lit k cc lp tng ng).

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    42/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 42

    H

    Bng 4.1: Mu lit k cc lp tng ng

    Ch l hai kiu lp tng ng c xc nh: lp tng ng hp l

    m t cc u vo hp l ca chng trnh, v lp tng ng khng hp l m

    t tt c cc trng thi khc ca iu kin (v d: cc gi tru vo khng ng).

    Vi mt u vo hay iu kin bn ngoi cho, vic xc nh cc lp tng

    ng hu nh l mt qui trnh mang tnh kinh nghim. xc nh cc lp tng

    ng c th p dng cc nguyn tc sau y:

    Nu mt trng thi u vo nh r gii hn ca cc gi tr, xc nh 1 lp

    tng ng hp l v 2 lp tng ng khng hp l.

    Nu 1 trng thi u vo xc nh s gi tr, xc nh c 1 lp tng

    ng hp l v 2 lp tng ng khng hp l.

    Nu 1 trng thi u vo chnh tp gi tru vo v chng trnh s

    dng mi gi tr l khc nhau, xc nh 1 lp tng ng hp l cho mi

    loi v 1 lp tng ng khng hp l.

    Nu 1 trng thi u vo chnh mt tnh hung chc chn- must be, xcnh 1 lp tng ng hp l v 1 lp tng ng khng hp l.

    4.2. K thut phn tch gi tr bin

    Thc t th phn ln cc li c khuynh hng xut hin ti bin ca vng

    thng tin u vo hn l ti nhng v trgia vng. Do , k thut phn tch

    gi tr bin (BVA) c pht trin. K thut ny s la chn mt s trng hp

    kim th ti cc gi tr bin v l k thut b sung cho k thut phn vng tng

    ng.

    Nguyn tc ca phng php BVA c phn tng t vi phng php phn

    vng tng ng:

    iu kin bn ngoi Cc lp tng nghp l

    Cc lp tng ngkhng hp l

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    43/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 43

    Nu iu kin u vo xc nh mt phm vi c chnh bi 2 gi tr a

    v b, nhng trng hp kim th sc thit k ti cc gi tr bin a v b,

    trn a v di b.

    Nu iu kin u vo xc nh mt phm vi c chnh bi mt tp hp

    nhiu gi tr, nhng trng hp sc kim th ti cc gi tr bin min v

    max ca tp hp , cc gi tr ln hn max v nh hn min cng c

    kim th.

    p dng 2 nguyn tc trn cho gi tr tr v.

    4.3. K thut on li

    Mt k thut thit k test-case khc l error-guessing on li. Testerc a cho mt chng trnh c bit, h phng on c bng trc gic v kinh

    nghim cc loi li c th v sau vit cc trng hp kim tha ra cc li

    .

    Tht kh a ra mt quy trnh cho k thut on li v n l mt quy

    trnh c tnh trc gic cao v khng th don trc. tng cbn l lit k

    mt danh sch cc li c th hay cc trng hp d xy ra li v sau vit cc ca

    kim th da trn danh sch . Mt tng khc xc nh cc ca kim th clin i vi cc ginh m lp trnh vin c th thc hin khi c c t (tc

    l, nhng th b b st khi c t, hoc l do tnh c, hoc l v ngi vit c cm

    gic nhng c t l r rng). Ni cch khc, bn lit k nhng trng hp c

    bit m c th b b st khi chng trnh c thit k.

    4.4. K thut da trn use case

    Trong mt d n phn mm, use case m t nhng yu cu ca h thng

    phn mm. Pht trin use case bt u t rt sm. Theo m hnh RUP, mt use

    case m ty mt lung cc hot ng c thc hin bi h thng cung

    cp mt kt qu d thy ca gi trn con ngi hoc h thng khc s dng sn

    phm. Use case cho khch hng bit kt qu mong i l g, lp trnh vin phi

    code nhng g, ngi k thut phi vit ti liu g, v tester phi test nhng g?

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    44/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 44

    Kim th phn mm bao gm nhiu cng vic tng quan vi nhau, mi

    cng vic c nhng ti liu v kh nng chuyn giao ca ring n vic to test

    case l bc u tin. Sau cc th tc kim th (test procedure) sc thit k

    cho nhng test case ny. Test case l cha kha ca qu trnh kim th bi v

    chng xc nh cc iu kin sc thc thi trong kim th, v chng rt cn

    thit chng t rng vic thc hin cc yu cu ca sn phm l thnh cng v

    c th chp nhn c. Do vy, nhng ngi pht trin phn mm c th bt u

    to ra cc test case cng sm khi use case l hiu dng, trc khi vit code.

    Phn quan trng nht ca mt use case pht sinh ra test case l lung

    nhng s kin. Hai phn chnh ca lung s kin l lung s kin chnh (the basic

    flow of event) v nhng lung s kin pht sinh (the alternative flows of events).

    Basic flow of events s bao trm s kin chnh xy ra khi use case thc thi.

    Alternate flows of events bao trm hnh vi ca iu khng bt buc hay c im

    ngoi l lin quan n hnh vi ngoi l. Bn c th xem alternate flows of events

    nh S lch hng t basic flow of events.

    Hnh 4.2: Lung skin chnh v cc lungph khc trong use case

    Trong hnh trn miu t cu trc c trng ca cc lung s kin. ng

    thng miu t lung s kin chnh, v ng cong miu t nhng lung s kin

    ph khc. Ch rng mt vi lung ph s tr li lung s kin chnh trong khi

    nhng lung s kin ph khc th kt thc use case.

    V d:

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    45/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 45

    Hnh 4.3: M t lung skin chnh trongRegister For Courses

    Hnh 4.4: M t mt vi lung skin khc trongRegister For Courses

    Register For CoursesAlternate Flows

    1. Unidentified Student

    Trong bc 1 ca Basic Flow, Logon, nu h thng xc nh rng student ID and/hay

    password l khng hp l, 1 thng bo li c hin th2. Quit

    Course Registration System cho php student thot khi bt c lc no trong usecase. Student c th chn lu 1 phn ca lch biu trc khi thot. Tt c khahc khng c nh du cng xem nhc nh du chn vo lch biu. Lchbiu c lu vo h thng. Kt thc use case.

    3. Unfulfilled Prerequisites, Course Full, or Schedule Conflicts

    Trong bc 5 ca Basic Flow, Submit Schedule, Nu h thng xc nh m nhngmn tin quyt cho kha c chn m khng tha mn, nhiu kha, hay lch biu cxung t, h thng s khng kt np student vo kha hc . Mt thng bo chin th student c th chn kha khc. Use case tip tc bc 4, Select Courses,trong Basic Flow.

    4. Course Catalog System Unavailable

    Trong bc 3 ca Basic Flow, Obtain Course Information, nu h thng khng thnhcng, 1 thng bo c hin th v use case kt thc.

    5. Course Registration Closed

    Nu, khi use case bt u, n xc nh rng vic ng k thnh cng, 1 thng boc hin th, v use case kt thc

    Register For CoursesBasic Flow1. LogonUse case bt u khi 1 Student truy xut vo Wylie University Web siteH thng yu cu v Student nhp student ID v password2. Select 'Create a Schedule'

    H thng hin th nhng chc nng c th c. Student chn "Create a Schedule.3. Obtain Course Information

    H thng ly danh sch cua sn c c cung cp t Course Catalog System v hin thdanh sch Student4. Select Courses

    Student chn 4 kha hc chnh c cung cp v 2 kha lun phin t danh sch sn c5. Submit Schedule

    Student cho bit bng biu hon thnh. Mi kha c cung cp c chn trn bngbiu, h thng kim tra student chn nhng mn tin quyt cn thit.6. Display Completed Schedule

    H thng hin th lch biu cha nhng kha cung cp c chn v xc thc s lng cholch biu

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    46/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 46

    Nh bn thy, tm quan trng ca vic trnh by chi tit cho use case.

    Lung sc vit nh "dialogs" gia h thng v actors. Mi bc s gii thch

    actor lm g v h thng s hi p g, n sc nh s v c tiu . Alternate

    flows lun ch r chng bt u tu trong Basic Flow v chng khi no chng

    kt thc u.

    4.4.1. Nhng kch bn usecase

    C nhiu th m t trc khi chng ta tp trung vo vic s dng use

    case pht sinh test case nh th no. Mt kch bn use case l mt th hin ca

    use case hoc l mt lung hot ng xuyn sut trong use case. Ngi s dng

    cui ca mt h thng hon chnh c thi qua nhiu ng khi h thc thi mt

    chc nng c t trong use case. Theo , mt lung chnh s l mt kch bn ca

    use case, tip theo basic flow thm vo kch bn khc ca alternate flow 1A. Basic

    flow thm vo kch bn th 3 ca alternate flow 2A,

    Table di y lit k tt c nhng kch bn c th xy ra cho biu biu

    din trong hnh 4.4, bt u vi basic flow v ri kt hp gia basic flow v

    alternate flows.

    Scenario 1 Basic flowScenario 2 Basic flow Alternative flow 1

    Scenario 3 Basic flow Alternative flow 1 Alternative flow 2Scenario 4 Basic flow Alternative flow 3

    Scenario 5 Basic flow Alternative flow 3 Alternative flow 1Scenario 6 Basic flow Alternative flow 3 Alternative flow 1 Alternative flow

    2Scenario 7 Basic flow Alternative flow 4

    Scenario 8 Basic flow Alternative flow 3 Alternative flow 4

    Bng 4.5: Scenarios for the Use Case

    Nhng kch bn ny s s dng nh cs to ra nhng test case.4.4.2. Pht sinh testcase

    Test case l mt tp cc gi tru vo kim th, nhng iu kin thc thi

    v nhng kt qu thc thi c pht trin cho nhng mc tiu ring bit.

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    47/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 47

    Mc tiu ca test case l nhn bit v truyn t nhng iu kin s

    kim th. Test case l tt yu thm tra s thnh cng v c th chp nhn s

    thc thi ca nhng yu cu chc nng (use case).

    Chng ta s m t 3 bc pht trin test case t chi tit y ca use case:

    Cho mi use case pht sinh mt tp y nhng kch bn use case.

    Mi kch bn nhn dng t nht 1 test case v nhng iu kin thc

    thi n

    Cho mi test case nhn bit nhng gi tr d liu km vi n test.

    p dng cho v d trn:

    Bc 1: Pht trin kch bn:

    c m t use case v nhn bit mi kt hp ca basic v alternative flows to ra nhng kch bn v ma trn kch bn. Bng di y biu din ma trn

    kch bn tng phn cho Register for Course use case.

    Scenario name Start flow Alternate

    Scenario 1: Successful registration

    Basic flow

    Basic flow

    Scenario 2: Undentified student Basic flow A1Scenario 3: User quits

    Basic flow A2

    Basic flow A2

    Scenario 4: Course catalog system unvailable Basic flow A4

    Scenario 5: Registration closed

    Basic flow A5

    Basic flow A5

    Scenario 6: Cannot enroll Basic flow A3

    Bng 4.6: Scenarios for the Use Case

    Bc 2: Nhn bit test case

    Khi mt tp y nhng scenario c xc nh, bc tip theo l xc

    nh nhng test case. Chng ta s phn tch scenario v xem xt m t use case. S

    c t nht mt test case cho mi scenario, nhng chc chn s c nhiu hn. Th

    d, nu m t cho mt alternative flow c vit lt qua ging nh m t bn

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    48/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 48

    di 3A Undentifier Prerequisites, Course Full, hay Schedule Conflicts th thm

    vo nhng test case c thc yu cu test tt c nhng kh nng. Thm na,

    chng ta c th thm vo nhng test case test iu kin bin.

    Bc tip theo b sung test case bng cch c li m t use case v tm nhng

    iu kin hay nhng yu t d liu c yu cu thc thi nhng scenario khc

    nhau. Nh use case Register for Course, iu kin s l student ID, password,

    courses c chn

    ti liu test case r rng hn, mt ln na, nh dng ma trn l rt c ch,

    ging nh trn bng 2.13. Ch rng dng trn cng. Ct u tin cha test case

    ID, ct th 2 m t vn tt test case, bao gm scenario c test, v tt c nhng

    ct khc ngoi tr ct cui cng cha nhng yu t d liu m s s dng trong

    vic thc hin test. Ct cui cng cha m t kt quu ra ca test case.

    Ch rng ma trn ny khng c gi tr thc tc nhp. Nhng ca

    table cha V, I hay N/A. V cho bit Valid, I cho bit Invalid, N/A ngha rng n

    khng cn thit cung cp gi tr d liu trong trng hp ny. R rng ma trn

    ny l mt bc trung gian rt tt, n biu din r rng nhng iu kin g l c

    test cho mi test case.

    Bc 3: Nhn bit gi tr d liu test:Khi test case c nhn dng, chng ta s xem xt v xc nhn tnh hp

    lm bo mc chnh xc bng cch chun b test data. Khng c test data,

    test case c th khng c thc hin hay thc thi, chng ch m t nhng iu

    kin, kch bn (scenario) v ng i (paths). V th, test data nhn bit gi tr

    hin thc c s dng trong vic thc hin cui cng ca test. Bng 2.14 biu

    din ma trn test case vi gi tr c thay th cho I v V trong ma trn trc.

    Chng ta c th s dng mt s k thut test trong vic nhn dng d liu.

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    49/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 49

    TestcaseID

    Scenario /Condition

    StudentID

    Password Coursesselected

    Prerequisitesfulfilled

    CourseOpen

    ScheduleOpen

    ExpecResult

    RC1 Scenario 1-successful

    registration

    v v v v v v Schedand

    confirmon numdisplay

    RC2 Scenario 2:Unidentifiedstudent

    I N/A N/A N/A N/A N/A ErrormessaBack loginscreen

    RC3 Scenario 3:Valid userquits

    V V N/A N/A N/A N/A Loginscreenappea

    RC4 Scenario 4:Course

    registrationsystemunvailable

    V V N/A N/A N/A N/A Errormessa

    Back step 2

    RC5 Scenario 5:registrationclosed

    V V N/A N/A N/A N/A ErrormessaBack step 2

    RC6 Scenario 6:cannot enroll

    course full

    V V V V I V ErrormessaBack step 3

    RC7 Scenario 6:cannot enroll

    Prerequisitesnot fulfilled

    V V V I V V Errormessa

    Back step 4

    RC8 Scenario 6:cannot enroll

    scheduleconflict

    V V V V V I ErrormessaBack step 4

    Bng 4.7: Ma trn test case cho Register for course

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    50/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 50

    TestcaseID

    Scenario /Condition

    Student ID Password Coursesselected

    Prerequisites fulfilled

    CourseOpen

    ScheduleOpen

    ExpectResult

    RC1 Scenario 1-successful

    registration

    Jheumann abc123 M101> Yes Yes Yes Scheduand

    confirmnumbedisplay

    RC2 Scenario 2:Unidentifiedstudent

    Jheumann1 N/A N/A N/A N/A N/A ErrormessagBack loginscreen

    RC3 Scenario 3:Valid userquits

    Jheumann abc123 N/A N/A N/A N/A Loginscreenappear

    RC4 Scenario 4:Course

    registrationsystemunvailable

    Jheumann abc123 N/A N/A N/A N/A Errormessag

    Back step 2

    RC5 Scenario 5:registrationclosed

    Jheumann abc123 N/A N/A N/A N/A ErrormessagBack step 2

    RC6 Scenario 6:cannot enroll

    course full

    Jheumann abc123 M101E201S101

    Yes M101

    full

    Yes ErrormessagBack step 3

    RC7 Scenario 6:cannot enroll

    Prerequisites not fulfilled

    Jheumann abc123 M101E201

    S101

    No for

    E201

    Yes Yes Errormessag

    Back step 4

    RC8 Scenario 6:cannot enroll

    scheduleconflict

    Jheumann abc123 M101E201S101

    Yes Yes E202 and

    S101

    conflict

    ErrormessagBack step 4

    Bng 4.8: Ma trn test case vi dliu

    4.5. K thut ng din tin ca chng trnh (Basic Path Testing)

    K thut ng din tin (ng c s) c a ra bi Tom McCabe.

    Phng php ny cho php thit k cc trng hp kim th m bo mi cu

    lnh trong chng trnh c thc hin t nht mt ln.

    Khi nim v lc :

    L mt khi nim n gin biu th lung iu khin chng trnh ca

    mt on m. Trong cc phng php kim tra tnh ng n, lc thng

    dng :

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    51/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 51

    - Tru tng ha c php ca m lnh.

    - Lm khun mu c bn cho cc nguyn tc kim tra theo trng

    hp.

    - Kim tra tnh ng n trn ton b lc .

    Di y l mt vi biu m t cu trc iu khin ca chng trnh:

    Theo hnh trn mi hnh trn l mt nt ca lc , m t mt hoc nhiu

    cu lnh trong chng trnh. Cc mi tn trong lu c gi l cnh, biu din

    cc lung iu khin v tng t nh cc mi tn trong biu tin trnh. Mi

    cnh phi kt thc ti mt nt cho d nt khng cha lnh no. Cc vng cgii hn bi cnh v nt c gi l min. Mi nt cha iu kin c xem l

    nt xc nhn c m t bi hai hoc nhiu cnh xut pht t n.

    phc tp ca lc : l mt so phn mm cung cp phc tp v

    logic ca mt chng trnh. Trong k thut ng din tin th phc tp

    ca lu xc nh sng c lp trong mt tp lnh cbn ca chng

    Ni tip

    (SEQUENCE)WHILE

    UNTIL

    CASEIF

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    52/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 52

    trnh, cho chng ta bin trn s lng testcase sc thit km bo cc

    cu lnh c thc thi t nht mt ln.

    phc tp ca lc c xc nh theo 3 cch:

    - S min ca lu .

    - V(G) = E N + 2

    Vi: E l s cnh ca lu .

    N l s nt ca lu .

    - V(G) = P + 1

    Vi: P l s nt xc nhn iu kin

    Khi nim ng din tin: L mt tp hp lnh c thc thi c th t

    trong chng trnh. n gin hn c th hiu mt on chng trnh hay

    mt chng trnh cha rt nhiu cc ng din tin ti mt lnh iu kin

    r nhnh to ra mt tp ng mi,

    Hinh 4.9:ng din tin

    Theo hnh trn, ta s c 2 ng din tin, mt ng khi iu kin A mang

    gi trng, v mt ng khi iu kin A mang gi tr sai.

    Cc bc xy dng cc trng hp kim th:

    - Dng ti liu source code hay cc ti liu thit k v mt biu m t flowchart ca mt chng trnh hoc hm.

    - Xc nh th V(G)

    - T th V(G) xc nh tp ng c lp tuyn tnh ln nhau.

    - Xy dng nhng trng hp kim th da trn tp ng xc nh

    bc trn.

    iu Kin A

    Lnh thc hin

    False

    True

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    53/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 53

    V d: Xt th tc Average

    - Phn tch th tc Average

    Int Average ()

    {

    /* Hm tnh gi tr trung bnh ca 100 hoc c th t hn cc s */

    int value[100];

    int average,totalinput, totalvalid,

    minimum, maximum, sum;

    int i;

    i=0;

    totalinput = totalvalid =0;

    sum = 0;

    while( value[i]-999 and totalinput = minimum AND value[i] < maximum)

    {

    totalvalid ++;

    sum = sum + value[i]

    }

    i++;

    }

    if( totalvalid > 0 ){

    average = sum/totalvalid

    }

    else{

    average = -999

    }

    1

    23

    4 56

    7

    8

    9

    10

    11

    12

    13

  • 8/2/2019 Tap Bai Giang Kiem Thu Phan Mem

    54/165

    Biging: Kim th v m bo cht lng phn mm

    GV: Trn Th Thy Trinh TCNPM 54

    M lnh ca th tc c phn tch v biu din thnh dng flowchart

    tng ng nh bn trong on m. y chng trnh c 13 im trong

    th.

    - To mt th flow graph biu