コンテンツにスキップ

LayerX QAエンジニアがClaude Code Agent Skillsでテスト戦略を実装した話

概要

LayerX QAエンジニアの小山が、バクラク事業部での品質定義やテスト戦略を Claude Code Agent Skills に落とし込み、早期テスト(Shift Left Testing)の原則を実践した取り組み。「QAの言語化がAI時代のレバレッジになる」という主張。

詳細

Claude Code Agent Skills とは

Claude Code Agent Skills は、ドメイン知識やチームの作業手順を「スキル定義ファイル」として記述し、Claude Code に繰り返し使わせる仕組み。.claude/commands/ ディレクトリに Markdown ファイルを置くことで、/スキル名 というスラッシュコマンドとして呼び出せる。

.claude/
  commands/
    qa-review.md     # QAレビュースキル
    test-strategy.md # テスト戦略スキル
    release-check.md # リリース前チェックスキル

単なるプロンプトテンプレートではなく、「このプロジェクトにおける品質の定義」「どのテストをどのタイミングで書くべきか」「受け入れ条件の書き方」といったチームの暗黙知を形式知として埋め込む場所。

LayerX での実践:QA知識をスキルに落とし込む

バクラク事業部での取り組みでは、以下のような品質定義をスキルとして記述した。

# qa-strategy スキル(概念例)

## テスト方針
- ユニットテスト: ビジネスロジック(ドメイン層)を中心に書く
- 統合テスト: DB・外部API・メッセージキューとの境界に書く
- E2Eテスト: クリティカルパス(請求書の発行フローなど)に絞る

## 品質定義
- バグとは「受け入れ条件を満たさない動作」
- 受け入れ条件は Given-When-Then 形式で書く
- 境界値・異常系は必須でカバーする

## 受け入れ条件の書き方
Given: [前提状態]
When:  [操作・イベント]
Then:  [期待される結果]

このスキルを Claude Code に与えると、コードを生成する際に「このコンテキストでは何をテストすべきか」を自律的に判断して実装できるようになる。

Shift Left Testing:早期テストの原則

品質保証のコストは後工程ほど指数的に上がる。

要件定義 → 設計 → 実装 → テスト → 本番
  ↑バグ発見コスト: 1x → 5x → 10x → 50x → 100x

「早期テスト」とは、テストを後回しにせず設計・実装と同時に行うこと。Claude Code にテスト戦略を Skill として与えると、コード生成と同時に「このロジックには境界値テストが必要」「このメソッドは副作用があるので統合テストが必要」という判断を織り込んでくれる。

QAの言語化がAI時代のレバレッジになる理由

AI コーディングエージェントは「何をテストすべきか」の文脈がなければ、最小公倍数的なテスト(ハッピーパスのユニットテストを数件書く)しかしない。

QA の専門知識を言語化して Skill に落とし込むことで:

  1. AI が自律的に品質基準に沿ったテストを書けるようになる
  2. チームメンバー全員が同じ品質基準で開発できる
  3. 「なぜこのテストが必要か」の知識がコードベースに残る

AI 時代の QA エンジニアの価値は「テストを書く」ことではなく「何をテストすべきかを言語化する」ことに移行している。

実践:自分のプロジェクトへの適用方法

  1. 現在のテスト戦略を文章で書き出す(「うちは DB 境界には統合テストを書く」など)
  2. .claude/commands/qa.md に品質定義・テスト戦略を記述する
  3. 実装時に /qa コマンドで Claude Code に品質レビューをさせる
  4. フィードバックをもとにスキル定義を改善する

「言語化できないなら AI に渡せない」という制約が、逆にチームの品質定義の明確化を促す。

なぜ重要か / いつ使うか

  • Claude Code を使い始めて「AI が書くテストの質が低い」と感じているチーム
  • QA の暗黙知をチームで共有したいとき
  • 新しいメンバーがプロジェクトの品質基準を素早くキャッチアップするとき
  • テストを後回しにしがちな開発サイクルを改善したいとき
  • QAエンジニアとしてAI時代での自分の価値を再定義したいとき