ブラックボックステスト(black box testing)

内部の作りを見ず、入力と出力の関係だけで、仕様どおりに動くかを確かめるテスト。

もう少し詳しい説明

ブラックボックステストは、プログラムの中身を見ずに、入力と出力だけで確かめるテストです。

名前のとおり、対象を「中の見えない黒い箱」として扱います。見るのは、仕様書どおりの入力を与えたら、仕様書どおりの出力が返るかだけです。

入力仕様書が定めた値プログラム中身は見ない出力仕様書どおりか?
見るのは入口と出口だけで、真ん中の箱の中身は問いません。仕様書に「この入力ならこの出力」と書かれたとおりになっているかを確かめます。プログラムを読まないので、仕様書さえあれば作った本人以外でも行えます。

中を読まないので、作った本人でなくても行えます。仕様書さえあればテストできる、というのがこのやり方の性質です。

テストデータはどう選ぶか

入力として考えられる値は、ふつう膨大です。整数を1つ受け取るだけでも、全部試すことはできません。そこで、少ない数で、効率よく誤りを見つけられる選び方が2つ決まっています。

同値分割0以下(無効)1〜100(有効)101以上(無効)限界値分析0・1(間は選ばない)100・101
「1以上100以下の整数を受け付ける」場合です。上は同じ結果になるまとまりで分けた図で、それぞれから代表を1つ選びます。下は、その境目の両側を選んだものです。誤りは境目に集まるので、両方を組み合わせて使います。

① 同値分割

同じ結果になる入力を1つのまとまり(同値クラス)と見て、そこから代表を1つだけ選びます。

「1以上100以下の整数」を受け付けるなら、まとまりは3つです。

まとまり代表の例
0以下(無効)-5
1〜100(有効)50
101以上(無効)200

50 で正しく動くなら 51 でも動くはずだ、という見込みで数を減らします。

② 限界値分析

まとまりの境目にあたる値を選びます。上の例なら、0、1、100、101 の4つです。

なぜ境目かというと、誤りが境目に集まるからです。「100以下」と書くべきところを「100未満」と書いてしまえば、100 だけが通らなくなります。50 をいくら試しても、この誤りは見つかりません。

この2つは対立するものではなく、組にして使います。同値分割でまとまりを決め、その境目を限界値分析で突く、という順です。

ホワイトボックステストとの違い

対にして問われるので、違いを押さえておきます。

ブラックボックステストホワイトボックステスト
見るもの仕様書(入力と出力)プログラムの中身(処理の通り道)
確かめること仕様どおりに動くか命令や分岐を通したか
主に使う場面システムテスト・受入テスト単体テスト
中の作り見ない見る

どちらが優れているという話ではありません。 見つけられる誤りの種類が違うので、両方を使います。

このテストで見つからないもの

ブラックボックステストが苦手なのは、仕様書に書かれていない誤りです。

たとえば、使われていない処理がプログラムに残っていても、入力と出力が仕様どおりなら気づけません。逆に、仕様書に書かれた機能の作り忘れは、仕様に沿ってテストを用意していれば見つかります。ここはホワイトボックステストと正反対です。

覚え方:箱の色は「見えるかどうか」

名前だけで区別できます。

色は「中身が見えるかどうか」を表しているだけです。この一言で結び付けておけば、取り違えることはありません。

試験ではこう出る

科目A(旧・午前)の開発技術分野で頻出です。多いのは、ブラックボックステストの説明を選ばせる問題と、値の範囲を示して限界値分析で選ぶべきデータを答えさせる問題です。ホワイトボックステストと並べて、どちらの説明かを判断させる形もよく出ます。応用情報では、テストケースの過不足を指摘させる形に踏み込みます。

限界値の問題で迷ったら、「境目そのもの」と「そこから1つ外れた値」を書き出すのが確実です。1以上100以下なら 0・1・100・101 の4つになります。境目の内側だけ(1と100だけ)を選んだ選択肢は、無効な値をはじけるかを確かめていないので誤りだと判断できます。

関連する用語

ホワイトボックステスト
中の処理の通り道を見て行うテスト。見る場所が正反対で、対にして問われる
同値分割
同じ結果になる入力のまとまりに分け、そこから代表を1つずつ選ぶ方法
限界値分析
有効と無効の境目の両側を選ぶ方法。誤りは境目に集まりやすいため
要件定義
何を作るかを決める工程。ブラックボックステストは、ここで決めたことの答え合わせ
システムテスト
完成したシステム全体を、利用者の使い方に沿って確かめるテスト

ミニクイズ

1以上100以下の整数を受け付けるプログラムに対し、限界値分析によってテストデータを選ぶとき、最も適切なものはどれか。

正解は 1番:0、1、100、101

限界値分析は、有効と無効が切り替わる境目の、両側の値を選ぶ方法です。境目は1と100なので、有効側の1と100、無効側の0と101の4つを選びます。「1、50、100」は有効な範囲の中だけなので、無効な値を正しくはじけるかを確かめられません。「-100、0、100、200」に含まれる-100と200は境目から離れた値で、これは同値分割で選ぶ代表値にあたります。「50、51」は境目とは関係のない位置で、隣り合っているだけです。境目そのものと、そこから1つ外れた値を組にする、と覚えておいてください。

間違えた用語の復習リストを見る →

最終更新:2026-09-18