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

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

sora_ichigo
September 13, 2023

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

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

sora_ichigo

September 13, 2023
Tweet

More Decks by sora_ichigo

Other Decks in Technology

Transcript

  1. © 2023 Wantedly, Inc. 自己紹介 • 市古 空 / いちご

    そら • Wantedly, Inc. 所属 • DX (開発者体験) 改善チーム・基盤開発 • DevOps に関する Enabling 活動 X (Twitter): @igsr5_ GitHub: @igsr5
  2. © 2023 Wantedly, Inc. 初期:“テスト文化の成熟”を目指して行った取り組み(2022/10 ~ 11) 現状 • 自動テスト初導入:

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

    • 自動テストが書かれていないコードの動作確認に時間がかかる • 自動テストが書かれていないコードが本番環境で壊れる
  4. © 2023 Wantedly, Inc. 初期:やったこと(2022/10 ~ 2022/11) 「自動テストが一つもないコードは改善されにくく問題も起きやすい」という仮説 の検証 →

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

    全く自動テストが存在しないコードにフォーカス • テストカバレッジの強化、テストコードのリファクタリング、... • 主に手のつけやすかった単体テストを増やした → テストカバレッジは上がったものの新たな問題が、、
  6. © 2023 Wantedly, Inc. 中期:理想設定。issue そのまま抜粋。 我々の目指すべき理想(テスト文化の成熟)とはテストの効果が信頼されてい る状態のことを指す。具体的には以下の4点を目指す。 • コードベースに高品質なテストが存在する

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

    • 開発者が高品質なテストの存在を知っている • 開発者が高品質のテストの存在が十分な効果につながることを知ってい る • 開発者が高品質なテストを生産できる コードベースの問題 < 人 (文化) の問題
  8. © 2023 Wantedly, Inc. 中期:やったこと(2022/12~2023/01) 目標 テストの効果が信頼されている状態を目指す 取り組み • テストカバレッジの向上

    ◦ テストピラミッドの中で不足していた E2E テストの拡充 • チーム内で自動テスト勉強会 • 自動テストにまつわる社内発信 Enabling よりのアプローチを多くとった
  9. © 2023 Wantedly, Inc. 後期:成果(2023/02) テストの効果が信頼されている状態を目指してプロジェクトは進む。 成果 • 社内発信: LTを7回実施

    • 自動テスト関連の社内ドキュメント: 3ページ追加 • Playwright ※2 によるE2Eテストの整備: 初期設定 & テスト拡充 ※2 https://github.com/microsoft/playwright
  10. © 2023 Wantedly, Inc. 後期:関心はより広いスコープへ( 2023/02) 文化と向き合うために • 開発組織に貢献するとは? ◦

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

    今の開発組織には何が求められる? ◦ 開発組織のパフォーマンスとは何だろう • “テスト文化の成熟” は開発組織に対してどのような影響を与えるだろう か • 現状・達成度合いを判断するための指標は? 関心は自動テストのみでなく開発組織のパフォーマンスへ (DevOps)
  12. © 2023 Wantedly, Inc. まとめ • Wantedly では “テスト文化の成熟” を目指していくつかの取り組みを

    行っている ◦ 未だ成熟したとは言えず道半ば • 得られた知見 • 自動テストはただ書くだけではない。より良い自動テストが必要にな る。 • 良い自動テストが存在するだけでは不十分。文化と向き合うためには より広い視野が必要になる (DevOps)。
  13. © 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年