システムアーキテクト試験 2013年 午前2 問08
ブラックボックステストにおけるテストケースの設計に関する記述として、適切なものはどれか。
ア:実データからテストデータを無作為に抽出して、テストケースを設計する。
イ:実データのうち使用頻度が高いものを重点的に抽出して、テストケースを設計する。
ウ:プログラムがどのような機能を果たすのかを仕様書で調べて、テストケースを設計する。(正解)
エ:プログラムの全命令が少なくとも1回は実行されるように、テストケースを設計する。
解説
ブラックボックステストにおけるテストケースの設計【午前2 解説】
要点まとめ
- 結論:ブラックボックステストは仕様書を基に機能を検証するため、仕様書からテストケースを設計するのが正しい。
- 根拠:ブラックボックステストは内部構造を無視し、外部から見た動作や機能の正しさを確認する手法である。
- 差がつくポイント:内部コードの命令網羅はホワイトボックステストの範囲であり、実データの抽出はテスト設計の体系的手法とは異なる。
正解の理由
選択肢ウは「プログラムがどのような機能を果たすのかを仕様書で調べて、テストケースを設計する」とあります。ブラックボックステストはプログラムの内部構造を考慮せず、仕様書や要求仕様に基づいてテストケースを作成します。これにより、ユーザー視点での機能検証が可能となり、仕様通りに動作しているかを確認できます。したがって、ウが正解です。
よくある誤解
ブラックボックステストは内部コードを見ないため、実データの無作為抽出や使用頻度だけでテストケースを設計するのは不十分です。命令網羅はホワイトボックステストの範囲であり、混同しやすい点に注意が必要です。
解法ステップ
- ブラックボックステストの定義を確認する(内部構造を考慮しないテスト手法)。
- テストケース設計の基準が仕様書や要求仕様であることを理解する。
- 選択肢の内容をブラックボックステストの特徴と照らし合わせる。
- 内部命令の網羅や実データの抽出はブラックボックステストの設計方法として不適切と判断する。
- 仕様書に基づく設計を示す選択肢を正解とする。
選択肢別の誤答解説ステップ
- ア: 実データを無作為に抽出する方法はテストの網羅性や体系性に欠け、ブラックボックステストの設計手法として適切ではありません。
- イ: 使用頻度の高いデータに偏ると、仕様全体の検証が不十分になり、網羅的なテストとは言えません。
- ウ: 仕様書に基づき機能を調べてテストケースを設計するため、ブラックボックステストの本質に合致しています。
- エ: 全命令の実行はホワイトボックステストの目的であり、ブラックボックステストの設計方法とは異なります。
補足コラム
ブラックボックステストは「機能テスト」とも呼ばれ、ユーザー視点での動作確認に重点を置きます。代表的な設計技法には同値クラステストや境界値分析があります。一方、ホワイトボックステストはコードの内部構造を分析し、命令網羅や分岐網羅を目指します。両者を適切に使い分けることが品質向上に不可欠です。
FAQ
Q: ブラックボックステストで使うテストデータはどう決めるのですか?
A: 仕様書の条件や入力範囲から同値クラステストや境界値分析などの技法を用いて体系的に決定します。
A: 仕様書の条件や入力範囲から同値クラステストや境界値分析などの技法を用いて体系的に決定します。
Q: ホワイトボックステストとブラックボックステストの違いは何ですか?
A: ホワイトボックステストは内部構造を考慮しコードの網羅性を重視、ブラックボックステストは仕様に基づき機能の正しさを検証します。
A: ホワイトボックステストは内部構造を考慮しコードの網羅性を重視、ブラックボックステストは仕様に基づき機能の正しさを検証します。
関連キーワード: ブラックボックステスト, テストケース設計, 同値クラステスト, 境界値分析, ホワイトボックステスト, 命令網羅, ソフトウェアテスト, テスト技法