前言
上一次推文我們分享了性能測試分類和應(yīng)用領(lǐng)域,今天帶大家學(xué)習(xí)性能測試工作原理、事務(wù)、檢查點(diǎn)!后續(xù)文章都會(huì)系統(tǒng)分享干貨,帶大家從0到1學(xué)會(huì)性能測試,另外還有教程等同步資料,文末免費(fèi)獲取~
01、LR工作原理
?通常我們認(rèn)為LoadRunner是由三部分組成:VuGen、Controller、Analysis
VuGen:錄制與增強(qiáng)腳本的地方,即將我們的操作行為變成代碼;
Controller:模擬多用戶執(zhí)行腳本,相當(dāng)于模擬多用戶口對服務(wù)器進(jìn)行操作;
Analysis:將運(yùn)行時(shí)的結(jié)果保存到EXCEL表中,然后再將數(shù)據(jù)讀取出來,并以視圖的方式來顯示;
也人會(huì)說LoadRunner工作是由4部分組成;
02、錄制與回放原理
LoadRunner在錄制過程中其實(shí)是將所有客戶端向服務(wù)器發(fā)送的請求變成了函數(shù),由函數(shù)來代替人向服務(wù)器發(fā)送請求。
之所以需要在錄制時(shí)選擇協(xié)議,是因?yàn)長oadRunner一定要能看的懂客戶端向服務(wù)器所發(fā)送的數(shù)據(jù)內(nèi)容,如果LoadRunner看不懂客戶端向服務(wù)器發(fā)送的數(shù)據(jù),那么LoadRunner就無法生成代碼。
而生成的代碼所看的內(nèi)容,其實(shí)與抓包所看到的內(nèi)容是一樣的。
所以我們通常說性能測試是基于協(xié)議錄制,自動(dòng)化測試是基于對象屬性錄制。
LoadRunner錄制的方式有兩種:一是基于HTML錄制;二是基于URL錄制
HTML模式:基于用戶行為錄制;
URL錄制:將所有的HTTP請求都錄制下來;?
03、事務(wù)
- 為什么需要插入事務(wù)
正常我們錄制好的腳本是不能獲取業(yè)務(wù)的響應(yīng)時(shí)間的,所謂的業(yè)務(wù)響應(yīng)簡單的來說就是我們一串操作步驟的響應(yīng)時(shí)間。
為了獲取這個(gè)響應(yīng)時(shí)間我們會(huì)在操作前插入開始,操作結(jié)束后插入結(jié)束事務(wù),通過可以獲取業(yè)務(wù)的響應(yīng)時(shí)間。
- 如何插入事務(wù)
插入事務(wù)的方法有兩種:
一是:錄制過程中插入事務(wù);
二是:錄制后插入事務(wù);
一般建議在錄制過程中插入事務(wù),因?yàn)殇浿坪蟛迦胧聞?wù),如果對代碼不是很熟悉的話,那么很容易把位置插入錯(cuò)了,這樣會(huì)導(dǎo)到得到的響應(yīng)時(shí)間不對。
插入事務(wù)后會(huì)生成以下代碼:
//開始事務(wù)
lr_start_transaction("LOGIN");
.....
//結(jié)束事務(wù)
lr_end_transaction("LOGIN", LR_AUTO);
當(dāng)運(yùn)行開始事務(wù)時(shí),loadrunner會(huì)計(jì)時(shí),運(yùn)行到結(jié)束事務(wù)時(shí)loadrunner也會(huì)計(jì)時(shí)
將結(jié)束事務(wù)時(shí)的計(jì)時(shí)減去開始事務(wù)的計(jì)時(shí),所得到的時(shí)間差即為事務(wù)的響應(yīng)時(shí)間。
其實(shí)就是計(jì)算開始事務(wù)到結(jié)束事務(wù)這段請求所消耗的時(shí)間
- 事務(wù)的結(jié)束狀態(tài)
事務(wù)的結(jié)束狀態(tài)有四種:LR_AUTO、LR_PASS、LR_FAIL、LR_STOP
LR_AUTO:LoadRunner自動(dòng)判斷事務(wù)的結(jié)束狀態(tài)
LR_PASS:運(yùn)行結(jié)果為通過狀態(tài)
LR_FAIL:運(yùn)行結(jié)果為失敗狀態(tài)
LR_STOP:運(yùn)行結(jié)果為停止?fàn)顟B(tài)
之所以結(jié)束事務(wù)有結(jié)束狀態(tài)的要求,是因?yàn)橥ㄟ^結(jié)束狀態(tài)可以來確定事務(wù)是否成功,即業(yè)務(wù)是否成功。最后可以計(jì)算出業(yè)務(wù)成功率。
那么如何確定事務(wù)的結(jié)束狀態(tài)呢?正常應(yīng)該是先做檢查點(diǎn),通過檢查點(diǎn)的結(jié)果來判斷業(yè)務(wù)是否成功。
04、檢查點(diǎn)
- 如何插入檢查點(diǎn)
插入檢查點(diǎn)的步驟如下:
1.將代碼切換為tree模式,在tree模式下,顯示請求的信息有兩種方式:
一是:html viewer;
二是:httpviewer
2.找到需要驗(yàn)證的頁面
3.選擇我們需要檢查的內(nèi)容,單擊右鍵,選擇“add text check”
4.在彈出的find text對話框中,輸入相關(guān)信息
- 如何通過檢查點(diǎn)判斷事務(wù)的結(jié)束狀態(tài)
通過檢查來判斷被檢查的對象出現(xiàn)的次數(shù),如果出的次數(shù)大于說明,至少找到一次,則說明業(yè)務(wù)是成功的,否則業(yè)務(wù)為失敗。
if(atoi(lr_eval_string("{num}")) > 0)
{
lr_end_transaction("LOGIN", LR_PASS);
}
else
{
lr_end_transaction("LOGIN", LR_FAIL);
}
- 檢查點(diǎn)函數(shù)
檢查點(diǎn)函數(shù)語法:
int web_reg_find( const char *attribute_list, LAST );
參數(shù)說明:
Text:表示需要查找的內(nèi)容;
Search:表示所查找的內(nèi)容所出現(xiàn)的位置,在哪個(gè)部分去查找我們要的內(nèi)容。有三個(gè)選項(xiàng):Body、
Headers、All,一般情況都是在Body,默認(rèn)選項(xiàng)為Body。
SaveCount:將匹配到的次數(shù)保存在這個(gè)變量中。
最后如果你想學(xué)習(xí)軟件測試和需要軟件測試資料,歡迎加入筆者的交流群:320231853,里面可以免費(fèi)領(lǐng)取軟件測試+自動(dòng)化測試資料+軟件測試面試寶典+簡歷模版+實(shí)戰(zhàn)項(xiàng)目+面試刷題工具和大佬答疑解惑,我們一起交流一起學(xué)習(xí)!
搜索文章來源:http://www.zghlxwxcb.cn/news/detail-747665.html
復(fù)制文章來源地址http://www.zghlxwxcb.cn/news/detail-747665.html
到了這里,關(guān)于【漲薪技術(shù)】0到1學(xué)會(huì)性能測試 —— LR錄制回放&事務(wù)&檢查點(diǎn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!