獲取有效的性能需求——《LoadRunner 沒(méi)有告訴你的》之六
本文是《LoadRunner沒(méi)有告訴你的》系列的第六篇,我將繼續(xù)保持“無(wú)廢話”的原則,用盡可能簡(jiǎn)潔、明確的語(yǔ)句來(lái)表述我對(duì)性能測(cè)試的看法和經(jīng)驗(yàn)。在這篇文章中,我們要討論的是如何獲取“有效的”性能需求。
一個(gè)實(shí)際的例子
為了便于大家的理解,我們先來(lái)看一個(gè)性能需求的例子,讓大家有一個(gè)感性的認(rèn)識(shí),本文后面的討論也會(huì)再次提到這個(gè)例子。
這是一個(gè)證券行業(yè)系統(tǒng)中某個(gè)業(yè)務(wù)的“實(shí)際需求”——實(shí)際上是我根據(jù)通過(guò)網(wǎng)絡(luò)搜集到的數(shù)據(jù)杜撰出來(lái)的,不過(guò)看起來(lái)像是真實(shí)的 ^_^
系統(tǒng)總?cè)萘窟_(dá)到日委托6000萬(wàn)筆,成交9000萬(wàn)筆
系統(tǒng)處理速度每秒7300筆,峰值處理能力達(dá)到每秒10000筆
實(shí)際股東帳號(hào)數(shù)3000萬(wàn)
這個(gè)例子中已經(jīng)包括幾個(gè)明確的需求:
最佳并發(fā)用戶(hù)數(shù)需求:每秒7300筆
最大并發(fā)用戶(hù)數(shù)需求:峰值處理能力達(dá)到每秒10000筆
基礎(chǔ)數(shù)據(jù)容量:實(shí)際股東帳號(hào)數(shù)3000萬(wàn)
業(yè)務(wù)數(shù)據(jù)容量:日委托6000萬(wàn)筆,成交9000萬(wàn)筆——可以根據(jù)這個(gè)推算出每周、每月、每年系統(tǒng)容量的增長(zhǎng)模型
什么是“有效的”性能需求?
要想獲得有效的性能需求,就要先了解什么樣的需求是“有效的”。有效的性能需求應(yīng)該符合以下三個(gè)條件。
1. 明確的數(shù)字,而不是模糊的語(yǔ)句。
結(jié)合上面的例子來(lái)看,相信這個(gè)應(yīng)該不難理解。但是有的時(shí)候有了數(shù)字未必就不模糊。例如常見(jiàn)的一種需求是“系統(tǒng)需要支持5000用戶(hù)”,或者“最大在線用戶(hù)數(shù)為8000”。這些有數(shù)字的需求仍然不夠明確,因?yàn)檫€需要考慮區(qū)分系統(tǒng)中不同業(yè)務(wù)模塊的負(fù)載,以及區(qū)分在線用戶(hù)和并發(fā)用戶(hù)的區(qū)別。關(guān)于這方面的內(nèi)容,在下面兩篇文章中的留言?xún)?nèi)容中有精彩的討論:
2. 有憑有據(jù),合理,有實(shí)際意義。
通常來(lái)說(shuō),性能需求要么由客戶(hù)提出,要么由開(kāi)發(fā)方提出。對(duì)于第一種情況,要保證需求是合理的,有現(xiàn)實(shí)意義的,不能由著客戶(hù)使勁往高處說(shuō),要讓客戶(hù)明白性能是有成本的。對(duì)于第二種情況,性能需求不能簡(jiǎn)單的來(lái)源于項(xiàng)目組成員、PM或者測(cè)試工程師的估計(jì)或者猜測(cè),要保證性能需求的提出是有根據(jù)的,所使用的數(shù)據(jù)和計(jì)算公式是有出處的——本文后面的部分會(huì)介紹獲得可用的數(shù)據(jù)和計(jì)算公式的方法。
3. 相關(guān)人員達(dá)成一致。
這一點(diǎn)非常關(guān)鍵。如果相關(guān)人不能對(duì)性能需求達(dá)成一致,可能測(cè)了也白測(cè)——特別是在客戶(hù)沒(méi)有提出明確的性能需求而由開(kāi)發(fā)方提出時(shí)。這里要注意“相關(guān)人員”的識(shí)別,通常項(xiàng)目型的項(xiàng)目的需要與客戶(hù)方的項(xiàng)目經(jīng)理或負(fù)責(zé)人進(jìn)行確認(rèn),產(chǎn)品型的項(xiàng)目需要與直屬領(lǐng)導(dǎo)或者市場(chǎng)部進(jìn)行確認(rèn)。如果實(shí)在不知道該找誰(shuí)確認(rèn),那就把這個(gè)責(zé)任交給你的直屬領(lǐng)導(dǎo);如果你就是領(lǐng)導(dǎo)了,那這領(lǐng)導(dǎo)也白當(dāng)了 ^_^
如何獲得有效的性能需求
上面提到了“有效的”性能需求的一個(gè)例子和三個(gè)條件,下面來(lái)我們將看到有哪些途徑可以幫助我們獲得相關(guān)的數(shù)據(jù)——這些方法我在實(shí)際的工作中都用過(guò),并且已經(jīng)被證實(shí)是可行的。這幾種方法由易到難排列如下:
1. 客戶(hù)方提出
這是最理想的一種方式,通常電信、金融、保險(xiǎn)、證券以及一些其他運(yùn)營(yíng)商級(jí)系統(tǒng)的客戶(hù)——特別是國(guó)外的客戶(hù)都會(huì)提出比較明確的性能需求。
2. 根據(jù)歷史數(shù)據(jù)來(lái)分析
根據(jù)客戶(hù)以往的業(yè)務(wù)情況來(lái)分析客戶(hù)的業(yè)務(wù)量以及每年、每月、每周、每天的峰值業(yè)務(wù)量。如果客戶(hù)有舊的系統(tǒng),可以根據(jù)已有系統(tǒng)的訪問(wèn)日志,數(shù)據(jù)庫(kù)記錄,業(yè)務(wù)報(bào)表來(lái)分析。要特別注意的是,不同行業(yè)、不同應(yīng)用、不同的業(yè)務(wù)是有各自的特點(diǎn)的。例如,購(gòu)物網(wǎng)站在平時(shí)的負(fù)載主要集中在晚上,但是節(jié)假日時(shí)訪問(wèn)量和交易量會(huì)是平時(shí)的數(shù)倍;而地鐵的售票系統(tǒng)面臨的高峰除了周末,還有周一到周五的一早一晚上下班時(shí)間。
3. 參考?xì)v史項(xiàng)目的數(shù)據(jù)
如果該產(chǎn)品已有其他客戶(hù)使用,并且規(guī)模類(lèi)似的,可以參考其他客戶(hù)的需求。例如在線購(gòu)物網(wǎng)站,或者超市管理系統(tǒng),各行業(yè)的進(jìn)銷(xiāo)存系統(tǒng)。
4. 參考其他同行類(lèi)似項(xiàng)目的數(shù)據(jù)
如果本企業(yè)沒(méi)有做過(guò)類(lèi)似的項(xiàng)目,那么可以參考其他同行企業(yè)的公布出來(lái)的數(shù)據(jù)——通常在企業(yè)公布的新聞或者成功解決方案中會(huì)提到,包括系統(tǒng)容量,系統(tǒng)所能承受的負(fù)載以及系統(tǒng)響應(yīng)能力等。
5. 參考其他類(lèi)似行業(yè)應(yīng)用的數(shù)據(jù)
如果無(wú)法找打其他同行的數(shù)據(jù),也可以參考類(lèi)似的應(yīng)用的需求。例如做IPTV或者DVB計(jì)費(fèi)系統(tǒng)的測(cè)試,可以參考電信計(jì)費(fèi)系統(tǒng)的需求——雖然不能完全照搬數(shù)據(jù),但是可以通過(guò)其他行業(yè)成熟的需求來(lái)了解需要測(cè)試的項(xiàng)目有哪些,應(yīng)該考慮到的情況有哪些種。
6. 參考新聞或其他資料中的數(shù)據(jù)
最后的一招,特別是對(duì)于一些當(dāng)前比較引人關(guān)注的行業(yè),涉及到所謂的“政績(jī)”的行業(yè),通常可以通過(guò)各種新聞媒體找到一些可供參考的數(shù)據(jù),但是需要耐心的尋找。例如我們?cè)贗PTV和DVB系統(tǒng)的測(cè)試中,可以根據(jù)新聞中公布的各省、各市,以及國(guó)外各大運(yùn)營(yíng)商的用戶(hù)發(fā)展情況和用戶(hù)使用習(xí)慣來(lái)估算系統(tǒng)容量和系統(tǒng)各個(gè)模塊的并發(fā)量。
posted on 2012-06-14 10:58 順其自然EVO 閱讀(290) 評(píng)論(0) 編輯 收藏 所屬分類(lèi): loadrunner 、性能測(cè)試