先決定你現在是要學,還是要在專案裡做
網站負責解釋與分發工作包;真正的 Repository 掃描、缺口判斷與文件產出交給 Coding Agent。
SDLC 實作課 · 交付物練習
先理解這份文件替你消除什麼不確定
確認『各自能跑』之後『接起來還能跑』
單元測試綠燈不代表系統會動。Integration Test 驗證契約、序列化、認證、timeout、retry、idempotency 在真實邊界上是否一致。
誰負責、交給誰
主責: QA + Dev 共寫
協作: DevOps 提供類生產環境、DBA 提供測試資料
下游收件: CI pipeline、UAT、Release Gate
何時值得做
必要時機: 新 API、第三方整合、queue/event flow、schema migration
不需要時: 純函式庫、無外部依賴
常見誤用: mock 掉所有外部依賴後等於 unit test;測資不還原
- 01讀大綱
- 02比範本
- 03填素材
- 04貼提示詞
- 05對照驗收
Anatomy · 文件解剖
輕量版先回答 6 個核心章節
章節名稱可以因團隊調整,但每一段要求的判斷不能被省略。先讀問題,再看格式。
- 01
Executive Summary
範本必要章節
3-5 行,QA/Dev 30 秒讀完。內容:N 個 contract、happy/unhappy case 數、最高風險整合點
- 02
Contracts
範本必要章節
每條必含 consumer / provider / spec ref / version
- 04
Happy Paths
範本必要章節
每個 endpoint 至少 1 條 happy path,含 input / expected status / p99 budget
- 05
Unhappy Paths
範本必要章節
必含 4xx / 5xx / timeout 三類至少各 1 條,每條附 detection signal
- 09
Risks(top 3)
範本必要章節
每條格式:失效模式 + Mitigation + Owner 三件齊
- 12
Confidence & Sources & TODO
範本必要章節
把已確認的內容、判斷依據與仍待補充的資訊清楚分開。
Study · 對照學習
同一份交付物,先練核心,再看完整深度
輕量範本適合第一次練習與 MVP;完整範本保留跨職能交棒需要的細節。兩者都要求未知事項保持可見。
這張卡目前提供已審定的輕量與完整範本;不以 AI 臨時生成的內容冒充實際案例。
30 分鐘內先完成核心章節。
---
doc_type: "integration-test"
variant: "light"
status: "draft"
owner: "<your-name>"
last_updated: "YYYY-MM-DD"
upstream:
required: ["openapi-spec", "consumer-list"]
optional: ["slo-definition"]
---
# Integration Test Plan: <api-or-service-name>
**Status:** Draft v0.X · **Owner:** <QA Lead> · **Last updated:** YYYY-MM-DD
> [!IMPORTANT]
> **AI 填寫規則:** 本範本 6 段(編號 1, 2, 4, 5, 9, 12),全部必填——刻意沿用完整版的章節編號讓兩版可對照。每 test case 行內加 `(依據:spec endpoint / consumer §X / SLO §Y)`;每 case 帶 `[H]/[M]/[L]` confidence badge;缺資料寫 `_TODO: 需要 XXX_` 不編造;**每個 unhappy path 必須有對應 detection(log / metric / trace)**,沒 detection 等於沒測;輕量版至少覆蓋 happy + 4xx + 5xx 三類。
---
## 1. Executive Summary
<!-- ai-fill: 3-5 行,QA/Dev 30 秒讀完。內容:N 個 contract、happy/unhappy case 數、最高風險整合點 -->
<3-5 行說明>
> **TL;DR:** <一句話:這份 plan 驗證哪個契約邊界>
---
## 2. Contracts
<!-- ai-rule: 每條必含 consumer / provider / spec ref / version -->
| ID | Consumer | Provider | Spec ref | Version | Confidence |
|---|---|---|---|---|---|
| CT-001 | <service A> | <service B> | `/api/v2/orders POST` | v1.3 | **[H]** |
---
## 4. Happy Paths
<!-- ai-rule: 每個 endpoint 至少 1 條 happy path,含 input / expected status / p99 budget -->
| ID | Endpoint | Input | Expected status | p99 budget | Confidence |
|---|---|---|---|---|---|
| HP-001 | `POST /orders` | `{...}` | 201 | < 500ms | **[H]** |
---
## 5. Unhappy Paths
<!-- ai-rule: 必含 4xx / 5xx / timeout 三類至少各 1 條,每條附 detection signal -->
### 4xx
| ID | Scenario | Expected status | Detection |
|---|---|---|---|
| UH-4xx-01 | missing required field | 400 | client → user message |
### 5xx
| ID | Scenario | Injection | Expected client behavior |
|---|---|---|---|
| UH-5xx-01 | provider DB down | chaos / stub | circuit breaker open + fallback |
### Timeout
| ID | Threshold | Expected behavior |
|---|---|---|
| UH-TO-01 | <from SLO p99 + 20%> | retry 2 次 → fail with 504 |
---
## 9. Risks(top 3)
<!-- ai-rule: 每條格式:失效模式 + Mitigation + Owner 三件齊 -->
> **R1:** <風險描述> — **Mitigation:** <如何降低> — **Owner:** <誰負責>
>
> **R2:** ...
>
> **R3:** ...
---
## 12. Confidence & Sources & TODO
- **整份 plan 最低 confidence 欄位:** <列出所有 [L] 與 [M]>
- **Fabricated assumptions(推測但 input 未明說):**
- <假設 1>
- **Highest-value next input:** <下一份最該補的 incident postmortem / consumer 真實流量畫像>
### TODO(缺資料)
- _TODO: 需要 SLO p99 數值校準 timeout threshold_
---
> [!CAUTION]
> **輸出前 AI 自檢:**
> - [ ] 6 段 H2 章節齊全(編號 1, 2, 4, 5, 9, 12,刻意不連號)
> - [ ] 每個 test case 帶 inline `[H/M/L]` badge + source
> - [ ] Unhappy paths 覆蓋 4xx + 5xx + timeout 三類
> - [ ] 每個 unhappy path 有 detection signal
> - [ ] Risks 每條格式:失效模式 + Mitigation + Owner
> - [ ] 無 YAML / JSON schema 輸出(plan 是給人讀的 markdown)Practice · 換你試做
先用自己的話交代素材,不需要先學會工程術語
確定的就寫,不確定的留白。下一步要做的是請 Agent 找缺口,不是讓它替你猜一套合理答案。
可以先留白;複製提示詞後再到 Coding Agent 裡補充。
AI Practice · 手動三步
先問、再寫、最後審,不把整條流程鎖死
每一步都是獨立工作包。你可以停下補資料、修改限制或重做某一步,不需要服從固定的 Agent 接力流程。
只找阻擋文件成立的未知
先補會改變範圍、判斷或驗收結果的資訊,不急著寫文件。
我要製作「Integration Test」。先不要產出文件。
請根據我的素材,找出會影響這份文件正確性或可執行性的未知事項,一次最多問 5 題。
每題請包含:
1. 問題
2. 為什麼現在必須知道
3. 它會影響哪個章節或決定
已經回答的事不要重問;可以延後的事標成「待決策」;不要替我猜答案。
本文件的核心章節:Executive Summary、Contracts、Happy Paths、Unhappy Paths、Risks(top 3)、Confidence & Sources & TODO複製後,請在標示位置貼上自己的素材。
Review · 自己驗收
文件存在,不代表下一個角色真的能使用
逐條檢查 Agent 的輸出。人類負責需求、限制與驗收,也必須能說明重要結論從哪裡來。
帶著這份文件,繼續到「Test Plan · 測試計畫」
下一張卡會接住新的決策問題;不用一次把整條 SDLC 全做完。
