基本情報技術者 2014年 春期 午前(科目A) 問49
問題文
問49 ブラックボックステストにおけるテストケースの設計方法として、適切なものはどれか。
選択肢
ア:プログラム仕様書の作成又はコーディングが終了した段階で、仕様書やソースリストを参照して、テストケースを設計する。
イ:プログラムの機能仕様やインタフェースの仕様に基づいて、テストケースを設計する。(正解)
ウ:プログラムの処理手順や内部構造に基づいて、テストケースを設計する。
エ:プログラムの全ての条件判定で、真と偽をそれぞれ1回以上実行させることを基準に、テストケースを設計する。
🔒 解説は解答すると表示されます
ブラックボックステスト設計法【午前解説】
正解の理由
正解: イ
ブラックボックステストはプログラムの内部構造を見ずに、機能仕様やインタフェース(入出力・振る舞い)に基づいてテストケースを設計します。選択肢イはこの定義に一致しており、ユーザ要求や仕様書から期待される振る舞いを検証するためのテストケース設計を述べています。したがってイが正解です。
ブラックボックステストはプログラムの内部構造を見ずに、機能仕様やインタフェース(入出力・振る舞い)に基づいてテストケースを設計します。選択肢イはこの定義に一致しており、ユーザ要求や仕様書から期待される振る舞いを検証するためのテストケース設計を述べています。したがってイが正解です。
解法ステップ
- 問題文のキーワードを確認:「ブラックボックステスト」。
- ブラックボックスの定義を思い出す:内部構造を見ない、仕様や入出力で設計。
- 各選択肢を定義に照らして照合。内部構造やソース依存の記述を除外。
- 残った選択肢(機能・インタフェースに基づくもの)を正解とする。
選択肢別の誤答解説
- ア: 誤り。ソースリストを参照してテストケースを設計するのはホワイトボックス的で、ブラックボックスの定義と矛盾します。
- イ: 正解。機能仕様やインタフェース仕様に基づく設計はブラックボックスの本質です。
- ウ: 誤り。処理手順や内部構造に基づく設計はブラックボックスではなくホワイトボックスです。
- エ: 誤り。全ての条件判定で真偽を両方試すのは条件網羅(条件網羅基準)で、内部の分岐に注目するホワイトボックス手法です。
よくある誤解
- 「実装が終わった後にソースを見て作るのがテスト設計」と思い込み、ブラックボックスとホワイトボックスの区別を忘れるミス。
- 条件の真偽を両方試す(エ)をブラックボックスだと誤解する。これは内部判断を意識するホワイトボックス的観点です。
- インタフェース=画面だけと狭く考え、APIや入出力仕様の検証を見落とす誤り。
補足コラム
ブラックボックステストでよく使う設計技法には等価クラステスト、境界値分析、状態遷移テスト、決定表テスト、ユースケーステストなどがあります。たとえば「年齢によって料金が変わる機能」では等価クラステストで成人・未成年・高齢者といったクラスポイントを定義し、境界値分析で境界付近の値(例えば17/18/19歳)を重点的にテストします。これらは内部実装に依存せず、仕様書だけで設計可能です。
例(境界値の考え方、擬似):
- 年齢区分:未成年(0–17)、成人(18–64)、高齢者(65–)
- テスト値:17, 18, 64, 65(境界値を含める)
FAQ
Q1: インタフェース仕様があいまいでもブラックボックスでテストできますか?
A1: 仕様が不明確だとテスト品質が下がります。まず仕様の明確化(要求定義の確認)を優先し、それを基に等価クラスやユースケースを定義してください。
A1: 仕様が不明確だとテスト品質が下がります。まず仕様の明確化(要求定義の確認)を優先し、それを基に等価クラスやユースケースを定義してください。
Q2: ブラックボックスとホワイトボックスはいつ使い分けるべきですか?
A2: 要求や機能の検証(外部振る舞い)はブラックボックス、内部ロジックや網羅性の確認はホワイトボックスを使います。両者を組み合わせるのが実務上は理想です(組合せテスト)。
A2: 要求や機能の検証(外部振る舞い)はブラックボックス、内部ロジックや網羅性の確認はホワイトボックスを使います。両者を組み合わせるのが実務上は理想です(組合せテスト)。
Q3: 選択肢エの「真と偽をそれぞれ1回以上」は全く使わないのですか?
A3: それは条件網羅というホワイトボックス基準で有効ですが、ブラックボックスとしては要求仕様から得られるケース設計の方法を用いるため直接は該当しません。
A3: それは条件網羅というホワイトボックス基準で有効ですが、ブラックボックスとしては要求仕様から得られるケース設計の方法を用いるため直接は該当しません。
関連キーワード: ブラックボックステスト、ホワイトボックステスト、等価クラステスト、境界値分析、状態遷移テスト、決定表テスト、条件網羅、テスト設計手法、ソフトウェアテスト、単体テスト

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

