ファズテスト
異常系のテストだよ
変なデータを入れて、動きに問題がないか確認するよ
変なデータの生成やテストは自動化して大量にやることが多いよ
簡単に書くよ
ファズテスト(英:fuzz testing)とは
異常系テストのひとつ
であり
プログラムに対して変なデータを入れて「おかしなことにならないよね?」を確認する(のを自動化して大量にやる)テストのこと
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「異常系テスト」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
異常系テストは「想定外のことを起こして、きちんと対処できるか確認する作業」です。
例えば、変なデータを入れて動かしてみたり、本来あるべき物を取っ払ってから動かしてみたり、神に祈りを奉げてから動かしてみたりして、それでもヤバいことにならないかを確認する作業です。
それを踏まえて
プログラムに変なデータを入れて、不具合が起きないか確認するテスト
が「ファズテスト」です。
ファズテストは異常系テストのひとつです。
「そんなテストはプログラムを作る度にやっているよ。何をわざわざ仰々しい名前を付けているんだよ」と思うかもしれませんね。
わざわざ「ファズテスト」と言った場合は
1.自動的に
2.大量の異常データを
3.ガンガン突っ込んでガンガン確認する
4.そのとき、プログラムの中身は気にしない
的なニュアンスがあります。
職人の手作りによる一品ものではなく、工場による大量生産で異常データを用意してテストをするイメージです。
ファズテストでは異常データをオラオラオラー!と投入します。
そうすると、結果が「ぐへーぐへー」とガンガン出てきます。
それを見て「おかしなことになってないよね?」を確認します。
「下手な鉄砲も数撃ちゃ当たる」ではありませんが、質より量で勝負する感じです。
また、ファズテストはブラックボックステストです。
プログラムの中身がどうなっているかは意識しません。
ブラックボックステストは「プログラムの中身は気にしないで、何を入れると何が出てくるか?を確認するテスト」ね。
プログラムに入れるものと出てくるものにだけ着目してやるテストです。
ここまでがファズテストとは何ぞや?の概要です。
以下は補足説明です。
用語の名称などを書いているだけなので、面倒くさければ読み飛ばしてください。
まず、ファズテストは「ファジング」とも呼ばれます。
ファズテストで使う大量の異常データは「ファズ」と言います。
ファズテストをやるときは、その多くを自動化します。
ファズテストを自動化してくれるソフト「ファズテストを手伝ってやるよソフト」は「ファジングツール」と呼ばれています。
パッと思い浮かぶ補足説明としては、そんなところでしょうか。
何か思いついたら追記します。
一言でまとめるよ
まぁ「ファズテスト」って単語が出てきたら「変なデータを入れて不具合が起きないか確認する(のを自動化して大量にやる)テストなんだな~」と お考えください。
おまけ
■訳してみるよ
「fuzz(ファズ)」の意味は「けば」とか「綿毛」とか「けばだたせる」とか「ぼやけさせる」とか「あいまいにする」とかです。
「test(テスト)」はカタカナで「テスト」で分かりますよね。
何となく くっつけると
あいまいテスト
となります。
■検索してみる?






