ホワイトボックスとブラックボックスを理解する
ホワイトボックステストは内部構造を基に経路や条件を確認し、ブラックボックステストは外部仕様を基に入力と出力を確認する。
この単元で学ぶこと
- ホワイトボックスの意味と役割を説明できる
- ブラックボックスの意味と役割を説明できる
- 命令網羅の意味と役割を説明できる
- 内部構造ベースと仕様ベースのテストを区別できる
本文解説
内部コードを見て網羅度を考えるのがホワイトボックス、仕様から同値分割や境界値を設計するのがブラックボックス。両者は補完関係にある。
ホワイトボックス プログラム内部構造を考慮して設計する。 命令・分岐・条件等の網羅を扱う。
ブラックボックス 内部実装を前提とせず仕様から設計する。 入力条件・期待出力を見る。
命令網羅 全命令を少なくとも1回実行する。 分岐の両方を必ず通すとは限らない。
分岐網羅 各判定結果の真/偽を少なくとも1回通す。 命令網羅より強い場合が多い。
仕様ベース設計 同値分割・境界値分析などを使う。 ブラックボックスの代表。
「コード内部の経路」ならホワイト、「仕様上の入力条件」ならブラック。
ifの全分岐を通すのはホワイトボックス、年齢1〜120の境界を試すのはブラックボックス。
図解
重要ポイント
- ホワイトボックス: プログラム内部構造を考慮して設計する。
- ブラックボックス: 内部実装を前提とせず仕様から設計する。
- 命令網羅: 全命令を少なくとも1回実行する。
- 分岐網羅: 各判定結果の真/偽を少なくとも1回通す。
- ホワイト=内部構造、ブラック=外部仕様。
間違えやすい点
- ブラックボックスを画面だけのテストと限定しない。
- ホワイトボックスで仕様欠落を必ず検出できると考えない。
- 両者を排他的に考えない。
用語解説
- ホワイトボックス
- プログラム内部構造を考慮して設計する。
- ブラックボックス
- 内部実装を前提とせず仕様から設計する。
- 命令網羅
- 全命令を少なくとも1回実行する。
- 分岐網羅
- 各判定結果の真/偽を少なくとも1回通す。
- 仕様ベース設計
- 同値分割・境界値分析などを使う。
関連教材
参考資料
教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。
確認問題の出題・採点や学習履歴の保存にはログインが必要です。