テスト技法(BB/WB)とは(全体像)
テスト技法とは、「どんなテストをすればよいか(テストの中身)を考える方法」のこと。代表的なのが、ブラックボックステストとホワイトボックステストの2つだ。
- ブラックボックステスト(BB) … 中身(プログラムの作り)を見ずに、入力と出力だけで確かめる。「こう入れたら、こう出るはず」を確認し、機能が正しいかを見る。
- ホワイトボックステスト(WB) … 内部の作り(ロジック)を見て、すみずみまで通っているかを確かめる。
名前のとおり、ブラックボックスは「中が見えない箱」、ホワイトボックスは「中が見える箱」。外から見るか、中を見るか、の違いだと押さえるとよい。
詳しく:代表的な技法と「併用」
ここが心臓部。BBとWBの違いと、代表技法を表で押さえよう。
ブラックボックスとホワイトボックス
| 技法 | 見るところ | 代表的なやり方 |
|---|---|---|
| BB(ブラックボックス) | 入力と出力だけ(中は見ない) | 同値分割、境界値分析 |
| WB(ホワイトボックス) | 内部の作り(ロジック) | 命令網羅、分岐網羅 |
BBの代表が、同値分割と境界値分析。
- 同値分割 … 同じ結果になる入力をグループに分け、代表の値でテストする。むだに全部試さず、効率よく確かめる。
- 境界値分析 … 境目(境界)の前後は間違いが起きやすいので、境界とその±1あたりを重点的に確かめる。たとえば「1〜100まで」なら、0・1・100・101あたりを試す。
WBの代表は、命令網羅(すべての命令を1回は実行する)や、分岐網羅(分かれ道をすべて両方向通す)など、どれだけ中を通したか(網羅)を見るやり方だ。
そして大事な注意。BBとWBは「どちらが優れている」ではない。見るところが違うので、両方を組み合わせて使う(併用)のがよい、という点が問われる。
わかりやすく言い換えると
身近なたとえで整理しよう。
BBとWBは、お弁当の確かめ方にたとえられる。BBは「ふたを開けず、注文どおりの中身が入っているかを外から確かめる」、WBは「ふたを開けて、中の具を1つずつ見て確かめる」。要するに、外から見るか、中を開けて見るか、の違いだ。
境界値分析は、「ぎりぎりの値であやしいところを重点的に試す」こと。つまり、境目の前後はミスが出やすいから、そこを念入りに確かめる。
「BBとWBの優劣」というのは思い込み。見るところが違うので、両方を併用する、と覚えておこう。
試験のツボ
🔴 一番出る:BBとWBの違い
①BB=中を見ず、入力と出力だけで確かめる(機能)
②WB=内部の作り(ロジック)を見て、網羅を確かめる
🔴 次に出る:BBの代表技法
①同値分割=同じ結果の入力をグループに分け、代表値で確かめる
②境界値分析=境目の前後(±1あたり)を重点的に確かめる
🟡 押さえると安定:優劣ではなく併用
①BBとWBは、どちらが優れているという話ではない
②見るところが違うので、両方を組み合わせて使う
よくある間違い
①「BBとWBは、どちらが優れているかを競うものだ」→ ✗ 見るところが違うので、優劣ではなく、両方を併用するのがよい。
②「ブラックボックステストは、内部の作り(ロジック)を見て確かめる」→ ✗ 内部を見るのはホワイトボックス。BBは入力と出力だけで確かめる。
③「境界値分析は、内部のロジックを見るホワイトボックスの技法だ」→ ✗ 境界値分析は、入出力で確かめるブラックボックスの技法。
試験での出題パターン
実際の問題でたしかめてみよう。
オリジナル問題1(BBとWBの違い)
ブラックボックステストとホワイトボックステストの違いとして、最も適切なものはどれか。
- BBは内部の作りを見て、WBは入力と出力だけで確かめる、逆の関係である
- BBもWBも、社員の給与を計算することだけを目的にした同じテストである
- BBは入力と出力だけ、WBは内部の作り(ロジック)を見て確かめていく
- BBもWBも同じ意味で、呼び名が2つあるだけで違いはないとされている
解答は 3 だよ。
BBは入力と出力だけ、WBは内部の作り(ロジック)を見て確かめるよ。「外から見るBB、中を見るWB」と覚えてね。
選択肢1は説明が逆、選択肢2は給与計算、選択肢4は「違いはない」が誤りだよ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | BBとWBの説明が逆 |
| 2 | ✗ | 給与計算のテストではない |
| 3 | ✓ | BBは入出力・WBは内部で正しい |
| 4 | ✗ | 両者には違いがある |
オリジナル問題2(境界値分析)
境界値分析に関する次の記述のうち、最も適切なものはどれか。
- 社員の出退勤を記録して、毎月の給与を計算するための手法である
- 内部のロジックを見て、すべての命令を実行したか確かめる手法である
- 取引先へ請求書を郵送する事務作業の手順を決めるための手法である
- 境目の前後(±1)を重点的に確かめる、入出力のテスト技法である
解答は 4 だよ。
境界値分析は、境目の前後(±1あたり)を重点的に確かめる、入出力のテスト技法だよ。境目はミスが出やすいから念入りに見るんだ。
選択肢1は給与計算、選択肢2は命令網羅(WB)、選択肢3は請求書の事務で、どれも違うよ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 給与計算の手法ではない |
| 2 | ✗ | 内部を見るのはホワイトボックス |
| 3 | ✗ | 請求書の事務ではない |
| 4 | ✓ | 境目の前後を重点的に確かめるで正しい |
オリジナル問題3(BBとWBの関係)
BBとWBの関係に関する次の記述のうち、最も適切なものはどれか。
- 見るところが違うので優劣ではなく、両方を組み合わせて使うのがよい
- WBのほうが必ず優れているので、BBは使わなくてよいとされている
- BBのほうが必ず優れているので、WBは使わなくてよいとされている
- BBもWBも、社員の給与を計算することだけを目的にした同じものである
解答は 1 だよ。
BBとWBは、見るところが違うので優劣ではなく、両方を組み合わせて使うのがよいよ。どちらかだけ、ではないんだ。
選択肢2・3は「どちらかが必ず優れている」が誤り、選択肢4は給与計算で誤りだよ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✓ | 優劣ではなく併用するで正しい |
| 2 | ✗ | WBが必ず優れているわけではない |
| 3 | ✗ | BBが必ず優れているわけではない |
| 4 | ✗ | 給与計算のものではない |
まとめ
押さえどころ
- 🔴 BBとWB = BBは中を見ず入出力で確かめる、WBは内部の作り(ロジック)を見て確かめる。
- 🔴 BBの代表技法 = 同値分割(代表値で確かめる)・境界値分析(境目の前後を重点的に)。
- 🟡 優劣ではなく併用 = 見るところが違うので、両方を組み合わせて使うのがよい。
次に学ぶ
- テスト種類(UT/IT/ST/UAT) ── 開発段階ごとのテスト。技法(BB/WB)は、各テストの中身を考えるときに使う。
執筆: SikakuQuest編集部