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