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
260
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How we automate End to End tests at mercari
システムテスト自動化カンファレンス2017-2
https://testautomationresearch.connpass.com/event/71564/
Tadashi Nemoto
December 10, 2017
More Decks by Tadashi Nemoto
See All by Tadashi Nemoto
コンテナイメージの脆弱性を削減する新しいアプローチ:Hardened Container Images
tadashi0713
1
310
Best Practice CI/CD Pipeline for Deploying Container Apps to AWS
tadashi0713
0
290
Scalable and cloud-native mobile game CI/CD environment using Unity
tadashi0713
0
170
Migrating your mobile CI/CD environment to a scalable cloud solution using CircleCI
tadashi0713
0
280
Speed matters: Advanced CI/CD techniques to improve development velocity, quality & security
tadashi0713
0
340
AWS Graviton 環境への CI _ CD パイプラインを CircleCI で実現しよう (AWS Fargate 編)
tadashi0713
0
400
10x deployment frequency using GitLab Flow and GitHub Actions on AWS ECS
tadashi0713
0
650
デプロイ頻度を10倍にした、ブランチ戦略とGitHub Actions on AWS ECS
tadashi0713
8
4.6k
Creating parallelized Android UITest (Appium) environment using Azure, Docker and Android emulator
tadashi0713
0
4.3k
Other Decks in Technology
See All in Technology
脱金融のフューチャー・デザイン / Future Design Beyond Finance
ks91
PRO
0
140
誤解だらけの開発生産性 / Myths and Misconceptions about Developer Productivity
i35_267
1
110
プライバシー保護の理論と実践
lycorptech_jp
PRO
1
250
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
DMM.com 購入改善推進チーム におけるCodeRabbitを用いた レビューフロー改善の一例
ysknsid25
2
580
依頼文化をやめる日 EM視点で語るPlatform EngineeringとInclusive SRE / Discussing Platform Engineering and Inclusive SRE from an EM's Perspective
shin1988
4
5.1k
Road to SRE NEXTの今までとこれから
hiroyaonoe
0
290
勉強会企画をアプリで構造化してみた 〜そこで見えた、AIとの付き合い方〜 / I've structured a study group plan using an app.
pauli
0
340
完全自律ロボットを作りたくて、先に開発を自律させた話(ROS Japan UG #63 LT)
rryz09
0
440
あなたの『Site』はどこですか? — xREという考え方
miyamu
0
1.2k
知らん間に、回ってる
ming_ayami
0
390
Zoom2Youtube.Claude
kawaguti
PRO
3
490
Featured
See All Featured
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
290
Docker and Python
trallard
47
3.9k
4 Signs Your Business is Dying
shpigford
187
22k
Why Our Code Smells
bkeepers
PRO
340
58k
Crafting Experiences
bethany
1
210
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Design in an AI World
tapps
1
260
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
210
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
Utilizing Notion as your number one productivity tool
mfonobong
4
360
Designing for humans not robots
tammielis
254
26k
Amusing Abliteration
ianozsvald
1
220
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