動的型付け言語で Fuzz Testing や Property Based Testing
- なるべく小さい関数を組み合わせて設計するのが一番なので、それを目指したい
- 関数が増えるほどテストを作るのが大変になる
- 大量のボイラープレートコード
- 同じような文脈の乱立
- 「関数が増えるほどテストを作るのが大変になる」のを避けるために
- 「大量のボイラープレートコード」を避ける
- 関数の入力や出力の値域を定義して、あとは機械的にテストして欲しい
- ✅Fuzz Testing や Property Based Testing ならできそう
- 「同じような文脈の乱立」を避ける
- ❎まだ思いつかない。スナップショットとか?
- 「大量のボイラープレートコード」を避ける
Property Based Testing
感想:動的型付け言語で頑張るより、静的型付け言語に移行した方が楽なのかもしれない。
Fuzz Testing
あまり数がない。HTTP Fuzzing とかのほうが流行ってるのかも。
- Ruby
- GitHub - krypt/FuzzBert: A random testing / fuzzer framework for Ruby.
- 一番最近の更新は3年くらい前
- GitHub - richo/afl-ruby: A minimal ruby gem to allow fuzzing native ruby code with afl.
- 一番最近の更新は2年くらい前
- Cライブラリのamerican fuzzy lopを使ってる
- GitHub - krypt/FuzzBert: A random testing / fuzzer framework for Ruby.
- Perl
- Fuzz testing with perl
- セキュリティの文脈で話題はあったみたい
- Fuzz testing with perl