スポンサードリンク

ブラックボックステストとホワイトボックステスト

初級シスアドでは、ブラックボックステストとホワイトボックステストに関する問題がよく出題されるので確実にマスターしておいて欲しいテーマである。

初級シスアドにおける覚えるポイントは以下のとおりである

  • ブラックボックステストとホワイトボックステストの意味
  • ホワイトボックステストにおけるテストケースである命令網羅と判定条件網羅
  • ブラックボックステストテストケースの作成方法である同値分割と限界値分析

単体テストで用いられるテスト技法としてホワイトボックステストブラックボックステストがある。

ブラックボックステストとホワイトボックステスト
テスト説明
ホワイトボックステストモジュールの内部構造に着目してテストをおこなう。
ブラックボックステストモジュールの入力と出力に着目してテストをおこなう。

スポンサードリンク

ホワイトボックステストはモジュールの内部構造を検証して目的とする機能を実現しているのかをテストする。それに対して、ブラックボックステストは、モジュールの内部構造は考慮せず、モジュールに与えられた入力に対してそれに応じた出力が得られるかということでモジュールの機能が実現できているのかをテストする。

例えばカレーライスを作る機械で考えてみる。ホワイトボックステストは、カレーライスを作る機械そのものをテストすることでカレーライスを作る機械が正しく動作しているとうことで評価する。一方ブラックボックスは、カレーライスを作る機械の内部は分からないが、カレーライスを作る機械に野菜や米などの材料を入れて、ちゃんとカレーライスができあがればカレーライスを作る機械は正確に動作しているということで評価する。

初級シスアドブラックボックステストとホワイトボックステストの違い

テストデータの作成

ブラックボックステストとホワイトボックステストではテストのやり方がまったく違う。このため、テストを行うときに作成するテストデータの作成方法も違う。

ホワイトボックステスト

ホワイトボックステストでは、テストデータの作成するうえで、命令網羅判定条件網羅の2つ考え方がある。

命令網羅と判定条件網羅
考え方説明
命令網羅モジュール内の命令を少なくとも一度は実行するようにテストデータの作成する。
判定条件網羅モジュール内の条件判定において、真および偽両方を少なくとも一度は実行するようにテストデータを作成する。

ブラックボックステスト

ブラックボックステストのテストデータの作成方法は、同値分割限界値分析の2つの考え方あがる。

同値分割と限界値分析
考え方説明
同値分割正常に処理される有効同値クラスと、エラー処理される無効同値クラスに分けてそれぞれの代表的な値をテストデータにする。
限界値分析有効値と無効値の境界値をテストデータにする。

入力されたデータの有効な範囲が0<A<50である場合を考える。同値分割では有効値と無効値の代表的な値をテストデータにする。したがってテストデータは、-10、20、60である。

同値分割
無効値有効値無効値
……-3,-2,-1,01,2 …… 47,48,4950,51,52 ……
-102060

限界値分析では有効値と無効値の境界値をテストデータにする。したがって、テストデータは、0,1,49,50である。

限界値分析
無効値有効値無効値
……-3,-2,-1,01,2 …… 47,48,4950,51,52 ……
01,4950