LoadRunner性能測(cè)試系統(tǒng)學(xué)習(xí)教程:腳本編寫之Block(塊)技術(shù)與參數(shù)化(3)

上期講到LoadRunner性能測(cè)試腳本編寫檢查函數(shù)巷燥,這期我們來(lái)講講Block(塊)技術(shù)和參數(shù)化荆烈。

Block(塊)技術(shù)

在使用LoadRunner時(shí)經(jīng)常遇到這樣一個(gè)問(wèn)題荷并,如果對(duì)不同的事務(wù)進(jìn)行不同次數(shù)的循環(huán)該怎么處理簸淀?默認(rèn)情況下LoadRunner對(duì)所有的事務(wù)都是統(tǒng)一執(zhí)行的居夹,即雖然有多個(gè)事務(wù),但它們被執(zhí)行的循環(huán)次數(shù)都是一樣的管行,那么LoadRunner如何在一個(gè)腳本中實(shí)現(xiàn)不同事務(wù)不同次數(shù)的循環(huán)或不同百分比的循環(huán)呢厨埋???

案例:假設(shè)在一個(gè)腳本中,想實(shí)現(xiàn)注冊(cè)執(zhí)行3次捐顷,登錄執(zhí)行1次荡陷,查詢執(zhí)行2次,怎么辦迅涮?錄3個(gè)腳本废赞?每個(gè)事務(wù)分別在腳本中復(fù)制N次?這樣是可以解決問(wèn)題叮姑,但不是最好的解決辦法唉地,LoadRunner提供了對(duì)業(yè)務(wù)流程的處理方法据悔,即Block(塊)技術(shù)。??

首先耘沼,借用LoadRunner自帶的訂票系統(tǒng)极颓,錄制好這三個(gè)腳本,錄制結(jié)束后群嗤,腳本如圖所示菠隆,包含三個(gè)業(yè)務(wù):注冊(cè),登錄和查詢狂秘。接著骇径,對(duì)腳本中的三個(gè)業(yè)務(wù)的迭代次數(shù)進(jìn)行設(shè)置,這里使用到的是Block(塊)技術(shù)者春。

1.進(jìn)入菜單Vuser→Run-timeSettings破衔,彈出Run-timeSettings對(duì)話框,選擇General→RunLogic選項(xiàng)卡.

2.選擇Run钱烟,插入一個(gè)Block塊晰筛,如圖所示。??

3.選擇Block0忠售,點(diǎn)擊InsertAction按鈕传惠,彈出SelectActions對(duì)話框,如圖所示稻扬,選中要添加的Action卦方,點(diǎn)擊OK按鈕即可。

4.重復(fù)以上操作泰佳,再新建兩個(gè)Block塊盼砍,分別為Block1和Block2,并為這兩個(gè)塊插入對(duì)應(yīng)的Action逝她。

5.將Block外面的Action刪除浇坐,最后得到如圖所示的Block塊。

6.設(shè)置Block properties黔宛。這里有兩種選擇:Sequential和Random近刘。如果選擇Sequential,則可以在下面的Iterations中直接填入數(shù)值臀晃,那么Block中的Action都會(huì)按輸入的次數(shù)執(zhí)行觉渴。如果選擇Random,下面還可以設(shè)置Block內(nèi)各Action執(zhí)行的百分比徽惋。

按照前面的案例案淋,只需要設(shè)置3個(gè)Block,每個(gè)Block中分別插入一個(gè)Action险绘,設(shè)置執(zhí)行次數(shù)分別為3踢京、1誉碴、2即可,設(shè)置完成后瓣距。

整修Block(塊)的設(shè)置完成黔帕,腳本將按期望的業(yè)務(wù)模型運(yùn)行。

值得注意的一點(diǎn)就是業(yè)務(wù)迭代的總次數(shù)=該Block迭代次數(shù)×Number of Iterations旨涝,如圖中Block2中的Search迭代次數(shù)為2×1=2次蹬屹,最終Search這個(gè)業(yè)務(wù)只迭代了2次。

參數(shù)化技術(shù)

所謂腳本參數(shù)化白华,就是針對(duì)腳本中的某些常量,使用參數(shù)來(lái)取代贩耐。參數(shù)中包含很多數(shù)據(jù)源弧腥,數(shù)據(jù)源可以是一個(gè)文本文件也可以是數(shù)據(jù)庫(kù)。當(dāng)不同的Vuser在執(zhí)行相同的腳本時(shí)潮太,分別調(diào)用參數(shù)文件中的數(shù)據(jù)代替這些常量管搪,從而達(dá)到模擬多用戶真實(shí)使用的目的。

參數(shù)化的過(guò)程體現(xiàn)了數(shù)據(jù)驅(qū)動(dòng)的思想铡买,即將測(cè)試腳本與測(cè)試數(shù)據(jù)進(jìn)行分離的思想更鲁。腳本體現(xiàn)測(cè)試流程,數(shù)據(jù)體現(xiàn)測(cè)試案例奇钞。

哪些情況參數(shù)化

工作中為什么要進(jìn)行參數(shù)化呢澡为???

1.借助參數(shù)化可以減小腳本的數(shù)量,如果不進(jìn)行參數(shù)化為了達(dá)到目標(biāo)可能需要拷貝并修改很多個(gè)腳本景埃。??

2.使業(yè)務(wù)更接近真實(shí)的客戶業(yè)務(wù)媒至,每個(gè)虛擬用戶使用不同參數(shù)值來(lái)模擬,這樣可以更好地接近客戶的實(shí)際情況谷徙。


在實(shí)際工作中一般以下情況需要進(jìn)行參數(shù)化:??

日期時(shí)間?

如這類業(yè)務(wù)拒啰,需要訂一張機(jī)票,那么訂票的日期一定是當(dāng)前日期之后完慧,不可能是當(dāng)前時(shí)間之前的日期谋旦,如當(dāng)前系統(tǒng)時(shí)間為2012年8月20日,那么訂票時(shí)一定需要使用20日后期的日期(如訂25日的機(jī)票)屈尼,但是如果到25日之后再來(lái)回放該腳本時(shí)册着,還是發(fā)現(xiàn)腳本無(wú)法正常使用,所以對(duì)于這類情況需要參數(shù)化鸿染。??

唯一性約束??

唯一性約束是指在數(shù)據(jù)庫(kù)中對(duì)于主鍵必須是唯一的指蚜,如果一直使用相同數(shù)據(jù)提交業(yè)務(wù),那么業(yè)務(wù)將無(wú)法完成涨椒。如注冊(cè)業(yè)務(wù)摊鸡,就不能使用相同的數(shù)據(jù)就行注冊(cè)绽媒,因?yàn)閿?shù)據(jù)庫(kù)中會(huì)把注冊(cè)用戶的ID做為主鍵,這樣在測(cè)試過(guò)程中就必須進(jìn)行參數(shù)化免猾,否則業(yè)務(wù)無(wú)法成功是辕。??

數(shù)據(jù)約束??

數(shù)據(jù)約束是指在測(cè)試過(guò)程中要求提交的業(yè)務(wù)數(shù)據(jù)必須是每次都不同,如果提交業(yè)務(wù)中的數(shù)據(jù)一致猎提,那么業(yè)務(wù)將失敗获三。例如銀行業(yè)務(wù),一些銀行業(yè)務(wù)是以報(bào)文的方式發(fā)送的锨苏,在發(fā)送報(bào)頭時(shí)疙教,后面一般會(huì)接一個(gè)6位的動(dòng)態(tài)碼,那么這個(gè)動(dòng)態(tài)碼就必須每次都不一樣伞租,如果寫成一樣贞谓,那么銀行交易業(yè)務(wù)將會(huì)失敗,所以對(duì)于這類數(shù)據(jù)必須進(jìn)行參數(shù)化葵诈。??

緩存數(shù)據(jù)約束

在談緩存數(shù)據(jù)約束之前裸弦,必須先了解數(shù)據(jù)庫(kù)查詢的過(guò)程,數(shù)據(jù)庫(kù)在查詢時(shí)首先使用查詢條件在數(shù)據(jù)庫(kù)進(jìn)行查詢作喘,查詢結(jié)束后理疙,系統(tǒng)需要將查詢到的結(jié)果顯示在頁(yè)面中,那么顯示時(shí)需要先將查詢到的結(jié)果從硬盤中讀取之出泞坦,讀取后將數(shù)據(jù)從硬盤讀到內(nèi)存窖贤,再?gòu)膬?nèi)存讀到緩存,最后將緩存中的數(shù)據(jù)發(fā)送到處理器中進(jìn)行處理暇矫。


但是有一種特殊情況主之,如果每次使用的查詢條件一致時(shí),數(shù)據(jù)庫(kù)中查詢到的結(jié)果就是一致的李根,那么需要處理的數(shù)據(jù)直接已經(jīng)存儲(chǔ)在緩存中槽奕,這樣系統(tǒng)就不需要從硬盤將數(shù)據(jù)讀到緩存,而直接將緩存中的數(shù)據(jù)傳輸?shù)教幚砥髦羞M(jìn)行處理房轿,這樣就節(jié)約了從硬盤讀到數(shù)據(jù)到緩存中的時(shí)間粤攒,而整個(gè)查詢過(guò)程中時(shí)間消耗最多的恰好是從硬盤到緩存的時(shí)間,所以這樣測(cè)試出來(lái)的時(shí)間不是真實(shí)的時(shí)間囱持,這些就出現(xiàn)緩存數(shù)據(jù)約束夯接,所以這種情況也需要進(jìn)行參數(shù)化。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末纷妆,一起剝皮案震驚了整個(gè)濱河市盔几,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌掩幢,老刑警劉巖逊拍,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件上鞠,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡芯丧,警方通過(guò)查閱死者的電腦和手機(jī)芍阎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)缨恒,“玉大人谴咸,你說(shuō)我怎么就攤上這事∑叮” “怎么了岭佳?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)椒袍。 經(jīng)常有香客問(wèn)我驼唱,道長(zhǎng),這世上最難降的妖魔是什么驹暑? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮辨赐,結(jié)果婚禮上优俘,老公的妹妹穿的比我還像新娘。我一直安慰自己掀序,他們只是感情好帆焕,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著不恭,像睡著了一般叶雹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上换吧,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天折晦,我揣著相機(jī)與錄音,去河邊找鬼沾瓦。 笑死满着,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的贯莺。 我是一名探鬼主播风喇,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼缕探!你這毒婦竟也來(lái)了魂莫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤爹耗,失蹤者是張志新(化名)和其女友劉穎耙考,沒想到半個(gè)月后谜喊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡琳骡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年锅论,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片楣号。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡最易,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出炫狱,到底是詐尸還是另有隱情藻懒,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布视译,位于F島的核電站嬉荆,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏酷含。R本人自食惡果不足惜鄙早,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望椅亚。 院中可真熱鬧限番,春花似錦、人聲如沸呀舔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)媚赖。三九已至霜瘪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間惧磺,已是汗流浹背颖对。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留豺妓,地道東北人惜互。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像琳拭,于是被迫代替她去往敵國(guó)和親训堆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348