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
1.8k
手動リグレッションテストを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
140
Scalable and cloud-native mobile game CI/CD environment using Unity
tadashi0713
0
81
Migrating your mobile CI/CD environment to a scalable cloud solution using CircleCI
tadashi0713
0
170
Speed matters: Advanced CI/CD techniques to improve development velocity, quality & security
tadashi0713
0
240
AWS Graviton 環境への CI _ CD パイプラインを CircleCI で実現しよう (AWS Fargate 編)
tadashi0713
0
270
10x deployment frequency using GitLab Flow and GitHub Actions on AWS ECS
tadashi0713
0
500
デプロイ頻度を10倍にした、ブランチ戦略とGitHub Actions on AWS ECS
tadashi0713
8
4k
Creating parallelized Android UITest (Appium) environment using Azure, Docker and Android emulator
tadashi0713
0
3.7k
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
tadashi0713
2
1.3k
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
GitHub's CSS Performance
jonrohan
1030
460k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
BBQ
matthewcrist
85
9.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
The Cult of Friendly URLs
andyhume
78
6k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
RailsConf 2023
tenderlove
29
900
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
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テスト以外で担保できる部分を増やしていく