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

1週間リリースを支えるAndroid自動テスト運用のその後 / Developments Since Launching Operation of Android Automated Testing to Support One-Week Releases

mercari
October 14, 2023

1週間リリースを支えるAndroid自動テスト運用のその後 / Developments Since Launching Operation of Android Automated Testing to Support One-Week Releases

メルペイAndroidチームでは週次リリースの運用を支えるため、リリース前判定のために行われているリグレッションテストの自動化に取り組んでいます。以前公開した記事でもテスト自動化について取り上げましたが、アプリリニューアルを経て、組織の構造も大幅に変わる中、テスト体制も1年半の中で変わってきました。
このセッションではメルペイAndroidチームとしてテストの自動化にどのように取り組んでいるかについて取り上げます。

In order for the Merpay Android Team to support the operation of weekly releases, they have been working on an initiative to automate regression testing carried out prior to making judgement about whether to make a release. In the past, the team also published an article that covered test automation, but after the redesign of the Mercari marketplace app, the structure of the organization changed extensively, and the test system has also changed over the past year and a half.
This session covers how the Merpay Android Team has worked on automated testing.
------
Merpay & Mercoin Tech Fest 2023は3日間のオンライン技術カンファレンスです。
IT企業で働くソフトウェアエンジニアおよびメルペイ・メルコインの技術スタックに興味がある方々を対象に2023年8月22日(火)、23日(水)、24日(木)の3日間、開催します。 Merpay & Mercoin Tech Fest は事業との関わりから技術への興味を深め、プロダクトやサービスを支えるエンジニアリングを知ることができるお祭りです。

今年のテーマは「Unleash Fintech」。 メルペイ・メルコインのこれまでの技術的な取り組みはもちろん、メルカリグループのFintech事業における新たな挑戦をお伝えします。 セッションでは事業を支える組織・技術・課題などへの試行錯誤やアプローチなど多面的にご紹介予定です。

メルペイ・メルコインが今後どのようにUnleash(解放)していくのか、ぜひ見に来てください。

■イベント関連情報
- 公式ウェブサイト:https://events.merpay.com/techfest-2023/
- 申し込みページ:https://mercari.connpass.com/event/286670/
- Twitterハッシュタグ: #MerpayMercoinTechFest
■リンク集
- メルカリ・メルペイイベント一覧:https://mercari.connpass.com/
- メルカリキャリアサイト:https://careers.mercari.com/
- メルカリエンジニアリングブログ:https://engineering.mercari.com/blog/
- メルカリエンジニア向けTwitterアカウント:https://twitter.com/mercaridevjp
- 株式会社メルペイ:https://jp.merpay.com/

mercari

October 14, 2023
Tweet

More Decks by mercari

Other Decks in Technology

Transcript

  1. Session Title
    1週間リリースを支える
    Android自動テスト運用のその後
    Kenta Takahashi / Shintaro Miyabe
    Merpay Android Team

    View full-size slide

  2. Kenta Takahashi / @kenken
    2021年5月にメルペイ入社。現在は「メルペイのあと
    払い」をはじめとした与信領域の機能開発やリグ
    レッションテストの自動化などを担当している。
    国内最大級のAndroidカンファレンス「DroidKaigi」
    の運営にも携わっている。
    株式会社メルペイ Android Team
    2021年12月にメルペイ入社。Androidエンジニアと
    して支払いタブやカードの開発、テストの自動化など
    を担当。DroidKaigiの運営にもスタッフやスピーカー
    として参加。
    株式会社メルペイ Android Team
    Shintaro Miyabe / @shinmiy

    View full-size slide

  3. メルカリアプリのリリースサイクル

    リグレッションテスト自動化フロー

    View full-size slide

  4. メルカリアプリのリリースサイクル

    View full-size slide

  5. メルカリ・メルペイで行ったリリースサイクルのアップデート
    | メルカリエンジニアリング (link)
    リリースサイクルアップデート

    View full-size slide

  6. 1週間リリースを支える
    Android自動テスト運用 | メルカリエンジニアリング (link)
    E2Eテスト実行環境の概要

    View full-size slide

  7. 1週間リリースを支える
    Android自動テスト運用 | メルカリエンジニアリング (link)
    E2Eテスト実行環境の概要

    View full-size slide

  8. 1週間リリースを支える
    Android自動テスト運用 | メルカリエンジニアリング (link)
    E2Eテスト実行環境の概要

    View full-size slide

  9. 1週間リリースを支える
    Android自動テスト運用 | メルカリエンジニアリング (link)
    E2Eテスト実行環境の概要

    View full-size slide

  10. 1週間リリースを支える
    Android自動テスト運用 | メルカリエンジニアリング (link)
    E2Eテスト実行環境の概要

    View full-size slide

  11. QAチームとの連携の流れ
    QA
    テストケース作成 TestRail反映 Jiraチケット作成 E2Eテスト実装 TestRail更新
    Engineer
    QA QA Engineer
    ● チケット作成&説明
    文にTestRailのリン
    クを記載 (QA)
    ● テストケースを確
    認、自動化が難し
    いものはクローズ
    (Engineer)
    ● 実行種別をautoに
    更新
    ● 失敗率の高いもの
    をmanualで再実行
    ● 新しくテストケース
    を作成
    ● 既存機能の改善に
    伴いテストケースを
    更新
    Engineer
    ● 実行種別はmanual
    を指定
    ● 💪💪💪💪

    View full-size slide

  12. 1年半で変わったこと

    View full-size slide

  13. 1年半で変わったこと
    GroundUP App プロジェクトのリリース
    01
    プログラム体制への移行
    02

    View full-size slide

  14. GroundUP App プロジェクトのリリース
    段階的Jetpack Compose導入〜メルペイの場合〜 Merpay Tech Fest 2022

    View full-size slide

  15. プログラム体制への移行
    プロジェクトマトリクス体制 プログラム体制

    View full-size slide

  16. チームとして変えたこと

    View full-size slide

  17. AndroidチームOKRの一部として取り組む形式へ
    01
    各プログラムから1名ずつ参加するメンバー構成へ
    02
    チームとして変えたこと

    View full-size slide

  18. AndroidチームOKRの一部として取り組む形式へ
    ● 支払いタブのリニューアルに伴い、Passしなくなった
    E2Eテストの復旧が急務となった
    ● Espresso → Compose UI Testへの移行
    ● Androidチームとして明確なOKRを設定して取り組
    み始めた

    View full-size slide

  19. 各プログラムから1名ずつ参加するメンバー構成へ
    Android
    E2Eテストチーム
    ● 属人化の排除
    ● 多様なドメインに関する知識の共有
    ● 新機能や仕様変更への追随

    View full-size slide

  20. チーム運用の工夫

    View full-size slide

  21. Slackのハドルで常時通話しながら実装
    ● 毎週E2Eテストに関する作業をする時間を確保
    ● ハドルに入りながら進捗を出す
    ● 困ったらその場で画面シェアをして全員で解決に取り組む
    ● 進捗状況をもとにタスクを調整

    View full-size slide

  22. 簡易的なカンバン方式の採用
    ● サブプロジェクト的な位置付けのため朝会はやっていない
    ● JIRAを使った簡易的なカンバン運用
    ● 全体で取り組むチケット数を火曜のわいわい会で決めてアサイン
    ● メイン業務のタスク状況に応じてアサインを変更

    View full-size slide

  23. 知見メモの活用

    View full-size slide

  24. PRにテスト動画を載せる

    View full-size slide

  25. サブ目標としての達成会 (TDD)

    View full-size slide

  26. 課題点・大変なところ

    View full-size slide

  27. 課題点・大変なところ
    ビルドに時間がかかり、隙間作業としての実装が難しい
    01
    テストが不安定なことが多い
    02
    仕様変更で必ずテストが壊れる
    03
    時間の捻出が難しい・どうしても後回しになりがち
    04

    View full-size slide

  28. 1年半経った結果

    View full-size slide

  29. 1年半経った結果
    E2Eテストのカバレッジ推移(イメージ)
    支払いタブ
    リニューアル
    E2Eテスト
    追加

    View full-size slide