- ソフトウェアの内部構造を見ずに、仕様書に基づいて入力に対して正しい出力が得られるかどうかを検証するテスト手法のこと
- 「中身がどうなっているか知らなくても、使い方と期待結果が分かれば実施できる」という特性からユーザー視点・仕様書視点でのテストに向いており、QAエンジニアでも実施できる
- 同義語として「機能テスト」「仕様ベーステスト」があり、対になる概念がホワイトボックステスト(内部構造を知った上でのテスト)だ
【深掘り】これだけ知ってればOK!
境界値分析の実例:年齢入力欄が「0〜150」の範囲を受け付けるシステムをテストする場合、境界値分析では-1・0・1・149・150・151という境界付近の値を重点的にテストする。-1と151は無効・0と150は有効として正しく処理されるかを確認することで、バグが発生しやすい境界付近を効率よく検証できる。
ブラックボックステストとホワイトボックステストの使い分け:ブラックボックステストはシステム結合テスト・受け入れテスト・機能テストに向く。ホワイトボックステストは単体テスト・コードカバレッジの向上に向く。両者を組み合わせることで品質の高いテストが実現できる。
ブラックボックステストの限界として、テストカバレッジを内部コードと紐付けて把握することが難しい点がある。この限界を補うためにホワイトボックステストと組み合わせることで、コードカバレッジと機能カバレッジの両面から品質を担保することが大規模なシステム開発の標準的なアプローチだ。
よくある誤解
ブラックボックステストはコードが読めない人がやるものだと思っている
ブラックボックステストはコードを見ないことが設計上の理由だ。ユーザー視点・仕様視点でのテストに集中することで内部実装に引きずられないテストが実現できる。エンジニアがブラックボックステストを実施することも多い。
境界値だけテストすれば十分だと思っている
境界値分析は効率的な手法だが全てのバグを発見できるわけではない。同値分割・デシジョンテーブル・状態遷移テスト・探索的テストを組み合わせることで多角的なテストが実現できる。
会話での使われ方

年齢の入力欄、0と150と151と-1で境界値分析をやりました。151を入力したらエラーが出ないバグが見つかりました。
QAエンジニアが境界値分析でバグを発見した場面。




この機能、仕様書ベースでテストケースを設計しているのでブラックボックステストです。コードを見なくてもテストできています。
テストリーダーがテスト設計の方針を説明している場面。




仕様書の全パターンをデシジョンテーブルにまとめました。条件の組み合わせが8パターンあるので全部テストケースを作ります。
QAエンジニアがデシジョンテーブルテストの設計を報告している場面。
【まとめ】3つのポイント
- 仕様書に基づいて入力と出力を検証するユーザー視点のテスト:内部構造を知らなくても仕様書があればテスト設計できるためQAエンジニアが仕様通りに動くかを検証するシステムテスト・受け入れテストに最適だ
- 同値分割・境界値分析・デシジョンテーブルが代表的な設計技法:全ての入力パターンを網羅することは不可能なため同値クラスから代表値を選ぶ同値分割とバグが集中する境界値に注目する境界値分析を組み合わせることでテストの効率と効果を最大化できる
- ホワイトボックステストと組み合わせてコードカバレッジと機能カバレッジの両面を担保:ブラックボックスは仕様視点・ホワイトボックスはコード視点でそれぞれ異なる種類のバグを発見するため両者を組み合わせることが高品質なソフトウェア開発の基本だ
よくある質問
-
Qブラックボックステストとホワイトボックステストはどちらが優れていますか?
-
A
どちらが優れているということはなく、それぞれ異なる目的と強みがあります。ブラックボックスはユーザー視点の仕様確認に、ホワイトボックスはコードの内部ロジック検証に向いています。両者を組み合わせることが効果的です。
-
Q境界値分析はどのような場面で使いますか?
-
A
数値の入力範囲・文字数の制限・日付の有効範囲など有効な値と無効な値の境界が存在する仕様に対して使います。
-
Q探索的テストとは何ですか?
-
A
テストケースを事前に全て設計せず、テスターが実際に動かしながら探索的にテストを進める手法です。仕様書では想定されていなかった異常系やエッジケースの発見に効果的です。
-
QブラックボックステストはIT試験でも出題されますか?
-
A
はい。基本情報技術者試験・応用情報技術者試験でブラックボックステスト・同値分割・境界値分析は頻出テーマです。
【出典】参考URL
https://www.ipa.go.jp/shiken/mondai-kaiotu/index.html :IPAソフトウェアテスト関連試験問題
https://jstqb.jp/syllabus.html :JSTQB「ソフトウェアテスト標準用語集」
https://e-words.jp/w/%E3%83%96%E3%83%A9%E3%83%83%E3%82%AF%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%83%86%E3%82%B9%E3%83%88.html :IT用語辞典「ブラックボックステスト」


コメント