---
title: Test Strategy vs Test Plan vs Test Case — 三層計畫的差別與寫法完整指南
description: 90% 的 QA 把 Strategy / Plan / Case 混為一談。這篇用一張圖講清楚三者層級、各層該寫什麼、誰負責寫、什麼時候用。附完整範本。
category: manual
tags: [test-strategy, test-plan, test-case, documentation, qa-fundamentals]
date: 2026-06-12
---

# Test Strategy vs Test Plan vs Test Case — 三層計畫的差別與寫法

「我們有 test plan 嗎？」「你說的是 plan 還是 strategy？」是中型公司常見的對話災難。**Strategy 是公司級、Plan 是專案級、Case 是執行級** — 用錯詞 = 溝通成本爆掉。

## 一張圖看懂三層關係

```mermaid
flowchart TB
    S[Test Strategy<br>公司 / 部門級<br>Why & How]
    P[Test Plan<br>專案 / Release 級<br>What & When]
    C[Test Case<br>執行級<br>Steps]

    S --> P
    P --> C

    S --> SD["長期、變更慢<br>1-2 年 review 一次"]
    P --> PD["專案 / sprint 起點<br>每次 release 寫"]
    C --> CD["每個功能<br>持續寫 + 維護"]

    style S fill:#06b6d4,color:#fff
    style P fill:#a855f7,color:#fff
    style C fill:#10b981,color:#fff
```

| 層級 | 範圍 | 誰寫 | 多久寫一次 | 篇幅 |
|------|------|------|----------|------|
| **Strategy** | 公司 / 部門 | QA Lead / Manager / Architect | 1-2 年 | 10-30 頁 |
| **Plan** | 專案 / Release | QA Lead / Senior QA | 每個 release | 3-10 頁 |
| **Case** | 單一功能 / scenario | 任何 QA | 持續 | 1 頁 / case |

## Test Strategy — 公司級的 Why & How

### 內容

```mermaid
mindmap
  root((Test Strategy))
    為什麼測 - 目標
      Quality vision
      可接受 bug 等級
      Trade-off 哲學
    測什麼 - 範圍
      Product scope
      Quality attributes
      Out of scope
    怎麼測 - 方法
      Test pyramid
      Shift-left vs shift-right
      Manual vs automation 比例
    用什麼 - 工具
      自動化框架
      CI/CD
      Bug tracker
    什麼角色 - 組織
      Team 結構
      Dev vs QA 分工
      跨部門關係
    什麼指標 - 量化
      KPI / OKR
      SLA
      Quality gate
    什麼風險 - Risk
      Top 3 風險
      Mitigation
```

### 寫範本（一頁開頭）

```markdown
# [Company] QA Strategy 2026-2028

## Quality Vision
我們相信 quality 是團隊全員責任、不是 QA 獨佔。
QA 的角色是 quality coach、不是 gatekeeper。

## Quality Goals
- Production P0 incident: < 1 / month
- Customer satisfaction (CSAT) on quality: > 4.5/5
- Test cycle time: 從 PR 到 merge < 4 hr

## Test Approach
- Test Pyramid: 70% unit / 25% integration / 5% E2E
- Automation 優先：所有 happy path 自動化
- Exploratory testing 補強：每 sprint 4 hr session
- Shift-left：QA 從 grooming 介入

## Tools
- Automation: Playwright (web), Detox (mobile), pytest (API)
- CI: GitHub Actions
- Bug: Linear
- Test mgmt: 自建 dashboard

## Team Structure
- Embedded QA model：每 product team 1 QA
- 平台 QA team：建框架、跨團隊推 process
- Quality champion：每 dev team 1 人輪流當

## KPIs
[參考 OKR 文章]

## Out of Scope
- Performance optimization → SRE 負責
- Security pentest → Security team
- Mobile native 自動化 → Phase 2

## Review Cycle
每年 H1 review 一次。
```

### Strategy 文件壽命

**1-2 年改一次**。**不應該每 sprint 改**。改太頻繁代表沒抓到原則。

### Strategy 反例

```
❌ 「我們會用 Selenium 寫 100 個 case」
   → 這是 plan、不是 strategy

❌ 「我們很重視品質」
   → 沒方向、空話

❌ 30 頁細節到「每個按鈕都要測 click」
   → 變 case，不是 strategy
```

## Test Plan — 專案 / Release 級的 What & When

### 內容

```
1. Project Overview（這次 release 是什麼）
2. Scope & Out of scope
3. Test approach（用什麼 type 的測試）
4. Resources（誰測、用多少時間）
5. Schedule（什麼時候測完）
6. Deliverables（產出什麼）
7. Entry criteria（什麼時候可以開始測）
8. Exit criteria（什麼時候算測完）
9. Risk & Mitigation
10. Test environment
```

### 寫範本

```markdown
# Test Plan: User Profile v2.0 Release

## 1. Project Overview
新增 User Profile：頭像、bio、隱私設定、social link。
預計影響：登入後 user、20+ API endpoints。

## 2. Scope
### In scope
- 新增 / 編輯 / 刪除 profile
- 上傳頭像（多格式、大小限制）
- 隱私設定（public / friends / private）
- 跨 6 個瀏覽器 + iOS / Android

### Out of scope
- Profile 推送 / 通知（v2.1）
- Profile analytics（不在 H1）

## 3. Test Approach
| Test Type | Coverage | Tool |
|-----------|----------|------|
| Unit | Dev 寫、CI gate | pytest |
| API | QA 寫、CI gate | pytest + requests |
| E2E happy path | 自動化 | Playwright |
| Edge case | 手動 | — |
| Visual regression | Playwright snapshot | Playwright |
| A11y | manual checklist | axe |
| Performance | 1000 concurrent upload | k6 |

## 4. Resources
- QA: Alice (lead), Bob (web), Carol (mobile)
- Total: 12 person-days

## 5. Schedule
| Phase | Date | Owner |
|-------|------|-------|
| Test plan review | Jun 5 | Alice |
| API test ready | Jun 8 | Alice |
| E2E test ready | Jun 10 | Bob |
| Mobile test | Jun 12-14 | Carol |
| Regression | Jun 15 | All |
| Sign-off | Jun 16 | Alice |

## 6. Entry Criteria
- All API endpoints documented
- Staging env up
- Test data ready
- No P0 spec issue open

## 7. Exit Criteria
- All P0 / P1 case pass
- Auto coverage ≥ 80% on happy path
- 0 open P0 bug、< 3 open P1 bug
- Performance pass（p95 < 500ms）
- A11y level AA

## 8. Risks
| Risk | Impact | Likelihood | Mitigation |
|------|--------|-----------|------------|
| 上傳功能跨平台問題 | High | Medium | 跨裝置真機測試 |
| Migration 影響舊資料 | Critical | Low | Staging full data backup |

## 9. Test Environment
- Web: staging.example.com
- Mobile: TestFlight / Firebase
- DB: snapshot from prod (anonymized)
- 3rd party: Stripe sandbox / SendGrid sandbox
```

### Plan 的壽命

**每次 release / 大專案寫一次**。Sprint 內小功能可以不寫、用 ticket 的 acceptance criteria。

### Plan 反例

```
❌ 一頁紙：「測試 user profile，全部跑過」
   → 不夠細，沒 entry / exit criteria

❌ 100 頁含所有 case
   → 太細，case 應該在 test management 工具

❌ 寫完不 review、不更新
   → 一週後跟現實脫節
```

## Test Case — 執行級的 Steps

完整指南見 [Test Case 撰寫範本](/manual/test-case-template.html)。

```
ID: TC-PROFILE-001
Title: 上傳 < 5MB JPG 頭像成功
Priority: P0
Preconditions: 已登入、有 < 5MB JPG 圖檔
Test Data: profile-pic-2mb.jpg
Steps:
  1. 進 /profile
  2. 點「更換頭像」
  3. 選 profile-pic-2mb.jpg
  4. 點「儲存」
Expected:
  1-3. 略
  4. 頭像更新、看到「儲存成功」、URL 包含 CDN 路徑
```

## 三者關係實例

```mermaid
flowchart TB
    Strat["Strategy: 我們做 mobile-first SaaS<br>auto coverage > 70%、quality coach 模式"]
    Strat --> P1["Plan: v2.0 release 含 5 個 feature<br>2 週測試窗口、3 個 QA"]
    Strat --> P2["Plan: hotfix release<br>1 天緊急、smoke only"]

    P1 --> C1["Case: profile 編輯<br>15 個 case"]
    P1 --> C2["Case: 上傳頭像<br>22 個 case"]
    P2 --> C3["Case: smoke - 登入 / 結帳<br>10 個 case"]

    style Strat fill:#06b6d4,color:#fff
    style P1 fill:#a855f7,color:#fff
    style P2 fill:#a855f7,color:#fff
    style C1 fill:#10b981,color:#fff
    style C2 fill:#10b981,color:#fff
    style C3 fill:#10b981,color:#fff
```

**一份 strategy → 多個 plan → 每個 plan 含多個 case**。

## 何時用哪個

```mermaid
flowchart TD
    Question[QA 工作問題] --> Q1{範圍多大?}

    Q1 -->|公司方向| Strat[寫 / 更新 Strategy]
    Q1 -->|某個 release| Plan[寫 Test Plan]
    Q1 -->|某個功能 / scenario| Case[寫 Test Cases]
    Q1 -->|某個 sprint story| Q2{有沒有大改變?}

    Q2 -->|有，影響跨 team| Plan
    Q2 -->|小、單 team| AC["寫 Acceptance Criteria<br>不用 plan"]

    style Strat fill:#06b6d4,color:#fff
    style Plan fill:#a855f7,color:#fff
    style Case fill:#10b981,color:#fff
    style AC fill:#f59e0b,color:#fff
```

## 簡化版（給小團隊）

5 人以下小團隊不一定需要全部三層：

```
Strategy：1 頁的 README.md 寫原則就夠
Plan：跳過、直接用 Linear / Jira issue 的 acceptance
Case：寫在 spreadsheet 或 testing tool（不用 word）
```

**過度文檔化 = 沒人讀 = 等於沒寫**。

## 給 QA Lead 的建議

```mermaid
flowchart TB
    Stage{你的公司階段} --> S1[早期 / 新創<br>< 10 人]
    Stage --> S2[成長期<br>10-50 人]
    Stage --> S3[成熟期<br>50+ 人]

    S1 --> A1[只需 1 頁 Strategy<br>跳過 Plan<br>Case 用 spreadsheet]
    S2 --> A2[Strategy 一份<br>每 release 寫 Plan<br>Case 進 test mgmt tool]
    S3 --> A3[完整三層<br>含跨 team strategy<br>process 自動化]

    style S1 fill:#06b6d4,color:#fff
    style S2 fill:#a855f7,color:#fff
    style S3 fill:#10b981,color:#fff
```

## 反模式

```mermaid
flowchart TD
    Anti[三層計畫反模式] --> A1["把 strategy 寫成 case 清單"]
    Anti --> A2["plan 寫了沒人 follow"]
    Anti --> A3["case 寫完不 maintain"]
    Anti --> A4["strategy 每 sprint 改"]
    Anti --> A5["小團隊強推 100 頁 plan"]
    Anti --> A6["寫 plan 不寫 exit criteria"]
    Anti --> A7["寫 case 跳過 expected result"]

    style A1 fill:#ef4444,color:#fff
    style A2 fill:#ef4444,color:#fff
    style A3 fill:#ef4444,color:#fff
    style A4 fill:#ef4444,color:#fff
    style A5 fill:#ef4444,color:#fff
    style A6 fill:#ef4444,color:#fff
    style A7 fill:#ef4444,color:#fff
```

## 面試題目（這個常考）

### Q: Test Strategy 跟 Test Plan 差在哪？

**好答案**：
> Strategy 是公司 / 部門級的 Why 與 How，1-2 年才改一次，內容講 quality vision、test pyramid 比例、工具選型、組織結構。Plan 是專案 / release 級的 What 與 When，每次發版寫，含 scope、schedule、entry / exit criteria、risk。
>
> 簡單講：Strategy 是「我們怎麼測這家公司」、Plan 是「這次發版怎麼測」。

### Q: 你在以前公司寫過 Test Strategy 嗎？

如果你是 Senior +，**答得出來** = 加分。Junior 答「沒寫過、但讀過」也 OK。

## 範本下載

### Minimal Strategy（1 頁）

```markdown
# QA Strategy

## Vision
[Quality 是什麼、誰負責]

## Goals
- [Bug metric]
- [Cycle time]
- [User satisfaction]

## Approach
- Test pyramid: X% / Y% / Z%
- Manual vs Auto: ...
- Shift-left: ...

## Tools
- Auto: ...
- CI: ...

## Out of scope
- ...
```

### Minimal Plan（半頁）

```markdown
# Test Plan: [Feature/Release Name]

**Scope:** ...
**Out of scope:** ...
**Owner:** [Name]
**Timeline:** [Date] ~ [Date]

## Test approach
- [Type 1]: ...
- [Type 2]: ...

## Entry criteria
- [ ] ...

## Exit criteria
- [ ] All P0 case pass
- [ ] < 3 open P1 bug

## Risks
- [Risk 1]: [Mitigation]
```

## 最後

三層計畫的核心：**Strategy 是相信什麼、Plan 是這次怎麼做、Case 是步驟**。中型團隊以上**這三層都要有**。新公司可以從簡化版開始 — 一頁 strategy + 半頁 plan + spreadsheet case，**逐步成長**。混為一談 = 沒人知道你在說哪一層 = 溝通成本翻倍。
