Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
「テストコードのスタイルガイド」を作った理由
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Rikuto Sato
March 28, 2025
0
27
「テストコードのスタイルガイド」を作った理由
Rikuto Sato
March 28, 2025
Tweet
Share
More Decks by Rikuto Sato
See All by Rikuto Sato
テストコードのガイドライン 〜作成から運用まで〜
riku929hr
8
2.2k
useReducerいつ使う?
riku929hr
1
6.5k
Git勉強会
riku929hr
0
250
Featured
See All Featured
BBQ
matthewcrist
89
10k
Exploring anti-patterns in Rails
aemeredith
2
280
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
150
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
63
Mind Mapping
helmedeiros
PRO
1
110
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
210
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
140
Typedesign – Prime Four
hannesfritz
42
3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
190
WCS-LA-2024
lcolladotor
0
470
Transcript
「テストコードのスタイルガイド」を 作った理由 OPENLOGI TGIF 1 2025/03/28 rikuto(@riku929hr)
この資料について なぜ「テストコードのスタイルガイド」を作ったか その根底にある想いだけ聞いてほしい!! 2
コーディング規約を作る予定はなかった 3 • リファクタしたらテストが落ちる • リリース後にバグが⾒つかる • CIが遅い etc…
• リファクタしたらテストが落ちる • リリース後にバグが⾒つかる • CIが遅い etc… コーディング規約を作る予定はなかった 4 なんとかしたい!!
でも⾃動テストよくわからん!! 学んでみよう! というのが事の始まり
テストする理由(phpcon2024登壇資料より) 5
変更容易性がもたらすもの 6 プロダクトを迅速に変化させる より顧客課題を解決でき、プロダクト‧会社が成⻑する (Googleのソフトウェアエンジニアリング 11章 テスト概観)
「テストコードのスタイルガイド」 テストコードの質の向上以外の もう⼀つの狙い 7
スタイルガイドのもう⼀つの狙い プロダクションコードの質の向上 8
良いテストを書くには 9 (単体テストの考え⽅/使い⽅ p22) (レガシーコードからの脱却 1.1.レガシーコードとは何か?)
良いテストを書くには 10 「良い」テストコードが書ければ 「良い」プロダクションコード
プロダクションコードのガイドライン 合意形成が難しい、時間がかかる テストコードのガイドライン たぶん関⼼がそんなに⾼くない プロダクションコードに⽐べれば、合意形成が容易 「テストコードのスタイルガイド」の隠し意図 11 テストコードにゆるいガイドラインを設けることで、 暗黙の「プロダクションコードのガイドライン」ができるはず!
質とスピードは相互作⽤する https://speakerdeck.com/twada/quality-and-speed-aws-dev-day-2023-tokyo-edition?slide=43 12
つまり、本当にやりたいのは 13 テストコードに⼀定のレギュレーションを設けて、テストの質を上げる (あくまで理想論です) 間接的にプロダクションコードの質が上がる 質の⾼いコードとテストにより、すぐに⼤胆な変更ができるようになる プロダクトが事業環境の変化に素早く追従する
やりたいけど、できていないこと スタイルガイドではカバーしきれない課題への対処 ガイドライン定着のためのAIによる⾃動レビュー ⾃動テストの⾼速化、サイズダウン戦略… 14
まとめ プロダクトを中⻑期的に成⻑させていくには変更容易性が不可⽋ ⾃動テストは変更容易性を⽀える⼤きな要素の⼀つ テストコードを良くするためのレギュレーションがあれば、 プロダクションコードの質も上がる(はず) コードの質が上がればデリバリーのスピードも上がり、 プロダクトの成⻑も加速する(させたい!) 15
16 おわり