需求分析與定義

  針對本次項目性能測試的必要性評估,敏捷開發(fā)團隊確定實施該次性能測試活動,并利用開源性能測試工具Jmeter開展,根據(jù)被測對象的應(yīng)用特性,獲取具體的性能測試需求。

  一般而言,被測對象的性能需求,會在用戶需求規(guī)格說明書中給出,如單位時間內(nèi)的訪問量需達到多少、業(yè)務(wù)響應(yīng)時間不超過多少、業(yè)務(wù)成功率不低于多少、硬件資源耗用要在一個合理的范圍中,性能指標以量化形式給出。

  對于相對規(guī)范的產(chǎn)品,產(chǎn)品團隊一般會給出類似下表的性能測試要求:

  要求:

  性能測試要求

  測試項

  響應(yīng)時間

  業(yè)務(wù)成功率

  并發(fā)數(shù)

  CPU使用率

  內(nèi)存使用率

  隨機購買商品

  <=5秒

  100%

  100

  <=80%

  <=80%

  上表給出的性能指標非常明確。性能測試活動實施過程中,測試工程師只需收集商品購買業(yè)務(wù)的響應(yīng)時間、訪問成功率、并發(fā)數(shù)、CPU使用率、內(nèi)存使用率等相關(guān)指標的監(jiān)測數(shù)據(jù),與上表的量化指標比對即可。滿足相關(guān)指標,則測試通過,若未滿足,則需要進行問題分析定位,最終進行調(diào)優(yōu)與回歸,直至達到性能測試需求。

  有明確性能需求時,測試活動相對來說較為容易開展

  但實際工作中,經(jīng)常會碰到?jīng)]有明確性能需求的測試要求。因此,測試工程師須具備根據(jù)不同輸入分析,獲取性能需求的能力。以本次項目為例,產(chǎn)品團隊并未指明性能測試需求,那么測試工程師如何分析提取量化的性能指標呢?

  從用戶應(yīng)用角度考慮,被測對象常用業(yè)務(wù)性能存在瓶頸的話,很容易引起客戶的反感。以登錄功能為例,輸入用戶名與密碼,點擊登錄按鈕到顯示成功登錄信息,如果耗時1分鐘,這樣的速度用戶絕對無法忍受。用戶不常用的功能。

  比如年度報表匯總功能,三個季度甚至是一年才使用,等個10分鐘或者更長時間也是正常的。不同的應(yīng)用頻率,決定了用戶的使用感受,也決定了測試的需求。

  針對本次ECShop電商系統(tǒng)而言,商城用戶經(jīng)常使用的功能,且存在大量用戶使用的業(yè)務(wù)為用戶注冊、登錄、隨機瀏覽商品及購買業(yè)務(wù)等,而其他功能則相對用戶較少,具體的數(shù)據(jù)如果系統(tǒng)已經(jīng)運營,則可從系統(tǒng)運營日志分析。如果尚未上線運營,則需要調(diào)研用戶或根據(jù)自身經(jīng)驗進行分析獲取。