Community寫作與編輯github.com

Cure-Consulting-Group/ProductEngineeringSkills

Gemini、Claude 等 AI 用於建置應用程式的技能

ProductEngineeringSkills 是什麼?

這是一套專為 AI Agent(如 Claude Code、Cursor 等)設計的「使用者驗收測試(UAT)」技能,提供從測試計畫生成、執行、利害關係人簽核到發布閘道管理(Go/No-Go)的完整端到端框架。該技能遵循嚴謹的結構化流程:首先根據觸發條件(新功能、迴歸、候選版本或熱修復)分類 UAT 類型,自動收集專案環境與上下文,接著將驗收標準轉換為可測試的 Given-When-Then 場景矩陣,並為每個場景定義優先級(P0、P1、P2)。技能還包含了詳細的環境檢查清單、利害關係人角色與權責表、資料驅動的 Go/No-Go 決策矩陣(含硬性阻斷條件)、簽核模板,以及必要的回滾計畫與發布說明草稿。所有產出物(UAT 計畫、測試案例、簽核表、Bug 分類模板)皆以結構化的 Markdown 文件形式生成,確保 AI 在開發流程的最後品質關卡中,能一致且可靠地協助團隊完成生產發布前的驗證與簽核。

相容平台✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add Cure-Consulting-Group/ProductEngineeringSkills

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

使用者驗收測試(UAT)

涵蓋計畫生成、執行、利害關係人簽核及 Go/No-Go 發布閘道的端到端 UAT 框架。UAT 是上線前的最後一道品質關卡,請以此標準看待。任何功能在未獲得利害關係人依據驗收標準明確簽核前,不得發布。

前置處理(自動上下文)

開始前,自動收集專案上下文:

  • 若 PORTFOLIO.md 存在於專案根目錄或上層目錄,則讀取以取得產品/團隊資訊
  • 執行:cat package.json 2>/dev/null || cat build.gradle.kts 2>/dev/null || cat Podfile 2>/dev/null 以檢測技術棧
  • 執行:git log --oneline -5 2>/dev/null 取得近期變更記錄
  • 執行:ls src/ app/ lib/ functions/ 2>/dev/null 了解專案結構
  • 運用這些上下文將所有輸出內容針對實際專案進行客製化

步驟 1:分類 UAT 需求

在建立測試計畫之前,判斷 UAT 類型。類型決定了測試範圍、深度、利害關係人參與程度以及時程。

UAT 類型觸發條件範圍典型時程
新功能 UAT功能開發完成,合併至 staging 環境涵蓋 PRD/使用者故事的驗收標準、完整快樂路徑及邊界案例2-5 個工作天
回歸 UAT重大重構、相依套件升級或平台遷移重新驗證關鍵使用者旅程,確認無行為回歸1-3 個工作天
候選版本 UAT發布分支建立,所有功能整合完畢完整發布範圍 — 每個功能、整合點及跨平台行為3-5 個工作天
熱修復驗證線上問題修復,修補程式部署至 staging 環境範圍狹窄 — 驗證修復,確認對相鄰流程無副作用2-4 小時

若 UAT 類型不明確,請先詢問再繼續。熱修復驗證與候選版本 UAT 需要完全不同的測試計畫。

自動上下文蒐集

在建立 UAT 計畫前:

  1. 搜尋現有的測試規格、PRD 檔案、驗收標準文件
  2. 讀取找到的規格以提取可測試的需求
  3. 使用 grep 搜尋控制受測功能的特徵旗標

產出檔案生成(必要)

使用 Write 工具生成:

  1. UAT 計畫:docs/uat/uat-plan.md — 採用測試計畫輸出格式
  2. 測試案例:docs/uat/test-cases.md — 含步驟與預期結果的詳細測試案例
  3. 簽核表:docs/uat/sign-off.md — 利害關係人核准範本
  4. 問題分類範本:docs/uat/bug-triage.md — 嚴重性分級指南

步驟 2:蒐集上下文

在編寫 UAT 計畫前,收集所有輸入。缺少上下文會導致計畫不完整。

輸入必要來源備註
功能名稱/發布版本是PM/技術負責人用於追蹤的簡短識別碼
驗收標準是PRD、使用者故事、Jira/Linear 工單若有 /sdlc 技能的產出則優先使用
利害關係人名單是PM/產品負責人誰來測試、誰簽核、誰擁有否決權
目標環境是工程團隊Staging URL、建置編號、特徵旗標
平台是工程團隊Android、iOS、Web 或其組合
法規遵循需求選填法務/資安團隊HIPAA、SOC 2、PCI-DSS、GDPR 對測試資料的限制
已知風險或限制選填工程團隊技術債、已知問題、未完成的整合
先前 UAT 結果選填QA/PM用於回歸比較的基線
發布截止日期是PM硬性日期 vs. 彈性日期 — 影響 Go/No-Go 的壓力

若驗收標準不存在,請暫停並先使用 /sdlc 技能建立它們。缺乏驗收標準的 UAT 是基於個人意見的測試,無法證明任何事情。

步驟 3:UAT 計畫生成

3.1 驗收標準萃取

從所有來源提取驗收標準,並將其標準化為可測試的陳述句。

格式:Given [前提], When [動作], Then [預期結果]

來源優先順序:
  1. PRD 驗收標準(權威來源)
  2. 使用者故事驗收標準(詳細)
  3. 設計規格/原型(視覺與互動行為)
  4. API 契約(回應結構、錯誤代碼)
  5. 程式碼審查或 /feature-audit 中識別出的邊界案例

每項驗收標準會轉化為一個或多個測試情境。若某項標準無法手動測試,請標記並指定自動化驗證方式。

3.2 測試情境矩陣

建立完整的情境矩陣。每個情境有且僅有一個預期結果。

ID類別情境前提步驟預期結果平台優先級
UAT-001快樂路徑[主要成功流程][設定狀態][1. 2. 3.][預期結果]所有P0
UAT-002快樂路徑[次要成功流程][設定狀態][1. 2. 3.][預期結果]所有P0
UAT-003邊界案例[邊界條件][設定狀態][1. 2. 3.][預期結果]所有P1
UAT-004錯誤狀態[無效輸入/失敗][設定狀態][1. 2. 3.][錯誤處理]所有P1
UAT-005跨平台[特定平台行為][設定狀態][1. 2. 3.][平台預期結果]特定P1
UAT-006無障礙[螢幕報讀軟體/鍵盤導航][啟用輔助技術][1. 2. 3.][無障礙結果]所有P1
UAT-007效能[載入時間/回應速度][標準條件][1. 2. 3.][在預算內]所有P2
UAT-008離線/降級[無連線能力/訊號不佳][飛航模式/限速][1. 2. 3.][優雅處理]行動裝置P1

優先級定義:

  • P0 — 核心功能。若此項失敗,功能無法運作。阻擋發布。
  • P1 — 重要行為。若此項失敗,功能可運作但有重大缺失。必須在發布前修復。
  • P2 — 加分驗證。若此項失敗,可在已知問題已記錄的狀況下發布。

3.3 環境檢查清單

在 UAT 開始前驗證測試環境。故障的環境會浪費利害關係人的時間並削弱信任感。

UAT 前環境檢查清單
[ ] Staging 環境已部署正確的建置/版本
[ ] 建置版本已記錄:_______________
[ ] 已啟用 UAT 範圍內的特徵旗標:
    [ ] 旗標:_____________ = 啟用/停用
    [ ] 旗標:_____________ = 啟用/停用
[ ] 測試資料已建立(帳號、內容、交易)
[ ] 已建立具備所需角色/權限的測試帳號
    (請參閱 /test-accounts 技能進行帳號佈建)
[ ] 第三方整合設定為測試/沙箱模式:
    [ ] Stripe:測試模式,使用測試 API 金鑰
    [ ] 金流服務:沙箱環境
    [ ] Email/SMS:中繼攔截或使用測試收件者
    [ ] 分析工具:使用開發/staging 屬性(非正式環境)
[ ] 後端/API 指向 staging(非正式環境)
[ ] 資料庫已植入具代表性的資料量
[ ] 推播通知已為 staging 環境設定
[ ] 深層連結 / Universal Links 已為 staging 網域設定
[ ] SSL 憑證於 staging 環境有效
[ ] 所有測試人員的 VPN/網路存取已設定

3.4 利害關係人角色表

定義誰負責什麼。角色不明確會導致涵蓋範圍出現缺口。

角色人員職責簽核權限
UAT 負責人[姓名]擁有 UAT 計畫,協調測試場次,分類問題,產出報告最終 Go/No-Go 建議
產品負責人[姓名]驗證驗收標準是否達成,測試業務邏輯情境是 — 業務簽核
設計負責人[姓名]驗證視覺保真度、互動模式、品牌一致性是 — 設計簽核
工程負責人[姓名]可進行問題調查、環境修復、解釋技術限制是 — 技術簽核
QA 測試人員[姓名]系統性地執行測試情境,附上證據記錄發現否 — 向 UAT 負責人報告
領域專家[姓名]測試特定領域的工作流程(金融、醫療、法律)是 — 領域簽核
無障礙測試人員[姓名]螢幕報讀軟體測試、鍵盤導航、WCAG AA 驗證諮詢性質 — 向上呈報至 UAT 負責人

最低可行簽核需包含:產品負責人 + 工程負責人。所有其他簽核為建議性質,但取決於範圍。

步驟 4:UAT 執行框架

請參閱 reference/details.md(「步驟 4:UAT 執行框架」章節)以獲取完整細節。

步驟 5:簽核與 Go/No-Go 閘道

5.1 Go/No-Go 決策矩陣

Go/No-Go 決策應基於數據,而非個人意見。針對每個標準評分並計算加權結果。

GO / NO-GO 決策矩陣
功能/版本:_______________
日期:_______________
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┌──────────────────────────────────┬────────┬────────┬───────┬───────┐
│ 標準                             │ 權重    │ 狀態    │ 分數   │ 備註   │
├──────────────────────────────────┼────────┼────────┼───────┼───────┤
│ 所有 P0 情境通過                  │  30%   │ GO/NOGO│ X/30  │       │
│ 所有 P1 情境通過                  │  25%   │ GO/NOGO│ X/25  │       │
│ 無未解決的 P0 問題                │  20%   │ GO/NOGO│ X/20  │       │
│ 無未解決的 P1 問題(或已接受風險) │  10%   │ GO/NOGO│ X/10  │       │
│ 無障礙測試通過(WCAG AA)         │  5%    │ GO/NOGO│ X/5   │       │
│ 效能符合預算                      │  5%    │ GO/NOGO│ X/5   │       │
│ 跨平台一致性已驗證                │  5%    │ GO/NOGO│ X/5   │       │
├──────────────────────────────────┼────────┼────────┼───────┼───────┤
│ 總計                              │ 100%   │        │ X/100 │       │
└──────────────────────────────────┴────────┴────────┴───────┴───────┘

決策門檻:
  GO           >= 90/100   所有 P0 標準必須為 GO。
  有條件發布    70-89/100   附帶已記錄條件與解決時程表發布。
  NO-GO        < 70/100    請勿發布。請修復並重新測試。

硬性阻斷條件(無論分數高低,一律自動 NO-GO):
  - 任何未解決的 P0 問題
  - 資料遺失或毀損情境
  - 安全漏洞(驗證繞過、資料外洩)
  - 關鍵使用者旅程發生閃退
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

5.2 簽核範本

利害關係人簽核
功能/版本:_______________
建置/版本:_______________
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┌──────────────────┬──────────────┬──────────┬────────────┬─────────┐
│ 利害關係人        │ 角色         │ 決策      │ 條件       │ 日期    │
├──────────────────┼──────────────┼──────────┼────────────┼─────────┤
│ [姓名]           │ 產品負責人    │ GO/NOGO  │ [若有]     │ [日期]  │
│ [姓名]           │ 工程負責人    │ GO/NOGO  │ [若有]     │ [日期]  │
│ [姓名]           │ 設計負責人    │ GO/NOGO  │ [若有]     │ [日期]  │
│ [姓名]           │ 領域專家      │ GO/NOGO  │ [若有]     │ [日期]  │
│ [姓名]           │ UAT 負責人    │ GO/NOGO  │ [若有]     │ [日期]  │
└──────────────────┴──────────────┴──────────┴────────────┴─────────┘

有條件簽核的意涵:「GO,前提是以下事項須於 [日期] 前解決:」
  1. [條件]
  2. [條件]

若有**任何**利害關係人簽署 NO-GO,則發布將受阻,直至其疑慮獲得解決。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

5.3 回滾計畫

每個發布在 Go/No-Go 決策前,都必須備有完整的回滾計畫。無回滾計畫 = 自動 NO-GO。

回滾計畫
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
觸發條件:  [觸發回滾的條件 — 例如:Crash 率 > 2%、線上環境出現 P0 問題]
負責人:    [誰發起回滾]
步驟:
  1. [停用特徵旗標 / 還原部署]
  2. [驗證回滾成功]
  3. [通知利害關係人]
  4. [回滾後監控 30 分鐘]
資料:      [是否需要還原任何資料遷移?Firestore 文件版本控制?]
溝通:      [若需通知使用者,由誰負責 — 支援團隊、狀態頁面]
事後檢討:  [安排於回滾後 48 小時內進行]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

5.4 發布說明草稿

根據 UAT 發現產出發布說明。此時 UAT 測試人員比任何人都更了解該功能。

發布說明(來自 UAT 發現)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
版本:_______________
日期:_______________

新增
  - [新增的功能/能力 — 以使用者語言描述]

改進
  - [對現有功能的增強 — 對使用者來說改善了什麼]

修正
  - [UAT 期間修復的問題 — 之前什麼東西壞了,現在已解決]

已知問題
  - [隨此發布一起上線的 P2 問題 — 若有替代方案則提供]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

步驟 6:UAT 報告

在所有測試場次完成並收集簽核後,產出完整的 UAT 報告。

═══════════════════════════════════════════════════════════════
UAT 報告
功能/版本:[名稱]
版本/建置:[版本]
日期:[今天日期]
UAT 負責人:[姓名]
═══════════════════════════════════════════════════════════════

摘要
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
決策:      GO / 有條件發布 / NO-GO
總情境數:   [N]
通過:       [N] ([X]%)
失敗:       [N] ([X]%)
受阻:       [N] ([X]%)
未執行:     [N] ([X]%)
未解決阻斷問題: [N] 個 P0 / [N] 個 P1 / [N] 個 P2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

依類別之通過率
┌──────────────────────┬──────────┬────────┬─────────┬────────┐
│ 類別                  │ 總數     │ 通過    │ 失敗    │ 比率   │
├──────────────────────┼──────────┼────────┼─────────┼────────┤
│ 快樂路徑              │ [N]      │ [N]    │ [N]     │ [X]%   │
│ 邊界案例              │ [N]      │ [N]    │ [N]     │ [X]%   │
│ 錯誤狀態              │ [N]      │ [N]    │ [N]     │ [X]%   │
│ 跨平台                │ [N]      │ [N]    │ [N]     │ [X]%   │
│ 無障礙                │ [N]      │ [N]    │ [N]     │ [X]%   │
│ 效能                  │ [N]      │ [N]    │ [N]     │ [X]%   │
│ 離線/連線能力         │ [N]      │ [N]    │ [N]     │ [X]%   │
├──────────────────────┼──────────┼────────┼─────────┼────────┤

相關技能