全國(guó)咨詢(xún)/投訴熱線:400-618-4000

首頁(yè)技術(shù)文章正文

性能測(cè)試工具有哪些?常用性能測(cè)試工具介紹

更新時(shí)間:2020-12-04 來(lái)源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif

性能測(cè)試是軟件測(cè)試中一個(gè)很重要的分支,人們?yōu)榱颂岣咝阅軠y(cè)試的效率,開(kāi)發(fā)出了很多性能測(cè)試工具。一款好的測(cè)試工具可以極大地提高測(cè)試效率,為發(fā)現(xiàn)軟件缺陷提供重要依據(jù)。目前,市面上的性能測(cè)試工具很多,有收費(fèi)的也有免費(fèi)的,下面將介紹兩個(gè)比較常用的性能測(cè)試工具:LoadRunnerJMeter

性能測(cè)試工具一:LoadRunner

Loadrunner最初是由Mercury公司開(kāi)發(fā)的一款性能測(cè)試工具,2006年被惠普(HP)公司收購(gòu),此后,LoadRunner就成為了HP公司重要的產(chǎn)品之一。LoadRunner是一款適用于各種體系架構(gòu)的性能測(cè)試工具,它能預(yù)測(cè)系統(tǒng)行為并優(yōu)化系統(tǒng)性能,其工作原理是通過(guò)模擬一個(gè)多用戶(hù)(虛擬用戶(hù))并行工作的環(huán)境來(lái)對(duì)應(yīng)用程序進(jìn)行負(fù)載測(cè)試。在進(jìn)行負(fù)載測(cè)試時(shí),LoadRunner能夠使用最少的硬件資源為模擬出來(lái)的虛擬用戶(hù)提供一致的、可重復(fù)并可度量的負(fù)載,在測(cè)試過(guò)程中監(jiān)控用戶(hù)想要的數(shù)據(jù)和參數(shù)。測(cè)試完成,LoadRunner可以自動(dòng)生成分析報(bào)告,給用戶(hù)提供軟件產(chǎn)品所需要的性能信息。

相比于其他性能測(cè)試工具, Loadrunner主要有以下特點(diǎn)。

(1)廣泛支持業(yè)界標(biāo)準(zhǔn)協(xié)議。

(2)支持多種平臺(tái)開(kāi)發(fā)的腳本。

(3)可創(chuàng)建真實(shí)的系統(tǒng)負(fù)載。

(4)具有強(qiáng)大的實(shí)時(shí)監(jiān)控與數(shù)據(jù)采集功能。

(5)可以精確分析結(jié)果,定位軟件問(wèn)題。

LoadRunner好用且功能強(qiáng)大,唯一美中不足的是它不是開(kāi)源產(chǎn)品,使用 LoadRunner的用戶(hù)需要向HP公司付費(fèi)。

LoadRunner工具主要由3部分組成: Virtual User Generator(簡(jiǎn)寫(xiě)為 VuGen)、 Controller和Analysi。下面分別介紹這3個(gè)組成部分的作用。

1. VuGen( Virtual User Generator)

LoadRunner是通過(guò)多個(gè)虛擬用戶(hù)在系統(tǒng)中同時(shí)工作或訪問(wèn)系統(tǒng)的環(huán)境來(lái)進(jìn)行性能測(cè)試的,虛擬用戶(hù)進(jìn)行的操作通常被記錄在虛擬用戶(hù)腳本中,而VuGen就是用于創(chuàng)建虛擬用戶(hù)腳本的工具,因此它也被稱(chēng)為虛擬用戶(hù)腳本生成器。

在創(chuàng)建腳本時(shí),VuGen會(huì)生成多個(gè)函數(shù)用于記錄虛擬用戶(hù)所執(zhí)行的操作,并將這級(jí)插入到VuGen編輯器中生成基本的虛擬用戶(hù)腳本,這個(gè)創(chuàng)建腳本的過(guò)程也叫作錄制腳本。例如,有一款軟件產(chǎn)品基于數(shù)據(jù)庫(kù)服務(wù)器,所有用戶(hù)的信息都保存在數(shù)據(jù)庫(kù)中,當(dāng)用戶(hù)查詢(xún)信息時(shí),整個(gè)查詢(xún)過(guò)程可分為以下幾個(gè)操作。

(1)登錄軟件。

(2)連接到數(shù)據(jù)庫(kù)服務(wù)器。

(3)提交SQL查詢(xún)。

(4)檢索并處理服務(wù)器響應(yīng)。

(5)與服務(wù)器斷開(kāi)連接。

VuGen會(huì)監(jiān)控上述操作,并以代碼的形式將這幾個(gè)操作記錄下來(lái),生成一個(gè)VBScript 腳本文件。當(dāng)執(zhí)行該腳本文件時(shí),可以自動(dòng)執(zhí)行上述操作,即自動(dòng)執(zhí)行查詢(xún)操作。在錄制期間,VuGen會(huì)監(jiān)控虛擬用戶(hù)的行為,并跟蹤用戶(hù)發(fā)送到服務(wù)器的所有請(qǐng)求以及從服務(wù)器接收到的所有應(yīng)答。

2. Controller

Controller用于創(chuàng)建和控制LoadRunner場(chǎng)景,場(chǎng)景負(fù)責(zé)定義每次測(cè)試中發(fā)生的事件,包括模擬的用戶(hù)數(shù)、用戶(hù)執(zhí)行的操作以及測(cè)試要監(jiān)控的性能指標(biāo)等。

以VuGen中所舉的軟件產(chǎn)品為例,用戶(hù)可以登錄軟件查詢(xún)個(gè)人信息,如果全國(guó)各地的用戶(hù)都要查詢(xún)信息,那么軟件可以承受多大的負(fù)載?這就需要進(jìn)行負(fù)載測(cè)試,例如使用100個(gè)用戶(hù)同時(shí)執(zhí)行查詢(xún)操作并觀察軟件的運(yùn)行情況,這就是一個(gè)場(chǎng)景,這個(gè)場(chǎng)景可以使用Controller定義。設(shè)置100個(gè)虛擬用戶(hù),讓這100個(gè)虛擬用戶(hù)同時(shí)執(zhí)行VuGen錄制的查詢(xún)操作腳本,這就相當(dāng)于讓100個(gè)用戶(hù)同時(shí)執(zhí)行查詢(xún)操作,在場(chǎng)景運(yùn)行期間添加響應(yīng)時(shí)間、并發(fā)用戶(hù)數(shù)等性能指標(biāo),監(jiān)控這些指標(biāo)的變化,檢查服務(wù)器的可靠性及負(fù)載能力。

3.Analysis

Analysis是LoadRunnerI的數(shù)據(jù)分析工具,它可以收集性能測(cè)試中的各種數(shù)據(jù),對(duì)其進(jìn)行分析并生成圖表和報(bào)告供測(cè)試人員查看。

關(guān)于LoadRunner的安裝以及這3個(gè)工具的使用,后面會(huì)進(jìn)行詳細(xì)講解,在這里讀者對(duì)duNner以及這3個(gè)工具有一個(gè)整體的認(rèn)識(shí)即可。

性能測(cè)試工具

性能測(cè)試工具二:JMeter

JMeter是由 Apache公司開(kāi)發(fā)和維護(hù)的一款開(kāi)源免費(fèi)的性能測(cè)試工具。JMeter以Java作為底層支撐環(huán)境,它最初是為測(cè)試Web應(yīng)用程序而設(shè)計(jì)的,但后來(lái)隨著發(fā)展逐步擴(kuò)展到了其他領(lǐng)域。現(xiàn)在JMeter可用于靜態(tài)資源和動(dòng)態(tài)資源的測(cè)試,例如,它可用于模擬服務(wù)器、服務(wù)器組,網(wǎng)絡(luò)或?qū)ο笊系闹刎?fù)載以測(cè)試其強(qiáng)度、分析不同負(fù)載類(lèi)型下的整體性能。

JMeter的工作原理與LoadRunner類(lèi)似,它也是通過(guò)模擬出多個(gè)虛擬用戶(hù)向服務(wù)器發(fā)送請(qǐng)求,檢測(cè)響應(yīng)返回情況,如并發(fā)用戶(hù)數(shù)、響應(yīng)時(shí)間、資源占用情況等,以此檢測(cè)系統(tǒng)的性能。與 LoadRunner不同的是, JMeter工具通過(guò)線程組創(chuàng)建虛擬用戶(hù),一個(gè)線程組可以設(shè)置多個(gè)線程,每個(gè)線程就是一個(gè)虛擬用戶(hù),這些線程相互獨(dú)立,互不影響。虛擬用戶(hù)向服務(wù)器發(fā)送一個(gè)請(qǐng)求,JMeter稱(chēng)之為一次采樣,這個(gè)操作有采樣器來(lái)完成。

JMet工具主要由以下幾個(gè)核心組件構(gòu)成。

(1)邏輯控制器( Logic Controller):邏輯控制器確定采樣器的執(zhí)行順序。

(2)配置元件( Config Element):配置元件可用于設(shè)置默認(rèn)屬性和變量等數(shù)據(jù),供采樣器獲取所需要的各種配置信息。

(3)前置處理器( Per processors):在實(shí)際的請(qǐng)求發(fā)出的請(qǐng)求進(jìn)行特殊的處理。例如, Http Url重寫(xiě)修飾符可以實(shí)現(xiàn)URL重寫(xiě),當(dāng)發(fā)送的請(qǐng)求中有SessionID信息時(shí),可以通過(guò)該前置處理器填充發(fā)出請(qǐng)求的實(shí)際SessionID。

(4)定時(shí)器( Timer):用于在操作之間設(shè)置等待時(shí)間。

(5)采樣器( Sampler):采樣器是JMer主要執(zhí)行組件,它用于向服務(wù)器發(fā)送一個(gè)請(qǐng)求并記錄響應(yīng)信息,包括成功/失敗、響應(yīng)時(shí)間、數(shù)據(jù)大小等。 JMeter支持多種不同的采樣器可根據(jù)設(shè)置的不同參數(shù)向服務(wù)器發(fā)送不同類(lèi)型的請(qǐng)求(HTTP、FTP、TCP等)

(6)后置處理器( Post processors):后置處理器一般放在采樣器之后,用來(lái)處理服務(wù)器的返回結(jié)果。

(8)監(jiān)聽(tīng)器( Listener):用于監(jiān)聽(tīng)測(cè)試結(jié)果。此外,監(jiān)聽(tīng)器還具備查看、保存和讀取測(cè)試結(jié)果的功能。

使用JMeter進(jìn)行性能測(cè)試時(shí),在線程組中設(shè)置好相關(guān)參數(shù),并通過(guò)配置元件、前置處理器、定時(shí)器、斷言等組件設(shè)置其他的參數(shù)信息,然后使用采樣器發(fā)送請(qǐng)求,通過(guò)后置處理器斷言、監(jiān)聽(tīng)器等組件分析查看測(cè)試結(jié)果。

與 LoadRunner相比, JMeter是一款開(kāi)源免費(fèi)的輕量級(jí)工具,安裝簡(jiǎn)單,并且支持二次開(kāi)發(fā),但是在性能測(cè)試過(guò)程中,JMer的錄制功能、環(huán)境調(diào)試功能與 LoadRunner都存在一定差距,而且JMeter的報(bào)表較少,結(jié)果分析也沒(méi)有LoadRunner詳細(xì)??傊?MEeter和 LoadRunner各有優(yōu)勢(shì)與不足,大家在測(cè)試時(shí)可以根據(jù)自己的需要進(jìn)行選擇。


猜你喜歡:

軟件測(cè)試原則:業(yè)界公認(rèn)的6個(gè)軟件測(cè)試基本原則

測(cè)試與開(kāi)發(fā)的關(guān)系是什么?

常見(jiàn)的軟件缺陷管理工具有哪些?

中級(jí)測(cè)試工程師培訓(xùn)課程

分享到:
在線咨詢(xún) 我要報(bào)名
和我們?cè)诰€交談!