カテゴリー
Agile

TDDは 過大評価されてる?

“Test Driven Development is overrated” という記事を拝読してのメモ書き。

“TDDは過大評価されてる” と言われて残念に思ったのと同時に、TDDが都市伝説化していると感じた。(ことからこの記事にまとめたとのこと)

TDDのアイディアは Kent Beck によって作られた。
“Test Driven Development” written in 2003

  • 小さな落ちるテストを書く
  • テストを通す機能を実装する
  • リファクタリング

“Red, Green, Refactor”

でもTDDがあまり実践されていない現実。

  • QAの部署がテストを書いている
  • モックとかスタブとかとても手間がかかる
  • 利益がない
  • 遅い

いや、デベロッパーは次のことに責任を持って取り組んで欲しい。

  • ニーズに対して正しい技術を用いる
  • 理解しやすく
  • テストしやすく
  • 拡張性を持たせ
  • シンプルに

ユニットテストの土台の上でサービスやUIが成り立っていると考えれば、利用者からのフィードバックループの増加に役立つし、メインゴールとしてのDevOpsにもつながる。

主な二つの利益。

  • テストで定義した通りにコードが動くこと
  • どのようにコードを書いていくかを考えて明記すること

コードとその機能に自信を持つことで、チーム全体として速く回せるようになる。