スポンサードリンク
ブラックボックステストとホワイトボックステスト
初級シスアドでは、ブラックボックステストとホワイトボックステストに関する問題がよく出題されるので確実にマスターしておいて欲しいテーマである。
初級シスアドにおける覚えるポイントは以下のとおりである
- ブラックボックステストとホワイトボックステストの意味
- ホワイトボックステストにおけるテストケースである命令網羅と判定条件網羅
- ブラックボックステストテストケースの作成方法である同値分割と限界値分析
単体テストで用いられるテスト技法としてホワイトボックステストとブラックボックステストがある。
テスト | 説明 |
---|---|
ホワイトボックステスト | モジュールの内部構造に着目してテストをおこなう。 |
ブラックボックステスト | モジュールの入力と出力に着目してテストをおこなう。 |
スポンサードリンク
ホワイトボックステストはモジュールの内部構造を検証して目的とする機能を実現しているのかをテストする。それに対して、ブラックボックステストは、モジュールの内部構造は考慮せず、モジュールに与えられた入力に対してそれに応じた出力が得られるかということでモジュールの機能が実現できているのかをテストする。
例えばカレーライスを作る機械で考えてみる。ホワイトボックステストは、カレーライスを作る機械そのものをテストすることでカレーライスを作る機械が正しく動作しているとうことで評価する。一方ブラックボックスは、カレーライスを作る機械の内部は分からないが、カレーライスを作る機械に野菜や米などの材料を入れて、ちゃんとカレーライスができあがればカレーライスを作る機械は正確に動作しているということで評価する。
テストデータの作成
ブラックボックステストとホワイトボックステストではテストのやり方がまったく違う。このため、テストを行うときに作成するテストデータの作成方法も違う。
ホワイトボックステスト
ホワイトボックステストでは、テストデータの作成するうえで、命令網羅と判定条件網羅の2つ考え方がある。
考え方 | 説明 |
---|---|
命令網羅 | モジュール内の命令を少なくとも一度は実行するようにテストデータの作成する。 |
判定条件網羅 | モジュール内の条件判定において、真および偽両方を少なくとも一度は実行するようにテストデータを作成する。 |
ブラックボックステスト
ブラックボックステストのテストデータの作成方法は、同値分割と限界値分析の2つの考え方あがる。
考え方 | 説明 |
---|---|
同値分割 | 正常に処理される有効同値クラスと、エラー処理される無効同値クラスに分けてそれぞれの代表的な値をテストデータにする。 |
限界値分析 | 有効値と無効値の境界値をテストデータにする。 |
入力されたデータの有効な範囲が0<A<50である場合を考える。同値分割では有効値と無効値の代表的な値をテストデータにする。したがってテストデータは、-10、20、60である。
無効値 | 有効値 | 無効値 |
---|---|---|
……-3,-2,-1,0 | 1,2 …… 47,48,49 | 50,51,52 …… |
-10 | 20 | 60 |
限界値分析では有効値と無効値の境界値をテストデータにする。したがって、テストデータは、0,1,49,50である。
無効値 | 有効値 | 無効値 |
---|---|---|
……-3,-2,-1,0 | 1,2 …… 47,48,49 | 50,51,52 …… |
0 | 1,49 | 50 |