【AI自動テスト】アプリテストエージェント(β版)使ってみた結果【Firebase】
はじめに
Firebaseがリリースしたテストエージェント(β版)を使用してみたのでレポートします。テストケースを自然言語で記述するだけで、AI(Gemini)がUIを読み取り、テストを実行してくれます。
ちなみに、現在はベータ版です。
概要
FirebaseのAI自動テストツール(アプリ テスト エージェント)は、Gemini in Firebaseを活用したテストケースの生成、管理、実行エージェントです。テストの目標を自然言語で定義すると、エージェントはAIを使用してアプリを理解して操作し、ユーザーインタラクションをシミュレートして、詳細なテスト結果を提供します。
何がすごいか
これまでのUIテストには、いくつかの大きな課題がありました。AI自動テストツールはこれらを一気に解決する可能性を感じます。AIが画面要素を理解し、自然言語でテストを定義できるため、テストが書きやすいだけでなく、テストの壊れやすさが大幅に改善されます。アプリのUIが変更されても、AIが柔軟に対応してくれるのです。
テストの書きにくさ
UIテストコードを書くためには、テストフレームワークの使い方から画面要素の特定方法(ID、XPath、セレクタなど)、テストの設計パターン、非同期処理の扱い方まで、幅広い知識が必要でした。
非開発者でもGUIでUIテストを記述、実行できるツールの台頭もありつつやはり時間のかかる作業でした。
テストの壊れやすさ
画面要素のIDやXPathが少しでも変更されると、テストはたちまち失敗してしまいます。アプリのUIが変更されるたびに、テストスクリプトの修正が必要で、メンテナンスコストが膨れ上がっていました。
実際の使用感
Flutter製アプリで検証してみました。
テストケースの作成
以下のように、自然言語でテストの目標を定義するだけで、AIが自動的にテストを実行してくれます。まるで人間にテストを指示しているかのような柔軟性があります。
テストの実行と結果確認
テストの実行は非常にシンプルです。アプリをFirebaseにアップロードし、テスト実行をクリックするだけ。テスト結果も詳細に確認でき、各テストの成功/失敗、スクリーンショット、操作ログなどが詳細に記録されます。
↑テスト実行直後。おそらくアプリのインストールから始まるためか5分ほどかかった。
↑アプリが立ち上がり、テスト開始。ここからはさすがに素早い。
↑完了。テストケースを追加すればさらにテスト可能。
(なにやらSMS一応入れようとしているけど、ちゃんとプロンプト書けばすぐ改善できそう)
料金
プレビュー期間中は、AIガイド付きテストは割り当て上限内で無料で提供されます。デフォルトの割り当て上限は1か月あたり100件のテストです。
複数のテストケース、または同じテストケースを複数のデバイスで実行する場合、複数のテストとしてカウントされます。たとえば、2つのデバイスで2つのテストケースを実行した場合、合計4件のテストとしてカウントされます。
おわりに
AI自動テストツールによって、開発効率の向上はもちろんのこと、今後はテスト自動化の民主化がさらに進むと予想されます。これまでテスト自動化はエンジニアの専門領域でしたが、AIの力を借りることで、非エンジニアでもテストを実行できるようになりそうですね。
まだ発展途上の機能ではありますが、今後の進化に注目していきたいと思います。
Discussion