在loadrunner中的controller中開啟unix系統資源計數器,weblogic計數器,DB2計數器,檢測系統資源消耗情況,并最終和測試結果數據合并,成為分析圖表。
測試結果可在測試執行完畢后,通過loadrunner工具中的Analysis(分析器)獲得。
A: 并發登陸測試
依照設計好的測試場景,用loadrunner工具在一分鐘內漸增向系統發送登陸請求。分別進行三次,結果如下
![]() |
表格 2登陸測試結果數據表
注:這里的登陸成功用戶指的是系統接受了登陸請求,并建立了連接。平均響應時間在登陸腳本里設置檢測點,由loadrunner工具自動獲得。
考察系統的瞬時并發處理能力:在完成上一步測試的前提下,逐步增加瞬時并發登陸用戶數,直到系統極限。
測試執行結果如下:
![]() |
表格3瞬時并發登陸測試結果數據表
B: 負載測試
- 交易流程測試:
測試結果如下:
對于通過網絡接口發送的批量業務請求,均在性能指標所指定的時間范圍內得到請求成功的反饋消息,說明主機已經處理成功。
在通過網絡接口發送業務請求的同時,開啟IE,通過實際終端界面進行登陸和交易,系統響應時間延長,界面顯示和刷新明顯變慢,到業務量高峰時期,界面已經不能顯示任何信息,處于不可工作的狀態。
需求說明的是系統正常工作時,每個界面終端不僅應該能夠展示己方的交易信息,還要展示其他交易單位的交易信息和系統信息。因此當交易量大的時候,界面需要展示的信息量是巨大的,這本身對終端界面是一個性能考驗。
- 查詢流程測試:
本流程測試在交易流程測試之后進行,以利用其生成的數據。
測試結果基本滿足性能指標。
- 綜合測試
由于交易流程測試的未通過,本測試已經不能執行。
- 第四步:測試結果分析及性能評價
A:并發測試結果分析
根據上述的并發測試響應時間表,我們可以得出以下的結論:
被測系統在一分鐘內并不能接受750個用戶的登陸請求,其可接受的登陸請求用戶數大概為490個左右。在這樣的條件下,登陸響應時間在用戶要求范圍之內。
被測系統的瞬時并發處理能力約為122個用戶。
B: 交易流程測試結果分析及性能評價
根據交易流程測試結果可知,通過腳本程序進行業務行為,發送業務請求消息到回收主機處理回應消息,這段時間系統是順暢的,反應也是迅速的,但是在終端界面卻不能即時展現消息。這說明信息的回饋通路在終端界面出現了性能瓶頸。當界面需要在短時間內展示大量交易信息時,已經不能承受負荷。這與終端采用java applet技術有關。
C: 查詢流程測試結果分析
查詢流程基本符合性能指標。
需要說明的是,實際中,以上每個場景的測試都執行了多次,中間件參數進行了多次的調優。從以上測試的結果分析也可以看出,我們的性能測試瓶頸不是出現在中間件產品上,而是在自身開發的程序上。
• 總結
由以上的實例過程我們可以看出性能測試基本由以下幾個步驟進行
- 系統分析
將系統的性能指標轉化為性能測試的具體目標。通常在這一步驟里,要分析被測系統結構,結合性能指標,制定具體的性能測試實施方案。這要求測試人員對被測系統結構和實施業務的全面掌握。
2. 建立虛擬用戶腳本
將業務流程轉化為測試腳本,通常指的是虛擬用戶腳本或虛擬用戶。虛擬用戶通過驅動一個真正的客戶程序來模擬真實用戶。在這一步驟里,要將各類被測業務流程從頭至尾進行確認和記錄,弄清這些交易過程可以幫助分析到每步操作的細節和時間,并能精確地轉化為腳本。此過程類似制造一個能夠模仿人的行為和動作的機器人過程。這個步驟非常重要,在這里將現實世界中的單個用戶行為比較精確地轉化為計算機程序語言。如果對現實世界的行為模仿失真,不能反映真實世界,性能測試的有效性和必要性也就失去了意義。
3. 根據用戶性能指標創建測試場景
根據真實業務場景,將單個用戶的行為進行復制和控制,轉化為多個用戶的行為。在這個步驟里,對腳本的執行制定規則和約束關系。具體涉及到交易量,并發時序等參數的設置。這好比是指揮腳本運行的司令部。這個步驟十分關鍵,往往需要結合用戶性能指標進行細致地分析。
4. 運行測試場景,同步監測應用性能
在性能測試運行中,實時監測能讓測試人員在測試過程中的任何時刻都可以了解應用程序的性能優劣。系統的每一部件都需要監測:客戶端,網絡,web服務器,應用服務器,數據庫和所有服務器硬件。實時監測可以在測試執行中及早發現性能瓶頸。
5. 性能測試的結果分析和性能評價
結合測試結果數據,分析出系統性能行為表現的規律,并準確定位系統的性能瓶頸所在。在這個步驟里,可以利用數學手段對大批量數據進行計算和統計,使結果更加具有客觀性。在性能測試中,需要注意的是,能夠執行的性能測試方案并不一定是成功的,成敗的關鍵在于其是否精確地對真實世界進行了模擬。
在整個性能測試過程中,自動化測試工具的選擇只能影響性能測試執行的復雜程度,簡便一些或繁雜一些;但人的分析和思考卻會直接導致性能測試的成敗。所以本篇著重于對性能測試思路的整理。測試工具的介紹可以參看有關壓力測試工具的資料。
注1:在本次性能測試案例中,還涉及到健壯性測試和可恢復性測試,限于篇幅,只介紹了并發測試和負載測試。
注2:loadrunner腳本樣例并非實際運行腳本,只是為了表示其流程。