$30 off During Our Annual Pro Sale. View Details »

テスト文化の成熟:自動テストが浸透した組織が次に目指すべきステップ

igsr5
September 13, 2023

 テスト文化の成熟:自動テストが浸透した組織が次に目指すべきステップ

2023/09/13「テストパフォーマンス向上のためのテスト戦略〜自動化の秘訣 Lunch LT〜」で登壇した内容です。

igsr5

September 13, 2023
Tweet

Other Decks in Technology

Transcript

  1. © 2023 Wantedly, Inc.
    テスト文化の成熟:自動テストが
    浸透した組織が次に目指すべきステップ
    テストパフォーマンス向上のためのテスト戦略〜自動化の秘訣 Lunch LT〜
    Sep. 13 2023 - Sora Ichigo

    View Slide

  2. © 2023 Wantedly, Inc.
    自己紹介
    ● 市古 空 / いちご そら
    ● Wantedly, Inc. 所属
    ● DX (開発者体験) 改善チーム・基盤開発
    ● DevOps に関する Enabling 活動
    X (Twitter): @igsr5_ GitHub: @igsr5

    View Slide

  3. © 2023 Wantedly, Inc.
    話すこと
    1. “テスト文化の成熟” を目指して行った取り組みの話
    2. そこで得た知見

    View Slide

  4. © 2023 Wantedly, Inc.
    事例
    “テスト文化の成熟”を目指して行った取り組みの話
    初期 / 中期 / 後期

    View Slide

  5. © 2023 Wantedly, Inc.
    初期:“テスト文化の成熟”を目指して行った取り組み(2022/10 ~ 11)
    現状
    ● 自動テスト初導入: 2012年
    ● テストカバレッジ: 主要リポジトリで50~80%程度 ※1
    ● 自動テストを書くという文化は既に浸透
    問題
    ● 自動テストの効果が十分に発揮しきれていない (という仮説)
    ※1 単体テストを対象に計測

    View Slide

  6. © 2023 Wantedly, Inc.
    初期:“テスト文化の成熟”を目指して行った取り組み(2022/10 ~ 11)
    > 自動テストの効果が十分に発揮しきれていない
    例えば、、
    ● 自動テストが書かれていないコードの動作確認に時間がかかる
    ● 自動テストが書かれていないコードが本番環境で壊れる

    View Slide

  7. © 2023 Wantedly, Inc.
    自動テストをより徹底すれば
    これらの問題を防げるのでは?

    View Slide

  8. © 2023 Wantedly, Inc.
    初期:“テスト文化の成熟”を目指して行った取り組み(2022/09 ~ 11)
    “テスト文化の成熟”を目指すプロジェクトがスタート

    View Slide

  9. © 2023 Wantedly, Inc.
    初期:やったこと(2022/10 ~ 2022/11)
    「自動テストが一つもないコードは改善されにくく問題も起きやすい」という仮説
    の検証
    → 全く自動テストが存在しないコードにフォーカス
    ● テストカバレッジの強化、テストコードのリファクタリング、...
    ● 主に手のつけやすかった単体テストを増やした

    View Slide

  10. © 2023 Wantedly, Inc.
    初期:やったこと(2022/10 ~ 2022/11)
    「自動テストが一つもないコードは改善されにくく、問題も起きやすい」という仮
    説の検証
    → 全く自動テストが存在しないコードにフォーカス
    ● テストカバレッジの強化、テストコードのリファクタリング、...
    ● 主に手のつけやすかった単体テストを増やした
    → テストカバレッジは上がったものの新たな問題が、、

    View Slide

  11. © 2023 Wantedly, Inc.
    中期:新たな問題(2022/12 ~ 2023/01)
    確かにテストカバレッジは上がるものの、現実としては我々の本来考えていた
    “テスト文化の成熟” という期待値とはズレることに気づく。
    例えば、、
    ● (テストカバレッジ) ≠ (自動テストの網羅性) である
    ● 自動テストが存在しても実際に活用されるかどうか

    View Slide

  12. © 2023 Wantedly, Inc.
    中期:新たな問題(2022/12 ~ 2023/01)
    つまり:
    むやみに自動テストを足していっても、
    真に自動テストの効果が発揮できたとは言えない
    そもそも、、

    View Slide

  13. © 2023 Wantedly, Inc.
    そもそも ”テスト文化の成熟” とは何だろう?

    View Slide

  14. © 2023 Wantedly, Inc.
    中期:プロジェクト再整理
    我々の目指すべき理想(テスト文化の成熟)とは何だろうか
    目指すべき理想の認識がズレてしまうとプロジェクトを通して真に価値を生む
    ことは難しい

    View Slide

  15. © 2023 Wantedly, Inc.
    中期:プロジェクト再整理
    我々の目指すべき理想(テスト文化の成熟)とは何だろうか
    そこで我々はプロジェクトメンバーで理想に関する認識合わせを行った

    View Slide

  16. © 2023 Wantedly, Inc.
    中期:理想設定。issue そのまま抜粋。
    我々の目指すべき理想(テスト文化の成熟)とはテストの効果が信頼されてい
    る状態のことを指す。具体的には以下の4点を目指す。
    ● コードベースに高品質なテストが存在する
    ● 開発者が高品質なテストの存在を知っている
    ● 開発者が高品質のテストの存在が十分な効果につながることを知ってい

    ● 開発者が高品質なテストを生産できる

    View Slide

  17. © 2023 Wantedly, Inc.
    中期:理想設定。issue そのまま抜粋。
    我々の目指すべき理想(テスト文化の成熟)とはテストの効果が信頼されてい
    る状態のことを指す。具体的には以下の4点を目指す。
    ● コードベースに高品質なテストが存在する
    ● 開発者が高品質なテストの存在を知っている
    ● 開発者が高品質のテストの存在が十分な効果につながることを知ってい

    ● 開発者が高品質なテストを生産できる
    コードベースの問題 < 人 (文化) の問題

    View Slide

  18. © 2023 Wantedly, Inc.
    中期:やったこと(2022/12~2023/01)
    目標
    テストの効果が信頼されている状態を目指す
    取り組み
    ● テストカバレッジの向上
    ○ テストピラミッドの中で不足していた E2E テストの拡充
    ● チーム内で自動テスト勉強会
    ● 自動テストにまつわる社内発信
    Enabling よりのアプローチを多くとった

    View Slide

  19. © 2023 Wantedly, Inc.
    中期:やったこと(2022/12~2023/01)
    当時の自動テスト勉強会の議事録

    View Slide

  20. © 2023 Wantedly, Inc.
    後期:成果(2023/02)
    テストの効果が信頼されている状態を目指してプロジェクトは進む。
    成果
    ● 社内発信: LTを7回実施
    ● 自動テスト関連の社内ドキュメント: 3ページ追加
    ● Playwright ※2 によるE2Eテストの整備: 初期設定 & テスト拡充
    ※2 https://github.com/microsoft/playwright

    View Slide

  21. © 2023 Wantedly, Inc.
    後期:成果(2023/02)
    ではこれらの成果は開発組織にどう貢献した?

    View Slide

  22. © 2023 Wantedly, Inc.
    後期:成果(2023/02)
    ではこれらの成果は開発組織にどう貢献した?
    A. 🤔

    View Slide

  23. © 2023 Wantedly, Inc.
    後期:成果(2023/02)
    もちろん個別の取り組みで開発者の助けになる成果は出せた
    しかし実際に我々の目指した “テスト文化の成熟” が
    ● どの程度達成されたのか
    ● どの程度開発組織に貢献したのか
    はパッと判断できない状況になっていた

    View Slide

  24. © 2023 Wantedly, Inc.
    後期:関心はより広いスコープへ(
    2023/02)
    文化と向き合うために
    ● 開発組織に貢献するとは?
    ○ 今の開発組織には何が求められる?
    ○ 開発組織のパフォーマンスとは何だろう
    ● “テスト文化の成熟” は開発組織に対してどのような影響を与えるだろう

    ● 現状・達成度合いを判断するための指標は?

    View Slide

  25. © 2023 Wantedly, Inc.
    後期:関心はより広いスコープへ(
    2023/02)
    文化と向き合うために
    ● 開発組織に貢献するとは?
    ○ 今の開発組織には何が求められる?
    ○ 開発組織のパフォーマンスとは何だろう
    ● “テスト文化の成熟” は開発組織に対してどのような影響を与えるだろう

    ● 現状・達成度合いを判断するための指標は?
    関心は自動テストのみでなく開発組織のパフォーマンスへ (DevOps)

    View Slide

  26. © 2023 Wantedly, Inc.
    後期:関心はより広いスコープへ(
    2023/02)
    その後の話:社内勉強会の実施へ

    View Slide

  27. © 2023 Wantedly, Inc.
    後期:関心はより広いスコープへ(
    2023/02)
    その後の話:社内勉強会の実施へ
    DevOps についてはまた今度どこかで話します

    View Slide

  28. © 2023 Wantedly, Inc.
    知見
    プロジェクトを通して得た知見
    より良い自動テストとDevOps の考え

    View Slide

  29. © 2023 Wantedly, Inc.
    プロジェクトを通して得た知見
    ① 自動テストはただ書くだけではない
    自動テストはただ書くだけでは真にその効果は発揮できない
    ● テストピラミッドに基づく自動テストの量
    ● xUTP Patterns に基づくテストコードのリファクタリング
    ● Flaky、実行スピード
    → より良いテストに向けた継続的改善が必要

    View Slide

  30. © 2023 Wantedly, Inc.
    プロジェクトを通して得た知見
    ② 良い自動テストが存在するだけでは不十分
    良い自動テストがあってもそれらを活用する文化がなければ不十分
    ● 開発者は自動テストの存在に気づいているか?
    ● 開発者は自動テストの有用な使い方を知っているか?
    ○ 例: TDD等のプラクティス
    開発組織への貢献にはDevOpsの理解も必要になる。

    View Slide

  31. © 2023 Wantedly, Inc.
    まとめ
    ● Wantedly では “テスト文化の成熟” を目指していくつかの取り組みを
    行っている
    ○ 未だ成熟したとは言えず道半ば
    ● 得られた知見
    ● 自動テストはただ書くだけではない。より良い自動テストが必要にな
    る。
    ● 良い自動テストが存在するだけでは不十分。文化と向き合うためには
    より広い視野が必要になる (DevOps)。

    View Slide

  32. © 2023 Wantedly, Inc.
    ご清聴ありがとうございました!

    View Slide

  33. © 2023 Wantedly, Inc.
    参考資料
    ● What is Test Driven Development (TDD) ? | BrowserStack
    ● Fast and reliable end-to-end testing for modern web apps |
    Playwright
    ● DevOps 技術: 継続的テスト | Cloud アーキテクチャ センター |
    Google Cloud
    ● index at XUnitPatterns.com
    ● Nicole Forsgren Ph.D., Jez Humble, Gene Kim(著), 武舎広幸, 武
    舎るみ(翻訳), "LeanとDevOpsの科学[Accelerate] テクノロジーの
    戦略的活用が組織変革を加速する", インプレス, 2018年

    View Slide