「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

ファジング

pointこの用語のポイント

point異常系のテストだよ

point変なデータを入れて、動きに問題がないか確認するよ

point変なデータの生成やテストは自動化して大量にやることが多いよ

スポンサーリンク

簡単に書くよ

ファジング(英:fuzzing)とは

異常系テストのひとつ
であり

プログラムに対して変なデータを入れて「おかしなことにならないよね?」を確認する(のを自動化して大量にやる)テストのこと
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「異常系テスト」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

異常系テストは「想定外のことを起こして、きちんと対処できるか確認する作業」です。
例えば、変なデータを入れて動かしてみたり、本来あるべき物を取っ払ってから動かしてみたり、神に祈りを奉げてから動かしてみたりして、それでもヤバいことにならないかを確認する作業です。

それを踏まえて

プログラムに変なデータを入れて、不具合が起きないか確認するテスト

が「ファジング」です。
ファジングは異常系テストのひとつです。

ファジング

「そんなテストはプログラムを作る度にやっているよ。何をわざわざ仰々しい名前を付けているんだよ」と思うかもしれませんね。
わざわざ「ファジング」と言った場合は

1.自動的に
2.大量の異常データを
3.ガンガン突っ込んでガンガン確認する
4.そのとき、プログラムの中身は気にしない


的なニュアンスがあります。
職人の手作りによる一品ものではなく、工場による大量生産で異常データを用意してテストをするイメージです。

ファジングでは異常データをオラオラオラー!と投入します。
そうすると、結果が「ぐへーぐへー」とガンガン出てきます。

ファジング2

それを見て「おかしなことになってないよね?」を確認します。

ファジング3

「下手な鉄砲も数撃ちゃ当たる」ではありませんが、質より量で勝負する感じです。

また、ファジングはブラックボックステストです。
プログラムの中身がどうなっているかは意識しません。
ブラックボックステストは「プログラムの中身は気にしないで、何を入れると何が出てくるか?を確認するテスト」ね。
プログラムに入れるものと出てくるものにだけ着目してやるテストです。

ファジング4

ここまでがファジングとは何ぞや?の概要です。

以下は補足説明です。
用語の名称などを書いているだけなので、面倒くさければ読み飛ばしてください。

まず、ファジングは「ファズテスト」とも呼ばれます。

ファジング5

ファジングで使う大量の異常データは「ファズ」と言います。

ファジング6

ファジングをやるときは、その多くを自動化します。
ファジングを自動化してくれるソフト「ファジングを手伝ってやるよソフト」は「ファジングツール」と呼ばれています。

ファジング7

パッと思い浮かぶ補足説明としては、そんなところでしょうか。
何か思いついたら追記します。


image piyo2

一言でまとめるよ

まぁ「ファジング」って単語が出てきたら「変なデータを入れて不具合が起きないか確認する(のを自動化して大量にやる)テストなんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像025
書籍画像059

おまけ

■訳してみるよ

「fuzzing(ファジング)」は「fuzz(ファズ)」+「ing」です。
「fuzz(ファズ)」の意味は「けば」とか「綿毛」とか「けばだたせる」とか「ぼやけさせる」とか「あいまいにする」とかです。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
ソフトウェア受託現場の「失敗」集めてみた。 42の失敗事例で学ぶ受託開発のうまい進めかた
「定年力」の鍛え方 老後の毎日を最高にする方法