常用的性能测试工具介绍:LoadRunner和JMeter
性能測試是軟件測試中一個很重要的分支,人們為了提高性能測試的效率,開發出了很多性能測試工具。一款好的測試工具可以極大地提高測試效率,為發現軟件缺陷提供重要依據。目前,市面上的性能測試工具很多,有收費的也有免費的,下面將介紹兩個比較常用的性能測試工具:LoadRunner和JMeter。
性能測試工具一:LoadRunner
Loadrunner最初是由Mercury公司開發的一款性能測試工具,2006年被惠普(HP)公司收購,此后,LoadRunner就成為了HP公司重要的產品之一。LoadRunner是一款適用于各種體系架構的性能測試工具,它能預測系統行為并優化系統性能,其工作原理是通過模擬一個多用戶(虛擬用戶)并行工作的環境來對應用程序進行負載測試。在進行負載測試時,LoadRunner能夠使用最少的硬件資源為模擬出來的虛擬用戶提供一致的、可重復并可度量的負載,在測試過程中監控用戶想要的數據和參數。測試完成,LoadRunner可以自動生成分析報告,給用戶提供軟件產品所需要的性能信息。
相比于其他性能測試工具, Loadrunner主要有以下特點。
(1)廣泛支持業界標準協議。
(2)支持多種平臺開發的腳本。
(3)可創建真實的系統負載。
(4)具有強大的實時監控與數據采集功能。
(5)可以精確分析結果,定位軟件問題。
LoadRunner好用且功能強大,唯一美中不足的是它不是開源產品,使用 LoadRunner的用戶需要向HP公司付費。
LoadRunner工具主要由3部分組成: Virtual User Generator(簡寫為 VuGen)、 Controller和Analysi。下面分別介紹這3個組成部分的作用。
1. VuGen( Virtual User Generator)
LoadRunner是通過多個虛擬用戶在系統中同時工作或訪問系統的環境來進行性能測試的,虛擬用戶進行的操作通常被記錄在虛擬用戶腳本中,而VuGen就是用于創建虛擬用戶腳本的工具,因此它也被稱為虛擬用戶腳本生成器。
在創建腳本時,VuGen會生成多個函數用于記錄虛擬用戶所執行的操作,并將這級插入到VuGen編輯器中生成基本的虛擬用戶腳本,這個創建腳本的過程也叫作錄制腳本。例如,有一款軟件產品基于數據庫服務器,所有用戶的信息都保存在數據庫中,當用戶查詢信息時,整個查詢過程可分為以下幾個操作。
(1)登錄軟件。
(2)連接到數據庫服務器。
(3)提交SQL查詢。
(4)檢索并處理服務器響應。
(5)與服務器斷開連接。
VuGen會監控上述操作,并以代碼的形式將這幾個操作記錄下來,生成一個VBScript 腳本文件。當執行該腳本文件時,可以自動執行上述操作,即自動執行查詢操作。在錄制期間,VuGen會監控虛擬用戶的行為,并跟蹤用戶發送到服務器的所有請求以及從服務器接收到的所有應答。
2. Controller
Controller用于創建和控制LoadRunner場景,場景負責定義每次測試中發生的事件,包括模擬的用戶數、用戶執行的操作以及測試要監控的性能指標等。
以VuGen中所舉的軟件產品為例,用戶可以登錄軟件查詢個人信息,如果全國各地的用戶都要查詢信息,那么軟件可以承受多大的負載?這就需要進行負載測試,例如使用100個用戶同時執行查詢操作并觀察軟件的運行情況,這就是一個場景,這個場景可以使用Controller定義。設置100個虛擬用戶,讓這100個虛擬用戶同時執行VuGen錄制的查詢操作腳本,這就相當于讓100個用戶同時執行查詢操作,在場景運行期間添加響應時間、并發用戶數等性能指標,監控這些指標的變化,檢查服務器的可靠性及負載能力。
3.Analysis
Analysis是LoadRunnerI的數據分析工具,它可以收集性能測試中的各種數據,對其進行分析并生成圖表和報告供測試人員查看。
關于LoadRunner的安裝以及這3個工具的使用,后面會進行詳細講解,在這里讀者對duNner以及這3個工具有一個整體的認識即可。
性能測試工具二:JMeter
JMeter是由 Apache公司開發和維護的一款開源免費的性能測試工具。JMeter以Java作為底層支撐環境,它最初是為測試Web應用程序而設計的,但后來隨著發展逐步擴展到了其他領域?,F在JMeter可用于靜態資源和動態資源的測試,例如,它可用于模擬服務器、服務器組,網絡或對象上的重負載以測試其強度、分析不同負載類型下的整體性能。
JMeter的工作原理與LoadRunner類似,它也是通過模擬出多個虛擬用戶向服務器發送請求,檢測響應返回情況,如并發用戶數、響應時間、資源占用情況等,以此檢測系統的性能。與 LoadRunner不同的是, JMeter工具通過線程組創建虛擬用戶,一個線程組可以設置多個線程,每個線程就是一個虛擬用戶,這些線程相互獨立,互不影響。虛擬用戶向服務器發送一個請求,JMeter稱之為一次采樣,這個操作有采樣器來完成。
JMet工具主要由以下幾個核心組件構成。
(1)邏輯控制器( Logic Controller):邏輯控制器確定采樣器的執行順序。
(2)配置元件( Config Element):配置元件可用于設置默認屬性和變量等數據,供采樣器獲取所需要的各種配置信息。
(3)前置處理器( Per processors):在實際的請求發出的請求進行特殊的處理。例如, Http Url重寫修飾符可以實現URL重寫,當發送的請求中有SessionID信息時,可以通過該前置處理器填充發出請求的實際SessionID。
(4)定時器( Timer):用于在操作之間設置等待時間。
(5)采樣器( Sampler):采樣器是JMer主要執行組件,它用于向服務器發送一個請求并記錄響應信息,包括成功/失敗、響應時間、數據大小等。 JMeter支持多種不同的采樣器可根據設置的不同參數向服務器發送不同類型的請求(HTTP、FTP、TCP等)
(6)后置處理器( Post processors):后置處理器一般放在采樣器之后,用來處理服務器的返回結果。
(8)監聽器( Listener):用于監聽測試結果。此外,監聽器還具備查看、保存和讀取測試結果的功能。
使用JMeter進行性能測試時,在線程組中設置好相關參數,并通過配置元件、前置處理器、定時器、斷言等組件設置其他的參數信息,然后使用采樣器發送請求,通過后置處理器斷言、監聽器等組件分析查看測試結果。
與 LoadRunner相比, JMeter是一款開源免費的輕量級工具,安裝簡單,并且支持二次開發,但是在性能測試過程中,JMer的錄制功能、環境調試功能與 LoadRunner都存在一定差距,而且JMeter的報表較少,結果分析也沒有LoadRunner詳細??傊?#xff0c; MEeter和 LoadRunner各有優勢與不足,大家在測試時可以根據自己的需要進行選擇。
推薦學習:
全方位講解性能測試入門基礎
完整視頻:http://yun.itheima.com/course/565.html?2010stt
配套資料:https://pan.baidu.com/s/17Htx3UUVZ7xlciAykzeVeg 提取碼:1suf?
總結
以上是生活随笔為你收集整理的常用的性能测试工具介绍:LoadRunner和JMeter的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AE电源维修PDX8000射频电源维修
- 下一篇: 2022年精密磨光棒行业市场下游应用规模