Fuzzing - 機械に入力を作らせて、壊れる入力を探す
Fuzzing(ファジング)は、テスト対象に渡す入力を機械に大量に作らせ、プログラムが落ちる入力や止まらない入力を探すテスト手法です。人が思い付く入力ではなく、壊れたファイルや意味の無いバイト列を 1 秒に数万回の速さで渡し続けます。 ...
Fuzzing(ファジング)は、テスト対象に渡す入力を機械に大量に作らせ、プログラムが落ちる入力や止まらない入力を探すテスト手法です。人が思い付く入力ではなく、壊れたファイルや意味の無いバイト列を 1 秒に数万回の速さで渡し続けます。 ...
Property-Based Testing(プロパティベーステスト)は、入力と期待値の組を人が書く代わりに、どの入力でも成り立つはずのプロパティ(property)を書き、入力を機械に作らせてプロパティが破れる入力を探すテスト手法です。プロパティが破れた入力を反例と呼びます。多くのライブラリは、反例を見つけると、プロパティが破れたまま入力を小さくする収縮(shrinking)も行います。 ...