Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

メルペイでのリグレッションテスト自動化推進のこれまでとこれから

 メルペイでのリグレッションテスト自動化推進のこれまでとこれから

約1年にわたるメルペイでのiOSアプリのリグレッションテストの自動化推進の流れを紹介したスライドとなります。/ This slide shows the flow of promoting the automation of iOS app regression testing at Merpay for a period of about a year.

Shingo Tamaki

April 13, 2021
Tweet

More Decks by Shingo Tamaki

Other Decks in Technology

Transcript

  1. 2 Full Name : 玉城信悟(Shingo Tamaki) 
 Role: iOS EM

    
 Joining Time : 2020/03/01 
 Career : KeywareSolutions→Techfirm→Origami→Merpay 
 Hobby : bouldering󰩥/airsoft🔫/martial arts(karate/kickboxing)🥊🤛
 玉城信悟

  2. 5 ~2020/03 
 
 - 主にマニュアルテスト 
 - ボランタリーベースでUIテストの導入開始 


    - UITestはCI環境がない。各メンバーのPC(ローカル)で実行
 - テストケースの管理はGoogle Spread sheets 
 - XCUITestによる自動化をケース毎にチケット化 
 メルペイのOrigami買収により3月から 入社
 リグレッションテスト自動化開始 
 入社
 3月
 

  3. 7 2020/04~2020/06 4月
 
 - ブランチ作成ルール 
 - PageObject導入
 -

    自動化対応数の可視化 
 - 目標スループット設定 
 - UIテストに関しては大きな変更 なし
 - XCTSkip
 テストの方針整備
 WWDC20
 5月
 
 - iOS13対応
 - Activityによる構造化 
 - Main Thread Checker 
 テスト追加
 6月
 
 - ケース毎にトラブル シューティング
 - 振り返り
 テスト追加
 自動化率 
 30%

  4. 9 2020/04~2020/06 主な問題💥 - UIView.AnimationEnable = falseを設定している 場合に表示されなくなる要素がありテストが失敗 - iOS13でのUIツリーの構造が変わった事により

    動かない問題 - Main Thread Checkerによるテストの失敗 - ビルド時間・UIテストの実装、デバッグ、実行時 間の長さ
  5. 11 2020/07~2020/09 7月
 
 - ドキュメンテーション 
 - TestRail移行
 -

    テストユーザー問題 
 - CI導入
 - PJ発足
 - API化
 テスト追加
 user-tkool機能拡張 
 8月
 
 - TestRail API調査
 テスト追加
 9月
 
 - TestRail連携
 - user-tkool APIクライアン ト開発
 - CI上での安定化
 - 振り返り
 テスト追加
 - XCUITestのつらさを乗り越え て、iOSアプリにUITestを導入 する
 iOSDC
 - テスト系の話は特になし 
 Recap of WWDC20
 自動化率 
 48%

  6. 12 2020/07~2020/09 - ドキュメンテーション - オンボーディング - Tips - TestRailへの移行

    - スプレッドシートの廃止 - 自動テストの結果の連携 - CircleCIでの実行 - 新しいワークフローの作成
  7. 15 2020/10~2020/12 10月
 
 - 複数端末検討
 - 複数OS検討
 - xcresultの活用事例などを紹

    介
 テスト追加&安定化 
 Merpay Tech Talk
 11月
 
 - iOS12対応開始
 - CIの実行時間改善
 - テスト実装者の増加 
 テスト追加&安定化
 12月
 
 - iOS14.2のSafariの不具 合
 テスト追加&安定化 
 - テストユーザーのキャッシュ プール検討
 user-tkoolの大型新機能 
 自動化率 
 72%

  8. 16 - テスト安定化のための施策検討 - テストユーザーの作成の安定化 - テスト環境の安定化 - 複数端末&OS対応 -

    iOS12~14 - テストケースの最適化 - 全体件数のスリム化検討 - テスト実装者の増加 - PJでUIテストの実装・メンテナンスが今後 やっていけるようにチームでナレッジの共有 や終わりに差し掛かった PJのメンバへのテ スト作成依頼 2020/10~2020/12
  9. 17 主な問題💥 - ボトルネック調査 - 自動化しにくいテストは何か - 新規に追加されたテストケースの確認 - CircleCIのiOS12未サポート問題

    - 新機能による変更への対応 - CircleCIのジョブの実行制限時間 (5h)問題 - ジョブ分割 - iOS14.2のSafariの不具合対応 2020/10~2020/12
  10. 19 テスト作成と安定化
 2021/01~2021/03 1月
 
 - CircleCI上でのiOS12検 証
 - テスト実行時間短縮

    
 - 複数端末のつらさを乗り越え てiOS UITestを実行 
 - 
 テスト作成と安定化
 Merpay Tech Talk
 2月
 
 - XCTSkipとTestRailの Skipの導入
 テスト作成と安定化
 3月
 
 -

  11. 20 - テストの実行時間の短縮化 - ブランチ名による限定的テストケースの実 行 - ログイン済み起動対応 - テストユーザーのキャッシュ機能による安定化

    - CircleCIのiOS12対応 - CircleCIのワークフローのリファクタリング - 画面更新によるUIテストの更新 2021/01~2020/03