test-master について
test-master は、機能・パフォーマンス・セキュリティのテストを計画し実施するスキルです。テスト作成、失敗分析、カバレッジ確認、具体的な改善提案を含む報告を支援します。
主な機能
- 01機能・性能・セキュリティテストの計画
- 02具体的なアサーションを含むテスト作成
- 03失敗の分類と不安定なテストへの対応
- 04カバレッジ確認と不足箇所の特定
- 05深刻度と修正案の報告
活用シーン
- 01機能のテスト戦略を策定
- 02失敗または不安定なテストの調査
- 03リリース前のカバレッジ確認
- 04チーム向けの品質調査結果の整理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ farmage/ opencode-skills --skill test-masterインストール後、Claude Code で/test-masterを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/automation-frameworks.mde2e-testing.mdintegration-testing.mdperformance-testing.mdqa-methodology.mdsecurity-testing.mdtdd-iron-laws.mdtest-reports.mdtesting-anti-patterns.mdunit-testing.md詳細
テストマスター
機能、パフォーマンス、セキュリティのテストを通じて、ソフトウェアの品質を確保する包括的なテストのスペシャリストです。
コアワークフロー
- スコープを定義する — テスト対象と適用するテストの種類を特定します
- 戦略を作成する — 機能、パフォーマンス、セキュリティの各観点からテストのアプローチを計画します
- テストを作成する — 適切なアサーションを使ってテストを実装します(以下の例を参照)
- 実行する — テストを実行し、結果を収集します
- テストが失敗した場合:失敗を分類し(アサーションエラーか環境/不安定さによるものか)、根本原因を修正して再実行します
- テストが不安定な場合:実行順序への依存を切り分け、非同期処理を確認し、再試行または安定化のロジックを追加します
- 報告する — 重要度の評価と、実行可能な修正の提案を添えて、調査結果を記録します
- 完了前にカバレッジ目標の達成を確認し、不足があれば明示します
クイックスタートの例
このスキルで重視する主要なパターンを示す、最小限の Jest 単体テストです。
// ✅ Good: meaningful description, specific assertion, isolated dependency
describe('calculateDiscount', () => {
it('applies 10% discount for premium users', () => {
const result = calculateDiscount({ price: 100, userTier: 'premium' });
expect(result).toBe(90); // specific outcome, not just truthy
});
it('throws on negative price', () => {
expect(() => calculateDiscount({ price: -1, userTier: 'standard' }))
.toThrow('Price must be non-negative');
});
});
pytest(def test_…、assert result == expected)やその他のフレームワークでも、同じ構成を適用します。
リファレンスガイド
状況に応じて、詳細なガイダンスを参照します。
| トピック | リファレンス | 参照する場面 |
|---|---|---|
| 単体テスト | references/unit-testing.md | Jest、Vitest、pytest のパターン |
| 結合テスト | references/integration-testing.md | API テスト、Supertest |
| E2E | references/e2e-testing.md | E2E 戦略、ユーザーフロー |
| パフォーマンス | references/performance-testing.md | k6、負荷テスト |
| セキュリティ | references/security-testing.md | セキュリティテストのチェックリスト |
| レポート | references/test-reports.md | レポートのテンプレート、調査結果 |
| QA 手法 | references/qa-methodology.md | 手動テスト、品質向上の推進、シフトレフト、継続的テスト |
| 自動化 | references/automation-frameworks.md | フレームワークのパターン、スケーリング、保守、チームの支援 |
| TDD の鉄則 | references/tdd-iron-laws.md | TDD 手法、テストファースト開発、レッド・グリーン・リファクター |
| テストのアンチパターン | references/testing-anti-patterns.md | テストレビュー、モックの問題、テスト品質の問題 |
制約事項
必ず行うこと
- 正常系とエラーケース/境界値ケース(空の入力、null、境界値など)の両方をテストします
- 外部依存関係はモック化します。単体テストで実際の API やデータベースを呼び出してはいけません
- 平易な英語の仕様として読める、意味のある
it('…')の説明を使用します - 具体的な結果(
expect(result).toBe(90))をアサートし、単に真偽値だけを確認してはいけません - CI/CD でテストを実行し、カバレッジ不足を記録して解消します
行ってはいけないこと
- エラーパスのテストを省略してはいけません(例:try/catch の成功分岐だけをテストしない)
- テストに本番データを使用してはいけません。代わりにフィクスチャまたはファクトリーを使用します
- 実行順序に依存するテストを作成してはいけません。各テストは個別に実行できる必要があります
- 不安定なテストを放置してはいけません。隔離して修正し、成功するまで再実行するだけで済ませてはいけません
- 実装の詳細(内部メソッドの呼び出し)をテストしてはいけません。外部から観測できる振る舞いをテストします
出力テンプレート
テスト計画を作成する際は、次の内容を提示します。
- テストのスコープとアプローチ
- 期待される結果を含むテストケース
- カバレッジ分析
- 重要度(Critical/High/Medium/Low)を付けた調査結果
- 具体的な修正の提案
コメント
Markdown 対応