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

Merpay Tech Fest 2021_チームでやっていき! Unit Test編 / Push Unit Tests Forward as a team

Merpay Tech Fest 2021_チームでやっていき! Unit Test編 / Push Unit Tests Forward as a team

Merpay Tech Fest 2021は5日間のオンライン技術カンファレンスです。

IT企業で働くソフトウェアエンジニアおよびメルペイの技術スタックに興味がある方々を対象に2021年7月26日(月)から7月30日(金)までの5日間、開催します。 Merpay Tech Festは事業との関わりから技術への興味を深め、プロダクトやサービスを支えるエンジニアリングを知れるお祭りです。 セッションでは事業を支える組織・技術・課題などへの試行錯誤やアプローチを紹介予定です。お楽しみに!

■イベント関連情報
- 公式ウェブサイト:https://events.merpay.com/techfest-2021/
- 申し込みページ:https://mercari.connpass.com/event/215035/
- Twitterハッシュタグ: #MerpayTechFest

■リンク集
- メルカリ・メルペイイベント一覧:https://mercari.connpass.com/
- メルカリキャリアサイト:https://careers.mercari.com/
- メルカリエンジニアリングブログ:https://engineering.mercari.com/blog/
- メルカリエンジニア向けTwitterアカウント:https://twitter.com/mercaridevjp
- 株式会社メルペイ:https://jp.merpay.com/

92cdcff298e89e2fcd2fb705155c2d4b?s=128

mercari
PRO

July 27, 2021
Tweet

Transcript

  1. #MerpayTechFest Session Title チームでやっていき! -Unit Test編- Hideyuki Kikuma 株式会社メルペイ Android

    Team
  2. #MerpayTechFest Hideyuki Kikuma @hidey 株式会社メルペイ Android Engineer 2018年10月にメルペイに入社 2011年からAndroidアプリ開発を行っている DroidKaigiなどカンファレンス

    運営にも携わっている
  3. #MerpayTechFest Developer Experienceという考え方 例え • コード 品質 • システム全体 見通し

    よさ • ドキュメント 整備状況 • ライブラリやフレームワーク バージョン管理 • build しやすさ
  4. #MerpayTechFest ど ようにやっているか • 目標 決め方 ◦ まずチームメンバーで課題感 すり合わせをする ◦

    全員で協力しないと達成が難しい目標 ◦ 自分 担当もわかるようにしておく • 進捗確認 ◦ 週次 チームミーティングで確認 • 進め方自体 各人に任せる ◦ 通常 開発業務もある で無理 しない
  5. #MerpayTechFest 2020年7月 Q 取り組み すべて Merpay Module Test Coverageを30%以上 そ

    うち24個を50%以上にする • 開始時点で 状況 ◦ メルカリ、メルペイ Androidアプリ マルチモジュール構成 ◦ 担当しているモジュール 27モジュール ▪ カバレッジ50%以上 モジュールが9モジュール ▪ カバレッジ50-30% モジュールが10モジュール ▪ カバレッジ30%未満 モジュールが8モジュール
  6. #MerpayTechFest カバレッジ 推移

  7. #MerpayTechFest 結果と新しい課題 結果 • 担当しているモジュール 28モジュール ◦ 50%以上 モジュールが9 ->

    24 ◦ 50-30% モジュールが10 -> 4 ◦ 30%未満 モジュールが8 -> 0 顕在化してきた課題 • テストを書きにくいクラスがある ◦ 次 Q 課題として対応する
  8. #MerpayTechFest 2020年10月から Q 取り組み 現在 Unit Test 実装/実行におけるネガティブ要素を排除しうる Unit Test

    改善施策を導入する - 前Qで見えてきた課題に集中 - テストが書きにくくなっている一部機能 リメイクなど - そ 取り組み 一つ ブログとして公開されています https://engineering.mercari.com/blog/entry/20201216-merpay-and roid-dex/
  9. #MerpayTechFest カバレッジ 推移

  10. #MerpayTechFest 改善に取り組んだことで • テストカバレッジ自体 大きく伸びなかった • テストを書きにくい部分へ 対応を行った で次Qで改善が期待でき る

  11. #MerpayTechFest 2021年1月 Q 取り組み 全Merpay担当モジュール Unitテストカバレッジ 50%以上 • 開始時点で 状況

    ◦ メルペイ 担当しているモジュール 28モジュール ▪ Coverage 50%以上 モジュールが22モジュール ▪ Coverage 50%未満 モジュールが6モジュール ▪ Coverage 30%以上 すべて モジュールで達成済み
  12. #MerpayTechFest カバレッジ 推移

  13. #MerpayTechFest 2021年1月 Q 結果 結果 • 担当しているモジュール 30モジュール ◦ Q

    間に機能追加で2モジュール増えた ◦ 50%以上 モジュールが22 -> 28 モジュール ◦ 50%未満 モジュールが6 -> 2 モジュール
  14. #MerpayTechFest まとめ • テストを書くことで良くない作り 部分が顕在化して改善できた • UI込み モジュールでもカバレッジ50%くらい 達成できる •

    テストが増えたことでリファクタや機能追加がやりやすくなった • チームで取り組むことで成果があげやすい