一つひとつの入力と期待値を書き並べる代わりに、「どんな入力でもこれは成り立つはず」という性質を先に決めて、入力のほうを自動で大量に作って確かめるテストの書き方。破れる入力が見つかったら、そこから条件を削っていって最小の失敗例まで縮める。