ホワイトボックスとブラックボックスを理解する

ホワイトボックステストは内部構造を基に経路や条件を確認し、ブラックボックステストは外部仕様を基に入力と出力を確認する。

この単元で学ぶこと

  • ホワイトボックスの意味と役割を説明できる
  • ブラックボックスの意味と役割を説明できる
  • 命令網羅の意味と役割を説明できる
  • 内部構造ベースと仕様ベースのテストを区別できる

本文解説

内部コードを見て網羅度を考えるのがホワイトボックス、仕様から同値分割や境界値を設計するのがブラックボックス。両者は補完関係にある。

ホワイトボックス プログラム内部構造を考慮して設計する。 命令・分岐・条件等の網羅を扱う。

ブラックボックス 内部実装を前提とせず仕様から設計する。 入力条件・期待出力を見る。

命令網羅 全命令を少なくとも1回実行する。 分岐の両方を必ず通すとは限らない。

分岐網羅 各判定結果の真/偽を少なくとも1回通す。 命令網羅より強い場合が多い。

仕様ベース設計 同値分割・境界値分析などを使う。 ブラックボックスの代表。

「コード内部の経路」ならホワイト、「仕様上の入力条件」ならブラック。

ifの全分岐を通すのはホワイトボックス、年齢1〜120の境界を試すのはブラックボックス。

図解

ホワイト/ブラックの視点
内部経路と外部仕様からテストを設計する。

重要ポイント

  • ホワイトボックス: プログラム内部構造を考慮して設計する。
  • ブラックボックス: 内部実装を前提とせず仕様から設計する。
  • 命令網羅: 全命令を少なくとも1回実行する。
  • 分岐網羅: 各判定結果の真/偽を少なくとも1回通す。
  • ホワイト=内部構造、ブラック=外部仕様。

間違えやすい点

  • ブラックボックスを画面だけのテストと限定しない。
  • ホワイトボックスで仕様欠落を必ず検出できると考えない。
  • 両者を排他的に考えない。

用語解説

ホワイトボックス
プログラム内部構造を考慮して設計する。
ブラックボックス
内部実装を前提とせず仕様から設計する。
命令網羅
全命令を少なくとも1回実行する。
分岐網羅
各判定結果の真/偽を少なくとも1回通す。
仕様ベース設計
同値分割・境界値分析などを使う。

関連教材

参考資料

教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。

確認問題の出題・採点や学習履歴の保存にはログインが必要です。