1. 程式人生 > >再談性能測試之需求調研

再談性能測試之需求調研

測試 width min 策略 占比 ron 變化 參數類型 uri

之前的博客聊聊性能測試開始前的準備工作,聊了一些關於性能測試開始前要做的準備工作。這篇博客,來談談性能測試開始前的需求調研階段,我們要做什麽,關註那些Point。。。

一、基本信息

信息類型 說明
項目名稱 項目歸屬的業務線,項目名稱
項目類型 新建、叠代、重構。。。
項目背景 因為什麽原因,需要進行性能測試
測試目的 進行性能測試的目的:容量規劃、性能驗證或者其他原因
測試範圍 被測系統業務模塊,屬於什麽業務,有什麽特點
裏程碑 設立此次性能測試的裏程碑,即不同階段的達成以什麽為結束標誌,比如:測試方案、環境準備、測試實施等
影響因素 要實施此次性能測試,有哪些潛在問題,影響因素

二、環境信息

信息類型 說明
系統架構圖/網絡拓撲圖 通過系統架構圖/網絡拓撲圖,可以快速直觀的了解到系統的結構,數據流
部署方式/部署層級 集群、分布式、微服務/web、app、db層
性能測試環境 PAT、UAT、SIT不同環境對測試結果的影響不同
被測系統環境的軟硬件配置 比如服務器是幾核幾G,有多少臺;數據庫是幾核幾G,有多少臺
關鍵參數 線程池、最大連接數、消費者數量、內存分配等
網絡 負載機和被測系統的網段、防火墻策略、帶寬、CDN等
特殊因素 是否存在某些特殊因素,會影響測試結果

三、應用信息

信息類型 說明
業務模型 比如支付類業務、批量審核或提交、庫存業務、查詢業務等
業務場景 什麽時間什麽用戶做什麽操作
協議/接口 HTTP、Socket、Dubbo。。。
連接方式 長連接、短連接
通信策略 同步、異步
變更策略 參數的加解密、拼接、動態變化、依賴關系等

四、性能指標

指標類型 說明
user 包括註冊用戶數、在線用戶數、並發用戶數等
TPS
每秒事務數,包括服務端和數據庫
RT 包括ART、%RT、MaxRT、MinRT
吞吐量 吞吐量在一定程度上可以用來衡量系統的容量
交易量 日/月/某個時間段內的交易量,可更好的衡量系統的容量和存在的壓力
交易成功率 即事務成功率、請求成功率,根據具體需求設定閾值,一般要求99.99%甚至更細的粒度
資源使用率 包括CPU%、Memory%、I/O速率等
可擴展性 隨著並發數的上升,系統的性能表現是否會正比例線性增長

五、測試數據

數據信息 說明
限制條件 用戶操作權限、數據引用次數、數據過期設定(次數、絕對時間)
數據量 實際生產環境的數據量為多少,在性能測試環境如何等量代換
數據類型 基礎數據、測試數據、特殊數據
數據特點 是否可以復用、是否具有唯一性、自增、加密、拼接、轉義等
準備方式 copy真實環境數據、預埋鋪底數據、腳本脫敏生成數據
隔離方案 如何避免測試數據的汙染?分庫分表?環境隔離?標記區分?

六、配置參數

參數類型 說明
測試環境 性能測試環境是否和生產環境保持一致的配置?如不能,如何解決或等量代換?
操作系統 操作系統的版本、超時設置、內存空間等
軟硬件版本 盡可能保證和生產環境一致的版本
中間件 比如JVM的內存分配/GC算法、Tomcat連接數/超時時間、MQ的消費者數量等

七、測試模型

模型~交易量 說明
交易占比 測試交易筆數占總業務量的比例(可忽略占比很少的交易數據)
選取思路 ①、選取交易量最高的時間段;②、每種交易進行單獨的數據統計
異常選擇 ①、如果各時段的交易比例類似,則可按照生產的配比進行轉化;②、如比例差距大,則獨立統計
交易配比 單交易統計後,基於各交易的RT,結合並發用戶數,使總交易數達到交易占比數
ThinkTime 根據各交易類型和具體場景,選擇ThinkTime是統一設定/隨機設定/按實際場景設定

以上即為性能測試需求調研階段,我們要做的事情和關註的Point,僅供參考。。。

再談性能測試之需求調研