応用情報技術者 2010年 秋期 午前2 問46
問題文
ホワイトボックステストのテストケースを設計する際に使用するものはどれか。
選択肢
ア:原因-結果グラフ
イ:限界値分析
ウ:条件網羅(正解)
エ:同値分割
🔒 解説は解答すると表示されます
条件網羅【午前2解説】
正解の理由
ホワイトボックステストはプログラム内部の論理構造を見てテストケースを設計する手法であり、論理式の各原子条件(比較や論理式の構成要素)について真と偽の両方を実行することを目的とする網羅基準が用いられます。選択肢のうち、論理条件の真偽を網羅する「条件網羅」がホワイトボックス向けの手法なので、ウが正解です。
他の選択肢(原因-結果グラフ、限界値分析、同値分割)は要求や入力値の振る舞いに基づいてテストケースを作るブラックボックス手法に属します。したがって内部構造に基づく設計を求める問題ではウが適切です。
解法ステップ
- 出題意図を確認:内部構造(ホワイトボックス)か外部振る舞い(ブラックボックス)かを判別する。
- 各選択肢の分類を考える:
- 「網羅」「条件」「分岐」などはホワイトボックスの文脈で出やすい。
- 「同値分割」「限界値」「原因-結果」はブラックボックス手法。
- ホワイトボックスに該当する選択肢を選ぶ(この問題では条件網羅)。
- 簡潔に理由を述べる(内部論理の原子条件を網羅するため)。
受験時の目安:選択肢に「網羅」「条件」「分岐」「ステートメント」「パス」等の語があればホワイトボックス系を優先して検討する。
選択肢別の誤答解説
-
ア: 原因-結果グラフ
原因(入力条件)と結果(出力や状態)の関係を図にしてテストケースを導く手法で、主に要求仕様からブラックボックス的にテストを設計します。内部の論理網羅を直接狙うものではありません。 -
イ: 限界値分析
入力値の境界(最小値・最大値・境界周辺)を重視してテストケースを作るブラックボックス技法です。数値や範囲に関するエラー検出に有効だが、内部条件の網羅とは別物です。 -
ウ: 条件網羅
各原子条件(例:A>0、B==x のような個々の条件式)が少なくとも一度は真・偽となるようにテストする網羅基準で、プログラム内部の論理構造に基づく設計法です。これがホワイトボックスに該当するため本問の正答です。 -
エ: 同値分割
入力領域を同値クラスに分け、その代表値でテストするブラックボックス技法。条件や内部分岐そのものを網羅する考え方とは異なります。
よくある誤解
-
「条件網羅は常に判定網羅より強い(厳しい)」という誤解
条件網羅は原子条件ごとに真偽を網羅し、判定網羅(決定(判定)式全体の真偽を網羅)とは対象が異なります。どちらが強いかは論理式の構成によって変わり、一概に優劣はつけられません。複合条件網羅(全組合せ)やMC/DCのような基準は別により厳しい(詳細な)網羅基準です。 -
「原因-結果グラフはホワイトボックスである」
名前から内部的に見えると勘違いしがちですが、原因-結果グラフは仕様からのブラックボックス的テスト設計法です。仕様の因果関係を基にテストケースを導出します。 -
「網羅という語があれば常にホワイトボックス」
「網羅」は文脈によります。条件網羅やステートメント網羅はホワイトボックスですが、テスト設計の目標(例:入力空間を網羅するという表現)によってはブラックボックスの議論でも「網羅」が使われることがあります。
補足コラム
主要な網羅基準(ホワイトボックス)
- ステートメント網羅(Statement coverage):各文を少なくとも一度実行する。
- 判定(分岐)網羅(Decision/Branch coverage):各分岐の真・偽を実行する。
- 条件網羅(Condition coverage):各原子条件の真・偽を実行する。
- 条件/判定網羅(Condition/Decision coverage):条件網羅と判定網羅の両方を満たす基準。
- 複合条件網羅(Multiple condition coverage):すべての原子条件の組合せを網羅する。
- MC/DC(Modified Condition/Decision Coverage):航空・医療など高信頼分野で重視される、条件の独立性を検証する厳密な基準。
利用の目安:設計段階で内部ロジックの誤りを発見したい場合は条件・判定網羅を、要求観点で代表値を確認したい場合は同値分割や限界値分析を選びます。
FAQ
Q1: 条件網羅と判定網羅の違いは何ですか?
A1: 条件網羅は各原子条件が真・偽になることを個別に確認する基準、判定網羅は判定(式全体)が真・偽になることを確認する基準です。論理式の形により達成の難易度や検出可能な欠陥の種類が異なります。
A1: 条件網羅は各原子条件が真・偽になることを個別に確認する基準、判定網羅は判定(式全体)が真・偽になることを確認する基準です。論理式の形により達成の難易度や検出可能な欠陥の種類が異なります。
Q2: 原因-結果グラフはどの段階で使うのが適切ですか?
A2: 要求仕様や仕様書からテストケースを導出する段階で使います。仕様の因果関係を整理して代表的な組み合わせを抽出します。
A2: 要求仕様や仕様書からテストケースを導出する段階で使います。仕様の因果関係を整理して代表的な組み合わせを抽出します。
Q3: どの網羅基準を採るべきか迷ったら?
A3: コストとリスクで決めます。クリティカル性が高いならMC/DCや複合条件網羅など厳しい基準を、コスト重視ならステートメントや判定網羅とブラックボックス技法の組合せを検討します。
A3: コストとリスクで決めます。クリティカル性が高いならMC/DCや複合条件網羅など厳しい基準を、コスト重視ならステートメントや判定網羅とブラックボックス技法の組合せを検討します。
関連キーワード: ホワイトボックステスト、条件網羅、判定網羅、同値分割、限界値分析、原因-結果グラフ

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

