テスト影響分析(TIA)を使用すると、AIコーディングエージェントからmablに「このコード変更は既存のテストのどれに影響するか」を尋ねることができます。TIAはそれらのテストを見つけ、安全に実行できるものを実行し、プルリクエストに添付できるレポートを返します。カバレッジが見つからない場合はその旨を伝え、テスト作成スキルへの引き継ぎを提案します。
この記事では、テスト影響分析のワークフロー全体を順に説明します。
はじめる前に
- Claude Code、Cursor、GitHub CopilotなどのAIコーディングエージェントにmablスキルをインストールします。 TIAはmablスキルプラグインの一部で、このプラグインはエージェントをmabl MCPにも接続します。
- TIAでテストをローカル実行したい場合は、mabl CLIをインストールしてログインします。
- mablのアプリケーションに対応するリポジトリで作業します。 分析はmablの1つのアプリケーションを対象とします。リポジトリが複数のアプリケーションにまたがる場合、TIAはアプリケーションごとに1回ずつ分析を実行し、結果を統合します。
分析を開始する
ユニットテストが成功した後、プルリクエストを開く前に、コーディングエージェントに変更の影響を受けるmablテストについて尋ねます。変更内容を説明する必要はありません。TIAがコード変更を読み取り、テストで使われているのと同じ製品の言葉で変更内容を説明します。
読み取り専用のテストや自身でクリーンアップするテストの実行を開始するには、次のようなプロンプトをエージェントに与えます。
私の変更をmablで検証してください。
影響を受けるテストの一覧だけが必要な場合は、次のように尋ねます。
私の変更の影響を受けるmablテストはどれですか?
TIAは分析を始める前に、ワークスペース、アプリケーション、環境、URL、クレデンシャル、テストをローカルとクラウドのどちらで実行するかといったスコープを特定します。コードに一致するmablアプリケーションが複数ある可能性がある場合、TIAは推測せずに確認します。まだデプロイされていない変更を検証するには、開発サーバーに対してローカル実行するようTIAに依頼するか、プレビューデプロイメントを指定します。
TIAはどのようにテストを選ぶのですか?
TIAがコード変更に関連するテストをどのように見つけるかについては、テスト影響分析の仕組みを参照してください。
実行計画を確認する
TIAは、何かを実行する前に、見つけたテストを実行計画として提示します。テストは3つのグループに分かれます。
- 今すぐ実行 - データを読み取るだけのテスト、または自身でクリーンアップするテストです。TIAはこれらを確認なしに実行し、まず1つをカナリアとして実行します。
- 承認が必要 - 共有データに書き込むテスト、TIAがクリーンアップを検証できないテスト、またはローカルで実行するために課金対象の機能が必要なテストです。TIAは各テストが何をどこに書き込むかを一覧にし、ユーザーの承認を待ちます。
- 実行しない - 無効になっているテスト、信頼性の低いテスト、または設定したスコープの外にあるテストです。それぞれに理由が付くため、スキップされたテストが忘れられたテストと誤解されることはありません。
すべてのテストにはmablへのリンクが付いており、そこから開くことができます。
TIAが自らmablのプランを実行することはありません。既存のmablプランが影響を受けるテストの大部分をカバーしている場合、TIAはそのことを指摘し、実行するかどうかをユーザーに委ねます。
レポートを確認する
実行が完了すると、TIAは5つのブロックからなる短いレポートを作成します。
| ブロック | わかること |
|---|---|
| スコープ | テストの実行対象となったアプリケーション、ワークスペース、環境、ビルドと、レポートの対象コミットです。この情報から、テストが成功したことだけでなく、変更を含むビルドに対して実行されたことを確認できます。 |
| 分析 | 分析が返したテストの数、見つかったカバレッジのギャップの数、結果の上限を超えてさらにテストが存在する可能性があるかどうかです。 |
| 検証済み | 実行された各テストとその結果です。失敗は原因ごとに分類されるため、変更前からすでに失敗していたテストがリグレッションとして報告されることはありません。 |
| 未実行 | 実行されなかった各テストとその理由です。無効、承認待ち、スコープ外、信頼性が低すぎる、のいずれかです。 |
| ギャップ | 変更が影響するユーザー向けの領域のうち、テストカバレッジが見当たらないものと、その後の対応です。テストが作成されたか、ギャップが保留されたかが示されます。 |
失敗を調査する
変更が原因でテストが失敗した場合は、エージェントに詳しく調べるよう依頼します。エージェントは失敗の証拠を取得し、mablのデバッグスキルがインストールされていれば、修正に対して実際のブラウザーで失敗を再現できます。AIコーディングエージェントからmablテストをデバッグするを参照してください。
追加のコミットを再検証する
追加のコミットをプッシュした場合は、もう一度尋ねてください。後のプッシュは最初の分析では見えなかった画面に影響する可能性があるため、TIAは新しいコミットを再分析します。新しいレポートでは、以前のコミットから引き継いだ結果と現在のコミットの結果が分けて表示されるため、どのテストがどのコミットに対して確認されたかがわかります。
ギャップに対してテストを作成する
レポート内のすべてのカバレッジのギャップについて、TIAはテスト作成スキルへの引き継ぎを提案します。提案を受け入れると、テスト作成のワークフローが始まります。テスト作成スキルがユーザーと一緒にギャップに対するテストを計画し、クラウドまたはローカルで作成します。テスト作成は常にオプトインです。どちらを選んでも、TIAはギャップが忘れられないようにレポートに記載します。
新しい画面やコントロールを追加したばかりの場合は、それをカバーするテストがあるかどうかをTIAに直接尋ねることもできます。
プロジェクトの既定値を保存する
TIAを初めて実行するとき、TIAはリポジトリに対応するアプリケーション、使用する環境とクレデンシャル、チームが重要なテストにどのようにラベルを付けているかを把握する必要があります。これらの答えはほとんど変わりません。次回からこれらの質問を省くには、CLAUDE.md や AGENTS.md など、エージェントがすでに読み取っているインストラクションファイルに保存するようTIAに依頼します。TIAはそのメモを出発点として使いますが、安全性のチェックが省かれることはありません。共有データに書き込むテストは引き続きユーザーの承認を待ち、TIAが自らプラン実行を開始することもありません。