正答3
解説
正解は3です。
ソフトウェアに想定外のデータを大量に与えて、異常な動作を起こさないかを観察し、脆弱性を見つけるテスト手法を問う問題です。
【選択肢別解説】
1:× 限界値分析は、入力値の範囲の境界付近の値をテストデータとして選ぶ設計技法です。
問題を起こしそうなデータを大量に与えて挙動を監視する手法ではありません。
2:× 実験計画法は、複数の要因の組合せを少ない試行回数で効率よく評価するための統計的な手法です。
テストケースの組合せを絞り込むことに使われますが、脆弱性の検出手法ではありません。
3:○ ファジングは、ファズと呼ばれる不正なデータや予期しないデータを大量に入力し、異常終了などの挙動を監視して脆弱性を検出する手法です。
問題文の説明と一致します。
4:× ロードテスト(負荷テスト)は、大量の処理要求を与えて、性能や耐久性が要求を満たすかを確かめるテストです。
脆弱性を探すことが目的ではありません。
【ポイント】
ファジングは、開発者が想定していない入力による不具合を見つけやすく、ツールで自動化して実施されます。
IPA(情報処理推進機構)もソフトウェアの脆弱性対策として、ファジングの活用を推奨しています。