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
TDDをやってみたら、身に沁みてTDDの 〝良さ〟 を理解した話
Search
ふわり
November 12, 2024
Programming
42
1
Share
TDDをやってみたら、身に沁みてTDDの 〝良さ〟 を理解した話
2024/11/12に開催された「つどえ!3社合同ハロウィンアフターパーティー!」のLTで発表した資料です。
・ピクシブ株式会社
・ディップ株式会社
・株式会社ウィルゲート
ふわり
November 12, 2024
More Decks by ふわり
See All by ふわり
ChatGPT、Gemini、Claude は、なぜ似たようなUIを採用しているのか?
fuwarisprit
3
2.5k
ところでクリーンアーキテクチャって何がいいの?
fuwarisprit
0
22
Other Decks in Programming
See All in Programming
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
350
3Dシーンの圧縮
fadis
1
600
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.4k
Lessons from Spec-Driven Development
simas
PRO
0
130
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
180
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
140
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
1.6k
AIエージェントの隔離技術の徹底比較
kawayu
0
460
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
1.1k
OSもどきOS
arkw
0
400
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
190
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
1
700
Featured
See All Featured
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
190
Game over? The fight for quality and originality in the time of robots
wayneb77
1
190
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
The World Runs on Bad Software
bkeepers
PRO
72
12k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
600
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
200
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
A Soul's Torment
seathinner
6
2.9k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Transcript
TDDをやってみたら、 身に沁みてTDDの 〝良さ〟 を理解した話
自己紹介 株式会社ウィルゲート プロダクト事業部開発グループ ソリューション開発ユニット 武田 佑樹 @Fuwari_WE - バックエンド中心にいくつかのプロダクトを 行ったり来たりしてる人
- 趣味でコミュニティ運営しながら TRPGをやってる人 - 毎月ネイルや髪色が変わる人 ※ おやすみちゅう…… ふわりって呼んでね>
みなさん テスト 書いてますか?
そのテスト いつ 書いてますか?
ふわりは はじめ に書いてます!
お話する範囲 テスト駆動開発のメリット テスト駆動開発の詳細 テスト駆動開発の実例
テスト駆動開発(TDD)ってなんだ
テスト駆動開発(TDD)ってなんだ? 出展: テスト駆動開発(TDD)とは?目的やメリット・デメリット、やり方を解説 https://service.shiftinc.jp/column/4654/
テスト駆動開発(TDD)ってなんだ? 出展: テスト駆動開発(TDD)とは?目的やメリット・デメリット、やり方を解説 https://service.shiftinc.jp/column/4654/ テストを書いて から実装する
テストを書いてから実装すると〝良い〟
テストを書いてから実装すると〝良い〟 - 安心してコードを書くことができる - 設計に早期に立ち返ることができる - ついでにレビュワーにも優しい 他にもある!
テストを書いてから実装すると〝良い〟 - 安心してコードを書くことができる - 設計に早期に立ち返ることができる - ついでにレビュワーにも優しい 他にもある!
安心してコードを書くことができる
安心してコードを書くことができる 仕様満たせてるかな? バグってないかな? キレイにしたいけど その後がなぁ… 他の機能に影響出てないかな?
安心してコードを書くことができる 仕様満たせてるかな? キレイにしたいけど その後がなぁ… 他の機能に影響出てないかな? バグってないかな? テスト通ってるし、大丈夫だな
テストを書いてから実装すると〝良い〟 - 安心してコードを書くことができる - 設計に早期に立ち返ることができる - ついでにレビュワーにも優しい 他にもある!
設計に早期に立ち返ることができる
設計に早期に立ち返ることができる このクラスのテスト書きづらいな~
設計に早期に立ち返ることができる このクラスのテスト書きづらいな~ そもそも設計が悪いかもしれない!
テストを書いてから実装すると〝良い〟 - 安心してコードを書くことができる - 設計に早期に立ち返ることができる - ついでにレビュワーにも優しい 他にもある!
ついでにレビュワーにも優しい
ついでにレビュワーにも優しい 変更量が 多すぎる 具体的な仕様が わかりづらい コミットの粒度が 適切でない ご出演頂いている読みづらいPRさん御一行
ついでにレビュワーにも優しい 変更量が 多すぎる 具体的な仕様が わかりづらい コミットの粒度が 適切でない ご出演頂いている読みづらいPRさん御一行 良い設計で解決! テストコードで解決!
テストの単位で解決!
まとめ
最初にテスト を書いておけば、 以降の開発フローを 安心して進めることができる
おわり