受け入れテストとユニットテスト

Jon Tirsenさんのblogより引用

受け入れテスト(Acceptance test)とは(重要度順に)

  1. クライアントの要望を,受け入れ,文書化し,検証する
  2. システムのすべての部分が正しく動作することを保証する
  3. リグレッションに関する保険
  4. クライアントが進捗を監視する手段を提供する

ユニットテストとは(重要度順に)

  1. 手早く行う
  2. どれが悪いかを指摘する(受け入れテストは「何か」が悪いことをしめし,ユニットテストは「何」が悪いかを示す)
  3. リファクタリングの勇気を与える
  4. ペアプログラミングの相手とのコミュニケーション
  5. ユニットレベルでのデザインをドライブする

ちなみにJonさんがテストを先に書く正直な理由は,コーディングの後にテストを書くのがあまりに退屈だから,とのことです。