Professional Documents
Culture Documents
Integration testing
Gio vin b mn :V Th Dng Lp Nhm s 3 : KHMT 1 K2 : o c Anh Nguyn Th L Chi Trn Trung Hiu L Thi Hong
Nhm3
Kim th tch hp
Integration testing
I. Li m u
Trong ngnh k ngh phn mm, nm 1979, c mt quy tc ni ting l: Trong mt d n lp trnh in hnh, th xp x 50% thi gian v hn 50% tng chi ph c s dng trong kim th cc chng trnh hay h thng c pht trin. V cho n nay, sau gn mt phn 3 th k, quy tc vn cn ng. c rt nhiu ngn ng, h thng pht trin mi vi cc cng c tch hp cho cc lp trnh vin s dng pht trin ngy cng linh ng. Nhng kim th vn ng vai tr ht sc quan trng trong bt k d n pht trin phn mm no. Rt nhiu cc gio s, ging vin tng than phin rng: Sinh vin ca chng ta tt nghip v i lm m khng c c nhng kin thc thc t cn thit v cch kim th mt chng trnh. Hn na, chng ta him khi c c nhng li khuyn b ch cung cp trong cc kha hc m u v cch mt sinh vin nn lm v kim th v g li cc bi tp ca h. Cc tc gi ca cun sch ni ting The Art of Software Testing Ngh thut kim th phn mm, Glenford J. Myers, Tom Badgett, Todd M. Thomas, Corey Sandler khng nh trong cun sch ca mnh rng: Hu ht cc thnh phn quan trng trong cc th thut ca mt nh kim th chng trnh l kin thc v cch vit cc ca kim th c hiu qu. Vic kim th phn mm tht s quan trng trong dy chuyn sn xut phn mm. y cng chnh l l do nhm em nghin cu v ti ny, v chnh xc hn l v kim th tch hp m chng em s trnh by di y. Do cn nhiu kh khn trong vic thu thp v dch ti liu nn chng em s cn nhiu thiu st trong khi trnh by, vy knh mong c gio xem xt v gip thm cho chng em.
Nhm3
Kim th tch hp
Integration testing
Mc lc
Bi tp ln mn.........................................................................................................1 NHP MN CNG NGH PHN MM...............................................................1 ti s 22:...............................................................................................................1 KIM TH TCH HP ...........................................................................................1 ( Integration testing ).................................................................................................1 1. c im ca kim th tch hp:.......................................................................5 2. Khi no th s dng kim th tch hp?............................................................6 3. Mc tiu ca kim th tch hp:........................................................................7 4. Cc bc kim th tch hp ..............................................................................8 5. K hoch kim tra..............................................................................................9 6. Lm th no vit mt bi kim tra tch hp? .............................................10 7. Lm vic hng ti mt bi kim tra tch hp hiu qu:............................11 1. Top-down Intergration (Kim th tch hp t trn xung di).....................12 2. Bottom-up Intergration (Kim th tch hp t di ln)................................16 3. Regression Testing (Kim th hi quy)..........................................................19 4. Smoke Testing.................................................................................................20 5. Big Bang..........................................................................................................22 6. Tho lun xung quanh kim th tch hp (Comments on Intergration Testing) .............................................................................................................................22 7. T liu v kim th tch hp (Intergration Test Documentation)...................23 3 Nhm3
Kim th tch hp
Integration testing
C mt phng php kim th c h thng xy dng cu trc chng trnh trong khi tin hnh cc bi kim th pht hin ra li lin quan n lp giao din. Mc tiu l kim th cc b phn v xy dng mt cu trc chng trnh c kim th chnh t khi thit k. Thng c xu hng c gng thc hin tch hp khng theo trnh t tng bc; c ngha l xy dng mt chng trnh s dng phng php tip cn tc thi/t ngt. Tt c cc b phn c kt hp trc vi nhau. Ton b chng trnh c kim th di dng tng th. Kt qu l thng xy ra s ln xn! Bn gp phi hng lot li. Vic
Nhm3
Kim th tch hp
Integration testing
sa li l rt kh v vic c lp cc nguyn nhn rt phc tp do chng trnh qu rng. Mt khi sa c cc li ny, cc li khc s li xut hin v qu trnh c tip din lin tc nh th. Tch hp theo trnh t tng bc mu thun vi phng php tip cn tc thi. Chng trnh c thit lp v kim th trong cc gia lng nh, ni d tch v sa li hn; giao din c kh nng c kim th ton b hn; v c th p dng mt phng php kim th c h thng. Phng php kim th c ni n y l phng php kim th tch hp.
1. c im ca kim th tch hp: L mt kiu kim th cao cp hn kim th n v (Unit testing) nhng li
c xp thp hn kim th h thng (System testing) v kim th ngi dng (User Acceptance Testing) c thc hin sau kim th n v nhng trc kim th h thng Thng xuyn pht hin c l hng cng nh cc li ca h thng C th p dng cho vic pht trin t do
Nhm3
Kim th tch hp
Integration testing
Hnh 1. S cc cp kim th
Nhm3
Integration testing
Tch hp cc Unit thnh cc h thng nh (subsyetem) v cui cng l nguyn h thng hon chnh (system) chun b cho kim th mc h thng (system testing) Trong kim th n v cc lp trnh vin c gng pht hin li lin quan n chc nng v cu trc ni ti ca Unit. C mt s php kim th n gin trn giao tip vi cc thnh phn lin quan khc, tuy nhin mi giao tip lin quan n Unit ch tht s kim tra y d khi cc Unit kt hp vi nhau trong khi thc hin kim th tch hp. Tr mt s t ngoi l, kim th tch hp ch nn th hin trn cc Unit c kim tra cn thn trc bng kim th n v, v tt c cc li mc Unit c sa cha Mt s ngi hiu sai rng Unit mt khi qua giai on Unit Test vi cc giao tip gi lp th khng cn phi thc hin Integration Test na. Thc t vic tch hp gia cc Unit dn n nhng tnh hung hon ton khc.Mt chin lc cn quan tm trong Integration Test l nn tch hp dn tng Unit. Mt Unit ti mt thi im c tch hp vo mt nhm cc Unit khc tch hp trc v hon tt cc t Integration Test trc . Lc ny, ta ch cn kim th giao tip ca Unit mi thm vo vi h thng cc Unit tch hp trc , iu ny s lm cho s lng can kim th gim i rt nhiu, v sai st s gim ng k. C 4 loi kim th trong Integration Test:
Kim th chc nng (Functional Test): Tng t Black Box Test, kim
th chc nng ch ch trng n chc nng ca chng trnh, m khng quan tm n cu trc bn trong, ch kho st chc nng ca chng trnh theo yu cu k thut.
Nhm3
Kim th tch hp
Integration testing
4. Cc bc kim th tch hp
Kim tra tch hp gm cc bc sau:
Bc 1: Thit lp k hoch kim th Bc 2: Thit lp cc bi v d liu kim th Bc 3: To cc tp lnh thc hin cc bi kim th nu c th. Bc 4: Mt khi tt c cc b phn c tch hp, thc hin cc bi
kim th
Nhm3
Kim th tch hp
Integration testing
S pht trin
Bo co chp thun
Danh sch cc i tng cn c kim tra Vai tr v trch nhim Yu cu tin quyt bt u kim tra Kim tra mi trng Gi thuyt Lm g sau khi kim tra thnh cng
Lm g khi kim tra khng thnh cng
Nhm3
Integration testing
Mt bi kim th n gin miu t chnh xc bi kim tra s c thc hin nh th no. Cc bi kim th tch hp tp trung vo dng lu chuyn d liu/thng tin/kim sot t mt b phn sang mt b phn khc. V th cc bi kim th tch hp phi tp trung vo nhng tnh hung trong mt b phn c gi ra t mt b phn khc. Tng t ton b chc nng p dng phi c kim th m bo rng cc p dng pht huy tc dng khi cc b phn khc nhau c t cng nhau. Cc bi kim th tch hp c a vo thnh mt nhm t mt b cc bi kim th tch hp. Mi b c th tp trung vo mt i tng khc nhau. Ni cch khc, cc b kim th khc nhau c th c to ra tp trung vo cc lnh vc p dng khc nhau. Nh nu pha trc, mt nhm kim th c th c to ra thc hin cc bi kim tra. V th cc bi kim th phi cng chi tit cng tt. Bng v d bi kim th: ID bi Thnh M t bi kimD liuKt qu mong kim Kt qu thc cng/khng Ghi ch th u vo i th thnh cng
Kim th bng
Ngy thng
10
Nhm3
Kim th tch hp
Integration testing
11
Nhm3
Kim th tch hp
Integration testing
Hnh 2 Kim th tch hp t trn xung Xem hnh 2, tch hp depth-first s tch hp tt c cc b phn vo mt ng iu khin ca cu trc. Vic la chn con ng l rt m h v ph thuc vo c im ng dng c th. V d, la chn ng theo chiu tay tri, cc b phn M1, M2 , M5 s c tch hp trc. tip M8 hoc (nu cn chc nng ph hp ca M2) M6 s c tch hp. Sau , phng php iu khin bn tay phi v trung tm s c xy dng. Breadth-first integration kt hp tt c cc b phn b sung trc tip mi mc , chuyn qua cu trc theo phng ngang. T hnh v, cc b phn M2, M3, v M4 (thay cho S4) s c tch hp trc . Mc iu khin tip theo, v c tip tc nh th
12
Nhm3
Kim th tch hp
Qu trnh tch hp c thc hin trong 5 bc:
Integration testing
Cc bi kim th s c tin hnh khi mi m un c tch hp Khi hon thnh tng bi kim th mt, cc b phn tip theo s c thay th bi
b phn thc.
13
Nhm3
Kim th tch hp
Integration testing
Phng php t trn xung c v khng phc tp, nhng trn thc t, c th ny sinh cc vn logic. Mt trong nhng vn thng gp xy ra khi x l mc thp theo th t c yu cu kim th cc mc cao hn. Cc m un ph thay th cc m un mc thp giai on u ca qu trnh kim th t trn xung. V th, khng c bt k d liu ng k no c th chuyn ln trn trong cu trc chng trnh. Ngi kim th s ng gia 3 la chn:
Pht trin cc m un ph thc hin cc chc nng hn ch thc y m un thc Tch hp phn mm t di ln trn.
Phng php u tin (hon cc bi kim th li cho n khi cc m un ph c thay th bng m un thc) lm cho chng ta mt iu khin gia cc bi kim th c th v s kt hp cc m un c th. Vic ny c th dn ti kh khn trong vic xc nh nguyn nhn gy li v c xu hng vi phm bn cht gii hn ca phng php t trn xung. Phng php th 2 c th pht huy tc dng nhng c th dn n tnh trng phi thc hin thm nhiu bc na, v cc m un ph tr nn ngy cng phc tp. Phng php th 3, gi l kim th t di ln, c trnh by trong phn tip theo.
14
Nhm3
Kim th tch hp
V d
Integration testing
Giao hng
Thanh ton
u tin khi mun xy dng h thng ta phi xy dng cc chc nng chnh ca h thng nh chc nng qun l bn hng, qun l nhp hng, qun l bo hnh, bo co thng k. Sau mi c th xy dng tip cc chc nng con khc sau
15
Nhm3
Kim th tch hp
Integration testing
QL Bn Hng
Kim tra hng trong kho
Lp ho n
Giao hng
Thanh ton
Giao hng tn nh
Kim th tch hp
Integration testing
Cc Driver c loi b v nhm c kt hp di chuyn ln trn trong cu trc chng trnh. Tch hp tin hnh theo cc bc trnh by trong hnh 3. Cc b phn c kt hp hnh thnh nhm 1, 2 v 3. Mi nhm c kim th bng driver (trnh by di dng block nt t). Cc b phn trong nhm 1 v 2 b sung cho Ma. Drivers D1 v D2 c loi b v nhm c lp giao din trc tip cho Ma. Tng t, driver D3 cho nhm 3 c loi b trc khi tch hp bng m un Mb. C Ma v Mb s c tch hp bng b phn Mc, v c nh th.
Hnh 3: Kim th tch hp t di ln Khi tch hp di chuyn ln pha trn, yu cu tch cc driver kim th gim dn. Thc t, nu 2 mc trn cng ca cu trc chng trnh c tch hp t trn xung, s lng driver c th gim i v qu trnh tch hp ca nhm s n gin hn nhiu.
17
Nhm3
Kim th tch hp
Integration testing
Khi th vin ca nh trng c phng lu tr sch th s c nhu cu c mt phng ban qun l cc u sch, s lng cng loi, tnh trng ca sch trong th vin th s phi thnh lp mt phng qun l sch. Sch ca nh trng li c kh nng cho sinh vin trong trng mn c th hc tp v ngin cu nn cng vi phng qun l sch cc yu cu mn sch to ln mt phng mn sch. Sau khi nghin cu xong sch sinh vin li c nhu cu tr sch c th mn sch khc v b phn qun l tr sch c thnh lp. Da vo cc thnh phn nu trn nh trng c th thnh lp mt th vin sch vi cc chc nng qun l sch, cho mn schty vo yu cu ca mi trng mt khc nhau th s c cch cu thnh cc thnh phn khc nhau. Di y l mt s n gin v h thng qun l th vin c xy dng theo phng php tch hp t di ln:
Qun l th vin Qun l mn sch Qun l tr sch
Qun l sch
Yu cu mn sch
18
Nhm3
Integration testing
Mi khi mt m un mi c b sung di dng mt b phn ca kim th tch hp, phn mm s thay i. Cc ng d liu mi c thit lp, c th xy ra I/O mi, v gi ra logic iu khin mi. Trong bc kim th tch hp tip theo, kim th hi quy l s thc hin li ca mt s chui nh trong cc bi kim th c thc hin m bo khng sinh ra cc hiu ng ph. phm vi rng hn, cc bi kim th thnh cng (bt k loi no) dn n s pht hin ra li, v li phi c sa. Bt c khi no mt phn mm c sa li, mt s kha cnh ca cu trc phn mm (chng trnh, ti liu hoc d liu h tr n) b thay i. Kim th hi quy h tr m bo rng cc thay i (do kim th hoc do cc l do khc) khng dn n cc li khc. Kim th hi quy c th c thc hin th cng, bng cch thc hin li cc bi kim th hoc s dng cng c capture/playback. Cng c Capture/playback cho php k s phn mm thc hin bi kim th v ly kt qu cho nhng ln chy li v so snh. Kim th hi quy bao gm 3 lp kim th khc nhau: Mu i din s thc hin chc nng ca phn mm
19
Nhm3
Kim th tch hp
Integration testing
Hnh 4: S lung kim th tch hp (Source base77.com) Do qu trnh kim th tch hp c tip din, s bi kim th tch hp c th tng ln kh nhiu. V th, b kim th hi quy phi c thit k ch bao gm nhng bi kim th dng x l mt hoc nhiu lp li trong mi chc nng ca chng trnh. vic thc hin li mi bi kim th cho mi chc nng chng trnh l khng thc t v khng hiu qu mt khi xy ra s thay i.
4. Smoke Testing
Smoke testing l mt phng php kim th thng c s dng khi sn phm phn mm c bn quyn c pht trin. N c thit k di dng mt c cu dng cho cc d n c gii hn v thi gian cht ch, cho php nhm phn mm tip cn vi d n trn mt nn tng thng xuyn. Phng php kim th ny xoay quanh cc hot ng sau: Cc b phn ca phn mm c a thnh dng code c tch hp vo mt nhm. Mt nhm c th bao gm cc file d liu, th vin, cc m un c th ti s dng, cc b phn cn phi thc hin mt hoc nhiu chc nng ca sn phm.
20
Nhm3
Kim th tch hp
Integration testing
Mt chui cc bi kim ta c thit k tm ra li gip nhm c th thc hin tt chc nng ca n. Mc ch l tm ra li c nhiu kh nng lm chm tin trnh pht trin phn mm nht. Nhm c tch hp vi cc nhm khc v ton b sn phm c tin hnh smoke test hng ngy. Phng php tch hp c th l t trn xung hoc t di ln.
Tn s kim th hng ngy ton b sn phm c th lm mt s ngi ngc nhin. Tuy nhin, tn s kim th cho php c ngi qun l v ngi thc tp mt nh gi thc t v qu trnh kim th tch hp. McConnell [MCO96*] m t smoke test theo cch sau y: Smoke test c tin hnh trn c h thng t u ny n u khc. N phi c kh nng pht hin c cc vn chnh. Smoke test phi ton din nu nhm c thng qua, bn c th gi s rng n nh kim th ton din hn. Smoke testing mang li rt nhiu li ch khi c p dng vo cc d n phc tp, k thut phn mm c quy nh v thi gian nghim ngt: Nguy c tch hp c gim thiu. do smoke tests c thc hin hng ngy, nhng hin tng khng tng thch v cc li khc thng c pht hin sm, gim kh nng tc ng n k hoch thc hin khi li khng c pht hin.
Cht lng sn phm cui cng c nng cao. Do phng php thc hin l
hng xy dng (tch hp), smoke testing c kh nng pht hin li chc nng v cc khuyt tt thit k mc b phn. Nu cc khuyt tt ny c sa sm, ta s c cht lng sn phm tt hn.
21
Nhm3
Kim th tch hp
Integration testing
* [MCO96] McConnell, S., Best Practices: Daily Build and Smoke Test, IEEE Software, vol. 13, no. 4, July 1996, 143144.
5. Big Bang
Ngi ta xy dng mi lin h gia cc n th to thnh mt phin bn h thng hon chnh, sau th nghim phin bn ny. Nh vy ngi ta cn n nhiu trnh iu khin (Driver) mi trnh iu khin cho mt n th, mt trnh stub cho tt c cc n th ca h thng, tr n th chnh phi c kim th bng phng php kim th n v Phng php kim th Big Bang c 2 c im chinh l: Kt hp tt c cc modul kim th thnh 1 chng trnh
22
Nhm3
Kim th tch hp
Integration testing
Khi thc hin kim th tch hp, ngi kim th phi ch r m un quan trng. Mt m un quan trng c mt hoc cc tnh cht sau: (1) Gii quyt mt s yu cu phn mm (2) C mc iu khin cao (cao c trong cu trc chng trnh) (3) Phc tp v khng c li (s phc tp c th c dng lm b ch bo) (4) C cc yu cu hot ng tt. Cc m un quan trng phi c kim th cng sm cng tt. Thm vo , kim th hi quy phi tp trung vo chc nng ca m un quan trng.
* [BEI84] Beizer, B., Software System Testing and Quality Assurance, Van NostrandReinhold, 1984. * [MYE79] Myers, G., The Art of Software Testing, Wiley, 1979.
23
Nhm3
Kim th tch hp
Integration testing
trnh. V th, nhm chng trnh (nhm m un) c to ra tng ng vi tng giai on. Cc tiu ch sau y v cc bi kim tra tng ng vi chng c p dng cho tt c cc giai on kim tra: Thng nht v giao din. Cc giao din bn trong v bn ngoi c kim tra di dng tng m un mt v c tch hp vi cu trc.
Ni dung thng tin. Cc bi kim tra c thit k pht hin li c lin quan
n cu trc khu vc v ton b c thc hin. Kh nng lm vic. Cc bi kim tra c thit k xc nhn cc mc hot ng c thit lp trong qu trnh thit k phn mm c thc hin. K hoch tin hnh tch hp, pht trin cc phn mm pha trn, v cc ch lin quan c tho lun ring mt phn trong k hoch kim tra. Bt u v ngng ngy thng tng giai on c thc hin v cc ca s c sn cho tng m un c kim tra c xc nh. M t ngn v phn mm (nhm v driver) tp trung vo cc c im c th yu cu n lc ln. Cui cng, mi trng v ngun kim tra c miu t. Cc cu trc phn cng bt thng, chng trnh m phng khng chnh xc, v cc cng c kim tra hoc k thut kim tra c bit ch l mt s t trong s nhng ch c th c tho lun. Quy trnh kim tra chi tit cn thit t c k hoch kim tra c m t sau. Th t tch hp v cc bi kim tra tng ng ti mi bc tch hp c miu t. Mt danh sch cc bi kim tra ( sau ny c th xem li) v kt qu mong mun cng c bao gm trong . Mt bn ghi kt qu kim tra, cc vn hoc nhng kh khn c ghi li trong phn miu t kim tra. Thng tin c trong phn ny c th rt quan trng trong qu trnh duy tr phn mm. Mu tham kho ph hp v ph lc cng c trnh by km theo. Tng t nh cc phn t ca cu trc phn mm khc, nh dng miu t kim tra c th i km trong nhu cu cc b ca vic t chc k thut phn mm. Tuy nhin, iu quan trng l phi ch rng quy trnh tch hp (c trong k hoch kim tra) v chi tit kim tra ( miu t trong quy trnh kim tra) l nhng yu t quan trng.
IV. V d
24 Nhm3
Kim th tch hp
Integration testing
Chng trnh c vo 3 gi tr nguyn t hp thoi vo. Ba gi tr ny tng ng vi chiu di 3 cnh ca 1 tam gic. Chng trnh hin th 1 thng ip cho bit tam gic l tam gic thng, cn, hay u. Ba gi tr nhp vo tha mn l 3 cnh ca mt tam gic khi v ch khi c 3 s u l s nguyn dng, v tng ca 2 s bt k trong 3 s phi ln hn s th 3. Khi , mt tam gic u l tam gic c 3 cnh bng nhau, tam gic cn l tam gic c 2 trong 3 cnh bng nhau, v tam gic thng th c 3 cnh khc nhau. M lnh ca chng trnh:
25
Nhm3
Kim th tch hp
Integration testing
Do c t c s kt hp u vo nn trc tin, p dng phng php v th nguyn nhn kt qu. Nguyn nhn l: C 3 gi tr nhp vo u l s nguyn dng. Tng 2 s bt k trong 3 s ln hn s cn li. Hai trong 3 s c gi tr bng nhau. Ba s c gi tr bng nhau. Kt qu l: R1. Thng bo ba gi tr nhp vo lp thnh tam gic thng. R2. Thng bo ba gi tr nhp vo lp thnh tam gic cn. R3. Thng bo ba gi tr nhp vo lp thnh tam gic u. R4. Thng bo ba gi tr nhp vo khng lp thnh mt tam gic.
26
Nhm3
Kim th tch hp
R5. Thng bo li nhp d liu.
Integration testing
Bc tip theo l to bng quyt nh mc vo gii hn. Chn kt qu R1 l u tin. R1 c mt nu nt cc nt 12 v 3 = 1,0. Nt 12 = 1 khi 1 v 2 = 1,1. p dng ln lt cho s c mt ca tng kt qu u vo, ta c bng quyt nh nh sau:
27
Nhm3
Integration testing
5 0
R1 R2 R3 R4 R5
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0 0 0 1 0
0 0 0 0 1
Bc cui cng l chuyn i bng quyt nh thnh cc ca kim th. Cc ca kim th thu c nh sau:
28
Nhm3
Kim th tch hp
Integration testing
STT 1
Cc iu kin C 3 gi tr nhp vo u l s nguyn dng, v tng ca 2 s bt k trong 3 s lun ln hn s th 3, v khng c cp 2 s bt k no trong 3 s l = nhau.
Ca kim th
Hnh ng R1
2,3,4 2,4,3 3,2,4 3,4,2 4,2,3 4,3,2 C 3 gi tr nhp vo u l s 3,3,4 nguyn dng, v tng cu 2 s 3,4,3 bt k trong 3 s lun ln hn s 4,3,3 th 3, v tn ti mt cp 2 s trong 3 s l = nhau. C 3 gi tr nhp vo u l s 3,3,3 nguyn dng, v c 3 s c gi tr bng nhau.
R2
R3
C 3 gi tr nhp vo u l s 1,2,4 R4 nguyn dng, v tn ti 2 s V 5 hon v ca trong 3 s c tng nh hn hoc n bng s cn li. Tn ti mt gi tr nhp vo A,2,2 R5 khng phi l s nguyn dng. -1,1,1 1.1,1,1 V 2 hon v ca mi trng hp
29
Nhm3
Kim th tch hp Ti liu tham kho Software Engineering 5th edition Pressman Unit& integration Testing Cong nghe phan mem_PhanHuyKhanh
Integration testing
The_Art_Of_Software_Testing_Glenford J Myer_John Wiley & Sons Inc Software testing.pdf Foundations of software testing istqb-certification www.vietnamesetestingboard.org
30
Nhm3