Jmeter性能測試系列-ECshop需求分析與定義
針對本次項目性能測試的必要性評估,敏捷開發團隊確定實施該次性能測試活動,並利用開源性能測試工具Jmeter開展,根據被測對象的應用特性,獲取具體的性能測試需求。
一般而言,被測對象的性能需求,會在用戶需求規格說明書中給出,如單位時間內的訪問量需達到多少、業務響應時間不超過多少、業務成功率不低於多少、硬體資源耗用要在一個合理的範圍中,性能指標以量化形式給出。
對於相對規範的產品,產品團隊一般會給出類似下圖的性能測試要求:
上圖給出的性能指標非常明確。性能測試活動實施過程中,測試工程師只需收集商品購買業務的響應時間、訪問成功率、並發數、CPU使用率、內存使用率等相關指標的監測數據,與表7- 2的量化指標比對即可。滿足相關指標,則測試通過,若未滿足,則需要進行問題分析定位,最終進行調優與回歸,直至達到性能測試需求。
有明確性能需求時,測試活動相對來說較為容易開展,但實際工作中,經常會碰到沒有明確性能需求的測試要求。因此,測試工程師須具備根據不同輸入分析,獲取性能需求的能力。以本次項目為例,產品團隊並未指明性能測試需求,那麼測試工程師如何分析提取量化的性能指標呢?
從用戶應用角度考慮,被測對象常用業務性能存在瓶頸的話,很容易引起客戶的反感。以登錄功能為例,輸入用戶名與密碼,點擊登錄按鈕到顯示成功登錄信息,如果耗時1分鐘,這樣的速度用戶絕對無法忍受。用戶不常用的功能,比如年度報表匯總功能,三個季度甚至是一年才使用,等個10分鐘或者更長時間也是正常的。不同的應用頻率,決定了用戶的使用感受,也決定了測試的需求。針對本次ECShop電商系統而言,商城用戶經常使用的功能,且存在大量用戶使用的業務為用戶註冊、登錄、隨機瀏覽商品及購買業務等,而其他功能則相對用戶較少,具體的數據如果系統已經運營,則可從系統運營日誌分析。如果尚未上線運營,則需要調研用戶或根據自身經驗進行分析獲取。
根據7.1.3章節「性能測試需求分析」中的表述,分析哪些是用戶常用或交易佔比超過80%的業務、從運營及項目組角度分析,哪些業務相對重要,然後確定這些業務為測試點。
綜合分析,本教程以用戶登錄、隨機瀏覽併購買商品為測試點。確定業務測試點後,即可進行詳細的業務需求分析,從而明確性能測試指標。
推薦閱讀:
※某測試模擬器性能優化-交叉驗證
※Jmeter--google plugin插件監控被測系統資源方法
※Jmeter性能測試系列-場景用例設計
※Jmeter實踐-web壓力測試