generated at
自己テストコード


JUnit などができる前に考えられた、プログラム自体にテストを実施させるという考え方
Martin Fowler による命名
継続的インテグレーションの一部として重要
利点
システムに変更を加えることができるという自信
バグ削減
テスト駆動開発の利点として上記の利点が挙げられることがあるが、テスト駆動開発自己テストコードの概念は分離できる
テスト駆動開発は、自己テストコードの生成を含んだプラクティス (自己テストコードを生み出すまでの過程)
テスト駆動開発ではなくても、自己テストコードを書くことはできて、その場合でも上記の利点は得られる
自己テストを実践するチームが本番でのバグを発見した時の重要な振る舞い : まずはバグを再現するテストコードを書く