Professional Documents
Culture Documents
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
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
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
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.
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
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.
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:
14
Bi gi ng: Ki m th v m b o ch t l ng ph n m m
Nhm t li u
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
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
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.
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)
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
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.
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
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.
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.
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.
27
Bi gi ng: Ki m th v m b o ch t l ng ph n m m
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
28
Bi gi ng: Ki m th v m b o ch t l ng ph n m m
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
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
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.
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
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
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?
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.
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.
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
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:
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.
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
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.
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).
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
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.
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:
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.
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
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
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
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
Alternate
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.
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
RC2
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
49
Bi gi ng: Ki m th v m b o ch t l ng ph n m m
Testcase ID RC1
Student ID
Password
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
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
Yes
M101 full
Yes
RC7
Jheumann
abc123
No E201
for
Yes
Yes
RC8
Jheumann
abc123
Yes
Yes
4.5.
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 .
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
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
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
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
54
Bi gi ng: Ki m th v m b o ch t l ng ph n m m
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.
value[i]
gi
tr
h p
khi
i<
100
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.
55
loop <20
4.6.
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
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 {
public static BufferedReader keyboardInput = new BufferedReader(new InputStreamReader(System.in)); private static final int MINIMUM = 1; private static final int MAXIMUM = 10;
/* Main method */
public static void main(String[] args) throws IOException { System.out.println("Input an integer value:"); int input = new Integer(keyboardInput.readLine()).intValue();
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++; }
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.
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.
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
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
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
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
Bi gi ng: Ki m th v m b o ch t l ng ph n m m
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
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.
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
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.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
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
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
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.
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,
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
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
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.
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.
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
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 .
82
Bi gi ng: Ki m th v m b o ch t l ng ph n m m
DRIVER
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.
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
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
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)
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.
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...)...
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.
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.
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
94
Bi gi ng: Ki m th v m b o ch t l ng ph n m m
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/
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
96
Bi gi ng: Ki m th v m b o ch t l ng 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 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
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
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.
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.
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.
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
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.
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.
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.
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
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.
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
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.
114
Bi gi ng: Ki m th v m b o ch t l ng ph n m m
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.
Bi gi ng: Ki m th v m b o ch t l ng ph n m m
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
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.
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
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
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
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
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
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
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
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:
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.
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
133
Bi gi ng: Ki m th v m b o ch t l ng ph n m m
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
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).
136
Bi gi ng: Ki m th v m b o ch t l ng ph n m m
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
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.
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
139
Bi gi ng: Ki m th v m b o ch t l ng ph n m m
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
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
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.
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?
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
2. V K NNG
B. N I DUNG
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
146
Bi gi ng: Ki m th v m b o ch t l ng ph n m m
Ai t o thay i?
Thay i g c t o ra?
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
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.
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.
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
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
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
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
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
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
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.
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
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?
165