LR12

本文檔爲《軟件性能測試學習筆記之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)配置測試

經過對被測系統的軟/硬件環境的調整,瞭解各類不一樣配置對系統的性能影響的程度,從而找到系統各項資源的最優分配原則

四、性能測試影響因素

影響性能的因素主要包括:應用自己、業務模型、硬件資源、測試數據、軟件參數

 

性能測試設備規劃:性能設備和服務器設備

    性能設備:用於部署測試工具以及發起壓力負載

    服務器設備:用於部署應用服務、數據庫服務

五、性能測試過程

1)性能測試規劃

經過對時間、人力、工具的安排,制定最終的測試計劃。能夠從3個方面去考慮

a)系統級別的分析

--系統類型:業務處理型系統或數據處理型系統(舉例:報表,性能問題集中在數據庫處理能力上)

--架構和部署狀況

--技術實現(編程語言、協議等)

--與其它系統的聯繫

b)業務級別的分析

--肯定被測業務和不測業務

    --根據業務的重要級別斷定:必須有的、重要的、最好有的

    --根據業務是否出現性能瓶頸斷定

    --2/8原則:80%的用戶在一個系統中使用的功能約爲20%

    --項目時間:關鍵指標

--分析待測業務

c)需求層面的分析

若沒有明確的性能需求,需本身挖掘具體的需求點,列出可度量的指標,如:

--響應時間:遵循2-5-8原則(2秒之內徹底能夠接受,2~5秒大部分人能夠接受,5~8表大部分人不能夠接受,8秒以上幾乎接受不了)

--TPS:系統已經在線上運行,根據歷史數據估算將來的增加狀況。系統未發佈,能夠從從此係統的業務量反向退到

--資源利用率:主要考慮CPU、內存、I/O的使用狀況,避免線上資源不足致使的系統瓶頸

2)測試場景設計

強調:搭建仿真環境、模擬真實場景

第二部分 基礎篇

第4章 LoadRunner基礎介紹

一、LoadRunner簡介

LoadRunner在性能測試中的使用順序

二、LoadRunner工做原理

三、LoadRunner安裝

參考 http://baijiahao.baidu.com/s?id=1600795201973246998&wfr=spider&for=pc

注意事項:

1)不建議使用中文語言包

2)安裝路徑不要帶中文字符

第5章 腳本建立(VuGen建立虛擬用戶)

注: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中錄製一個註冊用戶操做

1)修改默認的錄製標籤選項

a)開始錄製彈框,點擊「錄製選項」按鈕

b)【常規>>錄製】選項,在HTML高級選項中選擇包含明確的URL的腳本 

c)【HTTP屬性>>高級】選項,勾選支持的字符集UTF-8

2)錄製腳本

【特別說明】VuGen只能在Windows平臺上錄製Vuser腳本,但錄製的Vuser腳本能夠在Windows和Linux平臺上運行

a)【文件>>新建腳本和解決方案】,選擇協議,輸入腳本名稱,設置存放路徑,點擊「建立」按鈕建立腳本

 

b)點擊「錄製」按鈕

c)開始錄製彈框,輸入URL地址

d)在頁面註冊數據,生成腳本

--i)錄製工具欄

--ii)註冊頁面及生成腳本

3)回放腳本

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)添加檢查點(後續介紹)

 4)運行時設置

a)運行邏輯配置

可配置腳本迭代次數,迭代次數不會影響到vuser_init,vuser_end

 

部分Action腳本運行屢次,可經過插入塊進行配置

example. Web Tours系統進行1次註冊,2次登陸配置

 

b)日誌配置

在VuGen運行單腳本日誌時,通常選擇擴展日誌用於更好的瞭解腳本執行狀況;在Controller運行多腳本時多選擇標準日誌

 

 c)思考時間

在單嬌本運行的VuGen中,默認選擇忽略思考時間;在Controller中的併發操做下,通常選擇使用錄製思考時間的隨即百分比以更真實的模擬用戶行爲

二、腳本優化之參數化

 

三、腳本優化之關聯

四、腳本優化之事務+檢查點

五、腳本優化之集合點+思考時間

相關文章
相關標籤/搜索