標籤:
效能測試常見用語
並發使用者數量:與伺服器進行互動的線上使用者數量
請求回應時間:從用戶端發出請求到得到響應的整個時間。一般包括網路回應時間+server的回應時間
事務回應時間:完成這個事務所用的時間。這個是效能測試中重點關注的指標
吞吐率:單位時間在網路上傳輸的資料量。這個是衡量網路效能的主要指標
TPS:每秒鐘系統能夠處理事務的數量。
點擊率:每秒發送的http請求的數量,點擊率越大對server的壓力也就越大
資源使用率:對不同資源的使用程度,比如伺服器的CPU,記憶體等。
LR目錄分析
瞭解軟體安裝後目錄結果的必要性
學習一個軟體的使用應該從最基本的結構學起—它的目錄。
Analysis templates—分析模板
Bin—可執行程式,注意裡面的chm協助文檔
Bincerts—安全性憑證
Classes—可能用到的jar包
Dat—配置,備份等資訊
Ejbcomponent—ejb的相關jar包
Help—協助中心
Include—標頭檔(可以編寫自訂函數,儲存成.h的標頭檔形式並放在這個目錄,以後就只需要調用這個標頭檔就可以方便的使用了)
Samples—java
Tutorial—快速入門的執行個體
Webtours—執行個體網站
LR介面分析
Virtual User Generator
注意:VuGen、僅能錄製windows平台上的會話,但是錄製的vuser指令碼既可以在windows上也可以在linux上
建立指令碼的方式
建立單協議指令碼
建立多協議指令碼
使用最近使用過的協議建立指令碼
協議類型
應用程式部署解決方案:Citrix ICA
用戶端/伺服器
自訂
分布式組件
電子商務
Enterprise JavaBean:
ERP/CRM
傳統:終端模擬(RTE)
郵件服務:
中介軟體
資料流
無線
Task模式
給你一步一步的提示,只需按照提示進行下一步即可
適用於LR的初學者
Recording Options 選項
以單協議http/html為例
- 菜單tools—>Recording Options進入錄製的設定表單
- Recording標籤頁:選用哪種錄製方式
- Browser標籤頁:瀏覽器的選擇
- Recording Proxy標籤頁:瀏覽器上的代理設定
- Advanced標籤頁:可以設定錄製時的think time,支援的字元集標準等
- Correlation標籤頁:手工設定關聯,通過關聯可在測試執行過程中儲存動態值。使用這些設定可以配置VuGen在錄製過程中執行的自動關聯的程度。
Run-Time Setting 選項(在Vuser欄目下)紅色代表常用的
- run Logic:用來設定Action部分重複運行幾次
- Pacing:用來設定以怎樣一種方式開始下一次反覆
- Log:設定是否啟用日誌
- Think Time:關於指令碼中think time的設定
- Miscellaneous:配置其他運行時設定
- Speed Simulation:用來類比網速
- Browser Emualation:設定瀏覽器模擬屬性
- Proxy:設定代理
Controller
可以使用LR 來管理和維護方案
LR可以從一個單一的控制點簡單有效控制所有的Vuser
建立運行情境
建立手動的:通過建立並制定指令碼、負載產生器和每個組中包括的Vuser數,可以產生手動方案。也可以通過“百分比模式”定義要在方案中使用的Vuser的總數,並為每個指令碼分配負載產生器和佔總數一定百分比的Vuser。
需要注意的:
- 期間設定將覆蓋Vuser迭代設定。這意味著,如果將期間設定為5分鐘,那麼Vuser將繼續在五分鐘時間內運行儘可能多的迭代,即使運行時設定僅指定一次迭代。
- Vuser組設定不適用於百分比模式。
建立面向目標的
- 在面向目標的方案中,您可以定義您希望實現的測試目標,LR將根據定義的目標自動為您建立一個方案
- 在一個面向目標的方案中,您可以定義五中類型的目標:虛擬使用者數、每秒點擊次數(僅web Vuser)、每秒事務數、每分鐘頁面數(僅web Vuser)或方案的事務回應時間
- 使用“編輯方案目標”對話方塊可以對方案目標進行定義
- 注意:要定義每秒事務數或事務回應時間目標類型,指令碼中必須包含事務。對於每種目標類型,您可以定義指令碼中希望測試的事務。
方案設定
- 在”方案設定”選項卡中,您可以設定方案在達到目標後繼續啟動並執行時間長度,以及方案無法達到目標時是否繼續。
- 達到目標後在運行:設定方案在達到目標後繼續啟動並執行時間長度。
- 如果無法達到目標:選擇下面兩個選項中的一個:
A. 停止方案並儲存結果:若無法達到您定義的目標,指示Controller停止方案並儲存方案結果。
B. 繼續運行方案,無需達到目標:指示Controller繼續運行方案,即使無法達到設定的目標。
運行方案
1.運行方案時,會為Vuser組分配負載產生器並執行它們的Vuser指令碼。在方案執行期間,LR將:
記錄在Vuser指令碼中定義的事務的期間
執行包括在Vuser指令碼中的集合
收集Vuser產生的錯誤、警告和通知訊息
2.在方案運行時,您可以監視每個Vuser、查看由Vuser產生的錯誤、警告和通知訊息以及停止Vuser組和哥哥Vuser。可以指示LR允許單個Vuser或組中的Vuser在停止前完成它們正在啟動並執行迭代、在停止前完成它們正在啟動並執行操作或立即停止運行
Results setting
Results—Results setting設定
建議Results name 命名方式為:情境已耗用時間_指令碼名稱_虛擬使用者數_情境期間
監視方案
1、 可以使用LR聯機運行時、事務、web資源、系統資源、網路延遲、防火牆伺服器資源、web伺服器資源、web應用程式伺服器資源、資料庫伺服器資源、流媒體資源、ERP/CRM伺服器資源、Java效能、應用程式部署和中介軟體效能監控器來監視方案執行。
2、 LR提供下列聯機監視器:“運行時”監視器顯示參與方案的Vuser的數目和狀態,以及Vuser所產生的錯誤數量和類型。此外還提供使用者定義的資料點圖,其中顯示Vuser指令碼中的使用者定義點的即時值。
關於系統資源監視
1、 影響事務回應時間的一個主要因素是系統資源使用率
2、 使用LR資源監視器,可以在方案運行期間監視電腦上的windows、unix、SNMP、AntaraFlame Thrower和SiteScope資源,並可以確定特定電腦上為何出現瓶頸。
Analysis基礎知識
1.建立會話
在運行方案時,資料將儲存在結果檔案中,副檔名為.lrr.Analysis將活動圖表的顯示資訊和布局設定儲存在副檔名為.lra的檔案中。
2.啟動Analysis
LR選擇“Analysis”程式。有可以從Controller開啟。
3.整理結果
方案執行之後,這些結果會自動進行整理或合并,即將所有主機的結果傳輸到結果目錄中。通過在Controller視窗中選擇Result > Auto collate Results.
瞭解Analysis報告
- 運行方案後,您可以查看對系統效能進行匯總的報告。Analysis提供一下報告工具:摘要報告、HTML報告、事務報告
- 摘要報告通過有關方案啟動並執行一般資訊。您可以隨時從Analysis視窗中查看摘要報告
- 您可以指示Analysis建立HTML報告。Analysis將為每個開啟的圖建立HTML報告。
- 事務報告提供有關Vuser指令碼中定義的事務的效能資訊。這些報告為您提供結果的統計資訊細分,並允許您列印和匯出資料。
Analysis分析基礎
- 查看summary。主要是虛擬使用者數和事務。
- 查看負載產生器和伺服器的系統資源情況。如CPU、記憶體等。往往記憶體的泄露表現在Cpu利用率過高。
- 查看虛擬使用者和事務
- 查看錯誤發生情況
- 查看web資源 和細分網頁
IP欺騙、
設定方法:
- LR—tools—ip wizard
- 在Controller的scenario中啟用IP欺騙(必須在串連到Load generator前啟用IP欺騙)
- Tools—expert mode
- Tools—options—general
- 測試結束後要釋放IP也是在LR—tools—IP wizard 中操作
Tips:
- 必須是固定IP,不支援動態IP
- 重啟電腦後可用ipconfig –all查看IP資訊
LR常用術語
情境
在LR中主要表現為Controller中設計與執行測試案例中的使用者情境。主要工作有,在Controller中選擇虛擬使用者指令碼、設定虛擬使用者數量、配置虛擬使用者運行時的行為、選擇負載發生器、設定執行時間等。
負載發生器
用來產生壓力的真實機器,受Controller控制,可以使使用者指令碼在不同的主機上執行。在效能測試工作中,通暢由一個Controller控制多個load generator 以對被測試系統進行加壓。
虛擬使用者
對應於現實中的真實使用者,使用LR類比的使用者稱為虛擬使用者。其本質是通過虛擬使用者指令碼來類比真正使用者的行為。
虛擬使用者指令碼
通過Vuser Generator 錄製或開發的指令碼。這些指令碼用來類比使用者的行為。
事務
LR通過事務來衡量伺服器的效能。在業務上事務通常是使用者的一個或一系列操作,代表一定的功能,而在程式上則表現為一段代碼區塊。測試人員可以將一個或多個操作步驟定義為一個事務,以便衡量這部分的使用者並發回應時間。
考慮時間
為了類比時更加接近使用者的真實行為而引進的概念。在實際中,使用者進行一系列操作後往往會進行處理,例如瀏覽網頁內容,而處理過程對伺服器是沒有壓力的。因此在虛擬使用者指令碼中用函數lr_think_time(double time)來類比使用者處理過程,執行該函數時使用者線程會按照相應的time值進行等待。
集合點
對應於真實使用者中的並發點。LR通過集合點實現了真正意義的並發。集合點在虛擬使用者指令碼中對應函數LR_rendezvous(constchar* rendezvous_name),當執行到該函數時會按照情境的並發策略來執行。
事務回應時間
是一個統計量,是評價系統效能的重要參數。定義好事務後,在情境執行過程和測試結果分析中即可以看到對應事務的回應時間。通過對關鍵或核心事務的執行情況進行分析,可以快速定位效能問題。
HP WEB TOURS分析
- 1. 啟動web tours
開始—LR—Sample—web
先把web tour服務起來
然後在開啟web tours網站
如果在web伺服器已經啟動的情況下,在啟動該伺服器將會報錯
- 2. 首頁結構
登入頁面的測試案例考慮,測試點的考慮
- 3. 預定機票
LR錄製測試指令碼
錄製的商務程序介紹
登入
航班,選擇的資訊如下:出發城市:丹佛(預設設定),出發日期:保持預設設定,達到城市:洛杉磯,返回日期:保持預設設定,座位喜好設定:過道
其餘保持預設,點擊continue
進入選擇航班頁面,保持預設設定,點擊continue
進入付費資訊並預定航班:在信用卡中輸入:12345678 在輸出日期中輸入:10/08,點擊continue
進入發票頁,並顯示你的發票資訊
點擊左側的航程按鈕,可以查看資訊
最後點擊sign off
儲存檔案為basic_turorial
錄製指令碼
啟動VuGen
輸入URL
按照商務程序進行錄製
查看指令碼
可以通過tree view 和script view來查看錄製成功後的指令碼
LR回訪測試指令碼
設定run time settings
1.Vuser-----run-time settings
2.運行迭代次數設定為2
3.“步”設定為random(隨機)
4.“日誌”選擇擴充日誌並輸出參數
5.think time預設,將在Controller中設定它
即時觀察回訪的映像
Tools—General Options
回放指令碼
待上述設定完成後,我們可以點擊回放按鈕進行指令碼的回放
查看Results
1.View—Test Result
2.通過篩選器可以選出滿足你設定的條件的結果
Web(Http/HTML)協議的兩種錄製方式(Tools—recording Options—Recording)
1、 指令碼錄製的基本原則
充分考慮指令碼的執行效率:效能測試指令碼關注的是如何類比使用者的真實行為。因此,用於測試的指令碼應該接近使用者的真正操作。這就是要求錄製後的指令碼在修改的過程中不要增加過多內容,尤其是不能降低其效率。例如盡量不要增加迴圈、檢查等操作,除非這些操作是必須的。
錄製重要的使用者業務:要錄製常用的、使用頻率較高的業務來進行測試,不要一股腦的什麼都錄製。
選擇你需要的進行錄製:在web效能測試中,如果有些操作用於使用者所關注的事務沒有什麼影響,那麼可以不進行錄製。例如一些查詢事務中,選取查詢條件頁面的請求過程可以不錄製,但對於一些要傳遞查詢參數的過程則必須錄製。
錄製前對參數進行正確的配置
2、 HTML和URL based script介紹
Html based script:可以為每個使用者請求產生單獨的函數。
URL based script:可以捕獲所有作為使用者操作的結果發送到伺服器的http請求,然後一條條記錄下來。它設定可以捕獲非HTML應用程式,比如小程式和非瀏覽器應用程式。
HTML 這種錄製方式錄製出來的指令碼直觀,易於理解和維護。而URL產生的指令碼看起來比較長比較多。
3、 選擇錄製方式的原則
- 基於瀏覽器的應用程式推薦使用HTML-based script
- 不是基於瀏覽器的應用程式推薦使用URL-based script
- 如果基於瀏覽器的應用程式中包含了JavaScript並且該指令碼向伺服器產生了請求,比如DataGrid的分頁按鈕等,也要使用URL-based方式錄製。
- 基於瀏覽器的應用程式中使用了https安全性通訊協定,使用URL-based方式錄製
- 對於初學者來說,如果HTMl方式錄製不成功可以換成URL方式錄製。
4、 HTML based script設定介紹
- 用來描述使用者行為的指令碼。直接建立的URL(web_url)、表單提交(web_submit_form)、串連(web_link)和映像(web_image)等函數
2. 僅包含明確的URL指令碼。這種指令碼中,所有的連結、映像請求和URL操作都被錄製為web_url函數,而表單提交則被錄製為web_submit_data函數。
小強老師的零基礎學習軟體測試之LR筆記