效能測試工具loadrunner
導讀 如果你是正在學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,按照一定的配置(又稱為場景),模擬一定數量的使用者,對伺服器產生壓力,同時對被測系統涉及的作業系統,資料庫,中介軟體筆資源進行監控,收集壓力情況下的資源資訊,測試結束後形成測試結果和監控資料,在結果分析器中進行分析,最後生成測試結果報告。 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來現實其效能測試。