性能測試基本流程

  本文主要介紹下性能測試的基本流程,性能測試從執行層面來看,測試的過程主要分為以下幾個階段,如下圖:

一、性能測試需求分析

1、獲取有效需求

a) 根據歷史數據分析:應用監控、日誌分析、開放平台

b) 客戶提出:產品、開發、運維、第三方客戶

c) 需求分析與定位

d) 參考歷史項目或其他同行業的項目

2、測試目的

a) 評價系統當前性能,判斷系統是否滿足預期的性能需求

b) 尋找系統可能存在的性能問題,進行系統調優

c) 判定軟件系統的性能表現,預見系統負載承受力和穩定性

3、業務模型

a) 基本業務功能

b) 關鍵業務處理流程:

業務流程、交易路徑、交易數據、交易流程與時序圖

c) 交易列表:

交易的組合關係、交易的執行順序

d) 交易信息量:

單個交易處理量(日、月、年)、總交易量(日、月、年)、各交易的佔比

4、性能指標

QPS/TPS、並發數、響應時間、成功率、點擊率、資源利用率

 

二、性能測試準備

1、環境準備

系統運行環境:指測試的環境,通常是壓測環境

1)確認服務是否部署

2)確認配置文件是否需要修改

3)確認數據庫是否需要同步

4)確認服務啟動是否正常

5)確認是否需要構造數據

6)確認被測接口是否有其他服務依賴

2、測試場景設計:

根據性能需求分析來設計測試場景,場景設計的好壞直接影響性能測試結果;

3、性能測試工具準備

a) 負載工具:根據需求分析和系統特點選擇合適的負載工具,LR、Jmeter等;

b) 監控工具:監控性能測試時的服務器資源、JVM、數據庫、日誌等;

4、測試腳本準備

a) 一個腳本一般為一項業務的過程描述(錄製或編寫)

b) 腳本強化:根據需求插入事務、參數化、檢查點、集合點等

c) 根據選擇的工具不同,而使用不同的腳本;

d) 當性能測試工具不能滿足被測系統的要求或者只能滿足部分要求時,需要我們自己開發腳本配合工具進行性能測試;

 

三、性能測試執行

1、執行測試(jmeter執行或者自動化測試平台中執行):

測試腳本、測試數據檢查、準備和完善;測試環境初始化;開啟數據收集器;開始測試;

2、過程監控:

觀察測試運行情況,監控日誌,確保測試不收干擾;

受到干擾的數據作廢,重啟測試;

3、結果記錄:

結果數據記錄要全面、有效;是結果分析和調優的重要依據;

 

四、結果分析與調優

1、結果分析:

硬件的瓶頸、應用軟件的瓶頸、數據庫的瓶頸、中間件的瓶頸、操作系統的瓶頸、網絡設備的瓶頸;

2、性能調優:

確定問題、確定原因、確定調整目標和解決方案、測試解決方案、分析調優結果

 

五、報告與總結

 

測試完成後,最好做個測試總結,記錄測試過程遇到的問題以及解決過程。性能測試是一個重經驗的過程。