測試策略
透過系統性的測試方法確保您的技能可靠運作。
測試矩陣
從三個維度測試您的技能:
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
- 將技能內容添加到自訂指令
- 開始新對話
- 測試提示並驗證回應
自動化測試
為了進行徹底測試,建立一個測試套件:
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...
];
回歸測試
更新技能時:
- 記錄當前行為 - 儲存當前輸出的範例
- 進行更改 - 更新技能
- 比較輸出 - 檢查意外的變更
- 驗證改進 - 確認預期的更改有效
使用者測試
在廣泛發布前:
- Alpha 測試 - 與 2-3 位信任的使用者測試
- 收集回饋 - 什麼有效?什麼令人困惑?
- 迭代 - 進行改進
- Beta 測試 - 與更大的群組測試
- 發布 - 發布到市場
常見問題除錯
技能未啟動
檢查:
- 技能是否正確安裝?
- 提示是否與技能的領域相關?
- 是否有優先級更高的衝突技能?
行為不一致
檢查:
- 指南是否足夠具體?
- 是否有相互矛盾的規則?
- 技能是否太廣泛?
意外輸出
檢查:
- 範例是否清晰?
- 背景部分是否準確?
- 是否有未涵蓋的邊界情況?