CR #201 » TRP-001_測試計畫.md
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. 測試劇本來源
- 功能測試劇本:由 BRD-002 之 68 項 FR 逐項展開;每項 FR 至少 1 組正向+1 組異常劇本。
- POC 驗收情境:BRD-004 之 17 項,為最高優先驗收項,對應客戶自選優先序。
- 非功能測試:由 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,至少含:
- 執行摘要(通過/失敗/跳過數、覆蓋率、準出達成度)
- 測試劇本清單(劇本 ID、關聯 FR/POC/NFR、步驟、預期結果)
- 測試資料清單(輸入資料集、來源、遮蔽狀態)
- 缺陷清單(DEF-ID、嚴重度、狀態、關聯、修復說明)
- 效能與一致性測試結果對照 SoW 門檻
- 未決事項與風險
8. 與禁止事項之連結
本計畫之所有自動化檢查,均依 CSP-001 §8、CSP-005 §6 之禁止清單執行:
掃描器 scan_scaffold.py(空殼)、scan_mockdata.py(mock 當成品)、scan_faketest.py(假測試)
於 CI 強制執行,命中即阻斷。這是客戶明示的硬性要求——「文件與程式都不可有塞框架、mock data」。