效能測試報告範本(Performance Test Report Template)

適用標準:ISO/IEC/IEEE 29119-3:2021(測試文件)、RFC 2544(Benchmarking)
適用階段:測試驗證階段(Testing Phase)
負責角色:效能測試工程師、QA Lead、SRE


📑 章節目錄

  1. 文件資訊
  2. 測試摘要
  3. 測試環境
  4. 測試場景與配置
  5. 測試結果
  6. 效能瓶頸分析
  7. 與 NFR 目標對照
  8. 建議與改善方案
  9. 結論與決策建議
  10. 附錄

📝 範本


1. 文件資訊

項目內容
文件名稱[系統名稱] 效能測試報告
文件編號[專案代碼]-PTR-[版本號]-[日期]
版本v[X.Y]
測試日期[YYYY-MM-DD] ~ [YYYY-MM-DD]
測試工具[JMeter / k6 / Locust / Gatling]
測試人員[姓名]
審核者[QA Lead / SA]

2. 測試摘要

項目內容
測試類型[負載測試 / 壓力測試 / 耐久測試 / 容量測試]
測試目的[驗證系統在預期負載下的回應時間與吞吐量]
測試範圍[被測試的模組/API/頁面]
測試結果總評[✅ PASS / ⚠️ CONDITIONAL PASS / ❌ FAIL]
關鍵發現[一句話總結]

3. 測試環境

3.1 系統架構

元件規格數量備註
Application Server[CPU/Memory/Instance Type][N]
Database Server[CPU/Memory/Type][N]
Cache[Type/Memory][N]
Load Balancer[Type][N]

3.2 環境差異說明

項目測試環境生產環境比例
App 節點數[N][M]1:[ratio]
DB 規格[spec][spec]1:[ratio]
資料量[N] rows[M] rows (est.)1:[ratio]

⚠️ 注意:測試結果需依環境比例換算評估生產環境表現

3.3 測試資料

項目內容
資料庫記錄數[N] 筆
測試用戶數[N] 帳號
資料產生方式[腳本產生 / 生產遮罩資料 / 混合]

4. 測試場景與配置

4.1 場景清單

場景 ID場景名稱描述權重(%)
SC-001[場景名稱][使用者操作描述][N]%
SC-002[場景名稱][使用者操作描述][N]%

4.2 負載模型

測試類型虛擬用戶Ramp-Up持續時間Think Time
基準測試[N] VU[N] min[N] min[N]s
負載測試[N] VU[N] min[N] min[N]s
壓力測試[N] VU[N] min[N] min[N]s
峰值測試[N] VU (spike)[N] sec[N] min[N]s

4.3 成功標準

指標目標值來源
P95 回應時間< [N]msNFR §3.1
P99 回應時間< [N]msNFR §3.1
吞吐量≥ [N] TPSNFR §3.1
錯誤率< [N]%NFR §3.1
CPU 使用率< [N]% (avg)Capacity planning
Memory 使用率< [N]% (avg)Capacity planning

5. 測試結果

5.1 整體結果摘要

指標基準測試負載測試壓力測試目標結果
Total Requests[N][N][N]
Avg Response Time[N]ms[N]ms[N]ms
P50[N]ms[N]ms[N]ms
P95[N]ms[N]ms[N]ms< [N]ms[✅/❌]
P99[N]ms[N]ms[N]ms< [N]ms[✅/❌]
Max Response Time[N]ms[N]ms[N]ms
TPS (avg)[N][N][N]≥ [N][✅/❌]
Error Rate[N]%[N]%[N]%< [N]%[✅/❌]

5.2 各場景詳細結果

SC-001: [場景名稱]
指標目標結果
Avg Response Time[N]ms
P95 Response Time[N]ms< [N]ms[✅/❌]
TPS[N]
Error Rate[N]%< [N]%[✅/❌]

5.3 資源使用率

資源元件AvgPeak閾值結果
CPUApp Server[N]%[N]%< [N]%[✅/❌]
MemoryApp Server[N]%[N]%< [N]%[✅/❌]
CPUDB Server[N]%[N]%< [N]%[✅/❌]
MemoryDB Server[N]%[N]%< [N]%[✅/❌]
DB ConnectionsPool[N][N]< [N][✅/❌]
Network I/O[元件][N]Mbps[N]Mbps< [N]Mbps[✅/❌]

6. 效能瓶頸分析

6.1 發現的瓶頸

#瓶頸描述影響範圍嚴重度根因證據
1[描述][場景/API][Critical/High/Medium][DB slow query / Memory leak / …][截圖/數據引用]
2[描述][場景/API][Critical/High/Medium][根因][證據]

6.2 效能趨勢分析

負載水位回應時間趨勢TPS 趨勢備註
50% load穩定線性增長正常
75% load略微上升線性增長正常
100% load[穩定/上升][飽和?][觀察]
120% load[急升?][下降?][瓶頸?]

7. 與 NFR 目標對照

NFR 項目目標實際結果差距狀態
[指標1][目標值][實際值][差距][✅ PASS / ❌ FAIL]
[指標2][目標值][實際值][差距][✅ PASS / ❌ FAIL]

8. 建議與改善方案

#問題建議方案預估改善幅度優先級負責人
1[瓶頸描述][改善方案][預估 %][P1/P2/P3][姓名]
2[瓶頸描述][改善方案][預估 %][P1/P2/P3][姓名]

9. 結論與決策建議

項目內容
整體評估[✅ PASS / ⚠️ CONDITIONAL PASS / ❌ FAIL]
上線建議[可上線 / 需修復後重測 / 不建議上線]
條件(如 CONDITIONAL)[需滿足的條件]
下次測試建議[建議測試時機/項目]

10. 附錄

10.1 測試腳本清單

檔案名稱用途版本庫位置
[script.jmx][場景描述][repo path]

10.2 監控截圖 / Grafana Dashboard

[附上關鍵圖表:TPS over time, Response Time percentiles, Resource utilization]

10.3 Raw Data 位置

資料類型位置
JMeter/k6 結果[path/URL]
Server Logs[path]
APM Data[URL]

📖 使用說明

各章節填寫指引

章節填寫時機負責人重點說明
§3 環境測試前效能測試工程師明確標示與生產的差異
§4 場景測試設計時效能測試工程師場景需反映真實使用模式
§5 結果測試完成後效能測試工程師附上原始數據連結
§6 瓶頸結果分析時效能+Dev需找到根因
§8 建議分析完成後SA/效能量化改善預期
§9 結論最後QA Lead明確 Go/No-Go 建議

💡 範例(以 HRMS 人力資源管理系統為例)


範例:測試結果

指標負載測試 (2000 VU)壓力測試 (5000 VU)目標結果
Total Requests1,200,0002,800,000
P95 Response Time185ms420ms< 200ms✅ / ⚠️
P99 Response Time350ms890ms< 500ms✅ / ❌
TPS (avg)6801,250≥ 500
Error Rate0.02%1.5%< 0.1%✅ / ❌

範例:瓶頸發現

#瓶頸嚴重度根因建議
1請假餘額查詢 P99 > 1s(壓力測試)HighDB full table scan on leave_balance (missing index)新增 ix_leave_balance_employee_year composite index
2月初薪資計算 Memory 達 95%Medium一次載入全部員工至記憶體改為 batch processing (500筆/批)
35000 VU 時 Error Rate 1.5%HighDB connection pool exhausted (max=50)提高至 100 + 加入 connection timeout

📌 審閱重點

  • 測試環境與生產環境的差異是否明確標示?
  • 負載模型是否反映真實使用模式(不只是均勻壓力)?
  • 瓶頸分析是否找到根因(非只描述現象)?
  • 改善建議是否有量化的預期效果?
  • Go/No-Go 結論是否明確?