在為大家介紹性能測(cè)試工具以前,先讓我們一起回顧一下什么是性能測(cè)試。
1、為什么需要性能測(cè)試?
舉個(gè)例子。下圖是一張交通圖。圖中的車流類似于性能測(cè)試中的數(shù)據(jù),圖中的車道、十字路口就相當(dāng)于數(shù)據(jù)流量的規(guī)則和約束。
正常情況下,車流按照規(guī)則指示行駛,那么,該路段就能維持正常的使用。但往往,總會(huì)有一些小意外出現(xiàn),比如追尾、塞車等導(dǎo)致道路堵塞。為了規(guī)避出現(xiàn)這些問(wèn)題,降低突發(fā)狀況的發(fā)生,因此性能測(cè)試的用處就來(lái)了。
再舉個(gè)2個(gè)例子。如果你想登錄某乎提問(wèn),卻發(fā)現(xiàn),自己輸入用戶名/密碼后提交,結(jié)果等了接近1個(gè)小時(shí)才登上。你會(huì)不會(huì)想打人?
又假設(shè)你登錄銀行APP去支付房貸,并且這是還款最后一天,如果沒(méi)有支付成功,就必須多付10%的超期費(fèi)用。結(jié)果你在APP上操作成功后,過(guò)了2天,你的還款記錄才上傳到銀行,因此你必須多付10%的超期費(fèi)用。此時(shí),你會(huì)不會(huì)想砸手機(jī)?
基于這些奇葩現(xiàn)象存在的可能性,這也就使得我們必須對(duì)軟件產(chǎn)品,進(jìn)行性能測(cè)試。
那么,性能測(cè)試的測(cè)試過(guò)程是什么呢?哪些測(cè)試工具適合做性能測(cè)試呢?別急,下面為大家一一介紹。
2、性能測(cè)試的流程
性能測(cè)試就是通過(guò)自動(dòng)化的測(cè)試工具,模擬多種正常、峰值以及異常負(fù)載條件下可能出現(xiàn)的情況,來(lái)對(duì)系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測(cè)試。性能測(cè)試工程師通過(guò)獲取軟件產(chǎn)品及其基礎(chǔ)結(jié)構(gòu)的相應(yīng)數(shù)據(jù),從而確定產(chǎn)品可以接受的性能參數(shù),維護(hù)產(chǎn)品的正常運(yùn)轉(zhuǎn)。
性能測(cè)試的過(guò)程主要包括3大步驟。分別是建模、仿真和分析。下面我們來(lái)詳細(xì)說(shuō)一說(shuō)具體操作步奏。
一般情況下,工作負(fù)載模型通常是基于服務(wù)級(jí)別協(xié)議和業(yè)務(wù)需求而設(shè)置的。常見(jiàn)的示例,包括事務(wù)數(shù)、并發(fā)用戶數(shù)和響應(yīng)時(shí)間。
“直截了當(dāng)”的模型,通常容易遺漏諸如上圖,道路交通瓶頸所產(chǎn)生的請(qǐng)求等。盡管有人可能會(huì)說(shuō),幾百個(gè)并發(fā)用戶,不太可能同時(shí)按下“提交”。但是如果像雙十一0點(diǎn)清空購(gòu)物車那樣的狀況下呢,真的發(fā)生了又該如何處理呢?
所以,我們就做相應(yīng)的性能測(cè)試。
首先,我們需要在一臺(tái)或幾臺(tái)PC機(jī)上,模擬成百或上千的虛擬用戶,同時(shí)執(zhí)行業(yè)務(wù)的情景,并對(duì)應(yīng)用程序進(jìn)行測(cè)試,同時(shí)記錄下每一事務(wù)處理的時(shí)間、中間件服務(wù)器峰值數(shù)據(jù)、數(shù)據(jù)庫(kù)狀態(tài)等。
然后,通過(guò)可重復(fù)的、真實(shí)的測(cè)試,真實(shí)地度量應(yīng)用程序的可擴(kuò)展性和性能,確定問(wèn)題所在,以及優(yōu)化系統(tǒng)性能的方式方法。
當(dāng)然,通過(guò)這些操作,我們就能預(yù)判系統(tǒng)的承受力,為終端用戶規(guī)劃整個(gè)運(yùn)行環(huán)境的配置,提供有力的依據(jù)。
3、性能測(cè)試工具大盤點(diǎn)
對(duì)于很多測(cè)試團(tuán)隊(duì)來(lái)說(shuō),在進(jìn)行測(cè)試前,通常會(huì)出現(xiàn)一套測(cè)試工具用到底的情況。比如,任何測(cè)試都只用JMeter。這其實(shí)是不對(duì)的。
對(duì)于任何性能測(cè)試來(lái)說(shuō),都需要根據(jù)情況,選擇不同的測(cè)試工具。并且,在測(cè)試前,我們需要清楚的了解這些工具的優(yōu)缺點(diǎn),針對(duì)測(cè)試對(duì)象不同,合理使用工具。不得不說(shuō),有時(shí)候即使選對(duì)了工具,也可能出現(xiàn)無(wú)法順利融入質(zhì)量檢查流程的情況。為什么呢?因?yàn)闇y(cè)試人員的能力、對(duì)工具的熟知度、測(cè)試難度等等,都可能影響性能測(cè)試工具發(fā)揮自己的優(yōu)勢(shì)。
因此,今天給大家簡(jiǎn)單盤點(diǎn)一下3款主流好用的性能測(cè)試工具,以便測(cè)試新手更清楚的了解他們的優(yōu)缺點(diǎn)。
1)杰米特
Apache JMeter 是協(xié)議級(jí)別的負(fù)載測(cè)試工具。它可用于測(cè)試Web應(yīng)用程序中靜態(tài)和動(dòng)態(tài)元素的加載時(shí)間。測(cè)試人員可以模擬服務(wù)器,服務(wù)器組,網(wǎng)絡(luò)或?qū)ο笊系姆敝刎?fù)載,以測(cè)試其優(yōu)勢(shì)。
JMeter的優(yōu)點(diǎn):
-
易于安裝。它可以安裝在裝有Windows、Mac或Linux的任何桌面上;
-
它具有用戶友好的界面,或可以在命令行界面中使用;
-
該測(cè)試IDE允許測(cè)試從瀏覽器或本機(jī)應(yīng)用程序記錄;
-
能夠從流行的響應(yīng)格式(HTML、JSON、XML或任何文本格式)中提取數(shù)據(jù);
-
易于使用的插件。例如,用于數(shù)據(jù)分析的可視化插件。
JMeter 的缺點(diǎn):
-
學(xué)習(xí)曲線很高,因此需要熟練的測(cè)試人員;
-
它不支持JavaScript,并且擴(kuò)展不自動(dòng)支持AJAX請(qǐng)求。
-
使用CSRF令牌之類的動(dòng)態(tài)內(nèi)容,或使用JS更改請(qǐng)求的復(fù)雜應(yīng)用程序,可能很難使用JMeter進(jìn)行測(cè)試;
-
GUI模式下的內(nèi)存消耗很高,這會(huì)導(dǎo)致大量用戶出錯(cuò)。
2)水豚
Capybara廣泛用于Rails、Sinatra、Merb等Rack應(yīng)用程序的端到端、驗(yàn)收和集成測(cè)試。它在無(wú)頭瀏覽器上運(yùn)行測(cè)試。
水豚的優(yōu)點(diǎn):
-
強(qiáng)大的同步功能,無(wú)需添加手動(dòng)等待異步過(guò)程完成的功能;
-
它具有一個(gè)直觀的API,可以模擬應(yīng)用程序上的實(shí)際用戶操作。例如,用戶不會(huì)單擊隱藏的元素/鏈接,因此可以避免它們;
-
不可知論的司機(jī)運(yùn)行測(cè)試(無(wú)需更改代碼),當(dāng)你從一個(gè)驅(qū)動(dòng)程序切換到另一個(gè);
-
內(nèi)置對(duì)Selenium的支持。
水豚的缺點(diǎn):
-
使用多個(gè)驅(qū)動(dòng)程序進(jìn)行測(cè)試時(shí),會(huì)占用大量?jī)?nèi)存;
-
這可能很慢,因?yàn)樗鼤?huì)加載整個(gè)應(yīng)用程序堆棧。或由于調(diào)用了許多控制器,模型或視圖。另外,默認(rèn)情況下它不會(huì)運(yùn)行JS(包括AJAX調(diào)用)。
-
由于模型/控制器,文本或設(shè)計(jì)的微小變化,測(cè)試變得脆弱。
-
難以調(diào)試。例如,在超時(shí)或JS驅(qū)動(dòng)程序錯(cuò)誤的情況下。
3)Selenium WebDriver
Selenium WebDriver是Selenium套件中,最受歡迎的測(cè)試工具。它具有用于測(cè)試現(xiàn)代復(fù)雜Web應(yīng)用程序的面向?qū)ο蟮腁PI。它是由Selenium開發(fā)的,目的是支持動(dòng)態(tài)網(wǎng)頁(yè)(其中頁(yè)面的元素可能會(huì)更改,而無(wú)需重新加載頁(yè)面本身)。
Selenium WebDriver的優(yōu)點(diǎn):
-
能夠跨Firefox、Chrome、IE等網(wǎng)絡(luò)瀏覽器進(jìn)行測(cè)試;
-
這些瀏覽器可以在Windows、Mac或Linux等平臺(tái)上使用;
-
獨(dú)立使用C#,Java,Perl,PHP,Python,JS(Node)和Ruby作為腳本語(yǔ)言;
-
測(cè)試Web應(yīng)用程序上類似用戶的操作;
-
在多臺(tái)計(jì)算機(jī)上并行執(zhí)行可以節(jié)省時(shí)間;
-
可用于更復(fù)雜的測(cè)試,例如生產(chǎn)監(jiān)控和負(fù)載測(cè)試;
-
有大量的文檔和一個(gè)大型的網(wǎng)絡(luò)社區(qū);
Selenium WebDriver 的缺點(diǎn):
-
它需要經(jīng)驗(yàn)豐富的測(cè)試自動(dòng)化工程師;
-
由于元素在使用AJAX的應(yīng)用程序中等待,因此很難進(jìn)行測(cè)試維護(hù);
-
用戶需要學(xué)習(xí)和使用不同的框架來(lái)標(biāo)準(zhǔn)化測(cè)試過(guò)程;
-
如果不遵循正確的實(shí)施方法,將會(huì)減慢測(cè)試速度。
好了,說(shuō)了這么多,趕緊拿出小本本記錄重點(diǎn)吧。今天就聊到這里,我們下期再見(jiàn)~
行動(dòng)吧,在路上總比一直觀望的要好,未來(lái)的你肯定會(huì)感謝現(xiàn)在拼搏的自己!如果想學(xué)習(xí)提升找不到資料,沒(méi)人答疑解惑時(shí),請(qǐng)及時(shí)加入群: 786229024,里面有各種測(cè)試開發(fā)資料和技術(shù)可以一起交流哦。
最后:?下方這份完整的軟件測(cè)試視頻教程已經(jīng)整理上傳完成,需要的朋友們可以自行領(lǐng)取【保證100%免費(fèi)】
軟件測(cè)試面試文檔
我們學(xué)習(xí)必然是為了找到高薪的工作,下面這些面試題是來(lái)自阿里、騰訊、字節(jié)等一線互聯(lián)網(wǎng)大廠最新的面試資料,并且有字節(jié)大佬給出了權(quán)威的解答,刷完這一套面試資料相信大家都能找到滿意的工作。
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-773590.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-773590.html
到了這里,關(guān)于輕松做性能測(cè)試,月入3萬(wàn)的主流測(cè)試工具大揭秘的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!