how write complex business logic test scenarios using decision table technique
デシジョンテーブルテストは、複雑なビジネスロジックのテストシナリオを特定するための簡単で自信のあるアプローチです。 。
テストケースの設計手法はいくつかあります。この記事では、使用方法を学びます デシジョンテーブルテクニック 効果的に テストケースを書く 複雑なビジネスロジックを備えたアプリケーションの場合。
これがイラストです:
セールスフォース開発者インタビューの質問と回答
私たちは皆、ビジネスのルールと検証が顧客から与えられた要件の大部分を占めることを知っています。これらの要件がビジネスアナリストまたは顧客によってどのように表され、プロジェクトチーム全体に伝達されるかを観察することで、そのようなビジネスルールとロジックのほとんどが論理プロセスフロー図に表示されることがわかります。
複雑な要件の論理プロセスフロー図は、多くのブランチ、ノード、および決定ボックスで構成されています。うまくいけば、私たちテスターはそれらすべてのブランチをカバーし、そのような複雑な論理ツリーの隅々まで触れることが期待されています。また、このような複雑なビジネスフローに直面し、プロセスを簡単にするために多くのテストケース/テストシナリオの準備手法を試しました。
最後に、デシジョンテーブルテスト手法がこの点で非常に役立つことがわかりました。デシジョンテーブル手法を使用すると、複雑なビジネスロジックのテストシナリオの準備が簡単になります。
例:デシジョンテーブル手法を使用してログイン画面のテストケースを作成する:
取りましょう デシジョンテーブルの例 ログイン画面の以下のビジネス要件の。

図:1.0サンプルのビジネスフロー図
私たちが行う最初のステップは、すべてのブランチに名前を付け、以下のように数字またはアルファベットを残すことです。
1、2、3は葉で、a、b、cは枝です。
次に、以下に示すようにデシジョンテーブルを作成する必要があります。 (クリックすると画像が拡大します)

図1.1ビジネスフローのデシジョンテーブル図1.0
学習内容:
覚えておくべきポイント
- 決定ボックスで指定されたすべての検証は、テーブルの列で行う必要があります。
- フロー図に記載されているすべての結果(リーフ)は、デシジョンテーブルでカバーする必要があります。
- 特定の結果を得るために必要な入力のすべての組み合わせは、組み合わせの列に記載され、テストケースの作成時に含めることができます。
- デシジョンテーブルを完成させたら、論理ツリーのすべてのブランチとリーフがカバーされているかどうかを確認するだけです。
デシジョンテーブル手法を使用する利点
#1) ダイアグラムとして表される複雑なビジネスフローは、この手法で簡単にカバーできます。
#二) それはテストケースの迅速な信頼を提供します。自信を得るために、自分のテストケースを何度も確認する必要はありません。
#3) わかりやすい。このデシジョンテーブルテンプレートから、誰でもテストケースを作成できます。
#4) テストケースとテストシナリオのやり直しは、最初のショットで完全にカバーされるため、完全に回避できます。
デシジョンテーブル手法の使用の制限
#1) 境界値分析、等価分割などの特定のテストケース準備手法は、このテンプレートに直接対応できません。ただし、組み合わせの列に書き留めて、テストケースを作成するときに使用できます。
他のテストケースの記述手法ではデシジョンテーブルほどの精度を保証できない理由を説明する前に、他の人にすぐに思い出させたいと思います。 ブラックボックス そして 白い箱 テストケースの作成テクニック。
その他のテストケース設計手法
#1) 境界値分析 は、テストケースが以下の代表者を含むように設計されているソフトウェアテスト手法です。 境界値 与えられた範囲の内外。
#二) 等価分割 とも呼ばれている 等価クラスのパーティショニング は、特定の条件をパーティションに分割し、各パーティションから1つの入力データをテスト用に選択できるソフトウェアテスト手法です。
に使用されるapkファイルは何ですか
#3) 状態遷移テスト はブラックボックステスト手法であり、有限数の状態を取得し、特定のイベントで1つの状態から別の状態に移行できるシステムのテストケースを設計するために使用できます。
#4) エラー推測 テスターの経験を使用して、エラーまたはエラーを見つける可能性が最も高いアプリケーションの一部を見つける手法です。これは、ルールのないスキルベースのテクニックです。
#5) ユースケーステスト この手法では、ユースケース/シナリオを使用してテストケースを作成します。ユーザーとシステムの相互作用は、ユースケースで説明されています。
その他のテスト設計手法:
#6) ステートメントカバレッジ
# 7) 条件カバレッジ
#8) 探索的テスト
ビジネスロジックの他のテストケース設計手法がデシジョンテーブルとして役立つことが証明できないのはなぜですか?
#1) 境界値分析と等価クラスの分割は、数値の範囲と長さを対象としています。これらの手法の両方だけでは、ビジネスルールの100%のテストカバレッジを保証することはできません。
#二) エラー推測は、経験に関するものです。経験は必要ですが、それがすべてであるとは限りません。
#3) 状態遷移テスト手法を使用すると、論理ツリーのすべての部分がカバーされていることを確認できますが、デシジョンテーブル手法はデシジョンテーブルでカバーされているため、ドキュメントやアーティファクトは示唆されません(図1.1)。
結論
ビジネスロジックのテストケースを作成するには、以下に従うことをお勧めします。 最大のテストカバレッジを確保するためにテストケースを準備する手順:
ステップ1) 使用する デシジョンテーブルのテストケース設計手法 100%の論理的カバレッジを達成します。
ステップ2) さまざまな範囲の入力をカバーするための境界値分析と等価分割。
ステップ3) フィールドレベルの検証のための組み合わせと順列(すべての順列が必要なわけではありませんが)。
ステップ4) 最後の仕上げとしての経験によるエラー推測(上記の3つのステップから特定できるエラーは別として)
これらすべてのテクニックを適切に組み合わせることで、ほぼすべてを発見できることを願っています テストシナリオ テスト中のアプリケーションの場合。
著者について: Hari Narayanは、複雑なビジネスロジックのテストシナリオの作成に3年以上の実務経験を持つソフトウェアテストの専門家です。彼は現在、Plintron GlobalTechnologiesで働いています。
プロジェクトで最も頻繁に使用するテストケースの設計手法を教えてください。そして、あなたの経験によると、どれが最良の方法ですか?
この記事に関する貴重なコメント/提案をお気軽に共有してください。