Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
手動リグレッションテストをE2Eテストに置き換えてみて、分かってきたこと
Search
Tadashi Nemoto
July 26, 2017
1.9k
1
Share
手動リグレッションテストをE2Eテストに置き換えてみて、分かってきたこと
https://testnight.connpass.com/event/59283/
Tadashi Nemoto
July 26, 2017
More Decks by Tadashi Nemoto
See All by Tadashi Nemoto
Best Practice CI/CD Pipeline for Deploying Container Apps to AWS
tadashi0713
0
250
Scalable and cloud-native mobile game CI/CD environment using Unity
tadashi0713
0
160
Migrating your mobile CI/CD environment to a scalable cloud solution using CircleCI
tadashi0713
0
260
Speed matters: Advanced CI/CD techniques to improve development velocity, quality & security
tadashi0713
0
320
AWS Graviton 環境への CI _ CD パイプラインを CircleCI で実現しよう (AWS Fargate 編)
tadashi0713
0
390
10x deployment frequency using GitLab Flow and GitHub Actions on AWS ECS
tadashi0713
0
630
デプロイ頻度を10倍にした、ブランチ戦略とGitHub Actions on AWS ECS
tadashi0713
8
4.5k
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
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
260
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
470
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
310
Amusing Abliteration
ianozsvald
1
150
Designing for Timeless Needs
cassininazir
0
180
Joys of Absence: A Defence of Solitary Play
codingconduct
1
330
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
500
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Claude Code のすすめ
schroneko
67
220k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
For a Future-Friendly Web
brad_frost
183
10k
BBQ
matthewcrist
89
10k
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テスト以外で担保できる部分を増やしていく