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
まりも
September 25, 2024
0
13
大空を飛ぶ
技術的負債がたまった状態、例えばテストカバレッジが低い状態で開発を行うのは苦しいです。そのことを、取りにたとえて苦しさが想像しやすいように話してみました。
まりも
September 25, 2024
Tweet
Share
More Decks by まりも
See All by まりも
メンタルモデルから見るオブジェクト設計
hrmstrsmgs
0
190
技術的負債
hrmstrsmgs
0
210
よい設計のプログラムを作るには
hrmstrsmgs
0
73
歴史から理解するJavaScript
hrmstrsmgs
0
56
論理的な考え方
hrmstrsmgs
0
56
論理的な話し合いはなぜ必要か
hrmstrsmgs
0
27
腕のある技術者はなぜ
hrmstrsmgs
0
71
疑似乱数の生成
hrmstrsmgs
0
39
構造化プログラミング
hrmstrsmgs
0
130
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
232
18k
GraphQLとの向き合い方2022年版
quramy
49
14k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Thoughts on Productivity
jonyablonski
70
4.9k
What's in a price? How to price your products and services
michaelherold
246
12k
Become a Pro
speakerdeck
PRO
29
5.5k
Designing for Performance
lara
610
69k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Embracing the Ebb and Flow
colly
88
4.8k
Transcript
大空を飛ぶ TDDの導入についてのメタファ
たとえ話をします。
空気の汚れた地域ですが、 上空はまだきれいです。
上空を飛べば、 気持ちよく飛べます。
一度下に向かうと、 戻るのに苦労します。 ここが大変
下のほうを飛ぶと、 ずっと大変です。
下から上に上がろうとしても、 なかなか上がれません。 すごく大変
力尽きて、 結局上がれないかもしれません。
いっそ本当に力尽きるかも。
TDD導入のたとえ話です。
カバレッジが高い カバレッジが低い
うまく自動テストを書くために必要なこと コードの品質 可読性 拡張性 疎結合 テスタビリティ テストコードの品質 テストカバレッジ 可読性 拡張性
カバレッジだけじゃ ないです
途中からの導入が難しい理由 テストを後から書く 自動化を利用できるのは最後だけ 手間が減らない
途中からの導入が難しい理由 テストを後から書く とても面倒
途中からの導入が難しい理由 テストがないとリ ファクタリングがや りにくい リファクタリングし てないとテストが書 きにくい
途中からの導入が難しい理由 自動テストを書くのに 必要なコードの品質 疎結合 可読性 テスタビリティ
途中からの導入が難しい理由 自動テストを書くのに必 要な自動テストの品質 疎結合 可読性 拡張性
最初からTDDを使って自動テストを実装した場合
途中から自動テストを導入しようとした場合 すごく大変
途中から自動テストを導入しようとした場合
途中から自動テストを導入しようとした場合
結論 TDDは最初から導入しましょう せめて新コンポーネントを導入したタイミングで導入 新機能はなるべくTDDで