Property-Based Testing - プロパティを書いて入力を作らせ、破れた入力を縮める
Property-Based Testing(プロパティベーステスト)は、入力と期待値の組を人が書く代わりに、どの入力でも成り立つはずのプロパティ(property)を書き、入力を機械に作らせてプロパティが破れる入力を探すテスト手法です。プロパティが破れた入力を反例と呼びます。多くのライブラリは、反例を見つけると、プロパティが破れたまま入力を小さくする収縮(shrinking)も行います。 ...