Project

General

Profile

CR #201 » TRP-001_測試計畫.md

內容更新:內部稱謂去識別化(2026-10-18) - Redmine Admin, 10/18/2026 05:32 AM

 

TRP-001 測試計畫與準入準出標準(Test Plan)

項目 內容
文件編號 TRP-001
版本 1.0
狀態 已核定
撰寫者 QA Lead
審查者 PMO / SA
對應需求 BRD-001 §7 品質準則;BRD-004 POC 17 項;NFR-QUAL 群組

1. 目的

定義本系統之測試策略、測試層級、測試劇本來源、測試資料策略、缺陷管理流程與準入/準出標準,
作為 Coding 階段之測試總綱,並與 CSP-005(單元測試)及 BRD-004(POC 驗收)連結。


2. 測試層級與責任

層級 負責角色 工具 覆蓋目標
單元測試 Coder / TestBOT JUnit5 + Mockito + JaCoCo + PITest domain/、application/ 邏輯(CSP-005)
整合測試 Coder Testcontainers infrastructure/ 真實接線
契約測試 Coder openapi-diff / Pact 服務對外 API 與 SDD-006 一致
POC 驗收測試 QA / 客戶 自動化 E2E BRD-004 之 17 項情境
效能測試 效能工程 k6 / JMeter 授權 P95 ≤ 500ms、TPS 門檻
安全測試 Security Architect SAST / DAST / 秘密掃描 SAD-005 個資與鑑權

3. 測試劇本來源

  1. 功能測試劇本:由 BRD-002 之 68 項 FR 逐項展開;每項 FR 至少 1 組正向+1 組異常劇本。
  2. POC 驗收情境:BRD-004 之 17 項,為最高優先驗收項,對應客戶自選優先序。
  3. 非功能測試:由 BRD-003 之 874 項 NFR 萃取可測者(效能、可靠、安全、相容…),列為對應測試套件。
flowchart TD
    FR[BRD-002 68 FR] --> TC[功能劇本]
    POC[BRD-004 17 POC] --> TC
    NFR[BRD-003 874 NFR] --> NC[非功能劇本]
    TC --> S[Test Suite]
    NC --> S
    S --> R[TRR 測試報告]
    R --> RTM[GOV-004 追溯矩陣]

4. 測試資料策略

  • 合成資料:卡號使用測試 BIN(如 4000********1234),身分證/手機使用合成值;嚴禁真實客戶個資。
  • 快照隔離:整合測試以 Testcontainers 獨立起庫,互不污染;單元測試不連任何 DB。
  • 冪等驗證資料:每個寫側場景準備「同一 Idempotency-Key 送兩次」的資料,驗證第二次返回首次結果。

5. 缺陷管理流程

stateDiagram-v2
    [*] --> Open: 發現
    Open --> Triage: 分派
    Triage --> InProgress: 接受
    Triage --> Rejected: 重複/非缺陷
    InProgress --> Fixed: 修復完成
    Fixed --> Verifying: 送驗
    Verifying --> Closed: 驗證通過
    Verifying --> Reopened: 復現
    Reopened --> InProgress
    Closed --> [*]
欄位 說明
Defect ID DEF-<YYYYMMDD>-<NNN>
嚴重度 S1(阻斷/資安)/S2(主要功能)/S3(次要)/S4(介面)
狀態 上圖狀態機
關聯 Refs: FR-xx-NN 或 POC-xx 或 NFR-xx-NN
重現步驟 劇本、輸入、預期、實際
  • S1 缺陷:0 容忍,發現即阻斷發版;A 類差異(資金差錯)必須為 0(SoW 門檻)。
  • 缺陷修復須附回歸測試,防止復發;回歸測試納入對應套件常駐。

6. 準入/準出標準

6.1 準入(Entry Criteria,進入 Coding 前)

  • BRD-001~004 已核定
  • SAD-001~006 已核定
  • SDD-000~007 已核定(含 ER/DFD/Sequence/Conflict/狀態機/API/WebUI)
  • CSP-001~005 已核定
  • 全文件 Mermaid 語法 0 錯誤
  • API 契約(contracts/openapi/*.yaml)已產出並通過結構驗證

6.2 準出(Exit Criteria,可交付/上線前)

  • 單元測試行覆蓋 ≥ 80%、分支 ≥ 70%、Mutation 殺死率 ≥ 75%
  • 禁止模式掃描(scaffold / mockdata / faketest)0 命中
  • 68 項 FR 功能劇本全部 Pass
  • 17 項 POC 驗收全部 Pass
  • 效能測試達標:授權端到端 P95 ≤ 500ms、iECS ≥ 1,000 TPS、BASE24-mas > 2,000 TPS
  • 引擎一致率 ≥ 99.99%、差異率 < 0.01%、A 類差異 0、批次金額差異 0
  • 安全掃描無高/嚴重漏洞;個資遮蔽經滲透驗證
  • TRR-001 測試報告記載完整劇本、資料、缺陷狀態

7. 測試報告(TRR-001)內容

每輪測試產出 TRR-001_測試報告.md,至少含:

  1. 執行摘要(通過/失敗/跳過數、覆蓋率、準出達成度)
  2. 測試劇本清單(劇本 ID、關聯 FR/POC/NFR、步驟、預期結果)
  3. 測試資料清單(輸入資料集、來源、遮蔽狀態)
  4. 缺陷清單(DEF-ID、嚴重度、狀態、關聯、修復說明)
  5. 效能與一致性測試結果對照 SoW 門檻
  6. 未決事項與風險

8. 與禁止事項之連結

本計畫之所有自動化檢查,均依 CSP-001 §8、CSP-005 §6 之禁止清單執行:
掃描器 scan_scaffold.py(空殼)、scan_mockdata.py(mock 當成品)、scan_faketest.py(假測試)
於 CI 強制執行,命中即阻斷。這是客戶明示的硬性要求——「文件與程式都不可有塞框架、mock data」。

(3-3/67)