測驗方法主要包括:性能測驗、配置測驗、并發測驗、負載測驗、壓力測驗、穩定性測驗,
性能測驗:測驗環境和測驗目標確定的情況下,測驗系統是否達到宣稱的能力;
配置測驗:系統具有一定的測驗基礎時,通過修改環境配置,例如服務器引數等,對比之前的測驗結果進行優化;
并發測驗:模擬多個用戶并發使用系統,測驗系統是否存在死鎖、記憶體泄漏等問題,
負載測驗:逐漸向系統添加壓力,觀察系統資源消耗情況,知道某一項資源達到極限,一般用于度量系統的性能容量,尋找系統瓶頸為系統調優提供資料;
壓力測驗:系統承受一定的壓力的情況下,測驗系統是否會出現錯誤,系統壓力包括CPU、記憶體、磁盤、網路等方面的壓力,施加壓力的方法包括利用工具占用系統資源、增加并發量等;
穩定性測驗:系統承受一定壓力的情況下,運行一段時間,測驗系統是否平穩運行;
性能測驗需要借助測驗工具,畢竟完全依靠手工進行性能測驗需要付出很大的代價,不僅是人力成本和經濟成本,還有時間成本,測驗工具的使用不僅能夠提高測驗效率,還可以彌補手動測驗難以捕獲的一些問題,
Loadrunner簡介
Loadrunner是HP公司提供的一款性能測驗工具,通過模擬成千上萬個用戶實施并發操作,測驗系統的性能,并且提供詳細的測驗結果分析,協助用戶查找問題,Loadrunner的優勢在于節約了人力成本和時間成功,純人工進行并發測驗,不僅需要大量的人手和機器,還需要測驗人員進行充分的溝通,默契的進行操作,使用Loadrunner就可以一個人模擬上萬個用戶,壓縮了成本,也提高了效率,
Loadrunner的主要組件包括:
- Virtual User Generator:捕捉用戶業務流程,并且自動生成腳本;
- Controller:設計場景,主要包括設定不同腳本的虛擬用戶數量、迭代次數、執行時間等;
- Load Generator:模擬用戶向服務器發送請求;
- Analysis:分析測驗結果,輔助測驗人員進行測驗分析;
Loadrunner11安裝
初次接觸的是Loadrunner12版本,相對而言比11版本的界面更美觀,可用性更強,對高版本瀏覽器的兼容性也更好,奈何目前還沒有破解版,vuser最大支持50,于并發測驗而言是絕對的硬傷,于是轉戰Loadrunner11,網上Loadrunner11安裝破解教程很齊全,以下便是參照網上的教程安裝的記錄,
1、下載安裝軟體
https://pan.baidu.com/s/1i51a3HV
2、解壓下載好的ios檔案
3、雙擊setup.exe,按照提示一步一步安裝
4、下載破解檔案
http://pan.baidu.com/s/1eS7SmD8
5、將“lm70.dll”和“mlr5lprg.dll”檔案復制到loadrunner安裝目錄下的bin目錄下
6、點擊“CONFUGURATION—>loadrunner license”,點擊“New License”,輸入“AEAMAUIK-YAFEKEKJJKEEA-BCJGI”,可能會遇到報錯“License security violation,operation is not allowed..”,
需要點擊破解檔案中的deletelicense.exe,隨后重新執行上述步驟
7、添加new license,輸入AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB,完成!
Loadrunner11錄制腳本
1、打開loadrunner11,點擊“Create/Edit Script”啟動Virtual User Generator,點擊File--new,創建腳本檔案,選擇Web(HTTP/HTML)協議,
[圖片上傳失敗...(image-991c3e-1523440883813)]
2、Loadrunner默認使用IE瀏覽器,在此我選用火狐瀏覽器,但是由于Loadrunner11對瀏覽器版本的要求較為嚴苛,因此需要下載安裝火狐24版本,(下載鏈接:http://ftp.mozilla.org/pub/firefox/releases/)
3、以loadrunner自帶的訂票系統為例,Program to record填寫火狐瀏覽器的路徑,Program arguments填測驗系統的URL,working direction為檔案保存路徑,自定義即可,填寫完成后點擊OK,火狐瀏覽器自動啟動并打開訂票系統,

4、首先錄制注冊用戶,按照正常的注冊流程,填寫用戶資訊后,登出,并關閉瀏覽器,點擊stop按鈕,腳本生成后保存,
5、生成的腳本只能注冊某個用戶,不具備通用性,為了使腳本更具通用性,我們需要將某些變數引數化,
引數
1、每個用戶的用戶名是不一樣的,且不能重復的,首先用引數替換用戶名,右擊用戶名value--點擊Replace with a parameter,輸入引數名稱“username”--點擊properties,

2、引數型別有很多種,在此用戶名引數選擇File型別,點擊Create Table創建檔案,

3、檔案創建好了,點擊Edit with Notepad,使用excel下拉創建20個用戶復制到username.dat中,保存后可以看見這20個用戶,File資料庫檔案默認只看到100個值,如果想使用更多值,請修改“安裝目錄/config/vugen.ini”中的[ParamTable]屬性下的MaxVisibleLines,
Select column的方式默認選擇“By number”,并且number為1,即選擇第一列引數,當然也可以選擇By name,選擇變數引數名稱即可,“Select next row ”設定引數取值方式,由于用戶名不能重復在此取值方式選擇Unique,
- Sequence:按照順序依次取值;
- Random:隨機取值;
- Unique:唯一取值,為每個虛擬用戶分配一條唯一的資料;
- Same line as ***: 當多個引數時,取某一個引數的同一行;
"Update value on"設定引數更新周期,主要有以下三種更新周期,在此選擇每次迭代更新,
- Each iteration :每次迭代時更新參數的值 ;
- Each occurrence :每次使用該引數時更新引數的值;
- Once :執行腳本只取一次值,中途不更新引數的值;
當選擇取值方式為Unique時,需要額外設定“When out of value”和“Allocate vuser values in the controller”,其中“When out of value”設定dat檔案中的值個數不夠時的處理方式,主要有以下幾種方式,我們選擇“”
- Abort Vuser:放棄剩下虛擬用戶,不再取值;
- Continue in a cyclic manner: 以回圈的方式,重新從開頭取值;
- Continue with last value:當dat檔案中的值取完后,持續取最后一個值 ;
“Allocate vuser values in the controller”:設定在controller中并發迭代執行腳本時,為每個vuser分配的引數塊大小,選擇“Automatically allocate block size”,系統會以迭代次數作為引數塊大小,為每個vuser分配引數,例如dat檔案中有50個username,當迭代次數為5,vuser個數為8時,會將Test1Test5分配給vuser1,Test6Test10分配給vuser2,以此類推,當dat檔案中的值不足時,例如迭代次數為6,vuser個數為9時,最后一個vuser只分配到了2個值,值不足時會根據“When out of value”設定的方式處理,但是僅在塊內取值,即只能回圈取這兩個值,“Allocate ** values for each Vuser”顧名思義就是手動設定引數塊大小,
“Automatically allocate block size”方式的優點是方便,不需要根據場景反復編輯腳腳本,缺點就是dat檔案中的值個數不夠時,vuser分配不到值會報錯,而手動設定的優點就是人為控制出錯較少,但是每次都需要修改腳本,比較麻煩,
4、雙擊password的value,點擊Replace with a parameter,輸入引數名稱“passwd”--點擊properties,依舊選擇File型別引數,點擊Browse選擇之前創建的檔案username.dat,點擊“Add column”添加列“passwd”,與之前方式一致,輸入50個password值,取值方式設定為“Same line as username”,確保用戶名與密碼一一對應,

5、密碼確認這一欄輸入的值需要與密碼保持一致,雙擊passwordConfirm的value,選擇“use existing parameter”--passwd,
6、firstname、lastname等其他變數安照類似的方式設定即可,執行腳本,在loadrunner11安裝目錄\WebTours\MercuryWebTours\users目錄下可以看見生成的用戶資訊,下面利用controller批量注冊這20個用戶,
插入事物
1、插入事物是為了更好的衡量服務器的性能,可以在錄制腳本的時候,在某個操作前插入事務開始點,該操作完成后插入事務結束點,當然,錄制好的腳本也可以插入事務,以本腳本為例,將注冊請求定義為一個事務,在“web_submit_data("login.pl_2" ”函式前插入事務開始點,右擊滑鼠——Insert——Start Transaction,輸入事務名稱register,
用相同方式在函式下方插入事務結束點,右擊滑鼠——Insert——End Transaction,輸入事務名稱register,
2、點擊“Run Load Tests”啟動controller,設定新場景,選擇需要使用的腳本,可以是一個或者多個,然后點擊ok,
3、點擊”場景“——Load Generators,添加Load Generators,在此輸入localhost表明連接本地的Load Generators,點擊connect,連接Load Generators,如果連接不上則需要進一步定位原因,
也可以直接在腳本串列中直接下拉添加Load Generators,因為當前只有一個腳本,vuser比例默認為100%,當同時執行多個腳本時,可以設定每個腳本分配的vuser比例,
4、腳本設定好后開始設定運行場景,雙擊Initialize設定初始化用戶的方式,

雙擊”Start Vusers“設定vuser個數和啟動方式,
雙擊Duration設定場景運行周期,選擇”Run until completion“則當場景運行完成后同時停止所有vuser,如果選擇運行一段時間,則需要設定停止vuser的方式,與設定啟動vuser方式類似, 
5、點擊”start scenario“運行場景,在Run可以看見vuser的狀態,以及場景運行程序中的報錯資訊,場景運行結束后,可以在下方看見一些資料,以便了解被測系統的性能,如下圖所示,可以看見事務“register”的回應時間,
6、點擊Result——Analyze Results,將會啟動Analysis自動生成本次場景執行相關的測驗報告,
Loadrunner12安裝
1、下載安裝軟體
百度網盤 - 共享邀請鏈接
2、右鍵點擊HP_LoadRunner_12.02_Community_Edition_T7177-15059.exe 安裝程式,打開視窗中選擇【以管理員身份運行】
3、會驗證電腦是否含有軟體安裝運行的必備組件,缺少組件時,會彈出視窗顯示許安裝的組件,點擊【確定】按鈕將自動安裝所需組件;
4、等待組件安裝完成后,就彈出如下安裝視窗,點擊【下一步】進行loadrunner安裝,選擇安裝路徑,安裝路徑不能含有中文字符,
5、彈出如下界面時,若無指定代理使用的證書,則去掉勾選,點擊【下一步】,安裝完成,
6、安裝中文包,右鍵點擊安裝包“HP_LoadRunner_12.02_Community_Edition_Language_Packs_T7177-15062.exe”,選擇【以管理員身份運行】,注意安裝路徑,下述步驟會用到,
7、到第6步的安裝路徑下的DVD目錄下,點擊Setup,打開安裝目錄,點擊【語言】,依次打開該目錄下的檔案【Chinese-Simplified】→【LoadRunner】→【LR_03457】,點擊【LR_03457】將進行安裝,
8、經測,Loadrunner12支持58版本的chrome瀏覽器(安裝包中已提供,如有需要請自行下載)
9、使用loadrunner錄制腳本需要搭配xx-net使用,啟動xx-net后,新建腳本,點擊【運行時設定】配置loadrunner代理如下:
10、如下圖所示,錄制腳本程序中如果出現中文亂碼,并提示27995,則需要修改錄制選項配置,
點擊【錄制】——【錄制選項】,配置如下:
自動添加關聯
Loadrunner11
1、腳本錄制好后,快捷鍵ctrl+F8,掃描關聯,
2、點擊按鈕添加關聯,
3、ctrl+h 查找和替換,將腳本中所有對應的動態值都替換為該關聯引數,
4、注釋腳本中的部分內容,ctrl+alt+c 為注釋,ctrl+alt+u 為取消注釋,
Loadrunner12
1、腳本錄制好后,點擊【設計作業室】,掃描關聯,
2、點擊【替換/找到】一欄,查看引數所在位置,以及引數的含義,根據引數含義,點擊【關聯引數】一欄,給引數重命名,
3、點擊【關聯】,則自動添加關聯函式,并且自動替換【替換/找到】一欄中展示的所有動態值,
手動添加關聯
Loadrunner11
1、點擊工具列中的【tree】進入樹形視圖,點擊左側函式串列中的函式,查看函式運行結果快照,觀察目標函式response中動態值的格式,確保根據左右邊界值能夠篩選出唯一動態值,
2、在目標函式前插入web_reg_save_param_ex函式,輸入左右邊界值,需要注意的是邊界值中含有“ {等符號時,需要在前面加上轉義符\,
3、ctrl+h搜索出目標動態值,并用關聯函式進行替換,
4、當邊界值篩選出來的是多個動態值時,可以通過關聯函式獲取所有符合條件的動態值,插入函式web_reg_save_param_ex,填入邊界值后,設定ordinal=all,將會把所有符合條件的值存盤到一個陣列中,隨后可以直接使用陣列中的某個動態值,在關聯函式名后加”_序號“即可,例如{deviceId_2}則表示取出篩選到第二個動態值,并且可以用下列函式將該動態值列印出來,
lr_output_message("%s",lr_eval_string("{deviceId_2}"));
Loadrunner12
1、在腳本中查看目標函式,在目標函式旁右擊滑鼠,選擇【顯示快照】,查看下方視窗的response內容,loadrunner12沒有樹形結構,但是有快照布局模式,效果差不多,
2、插入web_reg_save_param_ex函式,輸入邊界值,需要注意的時,loadrunner12不需要手動添加\進行轉義,會自動添加轉義符,
3、ctrl+h搜索出目標動態值,并用關聯函式進行替換,
4、篩選多個動態值的方法與loadrunner11相同,
從資料庫匯出初始資料
1、很多時候loadrunner中的引數可以從資料庫中查詢到,當引數資料量比較大時,逐一復制到引數檔案中比較麻煩,可從資料庫中直接匯出資料,
2、首先需要安裝mysql-connector-odbc-3.51.30-winx64(安裝包中已提供,如有需要請自行下載),安裝方法與一般的Windows軟體類似,
3、右擊引數,編輯【引數屬性】,引數型別選擇【File】,點擊【資料導向】打開資料庫查詢導向視窗,
4、選擇【手動指定SQL陳述句】,點擊【下一步】,點擊右上角【創建】
5、點擊【機器資料源】——【新建】

6、Data Source Name自定義,server是資料庫所在宿主機IP,user、password是連接資料庫的用戶名和密碼,database指定連接的資料庫名稱,
7、點擊【connect option】,填寫連接資料庫的埠
8、點擊TEST測驗是否連接成功,成功后點擊ok,
9、選擇新建好的資料源,點擊【確定】,后續需要再匯出資料,只需要選擇已創建好的資料源點擊【確定】連接資料庫即可,連接成功后會自動生成連接字串,
10、輸入查詢的SQL陳述句,點擊完成,則可匯出資料,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/413353.html
標籤:其他
上一篇:[工具]GDB的命令和使用
下一篇:Jmeter 安裝教程
