ファズテストとは?3分で理解する

テスト技法

ファズテストの用語の定義は?

ISTQB(JSTQB)の用語集では

ソフトウェアテスト技法の一つ。セキュリティの脆弱性を見つけるために、ファズと呼ばれる大量のランダムデータをコンポーネントまたはシステムに入力する。

と定義されてます。また別名「ファジング」と呼ばれたりもします。

つまり?

要は

  1. テスト対象となるソフトウェア・システムへ大量のデータを突っ込む!
  2. 処理された結果が問題ないか、バグや脆弱性などを確認する

以上です。

ちなみに、ファズテストはブラックボックステスト / またはグレイテストの一種です、

なので、プログラミの中身のことはそんなに気にせず、大量のデータを突っ込む!というもにになります。

で、どうやってやんの?

当然、「大量のデータを突っ込む!」これを手動でがんばってやったりしません。

「ファジングツール」と呼ばれるツール / サービスを使って行います。

例えば、以下のようなものがあります

  • Defensics
  • FuzzBench (Googleがオープンソースでリリースしたファジングツール)

というわけで、ファズテストについて3分で理解する為の説明でしたー

参考文献