測試策略

透過系統性的測試方法確保您的技能可靠運作。

測試矩陣

從三個維度測試您的技能:

1. 正常操作

技能是否適用於典型使用情境?

測試情境:

  • 範圍內的標準請求
  • 請求的常見變體
  • 多個相關請求的連續操作

「React 指南」技能範例:

"建立一個按鈕元件" "添加帶有載入狀態的點擊處理器" "使其具有無障礙性"

2. 邊界情況

技能是否能處理不尋常但有效的請求?

測試情境:

  • 邊界條件
  • 不尋常的組合
  • 最小和最大輸入

範例:

"建立一個空元件" "建立一個有 20 個 props 的元件" "5 層深度的巢狀元件"

3. 範圍外

技能是否能正確推遲或拒絕?

測試情境:

  • 明顯超出技能領域的請求
  • 看似相關但未涵蓋的請求
  • 可能與技能衝突的請求

「React 指南」技能範例:

"如何設定資料庫?" "寫一個 Python 腳本" "我應該改用 Vue 嗎?"

測試檢查清單

發布前

  • [ ] 測試所有文件化的指南
  • [ ] 驗證範例產生預期輸出
  • [ ] 檢查邊界情況不會導致錯誤
  • [ ] 確認範圍外處理是否適當
  • [ ] 在所有支援的平台上測試

發布後

  • [ ] 監控使用者回饋
  • [ ] 使用真實世界情境測試
  • [ ] 檢查與熱門技能的衝突
  • [ ] 驗證更新不會破壞現有行為

平台特定測試

Claude Code

bash
# 安裝技能
claude skill add your-username/skill-name

# 在專案中測試
claude "Your test prompt here"

# 驗證行為
# 檢查回應是否遵循您的指南

Codex CLI

bash
# 添加技能
codex config add-skill your-username/skill-name

# 測試
codex "Your test prompt here"

ChatGPT

  1. 將技能內容添加到自訂指令
  2. 開始新對話
  3. 測試提示並驗證回應

自動化測試

為了進行徹底測試,建立一個測試套件:

typescript
// skill-tests.ts
interface TestCase {
  prompt: string;
  expectedBehavior: string[];
  shouldNotContain?: string[];
}

const testCases: TestCase[] = [
  {
    prompt: "Create a React button component",
    expectedBehavior: [
      "Uses functional component",
      "Includes TypeScript types",
      "Has accessibility attributes",
    ],
    shouldNotContain: [
      "class component",
      "any type",
    ],
  },
  // Add more test cases...
];

回歸測試

更新技能時:

  1. 記錄當前行為 - 儲存當前輸出的範例
  2. 進行更改 - 更新技能
  3. 比較輸出 - 檢查意外的變更
  4. 驗證改進 - 確認預期的更改有效

使用者測試

在廣泛發布前:

  1. Alpha 測試 - 與 2-3 位信任的使用者測試
  2. 收集回饋 - 什麼有效?什麼令人困惑?
  3. 迭代 - 進行改進
  4. Beta 測試 - 與更大的群組測試
  5. 發布 - 發布到市場

常見問題除錯

技能未啟動

檢查:

  • 技能是否正確安裝?
  • 提示是否與技能的領域相關?
  • 是否有優先級更高的衝突技能?

行為不一致

檢查:

  • 指南是否足夠具體?
  • 是否有相互矛盾的規則?
  • 技能是否太廣泛?

意外輸出

檢查:

  • 範例是否清晰?
  • 背景部分是否準確?
  • 是否有未涵蓋的邊界情況?

下一步