Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Firebase App Testing Agentで始めるAIベースの柔軟なE2Eテスト
Search
asmz
September 29, 2025
0
310
Firebase App Testing Agentで始めるAIベースの柔軟なE2Eテスト
Talked at【実践事例4選】AI Agentで変わるモバイルアプリ開発におけるテスト
asmz
September 29, 2025
Tweet
Share
More Decks by asmz
See All by asmz
モバイルアプリ開発へE2Eテストを導入しよう
asmz
0
110
React Native+Expoで始めるWebフロント開発
asmz
0
430
UIデザインを考える全ての人たちに捧げる Apple Human Interface Guidelinesのススメ
asmz
1
2.4k
Overview of Swift and iOS App development
asmz
0
1.3k
How to get mobile app logs using Firebase Crashlytics
asmz
0
870
OK Google, Deploy the iOS app
asmz
1
890
Cooperate with Adobe XD, Zeplin and Xcode
asmz
1
3.1k
phpconsen LT
asmz
0
760
SWWDC 39
asmz
1
260
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
32
2.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Code Review Best Practice
trishagee
72
19k
It's Worth the Effort
3n
187
28k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Mobile First: as difficult as doing things right
swwweet
224
10k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
A designer walks into a library…
pauljervisheath
209
24k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.6k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
The Language of Interfaces
destraynor
162
25k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Transcript
asmz.beer Firebase App Testing Agentで始める AIベースの柔軟な E2Eテスト 2025/9/29 AI Agentで変わるモバイルアプリ開発におけるテスト
Akira Shimizu / asmz
asmz.beer 誰なのか? • Akira Shimizu / asmz (@_asmz) • https://asmz.beer/
• 仙台在住 • モバイルアプリエンジニア ◦ iOS / Android / React Native / 最近はFlutter • 株式会社フライヤー所属 ◦ https://www.flierinc.com/ ◦ モバイルアプリケーションG テックリード
asmz.beer flierとは • 1冊10分で本の要約が読めるサービス • 約4,000冊超の要約が読み放題 • 通勤時間などスキマ時間で知識を吸収
asmz.beer アジェンダ • E2Eテスト導入の動機付け • MaestroによるE2Eテスト検討 • Firebase App Testing
Agentの利用 • まとめ
asmz.beer E2Eテスト導入の動機付け
asmz.beer 現在のアプリチームの開発の流れ • 1スプリント2週間 ◦ 前半1週間:開発 ◦ 後半1週間:QA、リリース準備 Sprint N
Sprint N+1 Week N Week N+1 Week N+2 feature A feature B feature C feature D feature E QA, Release - feature A - feature B - feature C QA, Release - feature D - feature E Week N+3
asmz.beer 現在のアプリチームの開発の流れ • QA(Quality Assurance)対象 ◦ スプリント内で行ったコード変 更箇所とその周辺 差分無し アプリケーションコード全体
新規追加コード 変更コード QA対象
asmz.beer 現在のアプリチームの開発の流れ • 課題感 ◦ デグレチェックが不十分 ◦ カバーするリソース不足 差分無し アプリケーションコード全体
新規追加コード 変更コード QA対象外
asmz.beer 現在のアプリチームの開発の流れ • 対応案(今回の動機付け) ◦ E2Eテストでカバーしたい 差分無し アプリケーションコード全体 新規追加コード 変更コード
E2E対象 QA対象
asmz.beer MaestroによるE2Eテスト検討
asmz.beer Maestroとは • https://maestro.dev/ • E2Eテストフレームワーク • iOS/Androidネイティブ、React Native、Flutterに対応
asmz.beer Maestroの特徴 • Yamlによる直感的なテストシナリオ定義 • アプリ起動 • ボトムナビゲーションのBlogタブを タップ •
リスト内で「Kotlin」から始まる要素 までスクロール • その要素をタップ • 左上のボタンを押して戻る
asmz.beer 実運用での課題 • 起動フローが複雑な場合、それを突破するシナリオを 用意するのが結構たいへん ◦ 初回起動時オンボーディング ◦ ホームへ辿り着くにはログイン必須 ◦
起動後不特定多数のポップアップ表示
asmz.beer 実運用での課題 例)起動後不特定多数の ポップアップ表示を閉じる OSによって表示が異な る場合はフロー分岐が 必要 発生しうるパターン全て で閉じるよう対処 もう少しfuzzyにやりたい気持ち...
asmz.beer Firebase App Testing Agentの利用
asmz.beer Firebase App Testing Agentとは https://firebase.google.com/docs/app-distribution/android/app-testing-agent?hl=ja • Gemini in Firebaseがベース
• 自然言語で定義したテストケースをAI Agentが理解し、 動作をシミュレートしてくれる自動テストツール • 現在プレビュー版でAndroidのみサポート
asmz.beer 自然言語によるテストケース作成 目標: テストエージェントが行う べき操作を記述 ヒント: テストエージェントの理解 を促す追加情報を提供 成功基準 :
テストエージェントがステッ プを正常に完了したか判 断する基準
asmz.beer 実行結果 テストエージェントが各ス テップでどういう動作をし たのかダイジェストで見れ る テストのフル動画や全ログは GCSに保存されており、ここの ボタンから行ける
asmz.beer これならfuzzyにやってくれるのでは ...?
asmz.beer 実験 • 「起動後不特定多数のポップアップを 表示」を再現 ◦ Firebase In-App Messageを1つ表示 ◦
モーダル表示、閉じたらアラート表示 ◦ アラート閉じたらSnackBar表示
asmz.beer 対応前テストケース • モーダル表示されると成功基準を達成できず失敗 6つの要素を見つけられ ずテスト失敗
asmz.beer テストケース編集 ここの記述を追記 モーダルやアラートがいく つ出るかは不確定なので 細かい言及はせずfuzzy に記載
asmz.beer 対応後テストケース • いい感じに突破してくれた!
asmz.beer 対応後テストケース
asmz.beer その他fuzzyにやってくれたこと • 1つくらいのモーダルなら今回のようなヒントがなくとも 勝手に閉じてくれる • 画面遷移時にエラーとなった時、勝手に戻ってリトライし てくれる
asmz.beer その他fuzzyにやってくれたこと • 「画面を戻る」などの指示で、明確な画面要素を指定しな くても察して 押してくれる ChromeCustomTabsのよ うな自分で作っていない画 面でも押してくれる
asmz.beer 今後改善を期待したいこと • 同じケースでも結果が変わることがある(flaky) ◦ 公式ドキュメントにも既知の問題として挙がっている ◦ 複雑なタスクは複数の短いステップに分割すると精度が上がると のこと
asmz.beer 今後改善を期待したいこと • 妙なところで失敗する ◦ 「ボトムバーのXXタブをタップしてXX画面へ遷移」 → 何度やってもXXタブの一つ右隣をタップする🤔 ◦ 「ユーザ名、パスワードを入力して、ログインボタン押下」
→ ユーザ名入力後にEnter押しちゃってログイン失敗
asmz.beer まとめ
asmz.beer まとめ • Firebase App Testing Agentは、画面の状況に合わせ てある程度柔軟に対応してくれる ◦ 「どの順番で何が出るか分からない」といったUIフローの突破
に一定の手応え • 現状はまだテスト動作に不安定さが残る ◦ 今後の改善に期待 今後のアップデート次第では モバイルE2Eテストのハードルを下げる新しい選択肢となるかも
asmz.beer まとめ • チーム運用ではMaestroとFirebase App Testing Agentを併用 ◦ QAビルド配布時 ▪
Firebase App Testing Agentで自動テスト • アプリ起動〜オンボーディング〜メイン機能までを自動で確認 ◦ QA開始 ▪ Maestro半自動テスト実行 • オンボーディング突破後のアプリに対して手動でテスト開始、以降はシナリ オに沿って網羅的に自動テスト
asmz.beer Enjoy, Engineering! 2025/9/29 AI Agentで変わるモバイルアプリ開発におけるテスト Akira Shimizu / asmz