Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DroidKaigi2020: Androidでもビジュアルリグレッションテストをはじめよう

DroidKaigi2020: Androidでもビジュアルリグレッションテストをはじめよう

iOSやJS界隈ではおなじみとなったビジュアルリグレッションテストが、
ライブラリの活用により最近Androidでも可能になってきました。
ビジュアルリグレッションテスト周りのAndroidライブラリ紹介や実際のテスト結果を紹介します。

※一部スクリーンショットが非表示の箇所がありますが意図的によるものです。

DroidKaigi:
https://droidkaigi.jp/2020/timetable/156578

サンプルアプリ:
https://github.com/keidroid/VisualRegressionTestingSample

Kei Hasegawa

March 01, 2020
Tweet

Other Decks in Programming

Transcript

  1. Agenda 1 What “Visual Regression Testing” ? 2 Why “Visual

    Regression Testing” ? 3 How “Visual Regression Testing” ?
  2. NYC DroidCon 2016 - Espresso: A Screenshot is Worth 1,000

    Words - https://youtu.be/fhx_Ji5s3p4 Espresso失敗時の問題特定
  3. 1. スクリーンショット取得 1.1 環境準備 1.2 Activity or Fragment を起動 1.3

    外部ストレージ許可 1.4 スクリーンショット出力 1.5 画像ファイルの取得
  4. 1.Spoon https://github.com/square/spoon ・square社が公開 (1.0.0 2013年) ・Instrumentation Test 配布ツール ・CLI, mavenで提供,

    3rd製でgradle版あり ・Activityのスクリーンショット撮影のみ ・Dialog, MenuItemが表示不可
  5. 1. スクリーンショット取得 1.1 環境準備 1.2 Activity or Fragment を起動 1.3

    外部ストレージ許可 1.4 スクリーンショット出力 1.5 画像ファイルの取得
  6. ビジュアルリグレッションテストに必要なこと 1. スクリーンショット取得 1.1 環境準備 1.2 Activity or Fragment を起動

    1.3 外部ストレージ許可 1.4 スクリーンショット出力 1.5 画像ファイルの取得 2. 差分画像取得 3. レポート化
  7. ビジュアルリグレッションテストに必要なこと 1. スクリーンショット取得 1.1 環境準備 1.2 Activity or Fragment を起動

    1.3 外部ストレージ許可 1.4 スクリーンショット出力 1.5 画像ファイルの取得 2. 差分画像取得 3. レポート化
  8. 2.1 Facebook Screenshot Tests For Android https://facebook.github.io/screenshot-tests-for-android/ ・ から差分画像の出力に対応 ・

    のFBSnapshotTestCaseと同等の使い方  ・recordMode / verifyMode つかいかた コード修正 ビルド
  9. まとめ(2) デバイスの統一 アニメーションOFF 外部ストレージ許可 Activity/Fragment起動 DI Mock 環境設定 スクショ取得 差分検出

    Dagger reg-suit Spoon Firebase Snapshotter Falcon AndroidX Test Runner Koin Mockito MockK Facebook Screenshot For Android