性能測試知多少
本文關(guān)鍵詞:性能需求,由筆耕文化傳播整理發(fā)布。
需求分析是個繁雜過程,它并非我們想象的那么簡單,而性能測試需求除了要對系統(tǒng)的業(yè)務(wù)非常了解,還需要有深厚性能測試知識。才能夠挖掘分析出真正的性能需求。
如何獲得有效的需求
1、客戶方提出
客戶方能提出明確的性能需求,說明對方很重視性能測試,這樣的企業(yè)一般是金融、電信、銀行、醫(yī)療器械等;他們一般對系統(tǒng)的性能要求非常高,對性能也非常了解。提出需求也比較明確。
曾經(jīng)有一個銀行項目,已經(jīng)到最后的性能測試極端,因為數(shù)據(jù)庫設(shè)計不合理,導(dǎo)致性能出現(xiàn)很大的問題,最終不得不把整合項目作廢,對于這樣的項目,其實從分析設(shè)計階段就應(yīng)該考慮系統(tǒng)的性能問題。性能測試也一樣,對于某些項目來說越早進行越好。當(dāng)然,前期的性能測試為單元性能測試、接口性能測試,有別系統(tǒng)性能測試。
有時候也會碰到不懂裝懂的客戶,提出一些無理的需求,比如只能
2、根據(jù)歷史數(shù)據(jù)分析
對于一些面向用戶的獨特產(chǎn)品,,比較難定位市場的大小,可以先上一運營一段時間,通過運營可以搜集客戶資料,比如,每月、每星期、每天的峰值業(yè)務(wù)量是多少。用戶以 什么樣的速度在遞增中。用戶對系統(tǒng)的哪些功能模塊使用的最多,他們所點的比例等等。
收集到這些數(shù)據(jù)之后,我們就可評估系統(tǒng)的系統(tǒng)需求指標(biāo),從而進行性能測試。
3、需求分析與定位
這里根據(jù)前期的需求分析與定位,來分析確定系統(tǒng)性能指標(biāo)。例如某省幼兒園管理系統(tǒng)。統(tǒng)計全省有多少家幼兒園,系統(tǒng)的使用時間為幼兒到校之后,管理人員對幼兒的到校情況進行錄入,以及幼兒的午飯,放學(xué)情況的錄入時間。經(jīng)過與需求人員交流分析也能得到比較明確的性能指標(biāo)。
4、參考歷史項目或其它同行業(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ù)以及參考同類型項目來進行。這樣可以更確定你的性能指標(biāo)是客戶(或自己)真正需要的、最符合項目需求的。
性能測試點的選取
* 發(fā)生頻率非常高的(例如:某郵箱核心業(yè)務(wù)系統(tǒng)中的登錄、收發(fā)郵件等業(yè)務(wù),它們在每天的業(yè)務(wù)總量中占到90%以上)
* 關(guān)鍵程度非常高的(產(chǎn)品經(jīng)理認為絕對不能出現(xiàn)問題的,如登錄等)
* 資源占用非常嚴(yán)重的(導(dǎo)致磁盤I/O非常大的,例如某個業(yè)務(wù)進行結(jié)果提交時需要向數(shù)十個表存取數(shù)據(jù),或者一個查詢提交請求時會檢索出大量的數(shù)據(jù)記錄)
對性能需求點的描述
準(zhǔn)確
如
一致
用戶和性能測試工程師對有關(guān)術(shù)語的理解要一致
特定
性能測試的需求一定是有條件的。
檢查系統(tǒng)后臺關(guān)鍵業(yè)務(wù)數(shù)據(jù)
常見性能需求
1
2
3
4
5
6
"不成文"的性能需求指標(biāo):
響應(yīng)時間:根據(jù)國外的一些資料,一般操作的響應(yīng)時間為,延長響應(yīng)時間。
Peter bickford
第三方研究表明,如果網(wǎng)頁是逐步加載的,先出現(xiàn)橫幅,再出現(xiàn)文字,最后出現(xiàn)圖像。在這樣的條件下,用戶會忍受更長的等待時間,用戶會把延遲在
80/20
如何根據(jù)性能需求進行測試
其實我們上面得到的需求指標(biāo)仍然是不明確的:
是驗證當(dāng)前硬件和軟件配置能否支撐
是測試當(dāng)前的硬件和軟件配置最多能支撐多少vu?
是幫助開發(fā)尋找性能瓶頸?
根據(jù)需求進行性能測試的過程:
首先,請你們當(dāng)前軟件和硬件配置下驗證能否支撐
通過上面流程的分析,那么我們對于需求實施過程就非常明確了。
下面看來分析某郵箱系統(tǒng)的需求:
按照 某某 郵箱
日活躍用戶=20000*1.5%=300萬
日活躍用戶人均每天發(fā)
每天發(fā)郵件投遞量
如何得到每秒的郵件數(shù)?
方式一: 嚴(yán)格的根據(jù)2/8原則 ,80%的郵件集中在20%的時間發(fā)送。
集中發(fā)郵件數(shù): 3600000*80%=28800000封
集中發(fā)送的時間:24*20%=4.8小時=17280秒
每秒發(fā)送郵件數(shù):2880000/17280=166.7封/秒
方式二,根據(jù) 某某郵箱業(yè)務(wù)模型表,每天忙時集中郵件系數(shù)
峰值郵件量
在兩種方式的分析中,方法二得出的結(jié)果是方法一的將近一倍,我們不要根據(jù)經(jīng)驗理所當(dāng)然的去分析,要深入的了解系統(tǒng),我們要對行業(yè)指標(biāo)及計算方式。如果按照第一種方式,性能測試達標(biāo)了,但系統(tǒng)真正上線后可能遠遠超出了我們的評估。2008年北京奧運運門票系統(tǒng)就是一個典型的案例。
再來分析系統(tǒng)的登錄:
去年全年處理“
假設(shè)每年交易量集中在
200萬/8=25萬/月
25萬/20=1.25萬/日
1.25萬*80%/(8*20%*3600)=1.74TPS
----------------------
上面的小案例算是拋出的一塊磚,需求開發(fā)難度要遠遠大于需求管理,在實際工作中常常需要我們?yōu)榭蛻糸_發(fā)這部分性能需求。所以,在追求技術(shù)的基礎(chǔ)上,請更多的了解分析你的項目及行業(yè)指標(biāo)!
2012-8-24 對部分內(nèi)容進行的調(diào)整。
本文關(guān)鍵詞:性能需求,由筆耕文化傳播整理發(fā)布。
本文編號:43164
本文鏈接:http://sikaile.net/wenshubaike/xingzhengshiwu/43164.html