性能測試是軟件測試的一個非常重要的分支。為了提高性能測試的效率,已經開發了許多性能測試工具。性能測試工具有哪些?一個好的測試工具可以大大提高測試效率,為發現軟件缺陷提供重要依據。目前市面上的性能測試工具有很多,有些是付費的,有些是免費的。下面將介紹兩個比較常用的性能測試工具:LoadRunner和JMeter。
性能測試工具一:LoadRunner
Loadrunner 最初是 Mercury 開發的性能測試工具,2006 年被惠普(HP)收購。此后,LoadRunner 成為惠普的重要產品之一。 LoadRunner 是一款適用于各種架構的性能測試工具,可以預測系統行為并優化系統性能。它的工作原理是通過模擬多個用戶(虛擬用戶)并行工作的環境來加載測試應用程序。在負載測試期間,LoadRunner 可以使用最少的硬件資源為模擬虛擬用戶提供一致、可重復和可測量的負載,并在測試期間監控用戶想要的數據和參數。測試完成后,LoadRunner可以自動生成分析報告,為用戶提供軟件產品所需的性能信息。
與其他性能測試工具相比,Loadrunner主要有以下特點。
(1)對行業標準協議的廣泛支持。
(2)支持多平臺開發的腳本。
(3)創建真實的系統負載。
(4)具有強大的實時監控和數據采集功能。
(5)準確分析結果,定位軟件問題。
LoadRunner簡單易用,功能強大,唯一美中不足的是它不是開源產品,使用LoadRunner的用戶需要付費。
LoadRunner工具主要由3部分組成:Virtual User Generator(簡稱VuGen)、Controller和Analysi。下面分別介紹這三個組件的功能。
1. VuGen(虛擬用戶生成器)
LoadRunner 通過多個虛擬用戶同時工作或訪問系統的環境執行性能測試。虛擬用戶執行的操作通常記錄在虛擬用戶腳本中,而VuGen用于創建虛擬用戶腳本。工具,所以它也被稱為虛擬用戶腳本生成器。
在創建腳本時,VuGen 會生成一些函數來記錄虛擬用戶執行的操作,并將這個關卡插入到 VuGen 編輯器中,生成一個基本的虛擬用戶腳本。這個創建腳本的過程也稱為錄制腳本。例如,一個軟件產品是基于數據庫服務器的,所有的用戶信息都存儲在數據庫中。當用戶查詢信息時,整個查詢過程可以分為以下幾個操作。
(1)登錄軟件。
(2)連接數據庫服務器。
(3)提交 SQL 查詢。
(4)檢索并處理服務器響應。
(5)與服務器斷開連接。
VuGen會監控上述操作,將這些操作以代碼的形式記錄下來,并生成VBScript腳本文件。當腳本文件執行時,可以自動執行上述操作,即可以自動執行查詢操作。在錄制過程中,VuGen 會監控虛擬用戶的行為并跟蹤用戶向服務器發送的所有請求以及從服務器收到的所有回復。
2.控制器
Controller用于創建和控制LoadRunner場景,負責定義每次測試中發生的事件,包括模擬用戶的數量、用戶執行的操作、測試要監控的性能指標.
以VuGen中提到的軟件產品為例,用戶可以登錄該軟件查詢個人信息。如果全國各地的用戶都想查詢信息,這個軟件能承受多大的負載呢?這需要進行負載測試,比如使用 100 個用戶同時進行查詢操作,并觀察軟件的運行情況。這是一個場景,可以使用Controller來定義。設置100個虛擬用戶,讓這100個虛擬用戶同時執行VuGen記錄的查詢操作腳本,相當于讓100個用戶同時執行查詢操作。這些指標的變化檢查了服務器的可靠性和負載能力。
3.分析
Analysis是LoadRunner I的數據分析工具,可以收集性能測試中的各種數據,進行分析,生成圖表和報告供測試人員查看。
LoadRunner的安裝以及這三個工具的使用在后面會詳細講解。在這里,讀者可以對duNner和這三個工具有一個整體的了解。
性能測試工具2:JMeter
JMeter 是由 Apache Corporation 開發和維護的開源免費性能測試工具。 JMeter 使用 Java 作為底層支持環境。它最初是為測試Web應用程序而設計的,但隨著發展逐漸擴展到其他領域。現在JMeter可以用于靜態和動態資源的測試,例如可以用來模擬服務器、服務器組、網絡或對象上的重負載來測試它的強度,分析不同負載類型下的整體性能。
JMeter 的工作原理與 LoadRunner 類似。它還通過模擬多個虛擬用戶向服務器發送請求并檢測響應返回來檢測系統的性能,例如并發用戶數、響應時間、資源占用率等。與 LoadRunner 不同的是,JMeter 工具通過線程組創建虛擬用戶。一個線程組可以設置多個線程,每個線程是一個虛擬用戶。這些線程相互獨立,互不影響。虛擬用戶向服務器發送請求,JMeter 將其稱為樣本,此操作由采樣器完成。
JMet工具主要由以下核心組件組成。
(1)邏輯控制器:邏輯控制器決定采樣器的執行順序。
(2)Config Element:Config Element可用于設置采樣器的默認屬性和變量等數據,以獲取所需的各種配置信息。
(3)Perprocessors:對實際請求進行特殊處理。例如Http Url rewrite修飾符可以實現URL重寫,當發送的請求包含SessionID信息時,實際的SessionID這個預處理器可以填充請求。
(4)定時器:用于設置操作之間的等待時間。
(5) Sampler:Sampler是JMer的主要執行組件,用于向服務器發送請求并記錄響應信息,包括成功/失敗、響應時間、數據大小等。JMeter支持多種不同的采樣器,可以根據設置的不同參數向服務器發送不同類型的請求(HTTP、FTP、TCP等)。
(6)后處理器:后處理器一般放在采樣器之后,對服務器返回的結果進行處理。
(8)監聽器:用于監聽測試結果。此外,監聽器還具有查看、保存和讀取測試結果的功能。
使用JMeter進行性能測試時,在線程組中設置相關參數,通過配置元素、預處理器、定時器、斷言等組件設置其他參數信息,然后使用采樣器發送請求,之后通過設置處理器斷言、監聽器等組件來分析和查看測試結果。
與LoadRunner相比,JMeter是一款開源免費的輕量級工具,安裝方便,支持二次開發。但是在性能測試的過程中,JMer的錄音功能和環境調試功能與LoadRunner還是有一定差距的。而JMeter的報告較少,結果分析不如LoadRunner詳細。
總之,MEeter和LoadRunner各有優缺點,在測試的時候可以根據自己的需要進行選擇。以上是對性能測試工具有哪些的具體介紹,更多關于軟件測試培訓的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓服務經驗,采用全程面授高品質、高體驗培養模式,擁有國內一體化教學管理及學員服務,助力更多學員實現高薪夢想。