121
www.tinhvan.co m CÔNG TY CÔNG NGHỆ TIN HỌC TINH VÂN Trụ Sở chính Tầng 8, KS Thể thao, Làng Sinh viên Hacinco Quận Thanh Xuân, Hà Nội Tel.: +84-4- 5589970, Fax: 5589971 E-mail: [email protected] Văn phòng phía Nam 124 Bắc Hải, phường 6, Quận Tân Bình, Tp. HCM Tel.: +84-8- 9706066, Fax.: 9706077 E-mail: [email protected]

Effective software testing

Embed Size (px)

DESCRIPTION

 

Citation preview

  • 1. CNG TY CNG NGH TIN HC TINH VN Tr S chnh Tng 8, KS Th thao, Lng Sinh vin Hacinco Qun Thanh Xun, H Ni www.tinhvan.com Tel.: +84-4- 5589970, Fax: 5589971 E-mail: [email protected] phng pha Nam 124 Bc Hi, phng 6, Qun Tn Bnh, Tp. HCM Tel.: +84-8-9706066, Fax.: 9706077 E-mail: [email protected]

2. Effective Software Testing11/4/2013H ni, thng 06 nm 2006Cng ty Tinh Vn Lu hnh ni bS trang : 2/78 3. Effective Software Testing11/4/2013MC LCDANH SCH T VIT TT.......................................................................................................5 1.GIAI ON C T YU CU..............................................................................................5 1.1S cn thit ca testers khi d n bt u...............................................................................6 1.2Kim tra cc yu cu...............................................................................................................7 1.3Thit k test Procedures ngay khi c c t yu cu.............................................................11 1.4Cc thay i ca yu cu cn c update...........................................................................13 1.5Developing and Testing da trn mt h thng sn c.........................................................15 2.K HOCH TEST....................................................................................................................17 2.1.Trch nhim v mc tiu test ..............................................................................................18 2.2.Tnh ton cc ri ro..............................................................................................................21 2.3.Xc nh n lc test cn tnh n thi gian b sung cc chc nng ca phn mm............27 2.4.Lu li phn mm trong tr nh...........................................................................................28 2.5.B d liu test hiu qu.......................................................................................................29 2.6.K hoch cho mi trng test..............................................................................................32 2.7.c lng thi gian chun b test v thi gian thc hin test.............................................34 3.TEST PROCEDURE V THIT K TEST..........................................................................42 3.1.S phn chia v thc hin test.............................................................................................43 3.2.S dng Template Test Procedure v cc tiu chun thit k test khc..............................48 3.3.Vic chuyn ho thnh cc test cases t yu cu ca khch hng.......................................51 3.4.SRS l ti liu khng th khng c (nh ti liu sng cn) ca qu trnh test (Living" Documents)................................................................................................................................54 3.5.S dng cc Prototypes........................................................................................................55 3.7.Cc k thut test c s dng khi thit k kch bn test....................................................56 3.8.Trnh s rng buc v chi tit cc yu t d liu trong cc test cases................................59 3.9.p dng Exploratory Testing (test qua ton b chng trnh)............................................60 4.CNG C TEST T NG...................................................................................................62 4.1.Cc loi testing tools............................................................................................................62 Cng ty Tinh Vn Lu hnh ni bS trang : 3/78 4. Effective Software Testing11/4/20134.2.Xy dng 1 tool thay cho vic mua mt tool.......................................................................67 4.3.nh hng ca Automated Tools n n lc test................................................................69 4.4. Tp trung vo nhng g m cng ty cho l cn thit...........................................................73 4.5.Kim tra tool bng cc Prototype.........................................................................................76Cng ty Tinh Vn Lu hnh ni bS trang : 4/78 5. Effective Software Testing11/4/2013DANH SCH T VIT TTSTT 1 2 3 4 5T VIT TT PM PL PQA SQA TLNI DUNG Project Manager Project Leader Process quanlity Asurance Software quanlity Asurance Test Leader1. GIAI ON C T YU CU Chng trnh test s hiu qu nu c bt u ngay khi d n bt u, c ngha khi ny, cc tester phi nghin cu SRS dn dn, v n ko di cho n trc khi vit code.Cng ty Tinh Vn Lu hnh ni bS trang : 5/78 6. Effective Software Testing11/4/2013u tin ti liu c t yu cu s c ph duyt; tip n trong cc giai on sau ca d n, vic test tp trung vo m bo vic coding ca chng trnh l ng. Nh vy, vic sa li chng trnh s c chi ph thp nht do sm loi b c nhng li khng ng vi yu cu khch hng a ra trc khi thit k chi tit hay coding. Mt ti liu c t yu cu cho mt ng dng hay mt h thng phn mm cui cng cng phi m t c cc chc nng chi tit c bn ca ng dng hay h thng phn mm cn phi t c. Mt trong nhng kh khn ln nht pht trin ti liu c t l vic giao tip, tip xc vi ngi a ra cc yu cu lm sao hiu c v nm c cc yu cu h a ra. Tng yu cu phi c bt u mt cch chnh xc, ng v r rng. Nu vy, th ngi c cc yu cu s hiu chng mt cch ng nht, v thng nht. Nu c tnh nht qun trong ti liu c t th ngi i kho st s tp hp c ton b cc yu cu mt cch hiu qu nht. Mt yu cu c a ra cng sm th n s c kim tra v lc bng cch hi khch hng nhng cu hi chi tit. Cc dng cu hi a ra hi khch hng rt a dng m bo rng cc yu cu a ra phi c tnh logic vi nhau v mi ngi hiu chng theo cng mt ngha. 1.1 S cn thit ca testers khi d n bt u. Cc Testers cn phi tham gia t khi d n bt u h c th hiu chnh xc nhng g h phi test v c th lm vic vi cc khch hng khc to ra cc yu cu c th test. Ngn chn li l cch s dng cc k thut v qui trnh gip pht hin ra li v trnh cc li trc khi cc li c nhn rng trong cc giai on pht trin sau . Vic ngn chn li hiu qu nht l khi bt u vit c t ngi dng v nu cc yu cu c c nh, khng thay i th vic pht hin ra li l thp nht: Ch c nhng s thay i yu cu mi c phn nh vo ti liu c t v t s thay i test plan. Nu testers (cng vi cc khch hng khc) c tham gia t u ca 1 d n, h s gip nhn ra s thiu xt, s khng nht qun, s khng r rng v nhng vn khc c th nh hng n cht lng v tnh ng n ca d n. Mt yu cu c th c coi nh thng qua nu nh c th thit k 1 qui trnh trong cc chc nng c th test c, v kt qu mong i l r rng. Testers cn hiu thng nht v mt sn phm t h c th test tt hn v hon thnh test plans, thit k, ti liu, v cc test case. Nu nhm test c tham gia sm th s loi tr c s ln xn v cc chc nng ca phn mm. Thm vo , s tham gia ngay t u s cho php nhm test bit c tng th chng trnh, nhm test s ng vai tr l ngi cui cng ph bnh v hn ch ri ro mt cch ti a. Cc kin thc thu Cng ty Tinh Vn Lu hnh ni bS trang : 6/78 7. Effective Software Testing11/4/2013c s m bo cho cc tester u tin tp trung test cc phn quan trng nht, trnh vic test cc phn khng cn thit nh cc phn rt t khi c s dng. Cc tester cn ng trn vai tr ca c ngi dng, ngi lp trnh v khch hng test. i vi cc d n nh th c th cc tester s tm c ht cc li m khng cn tham gia ngay t u d n. Nhng i vi cc d n ln v phc tp th khng th mong cc tester tm ht ra cc li quan trng nu h ch c tham gia khi phn mm c coding xong. Khng ch cn hiu v u vo v u ra ca chng trnh, cc tester cn phi hiu su hn v nhng g c th xy thng qua qu trnh s dng trong sut qu trnh c t cc chc nng. Vic hiu k c t khng ch lm tng cht lng phn mm v pht trin test Procedure m cn cho php cc tester phn hi li nhng g cha hp l hay cn thiu trong SRS. Chng ny s a ra cch lm th no tm ra cc li mt cch sm nht v cc loi li l li nh th no. Bng 1.1 Table 1.1 Phn lp cc chi ph lin quan sa li t khi n cha c pht hin n khi c pht hin.1.2 Kim tra cc yu cu. Trong tc phm ca Christopher Alexander, ng ta ch ra rng, vic ch ra r rng cc yu cu l phi m t c cch thc thnh lp vic o lng cht lng cho mi yu cu: tng l mi yu cu u c chnh xc c th a ra c cc gii php cho cc yu cu . Cc gii php a ra c sp vo mt trong hai loi l p ng hay khng p ng yu cu. Hay ni cch khc, mt yu cu c cht lng c ngha yu cuCng ty Tinh Vn Lu hnh ni bS trang : 7/78 8. Effective Software Testing11/4/2013 phi c ch ra mt cch r rng, t a ra mt s gii php cho n. Mt s gii php s c chp nhn cn mt s khc th khng. Vic o lng cht lng yu cu c s dng kim tra h thng m i ngc vi cc yu cu . S c gng xc nh n v o lng cht lng a ra cc yu cu hp l, r rng. V d, mi ngi ng vi cu sau: h thng phi cung cp cc gii php tt nhng mi ngi li c cch hiu khc nhau v th no l mt gii php tt. i khi yu cu m khch hng a ra s c gii php tt p ng c, nhng i khi chng li khng c gii php ti u tho mn yu cu . Mt gii php s chng t yu cu r rng hay cha r rng. iu quan trng l cc nguyn tc pht trin yu cu v ti liu phi c xc nh t khi bt u d n. Trong cc phn mm nh, vic phn tch k cc yu cu m bo h thng pht trin ng cch. Cc Use cases l mt cch phn nh cc yu cu v chc nng mt phn mm cn c, t c th hon thin test h thng v cc test Procedure. Trong ti liu ny, hu nh ch gii hn li mt s yu cu chng minh cho mt vi c t phc v cho vic vit cc testcase v mt s loi ti liu khc khi m t chc nng ca h thng. Ngoi cc yu cu v chc nng cn c th mt h thng cng phi quan tm n cc yu t phi chc nng nh m bo l chy c v c tnh bo mt, qu trnh thao tc nhanh chng, tin li. Nh vy chng ta phi la chn cng ngh v mc ri ro. Nhng yu cu phi chc nng i hi h thng c nhng chc nng c trng, i hi phi xc nh mt cch cht ch cch thc m h thng thc hin cc chc nng l nh th no. Cc yu cu chc nng phi i i vi cc yu cu phi chc nng.( Chng 9:Tho lun v cc yu cu phi chc nng) Cc tester s lit k nhng mc cn test trong sut giai on c t yu cu nhm kim tra, xc minh li cc yu cu. Xc nh nhng mc cn test l bc u tin bt li ca chng trnh so vi yu cu, do , cc li ny s khng pht trin c trong cc giai on sau nn vic sa li s c chi ph thp hn v d dng hn. Tt c cc khch hng phi c trch nhim vi nhng yu cu c a ra v thng qua cc thuc tnh ca cc yu cu . S chnh xc ca cc yu cu.Cng ty Tinh Vn Lu hnh ni bS trang : 8/78 9. Effective Software Testing11/4/2013S chnh xc ca cc yu cu cn xt on da trn nhng g ngi dng mun. V d, nh cc nguyn tc hay qui nh c cn r rng hay khng? Cc yu cu c phn nh mt cch chnh xc nh ngi dng a ra hay khng? iu cp thit l khi ngi dng cui cng, hay mt i din thch hp phi c nhng lin quan, rng buc nhau trong sut giai on ca cc yu cu. S chnh xc cng c th c xem xt trn nhng tiu chun nht nh. Vy nhng tiu chun l g? Completeness. S hon thnh m bo rng tt c cc yu cu u c p ng. Mc tiu l trnh khi nhng yu cu khng r rng mt cch n gin nht v nhng yu cu ny thng khng c nhng cu hi ng hay khng c kho st ng i vi cc ngun lc thch hp. Cc Testers nn nhn mnh vo s kt hp vi gia yu cu chc nng v cc yu cu phi chc nng nh vic thc hin ca chng trnh, tnh bo mt, cc tin ch, s tng thch v kh nng truy cp, v nhng yu cu phi chc nng c m t cng vi cc yu cu chc nng. Cc yu cu phi chc nng thng c chia thnh 2 bc: 1. Khi h thng c tnh m th cc yu cu phi chc nng s c a ra. V d, giao din ngi dng ca h thng WEB phi tng thch vi c trnh duyt Netscape Navigator 4.x hay cao hn, v trnh duyt Microsoft Internet Explorer 4.x hay cao hn. 2. Mi c t yu cu nn c c on tiu ti liu yu cu phi chc nng m t mt s yu cu phi chc nng c bit Tnh n nh ca h thng. Tnh n nh ca h thng c ngha l h thng s khng c mu thun gia yu t bn trong v bn ngoi, gia cc thao tc trong 1 module v gia cc module vi nhau. Xt v cu hi S c t l xc nh ni dung bn cht ca cc yu cu. Chng ta c th xc nh cc yu t trong yu cu mt cch r rng v t m. V d, mt c t s dng thut ng viewer nhiu ni trong ti liu nhng vi cc ngha khc nhau tu thuc vo tng vn cnh v y l nguyn nhn trong vic thit k v coding s c nhiu ch khng r rng v nht qun, khi ny yu cu ng nhng b thit k khng chun. S thm tra xc minh mt yu cu. S thm tra xc minh mt yu cu to ra cc tnh hung kim th vi kt qu mong i l r rng v c th thy ngay c. Nu mt yu cu khng c test hay ni cch khc lCng ty Tinh Vn Lu hnh ni bS trang : 9/78 10. Effective Software Testing11/4/2013khng c thm tra, kim th, v thc t v theo logic th ri ro l r rng v yu cu phi c iu chnh. Tnh kh thi ca mt yu cu. Tnh kh thi ca mt yu cu m bo yu cu c thc hin vi s tin cn thc hin, thi gian thc hin, cng ngh v nhng ngun lc khc c qui nh. Necessity. S cn thit kim th, thm tra mi yu cu trong c t lin quan ti h thng. test logic v s cn thit, cc tester phi test ngc li vi mc tiu cn t c ca h thng. Phi chng yu cu ny ng gp vo cc kt qu? Hay n c th ngn khng cho h thng t c mc tiu? Nhng yu cu khc ph thuc vo yu cu ny? Mt s yu cu khng thc s phi l yu cu nhng n li ng gp vo mc tiu ca gii php . Tnh u tin. Tnh u tin cho php mi ngi hiu cc gi tr lin quan ti cc yu cu ca khch hng. Kt qu ca tnh u tin c m t bi 5 mc t 1 n 5 nh gi cht lng ca mt h thng l tt hay khng tt so vi yu cu ra, v nu khng tt th s b pht bao nhiu tin. Nu mt yu cu bt buc phi p ng v n c ngha sng cn n s thnh cng ca h thng th buc phi c v phi chun, nhng nu yu cu khng quan trng n mc th c th c hnh thc l pht tin. Cc bn c th a ra th t u tin cn thit v cc quyt nh da trn s tho hip t thit k h thng. Ci ch cn t c l phi cn bng c gia cc yu cu ca mi ngi dng, chi ph, ri ro lin quan ti cc yu cu. Tnh r rng. Tnh r rng l m bo cc yu cu a ra phi r rng. V d mt yu cu khng r rng nh sau: H thng phi p ng mt cch nhanh chng mi yu cu ca khch hng. Nhanh chng ch mang ngha ch quan v do yu cu l khng th p ng c. Mt khch hng c th ngh nhanh chng ngha l ch trong vng 5 giy trong khi ngi lp trnh cn n 3 pht. Ngc li, mt lp trnh ngh rng ch cn 2 pht hon thnh nhng k s thit k h thng cn nhiu thi gian hn th. h nng kt hp v theo di cc yu cu. Kh nng kt hp m bo mi yu cu c xc nh theo 1 cch m n s kt hp vi tt c cc phn khc ca h thng ni m n s c s dng. Khi yu cu thay i c th xc nh c tt c cc phn khc ca h thng thay i theo.Cng ty Tinh Vn Lu hnh ni bS trang : 10/78 11. Effective Software Testing11/4/2013i vi c tnh ny, mi yu cu coi nh xc nh c lp. iu cn thit l phi lin kt cc yu cu li vi nhau hiu c nh hng ca n ti cc yu cu khc. Nh vy l phi phn chia mt khi lng ln cc yu cu ri lin kt chng li . Suzanne Robertson a ra kin nn c gng x l ng thi mi yu cu mt lc, tt hn l chia nh cc yu cu thnh cc nhm qun l. iu ny c th da trn ni dung ca cc yu cu hoc da trn tnh u tin. lm c iu , s kt ni c hin theo 2 bc: th nht l lin kt cc yu cu trong cng 1 nhm, th 2 l kt hp cc yu cu gia cc nhm.Nu cc yu cu c nhm li sao cho vic kt ni gia cc nhm l nh nht th s phc tp ca vic theo di, kt hp cc yu cu s l nh nht. Vic kt hp, theo di cng cho php tp hp cc thng tin v nhng yu cu v cc phn khc trong h thng c th b nh hng mt khi yu cu ny thay i nh vic thit k, code, test, helpKhi yu cu b thay i, cc tester phi chc chn rng cc mc, cc phn lin quan s b nh hng. Nu cc yu cu l n l th c th xem xt li v c th bt u test li theo s thay i . Pht hin li sm c th gim c cc li gy ln nhng phn khng ng vi yu cu. T , thit k s cht ch hn v chi ph sa li s thp v vic sa li d dng hn. Sau nhng bc trn, cc ng dng s hon thin hn v s cho php t chc thc hin, lp k hoch, theo di tin v test. 1.3 Thit k test Procedures ngay khi c c t yu cu. Cc k s phn mm thit k da trn ti liu c t yu cu. V ti liu ny l rt cn thit nhm test thit k test Procedure. Trong mt vi t chc, vic thit k test Procedure thc hin sau khi phn mm c xy dng xong v ci t cho nhm test, do vy s b thiu thi gian v thc hin test khng tt. iu ny l vn c hu, v nh vy s b b qua mt s yu cu hay li s b pht hin mun hn, thm ch sau khi s n kt thc v khng th test c. Vic vit test Procedure c gng phi thc hin ngay sau khi c ti liu c t. V nh vy test Procedure s c ch hn. Trong qu trnh vit test Procedure s thy, pht hin c nhng thiu xt, lung cng vic khng ng v nhng li khc. Khi test th nn c gng lm nh hng n h thng vi nhng mc c bit, to ra cc b d liu u vo c bit. Qu trnh ny buc phi to ra cc kch bn cho cc yu cu. Nu khng bao qut ht c cc trng hp th cn phi b sung cc trng hp khi pht hin. Nu qu trnh ny sm c thc hin th vic nh hng n thit k s gim i hoc cc giai on sau s cn t thi gian hn. Cng ty Tinh Vn Lu hnh ni bS trang : 11/78 12. Effective Software Testing11/4/2013Nh ni phn 1, vic pht hin li sm lm gim chi ph. Nu li c pht hin cc giai on sau th c th phi thay i cc yu cu, thit k, code, m iu lm nh hng n s tin m bn nh cung cp nhn c, nh hng n k hoch, v tinh thn. Tuy nhin, nu li c pht hin ngay khi c c t th cn xem xt li ti liu , xem cc c t ng hay cha. Qu trnh xc nh nhng li hay thiu xt khi xy dng test Procedure l s cp n vic thm tra li ti liu c t . Nu ti liu m thiu thng tin hay thng tin khng r c th xy dng mt test Procedure, c th l khng lm c nhng test cases th ti liu khng th test c v c th khng thit k c phn mm. Test l m bo yu cu c thc hin v c th c nhng li ngoi l trong khi test. Nhng ngoi l phi r rng. V d, vi yu cu l d liu cc trng phi c lu li trong cc bn ghi trong vng 3 nm khng th thng qua ngay lp tc c. Tuy nhin, yu cu ny khng nht thit phi nh vy. Nu mt yu cu khng c thng qua th khng c g m bo rng n s c thc hin ng. m bo pht trin test Procedure th trong test case phi nu r b d liu u vo l g, cc bc thao tc v kt qu mong i r rng cho mi yu cu. Nh vy th s khng b b qua cc yu cu quan trng. S pht trin test Procedure cng sm c thc hin s cho php pht hin ra nhng phn cha c thng qua. Nu vic ny c thc hin sau khi phn mm coding xong v ghp xong mi gi cho cc tester th test Procedure khng tt l ng nhin bi h khng c thi gian. V d, test Procedure c th b thiu cc trng hp, hoc c th kt qu mong i l khng ng hay b d liu a vo khng chun. V kt qu l li vn xy ra hay yu cu khng c thc hin, thm ch phn mm b tht bi. Cc nh gi sm v cc yu cu ca ng dng c th l nn tng, ct li cho vic xc nh chin lc test. Trong khi xem xt cc yu cu, cc tester cn xc nh nhng g cn test, v d, h s dng cc cng c test, k thut test no bt li; phn no c th test th cng, phn no cn n cc test tool. Trong qu trnh test, h cn xc nh cc yu cu tnh ton phc tp, a dng test nhiu hn hay phi c nhng kch bn c bit. Vic vit test Procedure phi c bt u khi giai on c t yu cu kt thc v s c lp li, b sung nu pht hin thm li. Tuy nhin ti liu ny cng c mc u tin cho cc chc nng no cn test trc da vo ti liu c t. Theo tng th cc yu cu s c chuyn cho cc tester h xc nh li cc yu cu v to kch bn test.Cng ty Tinh Vn Lu hnh ni bS trang : 12/78 13. Effective Software Testing11/4/2013Qu trnh test phi c u tin da trn k hoch thc hin ca d n. Nu thi gian gp qu th u tin cho test xem chng trnh c chy c khng ri mi n test c th cc yu cu sau . Cc yu cu thng l c lc v phn tch thng qua vic xem xt, kim tra. Thng th mt yu cu mi a ra s c mt kch bn r rng trong sut giai on thit k v pht trin. Mi ngi ni rng tt c cc chi tit ca cc yu cu nn c gii quyt trong giai on kho st. Tuy nhin, thc t cc yu cu cu ny thng c tip tc b sung sau . Nu cc yu cu ny c lp li sau ca qu trnh th qu trnh test cng cn lp li. qun l hiu qu cc yu cu pht sinh mi v vic test ch cn quan tm ti phn pht sinh th phi c s gn kt cht ch gia cc b phn trong c qu trnh lm vic ca d n. Nhn vo phn 4 di y ta s thy tm quan trng ca vic giao tip, trao i vi khch hng nhanh chng nm bt c nhng thay i ca yu cu. 1.4 Cc thay i ca yu cu cn c update. Khi qui trnh test da trn ti liu c t, th khi yu cu thay i, nhm test cn phi c thng tin ngay. Tht vy, Nu thay i ca yu cu m khc so vi h thng th phi c update vo ti liu c t. Tester phi chu trch nhim i vi s pht trin v chy c ca h thng nn nu trong qu trnh test, c s thay i v yu cu m h khng c thng bo th dn n bo co li sai, khng t c mc ch ca test v lng ph thi gian. y l mt trong nhng nguyn nhn dn n qu trnh thng k gp cc vn sau: S thay i khng c c s. V d mt ngi no nh PM, ngi giao dch vi khch hng, ngi phn tch bit c s thay i nhng khng ni v update cho lp trnh hay update vo ti liu th lp trnh s lm theo ci c, v n l iu khng ph hp, khng ng vi yu cu ca khch hng t ra. Qu trnh, th tc cn phi r rng cho cc developer, c bit khi c thay i ca yu cu. iu ny thng c gi l Change Control Board, Engineering Review Board hay c ch tng t s c tho lun bn di. Ti liu c t c, li thi. Mt s thiu xt ca tester hay s m t ngho nn c th l nguyn nhn dn n mt tester a ra mt k hoch test hay test Procedure khng tt (v tester ny lm vic vi phin bn c ca ti liu c t). Cc yu cu cn c update vo ti liu ny v phiCng ty Tinh Vn Lu hnh ni bS trang : 13/78 14. Effective Software Testing11/4/2013c t di s qun l (gi l cc baseline)v cn c s thng qua ca tt c mi ngi c lin quan. Li phn mm. Cc developer c th lp trnh khng ng vi yu cu t ra mc d ti liu c t v cc ti liu khc tham kho l ng. V cui cng th kt qu test c bo co. Tuy nhin, nu cc thay i ca yu cu khng c update th cc kch bn trong cc test cases cha chc xy ra. Vy phi chng vn rc ri gp phi ca bt k 1 phn mm no l do ti liu c t, test Procedure hoc tt c nhng iu nu ra trn? trnh xa nhng vn gp phi ni trn th tt c cc yu cu thay i phi c update, nh gi v thng qua ca tt c mi ngi lin quan. Nh vy cn phi c s qun l qu trnh thay i yu cu, v qu trnh ny phi to thun li cho mi ngi. Nu mun c 1 yu cu chnh xc th qu trnh thay i yu cu cn phi nh du thnh nhng chng, mc thun li cho vic thit k, coding v cc ti liu khc lin quan nh cc test Procedure. qun l c hiu qu qu trnh ny, nhng thay i phi c cn c v nh du thnh cc version khc nhau. S thay i phi c xt trn cc im sau: Yu cu c thay i khi no, v thay i l thay i ci g, do ai yu cu v thay i bt ngun t u? Qu trnh thay i ny c th phi vit li ti liu c t t u v cn c review li, deign li, coding li, defect tracking, v test li. Mi 1 yu cu thay i c th c 1 ti liu khc cha y cc thng tin cn thit v s thay i . V n c tp hp li trong Change Control Board (CCB). T chc 1 CCB m bo rng s thay i 1 yu cu hay nhng yu cu khc phi tun theo mt qu trnh c t. Mt CCB thng cha cc thng tin tiu biu v nhng nhm qun l nh nhm qun l sn phm, qun l yu cu, nhm QA cng nh nhm test v qun l mng. Tt c cc khch hng u phi nh gi cc s thay i, cc xut theo kha cnh v u tin, mc ri ro. V d, khi 1 yu cu b thay i, n c th nh hng n ton b test Procedure, n nhiu yu cu khc v n lc test hay vic thc hin yu cu thay i th s thay i ton b cc k thut test hay cng c test t ng. V s nh hng phi c xc nh, phi c trao i trc khi s thay i c ph duyt. CCB xc nh c gi tr ca s thay i , s nh hng ca n, s cn thit v mc u tinCng ty Tinh Vn Lu hnh ni bS trang : 14/78 15. Effective Software Testing11/4/2013( V d, Nu cc thay i d c thc hin ngay lp tc hay khng th n cng phi c th hin bng ti liu c th trong qu trnh thc hin d n) CCB phi m bo rng, yu cu mi c a ra phi nh gi c mc ri ro lin quan v qu trnh ra quyt nh phi c th hin bng ti liu v c thng qua. iu cn thit l tt c cc phn thay i a ra cn nhn bit c, cho php chng ta phn tch c ri ro, lm gim bt nhng nh hng ca n n cc yu cu khc. m bo thc hin c iu ny l s dng requirements-management tool. Cng c ny c th c s dng theo di s thay i yu cu cng nh thay i test Procedure. Nu cc yu cu thay i c phn nh v update trong cc tool ny th tool ny s nh du li chng v c lng c s nh hng ca chng n vic test ra sao (cc yu t khc b nh hng nh design, codingcng c o lng mc nh hng), do cc phn tng ng ca sn phm cng b nh hng theo. Mi ngi s c cc thng tin mi nht thng qua tool ny. Thng tin thay i c qun l thng qua tool cho php cc testers nh gi li kh nng test theo yu cu c thay i cng nh nh hng ca n n cc test Procedure lm nh k hoch test b thay i ra sao.Khi ny ti liu, test procedure phi c xem xt v update li thch hp vi s thay i . Trc khi bt li th phi nh gi li xc nh cc yu cu mi so vi cc yu cu c khc nhau nh th no? Nu nh kch bn test hay cc c ch test c thit lp th chng cn c update. Khi qu trnh c xc nh l mang li nhng thun li, tin ch khi c s thay i ca yu cu th chng trnh test s l hiu qu v do d n thnh cng. 1.5 Developing and Testing da trn mt h thng sn c. Trong rt nhiu d n pht trin phn mm, sn phm c hon thnh m khng c ti liu c t hay ti liu ny rt s si v n da trn cu trc sn c v gi ch vic thit k li v nng cp. Hu ht cc t chc, module trong cc phn mm ny c, v vic test ch l test phn thay i so vi phn mm c m khng mt thi gian phn tch hay vit ti liu cho cc chc nng. V hnh thc m ni th d n phn mm ny s kt thc sm hn v giao cho khch hng sm hn. Nhng tht tic thay, tt c cc d n d l d n nh nht th chin lc s dng cc ng dng c sn cng gp ri ro cho d yu cu khc nhau khng ng k, do chc nng khng thch hp hay vic test khng c thc hin.Cng ty Tinh Vn Lu hnh ni bS trang : 15/78 16. Effective Software Testing11/4/2013Tht kh c kim tra phn mm c thit k trn phn c sn v d liu u vo c th khc nhau v phn mm khng thc hin c. Trong 1 s trng hp, nguyn nhn do d liu u vo lm nh hng, ri lon n d liu u ra. V s l nguyn nhn m developers a ra phng on tt nht v vic sai khc gia 2 phn mm. Tuy nhin, trong nhiu trng hp th cc phn mm da trn phn c sn vn hot ng v c pht trin mc d n c cu trc khc v cng ngh l li thi (v d v mn hnh l khc hay cc version Web l khc nhau), v n tip tc c bo dng v thm cc chc nng mi cn thit. Ngi c lin quan s chu trch nhim v sn phm mi ny s khng bit trc cc li c th xy ra do khng c ti liu c t. Hu ht cc c lng li ca phn mm ch l ngu nhin, khng chun. V hnh thc m ni th li ch khi thit k mt phn mm mi da trn ci c sn l r rng v rt ln. Khi ny cc tester c th so snh u ra ca ci c vi ci mi, nu n khng khc nhau th 2 phn mm ny l tng t nhau. Tuy nhin, iu ny l khng an ton. V nu u u ra ca phn mm c m sai trong 1 vi kch bn th iu g s xy ra? Nu phn mm mi ng th u ra ca phn mm c l sai. hay nu phn mm mi m chy c th test Procedure xy dng cho n v u ra ca 2 sn phm ny l khc nhau. Nh vy nu nh cc yu cu khng c th hin bng cc ti liu th lm cch no tester bit chc chn rng u ra l ng? Ch khi s phn tch phi c thc hin trong sut qu trnh tng hp yu cu xc nh kt qu mong i. Mc d phn mm mi c da trn phn mm c sn nhng c khi cc yu cu ca chng li khc nhau, nh vy cch thc qun l trong trng hp ny l xem xt kt qu mong i, tc u ra ca chng l g. S dng 1 application c fix. Ti sao mt ng dng mi buc phi da trn mt version c bit ca 1 ng dng c? D n mi phi chn 1 version ca ng dng c v l version ban u. Khi lm vic vi 1 version ca 1 application c fix th vic theo di li s thc t hn, chun hn. K t khi chn version th phi xc nh li ca application mi l u m khng quan tm ti vic application c c nng cp, sa li v li khng cn. .Ti liu ca application cCng ty Tinh Vn Lu hnh ni bS trang : 16/78 17. Effective Software Testing11/4/2013Bc tip theo c 1 ti liu c th v application mi l mi mt c trng th vit t nht 1 on th hin, a ra nhiu kch bn v kt qu mong i. C th, s phn tch y cc trng hp c th xy ra. Nhng thc t li phi quan tm ti thi gian v n lc ca ngi test phi b ra nn vic kim tra ht cc trng hp l khng th. Hu ht cc ti liu c t ca application mi khng y m ch c giao din ngi dng. Nu giao din ny khng th c ngha ti liu ny khng t yu cu. Ti liu ca application c nhng c update. Update c ngha l thm hay thay i yu cu cho application .V n s l cn c cho 1 application mi sau ny m application da trn application ny. iu ny s cho chng ta s phn tch r rng cc chc nng sn c v to ra design v test Procedure thch hp. Nu application c chy tt th ti liu c t, test Procedure v nhng ti liu khc vn c th s dng cho appliction mi. Nu vic update khng c thc hin th vic pht trin sn phm mi cng b nh hng. S mu thun gia ci c k tha v application mi s xy ra. Mt s mu thun gia 2 application ny l tng tng, trong khi mt s khc th khng, mt s mu thun th c d on trc trong khi mt s khc th ch c pht hin giai on test. Implement an effective development process going forward. Mc d h thng c c pht trin m khng c ti liu c t yu cu, design hay test Procedure, nhng bt k khi no c chc nng mi pht sinh th khng ch application trc m c application mi cc developers phi chc chn rng qu trnh pht trin c xc nh, v c thng qua trnh a ra nhng sn phm ti. Sau nhng bc trn, cc chc nng mi phi c t di s kim sot c th t chc, lp k hoch, theo di li v test cc chc nng thm mi tt hn.2. K HOCH TEST. C s nn tng c mt chng trnh test thnh cng l phi c mt k hoch test. Mt k hoch test thch hp i hi phi c hiu bit chung v qu trnh pht trin phn mm a ra yu cu thc hin thch hp. K hoch phi c t ra cng sm cng tt khi d n bt u. Bi v khi chng trnh test c t ra v c thc hin thnh cng hiu qu hn l khi code xong mi ln k hoch test. Khi ny, testers hiu c trch nhim ca mnh cn lm nhng g Cng ty Tinh Vn Lu hnh ni bS trang : 17/78 18. Effective Software Testing11/4/2013c th c lng c n lc cng nh xc nh nhng test tool no cn thit cho vic test ngh mua hay c o to.V khi chng trnh ra i l bt tay vo test c ngay. Ngoi ra, tester cn bit c yu cu phn cng phi p ng l nh th no. K hoch c vch ra sm cho php lch test v ngn sch c c lng, c ph duyt v cui cng l tp hp li thnh k hoch ca ton b d n. Khi ny, thi gian mua cc test tool v chun b test hay ni cch khc l thi gian chun b mi trng test v ci t chng trnh test, database v cc phn khc cn c test s sm c hon thnh. Khng phi cc n lc test u nh nhau. Mt k hoch test hiu qu yu cu phi hiu r rng v tt c cc phn v n nh hng n kt qu test. Thm vo , kinh nghim v s hiu bit v test l rt cn thit, bao gm k thut test, qu trnh test, v cc tool, chn chin lc test hiu qu p dng vo test chng trnh. Vic xy dng chin lc test , ri ro, ngn lc, thi gian v tin bc phi c coi trng. S hiu bit v cc k thut test v cch thc s dng chng l rt cn thit c lng, nh gi ngun lc, trch nhim, bao gm s ngi tham gia test, cn bao nhiu ngi c kinh nghim, vai tr v trch nhim ca mi ngi, thi gian v tin bc. C nhiu cch xc nh n lc, bao gm cc phng php t s v s so snh cc n lc trong qu kh ca cc d n tng t cn test. Vic xc nh ny s a ra mt nhm testers thch hp. 2.1. Trch nhim v mc tiu test Ni chung test l vic kim th phn mm nhm m bo chng phi t c tiu chun ra v tho mn yu cu ca khch hng. Nu test tt th cc li c hn ch, thm ch l ht li s gip cc chc nng ca phn mm ny hot ng ng, chun, do vy mc hi lng ca khch hng l cao nht. Mc tiu ca test l tm li v xo b chng to ln phn mm hon chnh. Mt chng trnh vi cc chc nng chy ng khi: B d liu u vo ng th u ra cng phi ng B d liu u vo khng ng th chng trnh s khng cho nhp v c thng bo li hin ln. Chng trnh khng b treo hay crash khi a vo cc b d liu ng hay sai Chng trnh chy ng v cho kt qu mong iCng ty Tinh Vn Lu hnh ni bS trang : 18/78 19. Effective Software Testing11/4/2013 Chng trnh p ng c c cc yu cu chc nng v yu cu phi chc nng. (chng 9, tho lun v cc yu cu phi chc nng) Khng th test ht c cc trng hp ca tt c cc b d liu u vo, ca cc kch bn, cc yu cu chc nng v phi chc nng. Chin lc Test cn c xc nh h tr m bo kt qu l cao nht. Thng th khng th fix tt c cc li m vn cn c li trong phn mm. V vy, phi xc nh li no cn c u tin test trc. Khng nht thit v cng khng cn nhiu chi ph fix tt c cc li trc khi bn giao. Cc mc tiu test cc chc nng, vai tr khc nhau l khc nhau. V d, mc tiu test cc chc nng ca chng trnh khc so vi test cu hnh. Ngi lp k hoch test thng l cc test leader v h phi c trch nhim xc nh mc tiu test l g? N lc test l bao nhiu? Mc tiu test da trn tiu chun ca tng h thng. S hiu bit v trch nhim, phm vi v mc tiu test lin quan, cn thit l nhng im u tin cn c trong mt k hoch test. K hoch test yu cu phi r rng trong cc bc, v nh th mi t c mc tiu ca test. Vy cch no t c iu ? Th nht, ti liu c t phi chun theo cc template t ra, xy dng k hoch test (trong bao gm chin lc test). Tip n l tch cc yu cu thnh cc chc nng ring bit. V cui cng l trao i gia nhm test vi bn design v developer. Cc yu cu lp 1 Test Plan: Hiu h thng. Hiu ton b h thng bao gm vic hiu v cc yu cu chc nng v phi chc nng. Nhm test bt buc phi hiu tt c cc yu cu ny. c nhng vn ri rc nh H thng nn . trong ti liu c t s cung cp mt bc tranh ton cnh bi v cc kch bn v cc chc nng u t m ra. Ti liu s bao gm cc yu cu, cc kt qu mong i cn c. Cc ti liu khc cng gip hiu su hn v h thng nh ti liu high-level business requirements, cc trng hp trong qun l cht lng sn phm v cc tnh hung khc trong kinh doanh. V d, mt h thng h tr phn phi thuc th yu cu hu nh khng c c bt k li no, cn cc h thng kinh doanh th c th chp nhn phn trm li nht nh. S lin quan, gn kt v trao i trong nhm test. Test leader v cc thnh vin ca nhm test cn c mi quan h cht ch vi nhau trong sut qu trnh test k t khi quyt nh u tin v yu cu 1 h thng c a ra. Khi Cng ty Tinh Vn Lu hnh ni bS trang : 19/78 20. Effective Software Testing11/4/2013s lin quan vi nhau c thc hin th mi ngi s trao i vi nhau nhiu hn, t ri ro ca phn mm s gim xung. Hiu r qu pht trin phn mm. Kin thc v nhng c m chung, c bn v qu trnh pht trin phn mm l cn thit thc hin c mc tiu test. Mc d mi thnh vin trong nhm test u n lc pht trin sn phm, nhng mt vi giai on trong qu trnh pht trin sn phm cn c vai tr ca cc SQA v PQA. Test leader cn c ci nhn xuyn sut c th a ra chin lc test hiu qu hon thnh mc tiu ca test. V d: o Phi chng n lc test bao gm n lc ca cc thnh vin c lp, tri vi vic kt hp gia nhm design v nhm developer? o C phi mt "chng trnh cui cng (extreme programming) l chng trnh ang thc hin v testers phi theo phng php ca chng trnh hay khng? o Nhm test l cng cui cng m mt phn mm phi i qua v phi chng nhm test chu hon ton trch nhim v cht lng ca phn mm? Phm vi thc hin. Ngoi vic hiu v cc vn ca h thng, cn phi hiu v cc vn chung v phm vi m nhm test phi lm. T xc nh c phm vi test. Kt qu mong i. Nhng kt qu mong i no cn qun l? Nhng kiu test no m khch hng mong i? V d, ngi dng cui cng s yu cu nhng g khi test? Cc kt qu mong i ti cc giai on test l g? Cc cu hi ny c tr li trong k hoch ca d n. Nhng bi hc. Cc bi hc c rt ra t trc khi c n lc test? Cc thng tin quan trng ca cc bi hc ny rt quan trng khi xc nh chin lc test v xc nh kt qu mong i thc t. Cc mc n lc. N lc xy dng ln h thng l g? S cn bao nhiu developer thc hin h thng ny? Cc thng tin ny rt c ch v phc v nhiu mc ch khc nhau. c lng, tnh ton c cc ch tiu trn cn xc nh mc phc tp ca phn mm yu cu? n lc ca test l bao nhiu? V iu ny da trn t l ca developers v testers l bao nhiu? (Xem phn sau ca chng tho lun cch thc o lng cc n lc ca test). Cc gii php.Cng ty Tinh Vn Lu hnh ni bS trang : 20/78 21. Effective Software Testing11/4/2013Gii php cui cng v phc tp nht s c thc hin hay nhng gii php m chi ph l hiu qu nht s c thc hin? Cc gii php ny yu cu thi gian lp trnh l t nht? bit r, chn la c th ngi lp k hoch phi hiu c cc kiu test c yu cu. La chn cng ngh. Cng ngh no s c chn thc hin pht trin phn mm ny? v nhng yu t tim nng no lin quan khi la chn cng ngh ? Kiu kin trc h thng no c s dng? sn phm l cc ng dng, hay cu trc client server hay ng dng web? Nhng thng tin ny s c xc nh trong chin lc test v cc test tool c chn. Budget. S tin b ra l bao nhiu thc hin, lm ra mt phn mm, bao gm c tin i vi n lc test b ra. Nhng thng tin ny s gip xc nh kiu test ph hp vi mc ph hp. Nhng thc t, s tin c xc nh lm ln mt phn mm li khng tnh n n lc test b ra. Thi gian test (lch test ) Thi gian dnh cho s pht trin v test l bao nhiu? Deadline l g? Nhng thi gian cho testing c c lng khng ng. Yu cu test leader phi lp lch kht vi thi gian kt thc d n. Gii php cho tng giai on. Vic thc hin mt d n c chia ra thnh nhiu giai on. V mi giai on c cc gii php ring. Vic test c th thc hin theo tng giai on v chng c mc u tin v do vic test cng c thc hin theo u tin . Thm vo , thi gian test l cn thit xc nh s tin v lch test c th v nhng phn cn thit khc. Cng nh phn cng cn p ng to mi trng hot ng cho phn mm , nhng nh gi, mua bn v thc hin ca cc test tool. Nu nh vic lp k hoch c thc hin sm th c hi la chn c test tool thch hp s rt cao v vn hnh c test tool l hon ton c th lm c. 2.2. Tnh ton cc ri ro Chng trnh Test c lp, cc iu kin xy ra i vi chng trnh v nhng ri ro phi c tnh ton trc khi a ra chin lc test. Vn ny bao gm cc s kin, hot ng, hon cnh c th xy ra i vi chng trnh test khi thc hin test theo lchCng ty Tinh Vn Lu hnh ni bS trang : 21/78 22. Effective Software Testing11/4/2013 nh, v d nh s ph duyt s tin c thc hin mun, tr hon vic trang b cc cng c, phng tin test hay phn mm ghp xong mun. Chin lc test bao gm cc hot ng c bit phi c thc hin t c cc mc tiu t ra. Nhiu yu t phi c quan tm khi a ra chin lc test. V d, kin trc h thng gm nhiu lp trng ln nhau. Ni chung chin lc test phi kt hp cht ch cc yu t gim ri ro mc thp nht v li, chi ph t nht, thi gian t nht hay nhng li khc. Trong sut qu trnh lp chin lc test th phi c s rng buc, lin quan ca cc yu t, bao gm s ri ro, ngun lc, gii hn thi gian, gii hn s tin. a. Mt chin lc test tt s thu hp trch nhim ca bn test vi cc im sau: Hiu cu trc h thng. Chia nh h thng thnh nhng lp ring r nh giao din ngi dng hay cch thc tip cn database. Hiu v cu trc h thng s gip testers xc nh c chin lc test cho mi lp h thng hay s kt hp gia cc lp vi nhau. (Vic tho lun, bn bc rng hn v vn ny s c nghin cu ti chng thit k cu trc h thng) Xc nh xem c p dng GUI testing hay cc chng trnh test ph tr hay p dng c hai. Khi hiu cu trc h thng th ngi ta s tm ra cch thc tt nht test thng qua giao din ngi dng ( GUI), chng trnh test ph tr hay c hai. Hu ht cc n lc test yu cu vic test c p dng trong c 2 mc , v d giao din ngi dng thng cha m, cc chun mc c s dng v thm tra. Khi xc nh c chin lc test, cc testers nn ghi nh ton b cc trng hp phc tp, cc mc yu cu mang tnh nghip v, cc loi test ph tr nhiu hn l test giao din ngi dng. S d nh vy l do ngn ng v cng ngh lm nn c mt sn phm phn mm l rt phc tp. V d, cc testers cng nn hiu ngn ngn ng C++ khi lp trnh chng trnh bng ngn ng C++, hay GUI tools v GUI testing, mt khc, cha k n cc chng trnh rng hn, cc k nng ni chung, cc nghip v chuyn su (iu ny ph thuc vo cc kiu test) c th yu cu cao hn. Khi xc nh kiu test cho vic trin khai chin lc test, cc testers nn qua tm n cc b d liu a vo cc trng khi test.. V d, mc ch ca cc application l pht trin, tp trung vo giao din ngi dng, c khi chim ti 75% chc nng ca chng trnh, cn 25% l test phn lp ( Vn ri ro ln nht khi test cc application).Cng ty Tinh Vn Lu hnh ni bS trang : 22/78 23. Effective Software Testing11/4/2013Khng th s dng 75% thi gian test phn lp chc nng bi v chc nng chnh cn test l test giao din ngi dng. Theo l thuyt th kch bn GUI s c cp nhiu v n dng nh thnh thi quen t khi b b qua. Nu khng th iu cn thit l phi thc hin phn lp chc nng (test business level). Chng hn nh t l cn xng l 75/25 cho test GUI v business-layer testing c th yu cu 2 phn test GUI v 1 developer test business-layer . Thm vo , testers test theo vng s s dng tt c cc k thut test ph thuc vo qui m v phc tp ca cc application ( test t ng s c bn n trong chng 8) Low-level testing c th khng cn thit ti 75% ca application cho cc record chun v cc m hnh update cc record. Tuy nhin, test GUI yu cu a ra cc b d liu trng hay nhng thiu xt ca mn hnh ti giao din . V d trn gii thch c rng iu quan trng l ti sao chin lc test phi quan tm ti ri ro, s phc tp v cc yu t cn thit. y khng phi l iu cng nhc, tuy nhin, mi mt d n yu cu s phn tch ring ca d n . Chn la k thut test. Vic thu hp cc kiu k thut test nhm gip gim bt s kt hp v a dng ca cc d liu u vo. Cc k thut test rt a dng v n phi c xc nh nh mt phn ca chin dch test. Mt vi k thut test s c bn n trong chng 5. Chn la cng c test. Khi chin lc test c a ra, testers phi xc nh cc cng c test c s dng, bao gm test th cng hay test bng cc tool no? Nu cn thit s xy dng nn mt tool ring thay v phi mua test tool . Chng 7 s bn v cc cng c test t ng. Tin hnh vit kch bn v khai thc cng c test. Ngi thit k test nhng g s quyt nh pht trin cc cng c test t ng. H s a ra cc kin thc v test th cng v cc loi cng c test t ng hin c trn th trng. Nu cc thao tc test khng th thc hin bng tay th tin hnh vit kch bn v khai thc cc cng c test t ng trn nhng kch bn vit . Xc nh nhn lc v kinh nghim yu cu. Cn c vo chin lc test phc tho s c c yu cu v nhn lc v kinh nghim ca c nhn cn c. Nu nh mt phn chin lc test phi s dng cng c test t ng th buc phi c ngi hiu v cng c test t ng . V iu cn thit t ra l cn phi c c nhng ngi test v lnh vc c bit , hay cn hiu l test su v nghip v. Cng ty Tinh Vn Lu hnh ni bS trang : 23/78 24. Effective Software Testing11/4/2013Nu nhm test khng c cc k nng test tt th s gy nguy him v nh hng ti s thnh cng ca phn mm . iu ny s c bn n trong chng 3. Xc nh phm vi test. Testers phi hiu c phm vi cn test l nhng g. Trong mt vi trng hp, v d c th c vn bn xc nhn, trong lit k tt c cc chc nng c yu cu test hay phm vi test. Trong mt s trng hp khc th testers phi t xc nh phm vi test, ngun lc test, lch test, cng c test, ri ro, cc phn khng cn test. Trong , u tin testers phi th hin bng ti liu nhng phn cn test v nhng phn c th b qua, khng cn test. Thit lp nhng phn, nhng tiu chun c loi b. Vic xc nh phm vi test c lin quan mt thit ti vic xc nh cc tiu chun tn ti. Release criteria ch ra rng cng vic test phi c coi nh hon thnh, do , iu quan trng l chng phi c th hin di hnh thc vn bn trc . V d, Tiu chun loi b c th l nhng phn c rt t li v li l rt nh. Bt k khi no th cc li nguy him hay nhng li lm cho chng trnh khng chy c phi c fix trc khi xc nh loi b nhng phn no. Nhng phn c th b qua khc c th c xc nh r rng vi nhng chc nng c u tin mc cao. Lp lch test. Chin lc test phi c xc nh trc xc nh n lc test. Lp lch chi tit cho vic test l rt quan trng trnh vic thc hin chin lc test khng ng nh yu cu t ra. Quan tm ti cc giai on test. Cc giai on test khc nhau p dng cc chin lc test khc nhau. V d, trong sut giai on test chc nng ca chng trnh, vic kim th cc chc nng xem n c hot ng c khng. Vy, k hoch t ra chin lc test p dng cho giai on no ca h thng. Hiu cc giai on test l rt cn thit a ra cc chin lc test cho mi giai on. C vi vn cn c quan tm khi a ra chin lc test. Nu khng c thi gian hiu h thng mt cch tng tn th hiu c ri ro ca d n l rt kh khn, m iu ny li rt quan trng khi xy dng chin lc test. Kch bn ri ro phi c lp trc v cn c qun l. khc phc c vn ny th nhm test phi u tin cho nhng yu cu v ri ro c hu trong mi giai on. Nhm test phi xem xt li cc chc nng chun v cc phn ri ro cao ca h thng, v quan tm ti cc thng tin ny khi xc nh mc u tin cho cc yu cu cn test. Cng ty Tinh Vn Lu hnh ni bS trang : 24/78 25. Effective Software Testing11/4/2013Khi xc nh th t cc phn cn test, nhm test nn xem xt li cc yu cu m bo rng phn no cn c u tin, k t cc chc nng chun nht n cc chc nng khng chun nht. D liu u vo ca ngi dng cui cng c xc nh lin quan cht ch ti s quan trng ca chc nng. Danh sch cc yu cu u tin nn c nhm test lit k c th. Thm vo , cc phn u tin ca cc chc nng rt c ch nhm cc yu cu thnh cc nhm chc nng lin quan hay thnh cc kch bn, cc lung cng vic. b. Danh sch cc cc tiu chun di y nhm xc nh th t cc nhm yu cu da trn yu cu ca Rational Software Corporation. Mc ri ro. Sau khi nh gi ri ro, yu cu test u tin c a ra nhm m bo gim mc ri ro cho cho h thng. Cc khon mc c ri ro cao c th l nhng chc nng nhp m khng cho nhp d liu vo h thng, v d, cc nguyn tc lm vic c th lm ph v cu trc d liu hay kt qu l vi phm cc nguyn tc . Tnh cht hot ng. Mt s yu cu test c sp xp theo th t u tin bi v chng c p dng cho cc chc nng thng xuyn c s dng hay nhng phn kin thc b thiu ht ca ngi s dng cui cng. Cc chc nng gn lin vi cc ngun lc k thut hay nhng ngi mi bt u s dng hay nhng chc nng khng c thng xuyn s dng n th s ng cui cng trong th t u tin. Yu cu ngi dng. Mt vi yu cu test c tnh cht quan trng, nh hng ti s chp nhn ca ngi dng. Nu vic test khng nhn mnh vo cc yu cu ny, kt qu phn mm s gp li hoc t cng ty sn xut phn mm trong tnh trng khng c li v mt ti chnh. V iu quan trng l n nh hng trc tip ti ngi dng cui cng v s nh hng ti khch hng tim nng ca cng ty trong tng lai. Ngun lc sn c: Yu t u tin trong test Procedure l ngun lc sn c. Nh tho lun trc , thit k test c s rng buc, bao gm gii hn nhn lc tham gia test, gii hn phn cng v tnh i lp ca cc yu cu ca d n. y l qu trnh kh khn ca vic tho hip thc hin. c. Hu ht ri ro xy ra do cc nguyn nhn sau.Cng ty Tinh Vn Lu hnh ni bS trang : 25/78 26. Effective Software Testing11/4/2013 Thi gian hon thnh phn mm ci t cho khch hng ngn. Thi gian d n nn dnh nhiu hn cho pha lp trnh. Nh cp trc , ngn sch v thi gian xc nh cho 1 d n rt kht khe, trong k hoch pht trin, khng c thi gian cho cho nhn lc test, m vic hon thnh v ci t 1 phn mm cho khch hng ch thng qua vic tham kho kinh nghim hay nhng k thut o lng hiu qu khc. Mt ngi qun l test tt cn hiu mt cch chc chn, nhanh nhy v h thng khi thi gian xy dng h thng c gii hn. Chin lc test phi thch hp, va khp vi thi gian c cn sn. Nu c vn cp thit th cn ch ra ngay lp tc cn iu chnh chin lc test hoc chp nhn ri ro ca h thng nu khng c thi gian dnh cho vic test. Qui trnh thit k mi. Gii thiu v qui trnh thit k mi, bao gm cc cng c thit k, k thut thit k v ri ro gia tng. Cng ngh mi. Nu cng ngh mi c thc hin, ri ro xy ra l c th cng ngh khng chy c. N s hiu lm yu cu, hay thc hin khng ng cc yu cu, m cng c th cc yu cu s b chp v. S phc tp. Vic phn tch cc ti liu test phi c thc hin xc nh chc nng no l phc tp nht v tp trung tm kim li trong chc nng v cc phn khc chu nh hng ca li nh th no. Nhm test ln tp trung vo chc nng . Mc s dng thng xuyn ca ngi dng. Cc chc nng thng xuyn c s dng lun tim n li (li ca h thng) v c kh nng ri ro cao nu phn ny b li. V vy, phn no ngi dng s dng nhiu cn c test k hn. Cc yu cu khng test. Cc yu cu chc nng v phi chc nng nu khng c test (b b xt) th ri ro h thng khng thnh cng l rt cao. Tuy nhin, nu nhm test kim tra, nghin cu cc yu cu ny trong giai on nghin cu c t yu cu ca phn mm (c xem xt trong chng 1), th nhng ri ro ny l nh nht. Khi ri ro xy ra, chng ta cn nh gi, sau tm cch khc phc nhm gim ri ro. Vic nh gi ri ro quan tm ti kh nng, xc sut xy ra ri ro v s dng mt vi m hnh nhn din ri ro cng nh ln chin lc gim ri ro. Tm quan trng v mc Cng ty Tinh Vn Lu hnh ni bS trang : 26/78 27. Effective Software Testing11/4/2013nh hng ca ri ro cng cn c nh gi. Chin lc gim ri ro nn c xc nh cho cc yu cu c kh nng xy ra ri ro cao nht. Thng th chng trnh cho php cha mt vi li, nhng cc li ny t khi xy ra do ngi dng t khi s dng. Vn kh khn l lm cch no nh gi ri ro mt cch chi tit nht. Mi ngi nn tp trung ng gp cho qu trnh nh gi ny, ngay c nhm di din khch hng(qun l sn phm) , ngi dng cui cng, cc c t yu cu, pha lp trnh, testers v QA. Mc ri ro cn c thng bo, a ra cho mi ngi cng bit cng c quyt nh gim thiu, ngn chn chng. Nu ri ro qu cao, h thng rt c th khng chy c, b tm ngng hay gin on. Phn tch ri ro a ra cc thng tin h tr test manager hay test leader ra quyt nh thch hp nh phn cng nhn s test c kinh nghim, c k nng tt nhm test k trnh, gim ri ro. Sau khi nh gi ri ro, xc nh c cc yu t dn n ri ro l g, v ri ro c th xy ra l g, cc phn b nh hng. T , a ra hng gii quyt. Chin lc gp phn gim ri ro: Test engineer hay test manager cn xc nh cc phn ri ro nht, cc phn c th c nhiu li nht, v tp trung vo chng. Mt khc, phi xc nh cc vn , cng vic cn lm gim ri ro, v mc nh hng l nh nht. Vic kim tra cn thn cc mc tiu cn t, ri ro l cn thit nhm a ra chin lc test hp l. 2.3. Xc nh n lc test cn tnh n thi gian b sung cc chc nng ca phn mm. Vic thc hin cc tnh nng ca phn mm phi c tnh u tin. S u tin ny da vo yu cu ca khch hng hay s cn thit phi a ra c cc yu t ri ro u tin. Tuy nhin, k hoch test v k hoch pht trin khng ch da vo tnh u tin v mc ri ro m cn da vo thi gian b sung cc tnh nng ca phn mm c th test tip v hon thnh cng vic test ca 1 d n. iu quan trng l thi gian b sung cc tnh nng ca phn mm, bao gm thi gian b sung cc chui hnh ng c lin quan ti qu trnh test, do vy, trong k hoch test cn c thi gian cho vic test b sung ny. Chng ta s thy tc dng ca vn ny hn trong vic thi gian test l c hn. Khng nn thay i thng xuyn lch ca cc tnh nng v nu c 1 thay i tnh nng dn n thay i trong k hoch pht trin hay k hoch test.Cng ty Tinh Vn Lu hnh ni bS trang : 27/78 28. Effective Software Testing11/4/2013Chc nng u tin l chc nng ch yu v c bit ca chng trnh. Trong hu ht cc trng hp, lch ca pha pht trin nn tp trung cho cc chc nng ch yu, quan trng u tin. Testers cng s test cc chc nng ny u tin. a. Danh sch cc chc nng u tin test trc da vo cc tiu chun khc nhau: Gim ri ro: Nh tho lun, chng ta cn quan tm n mc ri ro c xem xt trong k hoch pht trin v chin lc test ra sao. Cc chc nng c ri ro cao th cn u tin v tn nhiu n lc hn. Gim phc tp: C pha pht trin v test c gng u tin thc hin chc nng c tnh phc tp nht. Nhng iu khch hng yu cu v cn thit. Khuynh hng ca hu ht cc d n phn mm u tin cho cc chc nng m khch hng yu cu v cn thit. Cc chc nng ny s c ly lm chun, ct li marketing v bn sn phm. Rng buc v ngn sch. Phn ln cc d n phn mm u vt qu ngn sch cho php i vi phn mm . iu cn quan tm l phi ch trng vo ngn sch dnh cho pha test khi test cc chc nng u tin. V cc chc nng ny mang tnh quyt nh s thnh cng ca phn mm. Rng buc v thi gian. Vn cn quan tm l s rng buc v thi gian khi test cc chc nng c tnh u tin khng c quan tm ng mc, khng c qun l r rng. Rng buc v con ngi. Khi lp lch cho cc chc nng u tin th ngi lp lch nn ch , quan tm ti nhn lc c sn. Nhng ngi ch cht s thc hin test cc chc nng ny s m bo khng b xt trng hp v thi gian v mt s vn khc l c gii hn v b rng buc. 2.4. Lu li phn mm trong tr nh. Khi ln k hoch test th tester phi hiu c cc vn sau ca phn mm: Bn Beta hay bn trc khi ci t chnh thc cho khch hng. Nhm pht trin s b sung cc chc nng cn thiu vo cc bn Beta vi cng ngh ring r. Nhng khi test th phi test chng trn nhiu cng ngh khc nhau a ra nh gi cho pha pht trin cng sm cng tt. Cng ty Tinh Vn Lu hnh ni bS trang : 28/78 29. Effective Software Testing11/4/2013 Cng ngh mi hay cng ngh sc bn. S b sung, thay i cng ngh d dn n s sp h thng. Trong mt s trng hp cng ngh mi c th gy ra nhiu vn v phi lp trnh li. V d, mc ch ca lp trnh l thc hin 1 gii php s dng phin bn Beta nhng khi phin bn ny ra i, th vic thay i cng ngh ng ngha vi vic phi thit k, cu trc li h thng. M iu ny c ngha, h thng cn phi test li, n lc test tng ln. Thc hin cc giai on. u tin thc hin phin bn u tin ca h thng v cc chc nng c sn. V d, h thng phi tr ra giao din ngi dng khi nhp d liu vo v giao din ny phi c d liu nu d liu l hp l. K hoch test phi a ra cc iu kin la chn khc nhau cho vic x l v lu d liu. Li. Li c th c pht hin t 1 trong nhng phn c vn v test Procedure khng th thc hin ton b tt cc tnh hung c th. Trong giai on cu trc h thng, phi u tin vic tm ra cc li nu h thng c nhiu li sa. vn dng mt cch thch hp, ng n gii php ny, cn c s trao i gia testers v lp trnh sa ngay li khi pht hin. Phn mm ng gi hay tng phn. Bn cung cp phn mm c trch nhim cp nht chnh xc cc phin bn v gii thiu v cc chc nng mi. Nu h thng cha c test s thiu tnh chn thc khi cp nht cc thng tin v chng trnh. Do vy, trong k hoch test cng cn xc nh n lc cho cc ln test cc phin bn mi. V d, khi mt phin bn mi ra i, nhiu ngi s cp nht phin bn mi ny. Nu phin bn mi khng c test s khng m bo n tt hn ci c. 2.5. B d liu test hiu qu. Trong sut qu trnh thit k chi tit cc test procedures ( c ni n trong phn 3), d liu test cn c kt hp cht ch trong cc test cases, hay ni cch khc n c to thnh mt vng quay d liu. Chin lc test hiu qu yu cu c b d liu cn thn. S l khng hiu qu nu test chc nng vi b d liu ngho nn. Ngc li, vi b d liu tt gip nng cao hiu qu ca vic test chc nng, gim n lc test. Khi cc yu cu ca khch hng cn m h th vic chun b b d liu chun s gip khch hng tp trung, hiu r cc giao dch, thao tc m h cn.Cng ty Tinh Vn Lu hnh ni bS trang : 29/78 30. Effective Software Testing11/4/2013Mt b d liu chun v ti liu thit k test chi tit c ch rt nhiu cho pha pht trin. Thm vo , b d liu chun cn cho thy cu trc ca d liu, thnh phn ca b d liu chun, nguyn tc s dng v nhng thng tin hu ch khc. Ti liu thit k, gin database c bit cng c th gip xc nh cch thc nh hng ca h thng ti database ra sao. Khng th test ht s kt hp gia cc b d liu u vo v u ra. Tuy nhin, cc k thut test cng gip gim bt cc b d liu u vo v ra v s kt hp gia chng. S kt hp lung d liu trong cc test case, gip cho vic xc nh ng dn cho cc d liu ny. Test iu kin bin l mt k thut test khc. D liu test c chun b cho tng gi tr bin (gii hn s lng v ni dung d liu, thit t trong phn thit k h thng). H thng thng thay i gi tr bin ca chng. Li thng xy ra phn gi tr bin nn vn l phi c k thut xc nh ng c cc gi tr bin. Cc gi tr bin nn c lit k thnh 1 danh sch trong ti liu c t yu cu. V d, h thng s cho php nhp liu gi tr t 1 n 100 trong danh sch cc quyn la chn. Trong v d ny, cc gi tr cn test l 101, 99, 100 v 1, khng nhp gi tr no v gi tr 0. Khi gi tr bin khng c m t trong SRS, khi lp k hoch test, phi tm hiu h thng v a ra cc gi tr bin cn test. V iu ny li rt ph bin. Lp trnh thng khng xc nh c gi tr bin cho n khi chng trnh c test v tester trao i li. C cch kim tra pht hin gi tr bin ca chng trnh l s dng cc prototypes. Chiu su ca vn . Nhm test cn quan tm ti dung lng database. Nhm test cn xc nh 10 bn ghi hay cc bng d liu thch hp, hay 1000 bn ghi cn thit kim tra dung lng database. Vic test c thc hin cc giai on khc nhau v cc kiu test cng khc nhau, do vy, nn tng dung lng database vic test hiu qu. V d, vic test performance v test volume thc hin c vi 100 bn ghi nhng cha khng nh chc chn rng, database cha c 1000.000 bn ghi. (Xem thm chng 9 hiu r hn v performance testing). S a dng Ngi thit k test phi tng hp cc yu cu thay i v th hin n thng qua cc gi tr ca d liu (v d, 10.000 trng khc nhau cha cc gi tr d liu khc nhau v cc kiu trng khc nhau th cha cc kiu d liu khc nhau). Mt ngi thit k test tt s tnh ton c s thay i ca d liu v bit c khong d liu tng t nhau cng cho ra 1 kt qu mong i.Cng ty Tinh Vn Lu hnh ni bS trang : 30/78 31. Effective Software Testing11/4/2013Testers cn quan tm ti cc bn ghi cha cc d liu khc nhau. V d, gi tr ca 1 trng c th cha gi tr m hay cc gi tr nh (v d 100$), gi tr trung bnh (v d 1000$) hay gi tr ln (100.000$) v rt ln (10.000.000$). Testers cng cn quan tm ti cc kiu d liu khc nhau. V d, ti khon ca khch hng ti ngn hng cn phn bit theo nhiu cch khc nhau, bao gm, ti khon tit kim, ti khon thanh ton sc, ti khon cho vay.. Phm vi. Phm vi d liu test cn thch hp m bo tnh chnh xc, cc mi lin quan v mc hon thnh ca d liu. V d, khi vic test nhm xc nh s a dng cc loi ti khon ngn hng, nh xc nh cc ti khon c gi tr ln hn 100$ th khng nhng cn test vic hin th c tt c cc ti khon c gi tr trn 100$ m cn test vic nhp thm d liu, v xem d liu nhp thm c c phn nh vo c s d liu khng. Vic hon thin d liu test m bo test c tt c cc d liu validate (cc d liu c s dng khi nhp vo c s d liu) v h tr vic nh gi kt qu ca sn phm. m bo tnh ton vn d liu trong sut qu trnh test. Nhm test phi m bo tnh ton vn ca d liu trong sut qu trnh test. Testers cn tch bch, phn chia d liu, sa d liu v quay tr li database xem trng thi ban u ca d liu. Nhm test phi ch , khi c nhiu ngi cng test 1 lc th d liu test ca ngi ny s nh hng n d liu ca ngi khc. V d, nu 1 ngi trong s sa d liu trong khi ngi khc ang test phn lin quan ti d liu th rt c th kt qu test ca ngi th 2 s khng nh mong i. Mt cch ngn chn s nh hng test ca tester ny n tester khc l s tch bch v database ca 2 testers hoc phn chia v cc file d liu ca mi tester. Mt cch khc l phn chia mi tester s thc hin test cc chc nng khc nhau trnh s chng cho v d liu. Cc iu kin. S thit lp d liu c to ra phn nh cc iu kin c bit trong cc vng d liu khc nhau ca h thng. iu ny c ngha l cc kiu d liu c thit lp ch sau khi thc hin cc thao tc c bit. V d, h thng ti chnh thng c kho li cui nm. C ngha, cui nm d liu c lu li, iu ny a ra trng hp test trng thi d liu cui nm m khng cn nhp d liu u nm (c cui nm th s liu c cht li, d liu cui nm nay l d liu u nm sau). Vic to ra d liu test c s liu cui nm khng b rng buc. khi , tester c th c d liu cui nm m khng cn nhiuCng ty Tinh Vn Lu hnh ni bS trang : 31/78 32. Effective Software Testing11/4/2013thao tc nhp d liu vo trng thi cui nm (h thng t tnh ton v a ra con s cui nm). xc nh c cc d liu test theo yu cu, cn lit k bng danh sch cc d liu trong 1 ct v yu cu test d liu trong ct khc. Gia cc yu cu, iu quan trng cn ch ti ln v di d liu cn thit. Trong khi mt nhm t d liu thch hp, hiu qu cho vic test chc nng, nhng test c hiu nng th li cn s lng d liu rt ln. nhp c mt s lng ln d liu c khi phi mt vi thng. Nhm test cn c k hoch v nhn lc, thi gian t c, to ra v pht trin d liu test. C ch cho vic lm mi database c c trng thi ban u m bo cho vic test tt c cc tnh hung (cho c vic test li), cng phi c xem xt v a vo cc ti liu k hoch test ca d n. Testers phi xc nh tn v khu vc database thch hp test. D liu thng c chun b trc khi test. Vic chun b d liu c th lin quan ti vic x l d liu th dng text hay file, kim tra tnh chc chn ca d liu v phn tch b su cc yu t d liu. Bao gm nh ngha d liu test cho cc test case (cc tiu chun nh x), lc cc nh ngha v cc yu t d liu. Xc nhn li cc yu t chnh, nh ngha cc tham s d liu cho php nhp. chun b d liu, cng nh chun b cc kch bn pht trin v kch bn test, nhm test phi vo trong database v sa nhng g cn thit. Da vo iu ny, chng ta thy rng s tn ti cc d liu c sn m khng phi do 1 tester no nhp vo khi test, iu ny bao hm c s bin i ca d liu. im thun tin ca d liu tu thch l c th kt hp v s dng cc mu d liu khng c trong phn nhp vo ca tester . 2.6. K hoch cho mi trng test. Mi trng test bao gm tt c cc yu t h tr vic test nh d liu test, phn cng, phn mm, mng v cc iu kin khc. K hoch v mi trng phi xc nh ai v my ngi a ra vic tip cn mi trng test, v ch nh s lng y my tnh cung cp cho cc c nhn ny (Vic tho lun gia cc thnh vin trong nhm test c tho lun trong chng 3). Trong chng ny, thut ng production environment lin quan ti mi trng thc hin ca phin bn phn mm cui cng. Mi trng ny c ci t t my n n tt c cc my trong mng internet. Trong khi test unit v test tch hp c thc hin bi mi trng ca pha cc lp trnh vin th test h thng v test ca ngi dng cui cng c thc hin bi vic thit lp mi trng test ring bit. Mi trng ny c cu hnh ging vi khi ci t cho khch Cng ty Tinh Vn Lu hnh ni bS trang : 32/78 33. Effective Software Testing11/4/2013hng, hay ni cch khc, n m bo chng trnh s chy tt. Cu hnh mi trng test phi i din c cho mi trng ca phin bn cui cng i ci t cho khch hng bi v mi trng test phi l bn sao ca cu hnh c s ca production environment m ra cu hnh lin quan c th nh hng ti h thng nh phn mm k vi phn mm ang test, cc nhm v cc phn b firewall. Tuy nhin, Cu hnh bn sao mt cch y ging ht vi cu hnh ca production environment thng khng thc hin c do s rng buc v ngun lc v chi ph. Sau khi c cc thng tin v mi trng test v cc thng tin khc lin quan ti cng vic test, nhm test phi bin tp c cc thng tin v chun b ngun lc thit k mi trng test nh sau: M t kt qu t c t mi trng test tu thch, bao gm cc phn mm h tr, phn cng ..M t phn cng bao gm cc yu t nh phn gii ca video, khon trng ca a, tc x l v cc thng s v b nh, cng nh cc thng s my in (bao gm, loi my in, cng sut, ) Xc nh mi trng test nh a, a ghi CD (CD-R) cho php lu tr cc file c kch thc ln (cc file ny c ghi theo mt cch c bit trn h thng my clientserver). Xc nh c im ca mng trong mi trng tu bin nh s dng ng truyn thu, modem, kt ni Internet, v cc giao thc nh Ethernet, IPX, v TCP/IP. Trong trng hp client-server hay Web-based system, xc nh cc thng s m server, database v cc thnh phn khc yu cu. Xc nh cc test tool v cc licenses cn yu cu. Xc nh cc phn mm khc cn c thc hin test nh cc b x l word, cc bng tnh v cc phn mm v bo co. Khi xc nh mi trng phn cng cn thit test, cn quan tm ti cc yu cu v d liu test, bao gm, ln ca database. iu quan trng m bo my mc c cng sut v ngun lc ci t d liu l dung lng da v kt ni mng sn sng. Quan tm ti cc ngun lc c bit cn thit cho vic cu hnh test nh chuyn cng v phn mm x l nh. Theo cc yu cu chun b trn, nhm test pht trin mt mi trng test bao gm cu trc mi trng thit k ho vi mt lot cc thnh phn c yu cu h tr cho cu trc trn. Danh sch cc thnh phn h tr trn cn c xem xt c th thay th c, c th di chuyn t vng khc sang v phi mua c. Cng ty Tinh Vn Lu hnh ni bS trang : 33/78 34. Effective Software Testing11/4/2013Danh sch cc thnh phn c th mua c bao gm danh sch cc thit b test c th mua c. N lit k s lng cc yu cu, gi n v, chi ph bo hnh bo tr. Nhm test yu cu 1 s phn c th backup m bo thao tc test tip tc nu phn cng khng p ng.2.7. c lng thi gian chun b test v thi gian thc hin test. Trc khi hon thnh k hoch test v chin lc test tt nht, iu cn thit l c lng thi gian ca pha pht trin hon thnh code. Theo d liu lch s, n lc ca pha pht trin chim nhiu nht so vi n lc ca ton b d n. Thi gian cn cho vic m bo cht lng phn mm cn xc nh trong thi gian ca d n, c th l thi gian dnh cho test phn mm, thi gian test thng c c lng thng qua thi gian bit trc ca pha pht trin hay ca ton b d n. Tuy nhin, vic test c th thay i (thay i cc phn cn test .)nn thi gian test thng khng c c lng ng theo cch ny. C rt nhiu yu t nh hng ti n lc test cn c c lng. N lc test p dng cho d n c bit ph thuc s lng cc bin s nh hng. iu ny ph thuc cch thc t chc v ngy ht hn test, s phc tp ca phn mm, phm vi test, k nng ca c nhn thc hin test. Cc iu kin ny c coi nh u vo cho vic xc nh thi gian test cho mt module. Tuy nhin, vic a ra nhiu yu t nh hng n n lc test nhm a ra phng trnh xc nh thi gian thc hin test nhng iu ny cng kh phc tp. V ngi ta thng c lng thi gian test theo cch n gin hn. Vi tng ny, thi gian test lun c c lng bt u bng vic xc nh cu trc phn tng cng vic ( work breakdown structure (WBS)) hoc danh sch cc phn test chnh c xc nh da vo cu trc phn tng cho test. c hiu qu nht, phng php c a ra y phi p ng c c qu trnh v s cn thit m cng ty cn t c. a. Phng php t l vi pha pht trin. Xc nh n lc test da trn n lc ca pha pht trin c gi l Development Ratio Method. Phng php ny nhanh v d dng cho vic o lng n lc test. Thut ng developers trong trng hp ny bao gm cc c nhn c ch nh thc hin thit k, vit code v test unit. Cng ty Tinh Vn Lu hnh ni bS trang : 34/78 35. Effective Software Testing11/4/2013Kt qu ca phng php l a ra t l ph thuc ca n lc test da vo n lc pha pht trin, v c trnh by bng 12.1. T l trong bng 12.1 c p dng khi phm vi test lin quan ti vic test chc nng v test hiu nng ca giai on test tch hp v test h thng. Ch rng t l cc thnh vin test so vi cc thnh vin pha pht trin ph thuc vo loi v phc tp ca phn mm. V d, khi pha kinh doanh k c 1 hp ng ln th cn tng n lc test. Khi ny, t l testers so vi deverlopers tng (nu coi cc yu t nh hng khc khng thay i). Ngc li, t l ny s nh hn. Thm vo , thi gian ca qu trnh pht trin phn mm c th thay i nn t l ny cng phi thay i theo. Trong sut giai on test sau , khi lch test qu kht nhau hay deadline ca test sp n th developers, PQA, v PM cn gip testers. Trong tnh hung ny, t l ca testers so vi developers s tng, thm ch s testers cn nhiu hn developers. T l thc t thc hin s da vo ngn sch sn c v ph thuc ngi ra quyt nh, s pha tp ca phn mm, hiu qu ca vic test v nhiu yu t khc na. Bng 12.1. Thi gian test da vo pha pht trin. Loi sn phmS lng T l ca Developers v S lng Developers Testers TestersSn phm thng mi (th trng ln) Sn phm thng mi (th trng nh) Tch hp v pht trin cho my client Cc phn mm cho Chnh Ph, Nh nc (trong nc) Phn mm cho cc t chc trong nc303:220303:110304:17305:16304:17Note: T l trn s khc v n cn ph thuc phc tp hay phn mm c t li b. Phng php t l gia cc nhn vin trong d n. Cch khc c lng thi gian test l da vo t l nhn vin tham gia d n . Phng php ny c chi tit bng 12.2. Phng php ny da vo s ngi tham gia Cng ty Tinh Vn Lu hnh ni bS trang : 35/78 36. Effective Software Testing11/4/20131 d n, bao gm tham gia kho st yu cu khch hng, cu hnh h thng, qun l qui trnh (PQA), deverlopers v QA tnh ton s ngi v thi gian test. Phng php ny c gi tr c bit khi s ngi thc hin cng vic pht trin thng xuyn thay i hay rt kh xc nh s ngi tham gia pht trin. Trong vic tnh ton s ngi test trong bng 12.2, gi thit l phm vi n lc test bao gm c vic nghin cu SRS, test cu hnh h thng, test qu trnh x l lin quan, test chc nng v test hiu nng ca giai on test tch hp ve test h thng. Vic chn con s 50 trong ct "Project Staffing Level" nhm n gin ho vic tnh ton gi tr ca ct "Test Team Size". column. Tt nhin s lng ngi tham gia d n c th t hay nhiu hn. Bng 12.2. S Tester c tnh ton da vo s lng nhn vin ton d n. Type of Produces Project (Loi sn phm) Staffing Level (s nhn vin tham gia d n) Sn phm thng mi 50 (th trng ln) Sn phm thng mi 50 (th trng nh) Tch hp v pht trin 50 cho my client Cc phn mm cho 50 Chnh Ph, Nh nc (trong nc) Phn mm cho cc t 50 chc trong ncTest Team SizeS Testers271316814711514lng7c. Phng php test procedures. Cch khc o lng n lc test l s dng khi lng chng trnh test o lng, c th hn l da vo s lng test procedures ca d n c lp k hoch o lng. Phng php ny c phn b hn ch do ph thuc vo s lng test proceduresCng ty Tinh Vn Lu hnh ni bS trang : 36/78 37. Effective Software Testing11/4/2013ca d n m khng tnh n cc nhn t nh hng ti n lc test. Phng php ny l s kt hp vi 1 phng php trong hng lot cc phng php khc. p dng c phng php ny, cc Test Procedure ca d n cng nh qu trnh thc hin d n cn c ghi li ngay t u c d liu nh gi, nh vic ch ra cc chc nng, s lng test procedures s dng v kt qu n lc test c o lng vi n v l s gi/1 tester Tr s qui m pht trin c ti liu ho di dng nhng dng m lnh (lines of code (LOC)), nhng dng m lnh tng ng, hm con tr, s lng cc i tng c pht trin. Nhm test xc nh cc yu cu v mi lin h gia cc tr s qui m phn mm trc v s lng cc test procedures c s dng trong cc d n . T , chng ta tnh ton v c lng c s lng cc test procedures cho d n mi. Tip n l nhm test xc nh mi lin quan gia s lng cc test procedures v s gi mi tester cn c da vo kinh nghim t cc d n trc. Phng php c lng ny thnh cng nht khi cc d n so snh vi nhau c s tng t v bn cht, cng ngh, yu cu v s thnh tho, cch thc gii quyt vn v cc nhn t khc. Bng 12.3 trnh by v d v vic xc nh s gi test p dng phng php Test Procedure (gi thit, d n c 1.120 test procedures). Nhm test xem xt n lc test ca 2 hoc nhiu hn 2 d n c trung bnh 860 test procedures v cn ti 5.300 gi cho vic test. Trong n lc test ca cc d n trc , s gi test trn mi test procedure l 6.16 gi l hp l (cho ton b vng i ca d n). D n cn 5.300 gi thng ko di 9 thng, trong , cn 3,4 thng thit k test. Cng vic by gi l xc nh s gi test cho d n mi c 1.120 test procedures.Bng 12.3. c lng thi gian test da theo phng php TestProcedureCng ty Tinh Vn Lu hnh ni bS trang : 37/78 38. Effective Software Testing11/4/2013iu quan trng phi xc nh c mi lin quan gia s lng cc test procedures v phm vi cc yu cu cn test. u im ca phng php ny l xc nh c yu cu test v phm vi test sm hn so vi 2 phng php trn. Nhng nhc im ca n l thi gian c lng c tnh trc khi hon thnh xong c t yu cu ca khch hng. d. Phng php k hoch cng vic. Phng php khc c lng n lc yu cu ca chng trnh lin quan ti vic xem xt con s lch s v n lc test tng t. Phng php ny khc so vi phng php Test Procedure ch n tp trung vo cc task ca cng vic test. Bng 12.4 l 1 v d v vic c lng n lc test cho 1 d n c 1.120 test procedures da vo d n c 860 test procedures, cn 5.300 gi cho c d n v 6,16 gi test cho 1 test procedure( V d ny tng t v d khi s dng phng php Test Procedure trong bng 12.3.)Bng 12.4. c lng n lc test da theo phng php k hoch cng vic test (cc task cng vic test)Cng ty Tinh Vn Lu hnh ni bS trang : 38/78 39. Effective Software Testing11/4/2013 Gi thit:Nhm test cn xem xt cc con s ca cc d n trc chia s gi thc hin thnh cc task cng vic hay gi l cc giai on test. Tm li, s gi ca mi giai on test c trnh by trong bng 12.5.Bng 12.5. Xc nh s gi ca mi giai on test theo phng php k hoch cng vic.Cng ty Tinh Vn Lu hnh ni bS trang : 39/78 40. Effective Software Testing11/4/2013 a ra c cc con s ny, nhm test phi c lng ngay t khi d n mi c bt u (nu khng c cc con s ca d n trc th vic c lng thi gian cho mi giai on test s da vo kinh nghim ca ngi lp k hoch). Trong v d trn, d n mi c s dng cng c test t ng v vic a ra bc 3 v 4 l khng cn thit. Nhm test cng cn thn trng v d n khng c ngn qu dnh cho vic thc hin ci tin qui trnh test, v vy khng c bc 11 trong bng trn. Bc tip theo trong bng 12.6, tnh ton, c lng n lc nhm test da vo s iu chnh s gi 6.403. N lc nhm test c c lng tng ng l 3,1 testers vi 1 d n 12 thng. Nhm test s b tr chnh xc l 3 testers lm ton thi gian (100%) trong khong thi gian test xc nh. Cc testers phi tp trung test trc cc phn c ri ro cao. V chin lc test cn c iu chnh theo n lc va tnh ton trn. Nhm test c th b tr nhn lc test theo cc cch khc nhau, c th b tr ton thi gian ca 1 tester cho d n hay phn on thi gian nh 80% thi gian tester 1 v 80% tester 2. Bng 12.6. N lc Test da vo c lng thi gian ca nhn vin.Cng ty Tinh Vn Lu hnh ni bS trang : 40/78 41. Effective Software Testing11/4/2013e. Cc phng php khc. Trong cc tnh hung c bit, cn c vo kinh nghim xc nh n lc test m khng cn quan tm ti cc phng php. V d, khi s dng phng php t l tester so vi deverloper th khng nhn mnh c thi gian test trong cc d n trc . Do vy, khng nh ngha c qu trnh test, nn cn thit phi iu chnh t l ny. Tng t nh vy, khi p dng phng php k hoch cng vic, nu nhm test c t kinh nghim th rt d phi iu chnh cc task cng vic, cc nhn t nh hng. Cc nhn t nh hng ti vic c lng n lc test bao gm: Cch t chc. Phm vi test. C th test chc nng, test hiu nng v test giao din, test tnh bo mt, test tin ch (phm tt). K nng ca ngi thc hin test. Thnh tho cc cng c test. Khi s dng cng c test t ng s rt kh khn i vi ngi cha thc hin cng c bao gi, do vy, h cn c hc v tool . Mun s dng c cc test tool cn c kch bn test. iu ny l mi vi nhm test v h thiu kinh nghim hay thm ch khng c kinh nghim trong vit code. Hay thm ch, tester thnh tho vi 1 test tool ny nhng vi 1 tool khc th hon ton mi vi h. Kin thc v nghip v. Kin thc ca 1 tester v mt ng dng no cha su do khng phi h hiu tt c cc nghip v thuc tt c cc lnh vc. Cc kin thc cn c gi l "kin thc c th (domain knowledge) T chc nhm test. Chng 5 s trnh by k hn v cc loi t chc cng vic test. Phm vi chng trnh test.Cng ty Tinh Vn Lu hnh ni bS trang : 41/78 42. Effective Software Testing11/4/2013 Thi im bt u test K hoch test nn c bt u ngay khi d n bt u. iu ny c ngha l cc testers tham gia vo test d n s nghin cu, phn tch v thit k test cho d n . S tham gia sm ca tester khng nhng gip h hiu hn v yu cu cng nh thit k, cu trc h thng. T , xc nh c mi trng test hiu qu m cn sm pht hin ra li v ngn chn li ngay t giai on vit c t yu cu ca pha lp trnh (t c t ny s thit k chng trnh, v t thit k s vit code). S dng cc test tool. Vi nhiu hng phn mm chuyn nghip, vic s cc test tool gip gim n lc test, gim s phc tp khi lp k hoch test cng nh vic thc hin test. Ri ro ca phn mm cao. Nu mt phn mm c ri ro cao, c th c nhiu li m xc nh n lc test khng th dn n cht lng phn mm c xc sut ri ro cao. Cui cng, khi xc nh n lc test, cn quan tm ti cc yu t nh hng tnh n cc tnh hung c bit. Nhm h tr cho vic lp k hoch test, vic theo di s gi thc t ca mi task cng vic thng c s dng nht. Tuy nhin, vn i vi tt c cc phng php a ra l, rt t khi c 2 phn mm tng t nhau. Mt sn phm phn mm ph thuc vo phc tp, kinh nghim ca deverloper, cng ngh v nhiu yu t khc na.3. TEST PROCEDURE V THIT K TEST. Test Procedure v thit k Test l 2 cng vic quan trng ca nhm test. Nh ni chng s lng h s em ra khai thc, hai cng vic ny test ch c bt u khi phn mm c code xong, nhng nu 2 cng vic ny c bt u cng sm cng tt, v c th thc hin, tin hnh ngay khi ti liu c t yu cu c ph duyt. Khi ti liu c t v thit k h thng c sng lc, chn la k hay c lp li ( sa) ti liu hay thit k li th cc test Procedure cng s c hon thnh tng ng vi vic hon chnh ti liu v thit k cc chc nng ca h thng. Test Procedure mang li li ch r rng, gip chng ta t c ti ch nhanh chng v hiu qu. Qua ti liu ny s xc nh c l test black-box hay gray-box; nh dng cho ti liu ny, cc k thut test c chn l g. V d, nh s kim tra test bin,Cng ty Tinh Vn Lu hnh ni bS trang : 42/78 43. Effective Software Testing11/4/2013exploratory testing. Thm vo , kch bn test v cc test tool s gip chng ta t c ch mong mun. Trong vic nh gi cc yu cu v vic thit k phn mm i hi phi c hiu bit nhiu v cu trc, v vn ch cht u tin cn xem xt hay cc application c. V vy, cc testers phi chia v thc hin tng giai on, thao tc nh trong hng lot cc thao tc cn thc hin nhm m bo thc hin ng lch test v s tin ginh cho test. Nh vy, cc cu hi test ci g? test bng cch no? test nh th no? test khi no? v ai s test l cc cu hi cn c tr li trong chin lc test, phi chia nh thnh cc giai on nh, s dng cc k thut c bit v phi c mc u tin trong qu trnh test song song hay test lp. 3.1. S phn chia v thc hin test. Vi ti liu c t v thit k, cc testers sn sng lp ra v pht trin cc loi test Procedure. Khi phn mm c nhiu yu cu, quyt nh ni bt u lp v pht trin test Procedure dng nh rt kh. Phn ny mun a ra phng php gip chia nh cc giai on test. Trc khi thit k test, iu cn thit l phi quan tm ti cc giai on test cn thc hin. C s khc nhau gia cc giai on test nh test tin ch, test hiu nng, test bo mt, v cc giai on test khc nh test chc nng v test phi chc nng. Test phi chc nng s c bn n trong chng 9. Bc u tin trong vic thit k test Procedure l phi xem xt li k hoch test. Nu k hoch khng n c th hiu c cc tnh hung hay bn cht ca vn th s khng xc nh c mc tiu test, phm vi test. K hoch test cng lit k cc ngun lc tham gia qu trnh test nh cc tool h tr, cc phng php test, cc tiu chun test phi theo hay lch test. Nu k hoch test khng hp l hay khng c lp trc th cc thng tin v phm vi test, cc mc cn test .s phi ly t cc ngun khc. chia nh cc giai on test th phi tr li c cc cu hi sau: test ci g? test khi no? test nh th no? ai s tham gia vo qu trnh test? Nhng phn no cn test? Trong giai on lp k hoch test, phi xc nh ngay phn no cn test, phn no khng t xc nh c phm vi cn test. Khi no th test?Cng ty Tinh Vn Lu hnh ni bS trang : 43/78 44. Effective Software Testing11/4/2013Trong phn 3, chng ta a ra yu cu phi thit k test Procedure cng sm cng tt khi c ti liu c t. Khi xc nh c phn no cn no cn test, phn no khng th chng ta cn xc nh c trnh t test. Vy, vn t ra l ci g cn c test trc tin? Tester ln k hoch test phi bit c phn no c u tin test trc, phn no test cng nhau v t a ra lch test c th. Tin trnh test phi u tin cho mc cn test trc. Tr khi c ngoi l l cc chc nng chc chn cn c chy trc chun b cho cc chc nng khc. Nh vy, cc chc nng ny cn c u tin test trc hay khng? vn ny s c bn k hn trong cc phn, cc mc cn c u tin test trc trong phn 8). Thm vo , vic phn tch ri ro nn c tnh n khi xt n cc mc u tin ny. Nu khng phi test ton b chng trnh, cc testers ch cn quan tm ti cc phn cn test m thi. Vic phn tch ri ro a ra c ch xc nh nhng phn cn test v nhng phn c th b qua khng test. Test Procedure nn c thit k nh th no? Khng c bt k mt gii php n l no c th test ton b h thng mt cch hiu qu. Test Procedure cho cc phn khc nhau ca mt h thng cn c thit k thch hp, c bit cho cc phn c bit ca chng trnh. thit k test Procedure thch hp v hiu qu th iu cn thit l phi quan tm n cu trc h thng v tch hp h thng. V d, xc minh li cc chc nng ca h thng th c th thng qua giao din ngi dng. Test Procedure s da trn cc yu cu chc nng c trong ti liu, trong , cc test cases phi th hin y cc trng hp xy ra. Cc test cases s c bt u vi cc b d liu ng v b d liu khng ng cho test giao din xc minh li nh dng chun ca cc trng d liu u vo. iu ny lin quan ti mt chui cc thao tc kim th sau . V d, khi nhp d liu cho mt trng hay mn hnh ny li tr ra mt mn hnh khc m cng yu cu nhp d liu. Test Procedure phi thit k cho GUI testing hay back-end testing, hay c hai cn ph thuc vo chin lc test xc nh trc . GUI tests khc so vi back-end tests. Nhng ai s tham gia vo test? Khi xc nh c phi test phn no? v test khi no? test nh th no th s d dng xc nh c trch nhim ca tng ngi s test phn no da trn kh nng v kinh nghim ca cc tester. (xem phn 13). should develop the tests? Ngoi ra s c nhiu cu hi c t ra trong sut qu trnh lp v thit k test Procedure.Cng ty Tinh Vn Lu hnh ni bS trang : 44/78 45. Effective Software Testing11/4/2013 u khng c ti liu c t th test Procedure s c thit k ra sao? Nu khng c ti liu c t vit test case th iu cn thit c th vit test cases l hi ngi i din, ngi c trch nhim i vi cc yu cu hay nhn vin k thut hay nhng ngi review cc yu cu ca khch hng (nhng cc yu cu khng c vit thnh ti liu). V d nh hng dn ngi dng ca h thng hin ti (nu c) hay nhng ti liu hng dn ngi dng, c t yu cu ca cc h thng trc hiu tt hn v h thng ang thit k (xem phn 5 v nhng vn nguy him thng gp phi khi vic test phi da trn cc ti liu ca cc application tn ti. Nu nh c mt h thng c k tha, th phi c ti liu thit k ca n. Tuy nhin, nhng ti liu ny c th khng ng vi yu cu ca khch hng. Trong mt s trng hp, phi thc hin ngc li so vi thit k kim tra h thng, hay thc hin exploratory testing (vn ny s c tho lun phn sau) Black-box and gray-box Testing: Black-box and gray-box Testing c thc hin trong tt c b phn ca d n thng qua test giao din, v c gi l black-box. V d, nu mun thm mi mt ngi dng vo database th ngi dng ny s c insert vo database thng qua giao din ngi dng, various layersV d nh database layer, phn lp ngi dng, business-logic layers s c thc hin. Li thng th hin qua giao din ngi dng. (chng 4 s bn k hn v black-box and gray-box testing. Tuy nhin, trong mt s trng hp li khng c th hin qua giao din ngi dng bi v cc li ny thuc v c ch thng bo li ca phn mm. V d, khi mt application m khng thm mi c mt bn ghi vo c s d liu, nhng khng c thng bo trn giao din ngi dng th li ny l do code v khng hin th thng bo li trn mn hnh. Khi c giao din ngi dng, hay black-box, vic test khng th test ht li c. Do , graybox testing cng phi c p dng nhm tm ht ra li [1] Gray-box testing c ni n trong phn 16. Will a test harness have to be developed?. Mt s phn ca h thng ch c th test c bng cng c test. V d, Mt php tnh c th cho php kt hp cng mt lc hng nghn b d liu u vo. Vic test ny yu cu thit k test khc so vi test giao din hay black-box testing: Vi s lng u vo c kt hp cng vi s thay i ca d liu u vo qu ln v khng th test bng cch nhp nhp liu qua giao din ngi dng. Thi gian v cc vn cn quan tm, xem xt Cng ty Tinh Vn Lu hnh ni bS trang : 45/78 46. Effective Software Testing11/4/2013khc yu cu test phi s dng test tool tnh ton vi b d liu u vo ln th u ra ca chng l g? Vn ny s c ni k hn ti phn 37. Cc kiu k thut test c s dng l nhng kiu no? Cc kiu k thut test function rt a dng v c s dng test data v b d liu u vo. Mt kiu k thut test c th kim tra mt s lng ln s kt hp cc b d liu l orthogonal array testing. Orthogonal array testing cho php tp hp tt c s kt hp cc tham s chng t ch cn s lng test case nh nht nhng bao ph c ht cc trng hp xy ra.[2] Cc kiu k thut test khc gip thu hp c cc trng hp xy ra trong cng mt phn lp tng ng bng vic phn tch gi tr bin (xem phn 25). S kt hp cc k thut ny cho php gim s lng test case nhng vn m bo thng k y cc trng hp xy ra khi thit lp cc b d liu u vo. K thut test khc xy ra khi phi c s tham ra ca commercial off-the-shelf (COTS) tool. S pp li ca COTS tool vi gi tr tu thch c code s c kim th. V d, nu mt COTS tool c yu cu thc hin mt lnh SQL, khi test s phi chy cc kch bn chng t ni dung ca lnh SQL c sa l ng. Should a capture/playback tool or other testing tool be used? Mt capure/playback hay 1 cng c test khc nn c s dng nh th no? Khi mt test tool c khai thc, s dng test vic tnh ton lin quan t yu t k thut hay cc back-end functions khc, th cng c test t ng (capture/playback) s l hu ch cho GUI regression testing. Khi xc nh chin lc test yu cu phi xc nh cc phn ca application c test bng cng c test t ng. Cc phn khc khng cn test bng automated testing th khng nht thit p dng n, nguyn nhn ca vn s c tho lun trong phn 36. Which tests should be automated? Vic test t ng c thc hin nh th no? Ngi thit k test nn phn tch k, cn thn application khi a ra quyt nh p dng cng c test t ng hay test bng tay. iu ny gip trnh xa, loi b nhng chi ph khng cn thit. V ni chung test bng cng c test t ng th chi ph thng cao hn so vi test tay. Sau y l mt s v d p dng test t ng: o Vic test phi c thc hin nhiu hn mt ln:Cng ty Tinh Vn Lu hnh ni bS trang : 46/78 47. Effective Software Testing11/4/2013Ngc li, vic test ch c thc hin mt ln duy nht th vic s dng cng c test t ng l rt lng ph. o Vic test nhm nh gi cc iu kin ri ro cao. Cc nhn t ri ro t th khng nht thit phi p dng cng c test t ng. Chng ta quan tm ti test function ni ngi dng thc hin cc kch bn test c bit. V d, khi test, h thng cho php ngi dng thc hin cc hnh ng ny (do yu cu ca bn kinh doanh) nhng vic test chng khng th quan st ht, r rng bng trc quan. Ri ro lin quan ti cc kch bn ca loi test ny l thp nu s lng ngi dng l t. V khi mt hnh ng no khng n thun quan st c bng trc quan khi thit k test th cc ri ro xy ra l rt cao. o Tests thc hin trn nn tng, c s thng thng (Test that are run on a regular basis). V d, bao gm smoke (build verification) tests, regression tests, and mundane tests (tests n gin, test lp v lp nhiu ln). o Cng vic test khng th thc hin test tay. V d, Test t ng c thc hin khi cn kt qu u ra ca vic c 1000 ngi tip cn h thng trong mt thi im. o Test vi nhiu b d liu cho cng mt hnh ng (data-driven tests). o Baseline tests(danh gii test) c thc hin trn cc cu hnh khc nhau. o Test vi kt qu c th on trc. Khi ny, p dng cng c test t ng s mang li chi ph hiu qu. o Test xem s n nh ca h thng t n mc no. Vi functionality, implementation, v cng ngh khng thay i thng xuyn. Mt khc, s bo dng ca cc cng c test t ng s mang li cc li ch nhiu hn. What kind of test data is needed?Cc kiu test data cn thit l g. Trc y, cng vic test cha c phn chia mt cch r rt, cha th hin vai tr quan trng th vic test data c thc hin bng cch nhp cc b d liu u vo. iu quan trng l test data c chn la rt cn thn, nu test data vi b d liu u vo khng ng hay qu n gin c th dn n xt cc trng hp hay li s xy ra do vic test ch khng phi do chng trnh. Nh vy, test data yu cu phi y cc trng hp xy ra ( test data s c ni k hn trong phn 10).Cng ty Tinh Vn Lu hnh ni bS trang : 47/78 48. Effective Software Testing11/4/2013Vic tr li cc cu hi c lit k trong phn ny s gip cho ngi lp k hoch chia nh c cc cng vic test, quan trng l phi quan tm ti lch test v chi ph ginh cho test l bao nhiu. 3.2. S dng Template Test Procedure v cc tiu chun thit k test khc. Tnh lp li, chc chn, s hon thnh, template cc test Procedure chun nn c qui nh thch hp. Sau y l mt s v d v cc template test Procedure:Test Procedure TemplateCng ty Tinh Vn Lu hnh ni bS trang : 48/78 49. Effective Software Testing11/4/2013Phng php kim th: Hnh 21.1. Template file test case: Yu t u tin ca mt file test case chun c th hin qua hnh 21.1, bao gm:Cng ty Tinh Vn Lu hnh ni bS trang : 49/78 50. Effective Software Testing11/4/2013 M test case: Tho thun cch t ID cho test Procedure. Tn test case: Th hin s m t ca cc test case trong phn .. Ngy lp file test case: Ngy bt u to cc test case. Tn ngi thit k ln form ca file test case: H tn ca ngi thit k file test case Ngi to cc test case: H tn ngi to ra cc test case Mc ch test: Phc tho mc ch test ca test case . Mi lin quan gia cc use case, s lng cc yu cu: Th hin y s lng cc yu cu c xc nhn trong test Procedure. S d on, gi thit v s rng buc: a ra cc tiu chun hay cc iu kin tin quyt cn c trc khi vit cc test case, v d nh cc d liu c bit cho cc yu cu t ra l g. iu ny s c hon thnh khi test case ph thuc vo cc test case trc . iu ny cng c th c hon thnh khi 2 test case ny c xung t nhau nu nh chng cng c thc hin trong cng mt khong thi gian. Cn ch rng iu kin tin quyt ca cc use case thng l iu kin tin quyt ca cc test case. Phng php kim th: Mc ny ny c th bao gm cc kiu test c kim chng, cc cng c test t ng v test tay, s kim th, vic thc hin v phn tch. User Action (Inputs): y l kt qu mong i ca thao tc v kt qu mong i ny phi r rng v c s. Kt qu mong i l kt qu sau khi thc hin cc thao tc, cc bc c m t. u vo ca kt qu mong i c th l nh nhau i vi cc phn mm khc nhau. Vic ch r trng ny lm cho ti liu r rng, d hiu, d kim tra. Cc bc m t phi tun theo cc use case. Kt qu mong i: Xc nh kt qu mong i khi thc hin ln lt cc thao tc c m t trc . Thng tin theo di Log: Document the behavior of back-end components. Trong sut qu trnh thc hin cc thao tc, cc bc trong h thng, s c Log li chi tit cc chc nng m chng c thc hin. Qu trnh ghi Log cng c din t trong file test case. Kt qu thc t: Trng kt qu thc t c th c cc gi tr mc nh m t kt qu thc t nu nh test case ny b tht bi khng ng vi kt qu mong i hay thnh cng. Yu cu test data: S tham chiu ca vic thit lp test data s to nn cc test case trong file test case. Chng ta s nghin cu phn 26 bit thm chi tit. Cng ty Tinh Vn Lu hnh ni bS trang : 50/78 51. Effective Software Testing11/4/2013Khi xc nh n lc test, test cc yu cu phi chc nng thng c thc hin sau. Tuy nhin, iu quan trng l phi quan tm ti test phi chc nng ngay t khi bt u d n. Ch , trong phn 21.1, file test case c chia thnh 5 phn, mt phn ginh cho test chc nng, v 4 phn cn li ginh cho test phi chc nng, bao gm, test tnh bo mt_an ton h thng, test hiu nng, s tng thch, tin ch. Xem phn 41 bit nhiu hn v vic cn thit ca test phi chc nng. Cc tiu chun ca mt ti liu thit k test phi c th hin bng ti liu, trao i v buc phi tun theo mi ngi lin quan c c nhng nguyn tc thit k v cc thng tin v yu cu ca khch hng.[2]. Vic to ra mu file test case v cc nguyn tc l iu cn thit cho vic test tay v test t ng. Cc tiu chun cho file test case bao gm cc v d cng chi tit cng tt. Mc chi tit nn n gin khi thc hin m t cc thao tc. V d, Bc 1. Click chn File menu. Bc 2. Chn nt Open. Bc 3. Chn mt th mc trn my tnh Ph thuc vo qui m ca application c test v thi gian v s tin ginh cho vic test m qui nh thi gian cho vit test case nhiu hay t, v vit k hay khng k cc trng hp. Mt file test case chun bao gm cc nguyn tc trong vic m t kt qu mong i. Cc tiu chun nn ch tm vo nhiu cu hi: kt qu mong i s c th hin ra mn hnh nh th no? Yu cu test s b loi b bi ngi th 2 thc hin test? Khi t n vic test t ng theo ci chun th cc chun mc phi da trn k thut Code tt nht nh s kt ni r rng, cc bin chun,Vic Code nh hng ln n cht lng ca phn mm. Trong mt s trng hp, khng phi kch bn test c m t r rng, chi tit trong SRS hay URD. Test case ca cc ng dng kh, phc tp nh h thng v ti chnh; i vi h thng phn mm cung cp cho lnh vc ti chnh, u vo l hng vn cc php tnh v kt qu u ra l khc nhau. 3.3. Vic chuyn ho thnh cc test cases t yu cu ca khch hng. Mc ch chnh ca Test chc nng m bo chng trnh c v thc hin y d cc chc nng theo yu cu ca khch hng. Test chng trnh theo cc kch bn hay ni cch khc theo cc case v c m t trong test Procedure case gip cho vic test hiu qu hn. Cng ty Tinh Vn Lu hnh ni bS trang : 51/78 52. Effective Software Testing11/4/2013 m bo mc ch ca test chc nng th tester phi bm st vo ti liu c t yu cu khch hng. Thm vo , phi c cc test case test hiu nng, test tnh bo mt, v test tin ch. Trong chng 1 tho lun v mt SRS chi tit, hon thnh v c th thc hin test. Tuy nhin, trong qu trnh thc hin vit SRS th khng phi trng hp no cng thc hin tt. to ra cc kch bn test chc nng chun, cc tester phi hiu chi tit v tnh phc tp ca h thng. Mun vy, tester phi phn tch c h thng. Thm ch h phi a ra c lung test ngi khc nhn vo lung s bit tester s test nh th no, ng hay sai. Do , tester phi kho st h thng hiu y v h thng. Ni chung, cc tester phi phn tch lm cch no hiu c s chuyn i cc phn ca h thng, nh thay i bin v trng th s nh hng, thay i n cc phn cn li. Khng nn coi nh vic thay i yu cu. V d, h thng c tnh linh ng v cho php thay i yu cu, khi ny h thng s s dng tp con ca s kt hp v dao ng d liu u vo; v s thay i ny vn cho php lu li mt cch chnh xc. Khi ny, kt qu test trc vn khng b nh hng vo n vn bao gm tt c cc trng hp xy ra. V d, Xem xt yu cu sau: H thng phi cho php ngi dng sa tn tu thch v c th hin trn bn ghi vi trng tng ng. Trng tn v s gii hn ca trng tn cng phi c th hin c th trong SRS. Mt s bc test m bo cho yu cu ny bao gm: 1. Kim tra h thng xem n c cho php ngi dng sa tn tu thch trn giao din ngi dng bng cch click vo bn ghi c trng tn v sa hay khng. 2. C gng kt hp kim tra c trng hp ng v sai, tt c cc phn lp tng ng, cc gi tr bin. 3. Chy lnh SQL kim tra vic update l ng v c update vo 1 bng thch hp. trn bao gm cc bc kim th c bn. Tuy nhin, trong mt s trng hp vn cn b st cc tnh hung ca yu cu a ra. Ngoi vic test hiu nng v test phi chc nng khc th cu hi cn phi tr li l " lm th no bit c c s thay i trong h thng khi mt trng no b thay i?, giao din ngi dng, cc chc nng hay cc mc khc s b nh hng, cn cc phn no khng b nh hng?.Cng ty Tinh Vn Lu hnh ni bS trang : 52/78 53. Effective Software Testing11/4/2013V d: Kim tra chc nng to mi 1 n t hng trong module t hng l vic kim tra xem n t hng c c insert vo CSDL v c th hin trn giao din hay khng. Thm mt bn ghi v kim tra xem bn ghi c c lu li vi tn ng nh khi thm mi hay khng. Thc hin test chc nng thm mi v cc chc nng khc c lin quan ti chc nng thm mi thy s nh hng ca vic thm mi . Tester phi phn tch v test ht cc phn lin quan, b nh hng. Khi yu cu khng c c th ho chi tit trong SRS, test hiu qu trong trng hp ny rt kh, do , d b b xt. Thc t, hu ht cc yu cu khng c vit thnh ti liu mt cch y , r rng c th thy ngay mi lin h gia cc yu cu v cc chc nng. Do vy, thng th mt test Procedure hiu qu khng c vit ln t ring SRS. Ti liu thit k test hiu qu khng c chng cho ln nhau, thay v a ra mt quyt nh phi test hiu qu ton b vi n lc cn l gp i ( mc d n lc thi gian gp i nhng vn khng trnh khi s thiu st khi test). S khng hiu qu nu 2 tester test cng mt chc nng nhng trn 2 file test case khc nhau ca 2 ngi, tr khi iu l cn thit cho vic test ton b cc chc nng ( V d, khi c 2 phn cng s dng cc bc tng t nhau) Vn quan trng khi phn tch lung test nhm m bo trong sut qu trnh test, vic test c din ra ng theo lung, v chng trnh x l c ng hay khng m khng cn n lc gp i, tester khng cn test d liu khng hp l vi kt qu mong i khc, v khi ny ch lng ph thi gian. Nu test theo lung th lp trnh cng tn t thi gian sa li hn, v tp trung vo nhng li quan trng. Nhm test nn review k hoch test v ti liu thit k test : Xc nh cc kiu actions hay cc events tng t thng xy ra. Vic xc nh ny gip cho vic vit test Procedure c tt hn, do vy, c th ti s dng v kt hp li cc actions hay events i vi cc chc nng, trnh c vic tng n lc gp i. Xc nh th t hay s test. Cc vn cn test trc th phi c u tin thc hin test trc, nh vic xc nh cu hnh database, hay cc yu cu m kt qu mong i cn c kim sot, hay cc work flow. To ra cc mi lin h c kt hp cht ch theo lung, cc phn test cn u tin test trc trong test Procedure. S mi lin h ny a ra s nh hng ln nhau ca cc chc nng, s lung test c to ra t qu trnh thit k test v lm tng hiu qu test. Cng ty Tinh Vn Lu hnh ni bS trang : 53/78 54. Effective Software Testing11/4/2013Vic phn tch trn gip nhm test xc nh trnh t test thch hp trong ti liu thit k v pht trin test. Cc vn khc cn quan tm khc to ra test Procedure hiu qu l phi xc nh v review cc yu cu c ri ro cao c s u tin test v test k hn, chc nng quan trng nht s u tin test sm hn. Nh vy, s l lng ph thi gian u t to ra test Procedure cc chc nng rt him khi ngi dng s dng, trong khi cc chc nng quan trng li cha c test v test k dn n ri ro cao. Cn phi xc nh u tin test i vi cc chc nng c xc sut ri ro cao v vic s dng l nhiu nht. Phn 8 s cho chng ta bit chi tit hn) c test case hiu qu, phi hiu h thng, lung test v cc kch bn. Vn kh khn thng xy ra l nu ch thng qua 1 ti liu SRS th rt kh c th hiu ht c s kt ni, lung v mi tng quan gia cc i tng. Suy ngh theo logic v quan tm n chi tit cc yu cu hiu c tnh phc tp ca h thng. Test Procedure v thit k test s b thiu cc trng hp nu thit k test khng c chi tit trong khi test hp en. 3.4. SRS l ti liu khng th khng c (nh ti liu sng cn) ca qu trnh test (Living" Documents) Thng th ngi thit k test Procedure ch thc hin test cc case 1 hoc 2 ln ri thi, do s thay i yu cu, thit k, hay vic thc hin test ch din ra 2 ln. Do p lc cng vic, cc testers thng khng xem li test Procedure ca h. Cc testers da vo trc gic v k nng phn tch vit cc test case, bao qut ton b cc trng hp, cc chc nng quan trng ca h thng. Vn l, nu ti liu SRS khng cn thch hp, n tr nn qu li thi th cng vic trc to ra cc ti liu ny tr nn lng ph. V vy, vn quan trng l phi coi SRS nh ti liu sng cn ca vic test v n ti liu ng ch khng phi khng c s thay i. Hu ht cc d n phn mm c pht trin theo kiu lp li v pht trin, v ti liu test thng tng t theo 1 cch. Trong vng i ca 1 d n pht trin, a s l c xy dng da trn 1 k hoch ring. V iu rt kh ngi vit test Procedure gi v tha k li cc test Procedure trc . Khi phn xy dng u tin c hon thnh v giao li cho pha test, th ti liu ny phi dng to test case c. Chng ta s khng th hon thnh vic test ton b h thng nu nhm pht trin vn ang trong giai on code hay mi ch code xong mt s phn h ca h thng . Trong Cng ty Tinh Vn Lu hnh ni bS trang : 54/78 55. Effective Software Testing11/4/2013trng hp ny, nhm test ch vit test Procedure cho cc phn c code xong da vo k hoch c xy dng trc , v test Procedure ny khng phi l tt c cc yu cu, thit k chi tit, v tt c kch bn tes