性能測試考慮時間[Thinking Time]的計算方法
今天我們講一下考慮時間的計算方法,以及考慮時間是如何讓測試環境更符合生產環境。
我們還是引用上次那個例子:測試一個論壇系統的兩個業務,A查看帖子、B回復帖子,假設每天會員查看帖子的總數(PV)是回復帖子的2倍,也就是A:B=2:1,因此我們的性能測試也要符合這一比例,如果我們測出的結果是5:1,那么測試結果就沒有意義了。
這里我們要先講一個容易混淆的概念。是不是性能測試中的考慮時間等于用戶實際使用中的“考慮的時間”呢。答案是不。我們不能根據用戶實際的考慮時間來設置性能測試的考慮時間,而要經過計算才能得到正確的考慮時間。
一般我們會先錄制編寫A、B的測試腳本,這時要把腳本中的考慮時間全部刪除,因為錄制時產生的考慮時間不能直接作為正式性能測試的考慮時間。腳本制作好以后我們開始進行計算,(當然也可以先計算再做腳本)。
剛才我們的要求是A:B=2:1,我們還要確定具體的數字,比如我們經過分析發現,論壇系統A業務每小時的(PV)數量大約是10k,B業務是5k,而且對用戶來說,頁面的響應時間最多不能超過5秒。好,這就是我們測試的一個基準。注意,這些數據在計算前就需要確定下來,我們可以從類似的系統中采集數據,也可以根據用戶的數量進行估算,這些工作可以和產品經理討論溝通,達成一致。
確定了這些數據基準以后,我們開始計算。這里先講一個公式:并發數 / (響應時間+考慮時間) = 總業務數 / 總時間先看等式右邊,這在上一篇曾經出現過:總業務數 / 總時間 = 系統吞吐量。
比如A業務每小時是10k,那么系統處理A的吞吐量就是:10k / 3600s = 2.78次/s.也就是說系統每秒鐘會處理2.78次A業務,同理,系統會處理1.39次B業務,注意,系統是在一秒內同時完成了2.78次A業務和1.39次B業務,因此我們測試時不能把A和B分開來測。
再看一下等式的左邊,并發數指的是性能測試時,同時運行某一腳本的個數。我們先來算A業務的,由于用戶對響應時間要求的上限是5秒,我們就確定(響應時間+考慮時間) =5秒,這樣把5秒帶入公式:并發數 = 2.78 × 5 = 13.89因此我們需要按照A腳本14路,B腳本7路這樣的壓力來測試?墒,考慮時間不是還沒有算出來么?
文章來源于領測軟件測試網 http://www.kjueaiud.com/