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

モバイルE2Eテストを継続・改善させるために取り組むKarakuri

Tadashi Nemoto
August 28, 2018
1k

 モバイルE2Eテストを継続・改善させるために取り組むKarakuri

Tadashi Nemoto

August 28, 2018
Tweet

More Decks by Tadashi Nemoto

Transcript

  1. モバイルE2Eテストを継続・改善させるために
    取り組むKarakuri
    Nemoto Tadashi
    Test Engineers Meetup #3

    View Slide

  2. 自己紹介
    • 根本 征(Nemoto Tadashi)
    • Automation & QA (AQA) Group
    • テスト自動化
    • Selenium, Appium, XCUITest, Espresso
    • モバイルCI / CD改善
    • 社内の生産性を上げるための自動化・サポート
    • https://seleck.cc/1230
    • 自称 Zapierエバンジェリスト

    View Slide

  3. Automation & QA Group

    View Slide

  4. モバイルテスティング

    View Slide

  5. View Slide

  6. AndroidのCI時間を10分短縮し、
    開発を爆速にするためのKarakuriを作った話
    https://tech.mercari.com/entry/2018/07/04/110000
    Android CI
    CircleCI 2.0

    View Slide

  7. Android CI
    Danger Codecov
    AndroidのCI時間を10分短縮し、
    開発を爆速にするためのKarakuriを作った話
    https://tech.mercari.com/entry/2018/07/04/110000

    View Slide

  8. エンジニアと一緒にテスト書いたり

    View Slide

  9. View Slide

  10. E2Eテスト(特にモバイル)は
    メンテナンスコストが高い
    不安定

    View Slide

  11. QAと一緒にE2Eテスト自動化を推進し
    1年以上メンテナンス・改善をしている

    View Slide

  12. なぜQAとなのか
    • QAとエンジニアで確認・テストしたいことは違う
    • テストの不安定さ < 自分たちの作業の一部自動化
    • スキルアップへのモチベーション

    View Slide

  13. 3つのポイント・改善
    • 実行環境を用意・安定化
    • テストレポートを充実させる
    • 調査・メンテナンスできる人を増やす

    View Slide

  14. 実行環境を用意・安定化

    View Slide

  15. Android
    apkビルド
    Google Cloud
    Storage

    View Slide

  16. Android

    View Slide

  17. Android
    クラウド実行環境
    Others
    デバイス

    View Slide

  18. iOS
    iOS Simulator
    メルカリiOSのUIテスト自動化をま
    るっとご紹介します!
    https://tech.mercari.com/entr
    y/2018/08/07/123000

    View Slide

  19. テストレポートを充実させる

    View Slide

  20. マスター タイトルの書式設定
    • マスター テキストの書式設定
    Android(github.com/vbanthia/rspec_html_reporter)

    View Slide

  21. マスター タイトルの書式設定
    • マスター テキストの書式設定
    Android(github.com/vbanthia/rspec_html_reporter)

    View Slide

  22. マスター タイトルの書式設定
    • マスター テキストの書式設定
    Android(github.com/vbanthia/rspec_html_reporter)

    View Slide

  23. iOS(XCTestHTMLReport)
    メルカリiOSのUIテスト自動化をま
    るっとご紹介します!
    https://tech.mercari.com/entr
    y/2018/08/07/123000

    View Slide

  24. 調査・メンテナンスできる人を増やす

    View Slide

  25. QAとの協業
    自動化エンジニア QA
    ● 実行結果の確認・フィードバック
    ● テストシナリオ作成・更新
    ● 一部スクリプト修正
    ● テストスクリプトの実装・修正
    ● 実行環境の構築・整備
    ● ライブラリの作成

    View Slide

  26. View Slide

  27. 次のステップ
    自動化エンジニア QA
    ● 実行結果の確認・フィードバック
    ● テストシナリオ作成・更新
    ● テストスクリプトの実装・修正
    ● テストスクリプトの実装・修正
    ● 実行環境の構築・整備
    ● ライブラリの作成

    View Slide

  28. Appium + RSpec + Turnip (Android)
    自動化エンジニア QA
    ● 実装しているシナリオの理解
    ● 新規シナリオの作成
    ● 既存シナリオの修正
    ● Stepの作成
    ● サンプルのシナリオを提供
    ● シナリオを書くためのサポート

    View Slide

  29. github.com/tadashi0713/table_beet2

    View Slide

  30. QAがシナリオを書くためのサポート

    View Slide

  31. 3つのポイント・改善
    • 実行環境を用意・安定化
    • テストレポートを充実させる
    • 調査・メンテナンスできる人を増やす
    + Automation, Karakuriしていく文化

    View Slide

  32. エンジニアの行動指針
    Automation, Karakuri

    View Slide

  33. Automation (自動化)
    本来すべきこと(コード・設計)
    に集中するため
    機械になるべくやらせて、効率化させる
    2度以上行なった作業は自動化の対象

    View Slide

  34. Karakuri (仕組み化)
    問題が起きた時、気合いではなく、
    人的エラーが起きない仕組みで解決する

    View Slide

  35. Automation, Karakuriしていく文化

    View Slide

  36. 一発でパーフェクトなE2Eテストは作れない
    自発的・継続的に
    Automation, Karakuriしていく文化

    View Slide