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
160
Scalable and cloud-native mobile game CI/CD environment using Unity
tadashi0713
0
94
Migrating your mobile CI/CD environment to a scalable cloud solution using CircleCI
tadashi0713
0
190
Speed matters: Advanced CI/CD techniques to improve development velocity, quality & security
tadashi0713
0
260
AWS Graviton 環境への CI _ CD パイプラインを CircleCI で実現しよう (AWS Fargate 編)
tadashi0713
0
300
10x deployment frequency using GitLab Flow and GitHub Actions on AWS ECS
tadashi0713
0
530
デプロイ頻度を10倍にした、ブランチ戦略とGitHub Actions on AWS ECS
tadashi0713
8
4.1k
Creating parallelized Android UITest (Appium) environment using Azure, Docker and Android emulator
tadashi0713
0
3.8k
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
tadashi0713
2
1.3k
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
520
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
20
2.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
990
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
How to train your dragon (web standard)
notwaldorf
89
5.8k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
270
RailsConf 2023
tenderlove
29
980
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テスト以外で担保できる部分を増やしていく