LoadRunner是什么
LoadRunner是一個性能測試工具,它最初是Mercury公司的產品,后背HP收購。
LoadRunner常用來做什么
l 驗證某系統在某環境下是否滿足性能需求。
l 通過測試,規划如何達到要求的性能指標。
l 調整系統環境,進行性能測試,最終使性能達到最優。
為什么要使用LoadRunner進行性能測試
考慮這樣一種情況,現在需要測試某個網站在500個人並發做登陸操作時,系統的平均響應時間是否滿足需求。如果用人工測試的話,可以想象大概的操作場景是這樣,一個主持人安排500個操作員,按下述步驟操作:
1. 所有人在一個大廳中,大廳中有500多台電腦,主持人要求500個操作人員分成組,每個組選一個組長,所有人先都登陸到系統,進入登陸頁面;
2. 主持人喊3...2...1開始!同時記錄開始時間(這個在LoadRunner中有個術語叫“集合點”),組織帶領500個人同時點擊“登陸”按鈕。
3. 看到登陸成功頁面的人把登陸成功時的時間記下。
4. 到了規定的時間,主持人喊停,還沒有登陸成功的操作人員視為操作失敗。
5. 最后,5個組長收集各組的操作結果,匯總給主持人,主持人安排數據統計專員生成統計報告。
這個過程是不是很復雜?而且操作誤差比較大,譬如有的人反應慢,有的人反應快,有的人記錯時間了,有的人偷懶了等等。所以,對於這種性能測試必須靠自動化。現有自動化的工具有很多,譬如Jmeter,譬如LoadRunner。總的來說,Jmeter更自由,LoadRunner更好用,而我們想用好用的,所以我們用LoadRunner。
LoadRunner的主要組件
l Virtual User Generator(用來錄制腳本的,相當於前述例子中操作人員的機器人化)
l Controller(相當於前述例子中的主持人)
l Load Generator(相當於前述的組長)
l Analysis(相當於前述的分析專員)
LoadRunner的一般測試流程
創建腳本->設計場景->運行場景->分析結果
如何使用LoadRunner創建腳本
一、錄制腳本
創建腳本最簡單的方法就是錄制,下面以錄制登陸bugfree系統為例,操作步驟如下:
1. 啟動Virtual User Generator,如下圖所示。
2. 新建一個腳本,如下圖所示。
3. 選擇合適的協議,這里選擇Web(HTTP/HTML)協議。
4. 輸入bugfree的地址,如下圖所示。
5. 點擊OK,開始錄制,如下圖所示。
6. 輸入登錄信息,點擊登陸。
7. 登陸成功后,點擊“停止”按鈕,一個登陸腳本就錄制完了。
思考:它是如何工作的?
解答:在錄制開始前,我們選擇的是WEB(HTTP/HTML)協議,開始錄制時,Virtual User Generator會記錄所有從當前窗口向服務器發出的HTTP請求,並生成腳本。
二、手工寫腳本
要使用C語言寫腳本,請在創建VUser時選擇C Vuser,如下圖所示:
要使用JAVA語言寫腳本,請在創建VUser時選擇JAVA VUser,如下圖所示:
CVuser支持加載DLL,JAVA VUser支持加載jar包。
LoadRunner腳本參數化
為什么要進行參數化
為什么要進行參數化呢?考慮這樣一種場景:要求測試一下10個不同用戶並發登陸bugfree的平均響應時間。我們該如何做呢?用10個不同的用戶錄制10次腳本?絕對不是!這個不符合自動化的思想。1000個用戶怎么辦?100000個用戶怎么辦?所以LoadRunner提供了參數化的功能。
如何參數化
以登陸bugfree的腳本為例,我們將用戶名和密碼進行參數化,詳細操作步驟如下:
1. 找到要參數化的用戶名和密碼的值,如下圖所示。
2. 將用戶名“gavin”用變量user_name代替。
a) 選中“gavin”,單擊右鍵,選擇“Replace with a Parameter”,如下圖所示。
b) 將Parameter name命名為user_name,如下圖所示。
此時腳本中的“gavin”就變成了“{user_name}”,如下圖所示:
3. 將密碼“111111”用變量password代替。
a) 選中“111111”,單擊右鍵,選擇“Replace with a Parameter”,如下圖所示。
b) 將Parameter name命名為password,如下圖所示。
單擊上圖中的“Properties”,file選擇和“user_name”參數相同的file,如下圖所示:
c) 點擊“Add Column”,添加一個列名為“password”的列,作為存放password參數的值,因為參數password取值和user_name是一一對應的,所以為簡化邏輯,建議將“Select next row”設置為“same line as user_name”,如下圖所示:
4. 設置完成后腳本中的代碼如下圖所示:
5. 最后可以根據需求為參數添加值。例如,我們這里模擬2個不同的用戶並發登陸bugfree,可按如下操作為參數配置登陸信息:
a) 在user_name或password上單擊右鍵,選擇“Parameter properties”。
b) 在彈出的窗口中單擊“Add row”增加記錄,或者點擊“Edit with notepad”進行增加記錄,如下圖所示:
c) 這里選擇Edit with Notepad,如下圖所示:
按照已有的格式輸入,每條記錄一行,完成后保存即可。
d) 保存后可以看到多了一條用戶信息,如下圖所示。
長按二維碼識別關注,您的支持是我們最大的動力。
公眾號:測試夢工廠
QQ一群:300897805