性能需求分析
性能需求分析
需求分析是個繁雜過程,它并非我們想象的那么簡單,而性能測試需求除了要對系統(tǒng)的業(yè)務(wù)非常了解,還需要有深厚性能測試知識。才能夠挖掘分析出真正的性能需求。
1、如何獲得有效的需求
1.1、客戶方提出
客戶方能提出明確的性能需求,說明對方很重視性能測試,這樣的企業(yè)一般是金融、電信、銀行、醫(yī)療器械等;他們一般對系統(tǒng)的性能要求非常高,對性能也非常了解。提出需求也比較明確。
曾經(jīng)有一個銀行項目,已經(jīng)到最后的性能測試極端,因為數(shù)據(jù)庫設(shè)計不合理,導(dǎo)致性能出現(xiàn)很大的問題,最終不得不把整合項目作廢,對于這樣的項目,其實從分析設(shè)計階段就應(yīng)該考慮系統(tǒng)的性能問題。性能測試也一樣,對于某些項目來說越早進(jìn)行越好。當(dāng)然,前期的性能測試為單元性能測試、接口性能測試,有別系統(tǒng)性能測試。
2、根據(jù)歷史數(shù)據(jù)分析
對于一些面向用戶的獨特產(chǎn)品,比較難定位市場的大小,可以先上一運營一段時間,通過運營可以搜集客戶資料,比如,每月、每星期、每天的峰值業(yè)務(wù)量是多少。用戶以什么樣的速度在遞增中。用戶對系統(tǒng)的哪些功能模塊使用的最多,他們所點的比例等等。收集到這些數(shù)據(jù)之后,我們就可評估系統(tǒng)的系統(tǒng)需求指標(biāo),從而進(jìn)行性能測試。
3、需求分析與定位
這里根據(jù)前期的需求分析與定位,來分析確定系統(tǒng)性能指標(biāo)。例如某省幼兒園管理系統(tǒng)。統(tǒng)計全省有多少家幼兒園,系統(tǒng)的使用時間為幼兒到校之后,管理人員對幼兒的到校情況進(jìn)行錄入,以及幼兒的午飯,放學(xué)情況的錄入時間。經(jīng)過與需求人員交流分析也能得到比較明確的性能指標(biāo)。
4、參考?xì)v史項目或其它同行業(yè)的項目
如果公司之前有類似的項目經(jīng)驗,根據(jù)項目大小及上次性能測試的一些指標(biāo)。從根據(jù)項目的規(guī)模可以制定出相應(yīng)的性能指標(biāo)。
即使本公司沒有類似的項目,但其它公司有類似的項目,例如做IPTV或者DVB計費系統(tǒng)的測試,可以參考電信計費系統(tǒng)的需求——雖然不能完全照搬數(shù)據(jù),但是可以通過其他行業(yè)成熟的需求來了解需要測試的項目有哪些,應(yīng)該考慮到的情況有哪些種。
5、參考其它資料數(shù)據(jù)
如果你做的是非常獨特的產(chǎn)品,市場上沒有此類型的產(chǎn)品,而且需求及市場也難以估計,那么只能從與產(chǎn)品相關(guān)的資料中尋找痕跡了。不過,相信這樣不確定性的產(chǎn)品,老板要承擔(dān)的風(fēng)險也是挺大的。
需要說明的是,我上面介紹的方面并非是獨立的,可以綜合的使用,你可以根據(jù)客戶提出的指標(biāo),再根據(jù)歷史數(shù)據(jù)以及參考同類型項目來進(jìn)行。這樣可以更確定你的性能指標(biāo)是客戶(或自己)真正需要的、最符合項目需求的。
2、性能測試點的選取
* 發(fā)生頻率非常高的(例如:某核心業(yè)務(wù)系統(tǒng)中的登錄、收發(fā)等業(yè)務(wù),它們在每天的業(yè)務(wù)總量中占到90%以上)
* 關(guān)鍵程度非常高的(產(chǎn)品經(jīng)理認(rèn)為絕對不能出現(xiàn)問題的,如登錄,掃碼,支付等)
* 資源占用非常嚴(yán)重的(導(dǎo)致磁盤I/O非常大的,例如某個業(yè)務(wù)進(jìn)行結(jié)果提交時需要向數(shù)十個表存取數(shù)據(jù),或者一個查詢提交請求時會檢索出大量的數(shù)據(jù)記錄)
3、常見性能需求
1、接口的響應(yīng)速度達(dá)到300ms以下。
2、系統(tǒng)服務(wù)支持50萬個在線用戶
3、接口成功率達(dá)到99.5%以上。
4、在100個并發(fā)用戶的高峰期,系統(tǒng)的基本功能,處理能力至少達(dá)到10TPS
5、這個系統(tǒng)能否支撐200萬的vu(每天登錄系統(tǒng)的人次) ? ? ? ? ?vu----Virtual user(虛擬用戶)
"不成文"的性能需求指標(biāo):
80/20原則:又稱帕累托效應(yīng),比如,某一些系統(tǒng)一天中80%的訪問量集中在20%的時間內(nèi)。
4、下面來分析某移動支付的需求:
按照2018年日交易筆數(shù)的目標(biāo)為1000萬筆:
如何得到每秒的交易筆數(shù)?
一: 嚴(yán)格的根據(jù)2/8原則 ?,80%的訂單集中在20%的時間生成。
集中訂單交易數(shù): ?10000000*80%=8000000筆
集中發(fā)送的時間:24*20%=4.8小時=17280秒
每秒生成的訂單數(shù):8000000/17280=462.9筆/秒
二:另外的200W交易筆數(shù)請求分布在另外的23個小時內(nèi),因為考慮到半夜之后基本沒什么請求量,假設(shè)另外的200W次請求分布在10:00-24:00,那么我們另外一個指標(biāo)是 2000000/14/3600 = 39.68 (穩(wěn)定支持這樣的TPS)
5、性能測試場景設(shè)計
峰值場景設(shè)計: 設(shè)計符合業(yè)務(wù)場景的高壓力場景,比如大量并發(fā)集中在半小時-1小時內(nèi)
穩(wěn)定場景設(shè)計: 8-10小時的長時間穩(wěn)定壓力場景
性能瓶頸壓測場景: 逐步增加壓力,尋找業(yè)務(wù)請求瓶頸(適用于沒有業(yè)務(wù)指標(biāo),技術(shù)優(yōu)化類)
秒殺類超大并發(fā)場景設(shè)計: 測試秒殺場景
6、性能測試通過標(biāo)準(zhǔn)
達(dá)到目標(biāo)預(yù)期
回復(fù)
發(fā)現(xiàn)幫助中心更新日志數(shù)據(jù)安全關(guān)于我們服務(wù)協(xié)議反饋English
總結(jié)