ファズテスト - CI/CD 用語集の定義
ファズテストは、クラッシュやセキュリティバグを表面化させるために、ランダムで不正な入力をコードに投げ込みます。
ファズテストは、クラッシュ、ハング、セキュリティの脆弱性を見つけるために、大量のランダムで不正、あるいは予期しない入力をプログラムに与えます。カバレッジ誘導型のファザーは、新しいコードに到達するよう入力を進化させます。
libFuzzer、AFL、Go のネイティブファジングのようなファザーは入力を変異させ、失敗を監視します。パースのバグやメモリ安全性の問題を見つけるのに優れています。
CI において
まれな入力を見つけるには時間がかかるため、ファジングは push ごとではなく継続的に、あるいはスケジュールに従って実行されます。新しいクラッシュを引き起こす入力は regression テストになります。
関連ガイド
Property-Based Testing - CI/CD Glossary DefinitionProperty-Based Testing: Property-based testing checks that a property holds for many automatically generated…
Regression Testing - CI/CD Glossary DefinitionRegression Testing: Regression testing reruns existing tests after a change to confirm that previously workin…
Mutation Testing - CI/CD Glossary DefinitionMutation Testing: Mutation testing deliberately introduces small faults (mutants) into the code, then checks…