Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction of mercari SET team

Introduction of mercari SET team

Kenichi Masuda

March 17, 2017
Tweet

More Decks by Kenichi Masuda

Other Decks in Technology

Transcript

  1. Introduction of
    mercari SET team
    ICST meetup
    @masudaK 2017/03/17

    View full-size slide

  2. 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

    View full-size slide

  3. mercari
    ● Founded: 2013/02/01
    ● Meaning: “Market” in Latin
    ● Office: Tokyo, Sendai, Fukuoka, San
    Francisco, Portland and London
    ● People: about 400

    View full-size slide

  4. SET
    (Software Engineer in Test)

    View full-size slide

  5. SET
    ● Members: 5
    ● Started: 2016/10
    ● Mission:
    ○ Improve product quality
    and developer productivity through
    engineering

    View full-size slide

  6. 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

    View full-size slide

  7. Me
    ● HN: @masudaK on Twitter
    ● Position: SET in mercari
    ● Joined: 2016/04/15
    ● Before: SRE
    ● Now: SET

    View full-size slide

  8. Explosion of
    new employees

    View full-size slide

  9. Explosion of
    new regions

    View full-size slide

  10. Automation is a MUST

    View full-size slide

  11. One command
    dev environment

    View full-size slide

  12. Ideology
    ● Easy getting started
    ● Easy tracing error
    ● Disposable
    ● Simple Architecture
    ● Not only for engineers
    ● Here to help with anything

    View full-size slide

  13. Design
    ● By using Docker for Mac and
    docker-compose
    ● By registering user domains on local DNS
    ● By dividing data with data container

    View full-size slide

  14. Execute only
    “make init”

    View full-size slide

  15. Then you can access

    View full-size slide

  16. https://masuda-api-us.your-domain.com

    View full-size slide

  17. One click
    QA environments

    View full-size slide

  18. Ideology
    ● Have own environments for QA
    ● Disposable
    ● Easy to create(1min)
    ● Easy to deploy own topic branch

    View full-size slide

  19. 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

    View full-size slide

  20. Access admin url

    View full-size slide

  21. Choose your instance

    View full-size slide

  22. Choose your
    topic branch

    View full-size slide

  23. Just click
    “build” button

    View full-size slide

  24. Anyone can use
    their own QA env

    View full-size slide

  25. Automate E2E tests

    View full-size slide

  26. Current environments
    XCUITest
    iOS
    Android

    View full-size slide

  27. Problem one
    • follow up the changes of UI
    • catch up the differences of A/B tests

    View full-size slide

  28. To keep coverage
    is
    difficult

    View full-size slide

  29. Problem two
    • tell the product team how automation will
    improve
    • their development cycle
    • their product quality

    View full-size slide

  30. To publish outputs
    is
    so important

    View full-size slide

  31. 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)

    View full-size slide

  32. We have lots of
    challenges

    View full-size slide

  33. We need
    more engineers

    View full-size slide

  34. https://www.mercari.com/jp/jobs/
    https://www.wantedly.com/projects/62657

    View full-size slide