デバイス操作はAIエージェントの時代へ。mobile-mcpを活用したAndroid UI/E2Eテストの挑戦
Mori AtsushiLINEヤフー株式会社
Androidアプリの開発において、ユニットテスト等でカバーできる領域の自動化や、テストコードのAI生成は非常に重要なアプローチです。しかし、テストコードが十分に整備されていない過渡期のプロジェクトや、最終的な結合フェーズにおいては、依然として「実機やエミュレータを動かしてEnd-to-End(E2E)で動作確認を行う」という泥臭い手動プロセスが必要とされています。 もちろん、定型的なリグレッションテストであれば、既存のE2Eテストツールを活用して網羅的に自動化するアプローチが有効です。しかし、開発の現場で本当に欲しいのは、「変更を加えた特定の機能や画面だけを、最低限かつ手軽に確認できる、より開発者視点に寄り添った軽量な検証フィードバック」ではないでしょうか。 この課題を解決すべく、近年MCP(Model Context Protocol)などを活用し、AIにデバイス操作を委ねてUI/E2Eテストを自律駆動させるソリューションが注目を集めています。しかし、単純に「この画面をテストして」と指示するだけでは、AIが全く意図しない画面に迷い込んだり、前提となる状態を再現できずに手戻りが発生したりと、実運用におけるハードルは低くありません。 本セッションでは、これら「AIによる自律的なデバイス操作」をプロダクション環境で実用化するために私が直面した課題と、それを乗り越えた具体的な4つのアプローチを、実体験に基づいて解説します。 本セッションで解説する4つのアプローチ 1. どのように目的の画面に遷移(特定)させるか スクリーン名と画面の起動方法を定義した「リファレンスファイル(マップファイル)」による画面特定の仕組み adbを活用した現在表示されているActivity情報の監視・特定手法 リファレンスファイルにおける、期待するUIオブジェクトや文字列の定義方法 2. どのように目的の状態を再現するか AIが迷わずに前提条件を整えるための、adbを通じたアプリ操作コマンドの生成・実行フレームワーク 3. どのように「テスト成功」を検証するか 画面遷移や操作後に「期待する状態」が満たされているかの定義・検証方法 スクリーンショットの撮影と履歴管理によるエビデンスの記録 4, どのようにリファレンスファイルを維持するか AIとのコミニュケーション内容からリファレンスファイルを自動更新・同期する仕組み 単なる理想論ではなく、実際にプロダクションで運用しているからこそ見えてきた「AIエージェントにAndroidを触らせるための実践的ノウハウ」を具体例を交えてお届けします。
対象者
手動でのUI/E2E確認コストを圧倒的に削減したいマネージャー・開発者 MCPやAIエージェントを活用した、一歩進んだテスト自動化のアーキテクチャに興味がある方