MILY: 宋體; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋體; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">導讀
如果你是正在學LoadRunner,或者已經精通LoadRunner,你也許會有這樣的感覺:做性能測試我離不開LoadRunner了。是的,LR太棒了,不愛都不行。從現在開始,我們來走入LoadRunner的世界。
LoadRunner介紹
LoadRunner是原Mercury公司是產品,2006年Mercury公司被HP收購。LoadRunner(以下簡稱LR)是一種高規模適應性的自動負載測試工具,它能預測系統行為,優化性能。LR強調強調是的對整個企業應用架構進行測試,它通過模擬實際用戶的操作行為和實行實時性能監控,來幫助客戶更快的確認和查找問題。LR能支持廣泛的協議的技術,為客戶的特殊環境,提供特殊的解決方案。
LR的特點:
1, 能很輕松地創建虛擬用戶
2, 能創建真實的負載
3, 定位性能問題
4, 分析結果精確定位問題所在
5, 完整的企業應用環境支持
LR的結構:
1, Virtual User Generator:虛擬用戶生成器,簡稱VuGen,用來錄制操作者的操作,建立虛擬用戶腳本。
2, Controller:壓力控制器,整個壓力測試的控制中心,用來管理,設計,驅動及監控壓力測試場景。
3, Load Generator:壓力生成器,執行虛擬使用者腳本以產生虛擬用戶,對被測系統發出請求和接收響應,模擬實際的負載。
4, Analysis:結果分析器,通過測試結果的數據,用來分析壓力測試結果。
5, Launcher:提供一個集中的界面,啟動LR所有模塊。
LoadRunner的工作原理:
LR的工作原理是通過用戶執行被測程序的客戶端,在VuGen中錄制被測系統的客戶端和服務器的協議交互,生成腳本,然后在Controller中控制Load Generator,按照一定的配置(又稱為場景),模擬一定數量的用戶,對服務器產生壓力,同時對被測系統涉及的操作系統,數據庫,中間件筆資源進行監控,收集壓力情況下的資源信息,測試結束后形成測試結果和監控數據,在結果分析器中進行分析,最后生成測試結果報告。在下一篇中我會以一個具體的測試案例來具體說明,敬請留意。
OK,按照上面的原理,我們來畫一個圖來說明,這樣更容易理解了,如下圖所示:

OK,這就是LR了,當然在實際的操作中可不象那么簡單,RL的功能非常強大,在下一篇中會講到,插入事務,參數化技術,精確搜索數據和篩選特定數據等等。
做軟件性能測試前的準備
做測試的都知道,做性能測試比做功能測試難許多,主要是因為性能涉及的范圍太廣,所考慮的不僅僅是軟件本身,還要考慮到硬件,操作系統,網絡和各種用到的服務器等等。在做性能測試是都要對這些進行監控,收集數據,光是工作量就比做功能大很多。功能主要關注的是軟件系統能做什么,而性能測試關注更多的則是在一定條件下軟件系統能做得多好。
想要做軟件性能測試,首先你得搞懂幾個概念性的術語。
一,什么是軟件性能
軟件性能是軟件的一種非功能特性,它關注的不是軟件是否完成特定的功能,而是在完成該功能時展示出來的及時性。
二,軟件性能的指標
1, 響應時間:是指系統對請求作出響應的時間。這里的響應時間只是一個很籠統的概念,其實響應時間是可以被進一步分解為系統響應時間和呈現時間。響應時間是衡量一個系統性能的重要指標,但需要說明的是,軟件性能的高底實際上取決于用戶對該響應時間的接受程度。
2, 吞吐量:是指系統在單位時間內處理請求的數量。對無并發的應用系統而言,吞吐量與響應時間成嚴格的反比關系,此時吞吐量就是響應時間的倒數。
3, 并發用戶數:是指系統可以同時承載的正常使用系統功能的用戶數量。與吞吐量相比,并發數量是一個更直觀但也是更籠統的性能指標。
4, 資源利用率:資源利用率反映的是在一段時間只資源平均占用的情況,
5, 性能計數器:是描述服務器或操作系統性能的一些數據指標。例如,對Windows系統來說,使用內存數(Memory In Usage),進程時間(Total Process Time)等都是常見的計數器。
6, 思考時間(think time):也被稱為“休眠時間”,從業務的角度來說,這個時間指的是用戶在進行操作時,每個請求之間的間隔時間。從自動化測試實現的角度來說,要真實地模擬用戶操作,就必須在測試腳本中讓各個操作之間等待一段時間,體現在腳本中,具體而言,就是在操作之間放置一個lr_think_time()的函數,使得腳本在執行兩個操作之間等待一段時間。但在實際測試中,設置多長的think time才算最合理,不影響迭代次數、并發用戶數和吞吐量,是值得我們思考的問題。
三,軟件性能測試的分類
根據測試目的不同,可以把軟件性能測試以及性能有關的其它一些測試分為以下幾類。
1, 性能測試 這里的性能測試是一個狹義的概念,是指測試軟件的性能是否符合需求中規定的性能。
2, 并發測試
3, 壓力測試
4, 可靠性測試
5, 負載測試
6, 配置測試
7, 失效恢復測試
其他方面的準備
OK,到這里,我們就可以做測試前的準備了。了解項目背景,制定測試計劃,參于人員有人數用各自的任務,測試范圍和目標,測試模型,測試數據,系統信息,搭建測試環境等等,所有這些都準備好了,在下一篇,我以一個自己寫的博客網為例用LR來現實其性能測試。
今天到這里,謝謝大家,有不足之處,真誠希望各位多多指點。