Skip to content
Latchkey

Fuzz Test - CI/CD用語集の定義

fuzz testとは、プログラムに大量のランダム、不正、あるいは予期しない入力を与えて、例ベースのテストでは見逃されるクラッシュ、ハング、セキュリティバグを見つけるテストです。

カバレッジ誘導型fuzzing

libFuzzerやAFLのような最新のfuzzerはコードカバレッジを監視し、新しいbranchに到達するよう入力を変異させて、プログラムのより多くの部分を着実に探索します。GoogleのOSS-Fuzzはこれをオープンソースプロジェクトに対して継続的に実行しています。

CIにおいて

pull requestごとの短いfuzzing予算は新しいクラッシュのリグレッションを捉え、一方で長時間実行のfuzzerは、網羅的なfuzzingがクリティカルパスには遅すぎるため、帯域外で実行されます。

関連ガイド