ホーム › Claude Code › QA 自動化
概要インストールCLIリファレンス料金と制限Agent SDKスキルとプラグインGitHubウェブ、デスクトップ、IDEモデルエラーオープンソース?チュートリアル学生向けQA自動化Cursorとの比較Codex・OpenCodeとの比較サブエージェントフックMCPエコシステムVS CodeOpenRouterレート制限中国語ガイド
最終更新:2026年10月11日

QA自動化にClaude Codeを使う方法

Claude Code が QA 作業を特に得意とするのは、QA が自力で完結できるループだからです。テストを書き、実行し、失敗内容を読み、テストまたはコードを修正して、再実行します。このガイドでは、最初のテストファイルの生成から、すべてのプルリクエストでのヘッドレス実行まで、実践的な設定方法を説明します。

TLDR

  • CLAUDE.md にテストランナーのコマンドを記載すれば、方法を指示しなくてもテストの作成、実行、修正を行います。
  • 最適な入力:仕様、再現手順を含むバグ報告、または手本となる既存のテストファイル。
  • ヘッドレス実行: claude -p 置き換え先: --allowedTools を CI で実行します。GitHub Action はプルリクエストで同じ処理を行います。
  • エンドツーエンド:Playwright MCP サーバーを使うと、実際のブラウザーを操作できます。これらのセッションは短く保ってください。

QA ワークフローで Claude Code ができること

  • プロジェクトの既存のスタイルとフレームワークに合わせて、モジュールのユニットテストを生成する。
  • バグ報告を失敗する回帰テストに変換し、テストが通るまでコードを修正する。
  • 既存のテストスイートに不足しているエッジケースを追加する(空の入力、Unicode、タイムアウト、同時実行)。
  • Playwright または Cypress のエンドツーエンドテストを作成し、ブラウザー MCP サーバーを使って稼働中のアプリに対して実行する。
  • 失敗した CI 実行を調査する:ログを読み、原因を特定し、修正を提案または適用する。
  • プルリクエストをレビューして、テストされていない実行経路を見つけ、結果を投稿する。

できないのは、何が重要かを判断することです。有用な検証を何も行わないテストでも、ためらわずに行カバレッジ 100% を達成します。出力の品質は指示の品質に左右されます。そのため、以下の設定はプロンプトではなくメモリファイルから始めます。

設定:テストの実行方法を伝える

# CLAUDE.md
## Testing
- Unit tests: `npm test` (vitest). Files live next to the source as `*.test.ts`.
- E2E: `npx playwright test`, specs in `e2e/`. Needs the dev server: `npm run dev`.
- Always run the relevant test file after editing it. Do not mark a test `.skip` to make the suite pass.
- Prefer table-driven tests; one behaviour per `it()`; no snapshot tests for logic.

このブロックによって、推測で動くエージェントが、コントリビューションガイドを読んだ同僚のように振る舞うエージェントに変わります。希望するアサーションのスタイルと、絶対にしてほしくないこと(データベースのモック化、テストのスキップ、誤った出力に合わせたフィクスチャの編集)を追加してください。

仕様やバグ報告からテストを生成する

> Read src/billing/prorate.ts. Write vitest tests covering the documented behaviour in
  docs/billing.md, including month boundaries, leap years and a zero-day period.
  Run them; if any fail, tell me whether the code or the doc is wrong before changing code.
> Bug #412: uploading a 0-byte file returns 500 instead of 400. Write a failing test that
  reproduces it, then fix the handler so the test passes. Do not touch other tests.

各プロンプトの最後の文が重要です。「コードとドキュメントのどちらが間違っているか教えてください」と伝えると、自分が作ったばかりのテストに合わせて、黙って動作を変更するのを防げます。「ほかのテストには手を加えないでください」と伝えると、テストを通すために無関係なアサーションを編集するという典型的な失敗を防げます。

実行と修正のループ

テストを書いた後に実行するよう依頼してください。失敗時の出力を読み、調整し、再実行します。通常は二〜三回の反復で済みます。許可を求めるプロンプトに注意し、 Bash(npm test*) と Bash(npx playwright test*) を一度、次の設定で許可してください: /permissions 。これによりループが中断されなくなります。破壊的なコマンドは、その都度確認する設定にしておいてください。同じテストで四〜五回以上ループする場合は停止してください。テストが誤った内容を検証している可能性が高いため、人間が確認する必要があります。

CI でのヘッドレス実行

# generate regression tests for whatever changed, non-interactively
git diff --name-only origin/main...HEAD | grep -E 'src/.*\.ts$' > changed.txt
claude -p "For each file in changed.txt, add or extend tests for the changed behaviour. Run them." \
  --allowedTools "Read,Edit,Write,Bash(npm test*),Bash(git diff*)" \
  --max-turns 25 --output-format json > claude-qa.json

プリントモードでは質問が一切行われないため、実行する可能性のあるすべての操作を、次の設定で事前に許可する必要があります: --allowedTools、および --max-turns でループの上限を設定します。ANTHROPIC_BASE_URL=https://aiprimetech.io とゲートウェイのキーを CI シークレットとして設定すると、実行料金はゲートウェイの残高または無制限プランに計上されます。結果をブランチにコミットし、人間がレビューするようにしてください。生成されたテストを自動マージしないでください。

すべてのプルリクエストで実行:GitHub Action

Claude Code GitHub Action は、誰かがコメントすると同じループを実行します @claude プルリクエスト上で、または作成時に自動で実行できます。ワークフローに「このPRでテストされていない分岐を確認し、そのテストを追加してください」というQA向けの指示を入れると、レビュアーが確認する前にすべてのPRを一通りチェックできます。GitHubガイドでは、Appのインストール、ワークフローファイル、費用を説明しています。

Playwrightによるエンドツーエンドテスト

利用方法は二段階あります。ブラウザーなしでは、ページ構造と説明からPlaywrightのテスト仕様を作成し、それをユーザーが実行します。Playwright MCPサーバーを接続すると(/mcp)、アプリを開き、クリックしてフローをたどり、DOMを読み取り、実際に確認した内容に合ったテストを作成できます。セレクターの信頼性は大幅に高まりますが、セッションは長くなります。ブラウザーセッションごとに扱うフローは一つに絞り、セッションの合間に /clear してください。スクリーンショットやDOMダンプはサイズが大きく、ターンごとに再送信されます。

QA実行の費用を抑える

  • Sonnetのティアを使いましょう。テスト生成でOpusが必要になることはほとんどありません。ログのトリアージにはHaikuのティアで十分です。
  • 一度に対象とするのは、一つのモジュールか一つのバグにしましょう。「リポジトリ全体のテストを追加してください」は、最も費用がかかるプロンプトです。
  • /compact を、各テストファイルの追加後に実行してください。読み込んだ失敗ログは、その時点ではもう役に立ちません。
  • CIでは、上限を設定するために --max-turns を使い、変更されたファイルのみを対象に実行してください。
  • 毎日利用するチームなら、定額の無制限プランを使うことで、トークン単位の費用を気にする必要がなくなります。
計画期間料金
1時間使い放題1時間$1
24時間使い放題24時間$10
1週間使い放題1週間$49
15日間使い放題15日間$89

すべての使い放題プラン →

まずは無料で試す

新規アカウントには $5分の無料APIクレジット を、コード CLAUDECODE で提供します。SonnetでClaude Codeを一晩試すのに十分な額です。その後は額面の7.69231倍のクレジットを利用できます。

export ANTHROPIC_BASE_URL=https://aiprimetech.io
export ANTHROPIC_API_KEY=your_key

コードCLAUDECODEでアカウントを作成

よくある質問

Claude Codeはユニットテストを作成できますか?

はい。CLAUDE.mdに既存のフレームワークとスタイルが記載されていれば、それに沿って作成できます。その後にテストを実行するよう依頼すると、自分で間違いを修正します。

Claude CodeはPlaywrightのテストを実行できますか?

はい。単独でテスト仕様を作成でき、Playwright MCPサーバーがあれば、実際のブラウザーを操作してテストを作成・検証できます。

Claude CodeはQA自動化に適していますか?

テスト生成、作成・実行・修正のサイクルの完結、CI失敗のトリアージには非常に適しています。ただし、何をテストすべきかの判断を代替するものではなく、生成されたテストもマージ前に人間によるレビューが必要です。

テストのためにCIでClaude Codeを実行するにはどうすればよいですか?

claude -pに--allowedToolsと--max-turnsを指定し、ゲートウェイまたはAnthropicの認証情報をシークレットとして設定して、出力をレビュー用ブランチにコミットします。GitHub Actionは、プルリクエスト向けに同じ処理をまとめたものです。

ゲートウェイでClaude Codeを実行

同じモデルを環境変数の設定だけで利用できます。額面の7.69231倍のクレジット、または定額無制限プランを選べます。 新規アカウント:コードCLAUDECODEで$5分の無料APIクレジット。

APIキーを取得 無制限プランを見る

AI Prime Techは独立したAPIゲートウェイであり、Anthropicとの提携関係はなく、同社の推奨や支援も受けていません。「Claude」と「Claude Code」はAnthropicの商標です。ここで説明するClaude Codeの機能は、執筆時点のAnthropicの公開ドキュメントに基づいており、頻繁に変更されます。このページの料金とモデル一覧は、このゲートウェイの現在の設定から取得しています。

その他のClaude Codeガイド

Claude Code:完全ガイドClaude Codeのインストール方法Claude Code CLIドキュメント:コマンドとフラグClaude Codeの料金と制限を解説Claude Code SDKからClaude Agent SDKへClaude CodeのスキルとプラグインGitHubでのClaude Code:App、Action、@claudeClaude Codeにウェブインターフェースはある?ウェブ、デスクトップ、IDEを解説Claude Codeが使用するモデルと変更方法Claude Codeのエラーと修正方法Claude Codeはオープンソースですか?Claude Codeチュートリアル:初めての実践セッション学生向けClaude:Claude Code、API、教育向け提供で実際に得られるものClaude CodeとCursorの比較:どちらをいつ使うか、そして両方を併用する方法Claude Code vs Codex vs OpenCode:ターミナルエージェントの比較Claude Codeのサブエージェント:仕組み、定義方法、エージェントチームClaude Codeのフック:エージェントの動作を決定論的に制御するClaude CodeのMCP:サーバー接続、スコープ、リモートMCPと実例Claude Codeのエコシステム:ルーター、フレームワーク、プラグインと、それらをまとめたリストVS Codeで使うClaude Code:拡張機能、ターミナル経由の利用、エラーClaude CodeでOpenRouterを使う方法(使わないほうがよい場合も)Claudeのレート制限エラー:「API error: rate limit reached」の意味と解決方法Claude Codeの使い方:インストールから日常的な利用まで