軟件測試 | 分析確定性能測試指標
如表13-1所示為IT部門對業(yè)務(wù)部門承諾的關(guān)鍵功能(登錄系統(tǒng))的性能指標。如何將寬泛的IT承諾指標轉(zhuǎn)換測試人員可以使用的性能測試指標,這里有一定的技巧。

1.如何確定性能測試的并發(fā)虛擬用戶數(shù)
測試環(huán)境平均并發(fā)數(shù)=(高峰段用戶數(shù)×10%)/n
n是生產(chǎn)環(huán)境和測試環(huán)境服務(wù)器配置折算比,例如n=公倍數(shù)((生產(chǎn)Web服務(wù)器數(shù)/測試Web服務(wù)器數(shù)),(生產(chǎn)APP服務(wù)器/測試APP服務(wù)器數(shù)))×(生產(chǎn)服務(wù)器內(nèi)存/測試服務(wù)器內(nèi)存),一般算下來n=4。請注意n=4僅僅是一個經(jīng)驗值,并不一定適用于測試人員所在的測試組織。
10%的含義是我們假定所有用戶中,只有10%的用戶在同一時刻做同一件事情,例如登錄系統(tǒng)。請注意10%僅僅是一個經(jīng)驗值,并不一定適用于測試人員所在的測試組織。
2.如何確定性能測試的持續(xù)時長
IT部門對業(yè)務(wù)部門承諾的系統(tǒng)可用時間段為:8:00~21:00,那么用戶的登錄操作是否平均分布在8:00~21:00這13個小時以內(nèi)呢?答案當然是否定的。調(diào)研生產(chǎn)用戶習慣后,發(fā)現(xiàn)登錄操作集中發(fā)生在8:50~9:20這半個小時以內(nèi)。因此我們可能將性能測試的持續(xù)時長,確定為半個小時。
3.如何確定性能測試的存量數(shù)據(jù)
準備性能測試的存量數(shù)據(jù)是一件復(fù)雜而具有挑戰(zhàn)性的工作。這項工作并沒有通用的模型可供參考,只能憑借測試人員的經(jīng)驗,它需要測試人員對系統(tǒng)架構(gòu)非常熟悉才行。本例中的存量數(shù)據(jù)就是23000個測試賬號,即數(shù)據(jù)庫用戶表中應(yīng)該有23000條以上的記錄,而測試人員并不需要保證這23000條記錄每一條都能真實完成系統(tǒng)登錄。
4.如何確定測試人員重點觀察的性能指標
從IT部門對業(yè)務(wù)部門承諾的關(guān)鍵功能(登錄系統(tǒng))的性能指標中,我們可以找到兩個具體要求:
(1)平均響應(yīng)時長<4s
(2)可接受最長響應(yīng)時長≤7s.
現(xiàn)在要做的就是將這兩個指標與JMeter監(jiān)聽器的統(tǒng)計口徑關(guān)聯(lián)起來。
(1)平均響應(yīng)時長←→平均響應(yīng)時長(JMeter聚合報告)
(2)可接受最長響應(yīng)時長←→90%閾值(JMeter聚合報告)
除了平均響應(yīng)時長和90%閾值這兩項統(tǒng)計值之外,我們還需要關(guān)注哪幾項統(tǒng)計值呢?答案是吞吐率(每秒完成請求數(shù))和錯誤率。在圖形結(jié)果中吞吐率應(yīng)該是先逐漸攀升最后趨于平穩(wěn)的一條曲線,而錯誤率則應(yīng)該基本為0。
于是我們得出結(jié)論,本例中測試人員應(yīng)該重點關(guān)注4項JMeter監(jiān)聽器的統(tǒng)計指標:
(1)平均響應(yīng)時長(JMeter聚合報告)<4s
(2)90%閾值(JMeter聚合報告)≤7s
(3)吞吐率,應(yīng)該是先逐漸攀升最后趨于平穩(wěn)的一條曲線。
(4)錯誤率,趨近于0,如果不為0,應(yīng)該認真分析。