淺談基准測試


之前的博客介紹過關於性能測試類型的內容,在性能測試中有一種測試類型叫做基准測試這篇博客,就聊聊關於基准測試的一些事兒。。。

 

1、定義

通過設計合理的測試方法,選用合適的測試工具和被測系統,實現對某個特定目標場景的某項性能指標進行定量的和可對比的測試。

 

2、特質

①、可重復性:可進行重復性的測試,這樣做有利於比較每次的測試結果,得到性能結果的長期變化趨勢,為系統調優和上線前的容量規划做參考。

PS:這種特質是為了滿足基准測試的日常輪詢需要。

②、可觀測性:通過全方位的監控(包括測試開始到結束,執行機、服務器、數據庫),及時了解和分析測試過程發生了什么。

③、可展示性:相關人員可以直觀明了的了解測試結果(web界面、儀表盤、折線圖樹狀圖等形式)。

④、真實性:測試的結果反映了客戶體驗到的真實的情況(真實准確的業務場景+與生產一致的配置+合理正確的測試方法)。

⑤、可執行性:相關人員可以快速的進行測試驗證修改調優(可定位可分析)。

 

3、前置條件

基准測試一定要在可控的條件下進行。

面對日益復雜的系統和不斷增長的用戶數,以及性能測試可能涉及到的多個業務系統,只有做到基准測試所涉及的業務場景、系統架構、測試環境等在可控狀態下,

才能得到相對准確的結果,為容量規划、缺陷定位、系統調優提供參考和依據。

 

4、意義

①、為容量規划確定系統和應用程序的極限;

②、為配置測試的參數和配置選項提供參考依據;

③、為驗收測試確定系統是否具備自己所宣稱的能力;

④、為性能基線的建立提供長期的數據統計來源以及比較基准;

 

5、前提

①、測試目的:明確測試的目的,測試什么?用什么測試方法、策略?

②、測試環境:被測系統的環境是什么,SIT還是UAT活着PAT?

③、測試限制:要執行測試有哪些限制因素,該如何解決?

④、風險因素:測試可能存在哪些風險,解決方案是什么?

⑤、結果分析:對測試結果如何分析?測試產生的數據如何分析、定位?

 

6、原則

①、測試策略:穩定且連續的工作負載,多次運行,看測試結果數據的正態分布趨勢,盡量取平均值;

②、數據統計:真實環境下測試數據的平均值、峰值各是多少,取值的維度;

③、差異風險:明確存在哪些風險,風險對測試結果的影響,是否忽略;

④、特殊情況:有哪些特殊情況,是否有對應的解決方案(比如支付場景中的支付服務調用,是否采用擋板等);

 

7、需要考慮的因素

交易配比:某些業務場景,一個流程包含多個事務,在模擬並發中,不同的事務各自的占比;

突發性的讀寫操作:某些特殊業務場景,會有短時的大流量沖擊或者請求數量驟減,該如何模擬(浪涌測試);

系統配置:不同環境的系統配置不同,測試結果如何換算、如何對比?

測試時長:測試執行過程中,運行多長時間,不同交易運行的時間分配等;

結果展示類型:平均值、峰值、百分比值如何展示,如何對比?

成功/失敗占比:每次測試過程中,成功和失敗的事務占比統計;

是否可重現:如測試過程中出現報錯或某些異常情況,是否可以重現?

是否可對比:是否有其他測試工具或者測試結果進行對比(盡量多次執行測試,進行測試結果對比:標准方差、正太分布了解一下?)?

 

8、簡單可行的方法

逐漸增加系統負載是一個確定系統所能處理的最大吞吐量的簡單辦法,也是尋找系統性能拐點的可行策略(階梯式加壓測試)。

 

9、重點

基准測試的工作重點是統計分析:可以從以下幾個維度去進行統計:

①、選擇合適的測試工具,設定合理的測試方法以及需要確認的系統性能指標;

②、選擇不同的測試工具,對測試結果進行對比,選擇穩定且能反應系統真是性能表現的結果;

③、多次執行測試,收集大量的測試數據集和指標;

④、從不同維度解讀分析數據,生成報告。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM