平成27年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問24
テクノロジ/開発技術問題を引き起こしそうなデータを大量に入力して,そのときの応答や挙動を監視することによって,ソフトウェアの脆弱性を検出するテスト手法はどれか。
出典:平成27年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問24
- ア限界値分析
- イ実験計画法
- ウファジング
- エロードテスト
正解:ウ
解説
ファジング(ファズテスト)は,問題を引き起こしそうな異常値や境界値,ランダムなデータなどを大量に対象のソフトウェアへ入力し,そのときの応答や挙動(クラッシュ,異常終了,予期しない動作など)を監視することによって,ソフトウェアに潜む脆弱性やバグを検出するテスト手法です。仕様や実装の詳細を必ずしも把握していなくても,機械的に大量の入力パターンを試すことができるため,セキュリティ上の脆弱性検出に広く利用されています。
選択肢ごとの解説
- ア誤り。限界値分析は,入力値の境界(最小値,最大値,境界の前後など)に着目してテストケースを設計する技法であり,問題を引き起こしそうなデータを大量に入力する手法ではありません。
- イ誤り。実験計画法は,複数の要因の組合せを効率よく評価するためにテストケースを設計する統計的な手法であり,大量のデータ入力によって挙動を監視する手法とは異なります。
- ウ正しい。ファジングは,問題を引き起こしそうなデータを大量に入力し,そのときの応答や挙動を監視することによって,ソフトウェアの脆弱性を検出するテスト手法です。
- エ誤り。ロードテストは,システムに高い負荷(大量のリクエストや同時アクセスなど)をかけて性能や耐久性を評価するテストであり,脆弱性の検出を主目的とする手法ではありません。