性能測試過程
13.1 性能測試過程概述
13.2 性能測試設計
需要關註的問題:事務需求、技術需求、系統要求、團隊要求
分析從五個方面分析:需求調研、事務模型、場景模型、數據設計、環境設計
13.2.1 需求調研
① 測試系統預研:系統相關知識、系統目的、技術架構、業務架構、系統相關文檔、負責人
② 與項目經理訪談:當前開發狀態、期望的性能目標、測試起止時間、所處生命周期
③ 與業務專家訪談:關鍵業務、主要用戶場景、用戶交易發生概率、期望響應時間;關鍵業務要考慮業務使用頻率、業務的優先級和業務占用資源的情況(重點關註)
④ 與技術專家訪談:獲取關鍵業務的技術路徑、獲取合適的技術支持工程師;確定關鍵業務是否覆蓋到被測系統的所有業務請求點;確定業務使用到的關鍵數據庫表;技術支持人員配合實施監控配置
⑤ 與數據庫管理員訪談:獲取數據準備和測試數據建模的建議。
⑥ 與客戶代表訪談:獲取用戶在數據建模上的支持、保證業務流程的正確性
13.2.2 業務模型
用於指導如何將具體的業務變成可重復運行的代碼;
主要從三個方面分析:
業務流程列表:創建關鍵業務流程列表,以反映最終用戶在系統上執行的活動;業務流程列表反應每個業務在高峰時期時操作的用戶數
交易列表:確定關鍵業務的負載情況、交易量等信息。日常任務、高峰期任務、Web服務器數據庫服務器負載情況、風險。
百分比模型和交易量評估:百分比模型(被測業務占整個業務交易筆數的百分比);交易量評估:通過歷史數據來估算系統負載能力,通常使用的方法為
13.2.3 場景模型
場景設計:使用的場景設計類型(手動場景、目標場景)、並發用戶數、虛擬用戶加載過程、腳本持續運行時間、虛擬用戶釋放過程、使用的負載機、IP欺騙技術
RTS策略設計:叠代數、叠代時間間隔、日誌收集信息、腳本運行方式(進程或線程)
場景監控:監控對象、服務器、相關計數器
13.2.4 數據設計
性能測試前需要準備的基礎數據(例如查詢100條數據與100萬條數據響應時間不同)
性能測試參數化需要用到的數據:自己構建的數據、歷史數據
13.2.5 環境設計
系統運行的拓撲圖、服務器和測試及環境、環境的備份與恢復
13.3 性能測試構建
腳本開發、場景設計、搭建測試環境、準備數據
13.4 性能測試過程執行
13.5 性能測試分析、診斷、執行、調節
性能測試過程