『软件测试5』测开岗只要求会黑白盒测试?NO!还要学会性能测试!
淺談軟件測(cè)試中的性能測(cè)試
- 一、🤪性能測(cè)試概念
- 1、為什么要有性能測(cè)試?
- 2、性能測(cè)試是什么?
- 3、性能測(cè)試的目的
- 二、🤐性能測(cè)試指標(biāo)
- 1、響應(yīng)時(shí)間
- 2、吞吐量
- 3、并發(fā)用戶數(shù)
- 4、TPS(Transaction Per Second)
- 5、點(diǎn)擊率
- 6、資源利用率
- 三、😶性能測(cè)試種類
- 1、負(fù)載測(cè)試
- 2、壓力測(cè)試
- 3、并發(fā)測(cè)試
- 4、配置測(cè)試
- 5、可靠性測(cè)試
- 6、容量測(cè)試
- 四、😲性能測(cè)試流程
- 1、性能測(cè)試流程
- 2、性能測(cè)試流程分析
- (1)分析性能測(cè)試需求
- (2)制定性能測(cè)試計(jì)劃
- (3)設(shè)計(jì)測(cè)試用例
- (4)編寫性能測(cè)試腳本
- (5)測(cè)試執(zhí)行及監(jiān)控
- (6)運(yùn)行結(jié)果分析
- (7)性能測(cè)試報(bào)告
- 五、🤪結(jié)束語(yǔ)
很多時(shí)候,我們都知道軟件有黑白盒測(cè)試,但往往還遺漏掉了一個(gè)性能測(cè)試。
在下面的這篇文章中,就帶領(lǐng)大家來(lái)了解性能測(cè)試。一起來(lái)學(xué)習(xí)吧~🧐
一、🤪性能測(cè)試概念
1、為什么要有性能測(cè)試?
(1)2007年10月,北京奧組委實(shí)行2008年奧運(yùn)會(huì)門票預(yù)售,一時(shí)間訂票官網(wǎng)訪問(wèn)量激增導(dǎo)致系統(tǒng)癱瘓,最終奧運(yùn)會(huì)門票暫停銷售5天。
(2)2009年11月22日,由于圣誕臨近, eBay 網(wǎng)站的商品交易量比去年同期增長(zhǎng) 33% ,正是由于多出的這33%使得 eBay 網(wǎng)站不堪重負(fù)而崩潰,導(dǎo)致賣家蒙受當(dāng)日銷售額 80% 的損失,可謂損失慘重。
(3)12306訂票網(wǎng)站,自2010年上線以來(lái)就飽受詬病,每年春運(yùn)期間,總會(huì)因?yàn)閾屍备叻宥罎?#xff0c;用戶在買票時(shí)出現(xiàn)無(wú)法登陸的現(xiàn)象。2014年,12306網(wǎng)站甚至出現(xiàn)了安全問(wèn)題,用戶可以輕易獲取陌生人的身份證號(hào)碼、手機(jī)號(hào)碼等信息。
通過(guò)以上例子我們可以清楚的認(rèn)識(shí)到,不管是奧運(yùn)會(huì)的門票預(yù)售系統(tǒng),還是12306的訂票系統(tǒng)崩塌,都是由于軟件系統(tǒng)沒(méi)有經(jīng)過(guò)性能測(cè)試或者性能測(cè)試不充分而引發(fā)的問(wèn)題。因此,作為一名測(cè)試人員,除了要對(duì)軟件的基本功能測(cè)試之外,還需要對(duì)軟件性能進(jìn)行測(cè)試,軟件性能測(cè)試也是非常重要且非常必要的一項(xiàng)測(cè)試。
2、性能測(cè)試是什么?
所謂性能測(cè)試,就是通過(guò)性能測(cè)試工具模擬正常、峰值及異常負(fù)載狀態(tài)下對(duì)系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測(cè)試的活動(dòng)。性能測(cè)試能夠驗(yàn)證軟件系統(tǒng)是否達(dá)到了用戶期望的性能需求,同時(shí)也可以發(fā)現(xiàn)系統(tǒng)中可能存在的性能瓶頸及缺陷,從而優(yōu)化系統(tǒng)的性能。
3、性能測(cè)試的目的
性能測(cè)試的目的主要有以下四點(diǎn):
- 驗(yàn)證系統(tǒng)性能是否滿足預(yù)期的性能需求,包括系統(tǒng)的執(zhí)行效率、穩(wěn)定性、可靠性、安全性等。
- 分析軟件系統(tǒng)在各種負(fù)載水平下的運(yùn)行狀態(tài),提高性能調(diào)整效率。
- 識(shí)別系統(tǒng)缺陷,尋找系統(tǒng)中可能存在的性能問(wèn)題,定位系統(tǒng)瓶頸并解決問(wèn)題。
- 系統(tǒng)調(diào)優(yōu),探測(cè)系統(tǒng)設(shè)計(jì)與資源之間的最佳平衡,改善并優(yōu)化系統(tǒng)的性能。
二、🤐性能測(cè)試指標(biāo)
性能測(cè)試指標(biāo)有以下6個(gè)指標(biāo):
- 響應(yīng)時(shí)間
- 吞吐量
- 并發(fā)用戶數(shù)
- TPS (Transaction per Second)
- 點(diǎn)擊率
- 資源利用率
接下來(lái)將圍繞著這6個(gè)指標(biāo)進(jìn)行一一講解。
1、響應(yīng)時(shí)間
響應(yīng)時(shí)間 (Response Time) 系統(tǒng)對(duì)用戶請(qǐng)求作出響應(yīng)所需要的時(shí)間。
這個(gè)時(shí)間是指用戶從軟件客戶端發(fā)出請(qǐng)求到用戶接收到返回?cái)?shù)據(jù)的整個(gè)過(guò)程所需要的時(shí)間,包括各種中間件(如服務(wù)器、數(shù)據(jù)庫(kù)等)的處理時(shí)間。
如下圖所示:
從上圖中可以看到,從客戶端發(fā)出請(qǐng)求到客戶端接收到返回?cái)?shù)據(jù)的整個(gè)過(guò)程即為系統(tǒng)的響應(yīng)時(shí)間,為 t1+t2+t3+t4+t5+t6 。
一般來(lái)說(shuō),響應(yīng)時(shí)間越短,表明軟件的響應(yīng)速度越快,性能越好。但是響應(yīng)時(shí)間需要與用戶的具體需求相結(jié)合,例如火車訂票查詢功能響應(yīng)時(shí)間一般2s內(nèi)就可以完成,而在網(wǎng)站下載電影時(shí),如果一部電影能夠在幾分鐘內(nèi)完成下載,則說(shuō)明該網(wǎng)站就已經(jīng)很快了,所以需要依據(jù)實(shí)際情況而定。
2、吞吐量
吞吐量 (Throughput) 是指單位時(shí)間內(nèi)系統(tǒng)能夠完成的工作量,它衡量的是軟件系統(tǒng)服務(wù)器的處理能力。
吞吐量的度量單位可以是請(qǐng)求數(shù)/秒、頁(yè)面數(shù)/秒、訪問(wèn)人數(shù)/天、處理業(yè)務(wù)數(shù)/小時(shí)等。
吞吐量是軟件系統(tǒng)衡量自身負(fù)載能力的一個(gè)很重要的指標(biāo),吞吐量越大,系統(tǒng)單位時(shí)間內(nèi)處理的數(shù)據(jù)就越多,系統(tǒng)的負(fù)載能力就越強(qiáng)。
3、并發(fā)用戶數(shù)
并發(fā)用戶數(shù)是指同一時(shí)間請(qǐng)求和訪問(wèn)的用戶數(shù)量。
并發(fā)用戶數(shù)量越大,對(duì)系統(tǒng)的性能影響越大,并發(fā)用戶數(shù)量較大可能會(huì)導(dǎo)致系統(tǒng)響應(yīng)變慢、系統(tǒng)不穩(wěn)定等問(wèn)題。軟件系統(tǒng)在設(shè)計(jì)時(shí)必須要考慮并發(fā)訪問(wèn)的情況,測(cè)試工程師在進(jìn)行性能測(cè)試時(shí)也必須進(jìn)行并發(fā)訪問(wèn)的測(cè)試。
4、TPS(Transaction Per Second)
TPS 是指系統(tǒng)每秒鐘能夠處理的事務(wù)和交易的數(shù)量,它是衡量系統(tǒng)處理能力的重要指標(biāo)。
5、點(diǎn)擊率
點(diǎn)擊率是指用戶每秒向 Web 服務(wù)器提交的 HTTP 請(qǐng)求數(shù),這個(gè)指標(biāo)是 Web 應(yīng)用特有的一個(gè)性能指標(biāo),通過(guò)點(diǎn)擊率可以評(píng)估用戶產(chǎn)生的負(fù)載量,并且可以判斷系統(tǒng)是否穩(wěn)定。點(diǎn)擊率只是一個(gè)參考指標(biāo),幫助衡量 Web 服務(wù)器的性能。
6、資源利用率
資源利用率是指軟件對(duì)系統(tǒng)資源的使用情況,包括CPU利用率、內(nèi)存利用率、磁盤利用率等,資源利用率是分析軟件性能瓶頸的重要參數(shù)。
三、😶性能測(cè)試種類
性能測(cè)試種類主要有以下六種:
- 負(fù)載測(cè)試
- 壓力測(cè)試
- 并發(fā)測(cè)試
- 配置測(cè)試
- 可靠性測(cè)試
- 容量測(cè)試
接下來(lái)將圍繞著以上這六種性能測(cè)試種類進(jìn)行講解。
1、負(fù)載測(cè)試
(1)定義
負(fù)載測(cè)試是指逐步增加系統(tǒng)負(fù)載,測(cè)試系統(tǒng)性能的變化,并最終確定在滿足系統(tǒng)性能指標(biāo)的情況下,系統(tǒng)所能夠承受的最大負(fù)載量。
(2)舉個(gè)例子
負(fù)載測(cè)試類似于舉重運(yùn)動(dòng),通過(guò)不斷給運(yùn)動(dòng)員增加重量,確定運(yùn)動(dòng)員身體狀況保持正常的情況下所能舉起的最大重量。
對(duì)于負(fù)載測(cè)試來(lái)說(shuō),前提是滿足性能指標(biāo)要求,例如一個(gè)軟件系統(tǒng)的響應(yīng)時(shí)間要求不超過(guò) 2s ,則在這個(gè)前提下,不斷增加用戶訪問(wèn)量,當(dāng)訪問(wèn)量超過(guò)1萬(wàn)人時(shí),系統(tǒng)的響應(yīng)時(shí)間就會(huì)變慢,響應(yīng)時(shí)間會(huì)超過(guò) 2s 。因此,可以確定系統(tǒng)響應(yīng)時(shí)間不超過(guò) 2s 的前提下最大負(fù)載量是1萬(wàn)人。
2、壓力測(cè)試
(1)定義
壓力測(cè)試也叫強(qiáng)度測(cè)試,它是指逐步給系統(tǒng)增加壓力,測(cè)試系統(tǒng)的性能變化,使系統(tǒng)某些資源達(dá)到飽和或系統(tǒng)崩潰的邊緣,從而確定系統(tǒng)所能承受的最大壓力。
(2)壓力測(cè)試與負(fù)載測(cè)試的區(qū)別
負(fù)載測(cè)試是在保持性能指標(biāo)要求的前提下系統(tǒng)能夠承受的最大負(fù)載,而壓力測(cè)試則是使系統(tǒng)性能達(dá)到極限的狀態(tài)。
壓力測(cè)試可以揭露那些只有在高負(fù)載條件下才會(huì)出現(xiàn)的 Bug ,如同步問(wèn)題、內(nèi)存泄露等。
(3)峰值測(cè)試
性能測(cè)試中還有一種壓力測(cè)試叫做峰值測(cè)試,它是指瞬間(不是逐步加壓)將系統(tǒng)壓力加載到最大,使測(cè)試軟件系統(tǒng)在極限壓力下的運(yùn)行情況。
3、并發(fā)測(cè)試
(1)定義
并發(fā)測(cè)試是指通過(guò)模擬用戶并發(fā)訪問(wèn),測(cè)試多用戶并發(fā)訪問(wèn)同一個(gè)應(yīng)用、同一個(gè)模塊或者數(shù)據(jù)記錄時(shí)是否存在死鎖或其他性能問(wèn)題。
(2)舉個(gè)例子
并發(fā)測(cè)試一般沒(méi)有標(biāo)準(zhǔn),只是測(cè)試并發(fā)時(shí)會(huì)不會(huì)出現(xiàn)意外情況,幾乎所有的性能測(cè)試都會(huì)涉及到一些并發(fā)測(cè)試,例如多個(gè)用戶同時(shí)訪問(wèn)某一條件數(shù)據(jù),多個(gè)用戶同時(shí)在更新數(shù)據(jù),那么數(shù)據(jù)庫(kù)可能就會(huì)出現(xiàn)訪問(wèn)錯(cuò)誤、寫入錯(cuò)誤等異常情況。
4、配置測(cè)試
(1)定義
配置測(cè)試是指調(diào)整軟件系統(tǒng)的軟硬件環(huán)境,測(cè)試各種環(huán)境對(duì)系統(tǒng)性能的影響,從而找到系統(tǒng)各項(xiàng)資源的最優(yōu)分配原則。
(2)舉個(gè)例子
配置測(cè)試不改變代碼,只改變軟硬件配置,例如安裝版本更高的數(shù)據(jù)庫(kù)、配置性能更好的CPU、內(nèi)存等,通過(guò)更改外部配置來(lái)提高軟件的性能。
5、可靠性測(cè)試
(1)定義
可靠性測(cè)試是指給系統(tǒng)加載一定的業(yè)務(wù)壓力,使其持續(xù)運(yùn)行一段時(shí)間(如 7*24h ),測(cè)試系統(tǒng)在這種條件下是否能夠穩(wěn)定運(yùn)行。
6、容量測(cè)試
(1)定義
容量測(cè)試是指在一定的軟硬件及網(wǎng)絡(luò)環(huán)境下,測(cè)試系統(tǒng)所能支持的最大用戶數(shù)、最大存儲(chǔ)量等。
(2)舉個(gè)例子
容量測(cè)試通常與數(shù)據(jù)庫(kù)、系統(tǒng)資源(如 CPU 、內(nèi)存、磁盤等)有關(guān),用于規(guī)劃將來(lái)需求增長(zhǎng)(如用戶增長(zhǎng)、業(yè)務(wù)量增加等)時(shí),對(duì)數(shù)據(jù)庫(kù)和系統(tǒng)資源的優(yōu)化。
四、😲性能測(cè)試流程
1、性能測(cè)試流程
先用一張圖來(lái)查看性能測(cè)試的整個(gè)流程。如下圖所示:
2、性能測(cè)試流程分析
(1)分析性能測(cè)試需求
在性能測(cè)試需求分析階段,測(cè)試人員需要收集有關(guān)項(xiàng)目的各種資料,并與開發(fā)人員進(jìn)行溝通,對(duì)整個(gè)項(xiàng)目有一定的了解,針對(duì)需要進(jìn)行性能測(cè)試的部分進(jìn)行分析,確定測(cè)試目標(biāo)。
例如客戶要求軟件產(chǎn)品的查詢功能響應(yīng)時(shí)間不超過(guò) 2s ,則需要明確多少用戶量情況下,響應(yīng)時(shí)間不超過(guò) 2s 。對(duì)于剛上線的產(chǎn)品,用戶量不多,但幾年之后可能用戶量會(huì)巨增,那么在性能測(cè)試時(shí)是否要測(cè)試產(chǎn)品的高并發(fā)訪問(wèn),以及高并發(fā)訪問(wèn)下的響應(yīng)時(shí)間。
(2)制定性能測(cè)試計(jì)劃
- 確定測(cè)試環(huán)境: 包括物理環(huán)境、生產(chǎn)環(huán)境、測(cè)試團(tuán)隊(duì)可利用的工具和資源等。
- 確定性能驗(yàn)收標(biāo)準(zhǔn): 確定響應(yīng)時(shí)間、吞吐量和系統(tǒng)資源(CPU、內(nèi)存等)利用總目標(biāo)和限制。
- 設(shè)計(jì)測(cè)試場(chǎng)景: 對(duì)產(chǎn)品業(yè)務(wù)、用戶使用場(chǎng)景進(jìn)行分析,設(shè)計(jì)符合用戶使用習(xí)慣的場(chǎng)景,整理出一個(gè)業(yè)務(wù)場(chǎng)景表,為編寫測(cè)試腳本提供依據(jù)。
- 準(zhǔn)備測(cè)試數(shù)據(jù): 性能測(cè)試是模擬現(xiàn)實(shí)的使用場(chǎng)景,例如模擬用戶高并發(fā),則需要準(zhǔn)備用戶數(shù)量、工作時(shí)間、測(cè)試時(shí)長(zhǎng)等數(shù)據(jù)。
(3)設(shè)計(jì)測(cè)試用例
性能測(cè)試用例是根據(jù)測(cè)試場(chǎng)景為測(cè)試準(zhǔn)備數(shù)據(jù),例如模擬用戶高并發(fā),可以分別設(shè)計(jì) 100個(gè) 用戶并發(fā)數(shù)量、 1000個(gè) 用戶并發(fā)數(shù)量等,此外還要考慮用戶活躍時(shí)間、訪問(wèn)頻率、場(chǎng)景交互等各種情況。測(cè)試人員可以根據(jù)測(cè)試計(jì)劃中的業(yè)務(wù)場(chǎng)景表設(shè)計(jì)出足夠的測(cè)試用例以達(dá)到最大的測(cè)試覆蓋。
(4)編寫性能測(cè)試腳本
- 正確選擇協(xié)議。
- 根據(jù)工具的支持情況和測(cè)試人員熟悉程度選取腳本語(yǔ)言。
- 編寫測(cè)試腳本時(shí),要遵循代碼編寫規(guī)范,保證代碼的質(zhì)量。
- 做好腳本的維護(hù)管理工作。
(5)測(cè)試執(zhí)行及監(jiān)控
1)了解幾個(gè)指標(biāo)
性能指標(biāo): 本次性能測(cè)試要測(cè)試的性能指標(biāo)的變化。
資源占用與釋放情況: CPU 、內(nèi)存、磁盤、網(wǎng)絡(luò)等使用情況。性能測(cè)試停止后,各項(xiàng)資源是否能正常釋放以供后續(xù)業(yè)務(wù)使用。
警告信息: 一般軟件系統(tǒng)在出現(xiàn)問(wèn)題時(shí)會(huì)發(fā)出警告信息,當(dāng)有警告信息時(shí),測(cè)試人員要及時(shí)查看。
日志檢查: 經(jīng)常分析系統(tǒng)日志,包括操作系統(tǒng)、數(shù)據(jù)庫(kù)等日志。
2)結(jié)果影響
性能測(cè)試監(jiān)控對(duì)性能測(cè)試結(jié)果分析、對(duì)軟件的缺陷分析都起著非常重要的作用。
在測(cè)試過(guò)程中,如果遇到與預(yù)期結(jié)果不符合的情況,測(cè)試人員要調(diào)整系統(tǒng)配置或修改程序代碼來(lái)定位問(wèn)題。
由于性能測(cè)試執(zhí)行過(guò)程需要監(jiān)控的數(shù)據(jù)復(fù)雜多變,它要求測(cè)試人員對(duì)監(jiān)控的數(shù)據(jù)指標(biāo)有非常清楚的認(rèn)識(shí),同時(shí)還要求測(cè)試人員對(duì)性能測(cè)試工具非常熟悉。作為性能測(cè)試人員,應(yīng)該不斷努力,深入學(xué)習(xí),不斷積累知識(shí)經(jīng)驗(yàn)才能做的更好。
(6)運(yùn)行結(jié)果分析
性能測(cè)試完成之后,測(cè)試人員需要收集整理測(cè)試數(shù)據(jù)并對(duì)數(shù)據(jù)進(jìn)行分析,將測(cè)試數(shù)據(jù)與客戶要求的性能指標(biāo)進(jìn)行對(duì)比,若不滿足客戶的性能要求,需要進(jìn)行性能調(diào)優(yōu)然后重新測(cè)試,直到產(chǎn)品性能滿足客戶需求。
(7)性能測(cè)試報(bào)告
性能測(cè)試完成之后需要編寫性能測(cè)試報(bào)告,闡述性能測(cè)試的目標(biāo)、性能測(cè)試環(huán)境、性能測(cè)試用例與腳本使用情況、性能測(cè)試結(jié)果及性能測(cè)試過(guò)程中遇到的問(wèn)題和解決辦法等。軟件產(chǎn)品不能只進(jìn)行一次性能測(cè)試,因此性能測(cè)試報(bào)告需要備案保存,作為下次性能測(cè)試的參考。
五、🤪結(jié)束語(yǔ)
對(duì)于測(cè)開人員來(lái)說(shuō),不能只會(huì)黑白盒測(cè)試,還要會(huì)性能測(cè)試。性能測(cè)試對(duì)于軟件來(lái)說(shuō)也是至關(guān)重要的一部分,沒(méi)有經(jīng)過(guò)性能測(cè)試的軟件一般都會(huì)出現(xiàn)bug滿天飛的問(wèn)題。相信通過(guò)上文的了解,大家對(duì)性能測(cè)試有一個(gè)基礎(chǔ)的認(rèn)識(shí)。
性能測(cè)試的內(nèi)容就講到這里啦!如有需要了解軟件測(cè)試相關(guān)的其他內(nèi)容,可到『軟件測(cè)試』欄目進(jìn)行查看學(xué)習(xí)~
同時(shí),有不理解或有誤的地方也歡迎評(píng)論區(qū)留言或私信我交流~
- 關(guān)注公眾號(hào) 星期一研究室 ,不定期分享學(xué)習(xí)干貨,更多有趣的專欄等你解鎖~
- 如果這篇文章對(duì)你有用,記得點(diǎn)個(gè)贊加個(gè)關(guān)注再走哦~
總結(jié)
以上是生活随笔為你收集整理的『软件测试5』测开岗只要求会黑白盒测试?NO!还要学会性能测试!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 模板编译template的背后,究竟发生
- 下一篇: 过去3个多月的1200个小时里,我收获了