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

再談效能測試之需求調研

之前的部落格聊聊效能測試開始前的準備工作,聊了一些關於效能測試開始前要做的準備工作。這篇部落格,來談談效能測試開始前的需求調研階段,我們要做什麼,關注那些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,僅供參考。。。