デシジョンテーブルのテスト (例)

⚡ スマートサマリー

決定表テストは、入力の組み合わせとその期待される出力を表形式で記録するブラックボックステスト手法です。このチュートリアルでは、原因と結果の概念を説明し、ログインとアップロードの例を通して、この手法が複雑なビジネスロジックに対して高いカバレッジを提供する理由を示します。

  • 🧮 コアアイデア: 意思決定表は、体系的な網羅性を確保するために、条件(原因)と結果(影響)を対応付けるものです。
  • 🔢 組み合わせルール: ルールの数は、条件の数の2乗(2^n)に等しい。
  • 🔐 実用的な例: ログイン画面と写真アップロード画面には、出力に対応する真偽値が表示されます。
  • ベスト・ユース: システムの動作が入力の組み合わせごとに異なる場合に最適です。
  • 🤖 AIの有効化: AIツールは現在、要件から意思決定表を生成し、冗長なルールを削除する。

デシジョンテーブルテスト

デシジョンテーブルテストとは何ですか?

決定表テストは、さまざまな入力の組み合わせに対するシステム動作をテストするために使用されるソフトウェアテスト手法です。これは、さまざまな入力の組み合わせとそれに対応するシステム動作(出力)を表形式で記録する体系的なアプローチです。そのため、これは、 因果関係 表には、テストの網羅性を高めるために、原因と結果が記録されています。

A デシジョンテーブル これは、入力とルール、ケース、またはテスト条件を表形式で表現したものです。複雑なケースにも非常に効果的なツールです。 ソフトウェアテスト そして要件管理。決定表は、考えられるすべての条件の組み合わせを確認するのに役立ち、テスターは不足している条件を容易に特定できます。条件は、真(T)と偽(F)の値で示されます。

例1:ログイン画面の決定表

ログイン画面の決定表を作成してみましょう。

ログイン画面の意思決定ベーステーブル

条件はシンプルです。ユーザーが正しいユーザー名とパスワードを入力すれば、ホームページにリダイレクトされます。入力内容に誤りがあれば、エラーメッセージが表示されます。

の賃貸条件 ルール1 ルール2 ルール3 ルール4
ユーザー名 (T/F) F T F T
パスワード(T/F) F F T T
出力(E/H) E E E H

伝説:

  • T – 正しいユーザー名/パスワード
  • F – 間違ったユーザー名/パスワード
  • E – エラーメッセージが表示される
  • H – ホーム画面が表示されます

解釈:

  • ケース1 ユーザー名とパスワードの両方が間違っています。ユーザーにはエラーメッセージが表示されます。
  • ケース2 ユーザー名は正しいですが、パスワードが間違っています。ユーザーにはエラーメッセージが表示されます。
  • ケース3 ユーザー名が間違っていますが、パスワードは正しいです。ユーザーにはエラーメッセージが表示されます。
  • ケース4 ユーザー名とパスワードは両方とも正しい。ユーザーはホームページに移動する。

これを テストケース3つのエラーケースはすべて同じルールをテストするため、2つのシナリオを作成できます。

  • 正しいユーザー名とパスワードを入力し、「ログイン」をクリックしてください。すると、ホームページに移動します。
  • ユーザー名またはパスワードを間違えて入力し、「ログイン」をクリックすると、エラーメッセージが表示されます。

例2:アップロード画面の決定表

次に、特定の条件下でユーザーに写真のアップロードを求めるダイアログボックスについて考えてみましょう。

  1. 許可されているファイル形式は「.jpg」のみです。
  2. ファイルサイズは32KB未満でなければなりません。
  3. 解像度は137×177である必要があります。

いずれかの条件が満たされない場合、システムは対応するエラーメッセージを表示します。すべての条件が満たされた場合、写真は正常にアップロードされます。

アップロード画面の決定表

本件に関する決定表を以下に示します。

の賃貸条件 ケース1 ケース2 ケース3 ケース4 ケース5 ケース6 ケース7 ケース8
フォーマット jpgの jpgの jpgの jpgの .jpg ではありません .jpg ではありません .jpg ではありません .jpg ではありません
サイズ < 32 KB < 32 KB 32KB以上 32KB以上 < 32 KB < 32 KB 32KB以上 32KB以上
解像度 137x177 137×177ではない 137x177 137×177ではない 137x177 137×177ではない 137x177 137×177ではない
出力 写真がアップロードされました 解像度の不一致 サイズの不一致 サイズと解像度の不一致 フォーマットの不一致 フォーマットと解像度の不一致 フォーマットとサイズの不一致 フォーマット、サイズ、解像度の不一致

この表から、網羅的なテストケースを8つ作成できます。

  1. .jpg、32 KB未満、137×177 → 写真のアップロードに成功しました。
  2. .jpg、32 KB未満、137×177ではない → 解像度不一致エラー。
  3. .jpg、32 KB以上、137×177 → サイズ不一致エラー。
  4. .jpg、32 KB以上、137×177以外 → サイズと解像度の不一致エラー。
  5. .jpg形式ではありません、32KB未満、137×177ピクセル → フォーマット不一致エラー。
  6. .jpg形式ではなく、32KB未満で、137×177ピクセルでもありません → フォーマットと解像度の不一致エラー。
  7. .jpg形式ではなく、サイズが32KB以上、137×177ピクセル以上ではありません → フォーマットとサイズの不一致エラー。
  8. .jpg形式ではなく、32KB以上ではなく、137×177ピクセルでもありません → フォーマット、サイズ、解像度の不一致エラー。

決定表テストが重要な理由

決定表テストは、多くの条件の組み合わせをテストし、複雑なビジネスロジックを網羅的にカバーできるため重要です。システム動作が入力値ごとに異なる場合、この手法はシンプルで読みやすい表現で十分なカバレッジを提供します。

In ソフトウェア工学境界値解析と等価分割は類似の手法ですが、システムが 同じ 多数の入力にわたる動作。動作が 今とは異なる これらの手法では、入力の組み合わせごとに十分な網羅性を保証することはできないため、決定表を用いたテストの方がより良い選択肢となる。

この表は、理解しやすく、すべての組み合わせを網羅しているため、要件定義や機能開発の参考資料としても役立ちます。入力が増えるにつれてその重要性は高まります。可能な組み合わせの数は 2^n で、n は入力数です。Web フォームでよく見られる n = 10 の場合、組み合わせは 1,024 通りになります。これらすべてをテストすることはできませんが、決定ベースのテストを使用して、豊富なサブセットを選択することができます。

デシジョンテーブルテストの利点

  • 入力によってシステム動作が異なる場合、同値分割や境界値分析では不十分な場合に有効です。
  • 表現がシンプルなので、解釈しやすく、開発チームとビジネスチームの両方にとって有用です。
  • 効果的な組み合わせの構築を支援し、テストカバレッジの向上を保証します。
  • 複雑なビジネス状況はすべて意思決定表に変換できる。
  • 入力組み合わせの数が少ない場合、100%の網羅率を保証できます。

デシジョンテーブルテストの欠点

主な欠点は、入力数が増えるにつれて、表が複雑になり、管理が難しくなることです。

よくあるご質問

決定表テストは、入力条件の組み合わせとそれに対応する期待される出力を表にまとめるブラックボックス手法です。これにより、複雑なビジネスルールを体系的に網羅することができます。

これは、原因(入力条件)と結果(システム出力)を対応付けたものです。両方の側面を1つの表にまとめることで関係性が明確になるため、原因結果表とも呼ばれます。

ルールの数は 2^n に等しくなります。ここで n は二項条件の数です。例えば、4 つの条件からは 16 通りのルールが生成され、10 の条件からは 1,024 通りの組み合わせが生成されます。

境界値分析は、入力値の範囲全体にわたって挙動が同じである場合に適しています。決定表は、入力値の組み合わせごとに異なる出力が得られる場合に適しており、他の手法ではカバーできない範囲を網羅できます。

複数の入力条件が相互に作用して異なる出力を生成する機能の場合に使用します。例えば、ログイン検証、フォームのアップロード、複数の依存関係を持つ価格設定や割引ルールなどが挙げられます。

条件の数が増えるにつれて、表は指数関数的に(2^n)拡大し、管理が困難になります。そのため、テスターは通常、すべての組み合わせをテストするのではなく、代表的なルールのサブセットを選択します。

AIツールは要件を読み取り、意思決定表を自動的に生成し、不足または重複するルールを特定し、同等のルールを統合します。これにより、手作業が削減され、組み合わせの網羅性が向上します。

はい。AIは、決定表の各ルールを入力と期待される結果を含む具体的なテストケースに変換し、リスクに基づいて優先順位を付けることで、影響の大きい組み合わせから優先的にテストすることができます。