マイペースなRailsおじさん

Ruby、Ruby on Rails、オブジェクト指向設計を主なテーマとして扱います。だんだん大きくなっていくRuby on Rails製プロダクトのメンテナンス性を損なわない方法を考えたり考えなかったりしている人のブログです。

実践TDD 第一章

テスト駆動開発のポイントとは?

  • システム開発は、作ろうとしているものへの理解を深めながら進行する
  • システムとその用途を学ぶためには、作ってリリースしてフィードバックを得るのが良い
  • 実装する前にテストをすることで設計する。何をさせたいかが明確になる。同時に、リグレッションテストを行えるので更新のコストとリスクを小さくできる。
  • 完了の定義が明確になる。コンポーネント疎結合になる。コードが何をするかの説明が得られる。
  • 必要なものを必要な分だけ実装できる
  • E2Eの受け入れテストを書くところからはじめるといい
  • 外側の質とは、顧客のニーズにどれくらい答えられているか。E2Eテストで確認する。
  • 内側の質は、管理者や開発者のニーズにドラくらい答えられているか。ユニットテストで確認する。
  • ユニットテストを書くことで内部品質は向上する。