ファジング【fuzzing】ファズテストfuzz testing
概要

ソフトウェアに対するテストの多くは、想定される用途や使用環境、操作方法、入力データなどをに対して期待通りの処理や動作が行われるかを調べるために行われる。しかし、それだけでは想定外の操作やデータによって致命的な誤作動が引き起こされる可能性が残るため、通常は想定されない利用パターンに対する反応を調べるファジングが行われる。
最も一般的な方式では、「ファジングツール」「ファザー」と呼ばれる専用ソフトウェアを用いて対象の挙動に問題を引き起こしそうな入力値を大量に自動生成する。これをテストツールで次々にテスト対象に与え、その反応から未知の問題が発生しないか調べる。
検査用の入力値は正常な入力値の例を元に、一部を置き換えたり改変するなどして生成する手法が用いられることが多いが、まったくランダムに生成する手法や、怪しい入力値を人が考えて列挙する方式、値を連続的に変化させてあり得る入力値をしらみつぶしに調べる方式などが用いられることもある。
(2024.2.15更新)
「ファジング」の関連用語
他の用語辞典による「ファジング」の解説 (外部サイト)
- ウィキペディア「ファジング」
- 日経 xTECH Networkキーワード「ファジング」
- MDN Web Docs 用語集「Fuzz testing」
- SOMPO CYBER SECURITY サイバーセキュリティ用語集「ファジング」
- ESETマルウェア情報局 キーワード事典「ファジング」
- マンガで分かるプログラミング用語辞典「ファジング」
- WhatIs.com (英語)「fuzzing」
- Techopedia (英語)「Fuzz Testing」
- PC Magazine (英語)「fuzzing」