You are on page 1of 165

M CL C

M C L C ...................................................................................................................................... 1 PH N I N N T NG C A KI M TH PH N M M ............................................................. 6 BI 1: C B N V KI M TH PH N M M .................................................................. 6 A. M C TIU ..................................................................................................................... 6 B. N I DUNG..................................................................................................................... 6 1.1. Cc l i ph n m m nghim tr ng trong l ch s .......................................................... 6 1.1.1. L i v php chia d u ph y ng........................................................................ 6 1.1.2. S c Y2K ......................................................................................................... 7 1.2. L i l g? ................................................................................................................... 8 1.3. T i sao l i xu t hi n? ................................................................................................ 9 1.4. Chi ph cho vi c s a l i .......................................................................................... 11 1.5. Ng i ki m th ph n m m (software tester) lm nh ng g? .................................. 11 1.6. Nh ng t ch t no t o nn m t tester t t? .............................................................. 12 C. HNH TH C V PHNG PHP GI NG D Y ..................................................... 13 D. TI LI U THAM KH O ............................................................................................ 13 E. CU H I V BI T P............................................................................................... 13 BI 2: QUY TRNH PHT TRI N PH N M M ........................................................... 14 A. M C TIU ................................................................................................................... 14 B. N I DUNG................................................................................................................... 14 2.1. Quy trnh pht tri n ph n m m ............................................................................... 14 2.1.1. Cc thnh ph n c a ph n m m ........................................................................ 14 2.1.2. Cc nhn l c c a d n ph n m m.................................................................. 16 2.1.3. Cc m hnh vng i pht tri n ph n m m.................................................... 16 2.2. Th c tr ng c a qu trnh ki m th ph n m m ........................................................ 23 2.2.1. Phng chm c a vi c ki m th ph n m m.................................................... 23 2.2.2. nh ngha v thu t ng c a qu trnh ki m th ph n m m ........................... 24 2.2.3. M hnh ch V................................................................................................. 28 2.3. Qu trnh nghin c u c t ph n m m .................................................................. 30 2.3.1. Kh i u .......................................................................................................... 30 2.3.2. Th c thi qu trnh xem xt b n c t m c cao............................................ 30 2.3.3. K thu t ki m th c t m c th p............................................................... 33 C. PHNG PHP V HNH TH C GI NG D Y ..................................................... 33 D. TI LI U THAM KH O ............................................................................................ 33 E. CU H I V BI T P............................................................................................... 34 PH N II. NGUYN L KI M TH PH N M M.................................................................... 35 BI 3: CC PHNG PHP KI M TH PH N M M ................................................ 35 A. M C TIU ................................................................................................................... 35 B. N I DUNG................................................................................................................... 35 3.1. Phng php ki m th h p tr ng............................................................................ 35 3.2. Phng php ki m th h p en .............................................................................. 36 3.3. Phng php ki m th h p xm ............................................................................. 37 3.4. Phng php ki m th tnh..................................................................................... 37 3.4.1. Ki m tra cho (Peer review):........................................................................... 38 3.4.2. T ng duy t (Walk Through):........................................................................... 38 3.4.3. Thanh tra m ngu n (Code Inspection): .......................................................... 39 3.5. Phng php ki m th ng ................................................................................... 39

C. PHNG PHP V HNH TH C GI NG D Y ..................................................... 40 D. TI LI U THAM KH O ............................................................................................ 40 E. CU H I V BI T P............................................................................................... 40 BI 4: CC K THU T KI M TH PH N M M........................................................ 41 A. M C TIU ................................................................................................................... 41 B. N I DUNG................................................................................................................... 41 4.1. K thu t phn vng tng ng ........................................................................... 41 4.2. K thu t phn tch gi tr bin................................................................................. 42 4.3. K thu t on l i..................................................................................................... 43 4.4. K thu t d a trn use case ...................................................................................... 43 4.4.1. Nh ng k ch b n usecase .................................................................................. 46 4.4.2. Pht sinh testcase ............................................................................................. 46 4.5. K thu t ng di n ti n c a chng trnh (Basic Path Testing)........................... 50 4.6. Ki m tra lu ng i u khi n....................................................................................... 56 4.6.1. Ki m tra c php (bi u th c i u ki n) ........................................................... 56 4.6.2. Ki m tra vng l p (Loop Testing) ................................................................... 58 4.7. Ki m tra lu ng d li u (Data Flow Testing)........................................................... 60 C. PHNG PHP V HNH TH C GI NG D Y ..................................................... 62 D. TI LI U THAM KH O ............................................................................................ 62 E. CU H I V BI T P............................................................................................... 62 BI 5: CC V N C N KI M TH ......................................................................... 64 A. M C TIU ................................................................................................................... 64 B. N I DUNG................................................................................................................... 64 5.1. Ki m th c u hnh................................................................................................... 64 5.1.1. Ki m th c u hnh l g ................................................................................... 64 5.1.2. Cc b c th c hi n ki m th c u hnh ............................................................ 65 5.2. Ki m th kh nng tng thch .............................................................................. 66 5.2.1. Ki m th kh nng tng thch l g ............................................................... 66 5.2.2. Cc b c th c hi n .......................................................................................... 67 5.3. Ki m th Foreign language ................................................................................. 68 5.3.1. Ki m th Foreign language .......................................................................... 68 5.3.2. T i sao c n ph i ki m tra foreign language..................................................... 68 5.3.3. Khi no ki m th Foreign language ............................................................. 68 5.3.4. Cc b c ti n hnh .......................................................................................... 69 5.4. Ki m th kh nng ti n d ng.................................................................................. 70 5.4.1. Ki m th kh nng ti n d ng l g .................................................................. 70 5.4.2. Ki m tra ci t................................................................................................ 70 5.4.3. Ki m tra ch c nng kh d ng.......................................................................... 71 5.4.4. Ki m tra giao di n ng i s d ng ................................................................... 71 5.5. Ki m th ti li u ..................................................................................................... 72 5.6. Ki m th b o m t.................................................................................................... 72 C. PHNG PHP V HNH TH C GI NG D Y ..................................................... 73 D. TI LI U THAM KH O ............................................................................................ 73 E. CU H I V BI T P............................................................................................... 73 BI 6: CC GIAI O N KI M TH ............................................................................. 74 A. M C TIU ................................................................................................................... 74 B. N I DUNG................................................................................................................... 74 6.1. Ki m ch ng v xc nh n (V&V) ............................................................................ 74

6.1.1. T ch c vi c ki m th ph n m m ................................................................... 75 6.1.2. Tiu chu n hon thnh ki m th ..................................................................... 77 6.1.3. Chi n l c ki m th ph n m m ...................................................................... 78 6.2. Ki m th n v ...................................................................................................... 81 6.2.1. Cc xem xt c a ki m th n v .................................................................... 81 6.2.2. Th t c ki m th n v .................................................................................. 82 6.3. Ki m th tch h p ................................................................................................... 83 6.3.1. Tch h p t trn xu ng .................................................................................... 84 6.3.2. Tch h p t d i ln ........................................................................................ 86 6.3.3. L p ti li u cho ki m th tch h p................................................................... 87 6.4. Ki m th h th ng .................................................................................................. 90 6.5. Ki m th ch p nh n ................................................................................................ 93 6.6. Ki m th h i qui ..................................................................................................... 93 C. PHNG PHP V HNH TH C GI NG D Y ..................................................... 94 D. TI LI U THAM KH O ............................................................................................ 94 E. CU H I V BI T P............................................................................................... 95 PH N III QUY TRNH KI M TH PH N M M................................................................ 97 BI 7: L P K HO CH KI M TH ............................................................................... 97 A. M C TIU ................................................................................................................... 97 B. N I DUNG................................................................................................................... 97 7.1. M t s khi ni m .................................................................................................... 97 7.2. Gi i thi u v l p k ho ch ...................................................................................... 97 7.3. Xc nh cc yu c u ki m tra ................................................................................ 98 7.4. Xc nh chi n l c ki m th ................................................................................. 99 7.5. Xc nh ti nguyn (nhn l c, v t l c)................................................................ 100 7.6. Kh o st r i ro....................................................................................................... 101 7.7. Xc nh cc m c ki m sot c a giai o n test. ................................................... 101 7.8. Cc s n ph m ........................................................................................................ 102 C. PHNG PHP V HNH TH C GI NG D Y ................................................... 102 D. TI LI U THAM KH O .......................................................................................... 102 E. CU H I V BI T P............................................................................................. 102 BI 8: TH C HNH L P K HO CH KI M TH .................................................... 102 BI 9: VI T V THEO DI CC TESTCASES........................................................... 103 A. M C TIU ................................................................................................................. 103 B. N I DUNG................................................................................................................. 103 9.1. M c ch c a testcase ........................................................................................... 103 9.2. Xy d ng cc testcase ........................................................................................... 104 9.3. Theo di v qu n l cc testcase........................................................................... 106 C. PHNG PHP V HNH TH C GI NG D Y ................................................... 107 D. TI LI U THAM KH O .......................................................................................... 108 E. CU H I V BI T P............................................................................................. 108 BI 10 TH C HNH XY D NG CC TESTCASE .................................................. 108 BI 11: TH C HI N TEST, VI T BO CO V NH GI K T QU .................. 109 A. M C TIU ................................................................................................................. 109 B. N I DUNG................................................................................................................. 109 11.1. Th c hi n test .................................................................................................... 109 11.1.1. Chu n b mi tr ng test.............................................................................. 109 11.1.2. Th c thi test.................................................................................................. 109

11.1.3. Th m tra v nh gi k t qu ....................................................................... 110 C. PHNG PHP V HNH TH C GI NG D Y ................................................... 111 D. TI LI U THAM KH O .......................................................................................... 111 E. CU H I V BI T P............................................................................................. 111 BI 12: TH C HNH TH C HI N TEST, VI T BO ................................................. 111 PH N IV M T S K NNG TRONG LNH V C KI M TH ..................................... 112 BI 13: KI M TH T NG........................................................................................ 112 A. M C TIU ................................................................................................................. 112 B. N I DUNG................................................................................................................. 112 13.1. T ng quan v ki m th t ng ........................................................................ 113 13.1.1. Khi ni m v ki m th t ng.................................................................... 113 13.1.2. T i sao ph i ki m th t ng...................................................................... 113 13.1.3. Khi no s d ng Test tools........................................................................... 113 13.2. Quy trnh ki m th t ng............................................................................... 115 13.3. Gi i thi u m t s cng c ki m th t ng..................................................... 116 13.3.1. WinRunner ................................................................................................... 116 13.3.2. Load Runner................................................................................................. 117 13.3.3. Quick Test Professional ............................................................................... 118 13.3.4. Quality Center .............................................................................................. 120 13.4. Ki m th n v v i Junit ................................................................................. 122 C. PHNG PHP V HNH TH C GI NG D Y ................................................... 125 D. TI LI U THAM KH O .......................................................................................... 125 E. CU H I V BI T P............................................................................................. 126 BI 14: TH C HNH KI M TH T NG .............................................................. 126 PH N V: M B O CH T L NG PH N M M ......................................................... 127 BI 15: KHI NI M M B O CH T L NG ......................................................... 127 A. M C TIU ................................................................................................................. 127 B. N I DUNG................................................................................................................. 127 15.1. Ch t l ng qu trnh v ch t l ng s n ph m .................................................. 130 15.2. m b o ch t l ng v cc chu n ch t l ng................................................... 132 15.2.1. ISO 9000 ...................................................................................................... 135 15.2.2. Cc chu n ti li u ......................................................................................... 138 15.3. L p k ho ch ch t l ng ................................................................................... 140 15.4. Ki m sot ch t l ng ........................................................................................ 142 15.5. R sot ch t l ng............................................................................................. 142 C. PHNG PHP V HNH TH C GI NG D Y ................................................... 144 D. TI LI U THAM KH O .......................................................................................... 144 E. CU H I V BI T P............................................................................................. 144 BI 16: QU N L C U HNH ........................................................................................ 146 A. M C TIU ................................................................................................................. 146 B. N I DUNG................................................................................................................. 146 16.1. Gi i thi u v qu n l c u hnh .......................................................................... 146 16.2. Cc ho t ng c a qu n l c u hnh.................................................................. 147 16.2.1. L p k ho ch qu n l c u hnh..................................................................... 147 16.2.2. nh danh cc CI (Identifying Configuration Items) ................................... 148 16.2.3. Ki m sot cc phin b n (Version Control) ................................................. 149 16.2.4. Qu n l baseline ........................................................................................... 154 16.2.5. Ki m sot thay i (Change Control) .......................................................... 154

16.2.6. Bo co tr ng thi c u hnh (Status Accounting)......................................... 158 16.2.7. Auditing........................................................................................................ 158 16.2.8. Lu tr , sao chp v d phng..................................................................... 159 16.3. Vai tr c a cc thnh vin trong d n.............................................................. 160 16.4. Cc cng c qu n l c u hnh - SVN ................................................................ 161 16.4.1. SVN l g...................................................................................................... 161 16.4.2. Ch c nng .................................................................................................... 162 C. PHNG PHP V HNH TH C GI NG D Y ................................................... 165 D. TI LI U THAM KH O .......................................................................................... 165 E. CU H I V BI T P............................................................................................. 165

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

PH N I
BI 1:

N N T NG C A KI M TH
PH N M M

PH N M M

C B N V KI M TH

A. M C TIU 1. V ki n th c: Cung c p cho sinh vin nh ng ki n th c Hi u c l i ph n m m l g? Hi u c t m quan tr ng c a ki m th ph n m m v l do ph i ki m th ph n m m Bi t c cng vi c c a ng i tester, vai tr trch nhi m c a tester trong t ng giai o n ki m th . 2. V k nng: Xc nh c cc lo i l i ph n m m: Error, Fault, Failure v m i quan h gi a chng. B. N I DUNG

1.1.

Cc l i ph n m m nghim tr ng trong l ch s

1.1.1. L i v php chia d u ph y ng

Hnh 1.1: L i

my Pentium 1994

M t l i silicon khi n chip Pentium n i ti ng c a hng s n xu t thi t b x l M g p sai st khi chia s floating-point trong m t chu i c th . V d , chia 4195835.0/3145727.0 s ra 1.33374 thay v 1.33382, sai s 0,0006%. D l i nh h ng n r t t ng i s d ng, n tr thnh m t cn c m ng v PR (quan h
GV: Tr n Th Thy Trinh T CNPM 6

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

c ng ng) cho Intel. c kho ng 3 - 5 tri u chip g p khi m khuy t lu thng trn th tr ng. Intel ban u ch cung c p thi t b x l m i cho nh ng khch hng ch ng minh c r ng cng vi c c a h i h i chnh xc cao. Tuy nhin, cng ty sau nhn nh ng v ch p nh n thay th chip cho b t c ai g i phn nn. T ng thi t h i c a Intel cho l i ny l 475 tri u USD. i u g lm cho chuy n ny ng ch hn l l i, l cch x l tnh hu ng c a Intel: Nh ng ng i ki m th ph n m m pht hi n ra v n trong khi th c hi n cc tr ng h p th nghi m tr c khi a con chip ny ra th tr ng. Nh qu n l Intel quy t nh r ng nh ng l i ny khng qu kh t khe v c kh nng s a n. M t khi l i c tm th y, Intel c g ng gi m thi u m c nghim tr ng c a n thng qua cc thng co bo ch v cc pht bi u cng khai. Khi p l c, Intel cung c p thay th cc chip b l i, nhng ch khi m t ng i dng c th ch ng minh r ng ng b nh h ng b i l i ny 1.1.2. S c Y2K

Hnh 1.2: S c Y2K Y2K l g? l s c my tnh s x y ra vo nm 2000 i v i m t s my ch y trn h i u hnh c. Y2K khng ch nh h ng l n i v i my tnh n i m ng m cn c th gy tc h i i v i c my tnh c nhn c a b n n a b i

GV: Tr n Th Thy Trinh T CNPM

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

n s lm b n nh m l n khng th phn bi t c nm no l nm 1900 v nm no l nm 2000. C l ch ng kh khn g t ng t ng s c ny s gy ra nh ng kh khn nh th no! V d nh m t b n thanh ton, m t h th ng t ng cc l nh c t trn c s ngy, thng, nm th c hi n m t s nhi m v no . Hay nh qu trnh lu tr vn b n, chuy n ti n cc ngn hng, n u nh v n ny x y ra, t t c s nh m t "m bng bong" khng th xc nh c. Nguyn nhn: do v n khng th nh n bi t c s khc bi t gi a cc nm 2000 v 1900 b i v chng c l p trnh v i 2 ch s cu i cng nh m ti t ki m chi ph khi m gi c "chip" cn kh t . Khi nh ng my ny thm m t con s vo sau 99, BIOS s t l i s m thnh 00. V n ny l do my tnh nh n d ng ngy 01/01/00 (ngy 1 thng 1 nm 2000) nh l ngy 1 thng 1 nm 1900.

1.2.

L i l g?
Nh cc v d trn, chuy n g s x y ra n u l i ph n m m x y ra? i u

th t b t ti n, khi chng trnh game khng ho t ng ng, ho c c th l x y ra nh ng tai n n s mang l i nh ng t n th t trong cu c s ng. C th ch m t vi ng s a nh ng l i , nhng s m t hng tri u xc nh h ng gi i quy t. Trong nh ng v d trn r rng l ph n m m khng ho t ng ng nh mong i. L m t ng i ki m th ph n m m b n ph i lm sao pht hi n ra l i ngay c nh ng l i khng r rng. C r t nhi u thu t ng di n t l i. T i sao l i c nhi u nh th ? Th c ra n ph thu c vo tiu chu n c a t ng cng ty, ty thu c vo qui trnh m cng ty p d ng pht tri n ph n m m .Tr c h t, cc b n nn hi u r cc thu t ng lin quan v l i: L i (error): L l i do con ng i gy ra. M t t ng ngha l mistake, l m t s nh m l n hay m t s hi u sai trong qu trnh pht tri n ph n m m c a con ng i. Khi l p trnh vin gy ra l i trong qu trnh vi t m th chng ta g i l i ny l bugs.
GV: Tr n Th Thy Trinh T CNPM 8

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Sai st (Fault): Xu t hi n trong ph n m m nh l k t qu c a error. C th phn lo i nh sau: Sai st do a ra d th a chng ta a m t vi th khng chnh xc vo m t yu c u ph n m m. Sai st do b st: Ng i thi t k c th gy ra sai st do b st, k t qu l thi u m t s ph n ng ra ph i c trong m t yu c u ph n m m. H ng hc (Failure): L k t qu c a m t l i xu t hi n lm chng trnh khng ho t ng c ho c ho t ng nhng khng cho k t qu nhng mong i. X y ra khi sai st c th c thi. (Khi th c thi chng trnh t i cc ni b sai th s x y ra tr ng thi h ng hc). K t qu khng mong i, h u qu (Incident): L nh ng k t qu do sai st em n. H u qu l cc tri u ch ng lin k t v i m t h ng hc v bo hi u cho ng i dng bi t s xu t hi n c a h ng hc.

1.3.

T i sao l i xu t hi n?
Nhi u tr ng h p ki m th c th c thi trong cc d n t r t nh n

c c l n, v cho cc k t qu gi ng nhau. M t trong s cc nguyn nhn gy ra l i l khu c t .

GV: Tr n Th Thy Trinh T CNPM

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Hnh 1.3: L i c gy ra b i nhi u nguyn nhn, nhng phn tch trong m t vi d n th nguyn nhn chnh gy ra l i t p trung khu c t . C m t vi nguyn nhn t khu c t l l i l n trong qu trnh s n xu t ph n m m. Trong m t s tr ng h p n gi n khng c ti li u v c t . Nh ng nguyn nhn khc c th l c t cha hon ton y , lin t c thay i ho c lin l c n i k t trong ton i pht tri n l khng t t. Vi c l p k ho ch cho vi c pht tri n ph n m m l c c k quan tr ng, n u khu ny khng c lm t t th ch c ch n c nhi u l i x y ra. M t nguyn nhn l n th 2 c th gy ra l i l khu thi t k . l khu m cc l p trnh vin b tr k ho ch ph n m m c a h . C th so snh khu ny gi ng nh trong thi t k m t ta nh v y. L i x y ra trong giai o n ny gi ng nh trong khu c t . N c thi t k v i vng, thay i cng ngh hay do tng tc b i nhi u h th ng. L i coding th quen thu c v i nh ng ng i l p trnh. Nguyn nhn c a nh ng l i ny th ng cng xu t pht t ph c t p c a chng trnh, hay nh ng ti li u ngho nn ( c bi t l trong nh ng o n code c nng c p ho c s a l i), do p l c v th i gian. i u quan tr ng ch r ng nh ng l i trong l p trnh c th do l i c t v thi t k gy nn.
GV: Tr n Th Thy Trinh T CNPM 10

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

1.4.

Chi ph cho vi c s a l i

Hnh 1.4: Bi u chi ph s a l i Ph n m m c thi t l p theo qui trnh pht tri n ph n m m. T lc b t u d n qua cc khu l p k ho ch, l p trnh, ki m th v s d ng trong c ng ng, th s pht hi n c m t vi l i ti m nng. Hnh trn cho th y chi ph s a cc l i ny tng theo th i gian. Chi ph s a l i tng g p 10 l n theo th i gian. M t l i no c tm th y v s a trong giai o n u khi m ti li u c t ang c vi t th chi ph khng l bao nhiu ch c th l 1USD cho l i ny. Cng l i th ny nhng khng c pht hi n cho n giai o n code v ki m th th chi ph s a l i ny c th ln t 10USD n 100USD. V n u l i ny khng c pht hi n n khi khch hng ho c ng i s d ng pht hi n ra th chi ph c th ln n hng ngn c khi l hng t .

1.5.

Ng i ki m th ph n m m (software tester) lm nh ng g?
Ki m tra ch t l ng ph n m m p ng cc yu c u t ra c a khch hng

l khu r t quan tr ng trong b t k qui trnh s n xu t no. S n ph m hon thi n, ch t l ng cao s t o thm ni m tin v uy tn c a cng ty i tc. Chnh v v y, tester l v tr khng th thi u v cng vi c ny quy t inh kh nhi u vo thnh cng chung c a d n.
GV: Tr n Th Thy Trinh T CNPM 11

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Nhi m v chnh c a tester l ph i ki m tra ho t ng c a chng trnh ph n m m theo yu c u c a khch hng t ra, tm l i, chuy n sang nhm l p trnh s a ch a, ng th i ph i d on c l i ny b t ngu n t u, v m b o r ng l i c th s a ch a c. lm c vi c ny, tester ph i tm hi u yu c u c a khch hng th t k thng qua cc ti li u c t , thi t k , t ln k ho ch ki m th , thi t k cc tr ng h p ki m th t c l vi t cc testcase, chu n b mi tr ng ki m th t t. Ngoi ra, tester cn ph i vi t cc ti li u bo co v l i, h ng d n s d ng (user guide) v cc ch v s n ph m khi pht hnh ph n m m (release note).

1.6.

Nh ng t ch t no t o nn m t tester t t?
Ngy nay h u h t cc cng ty l n u xem ki m th ph n m m nh l k

thu t chuyn nghi p. H nh n ra r ng c n ph i o t o cc k s ki m th ph n m m trong cc d n v cho php p d ng vo trong qui trnh pht tri n t o ra m t ph n m m c ch t l ng cao. Tuy nhin, v n cn m t vi cng ty nh khng nh gi cao nhi m v kh khn c a ki m th v gi tr nng l c c a ki m th . D i y l nh ng c i m m m t tester c n ph i c: Tnh t m: Ng i ki m th ph n m m khng ng i tm ti nh ng tnh hu ng cha xc nh r rng, l y m t gi ph n m m v ci t ln PCs quan st xem nh ng g di n ra trn . Tnh nh y bn: C kh nng tm ra c nguyn nhn t i sao chng trnh khng th c hi n c, tm ra gi i p cho nh ng v n kh hi u x y ra. Tnh nghim kh c: Khng ng ng tm l i, ph i xem xt l i m t cha v c kh ti t o l i khng hn l b qua l i, trng ch vo may m n. Ph i tm v th m i cch tm c nhi u l i cng t t. Tnh nng ng: Tnh m m d o, c u ton: C g ng th c hi n tm l i lm cho ph n m m hon ton s ch l i, nhng n m t lc no khng th t c nh th th ng i ki m th nn ch p nh n d ng khi c th .
GV: Tr n Th Thy Trinh T CNPM 12

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Phn on t t: Ng i ki m th c n c nh ng quy t nh ng n v nh ng g mnh s ki m tra, lm vi c trong bao lu, v xem xt v n c th c s l l i hay khng, on tr c cc l i c kh nng x y ra. C x khn kho: Ng i ki m th lun mang l i nh ng tin x u khng vui cho ng i l p trnh. Khi h pht hi n l i v chuy n sang cho l p trnh vin th th ng nh n th y s kh ch u c a ng i l p trnh. V v y, tester c n ph i bi t cch c x v ngo i giao t t lm vi c d dng hn. Ngoi ra ng i ki m th c n ph i c tnh kin tr v cng vi c ki m th th ng l nh ng vi c l p l i nhi u l n th ng gy c m gic chn n n, do v y ng i ki m th ph i kin tr v nn tm ra nh ng phng php m i ham thch v i cng vi c hn. C. HNH TH C V PHNG PHP GI NG D Y 1. N i dung Trnh chi u powerpoint t v n , trao i 2. Sau khi h c xong l thuy t sinh vin v n d ng lm bi t p h th ng ha l i ki n th c chng. D. TI LI U THAM KH O 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 H I V BI T P 1. M c ch c a ng i ki m th ph n m m l g? 2. Hy cho bi t m t vi l do t i sao l i xu t hi n trong qu trnh c t ph n m m l n hn nhi u so v i l i trong m ngu n? 3. Phn bi t cc thu t ng l i, sai st, h ng hc v k t qu khng mong i.

GV: Tr n Th Thy Trinh T CNPM

13

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

BI 2: A. M C TIU

QUY TRNH PHT TRI N PH N M M

1. V ki n th c Cung c p cho sinh vin cc ki n th c v : Cc giai o n pht tri n ph n m m, vng i pht tri n ph n m m SDLC v cc giai o n ki m th ph n m m tng ng. 2. V k nng Sau khi h c xong bi ny sinh vin c th : Xc nh v trnh by chi ti t khi ni m V & V t xc nh c u l Validation v u l Verification trong ki m th ph n m m. Phn tch c m i tng quan gi giai o n pht tri n v ki m th , pht tri n h ng ki m th . B. N I DUNG

2.1.

Quy trnh pht tri n ph n m m


nh ngha 1: Ph n m m l t p h p: (1) Cc l nh (chng trnh my tnh) khi c th c hi n th cung c p

2.1.1. Cc thnh ph n c a ph n m m

nh ng ch c nng v k t qu mong mu n (2) C u trc d li u lm cho chng trnh thao tc thng tin thch h p (3) Cc t li u m t thao tc v cch s d ng chng trnh nh ngha 2: Trong m t h th ng my tnh, n u tr b i cc thi t b v cc lo i ph ki n th ph n cn l i chnh l cc ph n m m. Ngha h p: ph n m m l d ch v chng trnh tng kh nng x l c a ph n c ng my tnh. Ngha r ng: ph n m m l t p t t c cc k thu t ng d ng th c hi n nh ng d ch v ch c nng cho cc m c ch no b ng ph n c ng. Tm l i ph n m m l:

GV: Tr n Th Thy Trinh T CNPM

14

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Tm cc k thu t, phng php lu n

Nhm cc chng trnh

Nhm t li u

Kinh nghi m k s Know - how

Trong : Nhm cc k thu t, phng php lu n bao g m: Cc khi ni m v trnh t c th ho c a m t h th ng Cc phng php ti p c n v gi i quy t v n Cc trnh t thi t k v pht tri n c chu n ho (quy trnh) Cc phng php c t , yu c u, thi t k h th ng, thi t k chng trnh, ki m th , ton b quy trnh qu n l pht tri n ph n m m Nhm cc chng trnh l ph n giao di n v i ph n c ng, con ng i t cc nhm l nh ch th cho my tnh bi t trnh t thao tc x l d li u. Nhm cc t li u: Nh ng ti li u h u ch, c gi tr cao v r t c n thi t pht tri n, v n hnh v b o tr ph n m m ch ra ph n m m v i tin c y cao c n ph i t o ra cc t li u ch t l ng cao: c t yu c u, m t thi t k t ng lo i, i u ki n ki m th , th t c v n hnh, h ng d n thao tc Nh ng y u t khc
15

GV: Tr n Th Thy Trinh T CNPM

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

S n xu t ph n m m ph thu c r t nhi u vo con ng i (k s ph n m m). Kh nng h th ng ho tr u t ng, kh nng l p trnh, k nng cng ngh , kinh nghi m lm vi c, t m bao qut khc nhau ng i. Ph n m m ph thu c nhi u vo t ng v k nng c a ng i/ nhm tc gi 2.1.2. Cc nhn l c c a d n ph n m m Nhn l c c a d n ph n m m g m c: PM (Project Manager): i u khi n, gim st ton b d n t khi b t u n k t thc. Trch nhi m c a h l vi t cc c t c a s n ph m, qu n l l ch trnh, v a ra nh ng quy t nh quan tr ng. K s ki n trc h th ng: l nh ng chuyn gia v k thu t trong i d n. H th ng l nh ng ng i c kinh nghi m v c nng l c trong vi c thi t k ki n trc c a ton b h th ng v thi t k ph n m m. H th ng lm vi c m t thi t v i nh ng l p trnh vin. Nh ng l p trnh vin, nh pht tri n ph n m m hay coders l nh ng ng i c nhi m v thi t k , vi t code v s a l i (n u c). H th ng lm vi c v i PM, v nh ng k s ki n trc t o ra s n ph m, ng th i h lin h v i tester tm ra bugs. Testers v QA l nh ng ng i c nhi m v tm v bo co l i nh ng v n t n t i trong ph n m m. H lm vi c g n gi v i t t c cc thnh vin trong i d n khi pht tri n test case cng nh trong khi th c thi test, v bo co l i khi h tm th y. Nh ng k thu t vin, ng i h tr s d ng, ng i h ng d n s d ng vi t ra cc ti li u gi y v tr c tuy n i km v i s n ph m ph n m m. Ng i qu n l c u hnh c nhi m v qu n l qu trnh t o ra s n ph m, qu n l cc ti li u do cc nh pht tri n t o ra v t p h p chng l i v i nhau thnh m t kh i th ng nh t. 2.1.3. Cc m hnh vng i pht tri n ph n m m
GV: Tr n Th Thy Trinh T CNPM 16

m i

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Vng i ph n m m l th i k tnh t

tnh t khi ph n m m c sinh ra

cho n khi ch t i ( t lc hnh thnh p ng yu c u, v n hnh b o d ng cho n khi lo i b khng dng). Qui trnh pht tri n ph n m m bao g m 3 giai o n chnh: xc nh, pht tri n v b o tr c g p trong m i vi c pht tri n ph n m m, b t k t i mi n ng d ng, c d n, ph c t p. Trong giai o n xc nh ng i pht tri n ph n m m c g ng t p trung vo xc nh thng tin no c n c x l, ch c nng v hi u nng no c n c, giao di n no c n c thi t l p, rng bu c thi t k no hi n c v tiu chu n h p l no c n c xc nh ra m t h th ng thnh cng. Giai o n ny g m 3 b c: Phn tch h th ng: Xc nh vai tr c a t ng ph n t trong h th ng d a trn my tnh, ch ra vai tr m ph n m m s gi . L p k ho ch d n ph n m m: M t khi ph m vi c a ph n m m c thi t l p, r i ro c phn tch, ti nguyn c c p pht, chi ph c c l ng th ph i xc nh nhi m v cng vi c v l p l ch. Phn tch yu c u: Ph m vi c xc nh cho ph n m m s a ra chi u h ng nhng c n ph i c thm vi c xc nh chi ti t lnh v c thng tin v ch c nng tr c khi cng vi c c th b t u. Trong giai o n pht tri n t p trung vo xc nh cch c u trc d li u v ki n trc ph n m m c n c thi t k , cch cc chi ti t th t c c ci t, cch d ch thi t k vo ngn ng l p trnh hay ngn ng phi th t c v cch th c hi n ki m th . G m c 3 b c: Thi t k ph n m m: Thi t k d ch cc yu c u v ph n m m thnh m t t p h p cc bi u di n (d a trn h a, b ng hay ngn ng ) m t cho c u trc d li u, ki n trc, th t c thu t ton v c trng giao di n. M ha: Cc bi u di n thi t k c d ch thnh ngn ng nhn t o (ngn ng c th l ngn ng l p trnh qui c hay ngn ng phi th t c dng trong hon c nh c a khun c nh 4GT) m s t o ra k t qu l cc l nh th c hi n c trn my tnh.

GV: Tr n Th Thy Trinh T CNPM

17

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Ki m th ph n m m: M i khi ph n m m c ci t d i d ng m my th c hi n c c n ph i ki m th n pht hi n cc khi m khuy t khi v n hnh trong logic v trong ci t. Giai o n b o tr t p trung vo nh ng thay i g n li n v i vi c s a l i, thch ng khi mi tr ng ph n m m ti n ha, v s nng cao gy ra b i thay i yu c u ng i dng. Giai o n b o tr p d ng l i cc b c c a giai o n xc nh v pht tri n nhng lm vi c trong hon c nh ph n m m hi n c. C 3 ki u thay i th ng g p trong giai o n b o tr: S a i: Ph n m m lun c l i ti m tng. Do v y cho d cc ho t ng b o m ch t l ng ph n m m t t nh t, v n c th l khch hng s pht hi n ra khi m khuy t trong ph n m m. B o tr s a i thay i ph n m m s a cc khi m khuy t. Thch nghi: Qua th i gian, mi tr ng ban u pht tri n ph n m m c th thay i. B o tr thch nghi th c hi n vi c s a i ph n m m n thch h p v i nh ng thay i mi tr ng bn ngoi. Nng cao: Khi ph n m m c dng, khch hng/ ng i dng s nh n ra nh ng ch c nng ph c l i. B o tr hon thi n m r ng ph n m m ra ngoi cc yu c u ch c nng g c c a n. a. M hnh thc n c (Waterfall Model)

GV: Tr n Th Thy Trinh T CNPM

18

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

y l m hnh pht tri n ph n m m c i n nh t. M hnh ny ngh cc ho t ng c ti n hnh nh cc giai o n tch bi t, giai o n sau s khng b t u ch ng no giai o n tr c cha hon thnh. S n ph m u ra c a giai o n tr c tr thnh u vo c a giai o n sau. Nh ng mi tn ng c t d i ln trn cho th y nh ng sai l m o n tr c c th c pht hi n giai

giai o n sau v i h i vi c quay

ng c ln lm l i giai o n tr c. Tuy nhin ,ho t ng quay lui ny ch nn c coi l cc ngo i l m thi. M hnh thc n c c u i m l d qu n l. y chnh l m hnh a thch c a cc nh qu n l d n. Th i gian hon thnh d n th ng c d bo v i chnh xc hn so v i cc m hnh khc. Cc ti li u u ra c a t ng giai o n cng c xy d ng y v h th ng hn. Tuy nhin m hnh ny c m t s nh c i m l n l: M hnh i hi m t b n yu c u (requirement) y v chnh xc t pha khch hng. Yu c u ny hi m khi t c b i khch hng t khi xc nh c chnh xc h mu n g ngay giai o n u c a d n, s thch c a h cng thay i kh th ng xuyn. Vi c
GV: Tr n Th Thy Trinh T CNPM 19

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

lm l i cc giai o n ban u p ng s thay i c a khch hng th ng m t r t nhi u cng s c v ph v c u trc c a ph n m m. Khch hng c n ph i kin nh n. H ch c tham gia vo d n giai o n phn tch yu c u v test m thi. Ngoi ra, s n ph m s ch c bn giao khi t t c cc cng vi c lin quan c hon thnh. M hnh thc n c ch nn c s d ng khi i d n c kinh nghi m, yu c u t khch hng c xc nh r ngay t u v t c kh nng thay i. Hi n nay, m hnh thc n c v n c s d ng r ng ri do tnh g n gi v i cc m hnh pht tri n trong cc ngnh k thu t khc. b. M hnh ti n ha (Evolutionary model) M hnh ti n ha c a ra nh m gi i quy t nh ng kh khn gy ra do yu c u c a khch hng khng r rng ho c hay thay i. t ng c a m hnh ny l pht tri n ph n m m qua nhi u phin b n, m i phin b n c a ra l y ki n khch hng, c s a ch a, lm m n cho n khi t c phin b n hon ch nh.

Ph h p cho cc d n v a v nh , cc ph n c a d n ph c t p v cc d n c th i gian s ng ng n.
GV: Tr n Th Thy Trinh T CNPM 20

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

M hnh ny g p kh khn trong cc d n c c u trc h th ng t i, ti n trnh khng r rng. c. M hnh nguyn m u (prototyping model) Tng t nh m hnh thc n c v i b sung vo cc giai o n th c hi n ph n m m m u ngay khi xc nh yu c u nh m m c tiu pht hi n nhanh cc sai st v yu c u. Cc giai o n trong m hnh b n m u ph n m m c th ti n hnh l p i l p l i ch khng nh t thi t ph i theo trnh t nh t nh. Ngay sau khi giai o n xc nh yu c u, nh pht tri n ph n m m a ra ngay m t b n thi t k s b v ti n hnh ci t b n m u u tin v chuy n cho ng i s d ng. B n m u ny ch nh m miu t cch th c ph n m m ho t ng cng nh cch ng i s d ng tng tc v i h th ng. Ng i s d ng sau khi xem xt s ph n h i thng tin c n thi t l i cho nh pht tri n. N u ng i s d ng ng v i b n m u a th ng i pht tri n s ti n hnh ci t th c s . Ng c l i c hai ph i quay l i giai o n xc nh yu c u. Cng vi c ny c l p l i lin t c cho n khi ng i s d ng ng v i cc b n m u do nh pht tri n a ra. Nh v y y l m t h ng ti p c n t t khi cc yu c u cha r rng v kh nh gi c tnh hi u qu c a cc thu t ton. Tuy nhin, m hnh ny cng c nh c i m l tnh c u trc khng cao do khch hng d m t tin t ng.

GV: Tr n Th Thy Trinh T CNPM

21

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

d. M hnh xo n c () M hnh ny chnh l s k t h p c a m hnh b n m u thi t k v m hnh thc n c c l p l i nhi u l n. c tm hi u v xy d ng hon thi n hn l n l p ti p theo h th ng s l n l p tr c .

m i l n l p cc yu c u c a ng i s d ng s c hi u ngy cng r rng hn v cc b n m u ph n m m cng ngy m t hon thi n hn. Ngoi ra cu i m i l n l p s c thm cng o n phn tch m c r i ro quy t nh xem c nn i ti p theo h ng ny n a hay khng.

L p k ho ch

Phn tch r i ro

nh gi

K ngh

M hnh ny ph h pv i cc h th ng ph n m m l n do c kh nng ki m sot r i ro t ng b c ti n ha. Tuy nhin v n cha c s d ng

GV: Tr n Th Thy Trinh T CNPM

22

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

r ng ri nh m hnh thc n c ho c b n m u do i h i nng l c qu n l, nng l c phn tch r i ro cao. e. M hnh pht tri n nhanh (RAD - Rapid Application Development) RAD l m hnh tng d n v i chu k pht tri n c c ng n. t c m c tiu ny, RAD d a trn phng php pht tri n trn c s thnh ph n ha h th ng cng v i vi c ti s d ng cc thnh ph n thch h p. RAD thch h p cho nh ng h th ng qu n l thng tin. f. M hnh RUP (Rational Unified Process): RUP l m t quy trnh vng l p pht tri n ph n m m c t o ra b i cng ty Rational Software, m t b ph n c a IBM t nm 2002 (IBM

Rational). RUP l m t lin k t cc ki n th c c b n v i cc Artifact v m t chi ti t v i cc lo i activity khc nhau. RUP c ch a bn trong s n ph m IBM Rational Method Composer (RMC) cho php t i u ti n trnh. Phng php ny g i l phng php pht tri n l p (hay phng php ti p c n l p). N th hi n m t quy trnh l p trong m t chu trnh pht tri n t t ng ban u cho t i khi m t s n ph m ph n m m hon thi n, n nh v c ch t l ng c chuy n giao t i ng i dng cu i.

2.2.

Th c tr ng c a qu trnh ki m th ph n m m
Phng chm c a vi c ki m th ph n m m l tm ra l i trong ph n m m cng s m cng t t. Xem xt ch t l ng c a ph n m m, m c ch c a ki m th ph n m m l tm l i cng nhi u cng t t.

2.2.1. Phng chm c a vi c ki m th ph n m m

GV: Tr n Th Thy Trinh T CNPM

23

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Thm vo , ki m th nh m xem xt chi ph c a vi c ki m th , do v y ki m th nh m tm ra nhi u l i cng s m trong th i gian l ch trnh v ngu n nhn l c c s n. 2.2.2. nh ngha v thu t ng c a qu trnh ki m th ph n m m 2.2.2.1. Ki m th ph n m m l g? T i sao ph i ki m th ph n m m Trong qu kh khi ph n m m cn nh ch vi trm dng m th ki m th l tng i d dng. Nh ng ng i pht tri n ph n m m th ng cho r ng thu t ton ng v phn tch k t c u chng trnh ch c ch n n c bin d ch ng. N u c l i th h s s a chng v bin d ch l i nn ki m th khng thnh v n . Tuy nhin khi kch c ph n m m tr nn l n hn, h b t u th y r ng khng th ki m sot h t l i v m t nhi u th i gian, cng s c cho vi c s a l i tr c khi chuy n s n ph m cho khch hng. V tm ra t t c cc l i trong ngay c chng trnh nh , chng ta s ph i cho ch y ki m th vt c n m c th t n km v yu c u nhi u n l c. M t trong cc nguyn nhn lm cho chng trnh ki m th t l th t ra h u h t nh ng ng i pht tri n ph n m m (ng i l p trnh) b t u b ng cc nh n th c sai l m r ng: Ki m th ph n m m l m t qui trnh ch ng minh chng trnh l khng c l i. Nhi u nh qu n l d n cho r ng tr ng h p ki m th m khng tm ra b t c l i no th ki m th l thnh cng, ng c l i tr ng h p ki m th m tm ra m t l i m i th l ki m th th t b i. y l m t ki n sai l m. Vi c xy d ng v th c thi ki m th t t cho m t m ng c a ph n m m l thnh cng khi n tm ra nhi u l i v c th s a c nh ng l i , v th m ch l ch ng t r ng khng th tm ra thm l i no n a. Nh ng tr ng h p ki m th khng thnh cng l vi c ki m tra ph n m m khng ng n, v trong nhi u tr ng h p, ki m th khng tm ra m t l i no c xem l th t b i, khi m khi ni m r ng m t chng trnh ki m th khng c l i c b n l khng ng tin c y.

GV: Tr n Th Thy Trinh T CNPM

24

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Ho c l m c ch c a ki m th l ch ra r ng chng trnh th c hi n ng cc ch c nng a ra. C nhi u ph n m m ho t ng c ng ch c nng c a n nhng v n ch a l i. Nh ng l i lm chng trnh khng ho t ng c l nh ng l i qu r rng. Tuy nhin, l i v n x y ra khi chng trnh ho t ng t t cc ch c nng. Hay ki m th l qui trnh th c hi n ch ng t chng trnh lm c nh ng ch c nng c n c. Khi b n th c hi n ki m th m t chng trnh, b n mu n a vo m t vi d li u. Vi c thm d li u thng qua vi c th c hi n ki m th nh m a ra tin c y v ch t l ng ph n m m. Vi c tng tin c y c a chng trnh ngha l ph i tm ra l i v s a cc l i . V th , b n khng nn th c hi n ki m th ch ni r ng chng trnh ho t ng c, m nn gi nh r ng chng trnh c ch a nhi u l i (m t gi nh h p l cho m i chng trnh) v sau hy ki m nghi m chng trnh tm ra cng nhi u l i cng t t. V y ki m th ph n m m l g? Ki m th ph n m m l qu trnh th c thi m t chng trnh v i m c ch tm ra l i. (Glen Myers) Gi i thch theo m c ch: Vi c ki m nghi m d nhin l ni n cc l i (error), sai st (fault), h ng hc (failure) hay cc h u qu (incident). M t php th l cch ch y th m t chng trnh ph n m m theo cc tr ng h p th nghi m v i m c tiu: Tm ra l i. Gi i thch s ho t ng chnh xc c a ph n m m. (Paul Jorgensen) M c d nghe c v r t m h , nhng th c s n c nt c o quan tr ng. Vi c hi u ng nh ngha c a ki m th ph n m m c th t o ra s
GV: Tr n Th Thy Trinh T CNPM 25

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

khc bi t r rng trong k t qu c a b n. N u m c ch c a b n ch ch ng minh r ng chng trnh khng c l i th b n s h ng theo m c ch ny, lc b n s ch n ra nh ng d li u ki m th no t c kh nng gy ra l i cho chng trnh. M t khc n u m c ch c a b n l mu n ch ng minh chng trnh c nhi u l i th d li u ki m th c a b n s l nh ng d li u c kh nng gy ra l i cao. V y t i sao chng ta ph i th c hi n ki m th ? L i ph n m m l chuy n hi n nhin c a cu c s ng. Chng ta d c g ng n m c no th th c t ngay c nh ng l p trnh vin xu t s c cng khng th lc no cng vi t c nh ng o n m khng c l i. Tnh trung binh ngay c nh ng l p trnh vin lo i t t th cng c t 1 n 3 l i trn 100 dng l nh. Ng i ta c l ng r ng vi c ki m tra tm ra cc l i ny chi m phn n a kh i l ng cng vi c ph i lm c c m t ph n m m ho t ng c. (Software Testing Techniques, Second Edition, by Boris Beizer, Van Nostrand Reinhold, 1990, ISBN 1850328803). C hai l do chnh: xem xt v ch t l ng v pht hi n l i. C n ph i th c hi n ki m th ph n m m v l i c th x y ra b t c giai o n

no trong qu trnh pht tri n ph n m m. Ng i ta s n xu t cc h th ng ph n m m gia tng ti n nghi trong cu c s ng nhng th c t khng nh k v ng, ph n m m ho t ng khng ng yu c u gy ra nhi u v n b t c p v th i gian, ti n b c v cng s c. V v y, ph i th c hi n ki m th : Tm ra l i cng s m cng t t c th s a cc l i tr c khi giao s n ph m n v i khch hng. Gi m thi u r i ro trong su t qu trnh th c hi n v phn ph i i v i ch t l ng ph n m m. m bo ph n m m lm ra p ng c yu c u c a khch hng, ng i s d ng v cc chu n cng nghi p.
GV: Tr n Th Thy Trinh T CNPM 26

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

T o s tin t ng v ch t l ng ph n m m. Rt ra bi h c t cc d n c, hi u g c r nguyn nhn cc khi m khuy t. T c i ti n qu trnh v i d n m i, trnh ti di n sai st c. Do v y, trong ti n trnh pht tri n ph n m m, giai o n ki m th ng vai tr quan tr ng. Ph n m m cng l n v cng ph c t p, th t c ki m th i h i t n nhi u th i gian v cng s c. V t o ra m t s n ph m th khng ph i ch do m t t ch c ng ra lm t u n cu i, m i h i s lin k t, tch h p c a r t nhi u s n ph m, th vi n l p trnh, c a nhi u t ch c khc nhau T i h i vi c ki m nghi m ph n m m cng ngy cng tr nn r t quan tr ng v r t ph c t p. 2.2.2.2. Cc thu t ng lin quan n ki m th ph n m m Tr ng h p ki m th (Test case): M t tr ng h p ki m th tng ng v i m t l n th c hi n chng trnh v i m t t p cc gi tr u vo v m t danh sch cc k t qu u ra mong mu n. D li u th (Test data): D li u u vo c n cung c p cho ph n m m trong khi th c thi K ch b n ki m th : (Test scenario): Cc b c th c hi n khi ki m th . Th m tra (Verification): Th m tra l ti n trnh nh m xc nh u ra c a m t cng o n trong vi c pht tri n ph n m m ph h p v i cng o n tr c . Xc nh n (Validation): Xc nh n l ti n trnh nh m ch ra ton h th ng pht tri n xong ph h p v i ti li u m t yu c u. C n phn bi t gi a Th m tra v Xc nh n Th m tra: th m tra quan tm n vi c ngn ch n l i gi a cc cng o n.

GV: Tr n Th Thy Trinh T CNPM

27

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Xc nh n: xc nh n quan tm n s n ph m cu i cng khng cn l i

2.2.2.3.

Nh ng nguyn t c c b n c a ki m th ph n m m Tr c khi b t u b t c ho t ng ki m th no m t k s ph n

m m cng ph i hi u bi t cc nguyn t c c b n sau trong ki m th : M i ho t ng ki m th u ph i theo c yu c u c a khch hng. Do m c ch c a ki m th l tm ra l i nn ph n l n cc l i (t quan i m c a khch hng) s lm cho chng trnh khng p ng c yu c u c a khch hng. Ki m th ph i c l p k ho ch tr c khi th t s b t u: L p k ho ch ki m th c th b t u ngay khi hon thnh xong cc m hnh yu c u. Xc nh chi ti t cc tr ng h p th c th b t u khi cc m hnh thi t k c hon thi n. Do m i ki m th c th c l p k ho ch v thi t k tr c khi xy d ng m chng trnh. Ki m th ban u nh , sau qu trnh l n d n. Ki m th u tin c l p k ho ch v th c hi n th ng t p trung vo cc module chng trnh ring l . Trong ti n trnh ki m th , ki m th chuy n sang ch tr ng vo cc n l c tm ra cc l i trong cc module tch h p v cu i cng l ton b h th ng. Khng th ki m th m i kha c nh: C nhi u cch ki m th cho cc chng trnh th m ch c v i cc chng trnh c kch th c v a ph i. V l , khng th th c hi n m i cch trong ki m th . c hi u qu cao nh t, qa trnh ki m th ph i c s tham gia c a bn th 3. K s ph n m m t o ra h th ng khng ph i l ng i t t nh t th c hi n m i ki m th cho ph n m m. 2.2.3. M hnh ch V M hnh ny nh m gi i thch s tng quan gi a cc giai o n xy d ng ph n m m v cc phng php ki m th . m i giai o n xy d ng

GV: Tr n Th Thy Trinh T CNPM

28

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

ph n m m s tng ng v i m t lo i ki m th v c n c m t h s ki m th tng ng c thnh l p ph c v cho vi c ki m th .

Hnh 1.5: M hnh ch V V d : Giai o n: Yu c u ph n m m(requiements); Lo i ki m nghi m: Ki m nghi m ch p nh n (acceptance test); H s: h s ki m nghi m ch p nh n (acceptance test spec). Giai o n: M t chi ti t ph n m m (specification); Lo i ki m th ng(system test); H s: h s ki m

nghi m: Ki m nghi m h

nghi m h th ng (system test spec). Giai o n: H s ki n trc (architecture spec); Lo i ki m nghi m: Ki m nghi m tch h p (integration test); H s: h s ki m nghi m tch h p (integration test spec). Giai o n: Thi t k chi ti t (detailed design); Lo i ki m nghi m: Ki m nghi m kh i (module test); H (module test spec). s: h s ki m nghi m kh i

GV: Tr n Th Thy Trinh T CNPM

29

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Giai o n: Vi t m (implementation code); Lo i ki m nghi m: Ki m nghi m n v (unit test); H s: h s ki m nghi m n v (unit test spec).

2.3.

Qu trnh nghin c u c t ph n m m
Ki m tra c t l k thu t ki m th h p en tnh. c t l m t ti li u khng ph i l m t chng trnh th c hi n, v v y n c coi l tnh. N c t o ra b ng cch s d ng nhi u ngu n d li u t cc nhm nghin c u, nhm tm hi u yu c u, v gi tr u vo c a qu trnh thu th p tm hi u yu c u. B n s lm g n u i d n c a mnh khng c b n c t ? C l d n theo m hnh big bang ho c l m hnh code fix l ng l o. L m t tester trong d n ny l m t v tr kh khn. V sao? M c ch c a tester l tm l i cng s m cng t t tr c khi d n b c vo giai o n code, n u nh khng c b n c t th vi c tm l i kh m th c hi n c.

2.3.1. Kh i u

2.3.2. Th c thi qu trnh xem xt b n c t

m c cao

Xc nh m t s n ph m ph n m m l qu trnh kh khn. Cc c t v i nhi u n s , v s gi tr u vo t p h p l i t o thnh ti li u cho m t s n ph m m i. Qu trnh ny i h i ph i chnh xc v th ng g p ph i nhi u v n . Tm hi u yu c u khch hng: B c u tin trong ki m tra c t khng ph i l nh y vo v tm ki m cc l i c th m ph i c ci nhn t ng quan v xem xt m c cao. Xem xt b n c t c coi l cng vi c tm hi u yu c u, n u b n hi u r b n c t th trong qu trnh ki m th s th c hi n t t hn, hi u qu hn. i u d dng nh t c a m t tester khi h nh n c m t b n c t l gi s mnh ang v tr c a khch hng. Hy lm m t vi nghin c u xem khch hng l ai. C th ni chuy n v i ng i marketing, ng i bn hng c c nh ng g i v ng i dng cu i. N u d n l s n ph m ph n
GV: Tr n Th Thy Trinh T CNPM 30

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

m m n i b , th tm hi u xem ai s l ng i s d ng g p v ni chuy n, ph ng v n h . i u quan tr ng l ph i hi u c s mong i c a khch hng. V ch t l ng c a s n ph m ph n m m l p ng c yu c u c a khch hng. L m t tester b n c n ph i hi u r yu c u c a khch hng ki m tra ph n m m c t c nh ng mong i c a khch hng khng. Tuy nhin i u khng c ngha l b n ph i l m t chuyn gia trong lnh v c h t nhn khi ang test ph n m m cho nh my i n hay m t phi cng chuyn nghi p khi test cho m t m ph ng chuy n bayM b n ph i c c m t vi hi u bi t trong lnh v c mnh ang ki m tra b ng cch tm hi u yu c u r rng. Tm hi u cc chu n v h ng d n c Th i gian tr c khi c Microsoft Windows v Macintosh c a Apple, g n nhu t t c cc s n ph m ph n m m c giao di n ng i dng khc nhau, mu s c khc nhau, c u trc menu khc nhau, khng gi i h n cch th c m file, v v s l nh kh hi u th c hi n cng m t task. Vi c chuy n t m t s n ph m sang m t s n ph m khc hon ton yu c u ph i o t o l i. May m n l c nh ng n l c chu n ha ph n c ng v ph n m m, c nhi u nghin c u su r ng v cch m i ng i s d ng my tnh. K t qu l by gi chng ta c nh ng s n ph m h p l tng t nhau. C th ni r ng cc chu n v cc h ng d n c thng qua khng ph i l hon h o, c th c nhi u cch t t hn th c hi n m t cng vi c, nhng hi u qu c c i thi n b i s ph bi n ny. D i y l m t vi v d v cc chu n v h ng d n: Thu t ng cng ty v cng c: N u ph n m m ny c thi t k cho m t cng ty c th th c n p d ng cc thu t ng ph bi n v cc cng c th ng c cc nhn vin s d ng.

GV: Tr n Th Thy Trinh T CNPM

31

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Cc yu c u c a ngnh cng nghi p: Yu c u ngnh cng nghi p. Cc ngnh cng nghi p y t , d c ph m, cng nghi p, ti chnh v c cc tiu chu n r t nghim ng t m ph n m m c a h ph i tun theo. Tiu chu n chnh ph c bi t l qun s u c cc chu n nghim ng t. Giao di n ng i dng h a (GUI). N u ph n m m c a b n ch y d i h th ng Microsoft Windows ho c i u hnh Apple Macintosh, cc chu n v h ng d n c a ph n m m nn c th c hi n d i nhn v c m nh n d i gc c a ng i s d ng. Tiu chu n an nnh: Cc giao di n v giao th c trong ph n m m c n ph i m ng c cc chu n b o m t. Cng vi c c a tester khng ph i l xc nh cc chu n v h ng d n ny, m ph i n m c cc chu n ny ki m tra xc th c ph n m m Xem xt v th nghi m cc ph n m m tng t M t trong nh ng phng php hi u c nh ng g s n ph m ny t c l xem xt v th nghi m v i ph n m m tng t . i u ny c th l m t s n ph m c nh tranh ho c s n ph m tng t v i nh ng g d n ang t o ra. T t nhin ph n m m ny khng ph i l yu c u c u khch hng nhng n s gip tester c nh ng suy ngh v cc tnh hu ng th nghi m v cch ti p c n th nghi m. Cc v n c n xem xt khi th nghi m cc s n ph m c nh tranh: o Quy m: S c nhi u ho c t hn cc ch c nng? t code hn hay nhi u hn? C v n chnh l ch kch th c trong th nghi m khng? o ph c t p: Ph n m m c a b n c ph c t p hn khng? Nh ng tc ng n ph n m m b n ang test. o Kh nng ki m th c o Ch t l ng v tin c y o B om t
GV: Tr n Th Thy Trinh T CNPM 32

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

2.3.3. K thu t ki m th c t

m c th p m c cao, b n s c

Sau khi hon thnh vi c xem xt b n c t

hi u r hn v s n ph m c a mnh v nh ng nh h ng bn ngoi tc ng vo thi t k c a ph n m m. T nh ng thng tin ny chng ta chuy n sang ki m nghi m s n ph m ki m tra cc c t . Danh sch ki m tra cc thu c tnh c t . M t c t t t th ng c cc c tnh sau: o Hon thnh: C thu c tnh no b m t ho c st khng? B n c t c p ng tri t m i th trong yu c u c a khch hng khng? o chnh xc: Gi i php c xu t c ng khng? N c p ng ng m c tiu c a s n ph m khng? C b t k l i no khng? o Nh t qun: M t trong cc ch c nng c o Tnh kh thi: c s n cng c v ngu n l c trong ph m vi ngn sch v ti n qui nh khng? o Free code: B n c t ch xc nh s n ph m ch khng ph i l m t thi t k , ki n trc hay code c b n c a ph n m m o Ki m nghi m: C thng tin cung c p cho th nghi m khng Danh sch c t cc thu t ng Khi ki m tra b n c t c n ch n cc t ng ho c ng c nh khng r rng, c th c nhi u l i y: m c th p b ng cch chu n b cc checklist

C. PHNG PHP V HNH TH C GI NG D Y 1. N i dung Trnh chi u powerpoint t v n , trao i 2. Sau khi h c xong l thuy t sinh vin v n d ng lm bi t p h th ng ha l i ki n th c chng. D. TI LI U THAM KH O
GV: Tr n Th Thy Trinh T CNPM 33

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

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 H I V BI T P 1. T i sao ph i ki m th ph n m m? M c tiu ki m th l g? T c nh ng quan ni m sai g v ki m th ph n m m? 2. Th no l m t ca ki m th t t? ca ki m th thnh cng? L i ch ph c a ki m th l g? 3. C th ki m th hon ton m t s n ph m ph n m m khng? Gii thch t i sao?

GV: Tr n Th Thy Trinh T CNPM

34

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

PH N II. NGUYN L KI M TH
BI 3: CC PHNG PHP KI M TH

PH N M M

PH N M M

A. M C TIU 1. V ki n th c Cung c p cho sinh vin nh ng ki n th c: Nh n di n v phn bi t c ki m th tnh, ki m th ng. Hi u c 2 phng php ki m th h p tr ng v ki m th h p en. Xc nh, v nh n di n c cc k thu t ki m th h p tr ng, ki m th h p en. 2. V k nng Sau khi h c xong chng ny sinh vin c th v n d ng nh ng ki n th c vo th c t p d ng c cc k thu t ki m th c u trc, ki m th ch c nng. Phn tch v nh gi c khi no s d ng ki m th h p tr ng, ki m th h p en. B. N I DUNG

3.1.

Phng php ki m th h p tr ng
Ki m th h p tr ng l k thu t t p trung vo kh o st ch t ch cc th t c/

hm m t cch chi ti t. T t c cc ng di n ti n logic trong chng trnh c ki m tra b ng nh ng tr ng h p ki m th trn cc t p i u ki n v c u trc l p c th . K thu t ny s ki m tra tr ng thi c a chng trnh t i r t nhi u i m nh m xc nh gi tr mong i t i cc i m ny c kh p v i gi tr th c t hay khng. V i nh n nh trn th k thu t thi t k ki m th h p tr ng c l s d n n m t chng trnh chnh xc tuy t i. T t c nh ng g chng ta c n lm by gi l thi t k t t c cc ng logic c a chng trnh, thi t k cc tr ng h p ki m th th c thi, v nh gi cc k t qu c c.Tuy nhin vi c ki m th th u o t t c cc tr ng h p l m t bi ton qu l n v t n r t nhi u chi ph, ngay c nh ng bi ton nh cng c s l ng cc ng d n logic l r t l n. Xem xt m t v d sau y:
GV: Tr n Th Thy Trinh T CNPM 35

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Begin

Loop <=20

End

Hnh trn l m t flowchart cho m t chng trnh n gi n c vi t b ng kho ng 100 dng m v i m t vng l p chnh th c thi o n m bn trong v l p l i khng qu 20 l n . Tuy nhin khi tnh ton cho th y i v i chng trnh ny c n kho ng 1014 ng c th th c hi n c. Chng ta c th lm m t php tnh nhanh th y c chi ph dng ki m th o n chng trnh ny m t cch th u o v chi ti t. Ta gi s r ng ki m th m t tr ng h p c n ch y trung bnh t n 1s. V chng trnh ki m th s c ch y l 24h m t ngy v ch y su t 365 ngy m t nm. V y th ki m th t t c cc tr ng h p ny cng c n ph i t n kho ng 3170 nm. Do , ki m th m t cch th u o cho cc h th ng l n l m t vi c b t kh thi.

3.2.

Phng php ki m th h p en
Phng php ki m th h p en l phng php t p trung vo yu c u v

m t ch c nng c a ph n m m. Phng php ny cho php t o ra m t t p cc i u ki n input ki m th t t c cc ch c nng c a m t chng trnh. V b n ch t, ki m th h p en khng ph i l phng php tri ng c v i ki m th c h p tr ng.

GV: Tr n Th Thy Trinh T CNPM

36

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

ng hn y l phng php b sung cho ki m th h p tr ng pht hi n ra cc l i khc m phng php ki m th h p tr ng khng th pht hi n ra. Ki m th h p en pht hi n cc l i sau: Khng ng hay thi u m t s ch c nng, hm/module. Giao di n khng ph h p, l i v interface. L i v c u trc d li u hay thao tc ln d li u bn ngoi. L i th c thi Khng gi ng nh phng php ki m th h p tr ng c th c th c hi n giai o n u c a qu trnh ki m th ph n m m. Phng php ny t p trung vo ph n sau c a qu trnh ki m th . M c ch c a ki m th h p en l t p trung trn cc vng thng tin, h ng d li u hay h ng vo/ ra. Cc tr ng h p ki m th c t o ra d a vo b n m t ch c nng ch khng ph i t p trung trn vng m chng trnh.

3.3.

Phng php ki m th h p xm
Ki m th h p xm i h i ph i c s truy c p t i c u trc d li u v gi i

thu t bn trong cho nh ng m c ch thi t k cc ca ki m th , nhng l ki m th m c ng i s d ng hay m c h p en. Vi c thao tc t i d li u u vo v nh d ng d li u u ra l khng r rng, gi ng nh m t chi c h p xm, b i v u vo v u ra r rng l bn ngoi h p en m chng ta v n g i v h th ng c ki m tra. S khc bi t ny c bi t quan tr ng khi qu n l ki m th tch h p Intergartion testing gi a 2 modun m l nh c vi t b i hai chuyn vin thi t k khc nhau, trong ch giao di n l c a ra ki m th . Ki m th h p xm c th cng bao g m c thi t k i chi u quy t nh, v d , gi tr bin hay thng bo l i.

3.4.

Phng php ki m th tnh


L phng php ki m th ph n m m i h i ph i duy t l i cc yu c u v

cc c t b ng tay thng qua vi c s d ng gi y, bt ki m tra logic, l n t ng chi ti t m khng c n ch y chng trnh. Ki u ki m th ny th ng c s d ng b i chuyn vin thi t k hay nh ng ng i vi t m l nh m t mnh.
GV: Tr n Th Thy Trinh T CNPM 37

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Ki m th tnh cng c th c t ng ha. N s th c hi n ki m tra ton b bao g m cc chng trnh c phn tch b i m t trnh thng d ch ho c bin d ch m xc nh n tnh h p l v c php c a chng trnh. M c ch c a ki m th tnh: Tm l i trong code v m hnh ph n m m s m, gi m chi ph cho vi c s a l i. D dng c l p l i v tm l i (bugs) ch khng thng qua tri u ch ng. Lm cho ph n m m ho t ng ng v i yu c u c a khch hng 3.4.1. Ki m tra cho (Peer review): Peer review l cch lm th ng xuyn c a cc thnh vin trong i d n th o lu n cng nh tm ra cc sai st trong code c a nhau. Peer review c t ch c b i m t ng i thi t k ki n trc h th ng v i m t ho c nhi u l p trnh vin, v cc tester trong vi c ki m tra code. Nhm ny n gi n ch th c hi n vi c ki m tra code cho nhau v tm ra cc l i ho c cc sai st trong . m b o vi c ki m tra t hi u qu cao th nh ng ng i tham gia review ph i m b o b n y u t trong bu i ki m duy t chnh th c c a ra: tm ra cc v n sai st hay l i, p d ng theo ng quy t c chu n, ph i c chu n b k cho vi c ki m tra nh cc checklist v code standard, c bo co c th . B i v cc ki m tra cho ny th ng khng chnh th c nn nh ng y u t ny th ng c thu nh l i. 3.4.2. T ng duy t (Walk Through): Walkthrough l m t thu t ng m t s xem xt k l ng c a m t qu trnh m c tr u t ng trong nh thi t k hay l p trnh vin lnh o cc thnh vin trong nhm v nh ng ng i c quan tm khc thng qua m t s n ph m ph n m m, v nh ng ng i tham gia t cu h i, v ghi ch nh ng l i c th c, s vi ph m cc chu n pht tri n v cc v n khc. Walkthrough m l nh l 1 t p cc th t c v cc cng ngh d l i cho vi c c nhm m l nh. Trong m t

GV: Tr n Th Thy Trinh T CNPM

38

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Walkthrough, nhm cc nh pht tri n v i 3 ho c 4 thnh vin l t t nh t th c hi n xt duy t l i. Ch 1 trong cc thnh vin l tc gi c a chng trnh. M t u i m khc c a walkthroughs, hi u qu trong chi ph g l i, l 1 th c t m khi m t l i c tm th y, n th ng c nh v chnh xc trong m l nh. Thm vo , phng php ny th ng tm ra 1 t p cc l i, cho php sau cc l i c s a t t c v i nhau. M t khc, ki m th d a trn my tnh,ch tm ra tri u ch ng c a l i (chng trnh khng k t thc ho c a ra k t qu v ngha), v cc l i th ng c tm ra v s a l n l t t ng l i m t. 3.4.3. Thanh tra m ngu n (Code Inspection): Thanh tra m ngu n l 1 t p h p cc th t c v cc k thu t d l i cho vi c c cc nhm m l nh. M t nhm ki m duy t th ng g m 4 ng i. M t trong s ng vai tr l ng i i u ti t m t l p trnh vin lo luy n v khng c l tc gi c a chng trnh v ph i khng quen v i cc chi ti t c a chng trnh. Ng i i u ti t c nhi m v : phn ph i nguyn li u v l p l ch cho cc bu i ki m duy t, ch o phin lm vi c, ghi l i t t c cc l i c tm th y v m b o l cc l i sau c s a. Thnh vin th hai l m t l p trnh vin. Cc thnh vin cn l i trong nhm th ng l nh thi t k c a chng trnh ( n u nh thi t k khc l p trnh vin) v m t chuyn vin ki m th .

3.5.
trnh

Phng php ki m th ng
L phng php th ph n m m thng qua vi c dng my ch y chng ki m tra tr ng thi tc ng c a chng trnh. l ki m th d a trn

cc ca ki m th xc nh b ng s th c hi n c a i t ng ki m th hay ch y cc chng trnh. Ki m th ng ki m tra cch th c ho t ng ng c a m l nh, t c l ki m tra s ph n ng v t l t h th ng t i cc bi n lun thay i theo th i gian. Trong ki m th ng, ph n m m ph i th c s c bin d ch v ch y. Ki m th ng th c s bao g m lm vi c v i ph n m m, nh p cc gi tr u vo v ki m tra xem li u u ra c nh mong mu n hay khng. M i s n ph m ph n m m u c th ki m th theo 2 cch:

GV: Tr n Th Thy Trinh T CNPM

39

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Hi u r m t ch c nng c th c a m t hm hay m t module, cc tr ng h p ki m th c xy d ng ki m th t t c cc thao tc c a chng trnh nh m tm ra l i trong m i ch c nng. Hi u r cch ho t ng c a m t hm/ module hay m t s n ph m. Cc tr ng h p ki m th c th c xy d ng m b o t t c cc thnh ph n con kh p v i nhau. l ki m tra t t c cc thao tc bn trong c a m t hm d a theo cc m t v t t c cc thnh ph n n i b m t cch th a ng. Cch ti p c n u tin l ki m th h p en v th hai l ki m th h p tr ng. C. PHNG PHP V HNH TH C GI NG D Y 1. N i dung Trnh chi u powerpoint t v n , trao i 2. Sau khi h c xong l thuy t sinh vin v n d ng lm bi t p h th ng ha l i ki n th c chng. D. TI LI U THAM KH O 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 E. CU H I V BI T P 1. Ki m th h p tr ng d a trn c s no thi t k cc ca ki m th ? Thi t k ca ki m th ph i m b o i u ki n g? 2. M hnh c a ki m th h p en quan tm n nhn t no c a ph n m m? N nh m tm ra cc lo i sai no? Nu cc phng php p d ng cho n? 3. Phn bi t cc thu t ng peer review, Walkthrough, Code Inspection, Chapter 17

GV: Tr n Th Thy Trinh T CNPM

40

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

BI 4:

CC K THU T KI M TH

PH N M M

A. M C TIU 1. V ki n th c Cung c p cho sinh vin nh ng ki n th c: Xc nh v nh n di n c cc phng php trong ki m th h p tr ng v ki m th h p en: ki m th ng bin, phn vng tng ng, ki m th bao ph ... N m c cc k thu t t o ra cc tr ng h p ki m th t t v t chi ph nh t, t t c chng ph i tho nh ng m c tiu ki m th en. 2. V k nng Sau khi h c xong chng ny sinh vin c th v n d ng nh ng ki n th c vo th c t : p d ng c cc k thu t ki m th c u trc, ki m th ch c nng. Phn tch v nh gi c khi no s d ng ki m th h p tr ng, ki m th h p en. chng tr c. Xc nh, v nh n di n c cc k thu t ki m th h p tr ng, ki m th h p

B. N I DUNG

4.1.

K thu t phn vng tng ng


K thu t phn vng tng ng l phng php ki m th h p en chia

mi n u vo c a m t chng trnh thnh cc l p d li u, t pht sinh ra cc tr ng h p ki m th . Thi t k cc tr ng h p ki m th cho phn l p tng ng d a trn s nh gi v cc l p tng ng v i m t i u ki n vo. L p tng ng bi u th cho t p cc tr ng thi h p l hay khng h p l i v i i u ki n vo. Cc l p tng ng c xc nh b ng cch l y m i tr ng thi u vo (th ng l m t cu hay m t c m t trong c t ) v phn chia n thnh 2 ho c nhi u nhm (c th s d ng b ng d i y li t k cc l p tng ng).

GV: Tr n Th Thy Trinh T CNPM

41

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

i u ki n bn ngoi H

Cc l p tng ng Cc l p tng ng h pl khng h p l B ng 4.1: M u li t k cc l p tng ng

Ch l hai ki u l p tng ng c xc nh: l p tng ng h p l m t cc u vo h p l c a chng trnh, v l p tng ng khng h p l m t t t c cc tr ng thi khc c a i u ki n (v d : cc gi tr u vo khng ng). V i m t u vo hay i u ki n bn ngoi cho, vi c xc nh cc l p tng ng h u nh l m t qui trnh mang tnh kinh nghi m. xc nh cc l p tng ng c th p d ng cc nguyn t c sau y: N u m t tr ng thi u vo nh r gi i h n c a cc gi tr , xc nh 1 l p tng ng h p l v 2 l p tng ng khng h p l . N u 1 tr ng thi u vo xc nh s gi tr , xc nh c 1 l p tng ng h p l v 2 l p tng ng khng h p l . N u 1 tr ng thi u vo ch nh t p gi tr u vo v chng trnh s d ng m i gi tr l khc nhau, xc nh 1 l p tng ng h p l cho m i lo i v 1 l p tng ng khng h p l . N u 1 tr ng thi u vo ch nh m t tnh hu ng ch c ch n- must be, xc nh 1 l p tng ng h p l v 1 l p tng ng khng h p l .

4.2.

K thu t phn tch gi tr bin


Th c t th ph n l n cc l i c khuynh h ng xu t hi n t i bin c a vng t i nh ng v tr gi a vng. Do , k thu t phn tch

thng tin u vo hn l

gi tr bin (BVA) c pht tri n. K thu t ny s l a ch n m t s tr ng h p ki m th t i cc gi tr bin v l k thu t b sung cho k thu t phn vng tng ng. Nguyn t c c a phng php BVA c ph n tng t v i phng php phn vng tng ng:

GV: Tr n Th Thy Trinh T CNPM

42

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

N u i u ki n u vo xc nh m t ph m vi c ch nh b i 2 gi tr a v b, nh ng tr ng h p ki m th s c thi t k t i cc gi tr bin a v b, trn a v d i b. N u i u ki n u vo xc nh m t ph m vi c ch nh b i m t t p h p nhi u gi tr , nh ng tr ng h p s c ki m th t i cc gi tr bin min v max c a t p h p , cc gi tr l n hn max v nh hn min cng c ki m th . p d ng 2 nguyn t c trn cho gi tr tr v .

4.3.

K thu t on l i
M t k thu t thi t k test-case khc l error-guessing on l i. Tester

c a cho m t chng trnh c bi t, h ph ng on c b ng tr c gic v kinh nghi m cc lo i l i c th v sau vi t cc tr ng h p ki m th a ra cc l i . Th t kh a ra m t quy trnh cho k thu t on l i v n l m t quy trnh c tnh tr c gic cao v khng th d on tr c. t ng c b n l li t k m t danh sch cc l i c th hay cc tr ng h p d x y ra l i v sau vi t cc ca ki m th d a trn danh sch . M t t ng khc xc nh cc ca ki m th c lin i v i cc gi nh m l p trnh vin c th th c hi n khi c c t (t c l, nh ng th b b st kh i c t , ho c l do tnh c , ho c l v ng i vi t c c m gic nh ng c t l r rng). Ni cch khc, b n li t k nh ng tr ng h p c bi t m c th b b st khi chng trnh c thi t k .

4.4.

K thu t d a trn use case


Trong m t d n ph n m m, use case m t nh ng yu c u c a h th ng

ph n m m. Pht tri n use case b t u t r t s m. Theo m hnh RUP, m t use case m t y m t lu ng cc ho t ng c th c hi n b i h th ng cung c p m t k t qu d th y c a gi tr n con ng i ho c h th ng khc s d ng s n ph m. Use case cho khch hng bi t k t qu mong i l g, l p trnh vin ph i code nh ng g, ng i k thu t ph i vi t ti li u g, v tester ph i test nh ng g?
GV: Tr n Th Thy Trinh T CNPM 43

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Ki m th ph n m m bao g m nhi u cng vi c tng quan v i nhau, m i cng vi c c nh ng ti li u v kh nng chuy n giao c a ring n vi c t o test case l b c u tin. Sau cc th t c ki m th (test procedure) s c thi t k cho nh ng test case ny. Test case l cha kha c a qu trnh ki m th b i v chng xc nh cc i u ki n s c th c thi trong ki m th , v chng r t c n thi t ch ng t r ng vi c th c hi n cc yu c u c a s n ph m l thnh cng v c th ch p nh n c. Do v y, nh ng ng i pht tri n ph n m m c th b t u t o ra cc test case cng s m khi use case l hi u d ng, tr c khi vi t code. Ph n quan tr ng nh t c a m t use case pht sinh ra test case l lu ng nh ng s ki n. Hai ph n chnh c a lu ng s ki n l lu ng s ki n chnh (the basic flow of event) v nh ng lu ng s ki n pht sinh (the alternative flows of events). Basic flow of events s bao trm s ki n chnh x y ra khi use case th c thi. Alternate flows of events bao trm hnh vi c a i u khng b t bu c hay c i m ngo i l lin quan n hnh vi ngo i l . B n c th xem alternate flows of events nh S l ch h ng t basic flow of events.

Hnh 4.2: Lu ng s ki n chnh v cc lu ng ph khc trong use case Trong hnh trn miu t c u trc c trng c a cc lu ng s ki n. ng th ng miu t lu ng s ki n chnh, v ng cong miu t nh ng lu ng s ki n ph khc. Ch r ng m t vi lu ng ph s tr l i lu ng s ki n chnh trong khi nh ng lu ng s ki n ph khc th k t thc use case. V d :
GV: Tr n Th Thy Trinh T CNPM 44

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Register For Courses Basic Flow 1. Logon Use case b t u khi 1 Student truy xu t vo Wylie University Web site H th ng yu c u v Student nh p student ID v password 2. Select 'Create a Schedule' H th ng hi n th nh ng ch c nng c th c. Student ch n "Create a Schedule. 3. Obtain Course Information H th ng l y danh sch cua s n c c cung c p t Course Catalog System v hi n th danh sch Student 4. Select Courses Student ch n 4 kha h c chnh c cung c p v 2 kha lun phin t danh sch s n c 5. Submit Schedule Student cho bi t b ng bi u hon thnh. M i kha c cung c p c ch n trn b ng bi u, h th ng ki m tra student ch n nh ng mn tin quy t c n thi t. 6. Display Completed Schedule H th ng hi n th l ch bi u ch a nh ng kha cung c p c ch n v xc th c s l ng cho l ch bi u

Hnh 4.3: M t lu ng s ki n chnh trong Register For Courses

Register For Courses Alternate Flows 1. Unidentified Student Trong b c 1 c a Basic Flow, Logon, n u h th ng xc nh r ng student ID and/hay password l khng h p l , 1 thng bo l i c hi n th 2. Quit Course Registration System cho php student thot kh i b t c lc no trong use case. Student c th ch n lu 1 ph n c a l ch bi u tr c khi thot. T t c kha h c khng c nh d u cng xem nh c nh d u ch n vo l ch bi u. L ch bi u c lu vo h th ng. K t thc use case. 3. Unfulfilled Prerequisites, Course Full, or Schedule Conflicts Trong b c 5 c a Basic Flow, Submit Schedule, N u h th ng xc nh m nh ng mn tin quy t cho kha c ch n m khng th a mn, nhi u kha, hay l ch bi u c xung t, h th ng s khng k t n p student vo kha h c . M t thng bo c hi n th student c th ch n kha khc. Use case ti p t c b c 4, Select Courses, trong Basic Flow. 4. Course Catalog System Unavailable Trong b c 3 c a Basic Flow, Obtain Course Information, n u h th ng khng thnh cng, 1 thng bo c hi n th v use case k t thc. 5. Course Registration Closed N u, khi use case b t u, n xc nh r ng vi c ng k thnh cng, 1 thng bo c hi n th , v use case k t thc

Hnh 4.4: M t m t vi lu ng s ki n khc trong Register For Courses


GV: Tr n Th Thy Trinh T CNPM 45

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Nh b n th y, t m quan tr ng c a vi c trnh by chi ti t cho use case. Lu ng s c vi t nh "dialogs" gi a h th ng v actors. M i b c s gi i thch actor lm g v h th ng s h i p g, n s c nh s v c tiu . Alternate flows lun ch r chng b t u t u trong Basic Flow v chng khi no chng k t thc u. 4.4.1. Nh ng k ch b n usecase C nhi u th m t tr c khi chng ta t p trung vo vi c s d ng use case pht sinh test case nh th no. M t k ch b n use case l m t th hi n c a use case ho c l m t lu ng ho t ng xuyn su t trong use case. Ng i s d ng cu i c a m t h th ng hon ch nh c th i qua nhi u ng khi h th c thi m t ch c nng c t trong use case. Theo , m t lu ng chnh s l m t k ch b n c a use case, ti p theo basic flow thm vo kch b n khc c a alternate flow 1A. Basic flow thm vo k ch b n th 3 c a alternate flow 2A, Table d i y li t k t t c nh ng k ch b n c th x y ra cho bi u bi u di n trong hnh 4.4, b t u v i basic flow v r i k t h p gi a basic flow v alternate flows.
Scenario 1 Scenario 2 Scenario 3 Scenario 4 Scenario 5 Scenario 6 Scenario 7 Basic flow Basic flow Basic flow Basic flow Basic flow Basic flow Basic flow Alternative flow 1 Alternative flow 1 Alternative flow 3 Alternative flow 3 Alternative flow 3 Alternative flow 4

Alternative flow 2 Alternative flow 1 Alternative flow 1

Alternative flow 2

Scenario 8

Basic flow

Alternative flow 3

Alternative flow 4

B ng 4.5: Scenarios for the Use Case Nh ng k ch b n ny s s d ng nh c s t o ra nh ng test case. 4.4.2. Pht sinh testcase Test case l m t t p cc gi tr u vo ki m th , nh ng i u ki n th c thi v nh ng k t qu th c thi c pht tri n cho nh ng m c tiu ring bi t.
GV: Tr n Th Thy Trinh T CNPM 46

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

M c tiu c a test case l nh n bi t v truy n t nh ng i u ki n s ki m th . Test case l t t y u th m tra s thnh cng v c th ch p nh n s th c thi c a nh ng yu c u ch c nng (use case). Chng ta s m t 3 b c pht tri n test case t chi ti t y c a use case: Cho m i use case pht sinh m t t p y nh ng k ch b n use case. M i k ch b n nh n d ng t nh t 1 test case v nh ng i u ki n th c thi n Cho m i test case nh n bi t nh ng gi tr d li u km v i n test. p d ng cho v d trn: B c 1: Pht tri n k ch b n: c m t use case v nh n bi t m i k t h p c a basic v alternative flows t o ra nh ng k ch b n v ma tr n k ch b n. B ng d i y bi u di n ma tr n k ch b n t ng ph n cho Register for Course use case.

Scenario name Scenario 1: Successful registration Basic flow Scenario 2: Undentified student Scenario 3: User quits Basic flow A2

Start flow Basic flow

Alternate

Basic flow Basic flow

A1 A2

Scenario 4: Course catalog system unvailable Basic flow Scenario 5: Registration closed Basic flow A5 Scenario 6: Cannot enroll Basic flow Basic flow

A4 A5

A3

B ng 4.6: Scenarios for the Use Case B c 2: Nh n bi t test case Khi m t t p y nh ng scenario c xc nh, b c ti p theo l xc nh nh ng test case. Chng ta s phn tch scenario v xem xt m t use case. S c t nh t m t test case cho m i scenario, nhng ch c ch n s c nhi u hn. Th d , n u m t cho m t alternative flow c vi t l t qua gi ng nh m t bn
GV: Tr n Th Thy Trinh T CNPM 47

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

d i 3A Undentifier Prerequisites, Course Full, hay Schedule Conflicts th thm vo nh ng test case c th c yu c u test t t c nh ng kh nng. Thm n a, chng ta c th thm vo nh ng test case test i u ki n bin. B c ti p theo b sung test case b ng cch c l i m t use case v tm nh ng i u ki n hay nh ng y u t d li u c yu c u th c thi nh ng scenario khc nhau. Nh use case Register for Course, i u ki n s l student ID, password, courses c ch n ti li u test case r rng hn, m t l n n a, nh d ng ma tr n l r t c ch, gi ng nh trn b ng 2.13. Ch r ng dng trn cng. C t u tin ch a test case ID, c t th 2 m t v n t t test case, bao g m scenario c test, v t t c nh ng c t khc ngo i tr c t cu i cng ch a nh ng y u t d li u m s s d ng trong vi c th c hi n test. C t cu i cng ch a m t k t qu u ra c a test case. Ch r ng ma tr n ny khng c gi tr th c t c nh p. Nh ng c a table ch a V, I hay N/A. V cho bi t Valid, I cho bi t Invalid, N/A ngha r ng n khng c n thi t cung c p gi tr d li u trong tr ng h p ny. R rng ma tr n ny l m t b c trung gian r t t t, n bi u di n r rng nh ng i u ki n g l c test cho m i test case. B c 3: Nh n bi t gi tr d li u test: Khi test case c nh n d ng, chng ta s xem xt v xc nh n tnh h p l m b o m c chnh xc b ng cch chu n b test data. Khng c test data, test case c th khng c th c hi n hay th c thi, chng ch m t nh ng i u ki n, k ch b n (scenario) v ng i (paths). V th , test data nh n bi t gi tr hi n th c c s d ng trong vi c th c hi n cu i cng c a test. B ng 2.14 bi u di n ma tr n test case v i gi tr c thay th cho I v V trong ma tr n tr c. Chng ta c th s d ng m t s k thu t test trong vi c nh n d ng d li u.

GV: Tr n Th Thy Trinh T CNPM

48

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Testcase ID RC1

Scenario / Condition

Student ID

Password

Courses selected v

Prerequisites fulfilled v

Course Open v

Schedule Open v

Expected Result Schedule and confirmati on number displayed Error message. Back to login screen. Login screen appears Error message. Back to step 2 Error message. Back to step 2 Error message. Back to step 3 Error message. Back to step 4 Error message. Back to step 4

Scenario 1- v successful registration

RC2

Scenario 2: I Unidentified student

N/A

N/A

N/A

N/A

N/A

RC3

RC4

RC5

Scenario 3: V Valid user quits Scenario 4: V Course registration system unvailable Scenario 5: V registration closed Scenario 6: V cannot enroll course full Scenario 6: V cannot enroll Prerequisites not fulfilled Scenario 6: V cannot enroll schedule conflict

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

RC6

RC7

RC8

B ng 4.7: Ma tr n test case cho Register for course

GV: Tr n Th Thy Trinh T CNPM

49

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Testcase ID RC1

Scenario / Condition Scenario 1successful registration

Student ID

Password

Courses Prerequisite selected s fulfilled M101> Yes

Course Open Yes

Schedule Open Yes

Expected Result Schedule and confirmation number displayed Error message. Back to login screen. Login screen appears Error message. Back to step 2 Error message. Back to step 2 Error message. Back to step 3 Error message. Back to step 4 Error message. Back to step 4

Jheumann

abc123

RC2

Scenario 2: Unidentified student

Jheumann1

N/A

N/A

N/A

N/A

N/A

RC3

RC4

RC5

Scenario 3: Valid user quits Scenario 4: Course registration system unvailable Scenario 5: registration closed Scenario 6: cannot enroll course full Scenario 6: cannot enroll Prerequisite s not fulfilled Scenario 6: cannot enroll schedule conflict

Jheumann

abc123

N/A

N/A

N/A

N/A

Jheumann

abc123

N/A

N/A

N/A

N/A

Jheumann

abc123

N/A

N/A

N/A

N/A

RC6

Jheumann

abc123

M101 E201 S101 M101 E201 S101

Yes

M101 full

Yes

RC7

Jheumann

abc123

No E201

for

Yes

Yes

RC8

Jheumann

abc123

M101 E201 S101

Yes

Yes

E202 and S101 conflict

B ng 4.8: Ma tr n test case v i d li u

4.5.

K thu t ng di n ti n c a chng trnh (Basic Path Testing)


K thu t ng di n ti n ( ng c s ) c a ra b i Tom McCabe.

Phng php ny cho php thi t k cc tr ng h p ki m th m b o m i cu l nh trong chng trnh c th c hi n t nh t m t l n. Khi ni m v l c : L m t khi ni m n gi n bi u th lu ng i u khi n chng trnh c a m t o n m. Trong cc phng php ki m tra tnh ng n, l c th ng dng :
GV: Tr n Th Thy Trinh T CNPM 50

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Tr u t ng ha c php c a m l nh. Lm khun m u c b n cho cc nguyn t c ki m tra theo tr ng h p. Ki m tra tnh ng n trn ton b l c .

D i y l m t vi bi u m t c u trc i u khi n c a chng trnh:

N i ti p (SEQUENCE) WHILE

UNTIL

CASE

IF

Theo hnh trn m i hnh trn l m t nt c a l c , m t m t ho c nhi u cu l nh trong chng trnh. Cc mi tn trong lu c g i l c nh, bi u di n cc lu ng i u khi n v tng t nh cc mi tn trong bi u ti n trnh. M i c nh ph i k t thc t i m t nt cho d nt khng ch a l nh no. Cc vng c gi i h n b i c nh v nt c g i l mi n. M i nt ch a i u ki n c xem l nt xc nh n c m t b i hai ho c nhi u c nh xu t pht t n. ph c t p c a l c : l m t s o ph n m m cung c p ph c t p v logic c a m t chng trnh. Trong k thu t ng di n ti n th ph c t p c a lu xc nh s ng c l p trong m t t p l nh c b n c a chng
GV: Tr n Th Thy Trinh T CNPM 51

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

trnh, cho chng ta bin trn s l ng testcase s c thi t k m b o cc cu l nh c th c thi t nh t m t l n. ph c t p c a l c c xc nh theo 3 cch: S mi n c a lu . V(G) = E N + 2 N l s nt c a lu . V(G) = P + 1 V i: P l s nt xc nh n i u ki n Khi ni m ng di n ti n: L m t t p h p l nh c th c thi c th t trong chng trnh. n gi n hn c th hi u m t o n chng trnh hay m t chng trnh ch a r t nhi u cc ng di n ti n t i m t l nh i u ki n r nhnh t o ra m t t p ng m i,
False i u Ki n A True L nh th c hi n

V i: E l s c nh c a lu .

Hinh 4.9: ng di n ti n Theo hnh trn, ta s c 2 ng di n ti n, m t ng khi i u ki n A mang gi tr ng, v m t ng khi i u ki n A mang gi tr sai. Cc b c xy d ng cc tr ng h p ki m th : Dng ti li u source code hay cc ti li u thi t k v m t bi u m t flowchart c a m t chng trnh ho c hm. Xc nh th V(G) T th V(G) xc nh t p ng c l p tuy n tnh l n nhau. Xy d ng nh ng tr ng h p ki m th d a trn t p ng xc nh b c trn.
GV: Tr n Th Thy Trinh T CNPM 52

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

V d : Xt th t c Average Phn tch th t c Average


Int Average () { /* Hm tnh gi tr trung bnh c a 100 ho c c th t hn cc s */ int value[100]; int average,totalinput, totalvalid, minimum, maximum, sum; int i; i=0; 1 totalinput = totalvalid =0; 2 sum = 0; 3

while( value[i]<>-999 and totalinput <100) { 6 4 totalinput ++; 5

if( value[i] >= minimum AND value[i] < maximum) { 7 totalvalid ++; sum = sum + value[i] } 8 i++; 9 } 10 if( totalvalid > 0 ){ average = sum/totalvalid } else{ 12 average = -999 13 } 11

GV: Tr n Th Thy Trinh T CNPM

53

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

M l nh c a th t c c phn tch v bi u di n thnh d ng flowchart tng ng nh bn trong o n m. th . T o m t th flow graph bi u di n tng ng v i flowchart c a hm Average.
Node Edge 1

y chng trnh c 13 i m trong

2 3

R2

4 R5 10 R1 13 R3 11 8 6 R4 7 5 R6

12

Hinh 4.10: Flowchart c a hm Average Trong tr ng h p ny ta c th xc nh t p ng c l p tuy n tnh l n nhau: ng 1: 1-2-10-11-13 ng 2: 1-2-10-12-13 ng 3: 1-2-3-10-11-13 ng 4: 1-2-3-4-5-8-9-2 ... ng 5: 1-2-3-4-5-6-8-9-2 ... ng 6: 1-2-3-4-5-6-7-8-9-2 ... Ba ch m sau nh ng ng 4,5,6 cho bi t r ng m t ng i b t k qua ph n cn l i c a c u trc i u khi n u c ch p nh n. T o cc tr ng h p ki m th d a trn cc ng trn

GV: Tr n Th Thy Trinh T CNPM

54

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

M t 1 value[k] = l m t gi tr h p l , v i k < i value[i] = -999 vi m t gi tr 2<=i <=100 2 value[1] = -999

K t qu mong i Gi tr trung bnh mong i l gi tr trung bnh ng c a tt c gi tr k. Gi tr trung bnh mong i l gi tr trung bnh 999, nh ng bi n ch a gi tr t ng c ng khc u b ng 0.

C g ng th c hi n ti n trnh cho 101 gi tr ho c hn, 100 gi tr u trong value l nh ng gi tr h p l

Gi tr trung bnh mong i l gi tr trung bnh ng c a tt c gi tr k.

value[i]

gi

tr

h p

khi

i<

100

Gi tr trung bnh mong i l gi tr trung bnh ng trn k gi tr v t ng nh n gi tr ng

value[k]< minimum khi k < i 5 value[i] = l m t gi tr h p l value[k] > maximum khi k<=i 6 value[i] = l m t gi tr h p l khi i <100 khi i <100

Gi tr trung bnh mong i l gi tr trung bnh ng trn n gi tr v t ng nh n gi tr ng Gi tr trung bnh mong i l gi tr trung bnh ng trn n gi tr v t ng nh n gi tr ng

B ng 4.11: Cc testcase cho flowchart trn M i tr ng h p c ch y v so snh v i k t qu mong i. N u t t c cc tr ng h p ki m th u cho k t qu nh mong mu n th c th kh ng nh r ng t t c cc dng l nh trong th t c Average u c ki m th t nh t m t l n. Nh n xt: Phng php ki m th theo ng di n ti n c a chng trnh ph thu c nhi u vo cc bi u th c i u ki n. Tuy nhin c nh ng tr ng h p s l ng ng d n qu l n (tr ng h p vng l p). V v y th ng khng ph i l l a ch n th c t ti n hnh vi c ki m tra tnh ng n c a chng trnh.

GV: Tr n Th Thy Trinh T CNPM

55

Bi gi ng: Ki m th v m b o ch t l ng ph n m m C kho ng 520= 95.367.431.640.625 ng d n If then - else

loop <20

4.6.

Ki m tra lu ng i u khi n Ki m th bi u th c i u ki n l phng php ki m th trn nh ng i u

4.6.1. Ki m tra c php (bi u th c i u ki n) ki n logic c a hm hay module. M t i u ki n n gi n l m t bi n boolean ho c m t bi u th c quan h . X hay NOT X m t i u ki n logic n gi n. Bi u th c quan h th ng c d ng: E1 <php ton quan h > E2 E1, E2 l cc bi u th c s h c v php ton quan h l m t trong cc php ton sau: <, <=, ==, !=, >=, >. M t i u ki n k t h p c a hai hay nhi u i u ki n n gi n, cc php ton boolean: OR (| |), AND (&) v NOT (!). Cc lo i l i c a i u ki n c th pht hi n c bao g m: L i trong bi u th c boolean (l i t n t i cc bi u th c khng ng, thi u ho c th a cc thao tc). L i do gi tr c a bi n. L i do d u ngo c L i do php ton quan h . L i trong bi u th c ton h c
GV: Tr n Th Thy Trinh T CNPM 56

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

M c ch c a ki m th i u ki n l khng ch pht hi n l i trong i u ki n m cn nh ng l i khc trong chng trnh. N u m t t p ki m th cho m t chng trnh P l hi u qu cho vi c pht hi n l i trong i u ki n c a P th b ki m th cng c th pht hi n cc l i khc trong P. E1 <php ton quan h > E2 Ba tr ng h p ki m th c yu c u ki m tra l gi tr E1 l n hn, nh hn v b ng gi tr c a E2. N u php ton quan h l khng ng v E1, E2 l ng th ba lo i ki m th trn c th m b o xc nh c l i trong php ton quan h . pht hi n l i trong E1 v E2 th cc tr ng E1 l n hn, nh hn E2 c th pht hi n l i. V d 1: Xt m t o n m l nh sau: if (x>0 && y>0) x=1; else x=2; Cc b (x>0, y>0) v (x<=0, y>0) s ki m tra c ton b cc i u ki n. Tuy nhin khng th a mn v i m i gi tr input. V d 2: Xt o n m sau: While (x>0 | | y>0) { x--; y--; z += x*y; } V i b (x>0) s ki m tra bao trm cc i u ki n c a o n m. Tuy nhin gi tr y s khng c ki m tra. Th ng th n u 1 i u ki n AND l sai th khng c n ki m tra cc i u ki n ti p theo trong bi u th c. Tng t nh v y, n u 1 i u ki n OR l ng th cng khng c n ki m tra cc i u ki n cn l i. Do , cc l i trong bi u th c logic khng ph i lc no cng c pht hi n b ng phng php ny. V v y, khi ki m th b ng phng php ki m tra cc bi u th c i u ki n th c n xem xt k t h p cc i u ki n v i nhau.
GV: Tr n Th Thy Trinh T CNPM 57

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

M t bi u th c c n bi n th c 2n tr ng h p ki m th . Trong cc v d trn c 2 bi n nn s c 4 tr ng h p ki m th l (x>0, y>0), (x>0, y<0), (x <=0, y>0) v (x<=0, y<=0). 4.6.2. Ki m tra vng l p (Loop Testing) Vng l p l m t trong nh ng n n t ng cho r t nhi u cc thu t ton c ci t trong cc ph n m m. Tuy nhin cho n lc ny chng ta v n cn t ch n vi c xy d ng cc tr ng h p ki m th . Ki m th vng l p ch y u t p trung vo tnh ch t c a c u trc vng l p, c 4 c u trc vng l p nh sau: vng l p n, vng l p mc n i, vng l p t o thnh t , v vng l p khng c u trc.

vng l p n gi n

vng l p t o thnh t

vng l p mc n i

vng l p khng c u trc

Hnh 4.12: Cc c u trc vng l p Cc b c ki m tra cho vng l p n, v i n l s l n l p t i a c a vng l p B qua vng l p L pm tl n L p hai l n L p m l n (m <n) L p n-1, n, n+1.
GV: Tr n Th Thy Trinh T CNPM 58

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Cc b c ki m tra cho vng l p d ng l ng nhau: Kh i u cc vng l p n m bn trong nh t. Thi t l p cc tham s l p cho cc vng l p bn ngoi v gi tr nh nh t. Ki m tra v i tham s min+1, 1 gi tr tiu bi u, max-1 v max cho vng l p bn trong nh t trong khi cc tham s l p c a cc vng l p bn ngoi l nh nh t. Ti p t c tng t v i cc vng l p li n ngoi ti p theo cho n khi t t c vng l p bn ngoi c ki m tra. Cc b c ki m tra cho vng l p n i ti p N u cc vng l p l c l p v i nhau th ki m tra nh tr ng h p cc vng l p d ng n, n u khng th ki m tra nh tr ng h p cc vng l p d ng l ng nhau. i v i vng l p khng c u trc, vi c ki m th r t ph c t p. Khi g p cc c u trc l p th ny th nn thi t k l i. V d : Xt o n m sau:
// LOOP TESTING EXAMPLE PROGRAM import java.io.*;

class LoopTestExampleApp {

// ------------------ FIELDS ------------------------

public static BufferedReader keyboardInput = new BufferedReader(new InputStreamReader(System.in)); private static final int MINIMUM = 1; private static final int MAXIMUM = 10;

// ------------------ METHODS ------------------------

/* Main method */

public static void main(String[] args) throws IOException { System.out.println("Input an integer value:"); int input = new Integer(keyboardInput.readLine()).intValue();

GV: Tr n Th Thy Trinh T CNPM

59

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

int numberOfIterations=0; for(int index=input;index >= MINIMUM && index <= MAXIMUM;index++) { numberOfIterations++; }

// Output and end System.out.println("Number of iterations = " + numberOfIterations); } }

Gi tr u vo 11 10 9 5 2 1 0

K t qu (S l n l p) 0 (b qua vng l p) 1 (ch y 1 l n l p) 2 (ch y 2 l n l p) 6 (tr ng h p ch y m l n l p khi m<n) 9 (ch y N-1 l n l p) 10 (ch y N l n l p) 0 (b qua vng l p) B ng 4.13: Cc testcase cho o n code trn

4.7.

Ki m tra lu ng d li u (Data Flow Testing)


Phng php ki m th lu ng d li u ch n l a m t s ng di n ti n c a

chng trnh da vo vi c c p pht, nh ngha v s d ng cc bi n trong chng trnh. hnh dung ra cch ti p c n ny ta gi s r ng m i cu l nh trong chng trnh c gn m t s duy nh t, m i hm khng c thay i thng s c a n v bi n ton c c. DEF(S) = { X | l nh S ch a nh ngha X } USE(S) = { X | l nh S ch a m t l nh/bi u th c s d ng X } N u S l m t cu l nh if hay vng l p, th t p DEF c a S l r ng v USE l t p d a trn i u ki n c a cu l nh S.

GV: Tr n Th Thy Trinh T CNPM

60

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

nh ngha 1: bi n X t i cu l nh S c cho l v n cn ho t ng t i cu l nh S n u nh t n t i m t ng t cu l nh S n cu l nh S khng ch a b t k nh ngha no c a X. nh ngha 2: M t chu i dng c a bi n X g i l (DU c a X ) k hi u [X, S, S] l nh ngha c a X trong t ng cu l nh S v n cn ho t ng trong cu l nh S. Phng php ki m th lu ng d li u yu c u r ng t t c cc chu i DU u c ki m th t nh t m t l n. C th th y r ng b ki m th cho lu ng d li u c th khng bao trm t t c cc nhnh. Tuy nhin m t nhnh khng m b o s c pht hi n l i b ng phng php ny ch trong m t s hi m cc tr ng h p nh l cu l nh if-then trong ph n then khng c nh ngha thm m t bi n no v ph n else khng t n t i. Trong tnh hu ng ny th nhnh else khng c n thi t ph i dng n phng php ny. DFT r t h u ch cho cc lo i ki m th m t chng trnh c nhi u l nh if v nhi u l nh l p l ng nhau. V d : Xt o n m sau:
proc x B1; do while C1 if C2 then if C4 then B4; else B5 endif; else if C3 then B2 else B3 endif; endif enddo B6 End proc

xy d ng cc tr ng h p ki m th DFT cho th t c trn, chng ta c n ph i bi t nh ngha v s d ng bi n m i i u ki n ho c m t kh i trong th t c ny. Gi s bi n X c nh ngha trong cu l nh cu i c a kh i l nh B2, B3, B4
GV: Tr n Th Thy Trinh T CNPM 61

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

v B5 v bi n X c s d ng

u c a cc kh i B2, B3, B4, B5 v B6. Ki m

th DU yu c u ng th c thi ng n nh t t Bi, 0<i<=5 n Bj, 1<j<=6 (trong tr ng h p ny th cc tr ng h p ki m th cng c th pht hi n l i trong b t k vi c s d ng bi n x cc i u ki n C1, C2, C3 v C4). M c d c n 25 chu i DU nhng ch c n 5 l bao hm cc tr ng h p khc. Khi cc cu l nh trong chng trnh c lin k t v i vi c nh ngha v s d ng bi n th phng php ki m th lu ng d li u r t hi u qu cho vi c pht hi n l i. Tuy nhin, v n v m c bao ph v ch n ra cc ng di n ti n cho ki m th lu ng d li u th kh khn hn nhi u so v i ki m th i u ki n. C. PHNG PHP V HNH TH C GI NG D Y 1. N i dung Trnh chi u powerpoint t v n , trao i 2. Sau khi h c xong l thuy t sinh vin v n d ng lm bi t p h th ng ha l i ki n th c chng. D. TI LI U THAM KH O 1. John.Wiley.and.Sons.The.Art.of.Software.Testing.Second.Edition.Jun.2004.eB ook-DDU Chapter 4 2. Roger S. Pressman: Software Engineering: A Practitioner's Approach, 6th Ed., McGraw-Hill, 2004 Chapter 17

3. By Lee Copeland: A Practitioner's Guide to Software Test Design Chapter 3 -11 4. Craftmans Approach: Software testing E. CU H I V BI T P 1. th dng g m nh ng y u t no? xy d ng n d a vo u? N c cc c trng g? th dng dng lm g? 2. Con ng c b n trong th dng l ci g? ph c t p c a chu trnh l g? Nu cc cng th c tnh ph c t p? Chapter 5-11

GV: Tr n Th Thy Trinh T CNPM

62

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

3. Nu cc lo i i u ki n trong c u i u khi n v cho v d ? C nh ng lo i sai no trong i u ki n khi ki m th ? 4. Ki m th i u khi n dng d li u ngha l g? Cho v d ? 5. Ki m th i u khi n vng l p gha l g? Cho v d ? 6. Vi t chng trnh c vo 3 gi tr nguyn. Ba gi tr ny tng ng v i chi u di 3 c nh c a 1 tam gic. Chng trnh hi n th 1 thng i p cho bi t tam gic l tam gic th ng, cn, hay u. 7. V th V(G) v ng di n ti n c a chng trnh trn 8. Xy d ng cc testcase duy t qua t t c cc nhnh c a th trn 9. Tm hi u thm v cc k thu t ki m th khc

GV: Tr n Th Thy Trinh T CNPM

63

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

BI 5:

CC V N C N KI M TH

A. M C TIU 1. V ki n th c Cung c p cho sinh vin nh ng ki n th c v cc v n ki m th : Ki m th c u hnh Ki m th kh nng tng thch Ki m th Foreign Language Ki m th kh nng ti n d ng Ki m th ti li u Ki m th kh nng b o m t ti li u Sau khi h c xong bi ny sinh vin c th bi t c: Cc b c th c hi n cc v n ki m th : c u hnh, kh nng tng thch, foreign language, kh nng ti n d ng, ti li u, b o m t. V n d ng cc v n trn vo t ng tr ng h p c th

2. V k nng

B. N I DUNG

5.1.

Ki m th c u hnh
nh ngha: Ki m th c u hnh l qu trnh ki m tra s v n hnh c a ph n m m c test v i t t c cc lo i ph n c ng khc nhau. T i sao ph i c n ki m th c u hnh? Ph n m m c test c th ch y trn nhi u lo i c u hnh khc nhau c cung c p b i nhi u nh s n xu t khc nhau. i u quan tr ng c n nh l ph n m m c a b n c th ch y t t, trn tru trn m t lo i c u hnh nhng s b l i (treo) trn cc lo i c u hnh khc. Ph n m m khc nhau c th lin k t n cc vng c u hnh khc nhau, v d : M t game h a cao i h i r t nhi u n m thanh, video. M t chng trnh in thi p s d b l i n u my in c v n
64

5.1.1. Ki m th c u hnh l g

GV: Tr n Th Thy Trinh T CNPM

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

M t chng trnh truy n thng c n ph i c th nghi m v i nhi u modem v c u hnh m ng.

Khi no th c hi n ki m th c u hnh Thng th ng vi c l p l ch ki m th c u hnh sau khi cc ch c nng trong giai o n ki m th h th ng c th c hi n xong v baseline. N u khng nh v y s g p kh khn trong vi c xc nh cc sai st, khi m khuy t n m trong ph n m m hay ph n c ng. 5.1.2. Cc b c th c hi n ki m th c u hnh Xc nh cc t h p ph n c ng Nhi m v c t li c a ki m th c u hnh l lm gi m cc t h p c u hnh ph n c ng, b i v: Th c t khng th th c hi n ki m th y cc c u hnh: V d : M t ng d ng tr chi tr c tuy n c th c h tr : o 350 card mn hnh o 200 card m thanh, 800 modems o 1200 my in Nh v y c t t c : 350 x 200 x 800 x 1200 t h p. B n c th th c hi n m t s l ng testcase nh t nh trn cc c u hnh khc nhau, t ng s testcase c th l n hn nhi u. Th c hi n cc b c xc nh t h p ph n c ng: Xc nh cc lo i ph n c ng m b n mu n Xc nh cc thng hi u, m u m, thi t b driver c s n c a ph n c ng Xc nh cc tnh nng, ch v cc ty ch n c th c a ph n c ng. Ghi l i cc c u hnh c xc nh. Xc nh cc tnh nng duy nh t ph n m m c th lm vi c v i ph n c ng. Thi t k testcase d a trn c u hnh l a ch n

GV: Tr n Th Thy Trinh T CNPM

65

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Thi t k cc testcase ki m tra trn m i c u hnh, theo cc b c trn b n c th thi t k chi ti t cc tr ng h p ki m th c th : C u hnh v tnh nng c ki m tra i u ki n tin quy t Cc b c ho t ng K t qu mong i

Ti n hnh ki m tra c u hnh Cc l i c u hnh th ng kh xc nh b i v: Cc k s ph n m m lun tin t ng r ng cc s n ph m ph n c ng c cung c p b i cc nh s n xu t th ng l hon h o, v l i x y ra th ng n m trong chng trnh. Trong h u h t cc tr ng h p l i, cc l p trnh vin th ng kh xc nh l i ph n c ng do thi u ki n th c v ph n c ng. B n c th th t v ng b i l ng t h p c u hnh qu l n khi ti n hnh ki m th c u hnh. S a l i v ki m tra cc ch nh s a Bo co k t qu

5.2.

Ki m th kh nng tng thch


nh ngha: Ki m th kh nng tng thch l qu trnh ki m tra xem ph n m m c tng tc v chia s thng tin v i cc ph n m m khc chnh xc nh th no. Tung tc c th x y ra gi a: Hai chng trnh ang ch y ng th i trn cng m t my tnh. Hai chng trnh ang ch y trn nh ng my tnh khc nhau k t n i nhau qua m ng. n gi n nh lu d li u ln my tnh khc. a m m v mang n n m t

5.2.1. Ki m th kh nng tng thch l g

GV: Tr n Th Thy Trinh T CNPM

66

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Ki m th kh nng tng thch l qu trnh ki m tra gi ng v i ki m th c u hnh. N quan tm n vi c tng tc v i cc ph n m m tng thch c xc nh trong c t yu c u. T i sao ki m th kh nng tng thch l i c n thi t? Cc ph n m m c th tng tc v i nhau. N u nh tng tc l th t b i, th ch c nng cng th t b i. 5.2.2. Cc b c th c hi n Khi no th c hi n ki m th kh nng tng thch Cng gi ng nh ki m th c u hnh chng ta th ng l p l ch ki m th kh nng tng thch sau khi ki m th xong cc ch c nng trong giai o n ki m th h th ng v c baseline. N u khng vi c tm ra l i tng thch l r t kh. H u h t cc i d n th ng k t h p ki m th c u hnh v i ki m th kh nng tng thch v i nhau. Xc nh cc ph n m m tng thch Phn tch c t yu c u Th o lu n v i cc nh k thu t Xem xt cc v n sau: o Platform v cc phin b n ng d ng: Ph n m m thi t k tng thch v i nh ng platform no nh h i u hnh, trnh duy t web. o Chu n v h ng d n: Cc chu n v h ng d n tng thch no c nh km xc nh tnh tng thch c a ph n m m v i cc ph n m m khc. o Chia s d li u: Nh ng lo i d li u no m ph n m m c a b n s s d ng tng tc v i cc ph n m m v platform khc. Cc ng d ng tng thch v cc version c a n th ng c trong c t v c xc nh b i cc nh qu n l v cc thnh vin marketing.
GV: Tr n Th Thy Trinh T CNPM 67

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Nhi u phin b n: Cng gi ng nh ki m th c u hnh, gi m s l ng ph n m m tng thch c n c ki m th , b n ph i bi t c nh ng ph n m m no quan tr ng nh t c n ph i test. o Xc nh cc ph n m m b ng k thu t phn vng tng ng. o Vi t ra cc thng tin c a ph n m m vo b ng nh: Tnh ph bi n, lo i, nh s n xu t, version, ty ch n, v.v o i n vo b ng nh ng ph n m m m b n ch n d li u nh hn. o Ki m tra l i b ng v quy t nh xem ph n m m no tng thch v i ph n m m c a b n nh t. b c 1 o N u c n thi t hy s d ng b ng quy t nh ch n ra b

Thi t k testcase cho m i ph n m m tng thch Ti n hnh ki m th S a l i v xc nh n ch nh s a Bo co k t qu .

5.3.

Ki m th Foreign language
L qu trnh ki m tra xem ph n m m c th lm vi c chnh xc v i cc ngn ng qu c t ? i u ny yu c u kh nng ngoaii ng c a tester ki m tra cc phin b n ngn ng khc nhau n u khng c s n cng c tr gip. Cc chuyn gia ngn ng th ng tham gia vo ki m th ny.

5.3.1. Ki m th Foreign language

5.3.2. T i sao c n ph i ki m tra foreign language H u h t cc ph n m m hi n nay u c pht hnh trn ton th gi i v i u t o m t ti n t t thi t k v ki m th cc ph n m m c phn ph i trn ton th gi i. 5.3.3. Khi no ki m th Foreign language Khi th c hi n ki m th foreign language th ng ch n nh ng v n sau:
GV: Tr n Th Thy Trinh T CNPM 68

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

D ch thu t: Vn b n m r ng: khi m t t c d ch sang ngn ng khc, n th ng i h i nhi u c trng khc ni v m t i u tng t . Code khc nhau cho nh ng ngn ng khc nhau: ASCII, DBCS v Unicode. Phm nng v phm t t: t t c cc phm nng v phm t t nn c ki m tra m b o chng ho t ng ng v d dng s d ng. c t tri sang ph i v t ph i sang tri: m t s ngn ng c t ph i sang tri v ng c l i. Vn b n trong h a N i dung: Cng m t t c th c ngha khc nhau trong cc qu c gia khc nhau. nh d ng d li u: ngn ng khc nhau c cc nh d ng d li u khc nhau nh: s o, s , ti n t , ngy, gi , l ch, a ch , s i n tho i, v kch th c. 5.3.4. Cc b c ti n hnh Quy t nh u tin H tr d li u vn b n trong cc nh d ng ANSI X l chu i m r ng S d ng cc t p tin lu tr d li u, ho c trao i d li u v d : Windows metafile, cc cng c c u hnh b o m t, v d a trn web. c nhi u v n ngn ng qu c t trong qu kh . th c hi n b n nn b t u ch n h i u hnh ph h p. T o mi tr ng h tr m c tiu ngn ng Ch n platform T o mi tr ng ki m th Cc v n v a l -

Thi t k testcase
GV: Tr n Th Thy Trinh T CNPM 69

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

p d ng cc k thu t ki m th h p en c b d li u nh . B n c th thi t k b d li u ki m th ch a cc t h p ngn ng ng , c, Anh tm ra cc khi m khuy t.

Ti n hnh ki m tra Bo co l i

5.4.

Ki m th kh nng ti n d ng
nh ngha: Tnh ti n d ng l c tnh d hi u, d s d ng b i ng i dng cu i. Ki m th tnh ti n d ng l ki m tra nh ng c tnh ny c a ph n m m. Ki m th kh nng ti n d ng bao g m: Ki m tra ci t Ki m tra ch c nng kh d ng Ki m tra giao di n ng i dng Ki m tra thng tin

5.4.1. Ki m th kh nng ti n d ng l g

5.4.2. Ki m tra ci t Ci t ph n m m l b c th c hi n u tin tr c khi ng i s d ng v n hnh ph n m m. Ki m tra ci t l ki m tra xem ph n m m c c ci t thnh cng hay khng. Cch n gi n nh t ki m tra ci t l ti n hnh ci t t ng b c, theo h ng d n ci t dnh cho ng i dng. Ki m tra ci t bao g m: Ki m tra h ng d n ci t: xem xt h ng d n ci t, ch cc m t trong platform, qui trnh, v c u hnh. Ki m tra vi c ci t t ng Ki m tra cc l a ch n v cc b ci t Lm gin o n trong qu trnh ci t
70

GV: Tr n Th Thy Trinh T CNPM

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Ki m tra theo trnh t ci t Ci t ph n m m trong cc platform khc nhau Sau khi ci t, b n nn ch y th ph n m m xc nh n tnh ng n c a vi c ci t. Ki m tra vi c s a ch a v tho g ph n m m: Khi s a ch a c n ch c n th n xem c m t d li u hay khng, hay xe xt vi c tho g c hon ton hay khng.

5.4.3. Ki m tra ch c nng kh d ng ki m tra ch c nng kh d ng, b n nn xem xt: Ph n m m c c th c hi n theo ng chu n hay khng Ng i dng c th ty ch nh c ch c nng theo ti n l i c a h khng D li u c c chia s gi m s l ng input hay khng H th ng c cung c p thng tin khi xa d li u ho c th c hi n cc ch c nng quan tr ng khng 5.4.4. Ki m tra giao di n ng i s d ng Ki m tra giao di n ng i dng l ph n quan tr ng hn tnh ti n d ng c a ph n m m. Ki m th giao di n nh m ki m tra s tng tc gi a ng i dng v h th ng xc nh n cc y u t trong giao di n ng i dng. Ki m tra giao di n ton ph n: nh gi tiu chu n, tnh nh t qun v tnh h p l c a giao di n ng i dng. Tnh nh t qun: bao g m cc tiu chu n i u khi n, v cc m u thng tin. Ki m tra layout c nh t qun hay khng bao g m: V tr c a windows, cc nt Canh l window, cc nt

Ki m tra xem nhn, v thng tin c nh t qun hay khng Ki m tra outlook c nh t qun hay khng Kch c
71

GV: Tr n Th Thy Trinh T CNPM

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Mu s c N n Thng tin hi n th

5.5.

Ki m th ti li u
nh ngha: Ki m th ti li u l qu trnh xc nh n tnh chnh xc c a ti li u ph n m m, v m b o tnh ng n c a cc b c ho t ng c m t trong h ng d n s d ng, T i sao ph i ki m th ti li u Ti li u l m t ph n quan tr ng c a ton b s n ph m ph n m m v ti p xc tr c ti p v i ng i dng cu i, Ng i dng c th v n hnh ph n m m theo quy nh c a m t s ti li u. N u c l i trong ti li u, khch hng s kh ch u. Cc ti li u ph n m m ph bi n: Ti li u ng i dng: H ng d n s d ng Ti li u h ng d n ho t ng Ti li u b o tr c t yu c u ph n m m c t thi t k c t thi t k K ho ch d n m c cao m c th p

Ti li u pht tri n ph n m m -

K ho ch ki m th

5.6.

Ki m th b o m t
B o m t l thu c tnh c a ph n m m nh gi kh nng b o m t ch ng l i cc cu c t n cng tri php c a h th ng. Ki m th b o m t l qu trnh m b o chi n l c b o m t c xy d ng trong h th ng lm vi c m t cch chnh xc.

GV: Tr n Th Thy Trinh T CNPM

72

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

M t khi b o m t l thu c tnh quan tr ng c a h th ng th b n nn th c hi n ki m tra cng s m cng t t. Cc b c ti n hnh: Xc nh cc m i e d a Thi t k testcase Ti n hnh ki m th Bo co k t qu

th c hi n ki m th b o m t, b n nn xc th c chi n l c b o m t c a h th ng. Phn quy n M ha Cc chi n l c b o m t: scan m ng, crack password, xm nh p th nghi m. Sao lu v ph c h i d li u Cc chi n l c di t virus

C. PHNG PHP V HNH TH C GI NG D Y 1. N i dung Trnh chi u powerpoint t v n , trao i 2. Sau khi h c xong l thuy t sinh vin v n d ng lm bi t p h th ng ha l i ki n th c chng. D. TI LI U THAM KH O 1. By Ron Patton: Software Testing, Sams Publishing, 12, 13. E. CU H I V BI T P Chapter 8, 9, 10, 11,

GV: Tr n Th Thy Trinh T CNPM

73

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

BI 6:

CC GIAI O N KI M TH

A. M C TIU 1. V ki n th c Cung c p cho sinh vin nh ng ki n th c: Xc nh c V&V v l p k ho ch th c hi n N m c cc giai o n ki m th ph n m m

2. V k nng Sau khi h c xong chng ny sinh vin c th v n d ng nh ng ki n th c vo th c t : p d ng c cc k thu t ki m th h p tr ng, h p en vo cc giai o n ki m th . Xy d ng cc ti li u cho cc giai o n ki m th . Phn tch v nh gi k t qu ki m th , xy d ng chi n l c ki m th t t.

B. N I DUNG

6.1.

Ki m ch ng v xc nh n (V&V)
Ki m th ph n m m l m t y u t trong ch i m r ng hn th ng c

tham kh o t i nh v n ki m ch ng v h p l ho (V&V). Ki m ch ng ni t i m t t p cc hnh ng m b o r ng ph n m m ci t ng cho m t ch c nng c bi t. H p l ho ni t i m t t p cc ho t ng khc m b o r ng ph n m m c xy d ng l i theo yu c u c a khch hng. Bochm pht bi u i u ny theo cch khc: Ki m ch ng: Chng ta c lm ra s n ph m ng khng? H p l ho: Chng ta c lm ra ng s n ph m khng? nh ngha v V&V bao qut nhi u ho t ng ta tham kh o t i nh vi c m b o ch t l ng ph n m m (SQA). Cc phng php k ngh ph n m m cung c p n n t ng xy d ng nn ch t l ng. Cc phng php phn tch, thi t k v th c hi n (m ho) lm nng cao ch t l ng b ng cch a ra nh ng k thu t th ng nh t v k t qu d ki n c. Cc cu c h p xt duy t k thu t chnh th c (th o trnh) gip m b o ch t l ng c a s n ph m c t o ra nh h qu c a t ng b c k ngh ph n m m.
GV: Tr n Th Thy Trinh T CNPM 74

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Qua ton b ti n trnh ny, vi c o c v ki m sot c p d ng cho m i ph n t c a c u hnh ph n m m. Cc chu n v th t c gip m b o tnh th ng nh t v ti n trnh SQA chnh th c bu c ph i thi hnh tri t l ch t l ng ton b . Vi c ki m th cung c p m t thnh lu cu i cng c th th m nh v ch t l ng, l i c th c pht hi n ra m t cch th c t hn. Nhng khng nn coi ki m th nh m t t m l i an ton. Nh ng i ta v n ni, B n khng th ki m th c ch t l ng. N u n khng s n c tr c khi b n b t u ki m th th n s ch ng c khi b n k t thc ki m th . Ch t l ng c t h p vo trong ph n m m trong ton b ti n trnh k ngh ph n m m. Vi c p d ng ng cc phng php v cng c , cc cu c h p xt duy t k thu t chnh th c v vi c qu n l v ng ch c cng cch o c t t c d n t i ch t l ng c xc nh n trong khi ki m th . Miller k l i vi c ki m th ph n m m v m b o ch t l ng b ng cch ni r ng ng c n n t ng c a vi c ki m th chng trnh l xc nh n ch t l ng ph n m m b ng nh ng phng php c th c p d ng m t cch kinh t v hi u qu cho c cc h th ng quy m l n v nh . i u quan tr ng c n lu r ng vi c ki m ch ng v h p l ho bao g m m t ph m vi r ng cc ho t ng SQA c ch a c h p xt duy t chnh th c, ki m ton ch t l ng v c u hnh, i u ph i hi u nng, m ph ng, nghin c u kh thi, xt duy t ti li u, xt duy t c s d li u, phn tch thu t ton, ki m th pht tri n, ki m th ch t l ng, ki m th ci t. M c d u vi c ki m th ng m t vai tr c c k quan tr ng trong V&V, nhi u ho t ng khc cng cn c n t i. 6.1.1. T ch c vi c ki m th ph n m m V i m i d n ph n m m, c m t mu thu n c h u v l i ch xu t hi n ngay khi vi c ki m th b t u. Ng i xy ph n m m by gi c yu c u ki m th ph n m m. i u ny b n thn n d ng nh v h i; sau r t, ai bi t c chng trnh k hn l ng i lm ra n? Nhng khng may, cng nh ng ng i pht tri n ny l i c m i quan tm ch ng minh r ng chng trnh l khng c l i, r ng n lm vi c ng theo yu c u khch hng, r ng n s c hon t t theo l ch

GV: Tr n Th Thy Trinh T CNPM

75

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

bi u v trong ph m vi ngn sch. M t trong nh ng m i quan tm ny l i lm gi m b t vi c tm ra l i trong ton b ti n trnh ki m th . Theo quan i m tm l, vi c phn tch v thi t k ph n m m (cng v i m ho) l nhi m v xy d ng. Ng i k s ph n m m t o ra m t chng trnh my tnh, ti li u v n v cc c u trc d li u c lin quan. Gi ng nh b t k ng i xy d ng no, ng i k s ph n m m t ho v dinh th c xy d ng v nhn ng v c vo b t k ai nh lm s p n. Khi vi c ki m th b t u, c m t n l c tinh vi, d t khot p v ci ng i k s ph n m m xy d ng. Theo quan i m c a ng i xy d ng, vi c ki m th c th c coi nh (v tm l) c tnh ph ho i. Cho nn ng i xy d ng d d t c p t i vi c ki m th thi t k v th c hi n s ch ng t r ng chng trnh lm vi c, thay v pht hi n l i. i u khng may l i s hi n h u. V n u ng i k s ph n m m khng tm ra chng th khch hng s tm ra. Th ng c m t s nh n th c sai c th c suy di n sai l c t th o lu n trn: (1) ng i pht tri n ph n m m khng nn ti n hnh ki m th ; (2) ph n m m nn c tung qua t ng cho ng i l lm vi c ki m th m t cch tn b o; (3) ng i ki m th nn tham gia vo d n ch khi b c ki m th s p s a b t u. T ng pht bi u ny u khng ng. Ng i pht bi u ph n m m bao gi cng c trch nhi m v i vi c ki m th ring cc n v (m un) chng trnh, m b o r ng m i m un th c hi n ng ch c nng n c thi t k . Trong nhi u tr ng h p, ng i pht tri n cng ti n hnh c ki m th tch h p - b c ki m th d n n vi c xy d ng (v ki m th ) ton b c u trc chng trnh. Ch sau khi ki n trc ph n m m hon t t th nhm ki m th c l p m i tham gia vo. Vai tr c a nhm ki m th c l p (ITG) l lo i b v n c h u lin quan t i vi c ng i xy d ng ki m th nh ng ci anh ta xy d ng ra. Vi c ki m th c l p lo i b xung kh c l i ch n u khng c nhm th c th hi n h u. Cu i cng nhn s trong nhm ki m th c l p c tr ti n tm ra l i. Tuy nhin, ng i pht tri n ph n m m khng chuy n giao chng trnh cho ITG r i b i. Ng i pht tri n v ITE lm vi c ch t ch trong ton b d n ph n
GV: Tr n Th Thy Trinh T CNPM 76

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

m m m b o r ng nh ng ki m th k l ng s c ti n hnh. Trong khi ti n hnh ki m th , ng i pht tri n ph i c s n s a ch a l i pht hi n ra. ITG l m t ph n c a nhm d n pht tri n ph n m m theo ngha l n tham d trong ti n trnh c t v v n cn tham d (l p k ho ch v xc nh cc th t c ki m th ) trong ton b d n l n. Tuy nhin, trong nhi u tr ng h p ITG bo co cho t ch c m b o ch t l ng ph n m m, do t t i m t m c c l p c th khng c c n u n l m t ph n c a t ch c pht tri n ph n m m. 6.1.2. Tiu chu n hon thnh ki m th Cu h i c i n n y sinh m i khi c vi c th o lu n v ki m th ph n m m l: Khi no chng ta th c hi n xong ki m th - lm sao ta bi t r ng chng ta ki m th ? ng bu n l khng c cu tr l i xc nh cho cu h i ny, nhng c m t vi s p ng th c t v nh ng n l c ban u theo h ng d n kinh nghi m. M t p ng cho cu h i trn l: B n ch ng bao gi hon thnh vi c ki m th , gnh n ng n gi n chuy n t b n (ng i pht tri n) sang khch hng c a b n. M i lc khch hng / ng i dng th c hi n m t chng trnh my tnh th chng trnh ny l i c ki m th trn m t t p d li u m i. S ki n ng m c ny nh n m nh t m quan tr ng c a cc ho t ng m b o ch t l ng ph n m m khc. M t p ng khc (c i u g nh o bng nhng d u sao cng chnh xc) l : B n hon thnh vi c ki m th khi b n h t th i gian hay h t ti n. M c d u s t ng i th c hnh s bi n minh cho nh ng p ng trn, ng i k s ph n m m c n nh ng tiu chu n ch t ch hn xc nh khi no vi c ki m th c ti n hnh. Musa v Ackerman g i m t p ng d a trn tiu chu n th ng k: Khng, chng ta khng th tuy t i ch c ch n r ng ph n m m s khng bao gi h ng, nhng theo m hnh th ng k ng v l thuy t v h p l v th c nghi m th chng ta hon thnh ki m th ni v i s tin t ng t i 95% r ng xc su t c a 1000 gi v n hnh CPU khng h ng trong m t mi tr ng c xc nh v xc su t l t nh t 0.995 Dng m hnh ho th ng k v l thuy t tin c y ph n m m, cc m hnh v h ng hc ph n m m ( c pht hi n trong khi ki m th ) xem nh m t hm c a
GV: Tr n Th Thy Trinh T CNPM 77

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

th i gian th c hi n c th c xy d ng ra. M t b n c a m hnh sai h ng, c g i l m hnh th c hi n- th i gian Poisson l ga rit, c d ng: f(t)=
( 1 ) x ln[ p

l0(pt +1) ]

(17.1)

v i f(t) = s tch lu nh ng h ng hc d ki n xu t hi n m t khi ph n m m c ki m th trong m t kho ng th i gian th c hi n t. l0 = m t h ng ph n m m ban u (s h ng trn n v th i gian) vo lc b t u ki m th . P = vi c gi m theo hm m trong m t h ng khi l i c pht hi n v s a i c ti n hnh. M t h ng th nghi m. l(t), c th c suy ra b ng cch l y o hm c a f(t): F(t) =
l0 l 0 pt +1

(17.2)

Dng m i quan h trong phng trnh (2.2), ng i ki m th c th tin on vi c lo i b l i khi vi c ki m th ti n tri n. M t l i th c t i c th c ch m ln trn ng cong d ki n (hnh 2.4). N u d li u th c ti c thu th p trong khi ki m th v m hnh th c hi n - th i gian theo logarit Poisson l x p x g n nhau v i s i m d li u th m hnh ny c th c dng d on th i gian ki m th ton b c n t t i m t h ng th p ch p nh n c. B ng cch thu th p cc o trong khi ki m th ph n m m v dng cc m hnh v tin c y ph n m m hi n c, c th pht tri n nh ng h ng d n c ngha tr l i cu h i: Khi no th chng ta hon thnh vi c ki m th ? Cn t tranh lu n v vi c c ph i lm cng vi c thm n a hay khng tr c khi cc quy t c nh tnh cho ki m th c th xc nh, nhng cch ti p c n kinh nghi m hi n ang t n t i c coi l t t hn ng k so v i tr c gic th. 6.1.3. Chi n l c ki m th ph n m m M t chi n l c ki m th ph n m m tch h p cc k thu t thi t k cc tr ng h p ki m th vo trong m t lo t cc b c c ho ch nh chu o lm cho vi c xy d ng ph n m m thnh cng. M t i u quan tr ng l chi n l c ki m th ph n m m a ra l trnh cho ng i pht tri n ph n m m, cho t ch c
GV: Tr n Th Thy Trinh T CNPM 78

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

m b o ch t l ng v cho khch hng m t b n l trnh m t cc b c c n ti n hnh v r i th c hi n, v xc nh bao nhiu cng s c, th i gian v ti nguyn s c n t i. Do , b t k chi n l c ki m th no cng t h p k ho ch ki m th , thi t k cc tr ng h p ki m th , th c hi n ki m th v thu th p cc nh gi k t qu . M t chi n l c ki m th ph n m m nn m m d o thc y tnh sng t o v i u ch nh theo yu c u l i u c n thi t cho vi c ki m th cc ph n m m l n. ng th i chi n l c ny cng ph i ch t ch thc y vi c l p k ho ch h p l v theo di vi c qu n l khi d n pht tri n. Cc chi n l c ki m th c cc c trng sau: Vi c ki m th b t u t i m c module v lm vi c h ng ra ngoi t i vi c tch h p cho ton b h th ng. Cc k thu t ki m th khc nhau thch h p cho m i th i i m khc nhau theo th i gian. Vi c ki m th c ti n hnh b i ng i pht tri n ph n m m v m t nhm ki m th c l p ( i v i cc d n l n). Vi c ki m th v g l i l nh ng ho t ng khc nhau, nhng g l i ph i ph h p v i b t k chi n l c ki m th no.

Hnh 6.1: Chi n l c ki m th ph n m m M t chi n l c ki m th ph n m m c th c xem xt b ng cc ng xo n c nh hnh v trn. Vi c ki m th n v b t u t tm xo n c v t p


GV: Tr n Th Thy Trinh T CNPM 79

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

trung vo cc n v c a ph n m m c ci t trong chng trnh g c. Vi c ki m th ti n tri n b ng cch i ra theo ng xo n c t i ki m th tch h p ni t p trung vo thi t k v xy d ng ki n trc ph n m m. i ra thm m t vng xoy trn ng xo n c chng ta g p ki m th h p l ni cc yu c u c thi t l p nh m t ph n c a vi c phn tch yu c u ph n m m, c h p l ha theo ph n m m xy d ng. Cu i cng, chng ta t i ki m th h th ng, ni ph n m m v cc ph n t h th ng c ki m th ton b . ki m th ph n m m, chng ta theo ng xo n c m r ng d n ph m vi ki m th . Xem xt ti n trnh ny theo quan i m th t c th vi c ki m th bn trong cng ngh ph n m m l m t chu i g m ba b c th c hi n tu n t nhau. Cc b c ny c th hi n trong hnh d i y:

Hnh 6.2: Cc b c ki m th ph n m m Ban u, vi c ki m th t p trung vo t ng module ring bi t, m b o r ng n v n hnh ng nh n v . Ki m th n v dng r t nhi u k thu t h p tr ng, th cc ng c bi t trong c u trc c a m t module m b o bao qut y v pht hi n ra l i t i a. Ti p cc module ph i c l p ghp hay tch h p l i t o thnh m t ph n m m hon ch nh. Vi c kim th tch h p c p n cc v n ki m ch ng v xy d ng chng trnh. Cc k thu t ki m th h p en chi m i a s trong ki m th tch h p.

GV: Tr n Th Thy Trinh T CNPM

80

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Sau khi ph n m m c tch h p, m t t p cc ki m th c p cao s c th c hi n. Cc tiu chu n h p l ( c thi t l p trong phn tch yu c u) cng ph i c ki m th . Vi c ki m th h p l a ra s m b o cu i cng r ng ph n m m p ng cho t t c cc yu c u ch c nng, hnh vi v s hon thi n. Cc k thu t ki m th h p en c dng ch y u trong vi c h p l ha ny. Ph n m m m t khi c h p l ha ph i c t h p v i cc ph n t h th ng khc (nh ph n c ng, con ng i, c s d li u). Ki m th h th ng ki m ch ng l i r ng t t c cc y u t c kh p ng v i nhau khng v ch c nng, hon thi n h th ng t c.

6.2.

Ki m th n v
M t n v l m t thnh ph n ph n m m nh nh t m ta c th ki m th

c. V d : cc hm (Function), th t c (Procedure), l p (Class) hay phng th c (Method) u c th c l m t Unit. V Unit c ch n ki m tra th ng c kch th c nh v ch c nng ho t ng n gi n, chng ta khng kh khn g trong vi c t ch c ki m th , ghi nh n v phn tch k t qu ki m th . N u pht hi n l i, vi c xc nh nguyn nhn v kh c ph c cng tng i d dng v ch khoanh vng trong m t n th Unit ang ki m tra. M t nguyn l c k t t th c ti n: th i gian t n cho Unit Test s c n b b ng vi c ti t ki m r t nhi u th i gian v chi ph cho vi c ki m th v s a l i cc m c ki m th sau . Unit Test th ng do l p trnh vin th c hi n. Cng o n ny c n c th c hi n cng s m cng t t trong giai o n vi t code v xuyn su t chu k PTPM. Thng th ng, Unit Test i h i ki m tra vin c ki n th c v thi t k v code c a chng trnh. M c ch c a Unit Test l b o m thng tin c x l v xu t (kh i Unit) l chnh xc, trong m i tng quan v i d li u nh p v ch c nng c a Unit. i u ny th ng i h i t t c cc nhnh bn trong Unit u ph i c ki m tra pht hi n nhnh pht sinh l i. M t nhnh th ng l m t chu i cc l nh c th c thi trong m t Unit. 6.2.1. Cc xem xt c a ki m th n v Php ki m th xu t hi n nh m t ph n ki m th n v c minh h a nh trong hnh d i y:
GV: Tr n Th Thy Trinh T CNPM 81

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

MODULE

Giao di n C u trc d li u c cb i u ki n bin ng c l p

Test case

Hnh 6.3: Ki m th n v Module giao di n c ki m th m b o r ng thng tin bi u di n ng s vo ra c a chng trnh ang ki m th . C u trc d li u c c b c xem xt m b o r ng d li u c lu tr t m th i v n duy tr tnh ton v n c a n trong t t c cc b c khi th c hi n thu t ton. Cc i u khi n bin c ki m th m b o r ng module v n hnh ng t i cc bin c thi t l p cho vi c c gi i h n hay h n ch . T t c cc ng c l p ( ng c s ) i qua c u trc i u khi n u c th c hi n m b o t t c cc cu l nh trong module c th c thi t nh t m t l n. V cu i cng, t t c cc ng gi i quy t l i cng c ki m th . Vi c ki m th lu ng d li u i qua giao di n module l c n thi t tr c khi b t k ki m th no khc c b t u. 6.2.2. Th t c ki m th n v Ki m th n v thng th ng c xem xt nh m t b c chuy n sang m ha. Sau khi m c chng trnh g c c xy d ng xt duy t v ki m ch ng ng v c php th vi c thi t k tr ng h p ki m th n v b t u. Vi c xt duy t thng tin thi t k a ra h ng d n v vi c thi t l p cc tr ng h p ki m th c th pht hi n l i. M i test case nn i i v i m t t p cc k t qu d ki n. V m t module khng ph i l m t chng trnh nn ph i xy d ng driver / ho c stub cho t ng unit test. Mi tr ng th c hi n ki m th n v c minh h a nh trong hnh v .

GV: Tr n Th Thy Trinh T CNPM

82

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

DRIVER

Giao di n C u trc d li u c c b i u ki n bin ng c l p ng x l l i

Module c test Test case

Stub

Stub

K t qu (Results)

Hnh 6.4: Mi tr ng ki m th n v Trong ph n l n cc ng d ng m t driver ch p nh n d li u test case, truy n d li u cho module ( test) v in ra k t qu lin quan. Stub ph c v thay th cc module ph thu c c g i b i cc module c test. Stub hay chng trnh con cm dng giao di n c a cc module ph thu c c th lm gi m t i thi u cc thao tc d li u, in ra vi c ki m ch ng khi input v return. Vi c ki m th n v s c n gi n ha khi m t module c thi t k s n. Khi m i module ch gi i quy t cho m t ch c nng th s test case s c gi m i v l i c th d ki n v pht hi n d dng hn.

6.3.

Ki m th tch h p
Ki m th tch h p l m t k thu t h th ng xy d ng c u trc chng

trnh trong khi ng th i ti n hnh cc ki m th pht hi n l i lin quan n vi c giao ti p. M c ch l l y cc module ki m th n v xong v xy d ng c u trc chng trnh c quy nh b i thi t k . Th ng c khuynh h ng c g ng tch h p khng tng d n, t t c cc module u c tch h p tr c, ton b chng trnh u c ki m th m t cch t ng th . V th ng nh th s t o ra m t k t qu h n lo n, t o ra m t t p
GV: Tr n Th Thy Trinh T CNPM 83

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

h p cc l i. Vi c s a i thnh kh khn v vi c c l p nguyn nhn b ph c t p b i vi c tr i r ng trn ton chng trnh. Vi c s a cc l i ny g p nhi u kh khn v vi c c l p nguyn nhn b ph c t p b i vi c tr i r ng trn ton chng trnh. Khi nh ng l i ny c s a ch a th nh ng l i m i xu t hi n, v ti n trnh ny c ti p di n v h n. Tch h p tng d n l ng c l i v i ti p c n trn. Chng trnh c xy d ng v ki m th trong t ng o n nh , ni l i d b c l p v s a ch a hn, giao di n c th c ki m th y hn v cch ti p c n h th ng c th p d ng. 6.3.1. Tch h p t trn xu ng Tch h p trn xu ng l cch ti p c n tng d n t i vi c xy d ng c u trc chng trnh. Cc module c tch h p b ng cch i d n xu ng qua cc b c i u khi n b t u v i module chnh (chng trnh chnh). Cc module ph thu c (ph thu c cu i cng) v module i u khi n s c t h p d n vo trong c u trc theo chi u su tr c hay chi u r ng tr c. Theo hnh vi c tch h p theo chi u su tr c s tch h p t t c cc module trn ng i u khi n chnh c a c u trc. Vi c ch n m t ng chnh c ty ti n v ph thu c vo c trng c a ng d ng. Ch ng h n, ch n ng bn tay tri, cc module M1, M2, M5 s c tch h p tr c, ti p M8 ( n u c n cho ch c nng ring c a M5) s c tch h p vo. R i xy d ng ti p cc ng i u khi n gi a v bn ph i. Vi c tch h p theo chi u r ng t h p t t c cc module tr c ti p ph thu c vo t ng m c, i xuyn qua c u trc ngang. T hnh v , cc module M2, M3, M4 c tch h p tr c nh t. Cc m c i u khi n ti p M5, M6 theo sau. Ti n trnh tch h p c th c hi n trong m t lo t nm b c: Module ki m th chnh c dng nh m t b ph n i u khi n ki m th (test driver) v cc stub c th vo cho t t c cc module ph thu c tr c ti p vo cc module i u khi n chnh. Ty theo cch ti p c n tch h p c l a ch n (theo chi u su hay chi u r ng tr c) cc cu ng ph thu c c thay th t ng ci m t m i l n b ng cc module th c t i.
GV: Tr n Th Thy Trinh T CNPM 84

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Vi c ki m th c ti n hnh khi t ng module c tch h p vo. Khi hon thnh t ng t p cc php ki m th , stub khc s c thay th b ng cc module th c.

Ki m th h i qui ( t c l ti n hnh t t c hay m t s cc php ki m th tr c) c th c ti n hnh m b o r ng nh ng l i m i khng b a thm vo.

M1

M2

M3

M4

M5

M6

M7

M8

Hnh 6.5: Tch h p trn xu ng Ti n trnh ny c ti p t c t b c 2 cho n khi ton b c u trc chng trnh c xy d ng. Hnh v trn minh h a cho ti n trnh ny. Gi s ta dng cch ti p c n su tr c v m t c u trc hon ch nh b ph n, cu ng S7 l chu n b c thay th b i module M7, M7 b n thn n c th c cc cu ng s b thay th b ng cc module tng ng. i u quan tr ng ph i ch l ph i ti n hnh cc php ki m th cho m i l n thay th ki m th giao di n. Chi n l c ki m th tch h p t trn xu ng ki m ch ng vi c i u khi n chnh hay cc i m quy t nh ngay t u trong ti n trnh ki m th . Trong m t c u trc chng trnh b tr kho, vi c quy t nh th ng xu t hi n t i nh cc
GV: Tr n Th Thy Trinh T CNPM 85

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

m c trn trong c p b c v do c g p ph i tr c. N u cc v n i u khi n chnh qu l t n t i th vi c nh n ra chng l i u ch ch t. N u vi c tch h p theo su c l a ch n th ch c nng y c a ph n m m c th c ci t v ch ng minh. Chi n l c t trn xu ng c v khng ph c t p nhng trong th c t , cc v n logic c th n y sinh. i u thng th ng nh t c a nh ng v n ny xu t hi n khi vi c x l t i m c th p trong c p b c i u khi n i h i vi c ki m th tch h p m c trn. Stub thay th cho cc module c p th p vo lc b t u ki m th trn xu ng, do khng c d li u no c ngha c th ch y ng c trong c u trc chng trnh. Ng i tester c th ng tr c cc l a ch n: Tr hon vi c ki m th cho n khi stub c thay th b i cc module th c. Xy d ng cc stub th c hi n nh ng ch c nng gi i h n m ph ng cho module th c t i. Tch h p ph n m m t d i ln. Cch ti p c n u tin (Tr hon vi c ki m th cho n khi stub c thay th b i cc module th c t i) lm cho ta m t i m t vi i u khi n i v i s lin quan gi a cc ki m th c bi t v vi c t h p cc module ring l . i u ny c th d n n nh ng kh khn trong vi c xc nh nguyn nhn l i. Cch ti p c n th hai th c nhng c th d n n t ng kinh ph kh cao v stub ngy cng ph c t p. Cch ti p c n th ba c g i l tch h p t d i ln, c trnh by ph n d i. 6.3.2. Tch h p t d i ln Ki m th module tch h p t d i ln b t u xy d ng v ki m th v i cc m c th p nh t c a chng trnh. Khi cc module ny c tch h p t

d i ln vi c x l yu c u i v i cc module ph thu c t i m t m c lun lun c th , v nhu c u v stub c b qua. Chi n l c tch h p t d i ln c th c th c hi n qua nh ng b c sau: Cc module m c th p c t h p vo cc chm (cluster) th c hi n cho m t ch c nng ph n m m nh c th .
GV: Tr n Th Thy Trinh T CNPM 86

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

M t driver (m t trnh i u khi n ki m th ) c xy d ng k t h p cc test case vo ra.

Ki m th cc chm. Lo i b cc driver v cc chm c t h p di chuy n ln trong c u trc chng trnh.

Vi c tch h p d i ln c minh h a trong hnh 3.6

Hnh 6.6: Tch h p t d i ln Cc module c t h p t o nn cc chm 1,2,3. T ng chm u c ki m th b ng cch dng 1 driver. Cc module trong chm 1, 2 ph thu c vo Ma. Cc driver D1, D2 c lo i b v cc chm c giao ti p tr c ti p v i Ma. Tng t driver D3 c lo i b khi tch h p v i module Mb. C Ma v Mb cu i cng s c tch h p v i module Mc, v c nh th . Nh c i m chnh c a vi c tch h p t d i ln l chng trnh nh m t th c th cha t n t i cho n khi module cu i cng c thm vo. 6.3.3. L p ti li u cho ki m th tch h p

GV: Tr n Th Thy Trinh T CNPM

87

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

K ho ch t ng th cho vi c tch h p ph n m m v m t m t v cc ki m th c bi t c ghi trong b n c t ki m th . B n c t ki m th ny m t cng vi c trong ti n trnh ph n m m v tr thnh m t ph n c a c u hnh ph n m m. B ng 6.7 trnh by dn bi cho b n c t ki m th c th c dng nh m t khun kh cho ti li u ny.
I. Ph m vi ki m th II. K ho ch ki m th A. Cc giai o n v kh i ki m th . B. L ch bi u C. T ng ph ph n m m D. Mi tr ng v ti nguyn III. Th t c ki m th n (m t vi c ki m th cho kh i n) A. Th t tch h p 1. M c ch 2. M un c n ki m th B. Ki m th n v co cc m un trong kh i 1. M t ki m th cho m un 2. M t t ng ph ph n m m 3. K t qu d ki n C. Mi tr ng ki m th 1. Cng c hay k thu t c bi t 2. M t t ng ph ph n m m D. D li u tr ng h p ki m th E. K t qu d ki n th c t IV. K t qu ki m th th c t V. Tham kh o VI. Ph l c

B ng 6.7: Dn bi c t ki m th Ph m vi ki m th tm t t cc c trng ch c nng, s hon thi n v thi t k bn trong ring, c n ph i c ki m th . N l c ki m th v c n g n km, tiu chu n hon t t t ng giai o n ki m th c n c m t , v cc rng bu c l ch bi u c n c lm t li u. Ph n k ho ch ki m th m t chi n l c chung cho vi c tch h p. Vi c ki m th c chia thnh cc giai o n v kh i, c p t i cc c trng hnh vi v ch c nng ring c a ph n m m. Ch ng h n, ki m th tch h p cho m t h th ng CAD h ng th c th c chia thnh cc giai o n ki m th sau: Giao di n ng i dng (ch n ch l nh; t o ra vi c v ; bi u di n hi n th ; x l l i v bi u di n l i)

GV: Tr n Th Thy Trinh T CNPM

88

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Thao tc v phn tch d li u (t o ra k hi u; t m h ng; quay; tnh cc tnh ch t v t l). X l v sinh hi n th (hi n th hai chi u, ) Qu n tr c s d li u (thm nh p; c p nh t; ton v n; hi u nng) M i m t trong cc giai o n v giai o n con ( c ghi trong d u ngo c trn) u nu ra ph m tr ch c nng r ng bn trong ph n m m v ni chung c th c lin quan t i m t lnh v c ring c a c u trc chng trnh. Do , cc kh i chng trnh (nhm cc m un) c t o ra tng ng v i t ng giai o n. Cc tiu chu n sau y v php ki m th tng ng c p d ng cho t t c cc giai o n ki m th : Tnh th ng nh t giao di n. Cc giao di n bn trong v bn ngoi c ki m th khi t ng m un (hay chm) c t h p vo trong c u trc. H p l ch c nng. Ti n hnh cc ki m th c thi t k pht hi n ra l i ch c nng. N i dung thng tin. Ti n hnh cc ki m th c thi t k pht hi n ra l i lin k t v i cc c u trc d li u c c b hay ton c c c s d ng. S hon thi n. Ti n hnh ki m th c thi t k ki m ch ng cc c n hon thi n c thi t l p trong thi t k ph n m m. Nh ng tiu chu n ny v cc ki m th lin k t v i chng c th o lu n trong m c b n c t ki m th . L ch bi u tch h p, t ng ph ph n m m, v cc ch th c lin quan cng c th o lu n nh m t ph n c a m c k ho ch ki m th . Ngy thng b t u v k t thc cho t ng giai o n c thi t l p v c a s c s n cho cc m un xong ki m th n v cng ph i c xc nh. M t m t tm t t v t ng ph ph n m m (cu ng v khi n trnh) t p trung vo cc c trng c th yu c u n l c c bi t. Cu i cng, cng ph i m t mi tr ng v ti nguyn ki m th . Cc c u hnh ph n c ng b t th ng, cc b m ph ng ngo i lai, cc cng c k thu t ki m th c bi t l m t s trong nhi u ch c th c th o lu n trong m c ny.
GV: Tr n Th Thy Trinh T CNPM 89

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

M t th t c ki m th chi ti t c n t i hon thnh b n k ho ch ki m th s c m t trong m c th t c ki m th . Tham kh o l i dn bi b n c t ki m th m c II, tr t t c a vi c tch h p v cc php ki m t tng ng t i m i b c tch h p ph i c m t . M t danh sch t t c cc tr ng h p ki m th (c th tham kh o v sau) v k t qu d ki n cng nn c a vo. L ch s cc k t qu ki m th th c t i, cc v n , hay cc c th c ghi l i trong b n m c c a b n c t ki m th . Thng tin c trong m c ny c th r t quan tr ng cho vi c b o tr ph n m m. Cc tham kh o thch h p cc ph l c cng c trnh by trong hai m c cu i. Gi ng nh t t c cc ph n t khc c a c u hnh ph n m m nh d ng cn b n c t ki m th c th c t ch c theo nhu c u c c b c a t ch c pht tri n ph n m m. Tuy nhin i u quan tr ng c n lu l m t chi n l c tch h p c trong b n K ho ch ki m th , v cc chi ti t ki m th c m t trong b n c t ki m th l thnh ph n b n ch t v ph i c.

6.4.

Ki m th h th ng
M c ch System Test l ki m th thi t k v ton b h th ng (sau khi tch

h p) c th a mn yu c u t ra hay khng. System Test b t u khi t t c cc b ph n c a ph n m m c tch h p thnh cng. Thng th ng lo i ki m th ny t n r t nhi u cng s c v th i gian. Trong nhi u tr ng h p, vi c ki m th i h i m t s thi t b ph tr , ph n m m ho c ph n c ng c th, c bi t l cc ng d ng th i gian th c, h th ng phn b , ho c h th ng nhng. m c h th ng, ng i ki m th cng tm ki m cc l i, nhng tr ng tm l nh gi v ho t ng, thao tc, s tin c y v cc yu c u khc lin quan n ch t l ng c a ton h th ng. i m khc nhau then ch t gi a Integration Test v System Test l System Test ch tr ng cc hnh vi v l i trn ton h th ng, cn Integration Test ch tr ng s giao ti p gi a cc n th ho c i t ng khi chng lm vi c cng nhau. Thng th ng ta ph i th c hi n Unit Test v Integration Test b o m m i Unit v s tng tc gi a chng ho t ng chnh xc tr c khi th c hi n System Test.

GV: Tr n Th Thy Trinh T CNPM

90

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Sau khi hon thnh Integration Test, m t h th ng ph n m m c hnh thnh cng v i cc thnh ph n c ki m tra y . T i th i i m ny, l p trnh vin ho c ki m th vin b t u ki m th ph n m m nh m t h th ng hon ch nh. Vi c l p k ho ch cho System Test nn b t u t giai o n hnh thnh v phn tch cc yu c u. System Test ki m th c cc hnh vi ch c nng c a ph n m m l n cc yu c u v ch t l ng nh tin c y, tnh ti n l i khi s d ng, hi u nng v b o m t. M c ki m th ny c bi t thch h p cho vi c pht hi n l i giao ti p v i ph n m m ho c ph n c ng bn ngoi, ch ng h n cc l i "t c ngh n" (deadlock) ho c chi m d ng b nh . Sau giai o n System Test, ph n m m th ng s n sng cho khch hng ho c ng i dng cu i cng ki m th ch p nh n s n ph m (Acceptance Test) ho c dng th (Alpha/Beta Test). i h i nhi u cng s c, th i gian v tnh chnh xc, khch quan, System Test th ng c th c hi n b i m t nhm ki m th vin hon ton c l p v i nhm pht tri n d n. B n thn System Test l i g m nhi u lo i ki m th khc nhau, ph bi n nh t g m: Ki m th ch c nng (Functional Test): B o m cc hnh vi c a h th ng th a mn ng yu c u thi t k . Ki m th hi u nng (Performance Test): Ngay khi m t h th ng c tch h p y , h th ng c th c ki m tra cc thu c tnh n i b t nh hi u nng v tin c y. Ki m th hi u nng ph i c thi t k m b o h th ng c th x l nh mong mu n. B o m t i u vi c phn b ti nguyn h th ng (v d b nh ) nh m t cc ch tiu nh th i gian x l hay p ng cu truy v n... Ki m th kh nng ch u t i (Stress Test hay Load Test): B o m h th ng v n hnh ng d i p l c cao (v d nhi u ng i truy xu t cng lc). Stress Test t p trung vo cc tr ng thi t i h n, cc "i m ch t", cc tnh hu ng b t th ng nh ang giao d ch th ng t k t n i (xu t hi n nhi u trong ki m tra thi t b nh POS, ATM...)...

GV: Tr n Th Thy Trinh T CNPM

91

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Ki m th c u hnh (Configuration Test): ki m tra cc thnh ph n nh: PC, thi t b ph n c ng, c s d li u Ki m th b o m t (Security Test): B o m tnh ton v n, b o m t c a d li u v c a h th ng. Cc h th ng c cc thng tin nh y s c ti m nng b t n cng v nh c p. Trong su t giai o n ki m th b o m t ng i ki m th ng vai tr l c nhn xm nh p vo h th ng n c p m t kh u, lm pht sinh cc l i h th ng. Ki m th kh nng ph c h i (Recovery Test): B o m h th ng c kh nng khi ph c tr ng thi n nh tr c trong tnh hu ng m t ti nguyn ho c d li u; c bi t quan tr ng i v i cc h th ng giao d ch nh ngn hng tr c tuy n...

Hnh 6.8: Cc lo i ki m tra khc nhau trong System Test Nhn t quan i m ng i dng, cc c p ki m th trn r t quan tr ng: Chng b o m h th ng kh nng lm vi c trong mi tr ng th c. Lu l khng nh t thi t ph i th c hi n t t c cc lo i ki m th nu trn. Ty yu c u v c trng c a t ng h th ng, tu kh nng v th i gian cho php c a d n, khi l p k ho ch, ng i Qu n l d n s quy t nh p d ng nh ng lo i ki m th no.

GV: Tr n Th Thy Trinh T CNPM

92

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

6.5.

Ki m th ch p nh n
Thng th ng, sau giai o n System Test l Acceptance Test, c khch

hng th c hi n (ho c y quy n cho m t nhm th ba th c hi n). M c ch c a Acceptance Test l ch ng minh ph n m m th a mn t t c yu c u c a khch hng v khch hng ch p nh n s n ph m (v tr ti n thanh ton h p ng). Acceptance Test c ngha h t s c quan tr ng, m c d trong h u h t m i tr ng h p, cc php ki m th c a System Test v Acceptance Test g n nh tng t , nhng b n ch t v cch th c th c hi n l i r t khc bi t. i v i nh ng s n ph m dnh bn r ng ri trn th tr ng cho nhi u ng i s d ng, thng th ng s thng qua hai lo i ki m th g i l ki m th Alpha Alpha Test v ki m th Beta Beta Test. V i Alpha Test, ng i dng ki m th ph n m m ngay t i ni pht tri n ph n m m, l p trnh vin s ghi nh n cc l i ho c ph n h i, v ln k ho ch s a ch a. V i Beta Test, ph n m m s c g i t i cho ng i dng ki m th ngay trong mi tr ng th c, l i ho c ph n h i cng s g i ng c l i cho l p trnh vin s a ch a. Th c t cho th y, n u khch hng khng quan tm v khng tham gia vo qu trnh pht tri n ph n m m th k t qu Acceptance Test s sai l ch r t l n, m c d ph n m m tr i qua t t c cc ki m th tr c . S sai l ch ny lin quan n vi c hi u sai yu c u cng nh s mong ch c a khch hng. V d i khi m t ph n m m xu t s c v t qua cc php ki m th v ch c nng th c hi n b i nhm th c hi n d n, nhng khch hng khi ki m th sau cng v n th t v ng v b c c mn hnh ngho nn, thao tc khng t nhin, khng theo t p qun s d ng c a khch hng v.v... G n li n v i giai o n Acceptance Test th ng l m t nhm nh ng d ch v v ti li u i km, ph bi n nh h ng d n ci t, s d ng v.vT t c cc ti li u i km ph i c c p nh t v ki m tra ch t ch .

6.6.

Ki m th h i qui
M i khi c m t module m i c tch h p th ph n m m s b thay i.

Nh ng lu ng d li u m i s c thi t l p, cc i u khi n logic m i cng c g i. Nh ng thay i ny c th gy ra cc l i cho nh ng ch c nng tr c y


GV: Tr n Th Thy Trinh T CNPM 93

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

lm vi c hon h o r i. Trong chi n l c ki m th tch h p th ki m th h i qui c dng th c hi n l i cc t p ki m th con tr c kia m b o nh ng thay i ny khng lm pht sinh ra l i cho cc ch c nng khc. Ki m th h i qui c th th c hi n t i m i giai o n test. V d : M t ph n m m ang pht tri n khi ki m tra cho th y n ch y t t cc ch c nng A, B v C. Khi c thay i code c a ch c nng C, n u ch ki m tra ch c nng C th cha , c n ph i ki m tra l i t t c cc ch c nng khc lin quan n ch c nng C, trong v d ny l A v B. L do l khi C thay i, n c th s lm A v B khng cn lm vi c ng n a. Cc test suite ( cc t p h p con ki m th c th c thi) trong ki m th h i qui g m 3 l p test case khc nhau: Cc ki m th v d i n hnh th c thi t t c cc ch c nng c a ph n m m. Nh ng ki m th b sung t p trung ki m th cc ch c nng ph n m m c th b nh h ng b i s thay i. Ki m th t p trung vo cc ch c nng v a thay i.

Ki m th h i qui l m t trong nh ng lo i ki m th t n nhi u th i gian v cng s c nh t. Tuy nhin, vi c b qua ki m th h i qui l i u khng th v c th d n n tnh tr ng pht sinh ho c ti xu t hi n nh ng l i nghim tr ng, m c d ta t ng r ng nh ng l i ho c khng c ho c ki m th v s a ch a r i. C. PHNG PHP V HNH TH C GI NG D Y 1. N i dung Trnh chi u powerpoint t v n , trao i 2. Sau khi h c xong l thuy t sinh vin v n d ng lm bi t p h th ng ha l i ki n th c chng. D. TI LI U THAM KH O 1. By Ron Patton: Software Testing, Sams Publishing, 8,9,10,11,12,16. Chapter

GV: Tr n Th Thy Trinh T CNPM

94

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

2. John.Wiley.and.Sons.The.Art.of.Software.Testing.Second.Edition.Jun.2004.eB ook-DDU Chapter 4,6.

3. Roger S. Pressman: Software Engineering: A Practitioner's Approach, 6th Ed., McGraw-Hill, 2004 E. CU H I V BI T P Ki m th n v 1. Ki m th n v l g? Quan h c a n v i ho t ng m ha nh th no? 2. Ho t ng ki m th n v g m nh ng n i dung g ? N lin quan n nh ng nhn t no? Nu m t vi cu h i c n ki m th cho cc nhn t ? 3. K thu t ki m th n v s d ng l g? v sao ph i s d ng k thu t ? C nh ng kh khn, thu n l i g? Ki m th tch h p 4. Ki m th tch h p th c hi n khi no? T i sao ph i ki m th tch h p?Nu m t s cu h i t ra cho ki m th tch h p? 5. C nh ng phng php g c p d ng cho ki m th tch h p? m t tm t t n i dung m i phng php? 6. Nu cc b c ki m th tch h p t trn xu ng? u nh c i m c a cch ti p c n ny? 7. Nu cc b c ki m th tch h p t d i ln? u nh c i m c a cch ti p c n ny? 8. Cc ti li u ki m th tch h p g m nh ng lo i g? Ki m th h th ng 9. Ki m th Beta l ci g? Ki m th Alpha l ci g? Nu s gi ng v khc nhau c b n gi a chng ? 10. N i dung chnh c a ki m th h th ng ? Nu m t s cu h i t ra cho vi c ki m th h th ng ? 11. Ki m th ph c h i l g ? 12. Ki m th an ninh l g ?
95

Chapter 18

4. Website: http://www.vietnamesetestingboard.org/

GV: Tr n Th Thy Trinh T CNPM

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

13. Ki m th p l c l g 14. Ki m th thi hnh l g 15. G r i c hi u l g ? N th c hi n khi no ? Kh khn c a vi c g r i l g? Ki m th ch p nh n Trnh by ki m th Alpha v ki m th Beta

GV: Tr n Th Thy Trinh T CNPM

96

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

PH N III QUY TRNH KI M TH


BI 7: L P K HO CH KI M TH

PH N M M

A. M C TIU 1. V ki n th c Cung c p cho sinh vin nh ng ki n th c v l p k ho ch ki m th . 2. V k nng Sinh vin c kh nng l p k ho ch ki m th t m c t ng qut n chi ti t. B. N I DUNG

7.1.

M t s khi ni m
Tr c khi tm hi u m t quy trnh ki m tra ph n m m c b n, ta c n hi u hai

khi ni m sau: Test Case v Test Script. Testcase o M t Test Case c th coi nm na l m t tnh hu ng ki m tra, c thi t k ki m tra m t i t ng c th a mn yu c u t ra hay khng. M t Test Case th ng bao g m 3 ph n c b n: o M t : c t cc i u ki n c n c ti n hnh ki m tra. o Nh p: c t i t ng hay d li u c n thi t, c s d ng lm u vo th c hi n vi c ki m tra. o K t qu mong ch : k t qu tr v t i t ng ki m tra, ch ng t i t ng t yu c u. Testscript M t Test Script l m t nhm m l nh d ng c t k ch b n dng t ng ha m t trnh t ki m tra, gip cho vi c ki m tra nhanh hn, ho c cho nh ng tr ng h p m ki m tra b ng tay s r t kh khn ho c khng kh thi. Cc Test Script c th t o th cng ho c t o t ng dng cng c ki m tra t ng. 7.2. Gi i thi u v l p k ho ch Quy trnh ki m th khng th th c hi n trong s tch r i c a i test. Vi c th c hi n cng vi c ki m th s g p kh khn n u nh cc l p trnh vin khng h
GV: Tr n Th Thy Trinh T CNPM 97

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

cho tester bi t ph n m m ny lm ci g, ho t ng ra sao, v khi no th k t thc. Tng t nh v y n u nh b n v cc tester khc trong team khng h giao ti p v k ho ch test nh th no, ngu n l c m b n c n v l ch bi u th c hi n th d n c a b n s t c c h i thnh cng. M c ch c a vi c l p k ho ch nh m ch nh v m t cc loai ki m th s c tri n khai v th c hi n. K t qu c a b c l p k ho ch l b n ti li u k ho ch ki m th ph n m m, bao g m chi ti t cc chi n l c ki m th , cc lo i ki m th cho n th i gian v phn inh l c l ng ki m th vin. B n k ho ch ki m th (test plan) u tin c pht tri n r t s m trong chu trnh pht tri n ph n m m, ngay t khi cc yu c u tng i y , cc ch c nng v lu ng d li u chnh c m t . B n k ho ch ny c coi l b n k ho ch chnh (master test plan) khi t t c cc k ho ch chi ti t cho cc m c ki m th v cc lo i ki m th khc nhau u c c p.

Hnh 1: B n k ho ch chnh v cc b n k ho ch chi ti t Cc b c ti n hnh l p k ho ch ki m th 7.3. Xc nh cc yu c u ki m tra M c ch c a vi c xc nh cc yu c u ki m tra nh m ch nh b ph n, thnh ph n c a ph n m m s c ki m tra, ph m vi ho c gi i h n c a vi c ki m tra. ki m th c thnh cng th ng i tester ph i hi u r chi ti t s n ph m c n test ny lm v ci g, l n v m c tiu c a n. M t r rng s n ph m t c t c a n l m t kh i u t t, qua b n c th xc nh c cc ch c nng no c n ki m tra, ch c nng no cha c n ki m tra. Hi u h th ng nh th no? Tester ph i hi u ton b cc yu c u trong h th ng bao g m c yu c u ch c nng v phi ch c nng. ng th i ph i xc nh r
GV: Tr n Th Thy Trinh T CNPM 98

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

r ng vi c ki m th ph i t c cc yu c u ny. Cc ti li u c t ph n m m do nhm pht tri n cung c p, cng nh cc th o lu n trong cc bu i h p gip cho tester c ci nhn t ng quan v h th ng c n ki m th . Ngoi ra cn c cc ti li u khc gip cho tester hi u c cc yu c u nghi p v m c cao. Xc nh ph m vi th c hi n: xc nh c ch c nng no c n ki m tra, ch c nng no cha c n ki m tra th i u quan tr ng l tester ph i xc nh ph m vi th c hi n theo th t v quy m ki m tra cho ph h p. ng th i c n xc nh r k t qu mong i c a h th ng l g. Qua vi c xc nh c cc yu c u ki m tra s gip cho test lead xc nh c nhu c u v nhn l c, th i gian, r i ro, cng nh chi n l c cho vi c th c hi n ki m tra. 7.4. Xc nh chi n l c ki m th M t cng vi c quan tr ng k t h p trong vi c xc nh cc giai o n ki m th l xc nh chi n l c ki m th . Chi n l c ki m th m t cc h ng ti p c n m i test s d ng ki m th ph n m m trn m t giai o n no ho c ton b qu trnh ki m tra. Khi b n nh n c m t s n ph m c n ki m tra th b n c n xc nh r ng nn s d ng k thu t ki m th h p tr ng hay k thu t ki m th h p en t t hn. N u b n quy t nh s d ng c hai k thu t trn th vi c l a ch n m i k thu t p d ng cho nh ng thnh ph n no c a ph n m m l i u quan tr ng. Cng c th l m t t ng t t n u chng ta ki m tra m t vi o n code b ng tay v cc o n code khc b ng cng c hay ki m th t ng. Ho c n u s d ng cng c th nn s d ng cng c no cho ph h p. Ho c c ti n l i hn khng n u thu l c l ng bn ngoi th c hi n ki m tra ph n m m cho cng ty v c m t i gim st cng vi c ny. Vi c xc nh cc chi n l c ki m th l cng vi c ph c t p i h i tester ph i c nhi u kinh nghi m b i v cng vi c ny s xc nh s thnh cng hay th t b i c a ton b qu trnh ki m th . Ngoi ra xc nh cc chi n l c ki m th nh m ch nh cc phng php dng nh gi ch t l ng ki m tra cng nh i u ki n xc nh th i gian

GV: Tr n Th Thy Trinh T CNPM

99

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

ki m tra. ng th i cng l cng vi c c c k quan tr ng m i ng i trong i test hi u v ng v i k ho ch ra. 7.5. Xc nh ti nguyn (nhn l c, v t l c) K ho ch ki m th c n xc nh con ng i lm trong d n , h lm g v lm cch no tng tc v i nhau. N u y l m t d n nh th i u ny d ng nh khng c n thi t nhng ngay c thnh vin nh ng d n nh th cng c nhi u m t s cng ty l n th r i rc kh p ni ho c c nhi u thay i trong nhn s , vi c theo

di nhn s ai lm g trong tr ng h p ny l kh khn.

nhn l c trong cng vi c ki m th c th l r t nhi u, v lm vi c v i t t c cc thnh vin, do v y bi t h l ai, lm vi c g v bi t cch tng tc v i h chnh l i u quan tr ng. Ngoi ngu n nhn l c c n ph i xc nh v t l c: ph n c ng, ph n m m, cng c thi t b gi l p c n thi t cho vi c ki m th . Sau khi xc nh c cc ngu n nhn l c v v t l c c. Ng i test leader ti n hnh ln k ho ch cho ngu n ti nguyn yu c u, y l giai o n quy t nh c n thi t cho vi c hon thnh cc chi n l c ki m th . M i th c kh nng c s d ng trong qu trnh ki m th c n ph i c xem xt c th : Nhn l c: C n c bao nhiu ng i? C kinh nghi m g, chuyn v lnh v c no? Lm ton th i gian hay bn th i gian, h p ng hay l sinh vin? Thi t b : my tnh, ph n c ng, my in, ph n m m hay cng c s d ng trong ki m th . Ph n m m: Ph n m m x l vn b n, c s d li u v cc cng c ph bi n. C nn mua bn ngoi hay t t o ra? Thu nhn l c bn ngoi: thu h lm nh ng g, tiu chu n g ch n l a v kinh ph l bao nhiu? Cng vi c ti p theo l xc nh trch nhi m cng vi c c a t ng tester m nh n nh ng ch c nng no d a vo chuyn mn v kinh nghi m c a t ng ng i. N u khng ln k ho ch trch nhi m cng vi c c th th cc tester s lm vi c l n x n, khng c l trnh, lm nh ng cng vi c trng l p ho c c nh ng cng vi c s b b qun. Vi c l a ch n danh sch nhi m v i km v i kinh nghi m l vi c
GV: Tr n Th Thy Trinh T CNPM 100

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

quan tr ng, v m i d n khc nhau s c nh ng nt c o ring, do v y xc nh trch nhi m c a m i ng i ph h p v i cng vi c nh h ng n ton b qu trnh ki m th .

7.6.

Kh o st r i ro
Kh o st d on cc r i ro c kh nng x y ra, lm ch m ho c c n tr qu

trnh cng nh ch t l ng ki m th nh: k nng v kinh nghi m c a tester cn y u, khng hi u r yu c u, ho c v v n th i gian, ch c nng qu ph c t p, thay i yu c u i test ph i kh o st r i ro c n th n tm ra ngu n g c c a n, t c nh ng chi n l c thch h p gi m b t r i ro. L m t tester t t, b n ph i c trch nhi m xc nh cc r i ro trong qu trnh xy d ng k ho ch ki m th v nh ng v n lin quan c a mnh g i n cho test leader ho c ng i qu n l d n c a mnh. Nh ng r i ro ti m n ny s c a vo k ho ch ki m th ph n m m v c nh ng chi n l c phng trnh ho c gi i quy t n. i u quan tr ng l lm th no xc nh r i ro s m nh t v trnh cho n xu t hi n m t cch b t ng trong qu trnh th c hi n.

7.7.

Xc nh cc m c ki m sot c a giai o n test.


l p k ho ch cho cc pha ki m th th i test ph i xem xt cc m hnh

pht tri n c xu t v quy t nh cc pha ki m th hay giai o n ki m th no c th c hi n trong su t d n. Trong m hnh code s a ch a th c l ch c m t pha ki m th cho n khi d ng. Trong m hnh thc n c hay m hnh xo n c th s c m t vi pha ki m th ki m tra cc c t c a s n ph m ti n hnh ki m th ch p nh n. Quy trnh l p k ho ch ki m th nn xc nh t ng pha ki m th v lm sao cho ton b thnh vin trong d n u bi t. i u ny s gip cho m i thnh vin u hi u v n m r ton b m hnh pht tri n. Hai v n quan tr ng lin quan n cc pha ki m th l tiu chu n b t u v k t thc. i test khng th ch lm vi c theo l ch bi u m bi t c mnh ang chu n b qua m t pha khc. M i pha c n c cc tiu chu n khch quan bi t khi no pha ny k t thc b t u m t pha m i.

GV: Tr n Th Thy Trinh T CNPM

101

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

N u khng c cc tiu chu n b t u v k t thc h p l th qu trnh ki m th s tr nn v h ng gi ng nh m hnh code s a ch a. Sau khi xc nh c cc pha ki m th th ti n hnh l p k ho ch chi ti t nh c l ng th i gian, kh i l ng cng vi c, xc nh chi ti t cc ph n cng vi c, ng i th c hi n, th i gian t t c cc i m m c c a qu trnh ki m th .

7.8.

Cc s n ph m
Sau khi c c b n k ho ch chung v b n k ho ch chi ti t th nhm

d n ph i ti n hnh xem xt cc b n k ho ch ny v i s tham gia c a t t c nh ng ng i c lin quan, k c PM (Project manager) v c th c khch hng. Vi c xem xt nh m b o m cc k ho ch l kh thi, cng nh pht hi n (v s a ch a ngay sau ) cc sai st b n k ho ch. K t qu c a cng vi c ny l b n k ho ch ki m th hon ch nh c ph duy t. Cc s n ph m y g m: B n k ho ch ki m th (test plan), Th i gian bi u th c hi n (test schedule), k ho ch phng trnh v gi i quy t cc r i ro (risk management). C. PHNG PHP V HNH TH C GI NG D Y 1. N i dung Trnh chi u powerpoint t v n , trao i 2. Sau khi h c xong l thuy t sinh vin v n d ng lm bi t p h th ng ha l i ki n th c chng. D. TI LI U THAM KH O 1. By Ron Patton: Software Testing, Sams Publishing, 2005 2. Addison_Wesley: Effective Software Testing. E. CU H I V BI T P ng d ng trong m t d n nh , th c hi n vi c l p k ho ch ki m th cho d n ny. BI 8: TH C HNH L P K HO CH KI M TH Chapter 17.

Chapter 1,2,3,5.

GV: Tr n Th Thy Trinh T CNPM

102

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

BI 9:

VI T V THEO DI CC TESTCASES

A. M C TIU 1. V ki n th c Cung c p cho sinh vin nh ng ki n th c: Qui trnh chung ki m th ph n m m cc m c tng ng. Hi u c cc cng vi c, cc ho t ng v vai tr trong t ng giai o n ki m th . N m c cc b c thi t k testcase 2. V k nng Sau khi h c xong chng ny sinh vin c th v n d ng nh ng ki n th c vo th c t : Xy d ng c b n c t ki m th Thi t k c cc tr ng h p ki m th

B. N I DUNG

9.1.

M c ch c a testcase
Thi t k test case trong ki m th ph n m m l qu trnh xy d ng cc

tr ng h p ki m th c th pht hi n l i, sai st, khi m khuy t c a ph n m m xy d ng ph n m m t tiu chu n. M c ch: T o ra cc test case t t nh t c kh nng pht hi n l i, sai st c a ph n m m nhi u nh t, T o ra cc ca ki m th c chi ph r nh t, ng th i t t n th i gian v cng s c nh t. Giai o n thi t k test case l quan tr ng, n b o m t t c cc tnh hu ng ki m tra qut h t cc yu c u c n ki m tra.

Vi c thi t k khng ch lm m t l n, n s c s a ch a, c p nh t, thm ho c b t xuyn su t chu k pht tri n ph n m m, vo b t c lc no c s thay i yu c u ho c sau khi phn tch th y c n c s a ch a ho c b sung.
GV: Tr n Th Thy Trinh T CNPM 103

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

9.2.
-

Xy d ng cc testcase
m c cao, chia

Thi t k testcase: Trong ton b k ho ch ki m th c vi t

ph n m m thnh cc ch c nng ch nh, cc ch m c c th test, v phn chia chng cho t ng tester, nhng n khng c t chnh xc cch th c hi n test cc ch c nng ny nh th no. C m t c p chung n vi c s d ng cng c t ng ho c k thu t ki m th h p tr ng v h p en, nhng b n k ho ch khng ch r chnh xc chng c s d ng nh th no v u. M c chi ti t ny ch nh h ng ti p c n cho t ng ch c nng ph n m m ring bi t, l giai o n thi t k testcase. M c ch c a thi t k testcase l t ch c v m t vi c ki m th cho m i ch c nng. Tuy nhin n khng ch r chi ti t cc b c th c hi n ki m th . o Xc nh cc ch c nng c test o Xc nh cc ch c nng khng test o Xc nh cch ti p c n, phng php k thu t s d ng. o nh ngha cc testcase s c vi t th c hi n ki m tra o M t cc tiu chu n pass/fail cho cc ch c nng c test. Ci g c th ch p nh n ho c khng. C th fail khi c 10% ho c nhi u hn fail. Xy d ng test case th c hi n cc b c sau: o Xc nh v m t test case: xc nh cc i u ki n c n thi t l p tr c v trong lc ki m tra. M t i t ng ho c d li u u vo, m t cc k t qu mong i sau khi ki m tra. o M t cc b c chi ti t ki m tra: Cc b c ny m t chi ti t hon thnh m t test case khi th c hi n ki m tra. Cc test case nh ni trn th ng ch m t u vo, u ra cn cch th c ti n hnh nh th no th khng nh ngha. Thao tc ny nh m chi ti t ha cc b c c a m t test case, cng nh ch nh cc lo i d li u no c n c th c thi cc test case, chng bao g m cc lo i d li u tr c ti p, gin ti p, trung gian v h th ng o Xem xt v kh o st bao ph c a vi c ki m tra: m t cc ch s v cch th c xc nh vi c ki m tra hon thnh hay cha? Bao nhiu
GV: Tr n Th Thy Trinh T CNPM 104

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

ph n trm ph n m m c ki m tra. xc nh i u ny c hai phng php: cn c trn yu c u c a ph n m m ho c cn c trn s l ng code vi t. o Xem xt test case v cc b c ki m tra: Vi c xem xt c n c s tham gia c a t t c nh ng ng i lin quan k c PM nh m m b o cc test case v d li u yu c u l v ph n nh ng cc yu c u c n ki m tra, bao ph t yu c u, cng nh pht hi n v s a ch a k p th i cc sai st. Xy d ng cc test script o Test script: l m t nhm m l nh d ng c t k ch b n (scenario) dng t ng ha m t trnh t ki m tra, gip cho vi c ki m tra nhanh hn, ho c cho nh ng tr ng h p ki m tra b ng tay s r t kh khn ho c khng kh thi, ho c trong nh ng tr ng h p ki m th h i qui Cc test script c th c t o th cng ho c t o t ng dng cng c ki m tra t ng. o S d ng test script k t qu nh n c l ng tin c y, cng nh nh n bi t c nh ng l i x y ra khng ph i do ph n m m m do d li u dng ki m tra, mi tr ng ki m tra ho c cc b c ki m tra (ho c do test script gy ra). N u th c s do l i c a qu trnh ki m tra c n ph i s a ch a v ki m tra l i t u. Chu n b d li u test o Test data l g?Test data l b d li u c xy d ng ch y th cc test case. D li u trong Test data g m c 2 lo i: d li u th ng l normal data v d li u b t bu c (Initial data). Initial data l cc tr ng d li u dng kh i t o chng trnh, b t bu c c n ph i c h th ng c th lm vi c c. Initial data l m t b ph n c a test data. Xy d ng Test Data l m t khu r t quan tr ng trong ti n trnh test, v k t qu test ph thu c r t l n vo d li u trong Test Data. o Trong qu trnh ny, yu c u v test data cng c k t h p ch t ch trong test case. M t chi n l c test hi u qu yu c u vi c t o cc test
GV: Tr n Th Thy Trinh T CNPM 105

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

data th t chu o. Vi c ki m th ch c nng s tr nn t i t , m t ch t l ng n u d li u khng y , ngho nn. Vi c chu n b cc data chu o s gip cho vi c ki m th ch c nng t t hn, gip cho tester hi u r hn v cc ch c nng c a h th ng, v kh nng test t t hn. o T i n d li u v ti li u thi t k chi ti t s r t c ch trong vi c pht tri n test data. Bn c nh vi c cung c p cc y u t v tn d li u t i n d li u c th m t cc y u t t p h p, quy t c s d ng v nh ng thng tin h u ch khc. o Test data do ai th c hi n? Test Data th ng do Test Leader v Developer xy d ng, sau khi c ti li u phn tch thi t k m c chi ti t. D li u kh i t o (Initial Data) l ph n b t bu c c n ph i c h th ng c th ho t ng c, th ng do l p trnh vin t o l p sau khi hon ch nh t ng b ph n c a h th ng. Test Leader ch u trch nhi m xy d ng b d li u Test Data thng th ng. Sau , Tester s dng cc d li u ny th c hi n Test Case. o Mu n xy d ng test data c n nh ng ti li u no? xy d ng Test Data c n s d ng cc ti li u m t d li u trong ph n Data_Model (Analysis_Design). Trong , quan tr ng nh t l 2 ti li u: Physical_ER_Diagram: L c quan h th c th ; l c ny m t quan h gi a cc b ng trong d n. Physical_Table_Definition: m t nh ngha cc b ng, bao g m Danh sch ton b tn b ng s d ng trong d n; M t chi ti t c a t ng b ng (tn c t, ki u gi tr c a t ng c t, kch th c d li u, )

9.3.

Theo di v qu n l cc testcase
Lm cch no t ch c v qu n l cc testcase khi t o ra cc ti li u ki m

th . Nh ng cu h i th ng t ra cho ng i tester ho c cho i test nh sau: B n c k ho ch s ch y nh ng testcase no? C bao nhiu testcase d nh s th c hi n? V m t th i gian bao lu th c hi n chng?
GV: Tr n Th Thy Trinh T CNPM 106

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Khi b n ch y th cc testcase, b n c ghi l i testcase no fail hay pass khng? S ph n trm testcase pass trong l n th nghi m cu i cng? qu n l v theo di cc testcase, c b n c 4 h th ng: trong u: ng bao gi ngh n v n ny, cho d l m t d n nh nh t, tr khi l d n c a chnh b n s d ng v khng c l do g theo di vi c ki m th c a b n. Lu tr trong gi y ho c vn b n: Vi c qu n l cc testcase cho cc d n nh c th th c hi n trn gi y. Cc b ng v bi u checklist c s d ng m t cch hi u qu . R rng y l phng php y u t ch c v tm ki m d li u nhng n l i cung c p danh sch ki m tra t t b ng vn b n bao g m cc thi t l p ban u v cc bi u th k hi u l b ng ch ng t t nh t bi t l th c hi n test. Lu tr trong b ng tnh Excel: L m t phng th c theo di testcase ph bi n v r t kh thi. B ng cch lu l i t t c chi ti t testcase trong m t ni. M t b ng tnh cung c p m t ci nhn t ng quan v tnh tr ng ki m th c a b n. B ng tnh d s d ng, d thi t l p, v cung c p m t cng c t t qu n l v theo di cc testcase v cng vi c th c hi n ki m tra. Ty ch nh c s d li u: M t phng php l t ng cho vi c theo di v qu n l cc testcase l s d ng cng c qu n l testcase (testcase management tools). Nhi u ng d ng c thi t l p th c hi n cc nhi m v c bi t ny, v d nh FileMaker Pro, Microsoft Access, Quality Center c a HP.

C. PHNG PHP V HNH TH C GI NG D Y 1. N i dung Trnh chi u powerpoint t v n , trao i 2. Sau khi h c xong l thuy t sinh vin v n d ng lm bi t p h th ng ha l i ki n th c chng.

GV: Tr n Th Thy Trinh T CNPM

107

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

D. TI LI U THAM KH O 1. By Ron Patton: Software Testing, Sams Publishing, 2005 2. Addison_Wesley: Effective Software Testing. E. CU H I V BI T P ng d ng trong m t d n nh , th c hi n vi c thi t k cc testcase, test procedure v theo di cc testcase cho d n ny. BI 10 TH C HNH XY D NG CC TESTCASE Chapter 18.

Chapter 1,2,3,5.

GV: Tr n Th Thy Trinh T CNPM

108

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

BI 11:

TH C HI N TEST, VI T BO CO V NH GI K T QU

A. M C TIU 1. V ki n th c Cung c p cho sinh vin nh ng ki n th c: Qui trnh chung ki m th ph n m m cc m c tng ng. Hi u c cc cng vi c, cc ho t ng v vai tr trong t ng giai o n ki m th . N m c cc b c th c hi n ki m th v vi t bo co, nh gi k t qu . 2. V k nng Sau khi h c xong chng ny sinh vin c th v n d ng nh ng ki n th c vo th c t :
-

Xy d ng bo co ki m th , phn tch v nh gi c k t qu ki m th .

B. N I DUNG

11.1. Th c hi n test
11.1.1.Chu n b mi tr ng test Mi tr ng ki m th bao g m t t c cc y u t h tr cho ki m th nh test data, software, hardware, networks, v nh ng ti n ch khc. Vi c chu n b mi tr ng ki m th ph i xc nh s l ng v i t ng s truy c p s d ng h th ng. Mi tr ng ki m th tham kh o cho mi tr ng m s n ph m ph n m m s run . N c th s p x p t m t ng i s d ng cu i n l n t t c cc my tnh n i m ng trn Internet. 11.1.2.Th c thi test Trong qu trnh th c thi test, cc tester s c giao cho m t gi s n ph m (bao g m c cc test script c vi t tr c ). Trong khi th c hi n ki m tra gi s n ph m ny, cc tester ph i ghi l i cc l i x y ra b ng cch s d ng qui trnh v cng c qu n l l i, v cho ra cc b n ghi k t qu bao g m cc tiu ch nh gi pass hay fail trong m i test case, v t ng h p cc l i tm th y. V cu i cng s g i cho team lead t ng h p v vi t bo co k t qu ki m th , ng th i g i cho developers s a l i.
GV: Tr n Th Thy Trinh T CNPM 109

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

11.1.3.Th m tra v nh gi k t qu M c ch: nh gi ton b qu trnh ki m tra, bao g m xem xt v nh gi k t qu ki m tra, li t k l i, ch nh cc yu c u thay i, v tnh ton cc s li u lin quan n qu trnh ki m tra (ch ng h n s gi , th i gian ki m tra, s l ng l i, phn lo i l i...). Lu , m c ch c a vi c nh gi k t qu ki m tra b c ny hon ton khc v i b c th m nh k t qu ki m tra sau khi hon t t m t vng ki m tra. nh gi k t qu ki m tra giai o n ny mang tnh ton c c v nh m vo b n thn gi tr c a

cc k t qu ki m tra. Vi c nh gi qu trnh v k t qu ki m tra c th c hi n song song v i b t k l n ki m tra no v ch ch m d t khi qu trnh ki m tra hon t t. nh gi qu trnh ki m tra thng qua cc b c sau: Phn tch k t qu ki m tra v xu t yu c u s a ch a: Ch nh v nh gi s khc bi t gi a k t qu mong i v k t qu ki m tra th c t , t ng h p v g i thng tin yu c u s a ch a n t t c nh ng ng i c trch nhi m trong d n, lu tr ki m tra sau . nh gi bao ph : nh gi qu trnh ki m tra c t c bao ph yu c u hay khng, t l yu c u c ki m tra (tnh trn cc yu c u c a ph n m m v s l ng code vi t). Phn tch l i: a ra s li u ph c v cho vi c c i ti n cc qui trnh pht tri n, gi m sai st cho cc chu k pht tri n v ki m tra sau . V d : tnh ton t l pht sinh l i, xu h ng gy ra l i, v nh ng l i th ng xuyn ti xu t hi n. Xc nh qu trnh ki m tra c t yu c u hay khng: Phn tch nh gi xem cc test case v chi n l c ki m tra c thi t k c bao ph h t nh ng i m c n ki m tra? Ki m tra c t yu c u d n hay khng? T nh ng k t qu ny tester c th s thay i chi n l c ho c cch th c ki m tra.

Bo co t ng h p: T ng h p bo co cc k t qu
nh ng ng i c lin quan.
GV: Tr n Th Thy Trinh T CNPM

trn v g i cho t t c
110

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

C. PHNG PHP V HNH TH C GI NG D Y 1. N i dung Trnh chi u powerpoint t v n , trao i 2. Sau khi h c xong l thuy t sinh vin v n d ng lm bi t p h th ng ha l i ki n th c chng. D. TI LI U THAM KH O 1. By Ron Patton: Software Testing, Sams Publishing, 2005 2. Addison_Wesley: Effective Software Testing. E. CU H I V BI T P ng d ng trong m t d n nh , th c hi n ki m th , vi t bo co v nh gi k t qu . BI 12: TH C HNH TH C HI N TEST, VI T BO Chapter 19.

Chapter 1,2,3,5.

GV: Tr n Th Thy Trinh T CNPM

111

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

PH N IV M T S
BI 13: KI M TH

K NNG TRONG LNH V C KI M TH


T NG

A. M C TIU 1. V ki n th c Cung c p cho sinh vin nh ng ki n th c: Vai tr c a ki m th t ng trong ki m th ph n m m Qui trnh ki m th t ng

2. V k nng Sau khi h c xong chng ny sinh vin c th v n d ng nh ng ki n th c vo th c t : Th c thi ki m th b ng m t s cng c t ng

B. N I DUNG ng ha c r t nhi u lnh v c, m c ch

Ngy nay t

ng d ng

th ng r t a d ng v ty theo nhu c u c th c a t ng lnh v c, tuy nhin i m chung nh t v n l gi m nhn l c, th i gian v sai st. Ngnh CNTT m c th l pht tri n ph n m m (PTPM) cng khng ngo i l . Nh chng ta bi t, t o ra s n ph m CNTT hay PM c ch t l ng th ho t ng ki m th ph n m m (KTPM) ng vai tr r t quan tr ng, trong khi ho t ng ny l i tiu t n v chi m t tr ng kh l n cng s c v th i gian trong m t d n. Do v y, nhu c u t ng ho qui trnh KTPM cng c t ra. Qua th c t cho th y vi c p d ng ki m th t ng (KTT) h p l s mang l i thnh cng cho ho t ng KTPM. KTT gip gi m b t cng s c th c hi n, tng tin c y, gi m s nhm chn v rn luy n k nng l p trnh cho ki m th vin (KTV). Bi vi t ny s gi i thi u cc khi ni m c b n c a KTT, ng th i gi i thi u m t cng c KTT kh m nh hi n nay l QuickTest Professional 8.2 (QTP) c a Mercury.

GV: Tr n Th Thy Trinh T CNPM

112

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

13.1. T ng quan v ki m th t ng
13.1.1. Khi ni m v ki m th t ng L m t phng php th c hi n ki m th m khng c s can thi p c a con ng i b ng cch s d ng cc ph n m m hay cc tools x l t ng cc b c th c hi n test case. 13.1.2. T i sao ph i ki m th t ng Gi m b t cng s c v th i gian th c hi n qu trnh ki m th cho c m t test plan. Tng tin c y b i v c nh ng vi c ki m th con ng i kh c th lm c ho c qun. Gi m s nhm chn cho Tester khi th c hi n cc cng vi c ki m th . Rn luy n k nng l p trnh cho tester. Gi m chi ph cho t ng qu trnh ki m th . 13.1.3. Khi no s d ng Test tools Test Tool (TT) trong lnh v c PTPM l cng c gip th c hi n vi c ki m th PM m t cch t ng. Tuy nhin khng ph i m i vi c ki m th u c th t ng ha, cu h i t ra l trong i u ki n ho c tnh hu ng no dng TT l thch h p? Vi c dng TT th ng c xem xt trong m t s tnh hu ng sau: Khng ti nguyn: Khi s l ng test case qu nhi u m cc tester khng th hon t t b ng tay trong m t th i gian c th no . C th l y m t d n ch ng l khi th c hi n ki m th ch c nng cho m t website. Website ny s c ki m th v i 6 mi tr ng g m 3 trnh duy t (web browser) v 2 h i u hnh. Tnh hu ng ny i h i s l n ki m th tng ln v l p l i 6 l n so v i ki m th cho m t mi tr ng c th . Ki m th h i qui: Trong qu trnh ki m th ph n m m nhm l p trnh th ng a ra nhi u phin b n PM lin ti p ki m th . Th c t cho th y vi c a ra cc phin b n PM c th l hng ngy, m i phin b n bao g m nh ng tnh nng m i, ho c tnh nng c c s a l i hay nng
GV: Tr n Th Thy Trinh T CNPM 113

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

c p. Vi c b sung ho c s a l i code cho nh ng tnh nng

phin b n

m i c th lm cho nh ng tnh nng khc ki m th t t ch y sai m c d ph n code c a n khng h ch nh s a. kh c ph c i u ny, i v i t ng phin b n, KTV khng ch ki m tra ch c nng m i ho c c s a, m ph i ki m tra l i t t c nh ng tnh nng ki m tra t t tr c . i u ny kh kh thi v m t th i gian n u ki m tra th cng. Trnh duy t: IE, Netscape, Opera, Firefox H i u hnh: Windows WinXP, IE WinXP, Netscape WinXP, Opera Linux, IE Linux, Netscape Linux, Opera. Ki m tra kh nng v n hnh ph n m m trong mi tr ng c bi t: y l ki m tra nh m nh gi xem v n hnh c a PM c th a mn yu c u t ra hay khng. Thng qua KTV c th xc nh c cc y u t v ph n c ng, ph n m m nh h ng n kh nng v n hnh c a PM. C th li t k m t s tnh hu ng ki m th tiu bi u thu c lo i ny nh sau: o o t c trung bnh x l m t yu c u c a web server. o Thi t l p 1000 yu c u, ng th i g i n web server, ki m tra tnh hu ng 1000 ng i dng truy xu t web cng lc. o Xc nh s yu c u t i a c x l b i web server ho c xc nh c u hnh my th p nh t m t c x l c a PM v n c th ho t ng m c cho php.

Vi c ki m tra th cng cho nh ng tnh hu ng trn l c c kh, th m ch "v phng". C n lu l ho t ng KTT nh m m c ch ki m tra, pht hi n nh ng l i c a PM trong nh ng tr ng h p on tr c. i u ny cng c ngha l n th ng c th c hi n sau khi thi t k xong cc tnh hu ng (test case). Tuy nhin, nh ni, khng ph i m i tr ng h p ki m tra u c th ho c c n thi t ph i t ng ha, trong t t c test case th KTV ph i nh gi v ch n ra nh ng test case no ph h p ho c c n thi t p d ng KTT d a trn nh ng tiu ch c p bn trn.

GV: Tr n Th Thy Trinh T CNPM

114

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

13.2. Quy trnh ki m th t ng


Vi c ki m th t ng cng tun theo cc b c pht tri n ph n m m, chng ta ph i xem vi c ki m th t ng nh vi c pht tri n m t d n.

Hnh 13.1: Qui trnh ki m th t ng


Gi ng nh pht tri n ph n m m, thnh cng trong ki m th t ng chng ta nn th c hi n cc b c c b n sau: Xy d ng yu c u: Thu th p cc c t yu c u, l a ch n nh ng ph n c n th c hi n ki m th t ng, l p k ho ch ki m th . Phn tch thi t k m hnh ki m th t ng: Xy d ng m hnh pht tri n ki m th t ng, thi t k v xy d ng cc test case th c thi. Pht tri n Test script: o T o Test script: Giai o n ny chng ta s s d ng test tool ghi l i cc thao tc ln ph n m m c n ki m tra v t ng sinh ra test script. o Ch nh s a test script: Ch nh s a test script th c hi n ki m tra theo ng yu c u t ra, c th l lm theo test case c n th c hi n. Ch y test script: Gim st ho t ng ki m th ph n m m c a Test Script. Ki m tra k t qu : Ki m tra k t qu thng bo sau khi th c hi n ki m th t ng. nh gi k t qu ki m th : Thng qua bo co k t qu ki m th (Test report) b sung, ch nh s a nh ng sai st. Nh ng thu n l i v kh khn khi th c hi n ki m th t ng Thu n l i: o T c ki m th nhanh
GV: Tr n Th Thy Trinh T CNPM 115

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

o Th c hi n ki m th ph n m m khng c n can thi p c a con ng i. o Gi m chi ph khi th c hi n ki m tra s l ng l n test case l p l i nhi u l n. o C th th c hi n trong th i gian khng lm vi c. o Gi l p trong tnh hu ng kh c th ki m th b ng tay. Kh khn: o M t chi ph cho vi c t o cc script th c hi n ki m th t ng. o T n chi ph dnh cho b o tr cc test script o i h i cc Tester ph i c k nng t o cc Test script cho ki m th t ng. o Khng p d ng c trong vi c tm l i m i c a ph n m m.

13.3. Gi i thi u m t s cng c ki m th t ng


13.3.1. WinRunner WinRunner l g? WinRunner l s n ph m c a Mercury. l cng c test t ng dng trong functionality type, t o ra cc script cho GUI, functional ho c Regression Test. c i m c a WinRunner: o D s d ng, b o tr, t o test script nhanh. Cung c p d li u ki m tra r rng v d hi u. o Ki m tra phin b n m i c a ng d ng v i r t t s thay i. o H tr lm vi c theo nhm thng qua s chia s th vi n, th ng nh t qu n l. Cch s d ng WinRunner: o B1: T o GUI Map File WinRunner c th nh n ra cc i t ng GUI trong ng d ng ang c test. o B2: T o cc scripts b ng cch ghi l i (recording), l p trnh hay c hai. Trong khi recording tests, chn cc checkpoints mu n ki m tra s ph n h i c a ng d ng c test.
GV: Tr n Th Thy Trinh T CNPM 116

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

o B3: Debug Test: Ch y Tests ch y t t. o B4: Run Tests: Ch y Tests d ng.

ch Debug ch c r ng chng ch Veryfy ki m tra ng

o B5: View Results: Xc nh s thnh cng ho c th t b i c a vi c Tests. Report Defects: N u chng trnh test l i do pht hi n ra c nh c i m trong ng d ng c test, ta c th report cc thng tin v cc l i ny tr c ti p t c a s Test Results. Support: Download trial: http://downloads.mercury.com/cgi-bin/portal/download/index.jsp Website: http://www.mercury.com

13.3.2. Load Runner Load Runner l g? LoadRunner l s n ph m load testing, performance testing, do Hewlett-Packard t o ra. LoadRunner dng ki m tra hnh vi v s th c thi c a h th ng trong khi th c s ch u t i. LoadRuner c th m ph ng hng trm ho c hng ngn ng i s d ng cng m t lc t ng d ng th ng i dng truy c p vo, trong khi thu l m thng tin t cc thnh ph n c b n (web servers, database servers, ). Cc k t qu c th c phn tch chi ti t, khm ph cho hnh vi c th . Lm vi c v i LoadRunner l x l v i cng c thnh ph n khc nhau c a LoadRunner. l Virtual User Generator (VuGen), Controller v Analysis. c i m c a Load Runner: o Thu c hnh nh chnh xc end-to-end system performance. o Xc nh c ng d ng m i/upgraded c p ng c yu c u khng. o Xc nh v lo i b cc bottlenecks su t vng i pht tri n.
GV: Tr n Th Thy Trinh T CNPM 117

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Cch s d ng: o B1: Recording scripts o B2: Replaying scripts H tr :


Download trial: http://downloads.mercury.com/cgi-bin/portal/download/loginForm.jsp?id=160 Website: http://www.mercury.com

13.3.3. Quick Test Professional


Quick Test Profesional l g?

QTP l chng trnh dng ki m tra ch c nng (functional test) v cho php th c hi n ki m tra h i qui (regression test) m t cch t ng. y cng l cng c p d ng phng php Keyword-Driven, m t k thu t scripting (l p trnh trong ki m tra t ng (KTT)) hi n i, cho php Tester b sung test case b ng cch t o file m t cho n m khng c n ph i ch nh s a hay b sung b t c script no c . N cng ph h p trong tnh hu ng chuy n giao cng vi c m ng i m i ti p nh n cha c th i gian ho c khng hi u script v n c th th c hi n ki m tra PM theo ng yu c u. c i m c a QTP: o D s d ng, b o tr, t o test script nhanh. Cung c p d li u ki m tra r rng v d hi u. o Ki m tra phin b n m i c a ng d ng v i r t t s thay i. V d khi ng d ng thay i nt tn "Login" thnh "ng nh p", th ch c n c p nh t l i Object Repository QTP nh n ra s thay i m khng c n thay i b t c test script no. o H tr lm vi c theo nhm thng qua s chia s th vi n, th ng nh t qu n l Object Repository. Th c t cho th y, QTP th c hi n ki m tra t ng (KTT) trn nhi u trnh duy t cng lc t t hn nh ng tooltest khc.

GV: Tr n Th Thy Trinh T CNPM

118

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

V i ch c nng Recovery Scenarios, QTP cho php x l nh ng s ki n ho c l i khng th on tr c c th lm script b d ng trong khi ang ch y. QTP c kh nng hi u test script c a Mercury Winrunner (m t cng c ki m tra khc c a Mercury). Ngoi ra, QTP c m t s tnh nng n i b t: Cch s d ng QTP: Action: Gi ng nh th t c hay hm trong cc ngn ng l p trnh khc, Action ghi l i cc b c th c hi n KTT v n c th c s d ng l i nhi u l n. Trong m t test script c th c nhi u Action. Data Table: Ni lu d li u ph c v cho KTT. M t test script s c m t DataTable c dng chung cho t t c cc Action. Bn c nh m i Action cng c m t DataTable cho ring mnh. Object Repository: C u trc theo d ng cy, m t cc i t ng trong PM c ki m tra. y c xem l c u n i test script tng tc v i PM c ki m tra. Khi ra l nh cho QTP ghi l i thao tc ng i dng ln ph n m m th trong OR s t ng pht sinh thnh ph n i di n cho nh ng i t ng trn ph n m m v a c thao tc. OR c th t ch c thnh 2 lo i, m t lo i dng chung trong nhi u test script, lo i khc dng theo t ng Action. xem OR, ch n menu Tools > Object Repository Checkpoint: C th hi u l ni ki m tra trong test script, khi ch y n s th c hi n so snh k t qu th c t khi ki m tra PM v i k t qu mong i. Sau khi ti n hnh so snh QTP s t ng ghi l i k t qu vo Test Results (ni lu k t qu khi ch y test script). Ngn ng s d ng vi t script: QTP s d ng ngn ng VBScript vi t test script. y l ngn ng d h c; r t gi ng ngn ng VBA. Ch Expert View c a QTP l ch so n th o dnh cho VBScript. Ngoi vi c dng VBScript tng tc v i PM c ki m tra, QTP cn c kh nng c u hnh h th ng b ng ngn ng Windows Script. H tr :
GV: Tr n Th Thy Trinh T CNPM 119

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Download Quick Test Professional:


http://downloads.mercury.com/cgi-bin/portal/download/index.jsp Website: http://www.mercury.com

13.3.4. Quality Center T ng quan v QC (Quality Center) QC l m t cng c qu n l test d a trn n n web m b n s d ng ki n trc, t ch c v lu tr ti li u t t c cc pha c a quy trnh test theo yu c u c a b n. QC h tr giao ti p v h p tc gi a cc nhm pht tri n. QC c nh ng ch c nng sau: o Cung c p m t kho ch a trn n n web cho t t c s n ph m test v n n t ng r rng cho c quy trnh ki m th . o Thi t l p cc lu ng thng tin c tch h p li n m ch v trn tru t giai o n ny n giai o n khc trong quy trnh ki m th . o H tr vi c phn tch d li u v th ng k m c bao ph , cung c p m t b c tranh r rng v chnh xc v ch t l ng c a s n ph m t i m t th i i m no trong chu k ki m th . Phin b n c a QC QC g m c nh ng phin b n sau: o QUALITY CENTER STARTER EDITION: ng d ng cho cc i qu n l b n pht hnh nh v i t i a 5 ng i s d ng. o QUALITY CENTER ENTERPRISE EDITION: ng d ng cho cc i qu n l b n pht hnh trung bnh n l n. o QUALITY CENTER PREMIER EDITION: Phin b n QC m i dng cho cc t ch c l n qu n l cc b n pht hnh c a doanh nghi p l n. S phn bi t gi a phin b n Premier v Enterprise l phin b n Premier c thm cc c tnh b sung c kh nng chia s cc d n v i nhau. Cc c tnh ny c kh nng thm vo, ng b ha v chia s cc th vi n, chia s khi m khuy t v hon thnh cc d n theo yu c u c a khch hng. Quy trnh ki m th trong QC
GV: Tr n Th Thy Trinh T CNPM 120

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Bo co v phn tch Xc nh b n pht hnh Xc nh yu c u L k Chp nh b n pht hnh ho ch test Th c thi test Theo di l i

Quy trnh qu n l vng i c a ng d ng g m cc pha sau: o Xc nh b n pht hnh: L p b ng k ho ch qu n l cc b n pht hnh o Xc nh yu c u: Phn tch ng d ng v xc nh cc yu c u o L p k ho ch ki m th d a trn yu c u o Th c thi test: T o cc b test v ch y chng trnh test o Theo di l i: Bo co l i v theo di qu trnh s a l i. Cc thnh ph n c a QC o MANAGEMENT: mo-un ny c cc mo-un con: o RELEASE: cho php b n nh ngha b n pht hnh v chu k trong quy trnh qu n l ng d ng. o LIBRARIES: Cho php b n nh ngha cc th vi n theo di cc thay i trong d n c a b n, s d ng l i ton b trong d n, ho c chia s cho cc d n khc. o REQUIREMENT: Cho php b n c t cc yu c u ki m th o TEST PLAN: Cho php t o k ho ch ki m th , d a trn yu c u c xc nh m-un REQUIREMENT. o TEST RESOURCE: Qu n l cc ngu n ti nguyn s d ng cho vi c ki m th . o TEST LAB: Cho php b n ch y ki m tra trn ng d ng v phn tch k t qu . o DEFECTS: Lin k t cc khi m khuy t v i cc th c th c a QC nh yu c u v test

GV: Tr n Th Thy Trinh T CNPM

121

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

o DASHBOARD: Cho php b n t o khng gi i h n cc nhm s d ng d a trn vi tr, phn quy n cho t ng nhm ng i dng ho c cho t ng vai tr khc nhau, qu n l d n c a m i ng i dng, so snh s khc nhau gi a cc d n s d ng cc s li u tng t v xu h ng phn tch d li u h ng th i gian. o BUSINESS COMPONENTS: Cho php b n thi t k v k t h p cc thnh ph n nghi p v vo ki m tra nghi p v .

13.4. Ki m th n v v i Junit
nh ngha JUnit l m t framework n gi n dng cho vi c t o cc unit testing t ng, v ch y cc test c th l p i l p l i. N ch l m t ph n c a h ki n trc XUnit cho vi c t o cc Unit Testing. JUnit l m t chu n trn th c t cho Unit Testing trong Java. c i m JUnit l cng c gip ta th nghi m, g r i chng trnh Java. V i JUnit, b n d dng theo di di n bi n c a chng trnh, nhanh chng dn d ng hng lo t php th (test case) ki m tra xem m i vi c c x y ra ng nh d nh hay khng. Thu ban u, JUnit c xy d ng b i Kent Beck v Erich Gamma. Sau , gi i l p trnh vin Java bi n JUnit thnh m t n ngu n m . Ngy nay, JUnit tr thnh m t th "cng c chu n" m m i l p trnh vin Java u nn bi t cch dng. JUnit l m t m ngu n m , regression-testing framework nh m gip cho cc java developer vi t nh ng unit test ki m tra t ng modul c a project khi pht tri n h th ng. Framework gip trong vi c thi t l p m t close-relationship gi a testing v development. u tin b n vi t ra cc o n code c a b n s lm vi c. Sau b n vi t code v dng JUnit test runner ki m tra xem n b ch ch h ng so v i d nh ban u nh th no.Intergration testing xc nh n r ng nh ng h th ng con khc nhau s lm vi c t t khi k t h p chng v i nhau. Acceptance testing n gi n xc nh n chnh xc r ng m t ng d ng c lm vi c ng nh

GV: Tr n Th Thy Trinh T CNPM

122

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

khch hng mong i khng. Unit test c g i nh v y b i v h test t ng o n code n l m t, n c th ch l m t class n trong java. Khc v i cc Unit Test c th, b n c khuynh h ng r ng s vi t test

sau khi hon thnh module, JUnit khuy n khch b n k t h p coding v testing trong su t qun trnh pht tri n. K t y, m c ch chnh l ki m tra module m c nh l ki m tra cc ch c nng, v hn l ki m tra cc kh i c b n c a h th ng t i m t th i i m no . n ny h ng d n vi c pht tri n m t b test ton di n m b n c th dng b t c khi no sau khi thay i m t o n code v tin t ng r ng s n ph m ho c o n code s a i khng ph v nh ng h th ng con khch m b n k c bi t. M t s c i m quan tr ng c a Junit: Xc nh n (assert) vi c ki m tra k t qu c mong i. Cc Test Suite cho php chng ta d dng t ch c v ch y cc test. H tr giao di n h a v giao di n dng l nh. Cc test case c a JUnit l cc l p c a Java, cc l p ny bao g m m t hay nhi u cc phng th c unit testing, v nh ng test ny l i c nhm thnh cc Test Suite. M i phng th c test trong JUnit ph i c th c thi nhanh chng. T c l i u t i quan tr ng v cng nhi u test c vi t v tch h p vo bn trong qu trnh xy d ng ph n m m, c n ph i t n nhi u th i gian hn cho vi c ch y ton b Test Suite. Cc l p trnh vin khng mu n b ng t qung trong m t khong th i gian di trong khi cc test ch y, v th cc test m ch y cng lu th s c nhi u kh nng l cc l p trnh vin s b qua b c cng khng km ph n quan tr ng ny. Cc test trong JUnit c th l cc test c ch p nh n hay th t b i, cc test ny c thi t k khi ch y m khng c n c s can thi p c a con ng i. T nh ng thi t k nh th , b n c th thm cc b test vo qu trnh tch h p v xy d ng ph n m m m t cch lin t c v cho cc test ch y m t cch t ng. M t s phng th c trong Junit Cc phng th c assertXXX()
GV: Tr n Th Thy Trinh T CNPM 123

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Cc phng th c assertXXX() c dng ki m tra cc i u ki n khc nhau. junit.framework.TestCase, l p cha cho t t c cc test case, th a k t l p junit.framework.Assert. L p ny nh ngha kh nhi u cc phng th c assertXXX(). Cc phng th c test ho t ng b ng cch g i nh ng phng th c ny. M t s m t cc phng th c assertXXX() khc nhau c trong l p

junit.framework.
assert:assertEquals(): So snh 2 gi tr ki m tra b ng nhau. Test s c ch p nh n n u cc gi tr b ng nhau assertFalse(): nh gi bi u th c lu n l. Test s c ch p nh n n u bi u th c saiassertNotNull(): So snh tham chi u c a m t i t ng v i null. Test s c ch p nh n n u tham chi u i t ng khc null assertNotSame(): So snh a ch vng nh c a 2 tham chi u i t ng b ng cch s d ng ton t ==. Test s c ch p nh n n u c 2 u tham chi u n cc i t ng khc nhau assertNull(): So snh tham chi u c a m t i t ng v i gi tr null. Test s c ch p nh n n u tham chi u l null assertSame(): So snh a ch vng nh c a 2 tham chi u i t ng b ng cch s d ng ton t ==. Test s c ch p nh n n u c 2 u tham chi u n cng m t i t ng assertTrue(): nh gi m t bi u th c lu n l. Test s c ch p nh n n u bi u th c ng fail(): Phng th c ny lm cho test hi n hnh th t b i, phng th c ny th ng c s d ng khi x l cc bi t l

M c d b n c th ch c n s d ng phng th c assertTrue() cho g n nh h u h t cc test, tuy nhin th vi c s i p th t b i r rng hn. T t c cc phng th c trn u nh n vo m t String khng b t bu c lm tham s u tin. Khi c xc nh, tham s ny cung c p m t thng i p m t test th t b i.
V d : assertEquals(employeeA, employeeB); assertEquals(Employees should be equal after the clone() operation., employeeA, employeeB).

d ng m t trong cc phng th c

assertXXX() c th s lm cho cc test c a b n d hi u hn v cung c p cc thng

GV: Tr n Th Thy Trinh T CNPM

124

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Set Up v Tear Down Hai phng th c setUp() v tearDown() l m t ph n c a l p junit.framework.TestCase B ng cch s d ng cc phng th c setUp v

tearDown. Khi s d ng 2 phng th c setUp() v tearDown() s gip chng ta trnh c vi c trng m khi nhi u test cng chia s nhau d p cc bi n. JUnit tun th theo m t dy c th t cc s ki n khi ch y cc test. u tin, n t o ra m t th hi n m i c a test case ng v i m i phng th c test. T , n u b n c 5 phng th c test th JUnit s t o ra 5 th hi n c a test case. V l do , cc bi n th hi n khng th c s d ng chia s tr ng thi gi a cc phng th c test. Sau khi t o xong t t c cc i t ng test case, JUnit tun theo cc b c sau cho m i phng th c test: G i phng th c setUp() c a test case. G i phng th c test. G i phng th c tearDown() c a test case Ch y cc Test l p i l p l i Trong m t vi tr ng h p, chng ta mu n ch y m t test no l p i l p l i nhi u l n o hi u su t hay phn tch cc v n tr c tr c. JUnit cung c p cho chng ta l p junit.extension.RepeatedTest lm c i u ny. L p RepeatedTest gip chng ta th c hi n i u ny m t cch d dng
CODE public static Test suite() { //Chy ton b test suite 10 ln return new RepeatedTest(new TestSuite(TestGame.class), 10); }

ph n kh i t o v d n

C. PHNG PHP V HNH TH C GI NG D Y 1. N i dung: Trnh chi u powerpoint t v n , trao i 2. Sau khi h c xong l thuy t sinh vin v n d ng lm bi t p h th ng ha l i ki n th c chng D. TI LI U THAM KH O
GV: Tr n Th Thy Trinh T CNPM 125

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

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

Chapter 15

2. Raymond McLeod, Jr. Software Testing Across the Entire Software Development Life Cycle E. CU H I V BI T P 1. Vi t testscript th c hi n ki m th n v v i Junit ho c Nunit v i chng trnh C ng tr nhn. 2. Vi t test script cho ng d ng Flight c a Mercury trong WinRunner ho c QTP BI 14: NG Chapter 11. 3. User guide c a m t s cng c : vWinRunner, QTP,.

TH C HNH KI M TH

GV: Tr n Th Thy Trinh T CNPM

126

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

PH N V:
BI 15: A. M C TIU
1. V KI N TH C

M B O CH T L NG PH N M M
KHI NI M M B O CH T L NG

Cung c p cho sinh vin nh ng ki n th c: Qu trnh qu n l ch t l ng v cc ho t ng qu trnh m b o ch t l ng. L p k hoach v ki m sot ch t l ng


2. V K NNG

Sau khi h c xong chng ny sinh vin c th v n d ng nh ng ki n th c vo th c t : Xy d ng c m t s ti li u qui trnh, ti li u qu n l ch t l ng, p d ng qui trnh qu n l ch t l ng cho ph n m m. So snh c CMM/CMMi v i cc qui trnh qu n l ch t l ng hi n nay

B. N I DUNG Ch t l ng c a ph n m m pht tri n m nh m t 15 nm v tr c. M t trong cc l do cho s pht tri n ny l do cc cng ty p d ng cc k thu t v cng ngh m i, v d nh vi c s d ng cc pht tri n h ng i t ng v s k t h p cung cung c p cng ngh ph n m m v i s h tr c a my tnh. Thm vo th c nh ng ki n th c nhi u hn v t m quan tr ng c a vi c qu n l ch t l ng s n ph m v vi c p d ng cc k thu t qu n l ch t l ng t cc nh s n xu t trong cng nghi p ph n m m. Tuy nhin, ch t l ng ph n m m l m t khi ni m ph c t p, n khng th so snh m t cch tr c ti p v i ch t l ng trong s n xu t.Trong s n xu t, khi ni m c a ch t l ng c a ra l: s n ph m pht tri n ph i ph h p v i c t c a n ( Crosby, 1979). Nhn chung, nh ngha ny c p d ng cho t t c cc s n ph m, tuy nhin i v i h th ng ph n m m, n y sinh m t s v n v i nh ngha ny:

GV: Tr n Th Thy Trinh T CNPM

127

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

c t ph i c nh h ng t i cc c trng c a s n ph m m khch hng mong mu n. Tuy nhin, t ch c pht tri n c th cng c cc yu c u ( nh cc yu c u v tnh b o tr) m khng c k n trong cc c t . Chng ta khng bi t lm cch no nh r cc c trng ch t l ng ( v d nh tnh b o tr c) m t cch r rng. Ch t l ng ph n m m bao g m cc yu c u v k thu t, vi c vi t c y cc c t ph n m m l m t cng vi c r t kh khn. V v y, m c d s n ph m ph n m m c th ph h p v i cc c t c a n, nhng ng i s d ng c th khng coi l s n ph m ch t l ng cao b i v n khng ph h p v i nh ng mong i c a h . B n ph i nh n ra nh ng v n do s t n t i cc thng s ph n m m, v v y vi c t o ra cc thi t k ch t l ng khng ch ph thu c vo vi c c m t c t hon h o. Ni ring, cc thu c tnh ph n m m nh kh nng b o tr c, tnh b o m t hay tnh hi u qu khng th c nh r. Tuy nhin, chng c tc ng to l n n ch t l ng c a h th ng. Ta s bn n cc thu c tnh ny trong ph n sau.

M t s ng i ngh r ng ch t l ng c th t c b ng cch nh ngha cc chu n, v cc th t c ch t l ng c tnh t ch c ki m tra nh ng chu n ny c c tun theo b i cc i pht tri n ph n m m. Nh ng tranh ci c a h l vi c cc chu n c tm l c thi quen t t hay khng, vi c tun theo cc thi quen ch c ch n d n d t n cc s n ph m ch t l ng cao. Trong th c t , tuy nhin, ti ngh r ng c n nhi u s qu n l ch t l ng hn l cc chu n v c k t h p v i cng vi c ph c t p m b o r ng nh ng chu n ny c tun theo. Cc nh qu n l ch t l ng t t c m c tiu l pht tri n m t vn ho ch t l ng ni m trch nhi m c a m i cam k t cho s pht tri n s n ph m t t i m c cao c a ch t l ng s n ph m. H khuy n khch cc nhm ch u trch nhi m cho ch t l ng cng vi c c a mnh v pht tri n cc cch ti p c n c i ti n ch t l ng. Khi m cc

chu n v cc th t c l ph n c b n c a qu n l ch t l ng, kinh nghi m c a ng i qu n l ch t l ng cho th y c nh ng mong i khng th nhn th y c v ch t l ng ph n m m ( tnh b t m t, tnh d c, ) m khng th c th hi n m t cch r rng theo
GV: Tr n Th Thy Trinh T CNPM 128

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

cc chu n. Chng ph c v cho nh ng ng i quan tm n nh ng kha c nh khng nhn th y c c a ch t l ng v khuy n khch cch c x chuyn nghi p trong t t c cc thnh vin c a nhm.
Qu trnh pht tri n ph n m m

D1

D2

D3

D4

D5

Qu trnh qu n l ch t l ng Cc chu n v cc th t c

K ho ch Ch t l ng

Bo co r sot ch t l ng

Hnh 15.1: Qu n l ch t l ng v pht tri n ph n m m Vi c qu n l ch t l ng c chnh th c ho ni ring l r t quan tr ng i v i cc nhm c nhi m v pht tri n cc h th ng l n v ph c t p. Ti li u v ch t l ng l m t b n ghi v nh ng vi c lm b i m i nhm nh trong m t d n. N tr gip con ng i ki m tra nh ng nhi m v quan tr ng khng c php qun, hay m t ph n c a nhm t o ra cc gi nh v nh ng g m cc nhm khc lm. Ti li u ghi ch t l ng cng c ngha v vi c trao i trong kho ng th i gian t n t i c a h th ng. N cho php cc nhm ch u trch nhi m cho s pht tri n c a h th ng th hi n nh ng g m m nhm pht tri n th c hi n. i v i nh ng h th ng nh , qu n l ch t l ng v n r t quan tr ng, nhng v i m t cch ti p c n n gi n hn c p d ng. Khng c n thi t nhi u cng vi c gi y t b i v m t nhm pht tri n nh c th trao i tr c ti p. V n then ch t ch t l ng cho s pht tri n cc h th ng nh l vi c thi t l p m t vn ho ch t l ng v b o m r ng t t c cc thnh vin nhm c ti p c n m t cch tch c c v i ch t l ng ph n m m. Qu n l ch t l ng ph n m m cho cc h th ng l n c th c chia vo 3 ho t ng chnh. S m b o ch t l ng: s thi t l p c a m t khung c a t ch c cc th t c v cc chu n h ng n s n ph m ch t l ng cao. L p k ho ch ch t l ng: Vi c ch n l a cc th t c v cc chu n thch h p t khung ny, c s a ch a cho cc d n ph n m m ring bi t.
GV: Tr n Th Thy Trinh T CNPM 129

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Ki m sot ch t l ng: nh ngha v a ra cc qu trnh m b o r ng i pht tri n ph n m m ph i tun theo cc th t c v cc chu n ch t l ng d n. Qu n l ch t l ng cung c p m t ki m tra c l p trong qu trnh pht tri n ph n m m. Qu trnh qu n l ch t l ng ki m tra m c th c hi n d n m b o r ng chng ph h p v i cc chu n v m c tiu c a t ch c. ( Hnh 6.1). i m b o ch t l ng c l p v i i pht tri n, v v y h c th t o ra cc cch nhn nh n khc nhau v ph n m m. H bo co cc v n v kh khn t i ng i qu n l c th m quy n trong t ch c.

nh ngha qu trnh

Pht tri n s n ph m

nh gi ch t l ng s n ph m

C i ti n qu trnh

Khng

Ch t l ng ?

C Chu n ho qu trnh

Hnh 15.2: Ch t l ng c d a trn qu trnh M t i c l p ch u trch nhi m i v i vi c qu n l ch t l ng v s bo co t i ng i qu n l d n c p cao hn. i qu n l ch t l ng khng c lin

k t v i b t c nhm pht tri n ring bi t no nhng nh n trch nhi m cho vi c qu n l ch t l ng. L do cho vi c ny l ng i qu n l d n ph i duy tr ngn sch d n v l p l ch d n. N u v n xu t hi n, h c th b li cu n vo vi c tho hi p ch t l ng s n ph m, v v y h ph i l p l ch. M t i qu n l ch t l ng c l p b o m r ng m c tiu t ch c c a ch t l ng khng b tho hi p b i ngn sch ng n h n v chi ph l p l ch.

15.1. Ch t l ng qu trnh v ch t l ng s n ph m
M t gi nh c b n c a qu n l ch t l ng l ch t l ng c a qu trnh pht tri n nh h ng tr c ti p n ch t l ng c a cc s n ph m. S gi nh ny do h th ng cc nh s n xu t, ni m ch t l ng s n ph m lin h m t cch m t thi t t i qu trnh s n xu t. Trong h th ng s n xu t t ng, qu trnh ny bao g m , c u
GV: Tr n Th Thy Trinh T CNPM 130

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

hnh, ci t, v thao tc my pht tri n trong qu trnh. M t khi cc my thao tc m t cch chnh xc, ch t l ng s n ph m t nhin s tun theo. B n c th o ch t l ng c a s n ph m v thay i qu trnh cho n khi b n t c m c ch t l ng nh mong mu n. Hnh 6.2 cung c p cch ti p c n qu trnh c b n t c ch t l ng s n ph m. C s lin k t r rng gi a ch t l ng c a qu trnh v ch t l ng c a s n ph m trong s n xu t, b i v qu trnh chu n ho v gim st tng i d . M t khi h th ng s n xu t c ki m tra, chng c th c ch y l i nhi u l n cho u ra l cc s n ph m c ch t l ng cao. Tuy nhin, ph n m m khng ph i l s n xu t, nhng c thi t k . Pht tri n ph n m m l m t s sng t o hn l m t qu trnh my mc, v v y s nh h ng c a cc k nng v kinh nghi m ring l r t ng

k . Nhn t bn ngoi, nh tnh m i l c a ng d ng hay s c p c a thng m i cho m t s n ph m m i, cng nh h ng n ch t l ng s n ph m b t ch p qu trnh c s d ng. Trong s pht tri n ph n m m, m i quan h gi a ch t l ng qu trnh v ch t l ng s n ph m l ph c t p hn. Vi c o cc thu c tnh ch t l ng ph n m m l r t kh khn, nh kh nng b o tr c, ngay c sau khi s d ng ph n m m trong m t th i gian di. Do , r t kh ni xem cc c trng qu trnh nh h ng nh th no n cc thu c tnh. Hn th n a, b i v cc quy nh c a thi t k v sng t o trong qu trnh ph n m m, ta khng th d on qu trnh thay i nh th no s nh h ng n ch t c a ph m. Tuy nhin, nhi u chuyn gia ch ra r ng qu trnh ch t l ng c nh h ng ng k n ch t l ng c a ph n m m. Qu n l v pht tri n ch t l ng qu trnh v vi c c i ti n th t t y u d n n c t khi m khuy t hn trong s n ph m ph n m m c pht hnh. Qu n l qu trnh ch t l ng bao g m: nh ngha cc chu n qu trnh nh b ng cch no v khi no nh ng r sot c ch o. Gim st qu trnh pht tri n m b o r ng cc chu n c tun theo. Bo co qu trnh ph n m m n qu n l d n v ng i mua ph n m m.

GV: Tr n Th Thy Trinh T CNPM

131

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

M t v n v i s m b o ch t l ng d a trn qu trnh o l i m b o ch t l ng (QA- Quality Asurrance) c th b t bu c yu c u s d ng qu trnh chu n b t ch p ki u lo i ph n m m ang c pht tri n. V d , cc chu n c a ch t l ng qu trnh cho h th ng quan tr ng c th ch ra r ng cc c t ph i c hon thnh v c thng qua tr c khi vi c th c thi b t u. Tuy nhin i v i m t s h th ng quan tr ng c th yu c u nguyn m u, khi cc chng trnh c th c thi m khng c n c t y . Trong m t s tr ng h p, ng i qu n l c p cao ph i can thi p b o m r ng qu trnh ch t l ng tr gip nhi u hn l gy c n tr cho s pht tri n s n ph m. 15.2. m b o ch t l ng v cc chu n ch t l ng m b o ch t l ng l qu trnh c a vi c nh r lm cch no ch t l ng s n ph m c th t c v lm th no cho t ch c pht tri n bi t ph n m m c yu c u ch t l ng c p no. m b o ch t l ng ti n trnh c lin quan u tin n vi c nh ra ho c ch n l a cc chu n s c p d ng cho qu trnh pht tri n ph n m m hay s n ph m ph n m m. Nh l m t ph n c a qu trnh m b o ch t l ng, b n c th ch n l a ho c t o ra cc cng c v cc phng php ph c v cho cc chu n ny. C 2 lo i chu n c th c p d ng nh l m t ph n c a qu trnh m b o ch t l ng: Cc chu n s n ph m: Nh ng chu n ny p d ng cho s n ph m ph n m m pht tri n. Chng bao g m cc nh ngha c a c t , nh l c u trc c a ti li u yu c u; cc chu n ti li u, nh cc tiu gi i thch chu n cho nh ngha l p i t ng; v cc chu n m nh r lm cch no ngn ng l p trnh c th c s d ng. Cc chu n qu trnh: Nh ng chu n ny nh ra qu trnh nn c tun theo trong qu trnh pht tri n ph n m m. Chng c th bao g m cc vi c xc nh cc c t . Qu trnh thi t k v ki m nh qu trnh v m t b n m t cc ti li u nn c ghi l i trong giai o n c a nh ng qu trnh ny. Nh ni m c trn, c m t s lin h r t g n gi a cc chu n s n ph m v chu n qu trnh. Cc chu n s n ph m p d ng cho u ra c a qu trnh ph n
GV: Tr n Th Thy Trinh T CNPM 132

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

m m v trong nhi u tr ng h p, cc chu n qu trnh bao g m cc cc ho t ng qu trnh ring bi t m m b o r ng cc chu n s n ph m c tun theo. Cc chu n ph n m m l r t quan tr ng b i nh ng l do sau: Cc chu n ph n m m d a trn hi u bi t v nh ng th c ti n thch h p nh t cho cng ty. Kinh nghi m ny th ng ch t c sau r t nhi u l n th nghi m v l i. B sung n vo cc chu n gip cho cng ty trnh s l p l i sai l m trong qu kh . Cc chu n ch a ng cc kinh nghi m t ng tr i ny r t c gi tr cho t ch c. Cc chu n ph n m m cung c p m t ci khung cho vi c th c thi qu trnh m b o ch t l ng. a ra cc chu n t ng k t th c ti n, m b o ch t l ng bao g m vi c b o m r ng cc chu n c tun theo m t cch ch t ch . Cc chu n ph n m m tr gip tnh lin t c khi m m t ng i ti p t c cng vi c c a ng i khc b d . Cc chu n m b o r ng t t cc k s trong t ch c ch p nh n cng thi quen. Do v y cng s c nghin c u khi b t u cng vi c m i s gi m xu ng. S pht tri n c a cc chu n d n k thu t ph n m m l qu trnh r t kh khn v t n th i gian. Cc t ch c qu c gia, qu c t nh US DoD, ANSI, BSI, NATO v IEEE ch ng t o ra cc chu n. Nh ng chu n ny l chu n chung m c th c p d ng ph m vi c a cc d n. Cc t ch c nh NATO v cc cc t ch c b o v c th yu c u cc chu n c a h c tun the trong cc h p ng ph n m m. Cc chu n qu c gia v qu c t pht tri n bao g m c cng ngh k thu t ph n m m, ngn ng l p trnh nh Java, v C++, cc k hi u nh l bi u t ng b n , cc th t c cho cc yu c u nh n v vi t ph n m m, cc th t c m b o ch t l ng, ki m tra ph n m m v qu trnh thng qua (IEEE, 2003). Cc nhm m b o ch t l ng m ang pht tri n cc chu n cho cng ty th ng d a trn chu n qu c gia v qu c t . S d ng nh ng chu n ny nh l i m b t u, nhm m b o ch t l ng ph i th o ra m t ti li u tm t t chu n. Ti li u

GV: Tr n Th Thy Trinh T CNPM

133

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

ny ph i nh ra nh ng tiu chu n c yu c u b i t ch c c a h . V d v nh ng tiu chu n m c th k n trong ti li u sch tm t t trong b ng 15.3.

Cc chu n s n ph m M u r sot thi t k C u trc t li u yu c u Phng php nh d ng tiu Ki u l p trnh Java nh d ng k ho ch d n M u yu c u thay i

Cc chu n qu trnh S p t r sot thi t k S trnh t li u n CM Qu trnh pht hnh phin b n Qu trnh thng qua k ho ch d n Qu trnh ki m sot thay i Qu trnh ghi nh n ki m tra.

B ng 15.3: Cc chu n s n ph m v cc chu n qu trnh Cc k s ph n m m i khi coi cc chu n l ph c t p v khng thch h p i v i ho t ng cng ngh c a vi c pht tri n ph n m m. Cc chu n yu c u chon y cc m u di dng v ph i ghi l i cng vi c. M c d cc k s ph n m m th ng ng v cc yu c u chung cho cc tiu chu n, cc k s th ng tm nhi u l do t i sao cc chu n khng th c s thch h p v i d n ring c a h . trnh nh ng v n ny, nh ng ng i qu n l ch t l ng thi t l p nh ng tiu chu n c n thi t l nh ng ti nguyn tng x ng, v nn tun theo cc b c sau: Bao g m cc k thu t ph n m m trong vi c ch n l a cc chu n s n ph m. H nn hi u t i sao cc tiu chu n c thi t k v cam k t tun theo chu n ny. Ti li u chu n khng ch l n gi n l ni r chu n c tun theo m n ph i bao g m l do cn b n t i sao cc tiu chu n ring bi t c ch n. Ki m tra v thay i cc tiu chu n m t cch u nhau ph n nh cc cng ngh thay i. M t khi cc tiu chu n c pht tri n, chng c xu h ng c lu tr trong ti li u tm t t cc tiu chu n c a cng ty, v vi c qu n l th ng kh c th thay i chng. M t ti li u tm t t tiu chu n l r t

GV: Tr n Th Thy Trinh T CNPM

134

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

c n thi t nhng n nn m ra vi c ph n nh cc tnh hu ng thay i v cng ngh thay i. Cung c p cc cng ngh ph n m m ph c v cc tiu chu n b t k khi no c th . Cc tiu chu n vn phng l nguyn nhn c a nhi u than phi n b i v cng vi c qu di dng th c hi n chng. N u cng c ph c v l c hi u l c, b n khng c n c g ng thm tun theo cc chu n pht tri n ph n m m. Cc chu n qu trnh c th gy ra nhi u kh khn n u m t qu trnh khng c tnh th c t c p t cho nhm pht tri n. Cc ki u khc nhau c a ph n m m c n cc qu trnh pht tri n khc nhau. Khng nh t thi t ph i quy nh cch lm vi c n u n khng thch h p cho m t d n hay i d n. M i ng i qu n l d n ph i c quy n thay i cc chu n qu trnh theo nh ng tr ng h p ring. Tuy nhin, cc chu n m lin quan n ch t l ng s n ph m v qu trnh g i- pht ph i ch c thay i sau khi c s cn nh c c n th n. Ng i qu n l d n v ng i qu n l ch t l ng c th trnh nhi u v n v cc chu n khng h p l b ng cch l p k ho ch ch t l ng chu o s m trong d n. H ph i quy t nh nh ng chu n a vo trong ti li u, m nh ng chu n khng thay i c ghi vo ti li u, cn nh ng chu n no c th c ch nh s a v nh ng chu n no c th c b qua. Nh ng chu n m i c th ph i c t o ra p ng nh ng yu c u ring bi t c a t ng d n. V d , tiu chu n cho cc c t hnh th c c th c yu c u n u nh ng c t ny khng c s d ng trong cc d n tr c. Khi m i c thm kinh nghi m v i chng, b n nn l p k ho ch ch nh s a v a ra nh ng chu n m i. 15.2.1.ISO 9000 M t t p h p cc tiu chu n qu c t m c th c s d ng trong vi c pht tri n c a h th ng qu n l ch t l ng trong t t c ngnh cng nghi p c g i l ISO 9000. Cc chu n ISO 9000 c th c p d ng cho nhi u t ch c t s n xu t cho n cng nghi p d ch v . ISO 9001 l nh ng ci chung nh t c a nh ng chu n ny v p d ng cho nh ng t ch c trong cc qu trnh ch t l ng dng thi t k , pht tri n v b o tr s n ph m. M t ti li u ph c v (ISO 9000-3) hi u l ISO 9001
GV: Tr n Th Thy Trinh T CNPM 135

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

cho pht tri n ph n m m. M t vi quy n sch m t chu n ISO 9000 l c gi tr ( Johnson, 1993; Oskarsson v Glass, 1995; Peach, 1996; Bamford v Deibler, 2003). Chu n ISO khng t p trung c th vo vi c pht tri n ph n m m nhng n thi t l p nguyn l chung m c th ng d ng vo ph n m m. Chu n ISO 9000

m t nhi u d ng bn ngoi khc nhau c a qu trnh ch t l ng v b c c cc chu n t ch c v cc th t c t ch c m m t cng ty ph i nh ra. Nh ng chu n ny c ghi l i trong m t ti li u ch d n ch t l ng c a t ch c. nh ngha qu trnh ph i bao g m vi c m t cc ti li u c yu c u th hi n nh ng qu trnh c nh ra c tun theo trong qu trnh pht tri n s n ph m. Chu n ISO 9001 khng nh ngha qu trnh ch t l ng no nn c s d ng. Trn th c t , n khng rng bu c cc qu trnh s d ng vo trong b t k t ch c theo b t k cch no. i u no cho php s m m d o trong cc b ph n cng nghi p v i u ny c ngha r ng cc cng ty nh c th c nh ng qu trnh khng ph c t p v v n tun theo chu n ISO 9000. Tuy nhin, s linh ho t ny c ngha l b n khng th t o ra b t k gi nh no v s tng t hay khc nhau gi a qu trnh trong cc cng ty ng d ng ISO 9000. B ng 15.3 th hi n cc lnh v c bao trm trong ISO 9001. Ti khng khng gian y th o lu n chu n ny su hn n a c. Ince (Ince, 1994) v Oskarrson v Glass (Oskarrson and Glass, 1995) a b n m t chi ti t hn v vi c lm th no chu n c th c s d ng pht tri n cc qu trnh qu n l ch t l ng ph n m m. Cc m i lin quan gi a ISO 9000, ti li u ch d n v ch t l ng v cc k ho ch ch t l ng d n ring bi t c th hi n trong hnh 15.4. Ti l y hnh v ny t m t m hnh c a ra trong quy n sch c a Ince (Ince, 1994).

GV: Tr n Th Thy Trinh T CNPM

136

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

M hnh ch t l ng ISO 9000 Th d nh T li u

Ti li u h ng d n ch t l ng t ch c
c s d ng pht tri n

Qu trnh ch t l ng t ch c Th d nh

K ho ch ch t l ng D n 1

K ho ch ch t l ng D n 2

K ho ch ch t l ng D n 2

Qu n l ch t l ng d n

Cung c p

Hnh 15.4: ISO 9000 v qu n l ch t l ng Cc th t c m b o ch t l ng trong t ch c c ti li u ho trong ti li u ch d n ch t l ng, ti li u ny nh ra qu trnh ch t l ng. Trong m t s qu c gia, gi y ch ng nh n quy n s h u ch ng nh n r ng qu trnh ch t l ng tun theo chu n ISO 9001. Ngy cng nhi u khch hng xem gi y ch ng nh n ISO 9000 nh ph c v nh l cch ch ng minh tnh ng n ch t l ng s n

ph m c a nh cung c p. M t s ng i ngh r ng gi y ch ng nh n ISO 9000 c ngha r ng ch t l ng c a ph n m m c t o ra b i cc cng ty c ch ng th c s t t hn l cc cng ty m cha c ch ng th c. i u ny khng ph i th c s nh v y. Chu n ISO 9000 th ng l lin quan n nh ngha c a cc qu trnh c s d ng trong cng ty v ti li u c lin k t l i nh cc qu trnh ki m sot m c th th hi n m t cch d dng nh ng qu trnh c tun theo. N khng lin quan n vi c m b o r ng nh ng qu trnh ny ph n nh th c t t t nh t, hay ch t l ng s n ph m. V v y, m t cng ty c th nh ra cc th t c ki m tra s n ph m m d n n vi c ki m tra ph n m m cha hon thnh. Trong m t th i gian di nh ng th t c ny c tun theo v c ti li u ho, cng ty nn tun theo chu n ISO

GV: Tr n Th Thy Trinh T CNPM

137

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

9001. Trong khi, tr ng h p ny l cha ch c ch n,c m t s chu n cng ty l khng thuy t ph c v ng gp t vo ch t l ng ph n m m th c. 15.2.2. Cc chu n ti li u Cc chu n ti li u trong m t d n ph n m m l quan tr ng b i v cc ti li u l cch xc th c th hi n ph n m m v qu trnh ph n m m. Cc ti li u tiu chu n ho c b ngoi, c u trc v ch t l ng khng thay i, b i v y n d c v d hi u hn. C 3 chu n ti li u: Cc chu n qu trnh ti li u Nh ng chu n ny nh ra qu trnh m s c tun theo i v i vi c t o ra ti li u. Cc chu n ti li u Nh ng chu n ny chi ph i c u trc v cch th hi n c a cc ti li u. Cc chu n trao i ti li u Nh ng chu n ny m b o r ng t t c cc b n sao i n t c a cc ti li u l tng thch. Cc chu n ti li u qu trnh nh ra qu trnh c s d ng cho vi c t o ra cc ti li u. i u ny c ngha r ng b n s p t cc th t c, bao g m vi c pht tri n ti li u v cc thi t b ph n m m c s d ng cho vi c t o ra ti li u. B n cng c th nh ra vi c ki m tra v c i ti n cc th t c m b o r ng cc ti li u c ch t l ng cao c t o ra. Cc chu n ti li u ch t l ng qu trnh ph i linh ho t v c th thch ng v i nhi u lo i ti li u. i v i cng vi c trn gi y t hay s ghi nh i n t , khng c n thi t ph i ki m tra ch t l ng m t cch r rng. Tuy nhin, i v i cc ti li u chnh th c s c s d ng cho vi c pht tri n sau ny hay chuy n giao cho khch hng, th b n nn s d ng qu trnh ch t l ng chnh qui. Hnh 27.6 l m t m hnh c a qu trnh li li u c th th c hi n c. Vi c phc th o, ki m tra, phc th o l i v bin t p l i l m t qu trnh l p i l p l i. N nn ti p di n cho n khi m t ti li u ch t l ng c th ch p nh n c c t o ra. M c ch t l ng yu c u cn tu thu c vo ki u c a ti li u v kh nng c a ng i c ti li u.

GV: Tr n Th Thy Trinh T CNPM

138

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Cc chu n ti li u ph i p d ng cho t t c cc ti li u c t o ra trong m t d n pht tri n ph n m m. Cc ti li u ph i c m t ki u cch v b ngoi n nh. Cc ti li u c a cng m t ki u cng ph i c c u trc nh nhau. M c d cc chu n ti li u c th thch ng v i cc yu c u c a d n ring bi t, trong th c t l quy lu t nh nhau c s d ng trong t t c cc ti li u c s n xu t b i t ch c. Cc v d c a cc chu n ti li u c th c pht tri n l: Cc chu n nh n d ng ti li u Khi m nh ng d n pht tri n h th ng l n c th t o ra hng nghn cc ti li u, m i ti li u ph i c nh n bi t duy nh t. i v i cc ti li u chnh quy, nh n d ng ny c th l nh n d ng chnh quy c nh ra b i ng i qu n l c u hnh. i v i cc ti li u khng chnh quy, ng i qu n l d n c th nh ra m u c a ti li u. Cc chu n c u trc ti li u M i l p c a ti li u c t o ra trong d n ph n m m ph i theo m t s c u trc chu n. Cc chu n c u trc ph i nh ra cc m c c thm vo v ph i nh r cc quy c c s d ng cho nh s trang, thng tin tiu trang, v nh s m c v m c con. Cc chu n trnh di n ti li u Cc chu n trnh di n ti li u nh ra quy lu t cho cc ti li u v dng gp ng k cho tnh kin nh c a ti li u. Chng bao g m vi c nh r c a cc c ch v ki u ch c s d ng trong ti li u, cch s d ng logo v cc tn cng ty, cch s d ng mu s c lm cho n i b t c u trc ti li u, Cc chu n c p nh t ti li u Khi m m t ti li u pht tri n ph n nh cc thay i trong h th ng, ch th ph h p cho nh ng thay i ti li u s c s d ng. B n c th s d ng mu s c bi u th phin b n c a vn b n v cc thanh thay i trong m c canh l bi u th m t s o n c thay i hay c thm vo. Tuy nhin ti khuyn khng nn s d ng s thay i t hi u ch nh khi c ph c v trong m t s b x l vn b n th ng c s d ng. N u c nhi u tc gi , s t hi u ch nh em l i nhi u s kh khn hn l h u d ng

GV: Tr n Th Thy Trinh T CNPM

139

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

T o b n phc th o ban u Giai o n 1 T o ra

R sot b n phc th o

K t h p cc bnh lu n r sot

T li u ti phc th o

T li u c thng qua

c v s a b n phc th o Giai o n 2 Lm m n

T o ra b n phc th o cu i cng

Ki m tra b n phc th o cu i

T li u c thng qua

B c c trnh by vn b n Giai o n 3 S n xu t

Xt duy t b c c

S n xu t in chuyn nghi p

In b n d phng

Hnh 15.5: M t qu trnh s n xu t ti li u bao g m vi c ki m tra ch t l ng

Cc chu n trao i ti li u l r t quan tr ng khi m cc b n sao i n t c a cc ti li u c trao i. S d ng cc chu n trao i cho php cc ti li u c truy n i b ng tn hi u i n v c ti t o l i d i d ng nguyn g c. Th a nh n r ng s d ng cc cng c chu n c t trong cc qu trnh chu n, cc chu n trao i nh ra cc quy c cho vi c s d ng nh ng cng c ny. Cc v d v cc chu n trao i bao g m cch s d ng m t b ng tnh ki u chu n n u m t b x l vn b n c s d ng hay cc gi i h n trong vi c s d ng cc macro ti li u trnh nhi m virus. Cc chu n trao i cng c th gi i h n cc c ch v cc ki u vn b n c s d ng b i v my in khc nhau v kh nng hi n th cng khc nhau.

15.3. L p k ho ch ch t l ng
L p k ho ch ch t l ng l qu trnh c a s pht tri n m t k ho ch ch t l ng cho m t d n. K ho ch ch t l ng ph i thi t l p cc ch t l ng ph n m m c yu c u v m t lm cch no nh ng ch t l ng ny c th c quy t nh. B i v y n nh ra ph n m m ch t l ng cao th c s c ngha nh th no. N u khng c s nh tr c ny cc k s c th t o ra cc gi nh khc nhau v i khi l xung t v i nhau v cc thu c tnh s n ph m s c t i u ho.
GV: Tr n Th Thy Trinh T CNPM 140

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

K ho ch ch t l ng s ch n nh ng chu n t ch c m n thch h p v i m t s n ph m ring bi t v qu trnh pht tri n. Nh ng chu n m i c th ph i c nh ngha n u d n s d ng cc phng php v cng c m i. Humphrey (Humphrey, 1989) trong cu n sch kinh i n v qu n l ph n m m, g i r ng m t c u trc phn c p cho k ho ch ch t l ng. i u ny bao g m: S gi i thi u s n ph m M t m t v s n ph m, m t nh h ng th tr ng d nh v cc mong i ch t l ng cho s n ph m. Cc k ho ch s n ph m K h n pht hnh v cc trch nhi m s n ph m cng v i cc d n cho vi c phn ph i v d ch v s n ph m. Cc m t qu trnh Cc qu trnh pht tri n v d ch v s c s d ng cho qu n l v pht tri n s n ph m. Cc m c tiu ch t l ng Cc m c tiu v k ho ch ch t l ng cho s n ph m bao g m vi c xc nh v i u ch nh cc thu c tnh ch t l ng quan tr ng c a s n ph m. R i ro v qu n l r i ro Cc r i ro chnh m c th l ng v cc ho t ng s n ph m. Cc k ho ch ch t l ng th c s khc bi t trong chi ti t ph thu c vo kch th c v ki u c a h th ng m ang c pht tri n. Tuy nhin, khi vi t cc k ho ch ch t l ng, b n nn c g ng gi cho chng ng n nh t c th . N u nh ti li u qu di, m i ng i s khng th c n, i u ny s ph hu m c nh c a vi c tao ra k ho ch ch t l ng. C m t ph m vi r ng c a cc thu c tnh ch t l ng ph n m m ti m nng ( B ng 6.6) m b n nn xem xt trong qu trnh l p k ho ch ch t l ng. Nhn chng ta khng th t i u ho cho t t cc thu c tnh i v i b t k h th ng no. V v y trong k ho ch ch t l ng, b n ph i nh ra nh ng thu c tnh ch t l ng quan tr ng nh t cho ph n m m ang c pht tri n. i u ny c th l c hi u qu l quan tr ng v cc nhn t khc c b qua t c ch t l ng. N u b n pht bi u i u ny trong k ho ch ch t l ng, cc k s pht tri n c th h p tc t c i u ny. K ho ch ph i bao g m vi c nh r qu trnh nh nh h ng n ch t

GV: Tr n Th Thy Trinh T CNPM

141

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

gi ch t l ng. i u ny nn l m t cch chu n c a vi c nh gi m t s ch t l ng, nh kh nng b o tr hay tnh b n v ng c hi n di n trong s n ph m. Tnh an ton Tnh b o m t Tnh tin c y Tnh m m d o Tnh b n v ng Tnh c th hi u c Tnh c th ki m tra Tnh thch nghi Tnh m un Tnh ph c t p Tnh di ng Tnh ti n d ng Tnh ti s d ng Tnh hi u qu Tnh d h c.

B ng 15.6: Cc thu c tnh ch t l ng ph n m m

15.4. Ki m sot ch t l ng
Ki m sot ch t l ng bao g m vi c ki m tra qu trnh pht tri n ph n m m m b o r ng cc th t c v cc chu n m b o ch t l ng c tun theo. Nh hnh 6.1, m c th c hi n qu trnh ph n m m c ki m tra d a vo cc chu n d n c nh ra trong qu trnh ki m sot ch t l ng. C 2 cch ti p c n b sung cho nhau m c th c s d ng ki m tra ch t l ng c a m c th c hi n c a d n. Vi c r sot l i ch t l ng ni m ph n m m, ti li u c a n v cc qu trnh s d ng t o ra c th c hi n b i m t nhm ng i. Vi c r sot ch u trch nhi m vi c ki m tra cc chu n d n c tun theo, ph n m m v cc ti li u lm cho ph h p v i nh ng chu n ny. S l ch kh i cc chu n ny c ch v ng i qu n l d n c c nh b o t i chng. nh gi ph n m m t ng l ni ph n m m v cc ti li u c s c t o ra x l b i m t s chng trnh v c so snh v i cc chu n p d ng cho d n pht tri n ring bi t. nh gi t ng ny c th bao g m vi c o m t s thu c tnh ph n m m v so snh nh ng o v i m t s m c mong mu n. Ti s th o lu n o ph n m m trong m c 5

15.5. R sot ch t l ng
R sot l phng th c c s d ng r ng ri nh t trong vi c ki m ch ng ch t l ng c a m t qu trnh hay s n ph m. Vi c r sot bao g m m t nhm ng i
GV: Tr n Th Thy Trinh T CNPM 142

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

ki m tra m t ph n hay t t c m t qu trnh ph n m m, h th ng hay cc ti li u lin quan v i cc v n ti m tng pht hi n. Cc k t lu n c a vi c r sot c ghi l i v thng qua m t cch chnh th c t i tc gi hay b t k ng i no ch u trch nhi m vi c s a l i nh ng v n c pht hi n. B ng 6.8 m t ng n g n m t vi lo i r sot, bao g m cc r sot i v i qu n l ch t l ng. Ki u r sot Ki m tra thi t k hay chng trnh R sot ti n . M c ch ch y u Pht hi n cc l i chi ti t trong cc yu c u, thit k hay m. Danh sch ki m tra cc l i c th s d n d t vi c r sot. Cung c p thng tin cho vi c qu n l ti n c a d n. y cng v a l qu trnh v v a l r sot s n ph m n c lin quan n chi ph, k ho ch, l p l ch. Ti n hnh cc phn tch cng ngh c a cc thnh ph n s n ph m hay t li u tm ra ch khng tng x ng gi a c t v thi t k thnh ph n, m hay t li u v m b o r ng cc chu n ch t l ng c a ra c tun theo.

R sot ch t l ng

B ng 15.7: M t s lo i r sot ch t l ng V n c a i r sot l tm ra cc l i v cc mu thun v chuy n giao chng cho ng i thi t k hay tc gi c a ti li u. Cc vi c r sot c d a trn ti li u nhng n khng gi i h n t i cc c t , cc thi t k hay m. Cc ti li u nh cc m hnh qu trnh, k ho ch ki m tra, cc th t c qu n l c u hnh, cc chu n qu trnh v ti li u ch d n ng i dng c th t t c c r sot l i. i r sot nn c h t nhn l ba hay b n ng i m c ch n nh l ng i r sot ch y u. M t thnh vin nn l ng i thi t k lu nm ng i m c th ch u trch nhi m cho vi c ra quy t nh cng ngh quan tr ng. Nh ng ng i xt duy t quan tr ng c th m i cc thnh vin d n khc. H c th khng ph i xt duy t ton b ti li u. Hn n a, h t p trung vo m t s ph n m nh h ng n cng vi c c a h . i r sot c th chuy n ti li u c r sot v yu c u cho cc l i ch gi i t hnh nh r ng c a cc thnh vin d n.
GV: Tr n Th Thy Trinh T CNPM 143

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Cc ti li u c r sot ph i c phn ph i t t tr c khi xt duy t cho php nh ng ng i r sot c th c v hi u chng. M c d s tr ny c th ph v qu trnh pht tri n, vi c r sot l khng hi u qu n u i xt duy t khng hi u m t cch ng n cc ti li u tr c khi vi c r sot di n ra. Vi c t r sot nn l tng i ng n (h u h t l hai gi ). Tc gi c a ti li u c r sot nn lm ch to vi c r sot v m t s khc ghi l i t t c cc quy t nh r sot cc hnh ng c x y ra. Trong su t qu trnh r sot, ng i ch to ch u trch nhi m vi c m b o r ng t t c cc l i ph bnh c ghi chp u c xem xt. V ch to r sot nn ghi vo b n ghi nh n cc l i ph bnh v cc ho t ng c ng trong qa trnh r sot. B n ghi nh n ny sao c xem nh l m t ph n c a ti li u d n chnh th c. N u m cc v n th y u c pht hi n, m t cu c xt duy t sau c th l khng c n thi t. Ng i ch to ch u trch nhi m i v i vi c m b o r ng cc thay i c yu c u c quy t nh. N u nh ng thay i chnh y u l c n thi t, m t cu c r sot sau c th c x p x p.

C. PHNG PHP V HNH TH C GI NG D Y 1. N i dung: Trnh chi u powerpoint t v n , trao i 2. Sau khi h c xong l thuy t sinh vin v n d ng lm bi t p h th ng ha l i ki n th c chng D. TI LI U THAM KH O 1. Roger S. Pressman: Software Engineering: A Practitioner's Approach, 6th Ed., McGraw-Hill, 2004 E. CU H I V BI T P 1. Ch t l ng c a m t s n ph m c s n xu t l g? i v i ph n m m, nh ngha c ng khng? Lm th no p d ng nh ngha ?
GV: Tr n Th Thy Trinh T CNPM 144

Chapter 8

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

2. Ci g c dng lm c s ki m nh ch t l ng ph n m m? 3. lm c s cho vi c ki m nh ch t l ng, c t yu c u ph n m m c n th a mn i u ki n g? Nu m t vi v d v i u ki n a ra? 4. Cc nh n t nh h ng ln ch t l ng ph n m m c m y m c ? Nh ng lo i nhn t no nh h ng n ch t l ng? 5. Nu cc c trng nh h ng ln ch t l ng c a m i lo i nhn t ( c trng ch c nng, kh nng thch nghi v i thay i, kh nng thch nghi v i mi tr ng) ? 6. C th o tr c ti p ch t l ng ph n m m khng? T i sao? V y ph i o b ng cch no? 7. K ra cc o c trng ch t l ng chnh c a McCall v gi i thch n i dung c a n? 8. Gi i thch n i dung cc thu c tnh ch t l ng ph n m m sau y v nu ra cc o lin quan c s d ng o thu c tnh : 9. Tnh ng n, Tnh tin c y c, Tnh hi u qu , Tnh ton v n, Tnh kh d ng, Tnh b o tr c, Tnh m m d o, Tnh th nghi m c, Tnh kh chuy n, Tnh lin tc c? 10. Nu cc c trng ch t l ng theo Hawlett? Gi i thch n i dung m i lo i?

GV: Tr n Th Thy Trinh T CNPM

145

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

BI 16:

QU N L C U HNH

A. M C TIU
1. V KI N TH C

Cung c p cho sinh vin nh ng ki n th c: Gi i thch c t i sao ph i s d ng qu n l c u hnh Cc ho t ng qu n l c u hnh c b n

2. V K NNG

Sau khi h c xong chng ny sinh vin c th v n d ng nh ng ki n th c vo th c t : S d ng c m t s cng c qu n l c u hnh hi n nay

B. N I DUNG

16.1. Gi i thi u v qu n l c u hnh


Trong pht tri n ph n m m v cc d n khc, cc thay i c a ra ph i c nh gi xem xt xc nh ton b nh h ng c a n n d n. R t

c c l chng c lm c i thi n t t hn hay lm c n tr ho c lm gi m ch t l ng c a d n hay khng? Ngay c nh ng thay i l c l i cho d n cng ph i c qu n l gim st trong vi c m u v th c thi n. Qu n l c u hnh l m t t p cc ho t ng c dng qu n l cc ti li u thay i c a ph n m m trong su t qu trnh pht tri n. Qu n l c u hnh c xem l m t trong nh ng ho t ng m b o ch t l ng ph n m m c p d ng trong su t qui trnh pht tri n ph n m m. Khi kch c ph n m m cng l n th vi c qu n l c u hnh hi u qu l r t c n thi t. N cho php m t team l n c th lm vi c trong m t mi tr ng n nh, nhng v n p ng c tnh m m d o, nng ng trong cng vi c. Vi c qu n l c u hnh c 3 m c ch c b n: Xc nh c c u hnh c a s n ph m t i m i th i i m ng lc. Qu n l m t cch c h th ng cc thay i n c u hnh B o tr tnh ton v n v l n v t c a cc c u hnh trong vng i c a s n ph m ph n m m

GV: Tr n Th Thy Trinh T CNPM

146

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Qu n l c u hnh th c hi n 3 m c ch trn b ng vi c tr l i cc cu h i: What, when, who, why nh hnh d i:

Ai t o thay i?

Thay i g c t o ra?

Cc thay i c t o ra khi no?

T i sao ph i thay i

Qu n l c u hnh ph n m m hi u qu cung c p nh ng ti n ch c b n cho h th ng ph n m m: Gi m s l n x n, nh m l n v thi t l p tr t t T ch c cc ho t ng nh m duy tr tnh ton v n cho s n ph m m b o cc c u hnh ng cho s n ph m Gi i h n cc . B ng vi c ghi nh n l i cc hnh ng Gi m chi ph cho vng i pht tri n c a ph n m m Cung c p mi tr ng lm vi c n nh 16.2. Cc ho t ng c a qu n l c u hnh 16.2.1.L p k ho ch qu n l c u hnh K ho ch qu n l c u hnh m t cc chu n v th t c c s d ng trong qu n l c u hnh. i m m u cho vi c pht tri n cc k ho ch qu n l c u hnh l m t t p cc tiu chu n qu n tr c u hnh v nh ng tiu chu n ny th ng ph i tng thch ph h p v i yu c u v rng bu c trong d n. B n k ho ch qu n l c u hnh bao g m cc m c sau: Xc nh nh ng kho n m c c u hnh (CI) no c n c qu n l v nh ng chi n l c s d ng nh danh nh ng CI ny. Xc nh vai tr, trch nhi m c a nhm, c nhn trong d n th c hi n cc ho t ng khc nhau lin quan n qu n l c u hnh. nh ngha r rng ai
GV: Tr n Th Thy Trinh T CNPM 147

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

th c hi n (perform), ai xem xt (review), ai ph duy t (approve) trn cc CI c a d n, cng nh vai tr c a khch hng, ng i s d ng u cu i. Xc nh cc chnh sch qu n l c u hnh m ton i ph i s d ng th c hi n vi c ki m sot thay i v qu n l phin b n. Xc nh cc cng c (tools), mi tr ng (environment) v c s h t ng (infrastructure) ho c quy trnh th t c c s d ng h tr qu n l c u hnh, ch ng h n nh cng c control) M t cc ki n trc c a c u hnh c s d li u c dng thng bo thng tin v c u hnh cng nh nh ng thng tin c th c lu tr trong c s d li u. M t ph n quan tr ng c a k ho ch qu n tr (KHQT) l vi c nh ngha trch nhi m. K ho ch c th a ra ng i c trch nhi m cho vi c phn ph i cc ti li u ho c ph n m m b o m ch t l ng. C nhn c trch nhi m cho vi c phn ph i ti li u c n khng trng v i ng i c trch nhi m cho s n xu t ti li u. lm n gi n m t ny, ng i qu n l d n ho c i ng ng u ph i c trch nhi m cho t t c ti li u c h a ra. 16.2.2. nh danh cc CI (Identifying Configuration Items) Trong m t h th ng ph n m m l n, c th c hng nghn mun m ngu n, t p l nh ki m tra, ti li u thi t k v nhi u th khc. Chng c a ra b i nh ng ng i khc nhau v khi t o ra, c th c gn gi ng nhau ho c l trng tn. theo di t t c nh ng thng tin ny th cc file c n ph i c tm th y khi c n thi t, b n c n c m t chi n l c xc minh nh t qun cho m i ch m c trong h th ng qu n tr c u hnh. Trong su t ti n trnh l p k ho ch qu n tr c u hnh, b n quy t nh chnh xc m c no (ho c l p m c no) c i u khi n. Nh ng ti li u ho c cc nhm ti li u g n nhau khi c xc l p l nh ng ti li u trang tr ng r rng. Nh ng k ho ch c a d n, b n m t , b n thi t k , chng trnh v ki m tra d li u thch h p c duy tr th ng xuyn nh l m t lo i c a c u hnh. T t c cc ti li u m
GV: Tr n Th Thy Trinh T CNPM 148

qu n l phin b n s n ph m (version

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

c th c ch cho cu c cch m ng h th ng trong tng lai u c th c i u hnh b i h th ng qu n tr c u hnh. Tuy nhin, i u khng c ngha l m i ti li u hay t p l nh c a ra u ch u s gim st c a i u hnh c u hnh. Nh ng ti li u k thu t, nh ng pht g p g trao i, nh ng b n phc th o, nh ng xu t c th khng c lin quan ho c khng c n thi t cho s duy tr h th ng trong tng lai. V y cc kho n m c c u hnh CI trong qu n l c u hnh l nh ng tn g i c a cc s n ph m, s n ph m trung gian, m t t p tin file ho c nhm file, ti li u ho c nhm ti li u trong m t d n m ta c n ph i qu n l v ki m sot. Ni chung l nh ng mn c t o ra trong m t d n m ta c n ph i qu n l, v d nh: m t file source code, ti li u v yu c u s n ph m, b n thi t k v,v nh danh l m t trong nh ng ho t ng n n t ng c a qu n l c u hnh. M c ch c a nh danh l xc nh tnh duy nh t c a m t CI, cng nh m i quan h c a n v i cc CI khc. N bao g m vi c m t tn, nh s , nh d u c trng, gip nh n bi t v phn bi t m t CI v i cc CI hay cc thnh ph n khc. Trong s n xu t ph n m m, m t CI c th bao g m m t ho c nhi u file. V d : m t module tn ExpMode c th c coi l m t CI, module ny c 2 file ExpMod.h v ExpMod.c. M i CI ph i c m t s nh danh duy nh t, d ng th c th ng th y l: V d : PRJ001_REQB_1.0.4_draft_B cho bi t: S ID c a d n: PRJ001 S ID c a Item: REQB Phin b n: 1.0.4_draft_B

Trong m t d n th ng c r t nhi u file source code, qui t c c b n l cc file cng t o nn m t kh i ch c nng c gom chung thnh m t CI. 16.2.3. Ki m sot cc phin b n (Version Control) Phin b n l m t th c th m i c a m t CI sau khi qua m t ho c nhi u l n xem xt hay thay i. Nh ng phin b n c a h th ng c th c nhi u ch c nng khc nhau, tnh th c thi c nng cao hay nh ng l i ph n m m c kh c ph c. M t s phin b n c th c nh ng ch c nng tng ng nhng m l i
GV: Tr n Th Thy Trinh T CNPM 149

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

c thi t k cho nh ng c u hnh ph n m m hay ph n c ng khc nhau. Nh ng phin b n m s khc nhau l nh th i khi c g i l bi n th . C nhi u nh ngha v cch hi u khc nhau v version control, ch mu n nh ngha n y ti

kha c nh thng d ng, st v i b n thn c m t nh t:

Version control l s ki m sot cc phin b n (version) khc nhau c a m t CI bao g m vi c nh danh v lu tr cc CI . nh danh cc phin b n t o ra m t phin b n th c t c a m t h th ng, b n ph i nh ra nh ng phin b n c a cc thnh ph n c a h th ng c bao g m bn trong n. Trong m t h th ng ph n m m l n th c hng trm cc thnh ph n ph n m m, m i thnh ph n c th t n t i trong m t vi cc phin b n khc nhau. Do c th c m t cch r rng xc minh m i phin b n thnh ph n ch c ch n r ng thnh ph n chnh xc c bao hm bn trong h th ng. Tuy nhin, b n khng th s d ng tn c a ch m c c u hnh cho vi c xc minh phin b n b i v c th c vi phin b n c a m i ch m c c u hnh c xc minh. Ba k thu t c b n c s d ng cho vi c xc minh phin b n thnh ph n l: o nh s phin b n (Version numbering): Thnh ph n c nh d u b i m t s phin b n r rng v n nh t. l chi n l c xc minh c s d ng chung nh t. o Xc minh thu c tnh c b n (Attribute based identification): M i thnh ph n c m t tn (nh tn ch m c c u hnh, nh ng ci khng n nh t qua cc phin b n) v m t t p cc thu c tnh c lin quan v i nhau qua m i phin b n (Estublier v Casallas, 1994). T cc thnh ph n c xc minh b ng vi c ch ra tn c a chng v cc gi tr thu c tnh. o Xc minh h ng thay i (Change-oriented identification): M i thnh ph n c nh tn nh trong xc minh cc thu c tnh c b n
GV: Tr n Th Thy Trinh T CNPM 150

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

nhng i u cng lin quan v i m t ho c nhi u yu c u thay i (Munch, et al., 1993). Do n c th a nh n r ng m i phin b n c a thnh ph n c t o ra trong s tc ng t m t ho c nhi u hn nh ng yu c u thay i. Phin b n c a thnh ph n c xc minh b i t p cc yu c u thay i c a t i thnh ph n. nh s phin b n Trong m t chi n l c nh s phin b n n gi n, m t s c a phin b n c g n v i tn c a thnh ph n ho c l h th ng. T , b n c th tham kh o t i Solari 4.3 (phin b n 4.3 c a Solaris system ) v phin b n 1.4 c a thnh ph n getToken. N u phin b n u tin c g i l 1.0 th theo trnh t sau cc phin b n s l 1.1, 1.2, v vn vn. T i m t s ch ng, m t b n pht hnh m i c t o ra (b n 2.0) v ti n trnh l i b t u t phin b n 2.1. Chi n l c ny l tuy n tnh, c b n d a trn gi nh r ng cc phin b n c a h th ng c t o ra tu n t . Ph n l n cc cng c qu n l phin b n ( trong m c 9.5) nh RCS (Tichy, 1985) v CVS (Berliner, 1990) h tr cc ti p c n ny cho vi c xc minh phin b n. Ti minh h a cch ti p c n ny v s hnh thnh c a m t s cc phin b n h c a th ng trn hnh 7.2 . Mi tn ngang trong s ny b t ngu n t phin b n g c t i phin b n c t o ra t phin b n g c. Ch r ng s hnh thnh c a cc phin b n khng nh t thi t ph i l tuy n tnh v cc phin b n v i cc s phin b n lin ti p nhau c th c a ra t nh ng ng n i khc nhau. Ch ng h n, trong hnh 7.2 phin b n 2.2 c t o ra t phin b n 1.2 ch khng ph i t phin b n 2.1.V m t nguyn t c, b t c phin b n ang t n t i no c th c s d ng nh m t i m b t u cho m t phin b n m i c a h th ng.

GV: Tr n Th Thy Trinh T CNPM

151

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

V1.1b

V1.1.1

V1.0

V1.1

V1.2

V2.0

V2.1

V2.2

V1.1a

Hnh 16.1: C u trc s hnh thnh c a phin b n Chi n l c ny l n gi n, nhng b n c n lu tr lu tr m t l ng l n cc thng tin m r ng theo di s khc nhau gi a cc phin b n v m i quan h gi a cc xu t thay i h th ng v cc phin b n. Ch ng h n i v i phin b n 1.1 v 1.2 c a m t h th ng c th khc nhau b i v phin b n 1.2 c s n xu t b i vi c s d ng m t th vi n h a khc. Ci tn khng ni cho b n bi t v phin b n ho c t i sao n c t o ra. Do b n c n theo di cc b n ghi trong c s d li u c u hnh ni m t m i phin b n t i sao n c t o ra. B n cng c th c n lin k t r rng nh ng yu c u thay i t i nh ng phin b n khc nhau c a m i thnh ph n. Xc minh cc thu c tnh c b n M t v n c b n i v i chi n l c nh tn r rng cc phin b n l n khng ph n nh r t nhi u thu c tnh m n c th c s d ng xc minh cc phin b n. Ch ng h n nh ng thu c tnh c xc minh l: Khch hng Ngn ng pht tri n Tnh tr ng pht tri n N n t ng ph n c ng Ngy t o ra N u m i phin b n c xc minh b i m t t p cc thu c tnh n nh t, th d dng thm phin b n m i c tm th y
GV: Tr n Th Thy Trinh T CNPM

b t c phin b n no
152

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

ang t n t i. Chng c xc minh c s d ng m t t p cc gi tr thu c tnh n nh t. Chng chia s ph n l n nh ng gi tr ny v i phin b n cha m c a chng t cc m i quan h gi a cc phin b n s c duy tr. B n c th nh n c nh ng phin b n c ch nh b ng vi c ch ra gi tr thu c tnh c yu c u. Nh ng ch c nng c a thu c tnh h tr cc th c m c nh l phin b n g n y nh t c t o ra ho c l phin b n c t o ra gi a cc ngy cho . Ch ng h n, phin b n c a h th ng ph n m m AC3D c pht tri n trn Java cho Window XP trong thng ging nm 2003 c th c xc minh: AC3D (ngn ng = Java, n n = XP, ngy = Jan2003) s d ng m t cch ch nh t ng quan cc thnh ph n trong AC3D, cng c qu n l phin b n s l a ch n nh ng phin b n c a nh ng thnh ph n c thu c tnh Java, XP v Jan2003. Xc minh thu c tnh c b n c th c th c thi tr c ti p b i h th ng qu n l phin b n, v i cc thu c tnh c a cc thnh ph n c lu tr trong c s d li u h th ng. Nh m t s l a ch n, h th ng xc minh thu c tnh c th c xy d ng nh m t l p hng u c a m t chi n l c nh s phin b n c n d u. C s d li u c u hnh s lu tr cc m i lin k t gi a cc thu c tnh xc minh v h th ng bn trong v cc phin b n thnh ph n Xc minh h ng thay i Vi c xc minh cc thu c tnh c b n c a cc phin b n h th ng gi i t a m t s v n m c ph i c a phng th c nh s phin b n n gi n. Tuy nhin, truy xu t c m t phin b n b n v n ph i bi t cc thu c tnh lin quan c a n. Hn th n a, b n v n c n s d ng m t h th ng qu n l thay i ring tm ra m i quan h gi a cc phin b n v s thay i. Xc minh h ng thay i th ng c s d ng xc nh cc phin b n c a h th ng hn l cc thnh ph n. Nh ng cng c xc minh
GV: Tr n Th Thy Trinh T CNPM 153

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

phin b n c a nh ng thnh ph n ring l c n d u i v i ng i s d ng c a h th ng CM. M i s thay i c a h th ng c th c thi c m t t p cc s ki n thay i, n m t nh ng thay i c yu c u t i nh ng thnh ph n h th ng khc nhau. T p thay i ny c th c t theo trnh t hay l t nh t trong nguyn l, phin b n c th k t h p v i m t t p cc thay i b t k. Ch ng h n, t p cc thay i c a h th ng c t o nn lm cho n thch h p v i Linux hn l so v i Solaris c th c ng d ng, ti p b c b i nh ng thay i c yu c u v vi c k t h p m t c s d li u m i. Cng tng t nh v y, s thay i c a Linux/Solaris c th c lm ti p theo b i nh ng thay i i h i chuy n giao di n ng i s d ng t ti ng Anh sang ti ng Italia. Trn th c t , t t nhin, khng ph i l c th yu c u m t t p cc thay i ty t i h th ng. Nh ng t p thay i c th l khng thch h p n n i ch ng h n t p thay i A ti p theo t p thay i D c th t o ra h th ng khng c gi tr . Hn th n a, nh ng t p thay i c th xung t v i nhau trong nh ng thay i khc nhau tc ng t i cng m t m c a h th ng. N u m b thay i b i t p thay i A, th t p thay i D c th khng lm vi c n a. nh d u nh ng kh khn ny, cc cng c qu n l phin b n h tr vi c xc minh h ng thay i cho php th c hi n nh ng nguyn t c ch t ch c a h th ng nh m xc minh. Nh ng i u ny h n ch cc cch k t h p cc t p thay i. 16.2.4. Qu n l baseline Baseline l m t i m m c c th a thu n b i nh ng ng i lin quan trong m t d n, sao cho sau i m m c ny m i thay i ph i c thng bo t i t t c nh ng ng i c lin quan. 16.2.5. Ki m sot thay i (Change Control) Thay i l m t th c t c a i s ng c a nh ng h th ng ph n m m l n. Nh c p n cc chng tr c, vi c t ch c c n v i h i thay i trong

su t qu trnh s ng c a m t h th ng.

GV: Tr n Th Thy Trinh T CNPM

154

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

i u c ngha l b n c n t o ra nh ng s thay i cho ph h p v i h th ng ph n m m. ch c ch n r ng s thay i l c c p nh t vo h th ng theo ng ng l i c ki m sot, b n c n c m t t p cc cng c h tr , cc th t c qu n l thay i. Cc th t c qu n l thay i c lin h v i vi c phn tch gi tr v l i ch c a vi c thay i theo xu t. Ti n trnh qu n l thay i c th c hnh thnh c hi u qu khi ph n m m hay ti li u lin quan c v ch ra b i i ng nh ng ng i qu n tr c u hnh. Ch ng u tin trong ti n trnh qu n l l hon t t hnh thnh yu c u vi c m t (Change Request Form-CRF) s thay i m h th ng i h i. CRF a ra thng bo n lu n s thay i, gi tr c l ng c a s thay i v ngy khi m s thay i c yu c u, tn thnh, th c thi v c hi u l c. CRF c th bao g m m t ph n phn tch bn ngoi vi c thay i c th c thi th no. M t v d c a vi c hnh thnh yu c u thay i c ch ra trong hnh 16.1. CRF c xc nh trong su t qu trnh l p k ho ch qu n tr c u hnh. M t v d CRF l c th c s d ng trong m t d n cho m t h th ng l n v ph c t p. i v i nh ng d n nh , chng ti cho r ng yu c u thay i c th c thng bo chnh th c, nhng CRF nn t p trung vo vi c m t yu c u thay i. K s thi t k s thay i quy t nh vi c lm cch no th c thi s thay i trong m t tnh hu ng c th .
Yu c u thay i b ng vi c hon t t m t hnh th c yu c u thay i Phn tch yu c u thay i N u vi c thay i l c ngha th c l ng vi c thay i c th c th c thi nh th no c l ng gi tr c a vi c thay i Ghi l i yu c u thay i vo trong c s d li u a ra yu c u thay i t i ban i u hnh vi c thay i N u vi c thay i c ch p nh n th L pl i T o nn s thay i t i ph n m m Ghi l i s thay i v lin k t t i nh ng yu c u thay i c lin quan Xem xt ph n m m c thay i v ch t l ng ch p nh n c Cho t i khi ch t l ng ph n m m ch p nh n c T o phin b n m i c a h th ng Ng c l i T ch i yu c u thay i Ng c l i T ch i yu c u thay i

B ng 16.2: Ti n trnh qu n l thay i


GV: Tr n Th Thy Trinh T CNPM 155

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

M t CRF c xem xt, th n nn c ng nh p vo trong c s d li u c u hnh. Sau vi c yu c u thay i c phn tch ki m tra r ng yu c u thay i l c n thi t. M t s yu c u c th b hi u l m,v i l i h th ng v s thay i c a h th ng l khng c n thi t. M t s khc c th tham chi u t i nh ng l i c bi t n. N u ng i phn tch khm ph ra r ng yu c u thay i l khng c ngha, c m ph ng hay l c xem xt, th s thay i s b bc b . B n nn ni v i ng i trnh vi c yu c u thay i r ng t i sao n b t ch i. i v i s thay i c ngha, ch ng ti p theo c a qu trnh l nh gi v suy st gi tr s thay i. Tc ng c a s thay i ln h th ng ph i c ki m tra. i u lin quan n vi c ch ra m i thnh ph n ch u s tc ng c a s thay i c s d ng thng tin c s d li u c u hnh v m ngu n c a ph n m m. N u vi c tao nn s thay i l i xa hn nh ng g h th ng c n th r rng ci gi c a vi c th c thi s thay i ph i tng ln. Ti p theo, yu c u thay i t i h th ng s c nh gi. Cu i cng, ci gi c a vi c thay i s c c l ng, g i t i ti kho n gi tr c a vi c thay i cc thnh ph n lin quan M t ban qu n l thay i (Change Control Board_CCB) nn xem xt v ph chu n m i yu c u thay i n u nh ng s thay i khng ch n gi n lin quan t i vi c chnh xc nh ng l i nh trn nh ng mn hnh hi n th , nh ng trang Web hay trong nh ng ti li u. Ban CCB xem xt k tc ng c a m t s thay i c chi n l c v t ch c hn l so v i m t quan i m v k thu t. Nh ng ban ny nn quy t nh xem s thay i l xc ng v m t kinh t hay khng v nn dnh u tin cho nh ng s thay i c ch p nh n. Ban CCB ( Change Control Board ) bao hm ngh v m t i ng l n nh ng nh a ra nh ng quy t nh thay i. Nh c u trc thng th ng c a CCB, bao g m nh ng khch hng lu nm, nh ng ng i qu n l tr c ti p (contractor staff) l nh ng yu c u cho m t d n nghim ng t. Tuy nhin, v i nh ng d n c kch c nh v v a, CCB c th n gi n ch bao g m m t ng i qu n l d n c ng v i m t ho c hai k s nh ng ng i khng tr c ti p lin quan n vi c pht tri n ph n m m. Trong m t s tr ng h p, CCB c th l m t ng i
GV: Tr n Th Thy Trinh T CNPM 156

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

theo di thay i n l ng i a ra l i khuyn v s thay i l xc ng hay khng. Qu n l thay i cho nh ng s n ph m ph n m m chung c ng gi so v i nh ng h th ng c lm ring cho nh ng khch hng c th ph i c i u khi n trong nh ng phng th c khc nhau. Trong nh ng h th ng ny, khch hng khng lin quan tr c ti p t i do s thay i tng ng t i vi c kinh doanh c a khch hng khng ph i l m t s n ph m. Yu c u thay i trong nh ng s n ph m ny th ng c gn v i nh ng l i trong h th ng c khm ph trong su t qu trnh ki m tra hay b i nh ng khch hng sau khi ph n m m c pht hnh. Cc khch hng c th s d ng m t trang Web ho c e_mail thng bo l i. M t i ng nh ng ng i qu n l l i s ki m tra thng bo l i l c hi u l c v chuy n chng t i h th ng yu c u thay i chnh th c. Nh v i cc lo i h th ng khc, thay i ph i c u tin cho vi c th c thi v l i c th khng c kh c ph c n u nh gi thnh kh c ph c qu cao. Trong su t qu trnh pht tri n, khi nh ng phin b n m i c a h th ng c t o ra thng qua vi c xy d ng h th ng hng ngy, m t ti n trnh qu n l thay i n gi n hn s c s d ng. Nh ng v n v thay i v n ph i c thng bo, nhng nh ng thay i m ch nh h ng t i cc thnh ph n v module khc nhau khng c n thi t ph i c nh gi c l p. Chng c a tr c ti p t i h th ng nh ng ng i pht tri n. H th ng nh ng ng i pht tri n ho c l ch p nh n chng ho c l a ra l do t i sao chng khng c yu c u. Nh ng thay i nh h ng nh ng module h th ng c a ra b i nh ng i ng ng i pht tri n khc nhau, tuy nhin, nn c nh gi b i m t chuyn gia qu n l thay i, ng i t quy n u tin v th c thi cho chng. Trong m t s phng php m m d o, nh l p trnh xa, cc khch hng c lin quan tr c ti p t i vi c quy t nh vi c thay i c nn c th c thi hay khng. Khi h xu t m t s thay i t i nh ng yu c u c a h th ng, h s lm vi c v i i ng nh ng ng i lm vi c nh gi tc ng c a s thay i v quy t nh s thay i c nn c gi nh ng thnh ph n c l p k ho ch cho s pht tri n ti p theo c a h th ng. Tuy nhin, nh ng thay i lin quan t i
GV: Tr n Th Thy Trinh T CNPM 157

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

ph n m m c nng c p c xem xt th n tr ng

nh ng l p trnh vin ang

lm vi c v i h th ng. a tr l i nh cung c p, ni ph n m m ti p t c c c i thi n, khng c xem nh l m t l n nng c p nhng l i c xem nh m t ph n c n thi t c a qu trnh pht tri n. V i nh ng thnh ph n c a ph n m m c thay i, m t b n ghi c a nh ng s thay i c t o ra t i m i thnh ph n nn c lu tr . N i khi c g i l qu trnh hnh thnh (derivation history) c a m t thnh ph n. M t con ng t t lu tr qu trnh hnh thnh l trong m t ch gi i c chu n ha t i i m b t u c a m ngu n thnh ph n (hnh 10.5 ). Ch gi i ny nn tham chi u t i yu c u thay i ci tc ng n s thay i c a ph n m m. Sau b n c th vi t m t vn b n bao qut ton b cc thnh ph n v ti n trnh a ra nh ng b n ghi v s thay i c a thnh ph n. M t cch ti p c n tng t c th c s d ng cho nh ng trang Web. V i nh ng ti li u c xu t b n, nh ng b n ghi v thay i c lin k t trong m i phin b n th ng c lu tr trong m t trang ring t i m t tr c c a cc ti li u. 16.2.6. Bo co tr ng thi c u hnh (Status Accounting) Cng vi c ny bao g m vi c ghi nh n v bo co tnh tr ng c a cc CI cng nh yu c u thay i, t p h p s li u th ng k v CI, c bi t l cc CI gp ph n t o nn s n ph m. N tr l i cho cc cu h i: C bao nhiu file b nh h ng khi s a ch a m t l i ph n m m no ? K t qu c a cng vi c ny c ghi nh n trong m t bo co mang tn Configuration Status Accounting Report (CSAR). Bo co ny th ng lm r nh ng i m sau: Li t k t t c cc baseline v CI thnh ph n ho c c lin quan. Lm n i b t cc CI ang c pht tri n ho c v a b thay i. Li t k cc thay i cn ang dang d hay ang hon thnh, cc baseline b nh h ng (b i s thay i ). Vi c bo co ny c lm th ng xuyn v nh k, xuyn su t d n. 16.2.7. Auditing (Audit l m t thu t ng r t th ng dng, cho nhi u ngnh ngh khc nhau, tuy nhin trong lnh v c sofware, chng ti khng tm th y t ti ng Vi t tng
GV: Tr n Th Thy Trinh T CNPM 158

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

ng ph n nh ngha, do v y xin gi nguyn thu t ng g c, n c ngha g n v i ki m tra v xem xt). C 3 lo i audit th ng c th c hi n. CSAR Audit: Th ng c lm sau m i l n m t CSAR c t o ra, vi c ki m tra bao g m: o B o m cc baseline m i nh t c li t k trong CSAR. o B o m t t c CI t o nn m t baseline c li t k o Ki m tra cc CI b thay i t l n baseline tr c , so snh chng v i cc yu c u thay i kh ng nh r ng s thay i trn CI l h p l. Physical configuration audit (PCA): nh m m c ch kh ng nh xem nh ng g khch hng yu c u c c hi n th c hay khng. G m 2 vi c: o Ki m tra v t ph n nh tnh 2 chi u (traceability) gi a yu c u khch hng v vi c hi n th c code trong d n. o Xc nh nh ng g s c phn ph i cho khch hng (executable files, source code, ti li u i km) c p ng yu c u khch hng hay khng. Functional configuration audit (FCA): nh m m c ch kh ng nh nh ng g khch hng yu c u c c ki m tra ch t ch trn s n ph m t o ra tr c khi giao cho khch hng hay khng. G m: o Ki m tra v t ph n nh tnh 2 chi u gi a yu c u khch hng v vi c ki m tra s n ph m. 16.2.8.Lu tr , sao chp v d phng Lu tr v chp d phng l m t ho t ng c a QLCH v l m t trong nh ng ho t ng quan tr ng ph i c c a s n xu t ph n m m. N gip kh c ph c cc tr ng h p r i ro b m t d li u do thao tc sai, virus, ho c s c ph n c ng/ ph n m m. kha c nh khc, n h tr cho ho t ng version control ( ni

trn) trong tr ng h p ta mu n s d ng nh ng version khc nhau.Lu tr v chp


GV: Tr n Th Thy Trinh T CNPM 159

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

d phng i h i ton b s n ph m v s n ph m trung gian c a d n ph i c nh k chp d phng trn nh ng thi t b ho c nh ng ni khc m t cch an ton.V khi d n k t thc, cc ho t ng sau c n ph i th c hi n: Lu tr ton b d li u c a d n, tun th quy trnh lu tr c thi t l p ( nh ngha b i d n ho c quy nh c p cng ty). d ng gi y.

Lu tr ho c h y b cc ti li u

D n s ch d li u ho c thng tin c a d n v a k t thc, sau khi chp lu tr .

16.3. Vai tr c a cc thnh vin trong d n


Trong m t d n i n hnh thng th ng c 4 nhm ch c nng sau tham gia vo cc ho t ng qu n l c u hnh: CM (Confiuration Manager): o Thi t l p v b o tr kho lu tr (repository) c a d n. o Pht tri n v tri n khai cc qui trnh th t c QLCH c a d n. o Thi t l p cc baseline, ghi nh n chi ti t cc thay i trn cc baseline. o B o m cc baseline khng b thay i khi cha c ph chu n. o T ch c v i u ph i cc cu c h p c a CCB. Tr ng d n (Project Manager): o Gim st cc ho t ng QLCH o B o m cc yu c u c n thi t cho ho t ng QLCH. V d : S gi thnh vin d n b ra cho vi c QLCH, cng c h tr cho QLCH. CCB ( Change Control Board), nhm ny c thnh l p trong t ng d n, CCB thng th ng bao g m: Ng i qu n l c u hnh (CM),
GV: Tr n Th Thy Trinh T CNPM 160

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Tr ng d n (PM), Tr ng nhm (Technical Lead), Tr ng nhm ki m sot ch t l ng (Test Lead), K s ch t l ng (Quality Engineer), v nh ng ai b nh h ng b i cc thay i. Nhi m v c a CCB l: o B o m cc thay i c cc b ph n lin quan nh n bi t v tham gia. o Xem xt, ph chu n ho c ph baseline. o Ki m tra v xc nh n cc thay i. o Ph chu n cc b n phn ph i (release) n khch hng. Cc thnh vin c a d n: Bao g m c CM, PM, v thnh vin CCB c trch nhi m: o Tun th cc qui trnh th t c c a b n k ho ch QLCH ( CMP: Configuration Plan). o Tham gia vo nhm CCB khi c yu c u. quy t cc thay i trn

16.4. Cc cng c qu n l c u hnh - SVN


16.4.1. SVN l g Subversion vi t t t l SVN l m t h th ng qu n l version (Version control system) c gi i thi u vo nm 2000 b i cng ty CollabNet. y l h th ng h tr lm vi c theo nhm r t hi u qu . Khi m t nhm lm vi c trn cng m t project, vi c nhi u ng i cng ch nh s a m t n i dung c a m t file l i u khng th trnh kh i. SVN cung c p cc ch c nng c th th c hi n vi c ny m t cch n gi n v an ton. V m t khi qut, SVN gi ng nh m t h th ng file server m cc client c th download v upload file m t cch bnh th ng. i m c bi t c a SVN l n lu l i t t c nh ng g thay i trn h th ng file: file no b thay i lc no, thay i nh th no, v ai thay i n. SVN cng cho php ph c h i l i nh ng
GV: Tr n Th Thy Trinh T CNPM 161

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

version c m t cch chnh xc. Cc ch c nng ny gip cho vi c lm vi c theo nhm tr nn trn tru v an ton hn r t nhi u. u i m: Kh nng di ng H tr lm vi c theo nhm hi u qu Lu tr nh ng thay i trn h th ng file, cho php ph c h i l i nh ng version c. H tr nhi u giao th c: http://, https://, svn://, file://... Nhi u ng i c th l y d li u t m t file v trong m t th i i m. Khuy t i m: S n m t lc no repository l r t l n. N u SVN server b h ng th d li u c th b m t. 16.4.2.Ch c nng Subversion d a trn m hnh qu n l t p trung ki u client/server. M hnh ny c 2 khi ni m c b n: Repository t phin b n c a cc t p tin. Working copies t copies th c nhi u, tng ng v i repository . server l ni t p trung qu n l cc client l cc phin b n lm vi c

c a cc t p tin trong repository. Repository th ch c m t, trong khi working

GV: Tr n Th Thy Trinh T CNPM

162

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Hnh : M hnh Client /server M t k ch b n th ng th y l cc t p tin c a project A c lu repository. Sau , m i thnh vin c a project A, v d nh P1, P2 s checkout l y m t phin b n copy cc file c a project A ny v my c c b c a mnh (g i l working copies). M i khi P1 mu n cc thay i trn cc t p tin c a project A my c c b c a mnh c p nh t ln repository th dng l nh commit. N u P2 mu n th y nh ng thay i c a P1 trn repository c p nh t xu ng phin b n ang dng c a mnh th dng l nh Update. Tr ng h p P1 v P2 cng c p nh t m t t p tin, y l v n ph c t p nh t, v thao tc ny c g i l merge. Subversion cung c p cc cng c nh n bi t s thay i c a cc t p tin working copies so v i repository, ng th i cng cung c p cng c gip vi c merge c d dng. qu n l cc phin b n khc nhau, SVN s d ng khi ni m revision. Ni m t cch n gi n h th ng c th qu n l c s thay i c a cc t p tin, m i t p tin s c d ng Name Revision. V d : foo.c-rev1 v foo.c-rev2 l hai revision c a t p tin foo.c C m i l n commit, ton b repository s c m t con s revision m i ( m i con s ny l duy nh t v s revision sau l n hn s revision tr c). M t i m c n lu l trong SVN d ch thay i m t t p tin sau l nh commit, nhng ton b cc t p tin c a repository s c cng m t con s revision. Do , khng nh t thi t l foo.rev_1 v foo.rev_2 s c n i dung khc nhau.

GV: Tr n Th Thy Trinh T CNPM

163

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Thng th ng c th nh n bi t c nh ng thay i qua nh ng l n commit, ng i ta th ng note l i nh ng thay i ny tr c khi commit. Nh ng note ny s c lu vo history sau ny khi view ln c th nh n bi t c hi n tr ng c a t ng revision, khi mu n quay tr l i tr ng thi tr c cng r t d dng. M t lu r t cn b n l n u mu n SVN qu n l cc phin b n/ thay i c a m t t p tin no , th m i thao tc lin quan n t p tin , v d nh xa, s a, t o m i u ph i thng qua SVN. Ni m t cch khc b n nn trnh xa m t t p tin trong working copies b ng ch c nng thng th ng c a File manager, v d nh dng phm Del trong Explorer, thay vo nn dng l nh Delete c a SVN client. Sau khi thi t l p m t SVN server th cc thao tc th ng dng trn Client: Checkout: l y d li u t server v client Commit: c p nh t thay i d li u c a client ln server Update: c p nh t nh ng thay i cho working copy t server Add file: Thm file m i vo repository. Lu file ch th c s c m t trn server khi sau khi th c hi n l nh commit.
GV: Tr n Th Thy Trinh T CNPM 164

Bi gi ng: Ki m th v m b o ch t l ng ph n m m

Delete file: Xa file trn repository. Lu file ch th c s b xa trn server khi sau khi th c hi n l nh commit. Ngoi ra SVN cn cung c p m t s ch c nng khc. C. PHNG PHP V HNH TH C GI NG D Y 1. N i dung: Trnh chi u powerpoint t v n , trao i 2. Sau khi h c xong l thuy t sinh vin v n d ng lm bi t p h th ng ha l i ki n th c chng D. TI LI U THAM KH O 1. Roger S. Pressman: Software Engineering: A Practitioner's Approach, 6th Ed., McGraw-Hill, 2004 Chapter 9 Chapter 29

2. Lan Sommerville: Software_Engineering__8th_Ed E. CU H I V BI T P

3. Qu n l c u hnh ph n m m l gi? N i dung c a ho t ng qu n l c u hnh g m nh ng cng vi c g? 4. C u hnh ph n m m c hi u l ci g? n i dung cc kho n m c chnh c a c u hnh ph n g m nh ng g? 5. Qu n l c u hnh nh m m c tiu g? Nm nhi m v c a qu n l c u hnh l g? 6. Phng php g c p d ng cho vi c qu n l c u hnh? M c gi i l ci g? S d ng m c gi i ki m sot s thay i nh th no? 7. Trnh by ti n trnh ki m sot s thay i? 8. Phin b n l ci g? Lm th no ki m sot cc phin b n 9. Ki m ton c u hnh ph n m m ngha l g? Ho t ng ki m ton c n tr l i nh ng cu h i g? 10. Bo co hi n tr ng ngha l g? N c n tr l i c nh ng cu h i g? u ra c a bo co hi n trang dnh cho ai? m c tiu c a n l g?

GV: Tr n Th Thy Trinh T CNPM

165

You might also like