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
500
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
120
React Native+Expoで始めるWebフロント開発
asmz
0
470
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
880
OK Google, Deploy the iOS app
asmz
1
910
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
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Building an army of robots
kneath
305
46k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Code Review Best Practice
trishagee
72
19k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
How STYLIGHT went responsive
nonsquared
100
5.9k
We Have a Design System, Now What?
morganepeng
53
7.8k
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