本文檔爲《軟件性能測試學習筆記之LoadRunner實戰》總結html
1)客戶端響應時間html5
響應時間=CT+(N1+N2+N3)+(N4+N5+N6)+WT+AT+DT數據庫
CT:Client Time。對於瘦客戶端能夠忽略不計,對於胖客戶端(如Ajax、html5+AngularJS+Bootstrap),因爲客戶端內嵌了大量的處理邏輯,消耗的時間可能很長,須要關注編程
網絡響應時間:可分爲2部分服務器
--(N1+N2+N3):客戶端請求的網絡延遲網絡
--(N4+N5+N6):服務器響應的網絡延遲架構
服務器響應時間:能夠度量服務器的處理能力,通常分爲3部分:併發
--WT:Web Server Time編程語言
--AT:App Server Timeide
--DT:Database Time
2)併發數
系統用戶數:可理解爲系統註冊用戶總數
在線用戶數:當前正在訪問的用戶總數
併發用戶數:同一時刻讓服務器產生壓力的用戶數
3)吞吐量
吞吐量:指在一次性能測試過程當中網絡上傳輸的數據量的綜合。「吞」進去的是請求,「吐」出來的是結果
吞吐率:單位時間內網絡上傳輸的數據量
4)TPS(Transaction Per Second) 每秒經過事務數
每秒鐘可以處理的交易或事務的數量。是一個重要的指標
5)每秒單擊數
每秒鐘用戶向Web服務器提交的HTTP請求數
6)資源利用率
不一樣系統資源的使用程度,主要針對Web服務器、應用服務器、數據庫服務器、網絡狀況等。常見的包括:
--CPU佔用率
---內存使用率
--磁盤I/O
--網絡(流量)
1)在給定的環境和場景中進行的測試活動
2)根據測試結果評判是否存在性能問題
3)若是存在性能問題,須要定位性能瓶頸,並提出改進建議
1)性能測試(狹義)
在特定的運行環境下,經過模擬生產運行的業務壓力量和使用場景組合,測試系統性能是否知足生產性能要求
理解:該性能測試的目的是爲了驗證系統是否具有所宣稱的能力,測試前提是對系統性能已經有所瞭解,並對需求有明確的目標,在已經肯定的環境下進行,對比實際和預期的差別
2)基準測試
在必定的軟件、硬件和網絡環境下,模擬必定數量的用戶運營一種或多種業務,將測試結果做爲基線數據,供後續測試活動參考
理解:該測試的目的是爲了找出系統的基本性能狀況,爲後續調優作準備。測試前提是不知道系統指標的狀況
3)負載測試
經過在被測系統上不斷加壓,直到性能指標達到極限,從而找出系統處理能力的極限(極限:超過預約指標、資源達到飽和狀態或系統崩潰)
4)壓力測試(強度測試)
系統在必定飽和狀態下(如:CPU、內存使用飽和的狀況下)可以處理的會話能力,以及系統是否會出現錯誤,通常用於系統的穩定性檢查
5)併發測試
經過模擬用戶併發訪問,測試多用戶訪問同一個應用、同一個模塊或者數據記錄時是否存在死鎖或者其餘性能問題。該測試的主要目的是發現系統中可能隱藏的併發訪問時的問題,如內存泄漏、線程死鎖和資源爭用等
6)可靠性測試
在系統加載必定業務壓力的狀況下,使系統原型一段時間,檢測系統是否穩定
理解:與壓力測試的區別:不須要給系統太大的壓力,只要系統可以長期處於一個穩定的狀態
7)配置測試
經過對被測系統的軟/硬件環境的調整,瞭解各類不一樣配置對系統的性能影響的程度,從而找到系統各項資源的最優分配原則
影響性能的因素主要包括:應用自己、業務模型、硬件資源、測試數據、軟件參數
性能測試設備規劃:性能設備和服務器設備
性能設備:用於部署測試工具以及發起壓力負載
服務器設備:用於部署應用服務、數據庫服務
經過對時間、人力、工具的安排,制定最終的測試計劃。能夠從3個方面去考慮
a)系統級別的分析
--系統類型:業務處理型系統或數據處理型系統(舉例:報表,性能問題集中在數據庫處理能力上)
--架構和部署狀況
--技術實現(編程語言、協議等)
--與其它系統的聯繫
b)業務級別的分析
--肯定被測業務和不測業務
--根據業務的重要級別斷定:必須有的、重要的、最好有的
--根據業務是否出現性能瓶頸斷定
--2/8原則:80%的用戶在一個系統中使用的功能約爲20%
--項目時間:關鍵指標
--分析待測業務
c)需求層面的分析
若沒有明確的性能需求,需本身挖掘具體的需求點,列出可度量的指標,如:
--響應時間:遵循2-5-8原則(2秒之內徹底能夠接受,2~5秒大部分人能夠接受,5~8表大部分人不能夠接受,8秒以上幾乎接受不了)
--TPS:系統已經在線上運行,根據歷史數據估算將來的增加狀況。系統未發佈,能夠從從此係統的業務量反向退到
--資源利用率:主要考慮CPU、內存、I/O的使用狀況,避免線上資源不足致使的系統瓶頸
強調:搭建仿真環境、模擬真實場景
LoadRunner在性能測試中的使用順序
參考 http://baijiahao.baidu.com/s?id=1600795201973246998&wfr=spider&for=pc
注意事項:
1)不建議使用中文語言包
2)安裝路徑不要帶中文字符
注:5-7章均以LR12自帶的Web Tours爲練習對象,需先啓動Web Tours服務
win菜單下,在HP Software\HP LoadRunner\Samples\Web下
1)點擊Start HP Web Tours Server啓動服務
2)點擊Start HP Web Tours Server下啓動程序
在Web Tours中錄製一個註冊用戶操做
a)開始錄製彈框,點擊「錄製選項」按鈕
b)【常規>>錄製】選項,在HTML高級選項中選擇包含明確的URL的腳本
c)【HTTP屬性>>高級】選項,勾選支持的字符集UTF-8
【特別說明】VuGen只能在Windows平臺上錄製Vuser腳本,但錄製的Vuser腳本能夠在Windows和Linux平臺上運行
a)【文件>>新建腳本和解決方案】,選擇協議,輸入腳本名稱,設置存放路徑,點擊「建立」按鈕建立腳本
b)點擊「錄製」按鈕
c)開始錄製彈框,輸入URL地址
d)在頁面註冊數據,生成腳本
--i)錄製工具欄
--ii)註冊頁面及生成腳本
a)點擊「回放」按鈕回放腳本
b)查看回放結果
預期結果:Web Tours註冊名不可重複,回放腳本爲重複註冊,腳本失敗
實際結果:腳本經過
注意:回放腳本「經過」僅表明HTTP協議返回值爲200,表示OK。但並不表明返回值就是用戶想要的結果。可經過快照窗格查看
--i)回放結果HTTP響應
--ii)回放結果頁面返回數據(錄製與回放)
**錄製
**回放
c)解決辦法
--i)修改註冊腳本參數
"Name=username", "Value=tester001", ENDITEM #修改username的值
--ii)刪除原tester001註冊帳號
刪除路徑HP\LoadRunner\WebTours\cgi-bin\users(默認父目錄爲C:\Program Files (x86))下的tester001註冊帳號
--iii)參數化 (後續介紹)
--vi)添加檢查點(後續介紹)
a)運行邏輯配置
可配置腳本迭代次數,迭代次數不會影響到vuser_init,vuser_end
部分Action腳本運行屢次,可經過插入塊進行配置
example. Web Tours系統進行1次註冊,2次登陸配置
b)日誌配置
在VuGen運行單腳本日誌時,通常選擇擴展日誌用於更好的瞭解腳本執行狀況;在Controller運行多腳本時多選擇標準日誌
c)思考時間
在單嬌本運行的VuGen中,默認選擇忽略思考時間;在Controller中的併發操做下,通常選擇使用錄製思考時間的隨即百分比以更真實的模擬用戶行爲