テスト駆動開発のポイントとは
学習プロセスとしてのソフトウェア開発
ソフトウェアプロジェクト=誰も経験していない何かをやること=過程で学ぶ
フィードバックは欠かせないツール
システムとその用途について学ぶために、実地からのフィードバックを活用する
変化を支えるプラクティス 必要なものは?
常にテストを実施してリグレッションエラーを回避すること
コードをできる限りシンプルにしておくこと、そのためのリファクタリング
テスト駆動開発ひとめぐり
ユニットテストを書く、通るように実装する、コードをリファクタリングする。
全体像
エンドツーエンドでテストする
テストのレベル
書くことでドメインについてチームがどれほど理解できているかについての知見が得られる
実行することでどのクラスも壊れていないことがわかる