Source: https://aiprimetech.io/ja/claude-code/qa-automation/ [ホーム](/ja/) › [Claude Code](/ja/claude-code/) › QA 自動化 [概要](/ja/claude-code/)[インストール](/ja/claude-code/install/)[CLIリファレンス](/ja/claude-code/cli/)[料金と制限](/ja/claude-code/pricing/)[Agent SDK](/ja/claude-code/sdk/)[スキルとプラグイン](/ja/claude-code/skills/)[GitHub](/ja/claude-code/github/)[ウェブ、デスクトップ、IDE](/ja/claude-code/web-and-desktop/)[モデル](/ja/claude-code/models/)[エラー](/ja/claude-code/errors/)[オープンソース?](/ja/claude-code/open-source/)[チュートリアル](/ja/claude-code/tutorial/)[学生向け](/ja/claude-code/for-students/)[QA自動化](/ja/claude-code/qa-automation/)[Cursorとの比較](/ja/claude-code/vs-cursor/)[Codex・OpenCodeとの比較](/ja/claude-code/vs-codex/)[サブエージェント](/ja/claude-code/subagents/)[フック](/ja/claude-code/hooks/)[MCP](/ja/claude-code/mcp/)[エコシステム](/ja/claude-code/ecosystem/)[VS Code](/ja/claude-code/vscode/)[OpenRouter](/ja/claude-code/openrouter/)[レート制限](/ja/claude-code/rate-limits/)[中国語ガイド](/claude-code/zh/) 最終更新: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 [すべての使い放題プラン →](/ja/plans/) ## まずは無料で試す 新規アカウントには $5分の無料APIクレジット を、コード CLAUDECODE で提供します。SonnetでClaude Codeを一晩試すのに十分な額です。その後は額面の7.69231倍のクレジットを利用できます。 ``` export ANTHROPIC_BASE_URL=https://aiprimetech.io export ANTHROPIC_API_KEY=your_key ``` [コードCLAUDECODEでアカウントを作成](/register?promo=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キーを取得](/register?promo=CLAUDECODE) [無制限プランを見る](/ja/plans/) AI Prime Techは独立したAPIゲートウェイであり、Anthropicとの提携関係はなく、同社の推奨や支援も受けていません。「Claude」と「Claude Code」はAnthropicの商標です。ここで説明するClaude Codeの機能は、執筆時点のAnthropicの公開ドキュメントに基づいており、頻繁に変更されます。このページの料金とモデル一覧は、このゲートウェイの現在の設定から取得しています。 ## その他のClaude Codeガイド [Claude Code:完全ガイド](/ja/claude-code/)[Claude Codeのインストール方法](/ja/claude-code/install/)[Claude Code CLIドキュメント:コマンドとフラグ](/ja/claude-code/cli/)[Claude Codeの料金と制限を解説](/ja/claude-code/pricing/)[Claude Code SDKからClaude Agent SDKへ](/ja/claude-code/sdk/)[Claude Codeのスキルとプラグイン](/ja/claude-code/skills/)[GitHubでのClaude Code:App、Action、@claude](/ja/claude-code/github/)[Claude Codeにウェブインターフェースはある?ウェブ、デスクトップ、IDEを解説](/ja/claude-code/web-and-desktop/)[Claude Codeが使用するモデルと変更方法](/ja/claude-code/models/)[Claude Codeのエラーと修正方法](/ja/claude-code/errors/)[Claude Codeはオープンソースですか?](/ja/claude-code/open-source/)[Claude Codeチュートリアル:初めての実践セッション](/ja/claude-code/tutorial/)[学生向けClaude:Claude Code、API、教育向け提供で実際に得られるもの](/ja/claude-code/for-students/)[Claude CodeとCursorの比較:どちらをいつ使うか、そして両方を併用する方法](/ja/claude-code/vs-cursor/)[Claude Code vs Codex vs OpenCode:ターミナルエージェントの比較](/ja/claude-code/vs-codex/)[Claude Codeのサブエージェント:仕組み、定義方法、エージェントチーム](/ja/claude-code/subagents/)[Claude Codeのフック:エージェントの動作を決定論的に制御する](/ja/claude-code/hooks/)[Claude CodeのMCP:サーバー接続、スコープ、リモートMCPと実例](/ja/claude-code/mcp/)[Claude Codeのエコシステム:ルーター、フレームワーク、プラグインと、それらをまとめたリスト](/ja/claude-code/ecosystem/)[VS Codeで使うClaude Code:拡張機能、ターミナル経由の利用、エラー](/ja/claude-code/vscode/)[Claude CodeでOpenRouterを使う方法(使わないほうがよい場合も)](/ja/claude-code/openrouter/)[Claudeのレート制限エラー:「API error: rate limit reached」の意味と解決方法](/ja/claude-code/rate-limits/)[Claude Codeの使い方:インストールから日常的な利用まで](/claude-code/zh/)