為 QA 工程師產生全面的測試計畫、手動測試案例、回歸測試套件和錯誤報告。包含 Figma MCP 整合以進行設計驗證。
QA Test Planner
一個專為 QA 工程師設計的全面技能,用於建立測試計畫、產生手動測試案例、建置回歸測試套件、針對 Figma 進行設計驗證,以及有效記錄錯誤。
啟用方式: 此技能僅在明確呼叫名稱時觸發(例如
/qa-test-planner、qa-test-planner或use the skill qa-test-planner)。
快速開始
建立測試計畫:
"為使用者驗證功能建立測試計畫"
產生測試案例:
"為結帳流程產生手動測試案例"
建置回歸套件:
"為付款模組建置回歸測試套件"
針對 Figma 驗證:
"將登入頁面與 [URL] 的 Figma 設計進行比對"
建立錯誤報告:
"為表單驗證問題建立錯誤報告"
快速參考
| 任務 | 產出內容 | 時間 |
|---|---|---|
| 測試計畫 | 策略、範圍、時程、風險 | 10-15 分鐘 |
| 測試案例 | 逐步說明、預期結果 | 每個 5-10 分鐘 |
| 回歸套件 | 冒煙測試、關鍵路徑、執行順序 | 15-20 分鐘 |
| Figma 驗證 | 設計與實作比對、差異清單 | 10-15 分鐘 |
| 錯誤報告 | 可重現步驟、環境、證據 | 5 分鐘 |
運作方式
您的請求
│
▼
┌─────────────────────────────────────────────────────┐
│ 1. 分析 │
│ • 解析功能/需求 │
│ • 識別所需測試類型 │
│ • 決定範圍與優先順序 │
├─────────────────────────────────────────────────────┤
│ 2. 產生 │
│ • 建立結構化交付物 │
│ • 套用範本與最佳實務 │
│ • 包含邊界案例與變化 │
├─────────────────────────────────────────────────────┤
│ 3. 驗證 │
│ • 檢查完整性 │
│ • 驗證可追溯性 │
│ • 確保步驟可執行 │
└─────────────────────────────────────────────────────┘
│
▼
QA 交付物就緒
指令
互動式腳本
| 腳本 | 用途 | 使用方式 |
|---|---|---|
./scripts/generate_test_cases.sh |
互動式建立測試案例 | 逐步提示 |
./scripts/create_bug_report.sh |
產生錯誤報告 | 引導式輸入收集 |
自然語言
| 請求 | 輸出 |
|---|---|
| "為 {feature} 建立測試計畫" | 完整的測試計畫文件 |
| "為 {feature} 產生 {N} 個測試案例" | 附步驟的編號測試案例 |
| "建置冒煙測試套件" | 關鍵路徑測試 |
| "與 {URL} 的 Figma 設計比對" | 視覺驗證檢查清單 |
| "記錄錯誤:{description}" | 結構化錯誤報告 |
核心交付物
1. 測試計畫
- 測試範圍與目標
- 測試方法與策略
- 環境需求
- 進入/退出條件
- 風險評估
- 時程與里程碑
2. 手動測試案例
- 逐步說明
- 預期結果 vs 實際結果
- 前置條件與設定
- 測試資料需求
- 優先級與嚴重性
3. 回歸測試套件
- 冒煙測試(15-30 分鐘)
- 完整回歸(2-4 小時)
- 目標回歸(30-60 分鐘)
- 執行順序與相依性
4. Figma 驗證
- 逐元件比對
- 間距與字型檢查
- 顏色與視覺一致性
- 互動狀態驗證
5. 錯誤報告
- 清晰的重現步驟
- 環境詳細資訊
- 證據(截圖、日誌)
- 嚴重性與優先級
反模式
| 避免 | 原因 | 建議做法 |
|---|---|---|
| 模糊的測試步驟 | 無法重現 | 具體動作 + 預期結果 |
| 缺少前置條件 | 測試意外失敗 | 記錄所有設定需求 |
| 無測試資料 | 測試人員受阻 | 提供範例資料或產生方式 |
| 通用的錯誤標題 | 難以追蹤 | 具體:「[功能] 在 [動作] 時發生問題」 |
| 忽略邊界案例 | 遺漏關鍵錯誤 | 包含邊界值、空值 |
驗證檢查清單
測試計畫:
- [ ] 範圍明確定義(包含/排除)
- [ ] 進入/退出條件已指定
- [ ] 風險已識別並有緩解措施
- [ ] 時程合理
測試案例:
- [ ] 每個步驟都有預期結果
- [ ] 前置條件已記錄
- [ ] 測試資料可用
- [ ] 已指派優先級
錯誤報告:
- [ ] 可重現步驟
- [ ] 環境已記錄
- [ ] 附上截圖/證據
- [ ] 已設定嚴重性/優先級
參考資料
- 測試案例範本 - 所有測試類型的標準格式
- 錯誤報告範本 - 文件範本
- 回歸測試指南 - 套件建置與執行
- Figma 驗證指南 - 設計與實作驗證
<details>
<summary><strong>深入探討:測試案例結構</strong></summary>
標準測試案例格式
## TC-001:[測試案例標題]
**優先級:** 高 | 中 | 低
**類型:** 功能 | UI | 整合 | 回歸
**狀態:** 未執行 | 通過 | 失敗 | 受阻
### 目標
[我們要測試什麼以及為什麼]
### 前置條件
- [設定需求 1]
- [設定需求 2]
- [所需測試資料]
### 測試步驟
1. [執行動作]
**預期結果:** [應該發生什麼]
2. [執行動作]
**預期結果:** [應該發生什麼]
3. [執行動作]
**預期結果:** [應該發生什麼]
### 測試資料
- 輸入:[測試資料值]
- 使用者:[測試帳號詳細資訊]
- 設定:[環境設定]
### 後置條件
- [測試後的系統狀態]
- [需要清理的項目]
### 備註
- [需考慮的邊界案例]
- [相關測試案例]
- [已知問題]
測試類型
| 類型 | 重點 | 範例 |
|---|---|---|
| 功能 | 業務邏輯 | 使用有效憑證登入 |
| UI/視覺 | 外觀、版面 | 按鈕符合 Figma 設計 |
| 整合 | 元件互動 | API 回傳資料給前端 |
| 回歸 | 既有功能 | 先前功能仍正常運作 |
| 效能 | 速度、負載處理 | 頁面在 3 秒內載入 |
| 安全 | 漏洞 | 防止 SQL 注入 |
</details>
<details>
<summary><strong>深入探討:測試計畫範本</strong></summary>
測試計畫結構
# 測試計畫:[功能/版本名稱]
## 執行摘要
- 受測功能/產品
- 測試目標
- 主要風險
- 時程概覽
## 測試範圍
**包含範圍:**
- 待測功能
- 測試類型(功能、UI、效能)
- 平台與環境
- 使用者流程與情境
**不包含範圍:**
- 不測試的功能
- 已知限制
- 第三方整合(如適用)
## 測試策略
**測試類型:**
- 手動測試
- 探索性測試
- 回歸測試
- 整合測試
- 使用者驗收測試
**測試方法:**
- 黑箱測試
- 正向與負向測試
- 邊界值分析
- 等價類別分割
## 測試環境
- 作業系統
- 瀏覽器與版本
- 裝置(手機、平板、桌機)
- 測試資料需求
- 後端/API 環境
## 進入條件
- [ ] 需求已文件化
- [ ] 設計已定稿
- [ ] 測試環境就緒
- [ ] 測試資料已準備
- [ ] 建置已部署
## 退出條件
- [ ] 所有高優先級測試案例已執行
- [ ] 測試案例通過率達 90% 以上
- [ ] 所有重大錯誤已修復
- [ ] 無未關閉的高嚴重性錯誤
- [ ] 回歸套件已通過
## 風險評估
| 風險 | 機率 | 影響 | 緩解措施 |
|------|------|------|----------|
| [風險 1] | 高/中/低 | 高/中/低 | [緩解措施] |
## 測試交付物
- 測試計畫文件
- 測試案例
- 測試執行報告
- 錯誤報告
- 測試總結報告
</details>
<details>
<summary><strong>深入探討:錯誤報告</strong></summary>
錯誤報告範本
# BUG-[ID]:[清晰、具體的標題]
**嚴重性:** 重大 | 高 | 中 | 低
**優先級:** P0 | P1 | P2 | P3
**類型:** 功能 | UI | 效能 | 安全
**狀態:** 開啟 | 處理中 | 已修復 | 已關閉
## 環境
- **作業系統:** [Windows 11, macOS 14 等]
- **瀏覽器:** [Chrome 120, Firefox 121 等]
- **裝置:** [桌機, iPhone 15 等]
- **建置:** [版本/提交]
- **URL:** [錯誤發生的頁面]
## 描述
[清晰、簡潔的問題描述]
## 重現步驟
1. [具體步驟]
2. [具體步驟]
3. [具體步驟]
## 預期行為
[應該發生什麼]
## 實際行為
[實際發生什麼]
## 視覺證據
- 截圖:[已附上]
- 影片:[連結(如適用)]
- 主控台錯誤:[貼上錯誤]
## 影響
- **使用者影響:** [受影響的使用者數量]
- **頻率:** [總是、有時、很少]
- **替代方案:** [如果有的話]
## 其他資訊
- 相關功能:[功能/工單]
- 是否為回歸:[是/否]
- Figma 設計:[如果是 UI 錯誤,提供連結]
嚴重性定義
| 等級 | 條件 | 範例 |
|---|---|---|
| 重大 (P0) | 系統當機、資料遺失、安全問題 | 付款失敗、登入失效 |
| 高 (P1) | 主要功能失效,無替代方案 | 搜尋無法使用 |
| 中 (P2) | 功能部分失效,有替代方案 | 篩選缺少一個選項 |
| 低 (P3) | 外觀問題、罕見邊界案例 | 錯字、輕微對齊問題 |
</details>
<details>
<summary><strong>深入探討:Figma MCP 整合</strong></summary>
設計驗證流程
前置條件:
- Figma MCP 伺服器已設定
- 可存取 Figma 設計檔案
- 元件/頁面的 Figma URL
流程:
- 從 Figma 取得設計規格
"從 Figma 檔案 [URL] 取得按鈕規格"
回應包含:
- 尺寸(寬度、高度)
- 顏色(背景、文字、邊框)
- 字型(字體、大小、粗細)
- 間距(內距、外距)
- 邊框圓角
- 狀態(預設、懸停、啟用、停用)
- 比對實作
TC: 主要按鈕視覺驗證
1. 在瀏覽器開發者工具中檢查主要按鈕
2. 與 Figma 規格比對:
- 尺寸:120x40px
- 邊框圓角:8px
- 背景顏色:#0066FF
- 字型:16px Medium #FFFFFF
3. 記錄差異
- 若不符則建立錯誤
BUG: 主要按鈕顏色與設計不符
嚴重性:中
預期 (Figma):#0066FF
實際 (實作):#0052CC
截圖:[已附上]
Figma 連結:[特定元件]
驗證項目
| 元素 | 檢查內容 | 工具 |
|---|---|---|
| 顏色 | Hex 值是否完全一致 | 瀏覽器顏色選取器 |
| 間距 | 內距/外距 px 值 | DevTools 計算樣式 |
| 字型 | 字體、大小、粗細 | DevTools 字型面板 |
| 版面 | 寬度、高度、位置 | DevTools 盒模型 |
| 狀態 | 懸停、啟用、焦點 | 手動互動 |
| 響應式 | 斷點行為 | DevTools 裝置模式 |
範例查詢
"從 Figma 設計 [URL] 取得按鈕規格"
"比對導覽選單實作與 Figma 設計"
"從 Figma 提取儀表板版面的間距值"
"列出 Figma 設計系統中使用的所有顏色代碼"
</details>
<details>
<summary><strong>深入探討:回歸測試</strong></summary>
套件結構
| 套件類型 | 時間 | 頻率 | 涵蓋範圍 |
|---|---|---|---|
| 冒煙測試 | 15-30 分鐘 | 每日 | 僅關鍵路徑 |
| 目標回歸 | 30-60 分鐘 | 每次變更 | 受影響區域 |
| 完整回歸 | 2-4 小時 | 每週/版本 | 全面性 |
| 理智測試 | 10-15 分鐘 | 熱修復後 | 快速驗證 |
建置回歸套件
步驟 1:識別關鍵路徑
- 使用者不能沒有的功能是什麼?
- 哪些功能產生營收?
- 哪些處理敏感資料?
- 哪些最常被使用?
步驟 2:優先排序測試案例
| 優先級 | 描述 | 必須執行 |
|---|---|---|
| P0 | 業務關鍵、安全 | 總是 |
| P1 | 主要功能、常見流程 | 每週以上 |
| P2 | 次要功能、邊界案例 | 版本發布 |
步驟 3:執行順序
- 先執行冒煙測試 - 若失敗則停止並修復建置
- 接著執行 P0 測試 - 必須通過才能繼續
- 然後 P1 再 P2 - 追蹤所有失敗
- 探索性測試 - 發現非預期問題
通過/失敗條件
通過:
- 所有 P0 測試通過
- 90% 以上 P1 測試通過
- 無未關閉的重大錯誤
失敗(阻擋發布):
- 任何 P0 測試失敗
- 發現重大錯誤
- 安全漏洞
- 資料遺失情境
有條件:
- P1 失敗但有替代方案
- 已知問題已記錄
- 修復計畫已就緒
</details>
<details>
<summary><strong>深入探討:測試執行追蹤</strong></summary>
測試執行報告範本
# 測試執行:[版本號]
**日期:** 2024-01-15
**建置:** v2.5.0-rc1
**測試人員:** [姓名]
**環境:** 暫存環境
## 摘要
- 測試案例總數:150
- 已執行:145
- 通過:130
- 失敗:10
- 受阻:5
- 未執行:5
- 通過率:90%
## 依優先級分類的測試案例
| 優先級 | 總數 | 通過 | 失敗 | 受阻 |
|--------|------|------|------|------|
| P0 (重大) | 25 | 23 | 2 | 0 |
| P1 (高) | 50 | 45 | 3 | 2 |
| P2 (中) | 50 | 45 | 3 | 2 |
| P3 (低) | 25 | 17 | 2 | 1 |
## 重大失敗
- TC-045:付款處理失敗
- 錯誤:BUG-234
- 狀態:開啟
## 受阻測試
- TC-112:儀表板小工具(API 端點關閉)
## 風險
- 2 個重大錯誤阻擋發布
- 付款整合需要關注
## 下一步
- 在 BUG-234 修復後重新測試
- 完成剩餘 5 個測試案例
- 在簽核前執行完整回歸
涵蓋率追蹤
## 涵蓋率矩陣
| 功能 | 需求數 | 測試案例數 | 狀態 | 缺口 |
|------|--------|------------|------|------|
| 登入 | 8 | 12 | 完成 | 無 |
| 結帳 | 15 | 10 | 部分 | 付款錯誤 |
| 儀表板 | 12 | 15 | 完成 | 無 |
</details>
<details>
<summary><strong>QA 流程工作流程</strong></summary>
階段 1:規劃
- [ ] 審查需求與設計
- [ ] 建立測試計畫
- [ ] 識別測試情境
- [ ] 估算工作量與時程
- [ ] 設定測試環境
階段 2:測試設計
- [ ] 撰寫測試案例
- [ ] 與團隊審查測試案例
- [ ] 準備測試資料
- [ ] 建置回歸套件
- [ ] 取得 Figma 設計存取權
階段 3:執行
- [ ] 執行測試案例
- [ ] 以清晰步驟記錄錯誤
- [ ] 針對 Figma 驗證(UI 測試)
- [ ] 追蹤測試進度
- [ ] 溝通阻礙
階段 4:報告
- [ ] 彙整測試結果
- [ ] 分析涵蓋率
- [ ] 記錄風險
- [ ] 提供執行/不執行建議
- [ ] 歸檔測試產出物
</details>
<details>
<summary><strong>最佳實務</strong></summary>
測試案例撰寫
應做:
- 具體且無歧義
- 每個步驟包含預期結果
- 每個測試案例測試一件事
- 使用一致的命名慣例
- 保持測試案例可維護
不應做:
- 假設知識
- 測試案例過長
- 跳過前置條件
- 忘記邊界案例
- 預期結果模糊
錯誤報告
應做:
- 提供清晰的重現步驟
- 包含截圖/影片
- 指定確切的環境詳細資訊
- 描述對使用者的影響
- UI 錯誤連結 Figma
不應做:
- 無重現步驟就報告
- 使用模糊描述
- 跳過環境詳細資訊
- 忘記指派優先級
- 重複現有錯誤
回歸測試
應做:
- 盡可能自動化重複測試
- 定期維護回歸套件
- 優先處理關鍵路徑
- 頻繁執行冒煙測試
- 每次發布後更新套件
不應做:
- 發布前跳過回歸
- 讓套件過時
- 每次都測試所有項目
- 忽略失敗的回歸測試
</details>
範例
<details>
<summary><strong>範例:登入流程測試案例</strong></summary>
## TC-LOGIN-001:有效使用者登入
**優先級:** P0 (重大)
**類型:** 功能
**預計時間:** 2 分鐘
### 目標
驗證使用者可以使用有效憑證成功登入
### 前置條件
- 使用者帳號已存在 (test@example.com / Test123!)
- 使用者尚未登入
- 瀏覽器 Cookie 已清除
### 測試步驟
1. 導覽至 https://app.example.com/login
**預期結果:** 登入頁面顯示電子郵件與密碼欄位
2. 輸入電子郵件:test@example.com
**預期結果:** 電子郵件欄位接受輸入
3. 輸入密碼:Test123!
**預期結果:** 密碼欄位顯示遮罩字元
4. 點擊「登入」按鈕
**預期結果:**
- 出現載入指示器
- 使用者重新導向至 /dashboard
- 顯示歡迎訊息:「歡迎回來,Test User」
- 頁首顯示頭像/個人圖片
### 後置條件
- 使用者工作階段已建立
- 驗證 Token 已儲存
- 分析事件已記錄
### 需考慮的邊界案例
- TC-LOGIN-002:無效密碼
- TC-LOGIN-003:不存在的電子郵件
- TC-LOGIN-004:SQL 注入嘗試
- TC-LOGIN-005:非常長的密碼
</details>
<details>
<summary><strong>範例:響應式設計測試案例</strong></summary>
## TC-UI-045:行動版導覽選單
**優先級:** P1 (高)
**類型:** UI/響應式
**裝置:** 行動裝置 (iPhone, Android)
### 目標
驗證導覽選單在行動裝置上正常運作
### 前置條件
- 從行動裝置或響應式模式存取
- 視窗寬度:375px (iPhone SE) 至 428px (iPhone Pro Max)
### 測試步驟
1. 在行動裝置上開啟首頁
**預期結果:** 漢堡選單圖示可見(右上角)
2. 點擊漢堡選單圖示
**預期結果:**
- 選單從右側滑入
- 內容上方出現遮罩層
- 關閉 (X) 按鈕可見
3. 點擊選單項目
**預期結果:** 導覽至區段,選單關閉
4. 與 Figma 行動版設計比對 [連結]
**預期結果:**
- 選單寬度:280px
- 滑入動畫:300ms ease-out
- 遮罩層透明度:0.5,顏色 #000000
- 字型大小:16px,行高 24px
### 需測試的斷點
- 375px (iPhone SE)
- 390px (iPhone 14)
- 428px (iPhone 14 Pro Max)
- 360px (Galaxy S21)
</details>
「測試能顯示錯誤的存在,而非不存在。」 - Edsger Dijkstra
「品質不是一種行為,而是一種習慣。」 - Aristotle






