再談性能測試之需求調研

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

 

1、基本信息web

信息類型 說明
項目名稱 項目歸屬的業務線,項目名稱
項目類型 新建、迭代、重構。。。
項目背景 由於什麼緣由,須要進行性能測試
測試目的 進行性能測試的目的:容量規劃、性能驗證或者其餘緣由
測試範圍 被測系統業務模塊,屬於什麼業務,有什麼特色
里程碑 設立這次性能測試的里程碑,即不一樣階段的達成以什麼爲結束標誌,好比:測試方案、環境準備、測試實施等
影響因素 要實施這次性能測試,有哪些潛在問題,影響因素

 

2、環境信息算法

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

 

3、應用信息數據庫

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

 

4、性能指標服務器

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

 

5、測試數據網絡

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

 

6、配置參數架構

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

 

7、測試模型併發

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

 

以上即爲性能測試需求調研階段,咱們要作的事情和關注的Point,僅供參考。。。app

相關文章
相關標籤/搜索