tap bai giang kiem thu phan mem
TRANSCRIPT
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
1/165
MC LC
MC LC ...................................................................................................................................... 1PHN I NN TNG CA KIM THPHN MM ............................................................. 6
BI 1: C BN V KIM THPHN MM .................................................................. 6A. MC TIU ..................................................................................................................... 6B. NI DUNG..................................................................................................................... 6
1.1. Cc li phn mm nghim trng trong lch s.......................................................... 61.1.1. Li v php chia du phy ng........................................................................ 61.1.2. S c Y2K ......................................................................................................... 7
1.2. Li l g? ................................................................................................................... 81.3. Ti sao li xut hin? ................................................................................................ 91.4. Chiph cho vic sa li .......................................................................................... 111.5. Ngi kim th phn mm (software tester) lm nhng g? .................................. 111.6. Nhng t cht no to nn mt tester tt? .............................................................. 12
C. HNH THC V PHNG PHP GING DY..................................................... 13D.
TI LIU THAM KHO ............................................................................................ 13
E. CU HI V BI TP............................................................................................... 13
BI 2: QUY TRNH PHT TRIN PHN MM........................................................... 14A. MC TIU ................................................................................................................... 14B. NI DUNG................................................................................................................... 14
2.1. Quy trnhpht trin phn mm ............................................................................... 142.1.1. Cc thnh phn ca phn mm........................................................................ 142.1.2. Cc nhn lc ca d n phn mm.................................................................. 162.1.3. Cc m hnh vng ipht trin phn mm.................................................... 16
2.2. Thc trng ca qu trnh kim th phn mm........................................................ 232.2.1. Phng chm ca vic kim th phn mm.................................................... 232.2.2.
nh ngha v thut ng ca qu trnh kim th phn mm ........................... 24
2.2.3. M hnh ch V................................................................................................. 28
2.3. Qu trnh nghin cu c t phn mm .................................................................. 302.3.1. Khi u .......................................................................................................... 302.3.2. Thc thi qu trnh xem xtbn c t mc cao............................................ 302.3.3. K thut kim thc t mc thp............................................................... 33
C. PHNG PHP V HNH THC GING DY..................................................... 33D. TI LIU THAM KHO ............................................................................................ 33E. CU HI V BI TP............................................................................................... 34
PHN II. NGUYN L KIM THPHN MM.................................................................... 35BI 3: CC PHNG PHP KIM THPHN MM ................................................ 35
A.
MC TIU ................................................................................................................... 35
B. NI DUNG................................................................................................................... 353.1. Phngphp kim th hp trng............................................................................ 353.2. Phngphp kim th hp en .............................................................................. 363.3. Phngphp kim th hp xm ............................................................................. 373.4. Phngphp kim th tnh..................................................................................... 37
3.4.1. Kim tra cho (Peer review):........................................................................... 383.4.2. Tng duyt (Walk Through):........................................................................... 383.4.3. Thanh tra m ngun (Code Inspection): .......................................................... 39
3.5. Phngphp kim thng................................................................................... 39
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
2/165
C. PHNG PHP V HNH THC GING DY..................................................... 40D. TI LIU THAM KHO ............................................................................................ 40E. CU HI V BI TP............................................................................................... 40
BI 4: CC K THUT KIM THPHN MM........................................................ 41A. MC TIU ................................................................................................................... 41B. NI DUNG................................................................................................................... 41
4.1. K thut phn vng tng ng ........................................................................... 414.2. K thut phn tch gi tr bin................................................................................. 424.3. K thut on li..................................................................................................... 434.4. K thut da trn use case ...................................................................................... 43
4.4.1. Nhng kchbn usecase .................................................................................. 464.4.2. Pht sinh testcase............................................................................................. 46
4.5. K thut ng din tin ca chng trnh (Basic Path Testing)........................... 504.6. Kim tra lung iu khin....................................................................................... 56
4.6.1. Kim tra c php (biu thc iu kin) ........................................................... 564.6.2. Kim tra vng lp (Loop Testing)................................................................... 58
4.7. Kim tra lung d liu (Data Flow Testing)........................................................... 60C. PHNG PHP V HNH THC GING DY..................................................... 62D. TI LIU THAM KHO ............................................................................................ 62E. CU HI V BI TP............................................................................................... 62
BI 5: CC VN CN KIM TH......................................................................... 64A. MC TIU ................................................................................................................... 64B. NI DUNG................................................................................................................... 64
5.1. Kim th cu hnh................................................................................................... 645.1.1. Kim th cu hnh l g ................................................................................... 645.1.2. Cc bc thc hin kim th cu hnh............................................................ 65
5.2. Kim th kh nng tng thch .............................................................................. 665.2.1. Kim th kh nng tng thch l g ............................................................... 665.2.2. Cc bc thc hin.......................................................................................... 675.3. Kim th Foreign language ................................................................................. 685.3.1. Kim th Foreign language.......................................................................... 685.3.2. Ti sao cnphi kim tra foreign language..................................................... 685.3.3. Khi no kim th Foreign language ............................................................. 685.3.4. Cc bc tin hnh .......................................................................................... 69
5.4. Kim th kh nng tin dng.................................................................................. 705.4.1. Kim th kh nng tin dng l g .................................................................. 705.4.2. Kim tra ci t................................................................................................ 705.4.3. Kim tra chc nng kh dng.......................................................................... 715.4.4. Kim tra giao din ngi s dng ................................................................... 71
5.5. Kim th ti liu ..................................................................................................... 725.6. Kim th bo mt.................................................................................................... 72C. PHNG PHP V HNH THC GING DY..................................................... 73D. TI LIU THAM KHO ............................................................................................ 73E. CU HI V BI TP............................................................................................... 73
BI 6: CC GIAI ON KIM TH............................................................................. 74A. MC TIU ................................................................................................................... 74B. NI DUNG................................................................................................................... 74
6.1. Kim chng v xc nhn (V&V) ............................................................................ 74
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
3/165
6.1.1. T chc vic kim th phn mm ................................................................... 756.1.2. Tiu chun hon thnh kim th ..................................................................... 776.1.3. Chin lc kim th phn mm ...................................................................... 78
6.2. Kim thn v ...................................................................................................... 816.2.1. Cc xem xt ca kim thn v .................................................................... 816.2.2. Th tc kim thn v .................................................................................. 82
6.3. Kim th tch hp ................................................................................................... 836.3.1. Tch hp t trn xung .................................................................................... 846.3.2. Tch hp t di ln ........................................................................................ 866.3.3. Lp ti liu cho kim th tch hp................................................................... 87
6.4. Kim th h thng .................................................................................................. 906.5. Kim th chp nhn ................................................................................................ 936.6. Kim th hi qui ..................................................................................................... 93
C. PHNG PHP V HNH THC GING DY..................................................... 94D. TI LIU THAM KHO ............................................................................................ 94E. CU HI V BI TP............................................................................................... 95
PHN III QUY TRNH KIM THPHN MM................................................................ 97BI 7: LP K HOCH KIM TH............................................................................... 97A. MC TIU ................................................................................................................... 97
B. NI DUNG................................................................................................................... 977.1. Mt s khi nim .................................................................................................... 977.2. Gii thiu v lp k hoch ...................................................................................... 977.3. Xc nh cc yu cu kim tra ................................................................................ 987.4. Xc nh chin lc kim th................................................................................. 997.5. Xc nh ti nguyn (nhn lc, vt lc)................................................................ 1007.6. Kho st ri ro....................................................................................................... 1017.7. Xc nh cc mc kim sot ca giai on test. ................................................... 1017.8. Cc sn phm ........................................................................................................ 102
C. PHNG PHP V HNH THC GING DY................................................... 102D. TI LIU THAM KHO .......................................................................................... 102E. CU HI V BI TP............................................................................................. 102
BI 8: THC HNH LP K HOCH KIM TH.................................................... 102BI 9: VIT V THEO DI CC TESTCASES........................................................... 103
A. MC TIU ................................................................................................................. 103B. NI DUNG................................................................................................................. 103
9.1. Mc ch ca testcase ........................................................................................... 1039.2. Xy dng cc testcase........................................................................................... 1049.3. Theo di v qun l cc testcase........................................................................... 106
C. PHNG PHP V HNH THC GING DY................................................... 107D. TI LIU THAM KHO .......................................................................................... 108E. CU HI V BI TP............................................................................................. 108
BI 10 THC HNH XY DNG CC TESTCASE .................................................. 108BI 11: THC HIN TEST, VIT BO CO V NH GI KT QU .................. 109
A. MC TIU ................................................................................................................. 109B. NI DUNG................................................................................................................. 109
11.1. Thc hin test .................................................................................................... 10911.1.1. Chunb mi trng test.............................................................................. 10911.1.2. Thc thi test.................................................................................................. 109
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
4/165
11.1.3. Thm tra v nh gi kt qu ....................................................................... 110C. PHNG PHP V HNH THC GING DY................................................... 111D. TI LIU THAM KHO .......................................................................................... 111E. CU HI V BI TP............................................................................................. 111
BI 12: THC HNH THC HIN TEST, VIT BO ................................................. 111PHN IV MT S K NNG TRONG LNH VC KIM TH..................................... 112
BI 13: KIM THT NG........................................................................................ 112A. MC TIU ................................................................................................................. 112B. NI DUNG................................................................................................................. 112
13.1. Tng quan v kim th tng ........................................................................ 11313.1.1. Khi nim v kim th tng.................................................................... 11313.1.2. Ti saophi kim th tng...................................................................... 11313.1.3. Khi no s dng Test tools........................................................................... 113
13.2. Quy trnh kim th tng............................................................................... 11513.3. Gii thiu mt s cng c kim th tng..................................................... 116
13.3.1. WinRunner................................................................................................... 11613.3.2. Load Runner................................................................................................. 11713.3.3. Quick Test Professional ............................................................................... 11813.3.4. Quality Center .............................................................................................. 120
13.4. Kim thn v vi Junit ................................................................................. 122C. PHNG PHP V HNH THC GING DY................................................... 125D. TI LIU THAM KHO .......................................................................................... 125E. CU HI V BI TP............................................................................................. 126
BI 14: THC HNH KIM THT NG.............................................................. 126PHN V: M BO CHT LNG PHN MM ......................................................... 127
BI 15: KHI NIM M BO CHT LNG ......................................................... 127A. MC TIU ................................................................................................................. 127B. NI DUNG................................................................................................................. 127
15.1. Cht lng qu trnh v cht lng sn phm .................................................. 13015.2. mbo cht lng v cc chun cht lng................................................... 13215.2.1. ISO 9000 ...................................................................................................... 13515.2.2. Cc chun ti liu ......................................................................................... 138
15.3. Lp k hoch cht lng ................................................................................... 14015.4. Kim sot cht lng ........................................................................................ 14215.5. R sot cht lng............................................................................................. 142
C. PHNG PHP V HNH THC GING DY................................................... 144D. TI LIU THAM KHO .......................................................................................... 144E. CU HI V BI TP............................................................................................. 144
BI 16: QUN L CU HNH ........................................................................................ 146A. MC TIU ................................................................................................................. 146B. NI DUNG................................................................................................................. 146
16.1. Gii thiu v qun l cu hnh .......................................................................... 14616.2. Cc hot ng ca qun l cu hnh.................................................................. 147
16.2.1. Lp k hoch qun l cu hnh..................................................................... 14716.2.2. nh danh cc CI (Identifying Configuration Items)................................... 14816.2.3. Kim sot cc phinbn (Version Control)................................................. 14916.2.4. Qun l baseline........................................................................................... 15416.2.5. Kim sot thay i (Change Control) .......................................................... 154
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
5/165
16.2.6. Bo co trng thi cu hnh (Status Accounting)......................................... 15816.2.7. Auditing........................................................................................................ 15816.2.8. Lu tr, sao chp v d phng..................................................................... 159
16.3. Vai tr ca cc thnh vin trong d n.............................................................. 16016.4. Cc cng c qun l cu hnh - SVN ................................................................ 161
16.4.1. SVN l g ...................................................................................................... 16116.4.2. Chc nng .................................................................................................... 162
C. PHNG PHP V HNH THC GING DY................................................... 165D. TI LIU THAM KHO .......................................................................................... 165E. CU HI V BI TP............................................................................................. 165
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
6/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 6
PHN I NN TNG CA KIM THPHN MM
BI 1: CBN V KIM THPHN MM
A.MC TIU
1. V kin thc: Cung cp cho sinh vin nhng kin thc- Hiu c li phn mm l g?
- Hiu c tm quan trng ca kim th phn mm v l dophi kim th
phn mm
- Bit c cng vic ca ngi tester, vai tr trch nhim ca tester trong
tng giai on kim th.
2. V k nng:
- Xc nh c cc loi li phn mm: Error, Fault, Failure v mi quan h
gia chng.
B. NI DUNG
1.1. Cc li phn mm nghim trng trong lch s
1.1.1. Li v php chia du phy ng
Hnh 1.1: Li my Pentium 1994
Mt li silicon khin chip Pentium ni ting ca hng sn xut thit b x l
M gp sai st khi chia s floating-point trong mt chui c th. V d, chia
4195835.0/3145727.0 s ra 1.33374 thay v 1.33382, sai s 0,0006%. D li nh
hng n rt t ngi s dng, n tr thnh mt cn c mng v PR (quan h
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
7/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 7
cng ng) cho Intel. c khong 3 - 5 triu chip gp khim khuyt lu thng
trn th trng. Intel ban u ch cung cp thit b x l mi cho nhng khch
hng chng minh c rng cng vic ca hi hi chnh xc cao. Tuy nhin,
cng ty sau nhn nhng v chp nhn thay th chip cho bt c ai gi phn
nn. Tng thit hi ca Intel cho li ny l 475 triu USD.
iu g lm cho chuyn ny ng ch hn l li, l cch x l tnh hung
ca Intel:
- Nhng ngi kim th phn mm pht hin ra vn trong khi thc
hin cc trng hp th nghim trc khi a con chip ny ra th trng.
Nh qun l Intel quyt nh rng nhng li ny khng qu kht khe v c
kh nng sa n.
- Mt khi li c tm thy, Intel c gng gim thiu mc nghim trng
ca n thng qua cc thng co bo ch v cc pht biu cng khai.
- Khi p lc, Intel cung cp thay th cc chip b li, nhng ch khi mt
ngi dng c th chng minh rng ng bnh hng bi li ny
1.1.2. Sc Y2K
Hnh 1.2: ScY2K
Y2K l g? l s c my tnh s xy ra vo nm 2000 i vi mt s
my chy trn hiu hnh c. Y2K khng chnh hng ln i vi my tnh
ni mng m cn c th gy tc hi i vi c my tnh c nhn ca bn na bi
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
8/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 8
n s lm bn nhm ln khng th phn bit c nm no l nm 1900 v nm
no l nm 2000.
C l chng kh khn g tng tng s c ny s gy ra nhng kh
khn nh th no! V d nh mt bn thanh ton, mt h thng tng cc lnh
c t trn csngy, thng, nm thc hin mt s nhim v no . Hay
nh qu trnh lu tr vn bn, chuyn tin cc ngn hng, nu nh vn ny
xy ra, tt c s nh mt "mbng bong" khng th xc nh c.
Nguyn nhn: do vn khng th nhn bit c s khc bit gia cc
nm 2000 v 1900 bi v chng c lp trnh vi 2 ch s cui cng nhm tit
kim chi ph khi m gi c "chip" cn kh t . Khi nhng my ny thm mt
con s vo sau 99, BIOS st li sm thnh 00. Vn ny l do my tnh
nhn dng ngy 01/01/00 (ngy 1 thng 1 nm 2000) nh l ngy 1 thng 1 nm
1900.
1.2. Li l g?
Nh cc v dtrn, chuyn g s xy ra nu li phn mm xy ra? iu
tht bt tin, khi chng trnh game khng hot ng ng, hoc c th l xy
ra nhng tai nn s mang li nhng tn tht trong cuc sng. C th ch mt vi
ng sa nhng li , nhng s mt hng triu xc nh hng giiquyt. Trong nhng v d trn r rng l phn mm khng hot ng ng nh
mong i. L mt ngi kim th phn mm bn phi lm sao pht hin ra li
ngay c nhng li khng r rng.
C rt nhiu thut ng din t li. Ti sao li c nhiu nh th? Thc ra
n ph thuc vo tiu chun ca tng cng ty, ty thuc vo qui trnh m cng ty
p dng pht trin phn mm .Trc ht, cc bn nn hiu r cc thut
ng lin quan v li: Li (error):
L li do con ngi gy ra. Mt tng ngha l mistake, l mt
s nhm ln hay mt s hiu sai trong qu trnh pht trin phn mm
ca con ngi. Khi lp trnh vin gy ra li trong qu trnh vit m th
chng ta gi li ny l bugs.
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
9/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 9
Sai st (Fault):
Xut hin trong phn mm nh l kt qu ca error. C th phn
loi nh sau:
- Sai st do a ra d tha chng ta a mt vi th khng chnh
xc vo m t yu cu phn mm.
- Sai st do b st: Ngi thit k c th gy ra sai st do b st,
kt qu l thiu mt s phn ng ra phi c trong m t yu cu
phn mm.
Hng hc (Failure):
L kt qu ca mt li xut hin lm chng trnh khng hot
ng c hoc hot ng nhng khng cho kt qu nhng mong i.Xy ra khi sai st c thc thi. (Khi thc thi chng trnh ti cc ni b
sai th s xy ra trng thi hng hc).
Kt qu khng mong i, hu qu (Incident):
L nhng kt qu do sai st em n. Hu qu l cc triu chng
lin kt vi mt hng hc v bo hiu cho ngi dng bit s xut hin
ca hng hc.
1.3. Ti sao li xut hin?Nhiu trng hp kim thc thc thi trong cc d n t rt nhn
cc ln, v cho cc kt qu ging nhau. Mt trong s cc nguyn nhn gy ra li l
khu c t.
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
10/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 10
Hnh 1.3: Li c gy ra bi nhiu nguyn nhn, nhng phn tch trong mt vi d
n th nguyn nhn chnh gy ra li tp trung khu c t.
C mt vi nguyn nhn t khu c t l li ln trong qu trnh sn xut
phn mm. Trong mt s trng hp n gin khng c ti liu vc t. Nhng
nguyn nhn khc c th l c t cha hon ton y , lin tc thay i hoc
lin lc ni kt trong ton i pht trin l khng tt. Vic lp k hoch cho vic
pht trin phn mm l cc k quan trng, nu khu ny khng c lm tt th
chc chn c nhiu li xy ra.
Mt nguyn nhn ln th 2 c th gy ra li l khu thit k. l khu m
cc lp trnh vin b tr k hoch phn mm ca h. C th so snh khu ny
ging nh trong thit k mt ta nh vy. Li xy ra trong giai on ny ging
nh trong khu c t. N c thit k vi vng, thay i cng ngh hay do
tng tc bi nhiu h thng.
Li coding th quen thuc vi nhng ngi lp trnh. Nguyn nhn ca
nhng li ny thng cng xut pht t phc tp ca chng trnh, hay nhng
ti liu ngho nn (c bit l trong nhng on code c nng cp hoc sa
li), do p lc v thi gian. iu quan trng ch rng nhng li trong lp trnh
c th do li c t v thit k gy nn.
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
11/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 11
1.4. Chi phcho vic sa li
Hnh 1.4: Biu chiphsa liPhn mm c thit lp theo qui trnh pht trin phn mm. T lc bt u
d n qua cc khu lp k hoch, lp trnh, kim th v s dng trong cng ng,
th s pht hin c mt vi li tim nng. Hnh trn cho thy chi ph sa cc li
ny tng theo thi gian.
Chi ph sa li tng gp 10 ln theo thi gian. Mt li no c tm thy
v sa trong giai on u khi m ti liu c tang c vit th chi ph khng
l bao nhiu ch c th l 1USD cho li ny. Cng li th ny nhng khng c
pht hin cho n giai on code v kim th th chi ph sa li ny c th
ln t 10USD n 100USD. V nu li ny khng c pht hin n khi khch
hng hoc ngi s dng pht hin ra th chi ph c th ln n hng ngn c
khi l hng t.
1.5. Ngi kim thphn mm (software tester) lm nhng g?Kim tra cht lng phn mm p ng cc yu cu t ra ca khch hng
l khu rt quan trng trong bt k qui trnh sn xut no. Sn phm hon thin,
cht lng cao s to thm nim tin v uy tn ca cng ty i tc. Chnh v vy,
tester l v tr khng th thiu v cng vic ny quyt inh kh nhiu vo thnh
cng chung ca d n.
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
12/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 12
Nhim v chnh ca tester l phi kim tra hot ng ca chng trnh phn
mm theo yu cu ca khch hng t ra, tm li, chuyn sang nhm lp trnh sa
cha, ng thi phi don c li ny bt ngun tu, v m bo rng li
c th sa cha c.
lm c vic ny, tester phi tm hiu yu cu ca khch hng tht k
thng qua cc ti liu c t, thit k, t ln k hoch kim th, thit k cc
trng hp kim th tc l vit cc testcase, chun b mi trng kim th tt.
Ngoi ra, tester cn phi vit cc ti liu bo co v li, hng dn s dng
(user guide) v cc ch v sn phm khi pht hnh phn mm (release note).
1.6. Nhng t cht no to nn mt tester tt?
Ngy nay hu ht cc cng ty ln u xem kim th phn mm nh l k
thut chuyn nghip. H nhn ra rng cn phi o to cc k s kim th phn
mm trong cc d n v cho php p dng vo trong qui trnh pht trin to ra
mt phn mm c cht lng cao. Tuy nhin, vn cn mt vi cng ty nh
khng nh gi cao nhim v kh khn ca kim th v gi tr nng lc ca kim
th.
Di y l nhng c im m mt tester cn phi c:
Tnh t m: Ngi kim th phn mm khng ngi tm ti nhng tnhhung cha xc nh r rng, ly mt gi phn mm v ci t ln PCs
quan st xem nhng g din ra trn .
Tnh nhy bn: C kh nng tm ra c nguyn nhn ti sao chng
trnh khng thc hin c, tm ra gii p cho nhng vn kh hiu
xy ra.
Tnh nghim khc: Khng ngng tm li, phi xem xt li mt
cha v c kh ti to li khng hn l b qua li, trng chvo may
mn. Phi tm v th mi cch tm c nhiu li cng tt.
Tnh nng ng:
Tnh mm do, cu ton: C gng thc hin tm li lm cho phn
mm hon ton sch li, nhng n mt lc no khng tht c
nh th th ngi kim th nn chp nhn dng khi c th.
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
13/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 13
Phn on tt: Ngi kim th cn c nhng quyt nh ng n v
nhng g mnh s kim tra, lm vic trong bao lu, v xem xt vn
c thc s l li hay khng, on trc cc li c kh nng xy ra.
C x khn kho: Ngi kim th lun mang li nhng tin xu khng
vui cho ngi lp trnh. Khi h pht hin li v chuyn sang cho lp
trnh vin th thng nhn thy s kh chu ca ngi lp trnh. V vy,
tester cn phi bit cch c x v ngoi giao tt lm vic d dng
hn.
Ngoi ra ngi kim th cn phi c tnh kin tr v cng vic kim th
thng l nhng vic lp li nhiu ln thng gy cm gic chn nn, do vy
ngi kim th phi kin tr v nn tm ra nhng phng php mi ham thchvi cng vic hn.
C.HNH THC V PHNG PHP GING DY
1. Ni dung
Trnh chiu powerpoint
t vn , trao i
2. Sau khi hc xong l thuyt sinh vin vn dng lmbi tp h thng ha likin thc chng.
D.TI LIU THAM KHO
1. By Ron Patton: Software Testing, Sams Publishing, 2005 Chapter 1
2. John.Wiley.and.Sons.The.Art.of.Software.Testing.Second.Edition.Jun.2004.eB
ook-DDU Chapter 1, 2.
E. CU HI V BI TP
1. Mc ch ca ngi kim th phn mm l g?2. Hy cho bit mt vi l do ti sao li xut hin trong qu trnh c t phn
mm ln hn nhiu so vi li trong m ngun?
3. Phn bit cc thut ng li, sai st, hng hc v kt qu khng mong i.
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
14/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 14
BI 2: QUY TRNH PHT TRIN PHN MM
A.MC TIU
1. V kin thc
Cung cp cho sinh vin cc kin thc v:
- Cc giai on pht trin phn mm, vng i pht trin phn mm SDLC
v cc giai on kim th phn mm tng ng.
2. V k nng
Sau khi hc xongbi ny sinh vin c th:
- Xc nh v trnh by chi tit khi nim V & V t xc nh c u l
Validation v u l Verification trong kim th phn mm.
- Phn tch c mi tng quan gi giai on pht trin v kim th, pht
trin hng kim th.
B. NI DUNG
2.1. Quy trnh pht trin phn mm
2.1.1. Cc thnh phn ca phn mm
nh ngha 1:
Phn mm l tp hp:
(1) Cc lnh (chng trnh my tnh) khi c thc hin th cung cpnhng chc nng v kt qu mong mun
(2) Cu trc d liu lm cho chng trnh thao tc thng tin thch hp
(3) Cc t liu m t thao tc v cch s dng chng trnh
nh ngha 2:
Trong mt h thng my tnh, nu tr bi cc thit b v cc loi ph
kin th phn cn li chnh l cc phn mm.
Ngha hp: phn mm l dch v chng trnh tng kh nng x l caphn cng my tnh.
Ngha rng: phn mm l tp tt c cc k thut ng dng thc hin
nhng dch v chc nng cho cc mc ch no bng phn cng.
Tm li phn mm l:
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
15/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 15
Trong :
Nhm cc k thut, phng php lun bao gm:
Cc khi nim v trnh t c th ho ca mt h thng
Cc phng php tip cn v gii quyt vn
Cc trnh t thit k v pht trin c chun ho (quy trnh) Cc phng php c t, yu cu, thit k h thng, thit k chng
trnh, kim th, ton b quy trnh qun l pht trin phn mm
Nhm cc chng trnh l phn giao din vi phn cng, con ngi t
cc nhm lnh ch th cho my tnh bit trnh t thao tc x l d liu.
Nhm cc t liu:
Nhng ti liu hu ch, c gi tr cao v rt cn thit pht trin, vn
hnh v bo tr phn mm
ch ra phn mm vi tin cy cao cn phi to ra cc t liu cht
lng cao: c t yu cu, m t thit k tng loi, iu kin kim th,
th tc vn hnh, hng dn thao tc
Nhng yu t khc
Tm cc kthut,phngphplun
Nhm ccchng trnh
Nhm t liu
Kinh nghim k sKnow - how
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
16/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 16
Sn xut phn mm ph thuc rt nhiu vo con ngi (k s phn
mm). Kh nng h thng ho tru tng, kh nng lp trnh, k nng
cng ngh, kinh nghim lm vic, tm bao qut khc nhau mi
ngi.
Phn mm ph thuc nhiu vo tng v k nng ca ngi/ nhm
tc gi
2.1.2. Cc nhn lc ca d n phn mm
Nhn lc ca d n phn mm gm c:
PM (Project Manager): iu khin, gim st ton b d n t khi bt u
n kt thc. Trch nhim ca h l vit cc c t ca sn phm, qun
l lch trnh, v a ra nhng quyt nh quan trng. K s kin trc h thng: l nhng chuyn gia v k thut trong i d
n. H thng l nhng ngi c kinh nghim v c nng lc trong vic
thit k kin trc ca ton b h thng v thit k phn mm. H thng
lm vic mt thit vi nhng lp trnh vin.
Nhng lp trnh vin, nh pht trin phn mm hay coders l nhng
ngi c nhim v thit k, vit code v sa li (nu c). H thng
lm vic vi PM, v nhng k s kin trc to ra sn phm, ngthi h lin h vi tester tm ra bugs.
Testers v QA l nhng ngi c nhim v tm v bo co li nhng
vn tn ti trong phn mm. H lm vic gn gi vi tt c cc thnh
vin trong i d n khipht trin test case cng nh trong khi thc thi
test, v bo co li khi h tm thy.
Nhng k thut vin, ngi h trs dng, ngi hng dn s dng
vit ra cc ti liu giy v trc tuyn i km vi sn phm phn mm.
Ngi qun l cu hnh c nhim v qun l qu trnh to ra sn phm,
qun l cc ti liu do cc nh pht trin to ra v tp hp chng li vi
nhau thnh mt khi thng nht.
2.1.3. Cc m hnh vng i pht trin phn mm
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
17/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 17
Vng i phn mm l thi k tnh t tnh t khi phn mm c sinh ra
cho n khi cht i ( t lc hnh thnh p ng yu cu, vn hnhbo dng cho
n khi loib khng dng). Qui trnhpht trin phn mm bao gm 3 giai on
chnh: xc nh, pht trin v bo tr c gp trong mi vic pht trin phn
mm, bt k ti min ng dng, cd n, phc tp.
Trong giai on xc nh ngipht trin phn mm c gng tp trung vo
xc nh thng tin no cn c x l, chc nng v hiu nng no cn c, giao
din no cn c thit lp, rng buc thit k no hin c v tiu chun hp l
no cn c xc nh ra mt h thng thnh cng. Giai on ny gm 3 bc:
Phn tch h thng: Xc nh vai tr ca tng phn t trong h thng
da trn my tnh, ch ra vai tr m phn mm s gi.
Lp k hoch d n phn mm: Mt khi phm vi ca phn mm c
thit lp, ri ro c phn tch, ti nguyn c cppht, chiph c
c lng th phi xc nh nhim v cng vic v lp lch.
Phn tch yu cu: Phm vi c xc nh cho phn mm s a ra
chiu hng nhng cn phi c thm vic xc nh chi tit lnh vc
thng tin v chc nng trc khi cng vic c th bt u.
Trong giai on pht trin tp trung vo xc nh cch cu trc d liu vkin trc phn mm cn c thit k, cch cc chi tit th tc c ci t, cch
dch thit k vo ngn ng lp trnh hay ngn ng phi th tc v cch thc hin
kim th. Gm c 3 bc:
Thit k phn mm: Thit k dch cc yu cu v phn mm thnh mt
tp hp cc biu din (da trn ha,bng hay ngn ng) m t cho
cu trc d liu, kin trc, th tc thut ton v c trng giao din.
M ha: Cc biu din thit k c dch thnh ngn ng nhn to
(ngn ng c th l ngn ng lp trnh qui c hay ngn ng phi th tc
dng trong hon cnh ca khun cnh 4GT) m s to ra kt qu l cc
lnh thc hin c trn my tnh.
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
18/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 18
Kim th phn mm: Mi khi phn mm c ci t di dng m
my thc hin c cn phi kim th n pht hin cc khim
khuyt khi vn hnh trong logic v trong ci t.
Giai on bo tr tp trung vo nhng thay i gn lin vi vic sa li,
thch ng khi mi trng phn mm tin ha, v s nng cao gy ra bi thay i
yu cu ngi dng. Giai onbo tr p dng li cc bc ca giai on xc nh
v pht trin nhng lm vic trong hon cnh phn mm hin c. C 3 kiu
thay i thng gp trong giai onbo tr:
Sa i: Phn mm lun c li tim tng. Do vy cho d cc hot ng
bo m cht lng phn mm tt nht, vn c th l khch hng s
pht hin ra khim khuyt trong phn mm. Bo tr sa i thay iphn mm sa cc khim khuyt.
Thch nghi: Qua thi gian, mi trng ban u pht trin phn mm
c th thay i. Bo tr thch nghi thc hin vic sa i phn mm
n thch hp vi nhng thay i mi trng bn ngoi.
Nng cao: Khi phn mm c dng, khch hng/ ngi dng s nhn
ra nhng chc nng ph c li. Bo tr hon thin mrng phn mm ra
ngoi cc yu cu chc nng gc ca n.a. M hnh thc nc (Waterfall Model)
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
19/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 19
y l m hnh pht trin phn mm cin nht. M hnh ny ngh
cc hot ng c tin hnh nh cc giai on tch bit, giai on sau
s khng bt u chng no giai on trc cha hon thnh. Sn phm
u ra ca giai on trc trthnh u vo ca giai on sau.
Nhng mi tn ngc t di ln trn cho thy nhng sai lm giai
on trc c thc pht hin giai on sau v i hi vic quayngc ln lm li giai on trc. Tuy nhin ,hot ng quay lui ny
ch nn c coi l cc ngoi l m thi.
M hnh thc nc c u im l d qun l. y chnh l m hnh a
thch ca cc nh qun l d n. Thi gian hon thnh d n thng
c d bo vi chnh xc hn so vi cc m hnh khc. Cc ti liu
u ra ca tng giai on cng c xy dng y v h thng hn.
Tuy nhin m hnh ny c mt s nhc im ln l:
M hnh i hi mt bn yu cu (requirement) y v chnh
xc tpha khch hng. Yu cu ny him khi t c bi khch
hng t khi xc nh c chnh xc h mun g ngay giai on
u ca d n, sthch ca h cng thay i kh thng xuyn. Vic
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
20/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 20
lm li cc giai on ban u p ng s thay i ca khch hng
thng mt rt nhiu cng sc v ph vcu trc ca phn mm.
Khch hng cn phi kin nhn. H chc tham gia vo d n
giai on phn tch yu cu v test m thi. Ngoi ra, sn phm s
chc bn giao khi tt c cc cng vic lin quan c hon
thnh.
M hnh thc nc ch nn c s dng khi i d n c kinh
nghim, yu cu t khch hng c xc nh r ngay tu v t
c kh nng thay i. Hin nay, m hnh thc nc vn c s
dng rng ri do tnh gn gi vi cc m hnh pht trin trong cc
ngnh kthut khc.
b. M hnh tin ha (Evolutionary model)
M hnh tin ha c a ra nhm gii quyt nhng kh khn gy ra
do yu cu ca khch hng khng r rng hoc hay thay i. tng
ca m hnh ny l pht trin phn mm qua nhiu phin bn, mi phin
bn c a ra ly kin khch hng, c sa cha, lm mn cho n
khi t c phin bn hon chnh.
Ph hp cho cc d n va v nh, cc phn ca d n phc tp v cc
d n c thi gian sng ngn.
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
21/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 21
M hnh ny gp kh khn trong cc d n c cu trc h thng ti, tin
trnh khng r rng.
c. M hnh nguyn mu (prototyping model)
Tng t nh m hnh thc nc vi b sung vo cc giai on thc
hin phn mm mu ngay khi xc nh yu cu nhm mc tiu pht hin
nhanh cc sai st v yu cu. Cc giai on trong m hnh bn mu phn
mm c th tin hnh lp i lp li ch khng nht thit phi theo trnh t
nht nh.
Ngay sau khi giai on xc nh yu cu, nh pht trin phn mm
a ra ngay mt bn thit k sb v tin hnh ci t bn mu u tin v
chuyn cho ngi s dng. Bn mu ny ch nhm miu t cch thc
phn mm hot ng cng nh cch ngi s dng tng tc vi h thng.
Ngi s dng sau khi xem xt s phn hi thng tin cn thit li
cho nh pht trin. Nu ngi s dng ng vi bn mu a th ngi
pht trin s tin hnh ci t thc s. Ngc li c hai phi quay li giai
on xc nh yu cu. Cng vic ny c lp li lin tc cho n khi
ngi s dng ng vi cc bn mu do nh pht trin a ra.
Nh vy y l mt hng tip cn tt khi cc yu cu cha r rngv kh nh gi c tnh hiu qu ca cc thut ton. Tuy nhin, m hnh
ny cng c nhc im l tnh cu trc khng cao do khch hng d
mt tin tng.
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
22/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 22
d. M hnh xon c ()M hnh ny chnh l s kt hp ca m hnh bn mu thit k v
m hnh thc nc c lp li nhiu ln. ln lp tip theo h thng s
c tm hiu v xy dng hon thin hn ln lp trc .
mi ln lp cc yu cu ca ngi s dng s c hiu ngy
cng r rng hn v cc bn mu phn mm cng ngy mt hon thin hn.
Ngoi ra cui mi ln lp s c thm cng on phn tch mc ri ro
quyt nh xem c nn i tip theo hng ny na hay khng.
Lp k hoch Phn tch ri ro
nh gi K ngh
M hnh ny ph hpvi cc h thng phn mm ln do c kh nng
kim sot ri ro tng bc tin ha. Tuy nhin vn cha c s dng
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
23/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 23
rng ri nh m hnh thc nc hoc bn mu do i hi nng lc qun l,
nng lc phn tch ri ro cao.
e. M hnh pht trin nhanh (RAD - Rapid Application Development)
RAD l m hnh tng dn vi chu k pht trin cc ngn. t
c mc tiu ny, RAD da trn phng php pht trin trn csthnh
phn ha h thng cng vi vic ti s dng cc thnh phn thch hp.
RAD thch hp cho nhng h thng qun l thng tin.
f. M hnh RUP (Rational Unified Process):
RUP l mt quy trnh vng lp pht trin phn mm c to ra bi
cng ty Rational Software, mt b phn ca IBM t nm 2002 (IBM
Rational). RUP l mt lin kt cc kin thc cbn vi cc Artifact v m
t chi tit vi cc loi activity khc nhau. RUP c cha bn trong sn
phm IBM Rational Method Composer (RMC) cho php ti u tin trnh.
Phng php ny gi l phng php pht trin lp (hay phng php tip
cn lp). N th hin mt quy trnh lp trong mt chu trnh pht trin t
tng ban u cho ti khi mt sn phm phn mm hon thin, n nh v
c cht lng c chuyn giao ti ngi dng cui.
2.2. Thc trng ca qu trnh kim thphn mm
2.2.1. Phng chm ca vic kim thphn mm
Phng chm ca vic kim th phn mm l tm ra li trong phn
mm cng sm cng tt.
Xem xt cht lng ca phn mm, mc ch ca kim th phn
mm l tm li cng nhiu cng tt.
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
24/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 24
Thm vo , kim th nhm xem xt chiph ca vic kim th, do
vy kim th nhm tm ra nhiu li cng sm trong thi gian lch trnh v
ngun nhn lc c sn.
2.2.2. nh ngha v thut ng ca qu trnh kim thphn mm
2.2.2.1. Kim thphn mm l g? Ti saophi kim thphn mmTrong qu kh khi phn mm cn nh ch vi trm dng m th kim
th l tng i d dng. Nhng ngi pht trin phn mm thng cho
rng thut ton ng v phn tch kt cu chng trnh chc chn n
c bin dch ng. Nu c li th h s sa chng v bin dch li nn
kim th khng thnh vn . Tuy nhin khi kch cphn mm trnn ln
hn, h bt u thy rng khng th kim sot ht li v mt nhiu thi
gian, cng sc cho vic sa li trc khi chuyn sn phm cho khch hng.
V tm ra tt c cc li trong ngay c chng trnh nh, chng ta s phi
cho chy kim th vt cn m c th tn km v yu cu nhiu n lc.
Mt trong cc nguyn nhn lm cho chng trnh kim th t l tht
ra hu ht nhng ngi pht trin phn mm (ngi lp trnh) bt u bng
cc nhn thc sai lm rng: Kim th phn mm l mt qui trnh chng minh chng trnh l khng
c li. Nhiu nh qun l d n cho rng trng hp kim th m khng
tm ra bt c li no th kim th l thnh cng, ngc li trng hp
kim th m tm ra mt li mi th l kim th tht bi. y l mt
kin sai lm. Vic xy dng v thc thi kim th tt cho mt mng ca
phn mm l thnh cng khi n tm ra nhiu li v c th sa c
nhng li , v thm ch l chng t rng khng th tm ra thm lino na. Nhng trng hp kim th khng thnh cng l vic kim
tra phn mm khng ng n, v trong nhiu trng hp, kim th
khng tm ra mt li no c xem l tht bi, khi m khi nim rng
mt chng trnh kim th khng c li cbn l khng ng tin cy.
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
25/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 25
Hoc l mc ch ca kim th l ch ra rng chng trnh thc hin
ng cc chc nng a ra. C nhiu phn mm hot ng c
ng chc nng ca n nhng vn cha li. Nhng li lm chng trnh
khng hot ng c l nhng li qu r rng. Tuy nhin, li vn xy
ra khi chng trnh hot ng tt cc chc nng.
Hay kim th l qui trnh thc hin chng t chng trnh lm
c nhng chc nng cn c.
Khi bn thc hin kim th mt chng trnh, bn mun a vo
mt vi d liu. Vic thm d liu thng qua vic thc hin kim th nhm
a ra tin cy v cht lng phn mm. Vic tng tin cy ca
chng trnh ngha l phi tm ra li v sa cc li . V th, bn khng
nn thc hin kim th ch ni rng chng trnh hot ng c, m
nn ginh rng chng trnh c cha nhiu li (mt ginh hp l cho
mi chng trnh) v sau hy kim nghim chng trnh tm ra cng
nhiu li cng tt.
Vy kim th phn mm l g?
Kim thphn mm l qu trnh thc thi mt chng trnh vi
mc ch tm ra li.
(Glen Myers)
Gii thch theo mc ch:
Vic kim nghim dnhin l ni n cc li (error), sai st (fault),
hng hc (failure) hay cc hu qu (incident). Mt php th l cch chy
th mt chng trnh phn mm theo cc trng hp th nghim vi mc
tiu:
Tm ra li.
Gii thch s hot ng chnh xc ca phn mm.
(Paul Jorgensen)
Mc d nghe c v rt mh, nhng thc s n c nt c o quan
trng. Vic hiu ng nh ngha ca kim th phn mm c th to ra s
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
26/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 26
khc bit r rng trong kt qu ca bn. Nu mc ch ca bn ch chng
minh rng chng trnh khng c li th bn s hng theo mc ch ny,
lc bn s chn ra nhng d liu kim th no t c kh nng gy ra li
cho chng trnh. Mt khc nu mc ch ca bn l mun chng minh
chng trnh c nhiu li th d liu kim th ca bn s l nhng d liu
c kh nng gy ra li cao.
Vy ti sao chng ta phi thc hin kim th?
Li phn mm l chuyn hin nhin ca cuc sng. Chng ta d c
gng n mc no th thc t ngay c nhng lp trnh vin xut sc cng
khng th lc no cng vit c nhng on m khng c li. Tnh trung
binh ngay c nhng lp trnh vin loi tt th cng c t 1 n 3 li trn 100dng lnh. Ngi ta c lng rng vic kim tra tm ra cc li ny
chim phn na khi lng cng vic phi lm c c mt phn mm
hot ng c.
(Software Testing Techniques, Second Edition, by Boris
Beizer, Van Nostrand Reinhold, 1990, ISBN 1850328803).
C hai l do chnh: xem xt v cht lng v pht hin li. Cn
phi thc hin kim th phn mm v li c th xy ra bt c giai on
no trong qu trnh pht trin phn mm. Ngi ta sn xut cc h thng
phn mm gia tng tin nghi trong cuc sng nhng thc t khng nh
k vng, phn mm hot ng khng ng yu cu gy ra nhiu vn bt
cp v thi gian, tin bc v cng sc.
V vy, phi thc hin kim th:
Tm ra li cng sm cng tt c th sa cc li trc khi giao sn
phm n vi khch hng.
Gim thiu ri ro trong sut qu trnh thc hin v phn phi i vi
cht lng phn mm.
m bo phn mm lm ra p ng c yu cu ca khch hng,
ngi s dng v cc chun cng nghip.
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
27/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 27
To s tin tng v cht lng phn mm.
Rt ra bi hc t cc d n c, hiu gc r nguyn nhn cc khim
khuyt. T ci tin qu trnh vi d n mi, trnh ti din sai st c.
Do vy, trong tin trnh pht trin phn mm, giai on kim thng vai tr quan trng. Phn mm cng ln v cng phc tp, th tc kim
thi hi tn nhiu thi gian v cng sc. V to ra mt sn phm th
khng phi ch do mt t chc ng ra lm tu n cui, m i hi s
lin kt, tch hp ca rt nhiu sn phm, th vin lp trnh, ca nhiu t
chc khc nhau T i hi vic kim nghim phn mm cng ngy
cng trnn rt quan trng v rt phc tp.
2.2.2.2. Cc thut nglin quan n kim thphn mm Trng hp kim th(Test case):
Mt trng hp kim th tng ng vi mt ln thc hin chng trnh
vi mt tp cc gi tr u vo v mt danh sch cc kt qu u ra
mong mun.
Dliu th(Test data):
D liu u vo cn cung cp cho phn mm trong khi thc thi
Kch bn kim th: (Test scenario):
Cc bc thc hin khi kim th.
Thm tra (Verification):
Thm tra l tin trnh nhm xc nh u ra ca mt cng on trong
vic pht trin phn mm ph hp vi cng on trc .
Xc nhn (Validation):
Xc nhn l tin trnh nhm ch ra ton h thng pht trin xong phhp vi ti liu m t yu cu.
Cn phn bit gia Thm tra v Xc nhn
- Thm tra: thm tra quan tm n vic ngn chn li gia cc
cng on.
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
28/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 28
- Xc nhn: xc nhn quan tm n sn phm cui cng khng cn
li
2.2.2.3. Nhng nguyn tc cbn ca kim thphn mmTrc khi bt u bt c hot ng kim th no mt k s phn
mm cng phi hiu bit cc nguyn tc cbn sau trong kim th:
Mi hot ng kim thu phi theo c yu cu ca khch hng.
Do mc ch ca kim th l tm ra li nn phn ln cc li (t quan
im ca khch hng) s lm cho chng trnh khng p ng c yu
cu ca khch hng.
Kim th phi c lp k hoch trc khi tht s bt u: Lp k
hoch kim th c th bt u ngay khi hon thnh xong cc m hnhyu cu. Xc nh chi tit cc trng hp th c th bt u khi cc m
hnh thit kc hon thin. Do mi kim th c thc lp k
hoch v thit k trc khi xy dng m chng trnh.
Kim th ban u nh, sau qu trnh ln dn. Kim th u tin
c lp k hoch v thc hin thng tp trung vo cc module
chng trnh ring l. Trong tin trnh kim th, kim th chuyn sang
ch trng vo cc n lc tm ra cc li trong cc module tch hp v
cui cng l ton b h thng.
Khng th kim th mi kha cnh: C nhiu cch kim th cho cc
chng trnh thm ch c vi cc chng trnh c kch thc va phi.
V l, khng th thc hin mi cch trong kim th.
c hiu qu cao nht, qa trnh kim th phi c s tham gia ca bn
th 3. K s phn mm to ra h thng khng phi l ngi tt nht
thc hin mi kim th cho phn mm.
2.2.3. M hnh chV
M hnh ny nhm gii thch s tng quan gia cc giai on xy
dng phn mm v cc phng php kim th. mi giai on xy dng
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
29/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 29
phn mm s tng ng vi mt loi kim th v cn c mt h skim
th tng ng c thnh lp phc v cho vic kim th.
Hnh 1.5: M hnh chVV d:
Giai on: Yu cu phn mm(requiements); Loi kim nghim:
Kim nghim chp nhn (acceptance test); H s: h skim nghim
chp nhn (acceptance test spec).
Giai on: M t chi tit phn mm (specification); Loi kim
nghim: Kim nghim h thng(system test); H s: h s kim
nghim h thng (system test spec).
Giai on: H s kin trc (architecture spec); Loi kim nghim:
Kim nghim tch hp (integration test); H s: h skim nghim tch
hp (integration test spec).
Giai on: Thit k chi tit (detailed design); Loi kim nghim:
Kim nghim khi (module test); H s: h s kim nghim khi
(module test spec).
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
30/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 30
Giai on: Vit m (implementation code); Loi kim nghim: Kim
nghim n v (unit test); H s: h skim nghim n v (unit test
spec).
2.3. Qu trnh nghin cu c t phn mm2.3.1. Khi u
Kim tra c t l k thut kim th hp en tnh. c t l mt ti
liu khng phi l mt chng trnh thc hin, v vy n c coi l tnh.
N c to ra bng cch s dng nhiu ngun d liu t cc nhm nghin
cu, nhm tm hiu yu cu, v gi tr u vo ca qu trnh thu thp tm
hiu yu cu.
Bn s lm g nu i d n ca mnh khng c bn c t? C l d
n theo m hnh big bang hoc l m hnh code fix lng lo. L mt
tester trong d n ny l mt v tr kh khn. V sao? Mc ch ca tester l
tm li cng sm cng tt trc khi d n bc vo giai on code, nu nh
khng c bn c t th vic tm li kh m thc hin c.
2.3.2. Thc thi qu trnh xem xt bn c t mc cao
Xc nh mt sn phm phn mm l qu trnh kh khn. Cc c t
vi nhiu n s, v s gi tr u vo tp hp li to thnh ti liu cho mt
sn phm mi. Qu trnh ny i hi phi chnh xc v thng gp phi
nhiu vn .
Tm hiu yu cu khch hng:
Bc u tin trong kim tra c t khng phi l nhy vo v tm
kim cc li c th m phi c ci nhn tng quan v xem xt mc cao.
Xem xtbn c t c coi l cng vic tm hiu yu cu, nubn hiu rbn c t th trong qu trnh kim th s thc hin tt hn, hiu qu hn.
iu d dng nht ca mt tester khi h nhn c mtbn c t l
gi s mnh ang v tr ca khch hng. Hy lm mt vi nghin cu xem
khch hng l ai. C th ni chuyn vi ngi marketing, ngibn hng
c c nhng gi v ngi dng cui. Nu d n l sn phm phn
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
31/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 31
mm ni b, th tm hiu xem ai s l ngi s dng gp v ni chuyn,
phng vn h.
iu quan trng l phi hiu c s mong i ca khch hng. V
cht lng ca sn phm phn mm l p ng c yu cu ca khch
hng. L mt tester bn cnphi hiu r yu cu ca khch hng kim
tra phn mm c t c nhng mong i ca khch hng khng. Tuy
nhin iu khng c ngha l bnphi l mt chuyn gia trong lnh vc
ht nhn khi ang test phn mm cho nh my in hay mt phi cng
chuyn nghip khi test cho mt m phng chuyn bayM bn phi c
c mt vi hiu bit trong lnh vc mnh ang kim tra bng cch tm
hiu yu cu r rng.
Tm hiu cc chun v hng dn c
Thi gian trc khi c Microsoft Windows v Macintosh ca Apple,
gn nhu tt c cc sn phm phn mm c giao din ngi dng khc nhau,
mu sc khc nhau, cu trc menu khc nhau, khng gii hn cch thc m
file, v v s lnh kh hiu thc hin cng mt task. Vic chuyn t mt
sn phm sang mt sn phm khc hon ton yu cuphi o to li. May
mn l c nhng n lc chun ha phn cng v phn mm, c nhiu
nghin cu su rng v cch mi ngi s dng my tnh. Kt qu l by
gi chng ta c nhng sn phm hp l tng t nhau. C th ni rng
cc chun v cc hng dn c thng qua khngphi l hon ho, c
th c nhiu cch tt hn thc hin mt cng vic, nhng hiu qu
c ci thin bi s ph bin ny.
Di y l mt vi v d v cc chun v hng dn:
Thut ng cng ty v cng c: Nu phn mm ny c thit k
cho mt cng ty c th th cn p dng cc thut ng ph bin v cc cng
c thng c cc nhn vin s dng.
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
32/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 32
Cc yu cu ca ngnh cng nghip: Yu cu ngnh cng nghip.
Cc ngnh cng nghip y t, dc phm, cng nghip, ti chnh v c cc
tiu chun rt nghim ngt m phn mm ca h phi tun theo.
Tiu chun chnhph c bit l qun s u c cc chun nghim
ngt.
Giao din ngi dng ha (GUI). Nu phn mm ca bn chy
di h thng Microsoft Windows hoc iu hnh Apple Macintosh, cc
chun v hng dn ca phn mm nn c thc hin di nhn v cm
nhn di gc ca ngi s dng.
Tiu chun an nnh: Cc giao din v giao thc trong phn mm cn
phi m ng c cc chunbo mt.
Cng vic ca tester khngphi l xc nh cc chun v hng dn
ny, m phi nm c cc chun ny kim tra xc thc phn mm
Xem xt v th nghim cc phn mm tng t
Mt trong nhng phngphp hiu c nhng g sn phm ny
t c l xem xt v th nghim vi phn mm tng t. iu ny c th
l mt sn phm cnh tranh hoc sn phm tng t vi nhng g d n
ang to ra. Tt nhin phn mm ny khngphi l yu cu cu khch hng
nhng n s gip tester c nhng suy nghv cc tnh hung th nghim v
cch tip cn th nghim.
Cc vn cn xem xt khi th nghim cc sn phm cnh tranh:
o Quy m: S c nhiu hoc t hn cc chc nng? t code hn hay
nhiu hn? C vn chnh lch kch thc trong th nghim
khng?
o phc tp: Phn mm cabn c phc tp hn khng? Nhng
tc ng n phn mmbn ang test.
o Kh nng kim th c
o Cht lng v tin cy
o Bo mt
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
33/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 33
2.3.3. K thut kim th c t mc thp
Sau khi hon thnh vic xem xt bn c t mc cao, bn s c
hiu r hn v sn phm ca mnh v nhng nh hng bn ngoi tc ng
vo thit k ca phn mm. T nhng thng tin ny chng ta chuyn sang
kim nghim sn phm mc thp bng cch chun b cc checklist
kim tra cc c t.
Danh sch kim tra cc thuc tnh c t. Mt c t tt thng c cc
c tnh sau:
o Hon thnh: C thuc tnh nob mt hoc st khng? Bn c t
c p ng trit mi th trong yu cu ca khch hng khng?
o chnh xc: Giiphp c xut c ng khng?N c p
ng ng mc tiu ca sn phm khng? C bt k li no
khng?
o Nht qun: M t trong cc chc nng c
o Tnh kh thi: c sn cng c v ngun lc trong phm vi ngn
sch v tin qui nh khng?
o Free code: Bn c t ch xc nh sn phm ch khngphi l
mt thit k, kin trc hay code cbn ca phn mmo Kim nghim: C thng tin cung cp cho th nghim khng
Danh sch c t cc thut ng
Khi kim trabn c t cn ch n cc t ng hoc ng cnh
khng r rng, c th c nhiu li y:
C.PHNG PHP V HNH THC GING DY
1. Ni dung
Trnh chiu powerpoint
t vn , trao i
2. Sau khi hc xong l thuyt sinh vin vn dng lmbi tp h thng ha li
kin thc chng.
D.TI LIU THAM KHO
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
34/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 34
1. By Ron Patton: Software Testing, Sams Publishing, 2005 Chapter 1
2. John.Wiley.and.Sons.The.Art.of.Software.Testing.Second.Edition.Jun.2004.eB
ook-DDU Chapter 2.
E. CU HI V BI TP
1. Ti sao phi kim th phn mm? Mc tiu kim th l g? T c nhng
quan nim sai g v kim th phn mm?
2. Th no l mt ca kim th tt? ca kim th thnh cng? Li ch ph ca kim
th l g?
3. C th kim th hon ton mt sn phm phn mm khng? Gii thch ti sao?
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
35/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 35
PHN II. NGUYN L KIM THPHN MM
BI 3: CC PHNG PHP KIM THPHN MM
A.MC TIU
1. V kin thcCung cp cho sinh vin nhng kin thc:
- Nhn din v phn bit c kim th tnh, kim th ng.
- Hiu c 2 phngphp kim th hp trng v kim th hp en.
- Xc nh, v nhn din c cc k thut kim th hp trng, kim th hp
en.
2. V k nng
Sau khi hc xong chng ny sinh vin c th vn dng nhng kin thc
vo thc t
- p dng c cc k thut kim th cu trc, kim th chc nng. Phn
tch v nh gi c khi no s dng kim th hp trng, kim th hp
en.
B. NI DUNG
3.1. Phng php kim thhp trng
Kim th hp trng l k thut tp trung vo kho st cht ch cc th tc/
hm mt cch chi tit. Tt c cc ng din tin logic trong chng trnh c
kim tra bng nhng trng hp kim th trn cc tp iu kin v cu trc lp c
th. K thut ny s kim tra trng thi ca chng trnh ti rt nhiu im nhm
xc nh gi tr mong i ti cc im ny c khp vi gi tr thc t hay khng.
Vi nhn nh trn th k thut thit k kim th hp trng c l s dn n
mt chng trnh chnh xc tuyt i. Tt c nhng g chng ta cn lm by gilthit k tt c cc ng logic ca chng trnh, thit k cc trng hp kim th
thc thi, v nh gi cc kt qu c c.Tuy nhin vic kim th thu o tt
c cc trng hp l mt bi ton qu ln v tn rt nhiu chi ph, ngay c nhng
bi ton nh cng c s lng cc ng dn logic l rt ln. Xem xt mt v
d sau y:
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
36/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 36
Hnh trn l mt flowchart cho mt chng trnh n gin c vit bng
khong 100 dng m vi mt vng lp chnh thc thi on m bn trong v lp li
khng qu 20 ln . Tuy nhin khi tnh ton cho thy i vi chng trnh ny c
n khong 1014
ng c th thc hin c. Chng ta c th lm mt php tnhnhanh thy c chi ph dng kim th on chng trnh ny mt cch
thu o v chi tit. Ta gi s rng kim th mt trng hp cn chy trung
bnh tn 1s. V chng trnh kim th sc chy l 24h mt ngy v chy sut
365 ngy mt nm. Vy th kim th tt c cc trng hp ny cng cn phi
tn khong 3170 nm. Do , kim th mt cch thu o cho cc h thng ln l
mt vic bt kh thi.
3.2. Phng php kim thhp enPhng php kim th hp en l phng php tp trung vo yu cu v
mt chc nng ca phn mm. Phng php ny cho php to ra mt tp cc iu
kin input kim th tt c cc chc nng ca mt chng trnh. V bn cht,
kim th hp en khng phi l phng php tri ngc vi kim thc hp trng.
Begin
End
Loo
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
37/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 37
ng hn y l phng php b sung cho kim th hp trng pht hin ra cc
li khc m phng php kim th hp trng khng th pht hin ra.
Kim th hp en pht hin cc li sau:
Khng ng hay thiu mt s chc nng, hm/module.
Giao din khng ph hp, li v interface.
Li v cu trc d liu hay thao tc ln d liu bn ngoi.
Li thc thi
Khng ging nh phng php kim th hp trng c thc thc hin
giai on u ca qu trnh kim th phn mm. Phng php ny tp trung vo
phn sau ca qu trnh kim th. Mc ch ca kim th hp en l tp trung trn
cc vng thng tin, hng d liu hay hng vo/ ra. Cc trng hp kim thc to ra da vo bn m t chc nng ch khng phi tp trung trn vng m
chng trnh.
3.3. Phng php kim thhp xm
Kim th hp xm i hi phi c s truy cp ti cu trc d liu v gii
thut bn trong cho nhng mc ch thit k cc ca kim th, nhng l kim th
mc ngi s dng hay mc hp en. Vic thao tc ti d liu u vo v nh
dng d liu u ra l khng r rng, ging nh mt chic hp xm, bi v uvo v u ra r rng l bn ngoi hp en m chng ta vn gi v h thng
c kim tra. S khc bit ny c bit quan trng khi qun l kim th tch hp
Intergartion testing gia 2 modun m lnh c vit bi hai chuyn vin thit k
khc nhau, trong ch giao din l c a ra kim th. Kim th hp xm
c th cng bao gm c thit ki chiu quyt nh, v d, gi tr bin hay
thng bo li.
3.4. Phng php kim th tnh
L phng php kim th phn mm i hi phi duyt li cc yu cu v
cc c t bng tay thng qua vic s dng giy, bt kim tra logic, ln tng chi
tit m khng cn chy chng trnh. Kiu kim th ny thng c s dng bi
chuyn vin thit k hay nhng ngi vit m lnh mt mnh.
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
38/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 38
Kim th tnh cng c thc tng ha. N s thc hin kim tra ton
b bao gm cc chng trnh c phn tch bi mt trnh thng dch hoc bin
dch m xc nhn tnh hp l v c php ca chng trnh.
Mc ch ca kim th tnh:
Tm li trong code v m hnh phn mm sm, gim chi ph cho vic
sa li.
D dng c lp li v tm li (bugs) ch khng thng qua triu chng.
Lm cho phn mm hot ng ng vi yu cu ca khch hng
3.4.1. Kim tra cho (Peer review):
Peer review l cch lm thng xuyn ca cc thnh vin trong i d n
tho lun cng nhtm ra cc sai st trong code ca nhau.
Peer review c t chc bi mt ngi thit k kin trc h thng vi
mt hoc nhiu lp trnh vin, v cc tester trong vic kim tra code. Nhm ny
n gin ch thc hin vic kim tra code cho nhau v tm ra cc li hoc cc sai
st trong .
m bo vic kim tra t hiu qu cao th nhng ngi tham gia
review phi m bo bn yu t trong bui kim duyt chnh thc c a ra:
tm ra cc vn sai st hay li, p dng theo ng quy tc chun,phi c chun
b k cho vic kim tra nhcc checklist v code standard, c bo co c th. Bi
v cc kim tra cho ny thng khng chnh thc nn nhng yu t ny thng
c thu nh li.
3.4.2. Tng duyt (Walk Through):
Walkthrough l mt thut ng m t s xem xt k lng ca mt qu trnh
mc tru tng trong nh thit k hay lp trnh vin lnh o cc thnh vin
trong nhm v nhng ngi c quan tm khc thng qua mt sn phm phn
mm, v nhng ngi tham gia t cu hi, v ghi ch nhng li c th c, s vi
phm cc chun pht trin v cc vn khc. Walkthrough m lnh l 1 tp cc
th tc v cc cng ngh d li cho vic c nhm m lnh. Trong mt
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
39/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 39
Walkthrough, nhm cc nh pht trin vi 3 hoc 4 thnh vin l tt nht thc
hin xt duyt li. Ch 1 trong cc thnh vin l tc gi ca chng trnh.
Mt u im khc ca walkthroughs, hiu qu trong chi ph g li, l 1
thc t m khi mt li c tm thy, n thng c nh v chnh xc trong m
lnh. Thm vo , phng php ny thng tm ra 1 tp cc li, cho php sau
cc li c sa tt c vi nhau. Mt khc, kim th da trn my tnh,ch tm
ra triu chng ca li (chng trnh khng kt thc hoc a ra kt qu v ngha),
v cc li thng c tm ra v sa ln lt tng li mt.
3.4.3. Thanh tra m ngun (Code Inspection):
Thanh tra m ngun l 1 tp hp cc th tc v cc k thut d li cho vic
c cc nhm m lnh. Mt nhm kim duyt thng gm 4 ngi. Mt trong s
ng vai tr l ngi iu tit mt lp trnh vin lo luyn v khng c l
tc gi ca chng trnh v phi khng quen vi cc chi tit ca chng trnh.
Ngi iu tit c nhim v: phn phi nguyn liu v lp lch cho cc bui kim
duyt, cho phin lm vic, ghi li tt c cc li c tm thy v m bo l
cc li sau c sa. Thnh vin th hai l mt lp trnh vin. Cc thnh vin
cn li trong nhm thng l nh thit k ca chng trnh ( nu nh thit k khc
lp trnh vin) v mt chuyn vin kim th.3.5. Phng php kim th ng
L phng php th phn mm thng qua vic dng my chy chng
trnh kim tra trng thi tc ng ca chng trnh. l kim th da trn
cc ca kim th xc nh bng s thc hin ca i tng kim th hay chy cc
chng trnh. Kim thng kim tra cch thc hot ng ng ca m lnh, tc
l kim tra s phn ng vt l t h thng ti cc bin lun thay i theo thi gian.
Trong kim thng, phn mm phi thc sc bin dch v chy. Kim thng thc s bao gm lm vic vi phn mm, nhp cc gi tru vo v kim
tra xem liu u ra c nh mong mun hay khng.
Mi sn phm phn mm u c th kim th theo 2 cch:
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
40/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 40
Hiu r mt chc nng c th ca mt hm hay mt module, cc trng
hp kim thc xy dng kim th tt c cc thao tc ca chng
trnh nhm tm ra li trong mi chc nng.
Hiu r cch hot ng ca mt hm/ module hay mt sn phm. Cc
trng hp kim th c th c xy dng m bo tt c cc thnh
phn con khp vi nhau. l kim tra tt c cc thao tc bn trong ca
mt hm da theo cc m t v tt c cc thnh phn ni b mt cch tha
ng. Cch tip cn u tin l kim th hp en v th hai l kim th hp
trng.
C.PHNG PHP V HNH THC GING DY
1. Ni dung
Trnh chiu powerpoint
t vn , trao i
2. Sau khi hc xong l thuyt sinh vin vn dng lmbi tp h thng ha li
kin thc chng.
D.TI LIU THAM KHO
1. By Ron Patton: Software Testing, Sams Publishing, 2005 Chapter 5,6.
2. John.Wiley.and.Sons.The.Art.of.Software.Testing.Second.Edition.Jun.2004.eB
_ook-DDU Chapter 4
3. Roger S. Pressman: Software Engineering: A Practitioner's Approach, 6th
Ed., McGraw-Hill, 2004 Chapter 17
E. CU HI V BI TP
1. Kim th hp trng da trn csno thit k cc ca kim th? Thit k ca
kim th phi m bo iu kin g?
2. M hnh ca kim th hp en quan tm n nhn t no ca phn mm? N
nhm tm ra cc loi sai no? Nu cc phng php p dng cho n?
3. Phn bit cc thut ngpeer review, Walkthrough, Code Inspection,
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
41/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 41
BI 4: CC K THUT KIM THPHN MM
A.MC TIU
1. V kin thc
Cung cp cho sinh vin nhng kin thc:
- Xc nh v nhn din c cc phng php trong kim th hp trng v
kim th hp en: kim thng bin, phn vng tng ng, kim th
bao ph...
- Nm c cc k thut to ra cc trng hp kim th tt v t chi ph
nht, tt c chng phi tho nhng mc tiu kim thchng trc.
- Xc nh, v nhn din c cc k thut kim th hp trng, kim th hp
en.
2. V k nng
Sau khi hc xong chng ny sinh vin c th vn dng nhng kin thc
vo thc t:
- p dng c cc k thut kim th cu trc, kim th chc nng.
- Phn tch v nh gi c khi no s dng kim th hp trng, kim th
hp en.
B. NI DUNG
4.1. K thut phn vng tng ng
K thut phn vng tng ng l phng php kim th hp en chia
min u vo ca mt chng trnh thnh cc lp d liu, t pht sinh ra cc
trng hp kim th.
Thit k cc trng hp kim th cho phn lp tng ng da trn s
nh gi v cc lp tng ng vi mt iu kin vo. Lp tng ng biu thcho tp cc trng thi hp l hay khng hp li vi iu kin vo.
Cc lp tng ng c xc nh bng cch ly mi trng thi u vo
(thng l mt cu hay mt cm t trong c t) v phn chia n thnh 2 hoc
nhiu nhm (c th s dng bng di y lit k cc lp tng ng).
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
42/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 42
H
Bng 4.1: Mu lit k cc lp tng ng
Ch l hai kiu lp tng ng c xc nh: lp tng ng hp l
m t cc u vo hp l ca chng trnh, v lp tng ng khng hp l m
t tt c cc trng thi khc ca iu kin (v d: cc gi tru vo khng ng).
Vi mt u vo hay iu kin bn ngoi cho, vic xc nh cc lp tng
ng hu nh l mt qui trnh mang tnh kinh nghim. xc nh cc lp tng
ng c th p dng cc nguyn tc sau y:
Nu mt trng thi u vo nh r gii hn ca cc gi tr, xc nh 1 lp
tng ng hp l v 2 lp tng ng khng hp l.
Nu 1 trng thi u vo xc nh s gi tr, xc nh c 1 lp tng
ng hp l v 2 lp tng ng khng hp l.
Nu 1 trng thi u vo chnh tp gi tru vo v chng trnh s
dng mi gi tr l khc nhau, xc nh 1 lp tng ng hp l cho mi
loi v 1 lp tng ng khng hp l.
Nu 1 trng thi u vo chnh mt tnh hung chc chn- must be, xcnh 1 lp tng ng hp l v 1 lp tng ng khng hp l.
4.2. K thut phn tch gi tr bin
Thc t th phn ln cc li c khuynh hng xut hin ti bin ca vng
thng tin u vo hn l ti nhng v trgia vng. Do , k thut phn tch
gi tr bin (BVA) c pht trin. K thut ny s la chn mt s trng hp
kim th ti cc gi tr bin v l k thut b sung cho k thut phn vng tng
ng.
Nguyn tc ca phng php BVA c phn tng t vi phng php phn
vng tng ng:
iu kin bn ngoi Cc lp tng nghp l
Cc lp tng ngkhng hp l
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
43/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 43
Nu iu kin u vo xc nh mt phm vi c chnh bi 2 gi tr a
v b, nhng trng hp kim th sc thit k ti cc gi tr bin a v b,
trn a v di b.
Nu iu kin u vo xc nh mt phm vi c chnh bi mt tp hp
nhiu gi tr, nhng trng hp sc kim th ti cc gi tr bin min v
max ca tp hp , cc gi tr ln hn max v nh hn min cng c
kim th.
p dng 2 nguyn tc trn cho gi tr tr v.
4.3. K thut on li
Mt k thut thit k test-case khc l error-guessing on li. Testerc a cho mt chng trnh c bit, h phng on c bng trc gic v kinh
nghim cc loi li c th v sau vit cc trng hp kim tha ra cc li
.
Tht kh a ra mt quy trnh cho k thut on li v n l mt quy
trnh c tnh trc gic cao v khng th don trc. tng cbn l lit k
mt danh sch cc li c th hay cc trng hp d xy ra li v sau vit cc ca
kim th da trn danh sch . Mt tng khc xc nh cc ca kim th clin i vi cc ginh m lp trnh vin c th thc hin khi c c t (tc
l, nhng th b b st khi c t, hoc l do tnh c, hoc l v ngi vit c cm
gic nhng c t l r rng). Ni cch khc, bn lit k nhng trng hp c
bit m c th b b st khi chng trnh c thit k.
4.4. K thut da trn use case
Trong mt d n phn mm, use case m t nhng yu cu ca h thng
phn mm. Pht trin use case bt u t rt sm. Theo m hnh RUP, mt use
case m ty mt lung cc hot ng c thc hin bi h thng cung
cp mt kt qu d thy ca gi trn con ngi hoc h thng khc s dng sn
phm. Use case cho khch hng bit kt qu mong i l g, lp trnh vin phi
code nhng g, ngi k thut phi vit ti liu g, v tester phi test nhng g?
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
44/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 44
Kim th phn mm bao gm nhiu cng vic tng quan vi nhau, mi
cng vic c nhng ti liu v kh nng chuyn giao ca ring n vic to test
case l bc u tin. Sau cc th tc kim th (test procedure) sc thit k
cho nhng test case ny. Test case l cha kha ca qu trnh kim th bi v
chng xc nh cc iu kin sc thc thi trong kim th, v chng rt cn
thit chng t rng vic thc hin cc yu cu ca sn phm l thnh cng v
c th chp nhn c. Do vy, nhng ngi pht trin phn mm c th bt u
to ra cc test case cng sm khi use case l hiu dng, trc khi vit code.
Phn quan trng nht ca mt use case pht sinh ra test case l lung
nhng s kin. Hai phn chnh ca lung s kin l lung s kin chnh (the basic
flow of event) v nhng lung s kin pht sinh (the alternative flows of events).
Basic flow of events s bao trm s kin chnh xy ra khi use case thc thi.
Alternate flows of events bao trm hnh vi ca iu khng bt buc hay c im
ngoi l lin quan n hnh vi ngoi l. Bn c th xem alternate flows of events
nh S lch hng t basic flow of events.
Hnh 4.2: Lung skin chnh v cc lungph khc trong use case
Trong hnh trn miu t cu trc c trng ca cc lung s kin. ng
thng miu t lung s kin chnh, v ng cong miu t nhng lung s kin
ph khc. Ch rng mt vi lung ph s tr li lung s kin chnh trong khi
nhng lung s kin ph khc th kt thc use case.
V d:
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
45/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 45
Hnh 4.3: M t lung skin chnh trongRegister For Courses
Hnh 4.4: M t mt vi lung skin khc trongRegister For Courses
Register For CoursesAlternate Flows
1. Unidentified Student
Trong bc 1 ca Basic Flow, Logon, nu h thng xc nh rng student ID and/hay
password l khng hp l, 1 thng bo li c hin th2. Quit
Course Registration System cho php student thot khi bt c lc no trong usecase. Student c th chn lu 1 phn ca lch biu trc khi thot. Tt c khahc khng c nh du cng xem nhc nh du chn vo lch biu. Lchbiu c lu vo h thng. Kt thc use case.
3. Unfulfilled Prerequisites, Course Full, or Schedule Conflicts
Trong bc 5 ca Basic Flow, Submit Schedule, Nu h thng xc nh m nhngmn tin quyt cho kha c chn m khng tha mn, nhiu kha, hay lch biu cxung t, h thng s khng kt np student vo kha hc . Mt thng bo chin th student c th chn kha khc. Use case tip tc bc 4, Select Courses,trong Basic Flow.
4. Course Catalog System Unavailable
Trong bc 3 ca Basic Flow, Obtain Course Information, nu h thng khng thnhcng, 1 thng bo c hin th v use case kt thc.
5. Course Registration Closed
Nu, khi use case bt u, n xc nh rng vic ng k thnh cng, 1 thng boc hin th, v use case kt thc
Register For CoursesBasic Flow1. LogonUse case bt u khi 1 Student truy xut vo Wylie University Web siteH thng yu cu v Student nhp student ID v password2. Select 'Create a Schedule'
H thng hin th nhng chc nng c th c. Student chn "Create a Schedule.3. Obtain Course Information
H thng ly danh sch cua sn c c cung cp t Course Catalog System v hin thdanh sch Student4. Select Courses
Student chn 4 kha hc chnh c cung cp v 2 kha lun phin t danh sch sn c5. Submit Schedule
Student cho bit bng biu hon thnh. Mi kha c cung cp c chn trn bngbiu, h thng kim tra student chn nhng mn tin quyt cn thit.6. Display Completed Schedule
H thng hin th lch biu cha nhng kha cung cp c chn v xc thc s lng cholch biu
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
46/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 46
Nh bn thy, tm quan trng ca vic trnh by chi tit cho use case.
Lung sc vit nh "dialogs" gia h thng v actors. Mi bc s gii thch
actor lm g v h thng s hi p g, n sc nh s v c tiu . Alternate
flows lun ch r chng bt u tu trong Basic Flow v chng khi no chng
kt thc u.
4.4.1. Nhng kch bn usecase
C nhiu th m t trc khi chng ta tp trung vo vic s dng use
case pht sinh test case nh th no. Mt kch bn use case l mt th hin ca
use case hoc l mt lung hot ng xuyn sut trong use case. Ngi s dng
cui ca mt h thng hon chnh c thi qua nhiu ng khi h thc thi mt
chc nng c t trong use case. Theo , mt lung chnh s l mt kch bn ca
use case, tip theo basic flow thm vo kch bn khc ca alternate flow 1A. Basic
flow thm vo kch bn th 3 ca alternate flow 2A,
Table di y lit k tt c nhng kch bn c th xy ra cho biu biu
din trong hnh 4.4, bt u vi basic flow v ri kt hp gia basic flow v
alternate flows.
Scenario 1 Basic flowScenario 2 Basic flow Alternative flow 1
Scenario 3 Basic flow Alternative flow 1 Alternative flow 2Scenario 4 Basic flow Alternative flow 3
Scenario 5 Basic flow Alternative flow 3 Alternative flow 1Scenario 6 Basic flow Alternative flow 3 Alternative flow 1 Alternative flow
2Scenario 7 Basic flow Alternative flow 4
Scenario 8 Basic flow Alternative flow 3 Alternative flow 4
Bng 4.5: Scenarios for the Use Case
Nhng kch bn ny s s dng nh cs to ra nhng test case.4.4.2. Pht sinh testcase
Test case l mt tp cc gi tru vo kim th, nhng iu kin thc thi
v nhng kt qu thc thi c pht trin cho nhng mc tiu ring bit.
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
47/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 47
Mc tiu ca test case l nhn bit v truyn t nhng iu kin s
kim th. Test case l tt yu thm tra s thnh cng v c th chp nhn s
thc thi ca nhng yu cu chc nng (use case).
Chng ta s m t 3 bc pht trin test case t chi tit y ca use case:
Cho mi use case pht sinh mt tp y nhng kch bn use case.
Mi kch bn nhn dng t nht 1 test case v nhng iu kin thc
thi n
Cho mi test case nhn bit nhng gi tr d liu km vi n test.
p dng cho v d trn:
Bc 1: Pht trin kch bn:
c m t use case v nhn bit mi kt hp ca basic v alternative flows to ra nhng kch bn v ma trn kch bn. Bng di y biu din ma trn
kch bn tng phn cho Register for Course use case.
Scenario name Start flow Alternate
Scenario 1: Successful registration
Basic flow
Basic flow
Scenario 2: Undentified student Basic flow A1Scenario 3: User quits
Basic flow A2
Basic flow A2
Scenario 4: Course catalog system unvailable Basic flow A4
Scenario 5: Registration closed
Basic flow A5
Basic flow A5
Scenario 6: Cannot enroll Basic flow A3
Bng 4.6: Scenarios for the Use Case
Bc 2: Nhn bit test case
Khi mt tp y nhng scenario c xc nh, bc tip theo l xc
nh nhng test case. Chng ta s phn tch scenario v xem xt m t use case. S
c t nht mt test case cho mi scenario, nhng chc chn s c nhiu hn. Th
d, nu m t cho mt alternative flow c vit lt qua ging nh m t bn
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
48/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 48
di 3A Undentifier Prerequisites, Course Full, hay Schedule Conflicts th thm
vo nhng test case c thc yu cu test tt c nhng kh nng. Thm na,
chng ta c th thm vo nhng test case test iu kin bin.
Bc tip theo b sung test case bng cch c li m t use case v tm nhng
iu kin hay nhng yu t d liu c yu cu thc thi nhng scenario khc
nhau. Nh use case Register for Course, iu kin s l student ID, password,
courses c chn
ti liu test case r rng hn, mt ln na, nh dng ma trn l rt c ch,
ging nh trn bng 2.13. Ch rng dng trn cng. Ct u tin cha test case
ID, ct th 2 m t vn tt test case, bao gm scenario c test, v tt c nhng
ct khc ngoi tr ct cui cng cha nhng yu t d liu m s s dng trong
vic thc hin test. Ct cui cng cha m t kt quu ra ca test case.
Ch rng ma trn ny khng c gi tr thc tc nhp. Nhng ca
table cha V, I hay N/A. V cho bit Valid, I cho bit Invalid, N/A ngha rng n
khng cn thit cung cp gi tr d liu trong trng hp ny. R rng ma trn
ny l mt bc trung gian rt tt, n biu din r rng nhng iu kin g l c
test cho mi test case.
Bc 3: Nhn bit gi tr d liu test:Khi test case c nhn dng, chng ta s xem xt v xc nhn tnh hp
lm bo mc chnh xc bng cch chun b test data. Khng c test data,
test case c th khng c thc hin hay thc thi, chng ch m t nhng iu
kin, kch bn (scenario) v ng i (paths). V th, test data nhn bit gi tr
hin thc c s dng trong vic thc hin cui cng ca test. Bng 2.14 biu
din ma trn test case vi gi tr c thay th cho I v V trong ma trn trc.
Chng ta c th s dng mt s k thut test trong vic nhn dng d liu.
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
49/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 49
TestcaseID
Scenario /Condition
StudentID
Password Coursesselected
Prerequisitesfulfilled
CourseOpen
ScheduleOpen
ExpecResult
RC1 Scenario 1-successful
registration
v v v v v v Schedand
confirmon numdisplay
RC2 Scenario 2:Unidentifiedstudent
I N/A N/A N/A N/A N/A ErrormessaBack loginscreen
RC3 Scenario 3:Valid userquits
V V N/A N/A N/A N/A Loginscreenappea
RC4 Scenario 4:Course
registrationsystemunvailable
V V N/A N/A N/A N/A Errormessa
Back step 2
RC5 Scenario 5:registrationclosed
V V N/A N/A N/A N/A ErrormessaBack step 2
RC6 Scenario 6:cannot enroll
course full
V V V V I V ErrormessaBack step 3
RC7 Scenario 6:cannot enroll
Prerequisitesnot fulfilled
V V V I V V Errormessa
Back step 4
RC8 Scenario 6:cannot enroll
scheduleconflict
V V V V V I ErrormessaBack step 4
Bng 4.7: Ma trn test case cho Register for course
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
50/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 50
TestcaseID
Scenario /Condition
Student ID Password Coursesselected
Prerequisites fulfilled
CourseOpen
ScheduleOpen
ExpectResult
RC1 Scenario 1-successful
registration
Jheumann abc123 M101> Yes Yes Yes Scheduand
confirmnumbedisplay
RC2 Scenario 2:Unidentifiedstudent
Jheumann1 N/A N/A N/A N/A N/A ErrormessagBack loginscreen
RC3 Scenario 3:Valid userquits
Jheumann abc123 N/A N/A N/A N/A Loginscreenappear
RC4 Scenario 4:Course
registrationsystemunvailable
Jheumann abc123 N/A N/A N/A N/A Errormessag
Back step 2
RC5 Scenario 5:registrationclosed
Jheumann abc123 N/A N/A N/A N/A ErrormessagBack step 2
RC6 Scenario 6:cannot enroll
course full
Jheumann abc123 M101E201S101
Yes M101
full
Yes ErrormessagBack step 3
RC7 Scenario 6:cannot enroll
Prerequisites not fulfilled
Jheumann abc123 M101E201
S101
No for
E201
Yes Yes Errormessag
Back step 4
RC8 Scenario 6:cannot enroll
scheduleconflict
Jheumann abc123 M101E201S101
Yes Yes E202 and
S101
conflict
ErrormessagBack step 4
Bng 4.8: Ma trn test case vi dliu
4.5. K thut ng din tin ca chng trnh (Basic Path Testing)
K thut ng din tin (ng c s) c a ra bi Tom McCabe.
Phng php ny cho php thit k cc trng hp kim th m bo mi cu
lnh trong chng trnh c thc hin t nht mt ln.
Khi nim v lc :
L mt khi nim n gin biu th lung iu khin chng trnh ca
mt on m. Trong cc phng php kim tra tnh ng n, lc thng
dng :
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
51/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 51
- Tru tng ha c php ca m lnh.
- Lm khun mu c bn cho cc nguyn tc kim tra theo trng
hp.
- Kim tra tnh ng n trn ton b lc .
Di y l mt vi biu m t cu trc iu khin ca chng trnh:
Theo hnh trn mi hnh trn l mt nt ca lc , m t mt hoc nhiu
cu lnh trong chng trnh. Cc mi tn trong lu c gi l cnh, biu din
cc lung iu khin v tng t nh cc mi tn trong biu tin trnh. Mi
cnh phi kt thc ti mt nt cho d nt khng cha lnh no. Cc vng cgii hn bi cnh v nt c gi l min. Mi nt cha iu kin c xem l
nt xc nhn c m t bi hai hoc nhiu cnh xut pht t n.
phc tp ca lc : l mt so phn mm cung cp phc tp v
logic ca mt chng trnh. Trong k thut ng din tin th phc tp
ca lu xc nh sng c lp trong mt tp lnh cbn ca chng
Ni tip
(SEQUENCE)WHILE
UNTIL
CASEIF
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
52/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 52
trnh, cho chng ta bin trn s lng testcase sc thit km bo cc
cu lnh c thc thi t nht mt ln.
phc tp ca lc c xc nh theo 3 cch:
- S min ca lu .
- V(G) = E N + 2
Vi: E l s cnh ca lu .
N l s nt ca lu .
- V(G) = P + 1
Vi: P l s nt xc nhn iu kin
Khi nim ng din tin: L mt tp hp lnh c thc thi c th t
trong chng trnh. n gin hn c th hiu mt on chng trnh hay
mt chng trnh cha rt nhiu cc ng din tin ti mt lnh iu kin
r nhnh to ra mt tp ng mi,
Hinh 4.9:ng din tin
Theo hnh trn, ta s c 2 ng din tin, mt ng khi iu kin A mang
gi trng, v mt ng khi iu kin A mang gi tr sai.
Cc bc xy dng cc trng hp kim th:
- Dng ti liu source code hay cc ti liu thit k v mt biu m t flowchart ca mt chng trnh hoc hm.
- Xc nh th V(G)
- T th V(G) xc nh tp ng c lp tuyn tnh ln nhau.
- Xy dng nhng trng hp kim th da trn tp ng xc nh
bc trn.
iu Kin A
Lnh thc hin
False
True
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
53/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 53
V d: Xt th tc Average
- Phn tch th tc Average
Int Average ()
{
/* Hm tnh gi tr trung bnh ca 100 hoc c th t hn cc s */
int value[100];
int average,totalinput, totalvalid,
minimum, maximum, sum;
int i;
i=0;
totalinput = totalvalid =0;
sum = 0;
while( value[i]-999 and totalinput = minimum AND value[i] < maximum)
{
totalvalid ++;
sum = sum + value[i]
}
i++;
}
if( totalvalid > 0 ){
average = sum/totalvalid
}
else{
average = -999
}
1
23
4 56
7
8
9
10
11
12
13
-
8/2/2019 Tap Bai Giang Kiem Thu Phan Mem
54/165
Biging: Kim th v m bo cht lng phn mm
GV: Trn Th Thy Trinh TCNPM 54
M lnh ca th tc c phn tch v biu din thnh dng flowchart
tng ng nh bn trong on m. y chng trnh c 13 im trong
th.
- To mt th flow graph biu