最近出た Firebase App Distribution の App Testing Agent (Android) を軽く試してみました。
前回の記事で作ったサンプルアプリをテスト対象に使ってみます。
やりかた
まず、App Distribution にいままでと同じようにアップロードします。
で、上部にある導線から App Testing Agent にオプトインします。
そうすると、上部のタブに「テストケース」が増えました:
「新しいテストケース」を押すと、テストケースを指示するモーダルが出ますので、適当に入れます:
今回はただ単にアプリが起動することだけを確認してみます。こういう指示のしかたであっているのかは不明です。
保存するとテストケース一覧に追加されるので、実行したいテストケースをチェックして「テストを実行」してみます:
実行対象のビルドや認証情報の指定があるので、適当なものを選んで「テストを実行します」:
そうすると、該当のビルドで「アプリ テスト エージェント」の欄にテストの状態が出ます:
結果: 成功が期待される単純な起動チェック
終わったら結果が確認できました:
成功条件も解釈されていそうです:
The app is displaying its main screen, indicating it launched successfully. The goal of launching without crashing has been achieved.
Google Cloud Storage 上にテストのログや動画がアーティファクトとして残っていて便利です:
結果: 失敗を期待する UI の詳細のチェック
ホントに解釈されているのか、落ちる期待のテストケースを作って確認してみました。
The goal was to check if the color of the checkmark is red. The current color is blue, so the goal failed.
ちゃんとチェックマークの画像が赤色ではなくて青色であることを認識してテストが失敗していそうです。
感想
UI 要素の見た目のチェックなど、真面目にテストを書こうと思うと大変になりそうなケースでも曖昧な指示で動いてくれそうなので、期待通り AI が活躍できる場面は多そうだなと感じました。対象の UI 要素を指定したりは、画像レベルでのチェックするのをコードで書くことは面倒ですが、これであれば容易です。
反面、今回確認していないところで画面遷移とか複雑な操作の指示があった場合は特に、プロンプトによってどういう動きになるか予測がつきづらいとか、基準が明でないあいまいさの弊害もありそうで表裏一体になりそうな気配もあり、実戦投入するとどんな感じになるかは未知数ですね。
でも、単純に便利で面白そうなので入れてみたいですね! 以上です。