GAIO CLUB

2023年07月14日

【第6回】ガイオ用語集「ブラックボックステスト」

ガイオ用語集

ブラックボックステストとは

ブラックボックステストとは、テスト対象となるシステムやアプリケーションなどを、内部のプログラムの構造や動作原理を考慮せずにテストして品質を評価する方法です。テスト対象を見えない箱として扱い、入力と出力の整合性を確認します。

ブラックボックステストの種類

ブラックボックステストにはいくつかの手法があります。主なものを以下に紹介します。

同値分割法

入力値や出力値を同じ結果になると予想されるグループに分けて、各グループから代表的な値を選んでテストします。例えば、年齢を入力する場合、1歳未満、1歳以上120歳以下、120歳超という3つのグループに分けて、それぞれ0、60、121という値をテストします。

境界値(限界値)分析

入力値や出力値の範囲を最小値、最大値、最小値より1大きい値、最大値より1小さい値などに分けて、それぞれの境界値でテストします。例えば、年齢を入力する場合、1歳以上120歳以下という範囲に対して、0、1、120、121という値をテストします。

状態遷移テスト

テスト対象が持つ状態や状態間の遷移を表現した状態遷移図や状態遷移表をもとにして、各状態での動作や遷移条件をテストします。例えば、ATMの操作画面をテストする場合、カード挿入・暗証番号入力・メニュー選択・取引実行・カード返却という状態やその間の遷移をテストします。

デシジョンテーブル

複数の条件や結果が組み合わさる場合に使用する表で、各条件の真偽に応じて期待される結果を列挙してテストします。例えば、商品の送料を計算する場合、購入金額や会員ランクなどの条件と送料無料かどうかなどの結果を表にまとめてテストします。

ユースケーステスト

ユーザーの視点からテスト対象が提供するサービスや機能を表現したユースケースをもとにして、ユーザーの目的や要求に沿ったテストシナリオを作成してテストします。例えば、ECサイトで商品を購入する場合、商品検索⇒ カート追加⇒ 注文確定⇒ 支払い方法選択⇒ 配送先入力などの一連の流れでテストします。

ブラックボックステストのメリット・デメリット

メリット

・プログラムの内部構造を知らなくてもテストが可能
・利用者の視点からのテストができるため、より現実的なテストができる
・どのテストレベルでも適用できるため、設計不良の発見が早期に行える
・ソフトウェアの異なるバージョンやプラットフォームでの互換性を評価するのに適している

デメリット

・プログラムの内部構造を考慮しないため、特定の箇所のバグが見つけにくい場合がある
・テストケースの選定に悩む場合がある
・内部のプログラム変更があった場合、テスト条件が変わることがある
・冗長なテストが発生しやすくなり、効率が悪くなる場合がある

ブラックボックステストのやり方(使い方)

ブラックボックステストの実施手順は以下の通りです。
1. テスト対象のソフトウェアやシステムの機能や仕様を確認します。
2. テストケースを設計し、実装します。入力データや操作手順、期待する結果を含むものです。
3. 実際にテストケースを元にテスト実行し、得られた結果を期待する結果と比較します。
4. テスト結果によって不具合が見つかった場合、修正を行った上で確認テストと回帰テストを実施します。
5. 全てのテストが完了し、問題がないと判断されたらリリースします。

まとめ

ブラックボックステストは、テスト対象が設計通りに機能しているか確認するための重要なテスト方法です。内部の構造を知らずに行えるため、幅広い視点でテストが可能です。ただし、内部構造を考慮しないため、特定の箇所の故障や欠陥が見つけにくい場合があることを理解し、テスト計画を立てることが大切です。

人気のコラム

最新のコラム