採択 2019/09/07 10:30〜 Track D レギュラートーク(30分)

スナップショットテスト実戦投入 iOSDC Japan 2019

imaizume imaizume imaizume

SnapshotTestingやiOSSnapshotTestCaseなど、
スクリーンショットによる差分検知フレームワークが近年注目されています。
これらは指定した画面のスクリーンショットを自動撮影し、
予期せぬ表示上のデグレを検知してくれる画期的なツールです。

一方私のプロダクトでは、状態再現の手間から来るQAコストの増加や
新しいUI作成時の仕様認識のズレなどが課題となっていました。

そこで改善のためSnapshotTestingを導入しQAコストの削減に取り組むことにました。

しかし当然ながら、単純にViewを渡すだけではうまくいきません。
なぜなら導入までに、下記のような下準備が必要なためです。

  • API通信をモックする
  • 必要な状態をモックできるレスポンスを考える
  • アプリ内フラグやログインをモックする
  • UIのモックが可能な設計にする
  • 自動テストとの連携

なかなか一筋縄ではいかない導入でしたが、
結果として画面のカタログを作成しデグレ検知に成功しました。
本トークではスナップショットテストの導入にあたり、
注意すべき点や知っておくと良い点についてお話します。
導入のメリットに見合うかどうか、自身のプロダクトが抱えている課題を解決できそうか、
その参考となる情報を提供できればと思います。