73
Mở Đầu 1.Giới thiệu đề tài Hiện nay cùng sự phát triển mạnh mẽ cũng như bước chuyển mình nhanh chóng của các xu thế công nghệ thông tin trên thế giới đã mang lại cho Việt Nam đồng thời những thuận lợi và khó khan .Do đó những chương trình quốc gia nhằm thúc đẩy hiệu quả ứng dụng công nghệ thông tin trong mọi mặt đời sống kinh tế chính trị xã hội đang ngày càng chú trọng và triển khai. Kéo theo đó nhu cầu về sử dụng về lĩnh vực kiểm thử, đặc biệt là kiểm thử hiệu năng của phần mềm. Kiểm thử phần mềm là một thành phần quan trọng trong quy trình phát triển phần mềm. Nó đong vai trò quan trọng trong việc kiểm định chất lượng của phần mềm, đảm bảo phần mềm tạo ra có chạy đúng với yêu cầu của khách hang hay không,có xảy ra sai sót nào khắc so với bảng phân tích thiết kế ban đầu không. Tại Việt Nam khái niệm về kiểm thử phần mềm tuy không mới mẻ nhưng cũng chưa hàn toàn quen thuộc . Thực tế cho thấy số lượng đơn vị chuyên sâu về các tester chuyên nghiệp và phần mềm kiểm thử chưa nhiều chưa đáp ứng cho các dự án doanh nghiệp. Dù biết công tác kiểm thử đảm bảo chất lượng giữ vai trò quan trọng mang lại thành công của dự án phần mềm xong không phải công ty nào cũng đủ điều kiện cho phép thực hiện quy trình.

Đaem Bảo chất lượng phần mềm jmeter

Embed Size (px)

DESCRIPTION

dbclpm

Citation preview

M u1.Gii thiu tiHin nay cng s pht trin mnh m cng nh bc chuyn mnh nhanh chng ca cc xu th cng ngh thng tin trn th gii mang li cho Vit Nam ng thi nhng thun li v kh khan .Do nhng chng trnh quc gia nhm thc y hiu qu ng dng cng ngh thng tin trong mi mt i sng kinh t chnh tr x hi ang ngy cng ch trng v trin khai. Ko theo nhu cu v s dng v lnh vc kim th, c bit l kim th hiu nng ca phn mm.

Kim th phn mm l mt thnh phn quan trng trong quy trnh pht trin phn mm. N ong vai tr quan trng trong vic kim nh cht lng ca phn mm, m bo phn mm to ra c chy ng vi yu cu ca khch hang hay khng,c xy ra sai st no khc so vi bng phn tch thit k ban u khng.

Ti Vit Nam khi nim v kim th phn mm tuy khng mi m nhng cng cha hn ton quen thuc . Thc t cho thy s lng n v chuyn su v cc tester chuyn nghip v phn mm kim th cha nhiu cha p ng cho cc d n doanh nghip. D bit cng tc kim th m bo cht lng gi vai tr quan trng mang li thnh cng ca d n phn mm xong khng phi cng ty no cng iu kin cho php thc hin quy trnh.

Tuy nhin v li th cnh tranh nh : ngun nhn lc r c sn trnh k thut, u t pht trin c s h tng nhanh mi trng u t an ton, cht lng dch v ni tri v t l thay i nhn s thp. Vit Nam c t hy vjng v tin tng vo kh nng tr thnh i tc kinh doanh y tim nng v hp dn trong nghnh kim th phn mm lm bo co kt thc mn hc.Rt mong nhn c kin v nhn xt ,ng gp ca thy c v cc bn bo co ca nhm c hon thin

Sau qu trnh nghin cu nhm quyt nh la chn ti :Tm hiu cng c Jmeter. 2.Mc ch nghin cu ti tp trung nhin cu ,tm hiu nh gi cc nguyn l phng php tip cn kim th hiu nng ng dng web.Kh nng p ng nhu cu ngi dung mc ti p ng l iu kin cn thit trong vic pht trin v m rng web.

3. i tng v phm vi nghin cu-Cc m hnh phn tch,thit k v cc kch bn trong kim th hiu sut v ti web.-c t cc quy trnh thit k kim th hiu nng v ng dng web.-Cng c kim th JMeter.

4.Phng php nghin cu ti tp trung tm hiu v cng c kim th JMeter.Quy trnh kim th ng dng vo web.5. ngha ca vic nghin cu ti. ti ng dng cc kin thc hc ca mn nhp mn cng ngh phn mm gp phn ngin cu tnh nng ng dng ca cng c tm kim th Jmeter vo web vo nhng hot ng v ngi dung khc.A. C s l thuytI.Tng quan v qu trnh kim th phn mm1.1 Kim th phn mm l gi?Kim th phn mml mt cuc kim tra c tin hnh cung cp cho cc bn lin quan thng tin v cht lng casn phmhocdch vc kim th. Kim th c th cung cp cho doanh nghip mt quan im, mt cch nhn c lp vphn mm t cho php nh gi v thu hiu c nhng ri ro trong qu trnhtrin khaiphn mm.Trong k thut kim th khng ch gii hn vic thc hin mt chng trnh hoc ng dng vi mc ch i tm ccli phn mm(bao gm cc li v cc thiu st) m cn l mt qu trnh ph chun v xc minh mt chng trnh my tnh / ng dng / sn phm nhm: p ng c mi yu cu hng dn khi thit k v pht trin phn mm. Thc hin cng vic ng nh k vng. C th trin khai c vi nhng c tnh tng t. V p ng c mi nhu cu ca cc bn lin quan.Ty thuc vo tng phng php, vic kim th c th c thc hin bt c lc no trong qu trnh pht trin phn mm. Theo truyn thng th cc n lc kim th c tin hnh sau khi cc yu cu c xc nh v vic lp trnh c hon tt nhng trongAgile(l mt tp hp cc phng php pht trin phn mm linh hot da trn vic lp i lp li v gia tng gi tr) th vic kim th c tin hnh lin tc trong sut qu trnh xy dng phn mm. Nh vy, mi mt phng php kim th b chi phi theo mt quy trnh pht trin phn mm nht nh.1.2 Phn loi k thut kim th -Ta phn loi kim th da vo yu t :Chin lc kim th, phng php kim th v k thut kim th-Da vo chin lc kim th ta c th phn chia kim th thnh 2 loi:kim th tnh kim th ng.-Da vo k thut kim th ta c th phn chia kim th thnh 3 loi :kim th hp en,kim th hp trng,hp xm

1.3 Cc cp kim thThc t kim th phn mm khng h n gin nh nhiu ngi ngh,cng vic ny c nhiu mc khc nhau v c mi tng quan vi cc chng pht trin trong d n. Trong mt da n kim th phn mm bao gm 2 mc c bn.kim th n v ,kim th tch hp kim th h thng v kim th chp nhn

1.4 Quy Trnh Kim Tra Tng Th-Phn tch yu cu :Kim th thng s bt u ly cc yu cu trong cc giai on ca vng i pht trin phn mm. Trong giai on thit k cc tester lm vic vi cc nh pht trin xc nh kha cnh ca mt thit k c kim chng v nhng thng s c kim tra.-Lp k hoch kim th : Chin lc kim th, k hoch kim th kim th sang to V c mt k hoch cn thit v nhiu hot ng s c thc hin trong thi gian.-Kim th pht trin : Cc quy trnh kim th, cc kch bn ,test case cc d liu c s dng trong kim th phn mm.-Kim th thc hin :Da trn cc k hoch cc vn bn kim th v cc bo co cui cng c sn sang pht hnh phn mm hay khng.- Phn tch kt qu kim th hoc phn tch thiu st c thc hin bi i ng pht trin, n c kim tra li bi nhiu nhm kim th.-Kim th hi quy: Ngi ta thng xy dng mt chng trnh kim th nh l mt tp hp ca cc bi kim tra cho mi mt tp hp mi , sa cha c nh phn mm, c bo m : rng nhng cung cp mi nht khng c ph hy bt c iu g v ton b phn mm vn cn c hot ng mt cch chnh xc.-Kim th ng gi: Mi php th u tha mn cc ch tiu truy xut v thu c nhng kt qu quan trng nh : bi hc kinh nghim , kt qu cc bn ghi ,ti liu lin quan c lu tr v s dng nh 1 ti liu tham kho cho cc d n tng lai.B. TNG QUAN V KIM TH HIU SUT V TI WEBII. Kim Th2.1Mc ch ca kim th hiu nng v ti web thc hin kim th mt cch g n a ra nhn xt chnh xc v cc vn trong ng dng thc tin th nghim ta phi c mt s hiu bit nht nh v cu hnh web.Kim th cc ng dng web m bo rng n chnh xc v chc nng ,ng tin cy, kh nng m rng v thc hin tt cc ti trng khc nhau ca con ngi dung.N bao gm kim tra cc khch hang v cc thnh phn pha my ch ca ng dng web.i vi cc ng dng web cn phi kim th v hiu sut v kh nng m rng. Cc tiu chun cho cc trang web th nghim l :Kp thi kt cu cht lng, ni dung chnh xc v nht qun, p ng thi gian tr v hiu sut.2.2 Kim th hiu nng (performance)N: Kim th hiu nng l tin trnh thu thp v phn tch thng tin m trong d liu o lng c tp hp d on khi no cc mc ti s vt qu kh nng chu ng ca ngun ti nguyn ca h thng.Hay ni cc khc kim th hiu nng l ta i xc nh tc , kh nng phn ti, tin tng ca ng dng web trong mi trng c nhiu ngi dng c nhiu hot ng khc nhau.Chi ph kim th hiu nng thng rt tn km do dng cc phn mm thng mi- Gii php:S dng phn mm m ngun m gii quyt vn .2.3 Kim th ti (load)N: Kim th ti nh gi hiu nng h thng vi mt mc ti c nh ngha trc. Kim th ti cng o lng mt h thng thc hin cc cng vic v chc nng khc nhau di cc iu kin bnh thng hay nh ngha trc trong thi gian bao lu. Cc li c ghi nhn khi cc cng vic khng th c thc thi trong cc gii hn thi gian ( c nh ngha bi nhm qun l hay tip th sn phm). Bi v mc tiu ca kim th ti l xc nh mt h thng c tha mn yu cu v sc chu ti ca n, nn thc hin kim th vi cu hnh ti thiu v cc hot ng ti a. Kim th c th thc hin trn c hai mt v khi lng hot ng v thi gian hot ng.2.4.Cc cng vic khi kim th web- Kim th l hot ng nh gi cht lng ca 1 sn phm phn mm v quan trng l ci thin n bng cch tm ra nhng thiu xt khuyt im.- Phng php tip cn nhanh tp trung vo tnh cht lp v pht trin ca mt ng dng web m khng c mt vn bn no nh ngha v phng php ny.- h tr v gip cc kim th vin c c ci nhn su sc v thu o nh mong i ,k vng ca ngi s dng th nhng kim th vin cn tham gia xc nh nh ngha cc yu cu.2.5 Cc mc kim th- Unis Test (kim tra mc n v) Mt n v l mt thnh phn nh nht ca phn mm c th kim tra c Functions, Procedures, Classes, v Methods c th xem l n v V d : C++ or Java: lp (Class) C: hm hoc chng trnh con Pascal: hm hoc th tc 4GL: Menu hoc GUINi dung kim th : Gii thut v logic Cu trc d liu Giao din (Interfaces) Cc nhnh c lp (Independent paths) Gi tr bin, iu kin bin By li v kim sot li (Error handling)

Hnh. Quy trnh kim th n v

Integration testing - Kim th tch hp (n v)Integration testing l mt loi kim th phn mm m tm kim kim tra cc giao din gia cc thnh phn da vo thit k ca phn mm. Cc thnh phn phn mm c th c tch hp li vi nhau theo cch lp i lp li (tng phn nh ghp li vi nhau, ri ghp tip phn nh khc vo na, hnh ng ny lp li cho n khi kt hp ton b phn mm) hoc tt c cc thnh phn cng tch hp mt ln (gi l big bang). Thng thng trc y c xem l mt cch lm tt hn t khi n cho php cc vn v giao din c xc nh v tr nhanh hn v c nh.

Integration testing lm vic tm ra li (defect) trong cc giao din v giao tip gia cc thnh phn (m-un). Cc nhm thnh phn phn mm c kim th ln dn tng bc tng ng vi cc yu t ca thit k kin trc c tch hp v kim th cho n khi phn mm hot ng nh mt h thng.System testing - Kim th h thngSystem testing kim th mt h thng c tch hp hon chnh xc minh rng n p ng c yu cu.

Kim th tch hp h thng chng thc rng h thng c tch hp vi cc h thng bn ngoi hoc h thng th ba c xc nh trong cc yu cu h thng Acceptance testing-Kim th chp nhn Kim th Chp nhn (acceptance test) c to ra tuser story(yu cu ngi dng). Trong mt phn on, nhng user story c chn trong bui hp lp k hoch phn on s c chuyn thnh cc kim th chp nhn. Khch hng xc nh kch bn kim th xem mt user story c trin khai ng cha. Mi user story c th c mt hay nhiu kim th chp nhn, hoc bt c iu g c th m bo cc tnh nng hot ng tt.Kim th chp nhn l kim th h thng hp en (black box). Mi mt kim th chp nhn i din cho mt s kt qu c mong i t h thng. Khch hng c trch nhim kim tra tnh chnh xc ca cc kim th chp nhn v xem xt kt qu quyt nh kim th tht bi no c u tin cao nht. Kim th chp nhn cng c s dng nh kim th hi quy trc khi mt sn phm c pht hnh.Mt user story khng c coi l hon thnh cho n khi vt qua cc bi kim th chp nhn. iu ny c ngha rng cc kim th chp nhn mi phi c to ra sau mi phn on hoc nhm pht trin s bo co l khng c tin trin no thm.m bo cht lng (QA) l mt phn rt quan trng trong XP. Trong mt vi d n, QA c thc hin bi mt nhm ring bit, trong khi nhng d n khc nhm QA khc s c tch hp vo cng vi nhm pht trin. Trong c hai trng hp ny, XP i hi vic pht trin phi c mi quan h cht ch vi m bo cht lng.Kim th chp nhn nn t ng h c th chy chng thng xuyn. Kt qu ca cc kim th c cng khai cho nhm pht trin bit. Nhm pht trin c trch nhim thu xp thi gian trong mi phn on sa cha mt s kim th tht bi.Tn Kim th Chp nhn c thay i t kim th chc nng. Tn ny hay hn bi n gi li mc ch, l m bo rng mt yu cu ca khch hng c p ng v h thng c th chp nhn.

Chng 2: PHN MM JMETER Kim th t ngKhi qut kim th t ngNgy nay t ng ha c ng dng rt nhiu lnh vc, mc ch thng rt a dng v ty theo nhu cu c th ca tng lnh vc, tuy nhin im chung nht vn l gim nhn lc, thi gian v sai st. Ngnh Cng ngh Thng tin m c th l pht trin phn mm cng khng ngoi l. Nh vy, to ra sn phm Cng ngh Thng tin hay phn mm c cht lng th hot ng kim th phn mm (KTPM) ng vai tr rt quan trng, trong khi hot ng ny li tiu tn v chim t trng kh ln cng sc v thi gian trong mt d n. Do , nhu cu t ng ho qui trnh KTPM cng c t ra.Qua thc t cho thy vic p dng kim th t ng hp l s mang li thnh cng cho hot ng KTPM. KTT gip gim bt cng sc thc hin, tng tin cy, gim s nhm chn v rn luyn k nng lp trnh cho kim th vin.Vic pht trin KTT cng tun theo cc bc pht trin phn mm, chng ta phi xem vic pht trin KTT ging nh pht trin mt d n. Hnh 1.7 cho thy mi tng quan gia KTT v ton b chu trnh kim th phn mm.

Mi tng quan gia KTT v chu trnh kim thGing nh pht trin phn mm, thnh cng trong KTT chng ta nn thc hin cc bc c bn sau:Thu thp cc c t yu cu hoc tnh hung kim th (test case); la chn nhng phn cn thc hin KTT.Phn tch v thit k m hnh pht trin KTT.Pht trin lnh c t (script) cho KTT.Kim tra v theo di li trong script ca KTT.Cc bc thc hin KTT c m t r hn qua Bng 1.1.p dng KTT vo kim th phn mm cng s gp phi nhng thun li v kh khn sau:Thun liKTPM khng cn can thip ca kim th vin.Gim chi ph khi thc hin kim th s lng ln test case hoc test case lp li nhiu ln.Gi lp tnh hung kh c th thc hin bng tay.Kh khnMt chi ph to cc script thc hin KTT.Tn chi ph dnh cho bo tr cc kch bn.i hi kim th vin phi c k nng to script KTT.Khng p dng c trong vic tm li mi ca PM.Cc bc thc hin KTTSTTBc thc hinM t

1. To test scriptGiai on ny chng ta s dng test tool ghi li cc thao tc ln phn mm cn kim th v t ng sinh ra test script.

2. Chnh sa test scriptChnh sa test script thc hin kim th theo ng yu cu t ra, c th l lm theo test case cn thc hin.

3. Chy test script KTTGim st hot ng kim th phn mm ca test script.

4. nh gi kt quKim tra kt qu thng bo sau khi thc hin KTT. Sau b sung, chnh sa nhng sai st.

Ti sao dng cng c kim th phn mm?Cng c kim th (Test Tool) trong lnh vc pht trin phn mm l cng c gip thc hin vic kim th phn mm mt cch t ng. Tuy nhin khng phi mi vic kim th u c th t ng ha, cu hi t ra l trong iu kin hoc tnh hung no dng cng c kim th l thch hp? Vic dng cng c kim th thng c xem xt trong mt s tnh hung sau:Khng ti nguynKhi s lng tnh hung kim th qu nhiu m cc kim th vin khng th hon tt bng tay trong thi gian c th no .C th ly mt dn chng l khi thc hin kim th chc nng ca mt website. Website ny s c kim th vi su mi trng gm ba trnh duyt v hai h iu hnhTnh hung ny i hi s ln kim th tng ln v lp li su ln so vi vic kim th cho mt mi trng c th.Kim tra hi quyTrong qu trnh pht trin phn mm, nhm lp trnh thng a ra nhiu phin bn phn mm lin tip kim th. Thc t cho thy vic a ra cc phin bn phn mm c th l hng ngy, mi phin bn bao gm nhng tnh nng mi, hoc tnh nng c c sa li hay nng cp. Vic b sung hoc sa li code cho nhng tnh nng phin bn mi c th lm cho nhng tnh nng khc kim th tt chy sai mc d phn code ca n khng h chnh sa. khc phc iu ny, i vi tng phin bn, kim th vin khng ch kim th chc nng mi hoc c sa, m phi kim th li tt c nhng tnh nng kim th tt trc . iu ny kh kh thi v mt thi gian nu kim th th cng. Kim tra kh nng vn hnh phn mm trong mi trng c bity l kim th nhm nh gi xem vn hnh ca phn mm c tha mn yu cu t ra hay khng. Thng qua kim th vin c th xc nh c cc yu t v phn cng, phn mm nh hng n kh nng vn hnh ca phn mm. C th lit k mt s tnh hung kim th tiu biu thuc loi ny nh sau:o tc trung bnh x l mt yu cu ca web server.Thit lp 1000 yu cu, ng thi gi n web server, kim th tnh hung 1000 ngi dng truy xut web cng lc.Xc nh s yu cu ti a c x l bi web server hoc xc nh cu hnh my thp nht m tc x l ca phn mm vn c th hot ng mc cho php.Vic kim th th cng cho nhng tnh hung trn l cc kh, thm ch v phng.Cn lu l hot ng KTT nhm mc ch kim th, pht hin nhng li ca phn mm trong nhng trng hp on trc. iu ny cng c ngha l n thng c thc hin sau khi thit k xong cc tnh hung (test case). Tuy nhin, nh ni, khng phi mi trng hp kim th u c th hoc cn thit phi t ng ha, trong tt c test case th kim th vin phi nh gi v chn ra nhng test case no ph hp hoc cn thit p dng KTT da trn nhng tiu ch cp bn trn.Phn loi mt s cng c kim th t ngV kim th phn mm thng chim ti 40% tt c cc n lc dnh cho mt d n xy dng phn mm, nn cng c c th lm gim thi gian kim th s rt c gi tr. Tha nhn li ch tim nng ny, cc nh nghin cu v ngi thc hnh pht trin mt s th h cc cng c kim th t ng:B phn tch tnh: Cc h thng phn tch chng trnh ny h tr cho vic chng minh cc l l tnh - nhng mnh yu km v cu trc v nh dng ca chng trnh.B thanh tra m ngun: Nhng b lc chuyn dng ny c dng kim tra cht lng ca phn mm m bo rng n p ng cc chun m ho ti thiu.B x l khng nh: Nhng h thng tin x l/hu x l ny c s dng cho bit liu nhng pht biu do ngi lp trnh nu, c gi l cc khng nh, v hnh vi ca chng trnh c thc s c p ng trong vic thc hin chng trnh thc hay khng.B sinh trng hp kim th: Nhng b x l ny sinh ra, v in cc gi tr xc nh vo cc trng hp kim th cho chng trnh ang c kim th.B sinh d liu kim th: Nhng h thng phn tch t ng ny h tr cho ngi dng trong vic chn d liu kim th lm cho chng trnh hnh x theo mt cch c bit.B kim chng kim th: Nhng cng c ny o mc bao qut kim th bn trong, thng c din t di dng c lin quan ti cu trc iu khin ca s vt kim th, v bo co v gi tr bao qut cho chuyn gia m bo cht lng.Dng c kim th: Lp cc cng c ny h tr cho vic x l cc php kim th.B so snh kt qu u ra: Cng c ny lm cho ngi ta c th so snh mt tp kt qu u ra t mt chng trnh ny vi mt tp kt qu khc ( c lu gi trc) xc nh s khc bit gia chng.H thng thc hin k hiu (symbolic execution system): Cng c ny thc hin vic kim th chng trnh bng cch dng d liu vo i s, thay v gi tr d liu s. Phn mm c kim th xut hin kim th cc lp d liu, thay v ch l mt trng hp kim th c bit. D liu ra l i s v c th c so snh vi kt qu trng i cng c xc nh di dng i s.B m phng mi trng: Cng c ny l mt h thng da trn my tnh gip ngi kim th m hnh ho mi trng bn ngoi ca phn mm thi gian thc v ri m phng cc iu kin vn hnh thc ti mt cch ng.B phn tch lung d liu: Cng c ny theo di du vt lung d liu i qua h thng v c gng tm ra nhng tham kho d liu khng xc nh, t ch s sai v cc li khc c lin quan ti d liu.Kim th hiu nng (Performance test)Khi qutKim th hiu nng c thc hin nhm xc nh tc , kh nng phn ti v mc tin tng ca phn mm trong mi trng nhiu ngi dng, c nhiu hot ng khc nhau. Dng cng c kim tra t ng kim tra hiu nng phn mm iu kin c s iu chnh v mc ti. Trong kim th phn mm, kim th hiu nng lm kim tra hiu qu hot ng ca phn mm, kh nng, tc vn hnh ca h thng. N cng c th dng xc minh v xc nhn cht lng ca h thng, chng hn nh quy m, tin cy, s dng ti nguyn ca h thng. Kim th hiu nng c th phc v nhiu mc ch khc nhau. C th dng chng minh rng h thng p ng cc tiu ch hiu sut. N c th so snh hai h thng tm ra h thng tt hn. Hoc c th dng tm ra phn no ca h thng khin h thng hot ng km. Khi thc hin kim th hiu nng, kim th vin phi ra kt qu mong i mt cch r rng. V d: i vi ng dng web, chng ta cn bit thng s quan trng l: s kt ni (session) ng thi m my ch c th phc v, thi gian (bao nhiu pht/giy) m trnh duyt nhn c kt qu t my ch, ...Khi thc hin kim th hiu nng ngi ta thng chn thi im m chng trnh tng i n nh. Thng thng chc nng nm trong tnh hung cn kim tra hiu nng c kim tra l chy ng. iu ny s gip cho vic phn tch nh gi kt qu ca PT d dng v ng n.Kim th hiu nng gm ba loi kim th sau:[12]Kim th ti d liu (Load testing) l mt phn trong qui trnh thc hin kim th hiu nng. Kim th ti trng i khi cn gi l Volume Test. Dng cng c KTT kim tra phn mm iu kin lin tc tng mc chu ti. Tuy nhin mc chu ti cao nht vn mc chc nng PM hot ng ng.Kim th ti trng (Stress Test) c s dng xc nh cc im ph v ng dng trong iu kin chu ti cao nht. V d cc giao dch c gi n my ch nhanh nht c th h hng ng dng. Th nghim ny rt hu ch khng nhng xc nh khi no h thng s ph v, m cn cho bit s lng yu cu ti a trn mi n v thi gian (yu cu / pht) m h thng c th x l. [12]Kim th tin cy (Reliability Test) xc nh bao lu ng dng c th duy tr mc hiu sut ti a theo ti d kin. Kim th ny thc hin mt khi lng cng vic n nh hoc ph hp trn ng dng trong mt khong thi gian ln.[12]Mi kim th s cho php kim th vin cung cp mt phn tch y v ton din v hiu sut phn mm kim th, v xc nh tc nghn nghim cm tng hiu sut.[12]Nghec ng mMc tiuKim th hiu nng l mt dng kim th t ng, tm ra im tht c chai ca phn mm cn kim tra, qua gip cho ngi lm phn mm c thay i thch hp tng kh nng thc thi ca phn mm. Bn cnh cng gip kim th vin bit c nhng thng s ngng ca phn mm, ra tiu chun cho nhng ln kim th sau. ra cc thng s, tiu chun v hiu nng thc thi ca phn mm. Mt s thng s l: s phin lm vic, thi gian x l ca phin lm vic, v cc ti nguyn khc b chim gi. V d V d 1: C ng dng web, yu cu cn tm thng s v hiu nng thc thi ca ng dng. Dng LoadRunner to tnh hung khi u c 10 ngi dng, c 2 pht tng thm 10 ngi, tng ti a l 2000 ngi. Quan st: Biu thi gian p ng vi kt qu x l ng v kt qu sai, c bao nhiu yu cu khng c x l, ti nguyn s dng nh RAM, CPU,...Thng qua gip xc nh ng dng hot ng tt nht trong iu kin no.Ti sao phi s dng kim th hiu nng m bo phn mm c cht lng th ngi kim th vin phi c nhng cch kim tra gi lp gn ging mi trng thc t nht. Trong thc t c rt nhiu phn mm theo m hnh khch/ch p ng nhiu ngi dng cng mt lc. Mt s yu cu thc t rt hay t ra l: Xc nh thi gian p ng khi c nhiu ngi dng nh: s yu cu trn giy, s giao dch thnh cng trn giy, s thng ip chuyn giao trn giy, s gi tin trn giy, ... Xc nh biu ti nguyn chim gi ca phn mm khi c nhiu ngi dng trong thi gian di nh: CPU, b nh, I/O ca a cng, I/O ca mng. Xc nh kh nng phn ti, kh nng phc hi d liu khi c s c v qu nhiu ngi dng, ... ra cu hnh phn cng ti thiu PM c th hot ng. Kim tra vic thc hin giao dch c b sai lch khi c nhiu ngi cng lm ging thao tc.Vi nhng bi ton trn vic dng cng c kim th hiu nng l khng th trnh khi. y ng thi cng l c im kim th vin xc nh xem nhng trng hp no th phi p dng kim th t ng, v tiu biu l dng cng c thc hin kim th hiu nng. Kim th hiu nng gip chng ta on trc c nhng li c th xy ra khi trin khai phn mm vo thc t trong mi trng c nhiu ngi dng. Bn cnh cn gip tm ra hiu nng thc thi ti a ca phn mm v tm ra ni cn ci tin cho phn mm. Kim th hiu nng mang cc c tnh u vit ca kim th t ng nh gim thi gian kim tra hi qui, thc hin o lng cc thng s chnh xc, gip gim thiu chi ph cho d n...Thun li ca vic s dng cng c kim th hiu nngKim tra t ng hiu qu l mt quy tc nhm thc y cc sn phm, v cc tin trnh x l gim bt nhng ri ro ca ng dng, bn nng cp, hoc bn v li. Ti ct li ca n, hiu sut ca h thng t ng kim tra l v vic p dng workloads sn xut trc khi trin khai h thng, trong khi cng mt lc h thng o lng hiu qu v kinh nghim ngi dng cui. Mt cu trc PT hiu qu s tr li nhng cu hi sau y:Liu ng dng c tr li (response) mt cch nhanh chng p ng cho ngi dng quc t? Liu vic ng dng c th x l k vng ca ngi s dng np vo v yu cu cao hn th ? Liu vic ng dng c th x l s lng cc giao dch theo yu cu ca cc nh kinh doanh khng? ng dng c n nh theo d kin v trong trng hp ngi s dng ti bt ng?Bng cch tr li nhng cu hi ny, cng c PT s xc nh s nh hng ca mt thay i trong iu kin kinh doanh.iu ny s lm cho r rng nhng ri ro ca vic trin khai.Mt cch hiu qu hiu sut ca h thng t ng kim tra qu trnh gip bn to ra thm nhng thng tin xc thc, v ngn chn h thng downtime v cc vn khc. Chi ph thc hin kim th hiu nngThc hin kim tra hiu nng thng tn chi ph rt ln. Cc chi ph lin quan kim tra hiu sut c th c phn loi l nh sau:u t sn xut cc cng c kim th hiu nng.Thi gian tiu tn trong vic chun b d liu kim th.Thc hin kim th ti trng c s h tng, mi trng ci t nn cng c th gn cc mi trng sn xut.Trong trng hp ca cc t chc hnh chnh, mua li cc khon cn thit l mt t nht qu trnh, t cc bi kim tra thng i hi nhiu quyn hnh chnh.Khi c rt nhiu chi ph lin quan n kim th hiu nng, th u t vo cng c kim th ny c coi l nhng ng gp khng th thiu nht trong tng chi ph thc hin. Hu ht cc cng c thng mi phi c giy php ring bit kim th trn ti trng ngi s dng gp phn vo n lc rt ln chi ph th kim hiu nng ca chnh n.Gii php m ngun mTm kim s thay th tt hnu t vo cng c kim th dn n tm ra cc gii php thay th tt hn. Qu trnh tm kim kt thc bng vic tm ra cng c m ngun m kim tra hiu sut m khng nh hng cht lng kim th phn mm.Khi nim m ngun m M ngun m c nh ngha nh l mt m phn mm c sn cho ngi dng kim tra v thay i mt cch t do m khng vi phm bt k bng sng ch, lut bn quyn, hoc cc tha thun cp php. tng vi m ngun m l tt c mi ngi c th lm vic vi nhau v xy dng da trn cc cng c hin c, kt qu cui cng l phn mm tt hn nhiu. l mt cch cho nhiu cng ty v c nhn cng tc v ci thin phn mm m mi ngi khng th lm mt mnh.Ti sao mi ngi nn chia s m ngun m?Khng c chi ph, hon ton min ph.Tnh di ng cao.M rng v cung cp mt gii php hiu qu cho vic pht trin nhu cu kinh doanhRt nhiu din n m ngun m h tr k thut snh ngang hng vi bt k cng c h tr thng mi khc. Trong thc t m ngun m c li th nh khng c chi ph hay nhng vn lin quan v sau nh l h tr k thut nh cc cng c thng mi khc.Tm li, cc gii php ngun m khng ch l v tit kim chi ph, m n cn c nhiu ty chn, thn thin vi ngi dng, tng thch cao trn cc nn tng (platform) khc nhau v cung cp mt gii php hiu qu cho nhu cu pht trin kinh doanh ca cc doanh nghip nh.Phn mm m ngun m trong kim th hiu nng Li ch ca vic s dng m ngun m kim th hiu nngS h tr ln cho m ngun mCng c m ngun m c s h tr rt ln t cng ng, hc tp cc giao thc mi tng i d dng v cc truy vn c ng ti (posted) gn nh c cc gii php. y l mt thun li v hu ht cc cng c thng mi phi chi ph ring cho vic cung cp h tr k thut.Khng cn c s h tng cng ngh caoCc phn mm kim th hiu nng khng i hi k thut cao v c s h tng cho kim th ti trng.Kim th phn tnPhn mm kim th h tr nhiu my phun ti (load-injectors) c qun l bi trnh iu khin n.Giao din ha thn thin vi ngi dngHu ht cc cng c m ngun m kim th hiu nng u c mt giao din ha rt thn thin vi ngi dng, v th cho php thao tc vi phn mm nhanh hn v iu chnh thi gian chnh xc hn. Do , hc hi v thch ng vi cng c ny tr nn d dng hn trong mt khong thi gian.Khng c bn quyn v cc vn bo tr- hu ht cc cng c phn mm thng mi, cc c im k thut ti cho ngi dng lm tng chi ph cng c rt ln.Thm vo , phn mm thng mi cn chi ph cho vic bo tr phn mm thng mi. Vi vic s dng cc cng c ngun m min ph, n lc ng gp vo vic bo tr cng c mt cch r rng.

T l dng phn mm m ngun m cho cc d nMt s cng c m ngun h tr kim th hiu nngPhn mm JMeterJMeter l cng c kim th hiu nng m ngun m vit bng Java ca Apache Software Foundation. Ban u JMeter c thit k kim th cc ng dng Web nhng t m rng chc nng kim th khc. JMeter cng c s dng kim th hiu sut c v ti nguyn tnh v ng (cc tp tin, Servlets, Perl script, i tng Java, c s d liu v truy vn d liu, FTP Server, ..). JMeter c s dng m phng kh nng chu ti ca my ch, mng, hoc i tng kim th sc mnh ca n hoc phn tch hiu sut tng th theo cc loi ti trng khc nhau.[18]Phn mm OpenSTAOpenSTA (vit tt ca Open System Testing Architecture) l phn mm min ph, phn mm m ngun m dng kim th kh nng chu ti cc ng dng web, cp php theo GNU GPL. S dng mt kin trc phn mm phn tn da trn CORBA. OpenSTA ch hot ng trn Windows.Phn mm The GrinderThe Grinder l mt ng dng thun Java, mt khung kim th ti trng lm cho Grinder d dng chy mt kim th phn tn bng cch s dng nhiu my phun ti. Grinder l phn mm min ph theo mt giy php ngun m BSD-style. Grinder c mt cch tip cn chung kim tra ti trng bt c i tng no m c mt API Java. i tng ny bao gm cc trng hp thng thng nh cc my ch web HTTP, SOAP, dch v web REST, v my ch ng dng (CORBA, RMI, JMS, EJB), cng nh cc giao thc thng thng. Kch bn kim th c vit bng Jython. Mt giao din iu khin ha cho php nhiu phun ti c gim st v kim sot, v cung cp chnh sa kch bn tp trung v phn phi.[18]Nhn chung, The Grinder c nhiu im tng ng vi JMeter: l mt ng dng thun Java, hot ng trn nhiu h iu hnh, yu cu JVM phin bn 1.4 tr ln. The Grinder cng c thit k kim tra hiu nng web, c s d liu qua JDBC v mt s giao thc khc. iu khc bit l The Grinder i hi kim th vin phi c kh nng s dng ngn ng Jython c th vit/chnh sa cc kch bn kim tra theo mnh, v h thng bo co kt qu kim tra khng linh ng nh JMeter.Phn mm TestMakerTestMaker - Mt nn tng duy nht cho kim th chc nng, kim th hi quy, kim th hiu nng, kim th ti, v gim st dch v kinh doanh, tt c u t cng mt kch bn kim th nghim duy nht. Vt qua kim th khi, im tht c chai mt, v thc thi cc hip nh mc dch v (SLAs - Service Level Agreements) trong mt sn phm.nh gi mt s cng c kim th m ngun m hin nayTheo kt qu iu tra ti trang web http://www.opensourcetesting.org/survey.php cho thy t l cc phn mm kim th

T l bnh chn cng c kim th m ngun m Tm li, mc ch ca kim th phn mm l m bo t tin rng h thng s lm vic v cng lc l tm cch tm ra li ca phn mm. Ngi kim th phi bit s dng hn hp c hai k thut ny m bo cho h thng phn mm l tin cy. Cc giai on kim th c th c cc cu trc khc nhau cc t chc khc nhau nhng vn m bo c chu trnh kim th qua cc giai on pht trin l kim th n v, kim th tch hp, kim th h thng v kim th chp nhn. Hin c nhiu phng php tip cn khc nhau lm th no la chn k thut cho cc hot ng th nghim. Vic kim th c th ch trng n kim th tnh hoc ng, kim th cu trc hoc chc nng, hoc n gin ch ch cn tp trung vo vic tm ra cng nhiu li cng tt. Mt thc t ph bin l cc nhn vin kim th thng ch tp trung vo mt k thut no mt cch cng nhc v c lp, thay v vic kt hp nhiu k thut ph hp c th t c hiu qu tt nht. Gii thiu tng quan v JMeterS lc v JMeterStefano Mazzocchi ca Apache Software Foundation l ngi u tin xy dng phn mm JMeter. ng vit n ch yu kim th hiu nng ca Apache JServ (mt d n t c thay th bng cc d n Apache Tomcat). JMeter c pht trin v m rng kim th hiu nng FTP Server, my ch c s d liu, Java servlet v cc i tng. Ngy nay, JMeter cng b rng ri l mt cng c kim th hiu nng cho cc ng dng web. Nhiu cng ty, k c AOL s dng JMeter kim th ti cho trang web ca h. SharpMind ca c s dng JMeter kim th chc nng v kim th quy hi cho cc ng dng ca n.JMeter l mt ng dng chy trn my khch, c thit k kim th, o lng hiu nng cc ng dng m hnh khch/ch, chng hn nh cc ng dng web hoc ng dng FTP. Hn na, JMeter l mt trong nhng m ngun m c s dng rng ri nht, l mt phn mm kim th c dng min ph m Net c th cung cp.JMeter l ng dng c xy dng da trn nn Java v c nh gi cao thng qua API (Application Programming Interface) c cung cp. JMeter thc thi ti my khch trong m hnh khch/ch. N o thi gian tr li t my ch tr v my khch, v o hiu sut tt c ti nguyn khc ca my ch nh kh nng ti CPU, cch s dng b nh, cch s dng ti nguyn. V mt ny, JMeter c th c s dng hiu qu kim th chc nng mt cch t ng. Ngoi ra, JMeter l cng c h tr kim th quy hi cc loi ng dng tng t nhau. Mc d n c thit k cho vic kim th cc ng dng web, nhng n cng c pht trin h tr cc kim th chc nng khc. JMeter l d n u tin v hin ti vn ang pht trin nh l mt trong nhng d n ca Apache Jakarta, d n ny a ra tp hp cc gii php m ngun m Java khc nhau.c trng ca JMeterJMeter c th c s dng kim th hiu sut c v ti nguyn tnh v ti nguyn ng nh cc tp tin tnh, Java Servlets, CGI script, i tng Java, c s d liu, FTP Server, . kim th v o lng hiu sut ca HTTP, FTP Server, mng (network) th kim th vin cn kim th. JMeter cng gip kim th vin thc hin cng vic ny mt cch chnh xc trn cc h thng ln hn. Bn cnh , cc cng c ha ca n cho php thc hin cc phn tch tt hn v hiu sut ti nng. kim th chc nng hot ng ca cc ng dng JMeter thc hin cc bi kim th hi quy v cc ng dng . n gin, ngoi cc kch bn kim th, cc xc nhn ca JMeter gip m bo rng cc ng dng tr li kt qu mong i hay khng mong i. JMeter cung cp mt giao din ngi dng, lm cho n d s dng hn. JMeter cng a ra mt API (Application Programming Interface) cho php chy cc kim th ca phn mm JMeter da trn ng dng Java.Apache JMeter c nhng im c trng sau:Kim th hiu nng HTP, FTP Server, truy vn c s d liu.JMeter l mt ng dng c vit bng ngn ng Java nn n c cc c im m bt k cc ng dng Java no cng c: Tnh d s dng Tnh ng thi Tnh m rngHiu qu trong vic thit k giao din ha v h tr cho cc thnh phn (component) cho php thc hin kim th nhanh hn v chnh xc hn v thi gian.Kt qu kim th lu vo b nh m, xem li kt qu kim th.Kch bn kim th hay k hoch kim th c bn nht ca JMeter i hi to ra vng lp m phng tun t cc yu cu gi n my ch vi mt khong thi gian xc nh trc v m phng ti ng thi ca mt thread group. Kch bn c th c thay i v m rng, cung cp cng c cn thit cho php kim th v o lng hiu sut hot ng cc ng dng hoc my ch. Trong khi , cc yu t c bn ca mt k hoch kim th JMeter c th bao gm t nht ba yu t: Thread Group, Listeners, and Samplers. Yu t thread group m phng mt nhm ngi dng, trong c t nht mt ngi dng. Yu t Sampler to ra v gi cc yu cu n my ch, yu t Listener lu li d liu tr v t my ch. Mc 2.4 s trnh by c th chc nng tng yu tGiao din JMeterMt k hoch kim th trong JMeter bao gm mt hay nhiu Thread group, trnh iu khin logic, trnh lng nghe, thi gian, xc nhn, v cc yu t cu hnh:Thread group: Mi thread m phng mt ngi dng n l. Cc thnh phn khc ca k hoch kim th c t bn di thread group.Trnh lng nghe: Trong khi JMeter thc thi, trnh lng nghe truy cp vo thng tin v trng hp kim th (test case) c JMeter thu thp.Trnh iu khin: Cc sampler yu cu JMeter gi cc yu cu ti my ch, trong khi trnh iu khin logic cho php thay i gi tr logic ca n.Thi gian: Cho php JMeter tr hon gia mi yu cu m thread to ra.Xc nhn: Cho php kim tra l ng dng tr v kt qu mong i.Yu t cu hnh: cc yu t cu hnh c th thm vo hoc iu chnh cc yu cu c to ra bi sampler.Cc biu tng cho cc yu t nu trn c trnh by trong Hnh 2.1.

Cc thnh phn mt k hoch kim thKhi chy phn mm JMeter, trn mn hnh s c hai phn xut hin: K hoch kim th (test plan) v vng lm vic tm (Workbench) (Xem Hnh 2.2). K hoch kim th m t cc bc JMeter thc thi khi chy k hoch kim th. Trong khi chc nng ca vng lm vic tm l mt khng gian lm vic tm thi lu tr cc yu t kim th. Nhng yu t trong vng lm vic tm khng c lu cng vi k hoch kim th, nhng c th c lu mt cch c lp.

Giao din ban u khi chy phn mm JMeterGiao din ngi dng phn mm JMeter (xem Hnh 2.3) gm bng iu khin (panel): bng iu khin bn tri (left panel) v bng iu khin bn phi (right panel). Cc bng iu khin tri hin th cc yu t hoc cc nt c s dng trong k hoch kim th. Thm v xa cc yu t ny bng cch kch chut phi vo nt v chn Add thm hoc Remove xa t trnh n ph. Bng bn phi hin th cc chi tit ca mi yu t.

Giao din ha phn mm JMeterMt k hoch kim th trong JMeter gm mt hoc nhiu thread group, v mi thread group c nhiu cc yu t (xem Hnh 2.4 )

Cc yu t trong k hoch kim thS dng JMeter nh mt cng c kim th hiu nng, yu t cn thit nht l thread group. N c dng m phng ti nhiu d liu kim tra hot ng ca my ch di ti trng ln nht. Ngoi ra, JMeter cn ci sn mt lch trnh chy kim th. Mt thread group vi cc chi tit c trnh by Hnh 2.5

Giao din Thread groupCi t v thc thi phn mm JMeterYu cu c th chy JMeter, my tnh cn ci t my o Java (Java Virtual Machine) phin bn 1.3 tr ln. Nu ng dng ang kim th nghim, yu cu h tr giao thc HTTPS, th cn phi ti v JSSE, v phin bn my o Java 1,3 khng cung cp h tr ny. Ngoi ra, phin bn JMV 1.3 khng thc hin tt bng cc phin bn Java sau ny. Phin bn JVM 1.4 hoc cc phin bn sau ny l JVM l tng chy JMeter tt nht. JMeter c vit bng Java, n c th chy trn bt k h thng m c Java thc thi, lm cho n c tnh di ng cao (highly portable). JMeter c th chy trn h iu hnh UNIX, LINUX, OPEN VMS alpha 7.3+, v WINDOWS (phin bn 98 tr ln).Nu bin dch li m ngun JMeter, s dng API JMeter cung cp trong bn pht hnh JMeter, cn phi s dng cc trnh bin dch Java thng qua mt s IDE,v d: Eclipse hoc bt k IDE Java khc. Cng c th chn s dng Ant xy dng JMeter t m ngun. Tuy nhin, khng c cn ci t mt trnh bin dch Java ring bit, v JMeter phn phi gi s c mt kho lu tr nh phn Java bin dch sn c. Mt khc, bin dch cc gi c thm vo JMeter ch cn ti v cc kho lu tr nh phn v thm JARs cho JMeter classpath. C th chn hoc gi nh phn (sn sng s dng) hoc gi m ngun (c k hoch m rng tnh nng ca JMeter v xy dng thm m ngun cho JMeter). Ngoi ra, cn phi ti v phin bn JMeter n nh 1.8 hoc cao hn t website JMeter Apache. Chy phn mm JMeterCi tTi phn mm JMeter t website http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi . Sau khi ti v, thc hin gii nn tp tin ra.Thc thi chy JMeter, chy tp tin jmeter.bat (i vi Windows) hoc tp tin jmeter (i vi Unix). Nhng tp tin ny c tm thy trong th mc bin. Sau khi mt khong tm dng ngn, cc giao din JMeter s xut hin nh hnh 2.1.

Giao din JMeter

Cc yu t ca mt k hoch kim th trong JMeterMt k hoch kim th c mt hp kim tra c gi l hp kim tra chc nng. Nu ta nh du chn vo thnh phn ny th JMeter ghi li tt c d liu c tr v t my ch cho mi sample. Nu ngi chn mt tp tin trong phn kim th listeners, th d liu s c ghi vo tp tin. iu ny rt hu ch nu nh ngi dng ang thc thi mt hot ng nh, nhng phi m bo l JMeter c cu hnh ng v my ch tr v kt qu nh mong i. H qu l cc tp tin s pht trin rt ln mt cch nhanh chng, v hiu sut ca JMeter s b nh hng. Ty chn ny nn c tt nu vic kim th c cc vn kh khn (theo mc nh th n c tt). Nu khng ghi d liu vo tp tin, ty chn ny khng c g khc bit. Ngi dng cng c th s dng nt cu hnh trn mt listener quyt nh nhng trng d liu cn lu. ThreadGroup Cc yu t Thread group (Xem Hnh 2.2) l im khi u ca bt c mt k hoch kim th no. Tt c cc controller v sampler phi c nhm vo mt thread group. Cc yu t nh Listeners, c th c t trc tip vo trong k hoch kim th, trong trng hp chng s p dng cho tt c cc thread group. Yu t thread group kim sot s lng thread trong JMeter c s dng thc hin kim th. Cc iu khin cho mt thread group cho php: Thit lp s lng thread t im thi gian Thit lp s ln thc hin cc kim th Mi thread s thc hin k hoch kim th ton b v hon ton c lp vi vic kim th cc thread khc. Nhiu thread c s dng m phng kt ni ng thi n ng dng my ch. Thi im ramp-up cho bit thi gian a ra bi jmeter to tt c nhng thread cn thit. Nu 10 thread c s dng, v thi gian ramp-up l 100 giy, th JMeter s thc hin trong 100 giy to ra 10 thread v chy. Mi thread s bt u sau cc thread pha trc c bt u l 10 (100/10) giy. Nu c 30 thread v thi gian ramp-up l 120 giy, sau mi thread k tip s b tr hon bi 4 giy. Ramp-up cn di trnh ti mt cng vic qu ln vo lc bt u kim th, v Ramp-up ngn cc thread mi, bt u chy trc khi cng vic u tin c hon thnh. Khi bt u, Ramp-up bng s lng cc thread dng kim th v iu chnh tng hoc gim khi cn thit. Theo mc nh, cc nhm ch c cu hnh lp mt ln thng qua cc thnh phn ca n. Phin bn 1.9 gii thiu mt lch trnh chy th nghim. Nhp vo hp kim di cng ca bng Thread Group m rng thm cc phn m trong ngi dng c th nhp vo ln u v cui ca vic chy thc nghim. Khi k hoch kim th c bt u, nu cn thit JMeter s ch i cho n khi thi gian bt u t c. Vo cui mi chu k, JMeter kim tra xem nu thi gian kt thc t ti, v nh vy, chy th nghim c dng li, ngc li nu k hoch kim th vn tip tc cho ti khi t ti gii hn lp.

Giao din Thread groupNgoi ra, ngi dng c th s dng s chm tr thi gian tng i v khong thi gian cho cc thnh phn. Lu rng s chm tr s ghi ln thi gian bt u, v thi gian kt thc. Trnh iu khin ControllerJMeter c hai loi iu khin: Samplers and trnh iu khin Logic. Nhng trnh iu khin ny thc thi k hoch kim th. JMeter gi yu cu v cc Sampler n my ch. V d, thm mt yu cu HTTP Sampler JMeter nu ngi dng mun gi mt yu cu HTTP request ti my ch th JMeter thm mt HTTP Request Sampler. Ngi dng cng c th ty chnh mt yu cu bng cch thm mt hoc nhiu yu t cu hnh mt Sampler. hiu r hn v Sampler c phn 2.4.2.1B iu khin logic cho php ngi dng iu chnh yu t logic v JMeter s dng cc iu chnh thc thi khi gi yu cu. V d, c th thm mt trnh iu khin Interleave Logic Controller thay th gia hai HTTP Request Samplers. bit thm thng tin, xem phn 2.4.2.2. Trnh iu khin logic . SamplersSampler gi yu cu ti my ch v i my ch tr li li thng qua phn mm JMeter. Ly mu ni vi JMeter gi yu cu n my ch v ch i mt phn hi. Cc yu cu c x l theo th t chng xut hin trong cy. B iu khin c th c s dng thay i s ln lp li ca mt sampler. Cc Sampler trong JMeter bao gm: FTP Request, HTTP Request (Xem Hnh 2.3 ), JDBC Request, Java object request, LDAP Request, SOAP/XML-RPC Request, WebService (SOAP) Request Mi sampler c mt s thuc tnh, m ngi dng c th thit lp. Ngi dng c th tu chnh mt mu bng cch thm mt hoc nhiu yu t cu hnh cc k hoch th nghim.

Giao din thit lp tham s HTTP RequestNu ngi dng gi nhiu yu cu cng loi (v d, yu cu HTTP) n cng mt my ch, hy xem xt s dng cc yu t cu hnh mc nh. Mi controller c mt hoc nhiu yu t mc nh.Hy nh thm mt Listener vo k hoch kim th xem v (hoc) lu tr cc kt qu ca yu cu ca ngi dng vo a. Nu ngi dng quan tm ti hiu lc thc thi v cc phn hi cc yu cu ca ngi dng trong JMeter, th thm mt Assertion vo Sampler. V d, trong kim th mt ng dng web, my ch c th tr v mt m hi p HTTP thnh cng, nhng trang web c th c li hoc c th c mt s phn cn thiu. Ngi dng c th thm cc xc nhn kim tra mt s th HTML, nhng chui li ph bin, JMeter cho php ngi dng to ra nhng xc nhn bng cch s dng biu thc thng thng. Trnh iu khin logic (Logic Controllers) Trong JMeter, iu khin logic cho php ngi dng s dng cc ty bin yu t logic khi gi cc yu cu. iu khin logic c th thay i th t cc yu cu gi n t cc phn t con ca chng. iu khin logic c th sa i cc yu cu ca chnh chng, buc JMeter lp li yu cu, hiu c tc dng ca trnh iu khin logic trong k hoch kim th, hy xem xt cc cy kim th sau y: K hoch kim th Thread GroupTrnh iu khin mt ln Yu cu ng nhp (mt yu cu HTTP ) Tm kim tTrang (HTTP Sampler) Interleave ControllerTm kim A (HTTP Sampler) Tm kim B (HTTP Sampler) Yu cu HTTP mc nh (Yu t cu hnh) Yu cu HTTP mc nh (Yu t cu hnh) Qun l Cookie (Yu t cu hnh) iu u tin ca kim th l yu cu ng nhp s c thc hin thng qua ln u tin. Sau ny, vic lp i lp li s b qua yu cu ng nhp. iu ny l do tc ng ca trnh iu khin mt ln (Once Only Controller) . Sau khi ng nhp, cc Sampler k tip ti ti cc trang tm kim (tng tng mt ng dng web m ngi dng ng nhp vo, v sau i n mt trang tm kim thc hin tm kim). y ch l mt yu cu n gin, khng phi lc qua bt k iu khin logic. Sau khi ti cc trang tm kim, thc hin mt tm kim. Trn thc t, mun lm hai tm kim khc nhau. Tuy nhin, mun ti li chnh trang tm kim gia mi tm kim, c th lm iu ny bi c 4 yu t yu cu HTTP n gin (ti tm kim, tm kim A, ti tm kim, tm kim B). Thay vo , chng ta s dng iu khin Interleave thng qua mt yu cu con cho mi ln kim th. Trnh iu khin Interleave Controller gi trt t ca cc thnh phn con ca n (c ngha l - n khng vt qua mt cch ngu nhin, nhng n nh v tr ca n). an xen hai yu cu con c th l yu cu qu mc cn thit, nhng c th d dng c c 8, hoc 20 yu cu con. Lu cc yu cu HTTP mc nh l thuc v Controller Interleave. Hy tng tng rng Tm kim A v Tm kim B chia s cng cc thng tin PATH (mt c t yu cu HTTP bao gm tn min, cng, phng php, giao thc, ng dn, v i s, cng vi cc ty chn khc). iu ny c ngha - c hai u tm kim cc yu cu, v tc ng vo cng b my c s d liu tm kim (mt servlet hay kch bn-cgi). Hn na, cu hnh c hai HTTP Sampler vi cng mt thng tin trong trng PATH ca chng, c th tm tt cc thng tin thnh mt yu t cu hnh n gin. Khi iu khin Interleave i qua cc yu cu t tm kim A hoc Tm kim B, n s in vo nhng ch trng vi gi tr t yu t cu hnh HTTP yu cu mc nh. V vy, ngi dng xa trng trng PATH cho nhng yu cu kia, v a thng tin vo cu hnh cc phn t. Trong trng hp ny, y l mt u im nh tt nht, nhng n minh ha c c trng ca mnh. Yu t tip theo trong cy l mt yu cu HTTP mc nh khc, ln ny b sung vo chnh thread group. Thread Group xy dng sn trong trnh iu khin logic, v do , n s dng cu hnh phn t ny ng nh m t trn. N lp y khong trng ca bt k yu cu no m n i qua. N rt hu ch trong kim th web b cc trng DOMAIN trng trong tt c thnh phn HTTP Sampler, v thay vo , a thng tin vo mt thnh phn yu cu HTTP mc nh, thm vo cc Thread Group. Bng cch , ngi dng c th th nghim ng dng ca mnh trn mt my ch khc nhau ch n gin bng cch thay i mt trng trong k hoch kim th nghim. Nu khng, s phi chnh sa mi v mi Sampler. Yu t cui cng l mt trnh qun l HTTP Cookie Manager . Mt qun l Cookie nn c thm vo tt c cc kim th web - nu khng JMeter s b qua cc cookie. Bng cch thm n cp Thread Group, chng ta m bo rng tt c cc yu cu HTTP s cng chia s cc cookie. Cc iu khin Logic c th c kt hp t c kt qu khc nhau. ListenersListeners cung cp truy cp vo thng tin cc JMeter thu thp v cc trng hp kim th trong khi JMeter chy. Kt qu ha ca listener (The Graph Results listener) v s ln phn hi thnh th. Cc cy xem kt qu Listener cho thy chi tit cc yu cu ca sampler v s phn hi, v c th hin th HTML c bn v c trng phn hi XML. Cc listener khc cung cp bng tm tt hoc bng tng hp thng tin. Ngoi ra, listener c th a d liu trc tip vo mt tp tin s dng sau ny. Listener trong JMeter cung cp mt trng ch ra tp tin lu tr d liu. Ngoi ra cn c mt nt cu hnh c th c s dng chn cc trng lu, v c s dng CSV hoc nh dng XML. Lu rng tt c Listeners lu cc d liu ging nhau, khc bit duy nht l trong cch hin th d liu trn mn hnh. Listeners c th c thm vo bt c ni no trong cc th nghim, bao gm c trc tip theo k hoch kim th. Chng s ch thu thp d liu t cc yu t cng hoc di mc ca chng. C mt s listeners c sn vi JMeter: Graph Full Results, Graph Results (Xem Hnh 2.4), Spline Visualizer, Assertion Results, .

Giao din Graph ResultTimers Theo mc nh, mt Thread JMeter gi yu cu m khng cn tm dng gia mi yu cu. Ngi dng nn xc nh mt s chm tr bng cch thm vo mt trong nhng thi gian sn c cho thread group Nu ngi dng khng thm mt s chm tr, JMeter c th p o my ch bng cch to nhiu yu cu trong mt khong thi gian rt ngn. Cc b m thi gian s gy ra JMeter tr hon mt thi gian nht nh trong phm vi ca n trc mi sampler. Nu chn thm nhiu hn mt b m thi gian timer cho mt Thread group, JMeter c tng ca cc thi gian timer v JMeter tm dng cho rng s lng thi gian trc khi thc thi samplers m b thi gian timer p dng. B m thi gian c th c thm vo nh l con ca sampler hoc iu khin controller hn ch cc sampler m b m thi gian ang p dng. cung cp mt tm dng ti mt ni duy nht trong mt k hoch kim th, ngi ta c th s dng Sampler kim th hnh ng (Test Action Sampler). Xc nhn (Assertion)Xc nhn cho php ngi dng khng nh s tht v cu tr li nhn c t my ch ang c th nghim. S dng s xc nhn, ngi dng c th c bn kim tra ng dng v tr v kt qu m ngi dng mong i. V d, ngi dng c th khng nh rng cc phn hi mt truy vn s c mt s vn bn c th. Cc vn bn ch nh c th l mt biu thc chnh quy theo kiu Perl, v ngi dng c th ch ra rng phn hi ny l c cc vn bn, hoc l n phi ph hp vi ton b phn hi. Ngi dng c th thm mt khng nh cho bt k Sampler. V d, ngi dng c th thm mt xc nhn cho mt yu cu HTTP kim tra cc vn bn, . Sau JMeter s kim tra xem vn bn c trong cc phn ng HTTP. Nu JMeter khng th tm thy cc vn bn, sau n s nh du yu cu ny nh l mt yu cu khng thnh cng. Lu rng cc xc nhn p dng cho tt c samplers m ang trong phm vi ca n. xem cc xc nhn kt qu, thm mt Assertion Listener vo Thread Group. Cc xc nhn li cng s hin th trong khung cy v bng Listener, v s c tnh vo t l % li ca v d mu nh trong cc bo co tng hp v tm tt. Cc yu t cu hnhMt yu t cu hnh lm vic cht ch vi mt Sampler. Mc d n khng gi cc yu cu (ngoi tr HTTP Proxy Server ), n c th thm vo hoc sa i cc yu cu. Mt yu t cu hnh c th truy cp t ch bn trong cy ni m ngi dng t cc phn t. V d, nu t mt trnh qun l HTTP Cookie trong mt trnh iu khin logic n gin, trnh qun l cookie s ch c truy cp vo trnh iu khin yu cu HTTP (HTTP Request Controllers) m ngi dng thit lp bn trong iu khin logic n gin (xem Hnh 2.5). Cc Cookie Manager c th truy cp n cc yu cu HTTP trang web 1 v trang web 2, nhng khng phi l trang web 3. Ngoi ra, mt yu t cu hnh bn trong mt nhnh cy c th t u tin cao hn so vi cc phn t ging nhau trong mt chi nhnh cha m. V d, ngi dng nh ngha cc yu t cho hai yu cu HTTP mc nh, Web Defaults 1 v Web Defaults 2. Khi t Web Defaults 1 bn trong mt vng iu khin, ch c Web Page 2 c th truy cp n. Cc yu cu HTTP khc s s dng Web Defaults 2, v chng ta t n trong Thread Group (cha m ca tt c cc nhnh khc). Ngi dng nh ngha bin cu hnh cc thnh phn l khc nhau. N c thc thi ti phn u ca mt k hoch kim th, cho d n c t bt k ni u. n gin, n c cho rng phn t ch c t u ca mt Thread Group.

Kim th kh nng truy cp cc yu t cu hnhB tin x lB tin x l thc hin mt s hnh ng trc khi mt yu cu Sampler c thc hin. Nu mt tin x l c gn vo mt phn t Sampler, sau n s thc thi ngay trc khi yu t sampler chy. B tin x l thng c dng sa i cc thit lp ca mt Sample Request trc khi n chy, hoc cp nht cc bin khng c trch ra t vn bn tr li. Xem cc quy nh phm vi bit thm chi tit khi b tin x l c thc thi. Hu x lHu x l thc thi mt s hnh ng sau khi mt yu cu Sampler c thc hin. Nu hu x l c gn vo mt phn t Sampler, sau n s thc hin ngay sau khi c yu t sampler chy. Hu x l thng c dng x l d liu tr li, thng trch xut cc gi tr t n. Xem cc quy nh phm vi bit chi tit hn khi hu x l c thc thi. Thc thi theo trnh t Trnh t thc thi:Yu t cu hnh Tin x lThi gianSampler Hu x l (tr khi SampleResult l rng) Xc nhn (tr khi SampleResult l rng) Listeners (tr khi SampleResult l rng) Xin lu rng thi gian, xc nhn, tin x l v hu x l ch c x l nu c mt sampler p dng. Trnh iu khin logic v Sampler c x l theo th t m chng xut hin trong cy. Cc yu t kim th khc c x l theo phm vi m chng c tm thy, v loi yu t kim th. [Trong mt loi, cc yu t c xt theo th t m chng xut hin trong cy]. V d, k hoch kim th sau y: iu khin Hu x l 1 Sampler 1Sampler 2 Timer 1Xc nhn 1 Tin x l 1 Timer 2 Hu x l 2 Trnh t thc hin s l: Tin x l 1 Timer 1 Timer 2 Sampler 1 Hu x l 1 Hu x l 2 Xc nhn 1

Tin x l 1Timer 1Timer 2Sampler 2Hu x l 1Hu x l 2Xc nhn 1m tr 4,10 Cc cy th nghim JMeter cha cc yu t l c phn cp v th t. Mt s yu t trong cy kim th th phn cp r rng (Listeners, yu t cu hnh, hu x l, tin x l, xc nhn, thi gian), v mt s l theo th t c bn (iu khin, ly mu). Khi ngi dng to ra k hoch kim th, h s to ra mt danh sch yu cu sample theo th t (thng qua Sampler) m i din cho mt tp hp cc bc c thc thi. Cc yu cu ny thng c t chc trong vng iu khin m chng c sp xp. Vi cy kim th (xem Hnh 2.6):

V d cy kim thTh t ca cc yu cu s c, Mt, hai, ba, bn. Mt s iu khin nh hng n th t ca cc yu t ph ca h, v ngi dng c th c v cc iu khin c th trong thnh phn tham chiu . Cc yu t khc c phn cp. Chng hn, mt xc nhn, l th bc trong cy kim th. Nu cha m ca n l mt yu cu, sau n c p dng yu cu . Nu cha m ca n l mt iu khin, sau n nh hng n tt c yu cu l con chu ca iu khin. Xem cy kim th Hnh 2.7: V d h thng phn cp:Xc nhn # 1 (Assertion #1) ch c p dng cho yu cu 1, trong khi Xc nhn # 2 (Assertion # 2) l p dng cho cc yu cu Hai v Ba.

Cy kim th phn cpMt v d khc, ln ny bng cch s dng Timers (Xem Hnh 2.8):

Cy kim th phn cp dng TimersTrong v d ny, cc yu cu c t tn phn nh th t m chng s c thc hin. Timer # 1 s p dng i vi hai yu cu, Ba, v Bn ( thng bo nh th no l khng thch hp cho cc phn t phn cp). Khng nh # 1 (Assertion #1) s ch p dng cho yu cu Ba. Timer # 2 s nh hng n tt c cc yu cu. Hy vng rng cc v d ny lm r cch cu hnh (phn cp) cc yu t c p dng. Nu ngi dng tng tng yu cu c chuyn ln cc cnh cy, cha m ca n, sau n cha m ca m, vv, v mi ln thu thp tt c cc yu t cu hnh ca cha m rng, th ngi dng s bit cch m cc yu cu hot ng. Cc yu t cu hnh qun l Header, qun l Cookie v qun l y quyn c x l khc vi cc yu t cu hnh mc nh. Cc thit lp t cc yu t cu hnh mc nh c sp nhp vo mt tp hp cc gi tr m Sampler truy cp vo. Tuy nhin, cc thit lp t nhng ngi qun l khng b sp nhp. If more than one Nu c nhiu hn mt qun l trong phm vi ca mt Sampler, ch c mt qun l c s dng, nhng hin ti khng c cch no xc nh c n c s dng. Thuc tnh v binNhng thuc tnh ca JMeter c nh ngha ti jmeter.properties (xem - Cu hnh JMeter bit thm chi tit). Cc thuc tnh ch yu c s dng xc nh mt s cc mc nh JMeter s dng. V d cc thuc tnh remote_hosts xc nh cc my ch m JMeter s c gng truy cp t xa. Cc thuc tnh c th c tham chiu trong cc k hoch kim th - xem chc nng - c mt thuc tnh - nhng khng th c s dng cho cc gi tr thread c th. Cc bin trong JMeter xc nh cho mi thread. Cc gi tr c th l ging nhau cho mi thread, hoc chng c th khc nhau. Nu mt bin c cp nht bi mt thread, ch c nhng bn sao thread ca bin l thay i. V d nh b hu x l cc biu thc thng thng s thit lp cc bin ca n theo sample m thread ca n c, v chng c th c s dng sau ny do cng mt thread. Lu rng cc gi tr c xc nh bi k hoch th nghim v cc bin xc nh ngi dng cu hnh phn t c to sn cho cc k hoch kim th ton b lc khi ng. Nu bin c xc nh bi nhiu yu t UDV, th ci cui cng c hiu lc. Khi mt ch bt u, cc thit lp ban u ca cc bin c sao chp vo tng thread. Cc yu t khc nh tin x l cc tham s ngi dng hoc hu x l biu thc thng thng c th c s dng xc nh li cc bin ging nhau (hoc to ra nhng ci mi). Vic xc nh li ch p dng cho cc thread hin hnh. Cc chc nng setProperty c th c s dng xc nh mt thuc tnh JMeter. y l ton b k hoch kim th, v vy c th c s dng truyn thng tin gia cc thread - nn c th cn thit. Dng bin kim tra cc tham sCc bin khng cn phi thay i - chng c th c nh ngha mt ln, v nu cn li mt mnh, s khng thay i gi tr. V vy, ngi dng c th s dng chng nh l iu khin nh cho cc biu thc xut hin thng xuyn trong mt k hoch th nghim. Hoc cho cc mc l c nh trong thi gian chy, nhng m c th khc nhau gia cc ln chy. V d, tn ca my ch, hoc s lng cc thread trong thread group. Khi quyt nh lm th no cu trc mt k hoch kim th, ghi chp cc mc c nh trong lc chy, nhng c th thay i gia nhng ln chy. Quyt nh v mt s tn bin cho cc mc ny - c th s dng mt quy c t tn nh tin t ca chng vi C_ hoc K hoc s dng ch hoa duy nht phn bit vi cc bin s m cn phi thay i trong qu trnh kim th. Cng nn c nhng mc cn xc nh mt thread - V d, b m v gi tr c trch ra t b hu x l biu thc thng thng. Ngi dng c th s dng mt quy c t tn khc nhau cho chng. V d, c th xc nh nhng iu sau y v k hoch kim th: HOST www.example.com THREADS 10 LOOPS 20 Ngi dng c th tham kho trong cc k hoch th nghim nh ${HOST} ${THREADS} Nu sau ny mun thay i my ch, ch cn thay i gi tr ca bin HOST. iu ny thc hin tt cho s lng nh ca cc kim th, nhng tr nn t nht khi rt nhiu th nghim cc kt hp khc nhau. Mt gii php l s dng mt thuc tnh xc nh gi tr ca cc bin, v d: HOST ${__P(host,www.example.com)}THREADS ${__P(threads,10)}LOOPS ${__P(loops,20)}Ngi dng c th thay i mt s hoc tt c cc gi tr trn dng lnh nh sau: jmeter ... jmeter ... -Jhost=www3.example.org -Jloops=13 -Jhost = www3.example.org-Jloops = 13