性能測試類型,或者說性能測試方法棺禾,業(yè)內(nèi)暫無明確的行業(yè)通用分類。這里筆者根據(jù)業(yè)內(nèi)資料整理出最常用的,也是最基本的幾種測試類型和方法
1基準(zhǔn)測試
基準(zhǔn)測試包含兩層意思:
① 目的是提供比較基點(diǎn)秕岛。通過分析,選取某種業(yè)務(wù)場景或者系統(tǒng)狀態(tài)設(shè)置作為基準(zhǔn)場景,然后得出相關(guān)性能指標(biāo)继薛,作為基準(zhǔn)性能指標(biāo)修壕。
② 比較新的或未知測試對象與已知參照標(biāo)準(zhǔn)(即比較基點(diǎn))的性能。通過對新對象進(jìn)行性能測試(場景要求和基準(zhǔn)點(diǎn)相同)遏考,比對基準(zhǔn)點(diǎn)和新情況下的測試結(jié)果慈鸠,從而分析新系統(tǒng)的性能表現(xiàn),以及更改后對系統(tǒng)的影響
基準(zhǔn)測試貫穿性能測試的各個(gè)環(huán)節(jié)灌具,應(yīng)用場景也較為廣泛青团。
舉例:當(dāng)軟件系統(tǒng)中增加一個(gè)新的模塊的時(shí)候,需要做基準(zhǔn)測試稽亏,以判斷新模塊對整個(gè)軟件系統(tǒng)的性能影響壶冒。按照基準(zhǔn)測試的方法,需要打開/關(guān)閉新模塊至少各做一次測試截歉。關(guān)閉模塊之前的系統(tǒng)各個(gè)性能指標(biāo)記下來作為基準(zhǔn)(Benchmark)胖腾,然后與打開模塊狀態(tài)下的系統(tǒng)性能指標(biāo)作比較,以判斷模塊對系統(tǒng)性能的影響
2負(fù)載測試
在一定軟硬件環(huán)境下瘪松,通過不斷加大負(fù)載咸作,觀察系統(tǒng)的性能指標(biāo)。主要作用有兩個(gè):
確定滿足性能指標(biāo)情況下能夠承受的最大用戶數(shù)宵睦。這樣可以幫我們對系統(tǒng)進(jìn)行定容定量记罚,找出系統(tǒng)性能拐點(diǎn)
確定系統(tǒng)在預(yù)期負(fù)載下的性能表現(xiàn)能否滿足用戶的需求,從而進(jìn)行性能調(diào)優(yōu)
負(fù)載測試是用戶觀點(diǎn)的測試行為壳嚎,預(yù)期結(jié)果是用戶的性能需求得到滿足桐智。此指標(biāo)一般體現(xiàn)為響應(yīng)時(shí)間、交易容量烟馅、并發(fā)容量说庭、資源使用率等。
3壓力測試
壓力測試也叫強(qiáng)度測試郑趁。關(guān)鍵字就是“極端”刊驴。通過對系統(tǒng)的極端加壓,從而觀察系統(tǒng)所表現(xiàn)出來性能問題寡润,再對此性能問題進(jìn)行分析捆憎,從而達(dá)到系統(tǒng)優(yōu)化的目的。
所以壓力測試就是一定要讓系統(tǒng)出問題梭纹,如果系統(tǒng)沒有出問題躲惰,那么壓力測試的手段和方法就肯定存在問題
在壓力測試下。也會(huì)得到系統(tǒng)的一些極限性能指標(biāo)变抽,包括:TPS礁扮,ART知举,CPU Using,Mem Using等
4穩(wěn)定性測試
在一定軟硬件環(huán)境下太伊,長時(shí)間運(yùn)行一定負(fù)載雇锡,確定系統(tǒng)在滿足性能指標(biāo)的前提下是否運(yùn)行穩(wěn)定。
與壓力測試區(qū)別在于穩(wěn)定性測試下僚焦,負(fù)載并不強(qiáng)調(diào)在極限狀態(tài)下锰提。業(yè)內(nèi)通用標(biāo)準(zhǔn):一般會(huì)在滿足性能要求的負(fù)載情況下加大1.5到2倍的負(fù)載進(jìn)行測試
5并發(fā)測試
通過多個(gè)用戶同時(shí)訪問同一個(gè)應(yīng)用或者同一個(gè)模塊來驗(yàn)證系統(tǒng)的并發(fā)能力,觀察系統(tǒng)在該并發(fā)量的情況下所表現(xiàn)出來的行為特征芳悲,確定系統(tǒng)是否滿足設(shè)計(jì)的并發(fā)需要立肘。并發(fā)測試是系統(tǒng)觀點(diǎn)的測試行為
可以驗(yàn)證系統(tǒng)的一些常見設(shè)計(jì)和編碼上的性能問題,如:死鎖名扛、數(shù)據(jù)堆積谅年、連接數(shù)不足、假死肮韧、內(nèi)存泄漏融蹂、資源惡心競爭等問題
6其他類型
1)配置測試:為了合理調(diào)配資源,提高系統(tǒng)運(yùn)行效率弄企,通過測試手段來獲取超燃、驗(yàn)證、調(diào)整配置信息的過程拘领。通過這個(gè)過程意乓,我們可以收集到不同配置反映出來的不同性能,從而為設(shè)備選擇约素、設(shè)備應(yīng)用配置提供參考
2)可恢復(fù)測試:測試系統(tǒng)能否快速地從錯(cuò)誤狀態(tài)中恢復(fù)到正常狀態(tài)届良。比如,在一個(gè)配有負(fù)載均衡的系統(tǒng)中圣猎,主機(jī)承受了壓力無法正常工作后伙窃,備份機(jī)是否能夠快速地接管負(fù)載⊙幔可恢復(fù)測試通常結(jié)合壓力測試一起來做
3)容量測試:即判斷系統(tǒng)能否在某個(gè)設(shè)定容量下,滿足對應(yīng)性能指標(biāo)的測試晦闰。也指當(dāng)前系統(tǒng)極限狀態(tài)下(沒有出現(xiàn)任何軟件故障且主要功能保持正常運(yùn)行)放祟,得到系統(tǒng)的容量。軟件容量的測試能讓軟件開發(fā)商或用戶了解該軟件系統(tǒng)的承載能力或提供服務(wù)的能力呻右,舉例:某個(gè)電子商務(wù)網(wǎng)站所能承受的跪妥、同時(shí)進(jìn)行交易或結(jié)算的在線用戶數(shù)。知道了系統(tǒng)的實(shí)際容量声滥,如是不能滿足設(shè)計(jì)要求眉撵,就應(yīng)該尋求新的技術(shù)解決方案侦香,以提高系統(tǒng)的容量。有了對軟件負(fù)載的準(zhǔn)確預(yù)測纽疟,可以幫助用戶經(jīng)濟(jì)地規(guī)劃應(yīng)用系統(tǒng)罐韩,優(yōu)化系統(tǒng)的部署