ブラックボックステスト技法
ブラックボックステスト技法は、システムの内部構造(コード)は見ず、 「仕様書(入力と出力の期待値)」 に基づいてテスト条件を導き出す手法です。
1. 同値分割法 (Equivalence Partitioning)
Section titled “1. 同値分割法 (Equivalence Partitioning)”データを「同じ処理がされるはずのグループ(パーティション)」に分割し、その中から代表値を1つ選んでテストする技法です。
- 有効同値クラス: 正しく処理されるべき正常なデータのグループ。
- 無効同値クラス: エラーになるべき異常なデータのグループ。
- メリット: すべての値をテストしなくても、効率よくバグを見つけられます。
2. 境界値分析 (Boundary Value Analysis)
Section titled “2. 境界値分析 (Boundary Value Analysis)”同値クラスの「端っこ(境界)」の値は、バグ(Off-by-oneエラー)が発生しやすいため、そこを狙い撃ちにする技法です。
- 2値の境界値分析: 境界値そのものと、その隣の値の2つを確認する方法。
- 3値の境界値分析: 境界値そのもの、その1つ下、その1つ上の3つを確認する方法(より厳密)。
3. デシジョンテーブルテスト (Decision Table Testing)
Section titled “3. デシジョンテーブルテスト (Decision Table Testing)”「条件」と「動作」の複雑な組み合わせを表(テーブル)に整理してテストする技法です。
- 使い方: 「もし会員かつ、クーポンを持っていて、かつ購入額が5000円以上なら…」といった複雑なビジネスロジックの網羅性を確認するのに最適です。
- メリット: 仕様の論理的な抜け漏れを発見しやすくなります。
4. 状態遷移テスト (State Transition Testing)
Section titled “4. 状態遷移テスト (State Transition Testing)”システムの「状態」と、状態を変える「イベント(遷移)」に注目した技法です。
- 対象: ログイン画面(未ログイン→ログイン済)、ECサイトの注文ステータス(注文済→入金確認→発送)など。
- メリット: 特定の状態からしか実行できない操作や、無効な遷移(例:発送済みなのにキャンセルする)の制御漏れを発見できます。