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