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
How we automate End to End tests at mercari
Search
Tadashi Nemoto
December 10, 2017
Technology
1
250
How we automate End to End tests at mercari
システムテスト自動化カンファレンス2017-2
https://testautomationresearch.connpass.com/event/71564/
Tadashi Nemoto
December 10, 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
200
Scalable and cloud-native mobile game CI/CD environment using Unity
tadashi0713
0
120
Migrating your mobile CI/CD environment to a scalable cloud solution using CircleCI
tadashi0713
0
220
Speed matters: Advanced CI/CD techniques to improve development velocity, quality & security
tadashi0713
0
290
AWS Graviton 環境への CI _ CD パイプラインを CircleCI で実現しよう (AWS Fargate 編)
tadashi0713
0
340
10x deployment frequency using GitLab Flow and GitHub Actions on AWS ECS
tadashi0713
0
560
デプロイ頻度を10倍にした、ブランチ戦略とGitHub Actions on AWS ECS
tadashi0713
8
4.3k
Creating parallelized Android UITest (Appium) environment using Azure, Docker and Android emulator
tadashi0713
0
4k
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
tadashi0713
2
1.4k
Other Decks in Technology
See All in Technology
解析の定理証明実践@Lean 4
dec9ue
0
180
BigQuery Remote FunctionでLooker Studioをインタラクティブ化
cuebic9bic
3
300
AIエージェント最前線! Amazon Bedrock、Amazon Q、そしてMCPを使いこなそう
minorun365
PRO
15
5.2k
なぜ私はいま、ここにいるのか? #もがく中堅デザイナー #プロダクトデザイナー
bengo4com
0
460
Абьюзим random_bytes(). Фёдор Кулаков, разработчик Lamoda Tech
lamodatech
0
340
AWS Summit Japan 2025 Community Stage - App workflow automation by AWS Step Functions
matsuihidetoshi
1
270
Delegating the chores of authenticating users to Keycloak
ahus1
0
120
20250625 Snowflake Summit 2025活用事例 レポート / Nowcast Snowflake Summit 2025 Case Study Report
kkuv
1
310
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
26k
Agentic Workflowという選択肢を考える
tkikuchi1002
1
510
Javaで作る RAGを活用した Q&Aアプリケーション
recruitengineers
PRO
1
110
Amazon S3標準/ S3 Tables/S3 Express One Zoneを使ったログ分析
shigeruoda
4
530
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
337
57k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
Automating Front-end Workflow
addyosmani
1370
200k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
How GitHub (no longer) Works
holman
314
140k
Documentation Writing (for coders)
carmenintech
72
4.9k
Rails Girls Zürich Keynote
gr2m
94
14k
Statistics for Hackers
jakevdp
799
220k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Fireside Chat
paigeccino
37
3.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
Transcript
How we automate End to End tests at mercari Tadashi
Nemoto
自己紹介 • 根本 征 (github: tadashi0713) • Since 2016 as
new graduate • QA-SET(Software Enginner in Test) team at Mercari • Automation Engineer • Web・Mobile test automation (UI・End to End) • iOS・Android CI • 社内業務自動化・効率化
自己紹介 • AppiumからXCUITestに変え、そのためにSwiftを学び始め た話 • Android CIをBitriseに移行して開発者・QAが幸せになったこ と • 退屈なブラウザ作業はSeleniumにやらせようーーはじめてで
もできるブラウザ操作自動化
メルカリ • アプリリリースから4年 • 日米7500万ダウンロード • 月間の流通総額100億円超 • 3つのリージョン・100人以上のソフトウェアエンジニア •
Tokyo, San Fransico, London Mercari Tech Conf 2017基調講演より
QA-SETチームとして取り組んできたテスト自動化 (主にモバイルアプリEnd to End)の • これまでと現在 • 意識していること3つ についてお話しします
これまでと現在
SET(Software Engineer in Test)チーム • 2016年10月に発足 • 開発拠点にUKが入ったのがきっかけ • QA工数の増大
• QA環境の整備 • 3人 • 開発環境・QA環境構築 2人 • アプリE2Eテスト 1人 → 2人
当時のプロダクト開発・QA状況 • USファーストの開発 • プロダクトチームの8~9割程度 • 3リージョン同じソースコード(API・iOS・Android) • QAはクライアントリリース前にマニュアルでリグレッション テストを実施
• 繰り返し作業、リリースサイクルが早い • 他リージョンへの考慮も必要
ターゲット • US版 iOS / Android • リリースが頻繁 & USファースト
• マニュアルで行われていたテスト項目を自動化 • マニュアルテストの工数を削減 • Android: Appium(Python→Ruby) • iOS: XCTest UITest(Swift)
結果 • 両OS共にテスト項目50%自動化 • 人より早くバグを見つけたことも • QA内でのテスト自動化の認知が上がった しかし、 • iOS・AndroidはRegionごとにFork
• US版はリニューアル版に移行 • よって中止
JP US UK
QA-SETチーム • 2017年4月に発足 • SET インフラエンジニア • SET 自動化エンジニア •
E2EテストはJP版・US(リニューアル)版から • JPはリグレッションテスト全体の約3/4が自動化 • アプリE2Eテスト以外にも取り組み出している • 取引画面(Webview) • Postman, JMeterを使ったAPIテスト
意識していること3つ
認知・使ってもらうことにこだわる 安定化とメンテナンスのしやすさ Not Only Test Automation
認知・使ってもらうことにこだわる
認知
None
None
None
使ってもらう
QA・エンジニアに使ってもらう • 自動テストはQAが実行できるように • リリース前のリグレッションテストより前に実行する • より早くバグ or 仕様変更が分かる •
リファクタリングのQA(API) • UnitTestは通っているものの、QA・エンジニア共に不安な部分 • iOSではlinkedin/bluepillを使用して複数シミュレータ(1OS)で並列 実行、約30分で終わる
None
None
安定化とメンテナンスのしやすさ
テストレポート • 落ちたテストの原因を調べるコスト • バグなのか、QA環境・通信環境問題か、テストが悪いのか • 手元で実行? 再度実行する? • https://github.com/vbanthia/rspec_html_formatter2
• スクリーンショット・スクリーンレコードをレポートに埋め込むこと が可能 • 作った人以外でも原因特定がしやすく
マスター タイトルの書式設定 • マスター テキストの書式設定
マスター タイトルの書式設定 • マスター テキストの書式設定
マスター タイトルの書式設定 • マスター テキストの書式設定
テスト環境 • Jenkinsのメンテナンスコスト(アップデート) • 自動化に使うためのデバイスを増やす際のコスト • デバイスに繋げているマシンのコスト • クラウドサービスで代用できるものはそちらを使ったほうが良い
テスト環境(Android) ビルド テスト実行 apkを保存 デバイス管理
マスター タイトルの書式設定 • マスター テキストの書式設定 どのアプリでも同じコードが書けるように selenium-webdriver capybara site_prism rspec
appium-driver capybara-appium site_prism rspec helpers / formatter appium_kit
https://www.slideshare.net/VishalBanthia1/andr oid-e2e-testing-at-mercari
Not Only Test Automation
プロダクトの品質向上 QA・プロダクトチームの生産性の向上
テストデータ自動作成 • 検証の際に様々な出品・購入パターンが必要 • 大量に必要になるケースもある • テスト自動化用に作ったテストデータ作成RubyライブラリをQA に提供 • ターミナルから簡単に使えるように
マスター タイトルの書式設定 • マスター テキストの書式設定 OpenSTF
マスター タイトルの書式設定 • マスター テキストの書式設定
Androidリリース作業自動化 手動でのリリース版ビルド & Play Storeへのアップロード エンジニアのコスト & オペミスの可能性
Androidリリース作業自動化(Bitrise)
Zapier • 複数のアプリを連携してワークフローを作成し自動化するツール • Slack, JIRA, Google Sheets, kintone, GitHub,
AWSなど • ノンプログラマーなプロダクトメンバーでも簡単に業務自動化が できる • 詳細は弊社Tech Blogで公開予定
Summary • 認知・使ってもらうことにこだわる • 安定性とメンテナンスのしやすさ • Not Only Test Automation