效能測試流程

2022-04-01 22:20:45 字數 3860 閱讀 8327

效能需求調研

當接到乙個效能測試專案時,首先要對被測試系統進行全方位的效能需求調研工作,了解被測系統的架構和組成部分,以及被測系統的效能要求和效能指標,分析業務模型,以便後續制定合理的效能測試策略和設計合理的效能測試場景。

效能測試需求分析

主要目的:找出可能造成系統瓶頸的因素,為後面的測試場景設計提供依據。

影響系統效能的原因有很多:

環境配置效能需求:應用配置需求,系統配置需求

伺服器效能指標要求:預期在上線系統中伺服器資源使用情況、吞吐量、軟體運**況等。

系統設計需求:系統架構、技術實現、介面關係及技術實現、測試資料等

工作負載需求:使用者使用情況需求,細化到系統的功能模組、功能點層面

客戶端效能指標要求:請求響應時間分布、請求的準確率等

一般業務需求分析調研由測試技術人員牽頭,實際業務人員、開發設計人員、運維人員配合完成。對於應用系統的效能測試,測試模型的建立至關重要,效能測試業務模型建立要以實際生產環境系統的業務操作模式為標準依據,只有模型符合實際的生產業務操作,效能測試的結果才能真實有效地反映將來上線的生產系統的實際效能情況。

測試場景的設計對效能測試結果有決定性的影響,場景的設計需要和業務應用的分析結合起來,最好和業務人員配合一起做效能用例設計和分析。

效能指標調研

successful hits: 成功的點選次數

failed hits: 失敗的點選次數

hits per second: 每秒點選次數

successful hits per second: 每秒成功的點選次數

failed hits per second: 每秒失敗的點選次數

attempted connections: 嘗試連線次數

c/s結構程式由於一般軟體系統的後台通常為資料庫,所以更為注重資料庫的效能指標:

user connections: 使用者連線數,即資料庫的連線數量

number of deadlocks: 資料庫死鎖

buffer cache hit: 資料庫cache的命中情況

效能測試策劃階段

制定規範的效能測試流程的目的是為了保證測試效率和質量,使測試工作按照預期的進度和測試策略有條不紊地進行。

效能測試工作流程要根據軟體測試流程的理論和實際工作相結合,可分為:測試方案制定、測試計畫編寫、測試環境準備、測試指令碼開發及測試執行、測試報告和分析、回歸測試等階段。

在效能測試初始階段,首先應對業務模型和系統架構進行調研,收集測試需求。然後制定效能測試計畫。

效能需求調研:客戶能接受的響應時間,每日交易的處理能力,系統資源利用率,系統環境搭建方式、併發使用者數、日交易數量等。

確定業務模型:劃分測試交易等級

確定測試方案:目的是確定此次系統測試的目的,定義乙個效能測試的入口準則,出口準則,並確定測試的交易業務模型、業務指標、測試模型、測試指標,效能測試的測試策略、執行策略、監控分析策略,以及測試內容、測試環境、工具、資料、指令碼的準備、測試風險策略等。

確定測試計畫:目的是為了約束各個活動的起止時間,為效能測試的準備、執行、分析與報告、總結等環節給出合理的時間估算,安排效能測試的進度、人員分工等。

建立測試環境:根據實際上線系統環境的網路拓撲結構搭建模擬測試環境,準備測試資料。

準備測試工具、指令碼及測試資料

各個伺服器引數的調整:對系統各個環境進行系統引數調整、web伺服器引數調整、應用伺服器引數調整、資料庫伺服器引數調整,並對調整好的引數進行備份。

執行測試:

基本測試:例如單使用者執行10分記錄響應時間、tps、點選率

單操作負載測試:例如在一定環境下50個使用者併發30分,並進行資源監控、問題定位和測試結果分析

混合場景測試:幾個典型的操作,進行混合併發測試

穩定性測試:在混合場景選型的業務模型上進行長時間的測試,目的是檢測記憶體洩漏、網路處理能力、負載均衡等問題

異常測試:單節點故障或者網路故障等問題發生時,檢查系統的處理能力、資料的完整性等。

效能測試方案

測試方案的制定可細分為:業務模型調研、系統架構調研、測試需求收集、測試策略設定和測試方案設計。

收集效能需求要關注以下幾點:

效能測試計畫

主要描述乙個效能測試生命週期內各個階段的時間進度、資源安排。效能測試計畫是成功完成效能測試的基礎,用於指導整個效能測試過程的執行:明確測試目的;明確測試範圍、測試物件;明確測試環境需求,包括:測試需要的軟、硬體環境及測試人力資源需求;確定測試方案,測試的方法和步驟;制定測試工作的時間安排;分析測試的風險,尋找規避辦法;確定測試需要輸出的結果和結果表現形式。

即目標、使用者、用例、生產環境、測試環境、測試場景。

效能測試工具選型

效能測試工具的原理通常是:通過錄製、回放指令碼,模擬多使用者同時訪問被測試系統,模擬產生負載壓力,監控並記錄各種效能指標,生成效能分析結果和報告,從而完成效能測試的基本任務。

為確保後續效能測試指令碼設計工作能得以順利進行,應該在效能測試的策劃階段,對效能測試工具進行選型。

效能測試策略

效能測試:泛指所有型別的效能測試,是乙個統稱,此外,還要在特定條件下驗證軟體系統的效能是否達到預期指標的測試。

負載測試:模擬真實使用者行為,通過不斷加壓直到系統效能出現瓶頸或資源達到飽和。用於測量系統的容量,發現系統瓶頸並配合效能調優。

壓力測試:測試系統在一定飽和狀態下系統的處理能力。在負載測試的基礎上,持續不斷加壓到一定階段即是壓力測試。測試系統在壓力環境下的穩定性,關注過載壓力。

可靠性測試:載入一定的業務壓力,同時讓此壓力持續執行一段時間,測試系統是否可穩定執行,關注持續時間。

併發測試:模擬使用者併發訪問同一應用的測試,用於發現併發問題,諸如記憶體洩漏、執行緒鎖、資源爭用、資料庫死鎖等。

配置測試:驗證各種配置對系統效能的影響,用於效能調優和能力規劃。

失效恢復測試:針對有冗餘備份和負載均衡的系統,檢驗系統區域性故障時使用者所受到的影響。

疲勞強度測試:系統穩定執行時,以能夠支援的最大併發使用者數或者日常執行使用者數,持續執行業務操作一段時間,通過綜合分析操作執行指標和資源監控指標,來確定系統處理最大工作強度的效能表現。

大資料量測試:資料的量,包括獨立的資料量測試和綜合資料量測試。

效能測試環境搭建

效能測試環境需要模擬生產環境,反映的是軟體系統的架構。一般web應用系統可分為3層架構:表現層(web伺服器)、業務邏輯層(應用伺服器)、資料層(資料庫伺服器)。

效能測試環境一般包括硬體、網路和軟體:

硬體:伺服器、客戶端、交換機等

網路:有線/無線/寬頻、網路協議等

軟體:資料庫、中介軟體、被測軟體、作業系統等

效能測試的執行過程

主要包括效能測試指令碼的設計與實現、效能測試場景的建立與執行、效能監控與資料收集。

效能測試指令碼的設計主要依賴工具進行,一般的做法是嫌通過工具的錄製功能,將協議的通訊過程錄製成指令碼,再進行修改和完善,例如,新增思考時間、加入事務、插入檢查點燈。

效能場景設計應考慮的因素包括:虛擬使用者、併發使用者、迭代時間、操作物件等。

效能監控包括場景執行和資源監控。

場景執行監控:

檢視和記錄事務運**況,例如成功事務個數、失敗事務個數

檢視和記錄虛擬使用者狀態

檢視和記錄虛擬使用者日誌

檢視和記錄事務響應時間、每秒事務數

檢視和記錄點選率、吞吐量

資源監控:

檢視和記錄系統資源使用情況,一般包括cpu, 記憶體,i/o,網路的資源使用

檢視和記錄web伺服器資源使用情況

檢視和記錄web應用伺服器資源使用情況

檢視和記錄資料庫資源使用情況

效能測試流程

很多人剛剛接觸效能測試的時候,拿到客戶提出的大致需求,如併發使用者數是500,響應時間3秒。然後就開始做指令碼,加壓執行,收集測試結果 等客戶問到 某某流程支援多少併發?各個測試流程比例是否和實際使用者使用情況一致?可擴充套件需求情況如何?然後我們就傻眼了.拿到乙個效能測試任務的時候,我們首先需要明...

效能測試流程

一 需求提測 需求分析 查詢 1 效能指標 tps 現在大於17筆 秒,未來大於100筆 秒。rt小於500ms 2 介面是什麼 3 接 互協議是什麼 http 4 線上資料是多少 5w 5 部署幾台機器 6 系統架構 二 效能方案 1 業務分分析,系統架構,系統設計 2 效能指標 tps 現在大於...

效能測試流程

效能測試思路 資訊 你是有經驗的,你所說的都應該是做過的 效能角度 使用者 快 響應時間 response time 客戶 多 業務處理能力 吞吐量 tps hps pv 開啟頁面數 throughtput 開發商 軟體 演算法 db是否優化 運維 管理員 硬體 資源利用率 調研 1 目的 1 最大...