測試需求分析瀏覽器
可從需求文檔、市場調研去收集性能測試指標緩存
需求文檔服務器
客戶明確需求cookie
一般狀況,客戶有明確的需求,定義一些性能測試指標,例:每秒用戶登陸頁面刷新多少、每秒登陸用戶量多少,用戶在線總量多少,咱們明確性能測試指標。網絡
客戶隱形需求:併發
基於客戶明確指標下,會有一些隱性指標,例:100萬在線用戶的查詢在5秒響應,咱們也許歸入性能測試指標內。性能
用戶模型肯定:測試
1 用戶指標:用戶登陸TPS需達到50、用戶登陸頁面刷新TPS需達到250設計
2 用戶總量:100萬代理
3 用戶模型:系統天天用戶在線量在100萬左右,平均在早晨八、11點期間登陸,其中登陸頁面刷新與登陸比例爲5:1
市場調研
客戶無明確需求
特殊狀況下,客戶只會提供一些基礎數據,例2000個機構下,500萬的用戶總量,咱們須要根據這些基礎數據提煉出咱們的性能指標
市場調研需求
例:對其中1個機構1個月的用戶登陸數進行數據採集(天天早晨8-9點是登陸高峯期,天天大約是1小時內登陸100人次,平均到每秒100÷3600約爲0.027次/秒),而後在推算2000個機構下,用戶每秒登陸0.027*2000約50次,在根據後臺日誌推算出,登陸與登陸頁面刷新比例爲1:5,登陸頁面刷新TPS爲2500
用戶模型肯定:
肯定性能指標後,能夠建立用戶模型
1 用戶指標:用戶登陸TPS需達到50、用戶登陸頁面刷新TPS需達到250
2 用戶總量:根據用戶指標推算出用戶總量,或者由相關係統推算出用戶總量
3 用戶模型:系統天天用戶在線量在100萬左右,平均在早晨八、11 點期間登陸,其中登陸頁面刷新與登陸比例爲5:1
測試對象分析
可從測試對象分析、測試模型分析、測試指標分析、模塊耦合性分析考慮
測試對象分析:
從業務流程、後臺系統模塊分析,而後明確測試對象
按照業務流程拆解:
根據業務提煉出用戶基礎流程:登陸頁面刷新、登陸
1 登陸頁面刷新:手機連上wifi,瀏覽器任意訪問一地址,請示會被接入層的設備重定向到後臺,後臺通過邏輯計算,推送給客戶一個登陸頁面
2 登陸:用戶輸入用戶名、密碼,而後點擊登陸,後臺系統進行登陸,返回成功或者失敗
按照後臺系統模塊拆解:
1 登陸頁面刷新模塊:用戶的HTTP請求通過系統層面的中間件處理分發到後臺系統,而後被推送模塊接收,再進行計算,推送出相應的登陸頁面,這裏的計算可能跟用戶類型以及所在機構有關係。
2 用戶登陸模塊:用戶輸入用戶名、密碼請求一樣經系統層面中間件處理分發到後臺系統,而後登陸模塊接收,再進行用戶名密碼的校驗,最後返回結果。
3 最後提煉出關鍵系統模塊:HTTP 中間件、推送模塊、登陸模塊,最後這些系統模塊會在性能瓶頸定位中起到方向做用
明確測試對象:
根據業務流程分析與後臺系統模塊分析,明確測試對象的業務、系統模塊、指標
1 業務:用戶鏈接wifi,瀏覽器訪問網頁,被重定向到用戶登陸頁面,而後輸入用戶名密碼時行登陸的一種場景
2 模塊:整個流程包括http請求、中間件、推送模塊、登陸模塊
3 指標:登陸頁面刷新:TPS250、登陸動做:TPS50、在線總量:100萬
測試模型分析:
用戶模型場景分析
根據用戶模型設計出典型應用場景與可靠性應用場景
典型應用測試主要從常規測試指標、測試環境去分析,例:
1 常規測試指標是登陸頁面刷新250TPS / 登陸50TPS 、用戶量100萬
2 常規測試環境是網絡是無限流、無延遲、測試硬件的CPU、內存、磁盤的正常狀況設計場景
可靠性應用場景主要從很是規測試指標、測試環境去分析,例:
1 很是規測試指標是高於指標的20%的情景下驗證
2 很是規測試環境是網絡存在限流、延遲狀況很大、測試硬件的CPU、內存、磁盤受限的異常狀況下設計場景
用戶模型場景設計
根據用戶模型分析設計出用戶模型場景,例:
1 用戶典型應用場景:
在10MB/秒限流與20ms延遲網絡網絡狀況,對CPU16核、內存32G、磁盤10K轉/秒的服務器進行TPS250的登陸頁面刷新動做,以及TPS50用戶登陸動做,持續時間約5.5小時,最終上線用戶量達100萬左右
2 用戶可靠性應用場景:
在1MB/秒限流與100ms延遲網絡狀況,對CPU4核、內存16G、磁盤7200轉/秒的服務器進行TPS300的登陸頁面刷新動做,以及TPS60用戶登陸動做,持續時間5.5小時,最終上線用戶量達100萬左右
測試指標分析:
提煉出關鍵指標
根據用戶模型提煉出用戶關鍵指標-TPS250、TP50 、100萬
模塊耦合性分析:
根據後臺系統模塊分析出可能會涉及到的模塊耦合性
1 HTTP請求中的cookie貫穿整個業務交互過程,在測試腳本中應該緩存cookies,保證業務正常,同時後臺考慮cookies的存取方式,保證大併發下cookies不會出現丟失或者寫滿的狀況
2 中間件反向代理將不一樣請求分發到內部模塊:推送模塊、登陸模塊、其餘模塊、考慮中間件自己會不會存在瓶頸,對業務影響
測試重點分析
可從測試執行策略、測試監控策略、測試風險與輸出方向去考慮