loadrunner--并發(fā)执赡、集合點(diǎn)沙合、檢查點(diǎn)

1跌帐、虛擬用戶狀態(tài):

Down:關(guān)閉绊率, Vuser處于關(guān)閉的狀態(tài)滤否。

pending:掛起最仑,Vuser已經(jīng)準(zhǔn)備好了泥彤,等待可用的負(fù)載生成器的調(diào)用。

Init:正在初始化吟吝,Vuser正在登陸遠(yuǎn)程計(jì)算機(jī)(負(fù)載生成器)剑逃。

Ready:就緒,已經(jīng)執(zhí)行執(zhí)行完腳本的初始化代碼梆奈,可以運(yùn)行亩钟。

Run:運(yùn)行鳖轰,Vuser正在負(fù)載生成器中運(yùn)行。

Rendevous:集合點(diǎn)焰轻,Vuser運(yùn)行到了集合點(diǎn)的位置昆雀,正在等待Loadrunner釋放。

Pass:通過(guò)揩懒,Vuser運(yùn)行完成已球,并且通過(guò)。

Failed:失敗智亮,Vuser運(yùn)行完成,但是運(yùn)行失敗弃舒。

Error:錯(cuò)誤馍忽,Vuser發(fā)生了問(wèn)題(如:Vusermei沒(méi)有登錄到負(fù)載生成器上)遭笋。

Gradual Exiting:逐步退出,Vuser被調(diào)用了stop (窗口的stop按鈕喂窟,duration時(shí)間)命令后央串,正在運(yùn)行當(dāng)前的迭代。

Exiting:退出稳摄,Vuser已經(jīng)結(jié)束運(yùn)行已經(jīng)停止厦酬,正在退出瘫想。

Stop:停止,Vuser被調(diào)用了stop(窗口中的stop按鈕减噪,duration時(shí)間)命令后筹裕。

一窄驹、并發(fā)測(cè)試

1馒吴、并發(fā)測(cè)試的兩個(gè)條件:

1)腳本中要加入并發(fā)點(diǎn)(集合點(diǎn))

2)控制臺(tái)中并發(fā)策略設(shè)置為第一種

2饮戳、步驟

1)錄制腳本(添加檢查點(diǎn)扯罐、集合點(diǎn)、事務(wù))

2)進(jìn)行運(yùn)行時(shí)設(shè)置掩浙、檢查腳本是否成功

3)在controller中進(jìn)行場(chǎng)景設(shè)計(jì)(場(chǎng)景計(jì)劃設(shè)計(jì)秸歧、集合點(diǎn)策略键菱、運(yùn)行時(shí)設(shè)置)

4)運(yùn)行腳本,收集結(jié)果

5)在Anaoysis中進(jìn)行結(jié)果分析

6)編寫測(cè)試報(bào)告

3拭抬、集合點(diǎn)的三個(gè)策略

Pelease when x% of all Vuser arrive at the rendezvous :如果所有集合點(diǎn)等待的用戶數(shù)達(dá)到x%時(shí)侵蒙,系統(tǒng)就會(huì)釋放用戶纷闺,繼續(xù)向下執(zhí)行急但。

Pelease when x% of all running Vusres arrive at the rendezvous:如果所有集合點(diǎn)等待的用戶數(shù)達(dá)到所有正在運(yùn)行用戶的X%時(shí),系統(tǒng)就釋放用戶戒努,繼續(xù)向下執(zhí)行储玫。

Pelease when x? Vusers arrive at the rendezvous:如果集合點(diǎn)等待的用戶數(shù)達(dá)到x個(gè)時(shí)撒穷,系統(tǒng)就釋放用戶裆熙,繼續(xù)向下執(zhí)行。

Timeout?Vuser?between X sec:第一個(gè)Vuser到達(dá)后佳镜,Controller會(huì)計(jì)算等待下一個(gè)用戶時(shí)間蟀伸,每當(dāng)有新的Vuser到達(dá)時(shí)缅刽,計(jì)算器就會(huì)充值為零。在超時(shí)時(shí)間內(nèi)如果下一個(gè)Vuser還未到來(lái)迟蜜,controller會(huì)釋放所有當(dāng)前處于集合點(diǎn)Vuser小泉,而不會(huì)考慮釋放條件是否滿足微姊。

補(bǔ)充點(diǎn):

1兢交、并發(fā)測(cè)試是考察系統(tǒng)的瞬間壓力承受能力配喳,是比較嚴(yán)格的測(cè)試凳干,所以不需要等待時(shí)間(思考時(shí)間救赐、睡眠時(shí)間经磅、think time)预厌。-----忽略think time。

2苗沧、Lr結(jié)果報(bào)告中,顯示了事務(wù)的響應(yīng)時(shí)間的最小值鞠绰、平均值、最大值牺荠、最小值休雌,其中平均值比較重要杈曲。

3、平均方差越行匦浮(趨近于0)担扑,表示事務(wù)的響應(yīng)時(shí)間越接近,代表系統(tǒng)越穩(wěn)定趣钱。

4涌献、90percent:表示執(zhí)行該事務(wù)的90%的用戶都可以在該時(shí)間內(nèi)完成操作。

5首有、100用戶共同執(zhí)行某事務(wù)燕垃,其中1個(gè)用戶執(zhí)行時(shí)間為1000s,99個(gè)用戶執(zhí)行時(shí)間為0.001x,則90 percent和平均值哪個(gè)真實(shí)?---90percent值比較真實(shí)井联。---所以卜壕,讀報(bào)告時(shí),不應(yīng)只看平均值烙常,也要關(guān)注90 percent值轮蜕。

6跃洛、Analysis 不能直接打開腳本生成器中的腳本結(jié)果葱蝗,腳本生成器(VUG)中的腳本只能調(diào)試后點(diǎn)擊“run”來(lái)從replay log中查看結(jié)果。

7悼凑、當(dāng)腳本調(diào)試通過(guò)后---》加入到控制臺(tái)---》打開analysis。

8渔欢、一個(gè)腳本中一般只加入一個(gè)集合點(diǎn),比如一個(gè)腳本錄制的是一個(gè)流程(包含多個(gè)操作)垫挨,則在每個(gè)事務(wù)前都添加一個(gè)集合點(diǎn)。該做法從語(yǔ)法角度沒(méi)有錯(cuò)誤帚屉。但是如果腳本運(yùn)行結(jié)果有問(wèn)題,不好分析牢屋。

9、事務(wù)里面不能包括思考時(shí)間,要么注釋思考時(shí)間迂苛,要么把思考時(shí)間移動(dòng)到事務(wù)之外就漾。

10、驗(yàn)證腳本是否成功的步驟:

a.在腳本生成器中:?jiǎn)窝h(huán)夷野、多循環(huán)舌仍。

b.在控制臺(tái)中:?jiǎn)斡脩魡窝h(huán)铸豁、單用戶多循環(huán)、多用戶多循環(huán)头镊、多用戶多循環(huán)。

11坛芽、性能測(cè)試中阴颖,所有的數(shù)據(jù)包(客戶端和服務(wù)器之間的對(duì)話)分為兩類:請(qǐng)求包和應(yīng)答包胧弛。無(wú)論是請(qǐng)求包還是應(yīng)答包损晤,都分為兩部分header和body部分茵宪。

a.? header中是一些參數(shù)設(shè)置暖哨;

b. body中才是真正要傳輸?shù)男畔ⅰ?

二、檢查點(diǎn)

檢查點(diǎn):主要驗(yàn)證某個(gè)界面上是否存在指定的Text或Image等對(duì)象。

LR中檢查點(diǎn)有兩種:文字和圖片黍聂。

函數(shù):web_find()霸株、web_reg_find()和web_image_check()坡椒。

步驟:

a.定位要檢查的頁(yè)面;

b.插入文字檢查點(diǎn)

c.設(shè)定與檢查點(diǎn)有關(guān)的選項(xiàng)Vuse | Run-time Settings | Preferences

d.查看檢查點(diǎn)是否通過(guò)

注意點(diǎn):

1丈攒、一個(gè)腳本必須加入一個(gè)檢查點(diǎn),否則不清楚腳本的正確性框弛。但是檢查點(diǎn)不宜過(guò)多,一兩個(gè)足矣。

2、一個(gè)腳本中在關(guān)心的操作附近要記得添加事務(wù)猿挚,所以一個(gè)腳本至少一個(gè)事務(wù)室埋。但是一般情況下腌逢,登錄也會(huì)也會(huì)被添加為事務(wù)。

3、關(guān)心的操作就是測(cè)試計(jì)劃中的測(cè)試點(diǎn)妒蔚,如查詢稿件菜皂、購(gòu)買機(jī)票等,只要測(cè)試計(jì)劃搞定,則測(cè)試點(diǎn)確定溯祸。

4、注意:web_find函數(shù)要求:

1)寫在相應(yīng)請(qǐng)求之后

2)開啟run_time settings中開關(guān)

3)檢查的內(nèi)容在AUT界面上拷貝即可

5哩盲、lr_output_message函數(shù)的結(jié)果只顯示在回放日志中,不會(huì)顯示在結(jié)果報(bào)告中。

1、函數(shù)

1)web_find(不常用)函數(shù)的左右邊界:

a.rightof表示左邊界

b.leftof表示右邊界

web_find

2)web_image_check函數(shù)(不常使用)兩個(gè)參數(shù)单匣,使用時(shí)選一個(gè)即可鸡号,另一個(gè)參數(shù)可以為空值

a.alt參數(shù):當(dāng)光標(biāo)懸浮在網(wǎng)頁(yè)圖片上時(shí)顯示的名稱(給用戶看的)

b.src參數(shù):該圖片在源代碼中的路徑及名稱(給程序員看到)

注:web_image_check函數(shù)特性與web_find相同:

1)寫在相應(yīng)請(qǐng)求之后

2)開啟run_time settings中開關(guān)

3)參數(shù)內(nèi)容在源代碼中提取

3)Web_reg_find函數(shù)

web_reg_find函數(shù)注冊(cè)一個(gè)請(qǐng)求姓赤,在下一個(gè)操作函數(shù)檢索到的緩存中搜索一個(gè)文本字符串誓斥。

web_reg_find()返回值0或1成畦。

web_reg_find()是否注冊(cè)成功(web_reg_find是注冊(cè)類型函數(shù),它本身并不執(zhí)行),不代表查找的內(nèi)容是否存在。

可利用savecount進(jìn)行判斷。表示查找的內(nèi)容出現(xiàn)的次數(shù)。一般不用。

loadrunner中,帶有reg字樣的函數(shù),稱為注冊(cè)性函數(shù),該類的函數(shù)的特點(diǎn),就是要將函數(shù)寫在相應(yīng)請(qǐng)求之前。在網(wǎng)頁(yè)緩存中尋找匹配。

web_reg_find

注意點(diǎn):

? ? ? lr_eval_string函數(shù)的作用:為C語(yǔ)言的函數(shù)和lr的變量起到橋梁的作用茅糜;可以去除lr變量count的實(shí)際值缩赛。

? ? ? ?lr_eval_string函數(shù)后面的括號(hào):后面必須接()旨袒;()里面是字符串,所以用"";""里面不是普通字符串帆精,而是lr變量襟企。Lr要求蔚龙,如果取lr變量的值坑填,則必須要用{}蚪黑。

? ? ? lr函數(shù)(web_或者lr_開頭的函數(shù))中出現(xiàn)的變量稱為lr變量,該類變量不需要再腳本初始位置定義朴译。但是C語(yǔ)言的變量一定要在初始位置定義。

三、基準(zhǔn)測(cè)試(單用戶測(cè)試)

1、如果腳本錄制過(guò)程中遇到頁(yè)面報(bào)錯(cuò)即寡,則放棄錄制善涨,重新錄制葡粒。要保證錄制過(guò)程正確夫壁。

2梅肤、錄制完成的腳本一定要回放。如果正確,再進(jìn)行下一步增強(qiáng)腳本。

3颊郎、基準(zhǔn)測(cè)試步驟:

1)腳本調(diào)試检眯,運(yùn)行通過(guò)

2)放入控制臺(tái)

3)控制臺(tái)的參數(shù)設(shè)置:

a.用戶數(shù)為1

b.虛擬用戶部署不需要設(shè)置(global schedule)

c.Run_time settings中的設(shè)置

? ?------run logic 中設(shè)置5次

? ?------Pacing值:隨機(jī)2-3s

? ?-----Think time值:忽略(原因:?jiǎn)斡脩魧?duì)AUT壓力很小,所以是否存在思考時(shí)間撑螺,意義不大)

d.Pacing值:循環(huán)之間的時(shí)間間隔调鬓。一般情況下2-3s。

e.因?yàn)樵诰€測(cè)試過(guò)程中奏候,如果用戶循環(huán)提交請(qǐng)求镶柱,但是每次循環(huán)之間沒(méi)有試駕間隔,則過(guò)于嚴(yán)格昭抒,不符合實(shí)際的生產(chǎn)環(huán)境。

f.Think time值:步驟之間的時(shí)間間隔黔衡。


補(bǔ)充:

1急迂、當(dāng)run_time settings 中的run logic和duration中都設(shè)置時(shí)口锭,duration優(yōu)先級(jí)高

2腰吟、只要有迭代织阅,就要設(shè)置pacing值羡棵。

3觉至、每次提交的測(cè)試數(shù)據(jù)挂捻,應(yīng)該測(cè)試三次,選取其中的中間值芥驳。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末宝鼓,一起剝皮案震驚了整個(gè)濱河市沥寥,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌洞难,老刑警劉巖色冀,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異蓝丙,居然都是意外死亡渺尘,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門谴忧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)搏屑,“玉大人,你說(shuō)我怎么就攤上這事碘举⊥撸” “怎么了?”我有些...
    開封第一講書人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵引颈,是天一觀的道長(zhǎng)耕皮。 經(jīng)常有香客問(wèn)我,道長(zhǎng)蝙场,這世上最難降的妖魔是什么凌停? 我笑而不...
    開封第一講書人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮售滤,結(jié)果婚禮上罚拟,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好舟舒,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開白布拉庶。 她就那樣靜靜地躺著,像睡著了一般秃励。 火紅的嫁衣襯著肌膚如雪氏仗。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,262評(píng)論 1 308
  • 那天夺鲜,我揣著相機(jī)與錄音皆尔,去河邊找鬼。 笑死币励,一個(gè)胖子當(dāng)著我的面吹牛慷蠕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播食呻,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼流炕,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了仅胞?” 一聲冷哼從身側(cè)響起每辟,我...
    開封第一講書人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎干旧,沒(méi)想到半個(gè)月后渠欺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡椎眯,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年挠将,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片编整。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡舔稀,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出掌测,到底是詐尸還是另有隱情镶蹋,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布赏半,位于F島的核電站贺归,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏断箫。R本人自食惡果不足惜拂酣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望仲义。 院中可真熱鬧婶熬,春花似錦剑勾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至饺谬,卻和暖如春捂刺,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背募寨。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工族展, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人拔鹰。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓仪缸,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親列肢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子恰画,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容