戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

エンベデッドシステムスペシャリスト 2019年 午前2 問23


問題文

ソフトウェアのテスト手法のうち、ファジングはどれか。

選択肢

ア:テスト対象に問題を引き起こす可能性があるデータを大量に送り込み、その応答や挙動を監視することによって脆弱性を検出する。(正解)
イ:テスト対象の振る舞いを状態遷移表で整理し、発生し得る遷移をテストする。
ウ:同値分割で得られた、同値クラスの境界となる値、及びその前後の値を明らかにして、それらをテストデータとする。
エ:プログラムの処理経路を網羅するようにテストを実施し、正しく動作することを検証する。

🔒 解説は解答すると表示されます

ファジング【午前2解説】

正解の理由

ファジングは、テスト対象に大量の入力データを与え、その応答や挙動を調べて、異常終了や脆弱性などを検出するテスト手法です。
問題を引き起こす可能性のあるデータを大量に送り込み、応答や挙動を監視するという説明に当てはまるのはアです。

解法ステップ

  1. 選択肢の説明に「大量のデータを送り込む」とある点に注目します。
  2. そのデータに対する応答や異常な挙動から問題を検出する手法を考えます。
  3. 入力データを与えて脆弱性などを探すファジングに当たるため、アを選びます。

選択肢別の誤答解説

  • ア:ファジングの説明です。想定外の入力などを大量に与え、異常な応答や脆弱性を検出します。
  • イ:状態遷移テストの説明です。状態遷移表などを用いて、状態の変化や遷移の組合せを確認します。
  • ウ:境界値分析の説明です。同値クラスの境界と、その前後の値をテストデータにします。
  • エ:経路テストの説明です。プログラムの処理経路を網羅するようにテストします。

よくある誤解

  • ファジングを、単に大量のデータを使うテスト全般と考えないようにしましょう。入力に対する異常な挙動や脆弱性を探す点が特徴です。
  • 「境界となる値やその前後をテストする」という説明はファジングではなく、境界値分析です。
  • 処理経路を網羅するテストと、さまざまな入力を与えるファジングは、確認する対象が異なります。

補足コラム

ファジングでは、ランダムなデータや形式を崩したデータなどを入力として使用することがあります。予期しない入力によって、プログラムが異常終了したり、想定外の動作をしたりしないかを調べるため、セキュリティテストや堅牢性の確認に利用されます。

FAQ

Q. ファジングでは、必ずランダムなデータを使いますか?
A. 必ずしもそうではありません。ランダムなデータを使う方法のほか、入力形式を一部変更するなど、さまざまなデータ生成方法があります。
Q. ファジングは、脆弱性だけを検出する手法ですか?
A. 脆弱性の検出に役立ちますが、異常終了や予期しない動作など、ソフトウェアの不具合を発見する目的でも使われます。

関連キーワード: ファジング、状態遷移テスト、境界値分析、経路テスト、脆弱性検査
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?

クイズ画面へ遷移する→

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について