Upgrade to Pro — share decks privately, control downloads, hide ads and more …

自動化したのに回らない テスト運用の壁 ―AI時代の品質責任と生産性

自動化したのに回らない テスト運用の壁 ―AI時代の品質責任と生産性

AI DevEx Conference 2026にて、私(mabl 舟木将彦)が30分お話しさせていただいた内容です。
AIによるコード生成が当たり前になった今、開発速度は劇的に上がっています。しかしその裏で、「テストが追いつかない」「誰がどこまで品質に責任を持つのか」という問いに直面するエンジニアリングマネージャーが増えています。
本セッションでは、テスト自動化の導入・運用を通じて実際に直面した組織的な壁—「テストは作れるが誰もメンテナンスしない」「自動化したはずなのに手作業が減らない」—とその乗り越え方をご紹介します。
品質に関する指標の変化、そして開発生産性を測るための考え方まで踏み込みます。

More Decks by Masahiko Funaki(舟木 将彦)

Other Decks in Programming

Transcript

  1. これは他人事ではない:mabl開発現場のリアルな数字 • mablの開発現場: 25名のエンジニアが100以上のリポジトリをま たがって開発 • インフラ系リポジトリ: 6割のコミットがAIによるサポート • アプリ系リポジトリ:

    10→39% 月230件→370件以上のプルリクが行き交う しかし、この加速の裏で ーテストは同じスピードで回っていただろうか? AIによるPRサポート比率 (2025/8→2026/2) ※mabl社内の分類基準による
  2. 組織が直面する「2つの壁」 壁①: テストは作れるが 誰もメンテナンスしない 壁②: 自動化したはずなのに 手作業が減らない 画面の変更やリファクタリングで 要素名・属性値が変わり、 識別のためのコンテキストが失われる。

    テストの実行と、実行時のログ収集は 自動化された。 テストは静かに壊れ、CIが赤くなっても、 追う人がいない。 しかし、原因分析も、テストの修正も、 コードの修正も、結局人間が引き受けている。 それなら、コーディングエージェント(Claude CodeやGitHub Copilot)にテストも書かせればいい -そう思うのは自然ですが、そこに罠があることを数多く見てきました。
  3. 「つくる」と「検査する」、求められる視点は根本的に違う つくる=コーディングエージェント 検査する=テストエージェント ゴールは「動くコードを早く届ける」こと。 ゴールは「ユーザーの一連の操作が 本当に正しく動くか」を疑うこと。 公開されたコードやパターンから学習し、 コードを提案すること自体は、何の問題もない。 しかし、そのコードが実際に動くアプリケーシ ョン固有のコンテキストーログイン後の画面で

    何が起きるかーまでは知らない。 CIにおいては「ビルドが通った/テストが緑」 という自動的な合否シグナルがある。 しかし、アプリケーションの動作には、 そうした自動判定の仕組みが存在しない。 だからこそ mabl は、そのアプリ固有のコンテキストを補うために、 過去のテストやテスト結果を参照しながら、テストを作成している。
  4. 「予期しないこと」が起きても、テストは止まらない 従来のテストは、あらかじめ定義した テストステップの通りにしか進めません。 1つのテストに20のチェックポイントがある 場合、3番目で想定外の結果に当たると、 そこで停止し、残りの17チェックは 永久に実行されず、「3番目がうまくいって いたらどうなっていたのか」を知る方法は ありません。テストを修正して、再実行し ても、4番目以降で想定外の結果だと…

    mablは、 - 探していた情報がなければ次ページを探す - ダイアログがブロックしていれば閉じる - 検索フィルターが残っていればクリアする といった対応を、 テストステップとして事前定義しなくても QAエンジニアが問題を回避するように、 実行時に自動で適用することができます。 テストの完走率そのものが底上げされ、 「実行できたかどうか」に品質判断が左右さ れにくくなります。
  5. デモ:mabl × Claude Code / MCP ここまで紹介した4つの機能が、実際にどう組み合わさって動くかをご覧いただきます。 1. Claude CodeにmablのMCPサーバーを接続(.mcp.jsonに1行URL)

    2. UIのコード変更をコミットし、PRを作成 3. PRがまだ開いている段階で、mabl MCPが影響範囲を自動分析 4. 原因の特定と修正案の提示までを、その場で確認
  6. mablが辿り着いた4層アーキテクチャ 1. リポジトリ横断基盤 2. スキル基盤 LLMは本来、依存関係を一望できるモノリポ的な世界の方 が精度を発揮しやすい。しかし既存の100以上のリポジト リ構成を捨てる必要はない。ルールと依存関係グラフ (850行以上、79リポジトリ)を「横断基盤」として整 備することで、モノリポ化せずとも、複数リポジトリをま

    たぐ文脈をAIが把握できるようにした。 Claude Codeの「スキル」を個人のローカル環境に閉じ ず、チームで管理・共有する仕組み(MCPサーバー+36 以上のスキル)を構築。これにより、AI活用の恩恵は「使 い方がうまい一部の個人」の生産性向上にとどまらず、チ ーム全体の生産性向上につながる。 3. 運用とガバナンス 4. 人間による承認 AIコードレビューは、コーディング規約違反や既知のバグ パターンなど「機械的に判定できるチェック」を自動化し、 差し戻しで効率化を担う。一方「承認」は構造的に行わせ ない。連続する自動修正が続けば自動停止する仕組みも備 え、AIが自分にOKを出す事態を防いでいる。 AIによる大量PR生成は、開発現場全体で今や共通の悩み になっている。規約違反や重複コードのチェックはAIに任 せ、「このPRは本当にビジネス要件を満たしているか」 という最終判断だけは、常に人間が行う。
  7. 品質責任の設計図:4フェーズパイプライン 1. 分析 2. 計画 チケットと関連リポジトリ・過去のgit履歴を調査し、技 術サマリと疑問点をJiraに投稿。ここで確信度が低ければ 「claude-blocked」ラベルを付けて人間の回答を待ち、 無理に前進しない。 具体的なファイルパス・APIエンドポイント・テストケー

    スまで含めて実装計画を立てる。ここまで具体化してから コードを書くことで、実装フェーズの失敗率が約60%減 少した。 3. 実装 4. レビュー コードを書き、ローカルでテストを実行してPRを提出。 ここまでの確信度がどれだけ高くても、実装フェーズだけ は常に「低確信度」として扱われる——つまり自動でマー ジされる可能性は設計上ゼロになっている。 AIコードレビューとauto-fixエージェントがPRを整形し、 規約違反や重複コードを検出する。しかし承認・マージの 権限は与えられていない。最後にPRを見て意思決定する のは、常に人間である。
  8. 品質指標はどう変わったか 従来の指標 • テストケース数:いくつのテストを書いた か、という「量」の指標 • カバレッジ率:コードのどれだけをテスト が網羅しているか、という「範囲」の指標 mablが実際に使っている指標 •

    コンテキストドリフト率:AIがリポジトリ 間の依存関係を見失う頻度(リポジトリ横 断基盤の導入で40%→5%未満に改善) • 計画フェーズによる実装失敗率の削減: 計画フェーズを挟むことで、実装の手戻り をどれだけ減らせたか • API誤解の検出率:AIが古い・存在しない APIを使おうとした際、レビューで発見でき た割合
  9. 開発生産性を「アウトカム」で測る PR 732件(+291%) PR 291件 PR 約700件 PR 370件以上 PR

    230件 2025 8月 10月 2026/1 2月 3月 39%(インフラ系60%) 17% AI支援コミット 10% 2026 転換点 直近90日 PR数 2.5倍 70%