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

手動リグレッションテストをE2Eテストに置き換えてみて、分かってきたこと

E8aaf6f975dda96c47412cf311089243?s=47 Tadashi Nemoto
July 26, 2017
1.2k

 手動リグレッションテストをE2Eテストに置き換えてみて、分かってきたこと

E8aaf6f975dda96c47412cf311089243?s=128

Tadashi Nemoto

July 26, 2017
Tweet

Transcript

  1. 2017/07/26 iOS Test Night #5 Tadashi Nemoto 手動リグレッションテストをE2Eテストに 置き換えてみて分かってきたこと

  2. 自己紹介 • 根本 征 (github: tadashi0713) • Software Engineer in

    Test @mercari • モバイルアプリ・WEBアプリをぶり ぶり自動化
  3. #4で発表した内容 https://speakerdeck.com/tadashi0713/appiumkaraxcuitestnib ian-e-sofalsetameniswiftwoxue-bishi-metahua

  4. • 前回から対象のアプリをUS版→JP版に変更 • 前回と同様、手動で行われていたリリース前のリグレッショ ンテストケースを自動化 • iOS・Android共に外部連携したものを除く100%をE2Eテス トで自動化 • 特に重要な購入・出品機能はパターンを増やして実装

    • iOSはXCTest UI Testで実装 最近までやっていたこと
  5. Bluepill を使って 1OS × 1 mac mini × 3 simulator

    で約30分 タイムアウトやリトライで安定的に実 行できるように ケースによって、実機での実行で行う テストも追加予定
  6. 導入してみてから約1ヶ月、、、 • 導入してみての効果 • 見えてきた課題

  7. 導入してみての効果

  8. 導入した際の効果が見えやすい 他のレイヤーのテストに比べ、最終的なアプリの振る舞い をテストしているので、 • QA合意のもと、手動テストに置き換えることができた • どのようなテストをしているのかが見えやすい ◦ 非エンジニアでも分かってもらいやすい

  9. アプリ全体に影響がでる可能性のある変更 • Xcode・ライブラリの更新 • アプリ全体に影響が出る変更 • APIの大幅な変更(PHP7移行、他リージョンへの影響) リグレッションを恐れずに変更できるようになる きっかけになるのでは 想定外のケースでも自動テストが活用できた

  10. 見えてきた課題

  11. ドキっ(実装途中に) UIテストで注意すべき点 手動テストを単純に置き換えない

  12. • 正しく〜ができていること • どこを、どこまでチェックできていれ ば正しくできている? • 解釈しながら相談して実装したが、QA とのずれが出る可能性がある テストケースの期待値のずれ

  13. テストケースに明示的に書かれていなくても、暗黙的 に確認しているケース • (まだないが)レイアウト崩れ • 期待値に行くまでの過程で実はチェック していた箇所 • 選択項目など

  14. • 勉強会などで実際にUIテストを書いてもらうことで、どこまで チェックできるか・どのようなテストケースになればいいのか、 考えるきっかけになれば • 手動テストではコスト上できていなかったパターン UIテストを意識して、テストケースを改善していく

  15. テスト区分戦略 (Maintenance、Fleakiness) • UI変更 • API変更 • 仕様に強く依存

  16. • Postmanを使ったAPI振る舞いテスト • Webview • UnitTest、FunctionalTest E2Eテスト以外で担保できる部分を増やしていく