前言
性能測(cè)試和功能測(cè)試不同,性能測(cè)試的執(zhí)行是基本功能的重復(fù)和并發(fā),需要模擬多用戶(hù),在性能測(cè)試執(zhí)行時(shí)需要監(jiān)控指標(biāo)參數(shù),同時(shí)性能測(cè)試的結(jié)果不是那么顯而易見(jiàn),需要對(duì)數(shù)據(jù)進(jìn)行分析。這些特點(diǎn)決定了性能測(cè)試更適合通過(guò)工具來(lái)完成。
從性能測(cè)試的定義的角度來(lái)分析,性能測(cè)試是指通過(guò)自動(dòng)化的測(cè)試工具模擬多種正常、峰值以及異常負(fù)載條件來(lái)對(duì)系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測(cè)試。
如果不使用工具,僅靠人工進(jìn)行性能測(cè)試會(huì)存在以下的弊端:
測(cè)試需要投入大量的資源:
為了模擬多種負(fù)載、并發(fā)的場(chǎng)景需要多人協(xié)同工作,通常測(cè)試沒(méi)有很多的資源,而且就算有資源人工的效果也會(huì)大打折扣,甚至于某些場(chǎng)景僅憑人工是無(wú)法完成的。
可重復(fù)性非常差:
性能測(cè)試經(jīng)常需要反復(fù)調(diào)優(yōu)和測(cè)試執(zhí)行,如果沒(méi)有工具的幫助,全靠人工實(shí)在不敢想象。
測(cè)試準(zhǔn)確性較差:
由于需要模擬多種負(fù)載和并發(fā)場(chǎng)景,如果由人工來(lái)操作,難免會(huì)存在誤差,而且相對(duì)工具或程序來(lái)說(shuō)這種誤差會(huì)更大,對(duì)測(cè)試結(jié)果影響也非常大。
結(jié)果的收集、整理和呈現(xiàn)形式差:
如果沒(méi)有工具,全憑人工采集數(shù)據(jù)相對(duì)工具來(lái)說(shuō)也會(huì)存在較大的誤差。
性能測(cè)試與性能測(cè)試工具的關(guān)系
1、性能測(cè)試從測(cè)試階段來(lái)劃分屬于系統(tǒng)測(cè)試,其和具體使用什么工具并沒(méi)有直接的關(guān)系。使用工具只是為了提高性能測(cè)試效率和準(zhǔn)確性的一種方法和手段。從本質(zhì)上來(lái)看,同做其它事情時(shí)使用工具沒(méi)有什么實(shí)質(zhì)性的區(qū)別。
2、性能測(cè)試不等于Loadrunner,LR只是性能測(cè)試工具其中的一種,而且它也不是萬(wàn)能的,在某些情況下它也并不能派上用場(chǎng)。
3、自動(dòng)化測(cè)試工具與性能測(cè)試工具的區(qū)別:性能測(cè)試工具一般是基于通信協(xié)議的(客戶(hù)器與服務(wù)器交換信息所遵守的約定),它可以不關(guān)心系統(tǒng)的UI,而自動(dòng)化使用的是對(duì)象識(shí)別技術(shù),關(guān)注UI界面。自動(dòng)化無(wú)法或很難造成負(fù)載,但是通過(guò)協(xié)議很容易。
性能測(cè)試工具選型
通常在公司或項(xiàng)目中,我們選擇任何工具時(shí)都會(huì)做一些調(diào)研,目的就是為了選擇適合公司或項(xiàng)目的工具。那么性能測(cè)試工具也不例外,通??梢詮囊韵聨讉€(gè)方面進(jìn)行考慮:
1、成本方面
工具成本:工具通常分為商業(yè)閉(shou)源(fei)和非商業(yè)開(kāi)(mian)源(fei)兩種,商業(yè)工具通常功能比較強(qiáng)大,收費(fèi),由于收費(fèi)所以可提供售后服務(wù),如果出了問(wèn)題有專(zhuān)業(yè)人士幫忙處理。
而開(kāi)源工具通常是免費(fèi)的,功能有限,維護(hù)工具的組織也是自發(fā)的,所以如果碰到問(wèn)題需要自行解決,沒(méi)有專(zhuān)人提供服務(wù)。具體選擇商業(yè)還是開(kāi)源的工具,需要根據(jù)公司的情況,比如公司規(guī)模、愿意承擔(dān)的成本、項(xiàng)目綜合情況等方面考慮。
一般來(lái)看大公司通??梢猿袚?dān)的起工具的費(fèi)用,會(huì)考慮購(gòu)買(mǎi)商業(yè)工具。而小公司由于資金壓力,可能會(huì)選擇開(kāi)源的工具。
學(xué)習(xí)成本:使用任何工具都需要進(jìn)行學(xué)習(xí),這樣一來(lái)就會(huì)產(chǎn)生學(xué)習(xí)成本(比如:時(shí)間),因此我們?cè)谶x擇工具時(shí)也需要考慮到項(xiàng)目組成員的學(xué)習(xí)成本。
如果有兩種工具A和B都能滿(mǎn)足項(xiàng)目組測(cè)試的需求,如果A工具大部分人都會(huì)使用,而B(niǎo)工具只有極少部分人會(huì)使用,那么建議優(yōu)先考慮A工具。
通常,對(duì)于測(cè)試人員最好熟悉一款流程的商業(yè)(性能)工具,一款開(kāi)源免費(fèi)(性能)工具,還需要熟悉常見(jiàn)的(性能)腳本開(kāi)發(fā)語(yǔ)言等,這是基本要求。
2、支持的協(xié)議
性能測(cè)試通常跟協(xié)議聯(lián)系非常緊密,比如B/S的系統(tǒng)通常使用http協(xié)議進(jìn)行客戶(hù)端和服務(wù)器商的信息交換,C/S的系統(tǒng)通常使用socket協(xié)議進(jìn)行信息交換。在選擇工具時(shí),需要考慮項(xiàng)目使用的協(xié)議。一個(gè)測(cè)試工具能否滿(mǎn)足測(cè)試需求,能否達(dá)到令人滿(mǎn)意的測(cè)試結(jié)果,是選擇測(cè)試工具要考慮的最基本的問(wèn)題。
3、生命力
現(xiàn)在的性能測(cè)試工具非常多,比如LR,jmeter這類(lèi)較大眾的工具網(wǎng)上相關(guān)的資料非常多,但一些小眾工具可能網(wǎng)上資料比較少。
如果在工具使用過(guò)程中碰到了比較極手的問(wèn)題,在錄求解決方案或幫助時(shí),大眾的的工具相對(duì)來(lái)說(shuō)會(huì)比較有優(yōu)勢(shì)一點(diǎn),畢竟使用的人越多,資料越多,那么自己碰到的問(wèn)題也許別人早就碰到并解決了,即時(shí)之前沒(méi)有人碰到過(guò),由于使用研究的人多,通過(guò)社區(qū)或論壇的幫助相信總會(huì)有高手能協(xié)助解決的。
4、跨平臺(tái):
這一點(diǎn)自不必多說(shuō),看看JAVA為什么一直這流行就知道了。
常見(jiàn)性能測(cè)試工具
性能測(cè)試工具,從理論上來(lái)講在性能測(cè)試過(guò)程中使用到的所有工具都可以稱(chēng)其為性能測(cè)試工具,通常分為以下幾類(lèi):
說(shuō)明:
服務(wù)器端性能測(cè)試工具:需要支持產(chǎn)生壓力和負(fù)載,錄制和生成腳本,設(shè)置和部署場(chǎng)景,產(chǎn)生并發(fā)用戶(hù)和向系統(tǒng)施加持續(xù)的壓力。
web前端性能測(cè)試工具:需要關(guān)于心瀏覽器等客戶(hù)端工具對(duì)具體需要展現(xiàn)的頁(yè)面的處理過(guò)程。
移動(dòng)端性能測(cè)試工具:同web端性能測(cè)試工具也需要關(guān)心頁(yè)面的處理過(guò)程,另外還要具體數(shù)據(jù)采集的功能,比如:手機(jī)CPU、內(nèi)存、電量,啟動(dòng)時(shí)間等數(shù)據(jù)的記錄。
資源監(jiān)控工具:這個(gè)主要是能夠收集性能測(cè)試過(guò)程中的數(shù)據(jù)以及良好的結(jié)果展現(xiàn)方式。
常見(jiàn)性能測(cè)試工具特點(diǎn)
JMeter:采用的是多線程模型,擴(kuò)展性很強(qiáng),不過(guò)制造壓力沒(méi)有那么高。它很適合用來(lái)壓一些Tomcat服務(wù),或者一些后端接口。JMeter的缺點(diǎn)是壓力值不能精確控制,難以適應(yīng)高并發(fā)的情況,而且由于是JAVA編寫(xiě)的,本身比較消耗資源。
LoadRunner:更像是一個(gè)模擬器,它比較適用于前端構(gòu)造較復(fù)雜場(chǎng)景的情況,比如模擬100個(gè)用戶(hù)登錄的場(chǎng)景,LoadRunner對(duì)非技術(shù)人員提供了很好的支持。LoadRunner不適用后端接口。
JMeter和LoadRunner對(duì)比表:
描述 | JMeter | LoadRunner |
---|---|---|
架構(gòu)原理 | 通過(guò)中間代理,監(jiān)控和收集并發(fā)客戶(hù)端的指令,把他們生成腳本,再發(fā)送的應(yīng)用服務(wù)器,再監(jiān)控應(yīng)用服務(wù)器反饋的過(guò)程 | 同JMeter |
安裝 | 簡(jiǎn)單,解壓即可,比較靈活 | LoadRunner安裝包比較大,安裝比較麻煩,工具本身相對(duì)比較笨重 |
支持的協(xié)議 | 支持多種協(xié)議:HTTP、HTTPS、SOAP、FTP、Database via JDBC、JMS等,但相對(duì)LR還是不夠全面,由于此原因相對(duì)來(lái)說(shuō)jemter比較靈活,輕便 | 支持的協(xié)議非常多,比較全面,但正因此顯得工具本身比較笨重,不夠靈活 |
腳本錄制 | 提供了一個(gè)利用本地ProxyServer(代理服務(wù)器)來(lái)錄制生成測(cè)試腳本的功能,也支持badboy錄制再生成JMeter腳本 | 自帶錄制功能強(qiáng)大,可直接錄制回放 |
并發(fā)模型 | 通過(guò)增加線程組的數(shù)目,或者是設(shè)置循環(huán)次數(shù)來(lái)增加并發(fā)用戶(hù) | 支持多種并發(fā)模型,通過(guò)在場(chǎng)景中選擇要設(shè)置什么樣的場(chǎng)景,然后選擇虛擬用戶(hù)數(shù) |
分布式測(cè)試 | 支持,可設(shè)置多臺(tái)代理,通過(guò)遠(yuǎn)程控制實(shí)現(xiàn)多臺(tái)機(jī)器并發(fā)壓力 | 同JMeter |
資源監(jiān)控 | 通過(guò)JMeterPlugins插件和ServerAgent實(shí)現(xiàn) | 自帶資源監(jiān)控功能 |
報(bào)告分析 | 通過(guò)與Ant集成,生成HTML報(bào)告 | 自身支持生成HTML、Word報(bào)告 |
虛擬IP | 不支持 | 支持 |
網(wǎng)速模擬 | 不支持 | 支持 |
擴(kuò)展性 | 開(kāi)源,可根據(jù)需求修改源碼 | 通過(guò)擴(kuò)展函數(shù)庫(kù)實(shí)現(xiàn) |
學(xué)習(xí)成本 | 主要是自學(xué)官網(wǎng)上的資料 | 網(wǎng)上資料和相關(guān)培訓(xùn)很多,購(gòu)買(mǎi)正版的話,還有技術(shù)支持 |
下面是我整理的2023年最全的軟件測(cè)試工程師學(xué)習(xí)知識(shí)架構(gòu)體系圖 |
一、Python編程入門(mén)到精通
二、接口自動(dòng)化項(xiàng)目實(shí)戰(zhàn)
三、Web自動(dòng)化項(xiàng)目實(shí)戰(zhàn)
四、App自動(dòng)化項(xiàng)目實(shí)戰(zhàn)
五、一線大廠簡(jiǎn)歷
六、測(cè)試開(kāi)發(fā)DevOps體系
七、常用自動(dòng)化測(cè)試工具
八、JMeter性能測(cè)試
九、總結(jié)(尾部小驚喜)
每一次的努力,都離成功更近一步;每一次的挫折,都是成長(zhǎng)的催化劑。不要怕失敗,勇敢面對(duì)困難,堅(jiān)持不懈追逐夢(mèng)想,只有這樣,你才能成為自己渴望成為的人。相信自己,奮斗不止!
只有努力拼搏,才能收獲輝煌;只有堅(jiān)持奮斗,才能追逐夢(mèng)想;只有勇往直前,才能走向成功的彼岸。不忘初心,砥礪前行,你定能創(chuàng)造屬于自己的輝煌人生!文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-594517.html
只有拼盡全力,才能讓夢(mèng)想綻放光芒;只有堅(jiān)持不懈,才能跨越人生的高峰;唯有永不放棄,才能成就輝煌的未來(lái)。奮斗吧,向著成功的方向,勇往直前!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-594517.html
到了這里,關(guān)于爆肝整理,性能測(cè)試-測(cè)試工具選型(各個(gè)對(duì)比)卷起來(lái)...的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!