Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
手動リグレッションテストをE2Eテストに置き換えてみて、分かってきたこと
Search
Tadashi Nemoto
July 26, 2017
1
1.9k
手動リグレッションテストをE2Eテストに置き換えてみて、分かってきたこと
https://testnight.connpass.com/event/59283/
Tadashi Nemoto
July 26, 2017
Tweet
Share
More Decks by Tadashi Nemoto
See All by Tadashi Nemoto
Best Practice CI/CD Pipeline for Deploying Container Apps to AWS
tadashi0713
0
220
Scalable and cloud-native mobile game CI/CD environment using Unity
tadashi0713
0
140
Migrating your mobile CI/CD environment to a scalable cloud solution using CircleCI
tadashi0713
0
240
Speed matters: Advanced CI/CD techniques to improve development velocity, quality & security
tadashi0713
0
300
AWS Graviton 環境への CI _ CD パイプラインを CircleCI で実現しよう (AWS Fargate 編)
tadashi0713
0
360
10x deployment frequency using GitLab Flow and GitHub Actions on AWS ECS
tadashi0713
0
600
デプロイ頻度を10倍にした、ブランチ戦略とGitHub Actions on AWS ECS
tadashi0713
8
4.4k
Creating parallelized Android UITest (Appium) environment using Azure, Docker and Android emulator
tadashi0713
0
4.2k
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
tadashi0713
2
1.5k
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Being A Developer After 40
akosma
91
590k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Writing Fast Ruby
sferik
630
62k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
A designer walks into a library…
pauljervisheath
210
24k
Thoughts on Productivity
jonyablonski
73
5k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Transcript
2017/07/26 iOS Test Night #5 Tadashi Nemoto 手動リグレッションテストをE2Eテストに 置き換えてみて分かってきたこと
自己紹介 • 根本 征 (github: tadashi0713) • Software Engineer in
Test @mercari • モバイルアプリ・WEBアプリをぶり ぶり自動化
#4で発表した内容 https://speakerdeck.com/tadashi0713/appiumkaraxcuitestnib ian-e-sofalsetameniswiftwoxue-bishi-metahua
• 前回から対象のアプリをUS版→JP版に変更 • 前回と同様、手動で行われていたリリース前のリグレッショ ンテストケースを自動化 • iOS・Android共に外部連携したものを除く100%をE2Eテス トで自動化 • 特に重要な購入・出品機能はパターンを増やして実装
• iOSはXCTest UI Testで実装 最近までやっていたこと
Bluepill を使って 1OS × 1 mac mini × 3 simulator
で約30分 タイムアウトやリトライで安定的に実 行できるように ケースによって、実機での実行で行う テストも追加予定
導入してみてから約1ヶ月、、、 • 導入してみての効果 • 見えてきた課題
導入してみての効果
導入した際の効果が見えやすい 他のレイヤーのテストに比べ、最終的なアプリの振る舞い をテストしているので、 • QA合意のもと、手動テストに置き換えることができた • どのようなテストをしているのかが見えやすい ◦ 非エンジニアでも分かってもらいやすい
アプリ全体に影響がでる可能性のある変更 • Xcode・ライブラリの更新 • アプリ全体に影響が出る変更 • APIの大幅な変更(PHP7移行、他リージョンへの影響) リグレッションを恐れずに変更できるようになる きっかけになるのでは 想定外のケースでも自動テストが活用できた
見えてきた課題
ドキっ(実装途中に) UIテストで注意すべき点 手動テストを単純に置き換えない
• 正しく〜ができていること • どこを、どこまでチェックできていれ ば正しくできている? • 解釈しながら相談して実装したが、QA とのずれが出る可能性がある テストケースの期待値のずれ
テストケースに明示的に書かれていなくても、暗黙的 に確認しているケース • (まだないが)レイアウト崩れ • 期待値に行くまでの過程で実はチェック していた箇所 • 選択項目など
• 勉強会などで実際にUIテストを書いてもらうことで、どこまで チェックできるか・どのようなテストケースになればいいのか、 考えるきっかけになれば • 手動テストではコスト上できていなかったパターン UIテストを意識して、テストケースを改善していく
テスト区分戦略 (Maintenance、Fleakiness) • UI変更 • API変更 • 仕様に強く依存
• Postmanを使ったAPI振る舞いテスト • Webview • UnitTest、FunctionalTest E2Eテスト以外で担保できる部分を増やしていく