きももまなきんのダンス

ぼちぼちと、技術的なあれこれを。

try! Swiftメモ: Day1-8 クックパッドアプリのテストを味わう

テストって実は難しくて、テストを行うための設計がされていないとちゃんと出来ないものです。

その点、Cookpadアプリでは画面遷移の8割をちゃんとUITestできているというのはすごいですね。

テストの大事さをきちんとチームで共有できているのだと思います。

概要

品質やテストの話は往々にして提供するサービスやアプリのコンテキストに依存します。クックパッドiOSアプリを題材にして、私たちが機能的な品質を保つためにどのようなテストを行ってきたかをお話します。特に、自動化されたテストに関してお話します。UIのリニューアルや様々な取り組みと変化だけではなく、Objective-CからSwiftへの書き換えなど、iOSを取り巻く環境は短い間に大きく変化しています。その中で、どのような取り組みにより最低限の不具合を防ぎ、iOSアプリをリリースし続けてきたのか。また、これにより得られた学びや、これからの取り組みに関してもお話しいたします。

トーク内容

  • Cookpadでやっているテストの話
  • Test Automation - UI Tests
  • CookpadのUIテストについて

    • 画面遷移はほぼ網羅した

      テストの実施

  • テスト対象について

    • 最低限クラッシュをしないこと
    • デグレを起こさないようにする
  • Testピラミッド
    • しばしば手動テストが膨れてしまう
      • 逆ピラミッドになりがち
    • ちゃんとしたピラミッド型になるのが理想だね
  • 画像の更新時
    • image diffを利用して差分を見る

テストしやすくする

  • コードにおける誤解を避ける

    • それぞれの層をきちんと責務別に分けることが大事
  • MVA 必要最低限アーキテクチャ

    • Minimum Viable Archetecture
    • Objectがなにで、other layerでどう使われるかをい指揮する
  • DTOを利用してもいいね
    • コアデータからDTO -> DTOへ受け渡し
  • テストがあることで、怖がることなく開発をすることができる
    • 安心感

スポンサードリンク