Introduction of
mercari SET team
ICST meetup
@masudaK 2017/03/17
Slide 2
Slide 2 text
mercari
Slide 3
Slide 3 text
mercari
● A customer to customer marketplace app
for iOS, Android and Web
● You can sell anything(legal)
● You can buy anything
● 60 million downloads in JP and US
● Now released in UK
Slide 4
Slide 4 text
No content
Slide 5
Slide 5 text
No content
Slide 6
Slide 6 text
mercari
● Founded: 2013/02/01
● Meaning: “Market” in Latin
● Office: Tokyo, Sendai, Fukuoka, San
Francisco, Portland and London
● People: about 400
Slide 7
Slide 7 text
SET
(Software Engineer in Test)
Slide 8
Slide 8 text
SET
● Members: 5
● Started: 2016/10
● Mission:
○ Improve product quality
and developer productivity through
engineering
Slide 9
Slide 9 text
Approach
● product quality:
○ By automating E2E tests
○ By creating flexible testing
environments
○ By introducing new tools for test case
management
● developer productivity
○ By creating development environment
with single command
Slide 10
Slide 10 text
Me
Slide 11
Slide 11 text
Me
● HN: @masudaK on Twitter
● Position: SET in mercari
● Joined: 2016/04/15
● Before: SRE
● Now: SET
Slide 12
Slide 12 text
Recently
Slide 13
Slide 13 text
No content
Slide 14
Slide 14 text
No content
Slide 15
Slide 15 text
No content
Slide 16
Slide 16 text
Explosion of
new employees
Slide 17
Slide 17 text
No content
Slide 18
Slide 18 text
No content
Slide 19
Slide 19 text
No content
Slide 20
Slide 20 text
Explosion of
new regions
Slide 21
Slide 21 text
Automation is a MUST
Slide 22
Slide 22 text
Our job
Slide 23
Slide 23 text
One command
dev environment
Slide 24
Slide 24 text
Ideology
● Easy getting started
● Easy tracing error
● Disposable
● Simple Architecture
● Not only for engineers
● Here to help with anything
Slide 25
Slide 25 text
Design
● By using Docker for Mac and
docker-compose
● By registering user domains on local DNS
● By dividing data with data container
Slide 26
Slide 26 text
Images
Slide 27
Slide 27 text
Execute only
“make init”
Slide 28
Slide 28 text
Then you can access
Slide 29
Slide 29 text
https://masuda-api-us.your-domain.com
Slide 30
Slide 30 text
One click
QA environments
Slide 31
Slide 31 text
Ideology
● Have own environments for QA
● Disposable
● Easy to create(1min)
● Easy to deploy own topic branch
Slide 32
Slide 32 text
Design
● The system for QA
● Mainly created by docker-compose
● on GCP
● Closest Instance by geo load balancer
● Using oauth2-proxy as auth
● Using GCP snapshot and ansible
● Using rundeck for job management
Slide 33
Slide 33 text
No content
Slide 34
Slide 34 text
Access admin url
Slide 35
Slide 35 text
No content
Slide 36
Slide 36 text
Choose your instance
Slide 37
Slide 37 text
Choose your
topic branch
Slide 38
Slide 38 text
Just click
“build” button
Slide 39
Slide 39 text
No content
Slide 40
Slide 40 text
Anyone can use
their own QA env
Slide 41
Slide 41 text
Automate E2E tests
Slide 42
Slide 42 text
Current environments
XCUITest
iOS
Android
Slide 43
Slide 43 text
Problem one
• follow up the changes of UI
• catch up the differences of A/B tests
Slide 44
Slide 44 text
To keep coverage
is
difficult
Slide 45
Slide 45 text
Problem two
• tell the product team how automation will
improve
• their development cycle
• their product quality
Slide 46
Slide 46 text
To publish outputs
is
so important
Slide 47
Slide 47 text
Problem thee
• choice the valid tool and language
• management for test case (ex: Excel,
TestRail and so on)
• platform for tests (ex: Device Farm,
STF and so on)
• programming language (ex: Ruby,
Python, Swift and so on)