“Test Driven Development is overrated” という記事を拝読してのメモ書き。
“TDDは過大評価されてる” と言われて残念に思ったのと同時に、TDDが都市伝説化していると感じた。(ことからこの記事にまとめたとのこと)
TDDのアイディアは Kent Beck によって作られた。
“Test Driven Development” written in 2003
- 小さな落ちるテストを書く
- テストを通す機能を実装する
- リファクタリング
“Red, Green, Refactor”
でもTDDがあまり実践されていない現実。
- QAの部署がテストを書いている
- モックとかスタブとかとても手間がかかる
- 利益がない
- 遅い
いや、デベロッパーは次のことに責任を持って取り組んで欲しい。
- ニーズに対して正しい技術を用いる
- 理解しやすく
- テストしやすく
- 拡張性を持たせ
- シンプルに
ユニットテストの土台の上でサービスやUIが成り立っていると考えれば、利用者からのフィードバックループの増加に役立つし、メインゴールとしてのDevOpsにもつながる。
主な二つの利益。
- テストで定義した通りにコードが動くこと
- どのようにコードを書いていくかを考えて明記すること
コードとその機能に自信を持つことで、チーム全体として速く回せるようになる。