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

基本情報技術者 2012年 春期 午前(科目A)48


問題文

ソフトウェア開発におけるテスト技法のうち、ブラックボックステストに関する記述として、適切なものはどれか。

選択肢

ソースコードを解析し、プログラムの制御の流れと変数間のデータの流れのテストを、主にプログラム開発者以外の第三者が実施する。
プログラムが設計者の意図した機能を実現しているかどうかのテストを、主にプログラム開発者以外の第三者が実施する。(正解)
プログラムの全ての命令について最低1回は実行することを完了の条件とするテストを、主にプログラム開発者自身が実施する。
プログラムの内部構造や論理が記述された内部仕様書に基づくテストを、主にプログラム開発者自身が実施する。

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

ブラックボックステスト【午前解説】

正解の理由

正解:
イの記述は「プログラムが設計者の意図した機能を実現しているかどうか」を、主にプログラム開発者以外の第三者がテストする、という点でブラックボックステストの定義に合致します。ブラックボックステストは内部構造を参照せずに外部仕様(要求・機能仕様)に基づき入出力や振る舞いを検証するため、機能が仕様通りに実装されているかを第三者が確認するという説明が適切です。

解法ステップ

  1. 問題文で注目すべきキーワードを抽出:ブラックボックス、内部構造、制御の流れ、命令の実行回数、第三者。
  2. ブラックボックスの定義を確認:内部構造を見ずに外部仕様に基づく機能検証(入出力、振る舞い)。
  3. 各選択肢を定義に照らして照合:内部構造やカバレッジを述べるものは白箱(ホワイトボックス)を表すため除外。
  4. 実施者(開発者か第三者か)も判断材料にして最も合致する選択肢を選ぶ。

選択肢別の誤答解説

  • ア:誤り。ソースコード解析や制御の流れ・データの流れをテストするのはホワイトボックステスト(構造的テスト)であり、通常は開発者や詳細なコード理解を持つ者が行います。
  • イ:正解。外部仕様に基づき機能が設計者の意図どおり動くかを検証する点、主に第三者(QAや受入担当者等)が実施する点がブラックボックスに合致します。
  • ウ:誤り。「プログラムの全ての命令について最低1回は実行する」という完了条件はステートメントカバレッジ等、ホワイトボックスのカバレッジ目標です。一般に開発者が実施します。
  • エ:誤り。内部構造や論理に基づくテストは内部仕様書を参照するホワイトボックステストであり、主に開発者が実施します。

よくある誤解

  • 「ブラックボックス=誰でもできる単純なテスト」:実際は仕様理解・テスト設計技法(等価分割、境界値、状態遷移など)が必要で質の高いテスト設計は専門性が高いです。
  • 「ブラックボックスはコードカバレッジを測る」:コードカバレッジはホワイトボックス(内部構造確認)の考え方であり、ブラックボックスの完了条件ではありません。
  • 「常に第三者が実施しなければならない」:主に第三者が行うことが好ましいが、状況により開発者もブラックボックス的テストを行うことがあります。

補足コラム

ブラックボックステストでよく使われる手法:
  • 等価クラステスト(入力集合を代表値でまとめる)
  • 境界値分析(境界付近の値で不具合が出やすい)
  • 状態遷移テスト(状態とイベントの組合せを検証)
  • 決定表テスト(複数条件の組合せを整理)
    実施レベルとしては、システムテストや受入テストで主に用いられ、ユーザー要求との適合性確認に重きが置かれます。ブラックボックス単独では内部の欠陥(例:未実行のコード)を見落とすため、ホワイトボックスと組み合わせたテスト戦略が有効です。
簡単な境界値例(疑似):ある入力 x が 1〜100 の範囲を受け付けるとき、テスト値は 0,1,2,99,100,101 のように境界を中心に選びます。Pythonでのテスト例イメージ:
def accept(x):
    return 1 <= x <= 100

tests = [0, 1, 2, 99, 100, 101]
for t in tests:
    print(t, accept(t))

FAQ

Q1: ブラックボックステストは誰が実施するのがベストですか?
A1: 通常は開発から独立したQAチームや受入担当、外部のテスターが実施するのが望ましく、客観的に仕様適合性を検証できます。ただし小規模プロジェクトなどでは開発者が担当することもあります。
Q2: ブラックボックスだけで品質保証は十分ですか?
A2: 十分ではありません。ブラックボックスは機能面の適合確認に有効ですが、内部の欠陥やコード未実行箇所は見えにくいため、ホワイトボックスと組み合わせる必要があります。
Q3: ホワイトボックスとブラックボックスの見分け方は?
A3: 「内部構造やソースを参照して実施する」「カバレッジや命令実行を目的にする」ならホワイトボックス。仕様や入出力、ユーザー視点で振る舞いを確認するならブラックボックスです。

関連キーワード: ブラックボックステスト、ホワイトボックステスト、等価クラステスト、境界値分析、状態遷移テスト、決定表、カバレッジ、テスト設計、第三者検証、システムテスト、受入テスト、テスト手法
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

基本情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

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

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