3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

ソフトウェアテストの概論について学んだので,テスト技法を実践してみます.

Excelでやってみるというのも考えてみたんですが,ツールを使うほうが楽だろうということで
GIHOZを用いて「デシジョンテーブルテスト」をやってみます.

GIHOZはデシジョンテーブルテスト以外にも,以下のようなテストに対応しています.

  • ペアワイズテスト
  • 状態遷移テスト
  • 境界値分析
  • クラシフィケーションツリー法
  • CFD法

GIHOZはユーザー登録するだけで基本無料で使え,デシジョンテーブルやテストケースの表はCSVとしてダウンロードすることができます.

デシジョンテーブルについて

デシジョンテーブルとは,
想定されるすべての条件と、それに対して実行すべき動作を整理した表のことです.

これを用いることにより,すべての組み合わせをもれなくテストする際に有効です.

組み合わせパターンを視覚的に整理できるので,条件の組み合わせ漏れを防げます.

ただし,すべての組み合わせを網羅するのが大変な場合もあるので,
効率的なやり方でも実践してみます.

デシジョンテーブル使用例1

以下の映画館の料金設定に対して適用することを考えてみます.

映画館の料金設定

  • 基本料金は1800円
  • 20時以降に上映開始される作品(レイトショー)は1200円
  • 高校生以下は1500円(子供料金)
  • 毎月1日は一律1000円(映画の日)
    ※2つ以上の割引サービスの適用が重なった場合は金額が低いほうを優先
    ※高校生以下のレイトショーの入場制限は考慮しない

条件と動作の抽出

この場合の条件と動作は以下のように考えられます

  • 条件
    • 映画の日
    • レイトショー
    • 高校生以下(子供料金)
  • 動作
    • 1000円
    • 1200円
    • 1500円
    • 1800円

条件が3つあるので2の3乗の組み合わせがあるので,
YとNのすべての組み合わせで升目を埋めます.("組み合わせを生成"を選択)
スクリーンショット 2024-12-16 153915.png

動作の記入

条件を考えたら動作を埋めます.
スクリーンショット 2024-12-16 154530.png

表の簡略化

ここで,ルール1~4は最初の条件である「映画の日」が「Y」になった時点で,
動作は必ず1000円となります
したがって,1つのルールにまとめることができます.(「-」はどちらでもよいという意味)
これによりルールを減らすことができ,テストケースを削減できます.
スクリーンショット 2024-12-16 163326.png

デシジョンテーブル使用例2

以下のDVDレンタルの料金割引に対して適用することを考えてみます.

レンタルDVDの料金割引設定

  • 年齢が18歳以下は10%オフ
  • 年齢が65歳以上は20%オフ
  • 旧作(レンタル開始日から6ヶ月以上経過)は半額
    ※ただし2つ以上の割引の適用条件が重なった場合は,割引率の高いほうを優先

条件と動作の抽出

この場合の条件と動作は以下のように考えられます

  • 条件
    • 18歳以下
    • 65歳以上
    • 旧作
  • 動作
    • 10%オフ
    • 20%オフ
    • 50%オフ
    • 割引なし

条件が3つあるので2の3乗の組み合わせがあるので,
YとNのすべての組み合わせで升目を埋めます.
スクリーンショット 2024-12-16 161122.png

矛盾条件の削除

ここで,18歳以上かつ65歳以上の両方を満たすような人は存在しないので
「N/A」を動作に記入して動作を埋めます.
スクリーンショット 2024-12-16 161652.png

最後に

GIHOZを用いたデシジョンテーブルにより,条件のすべての組み合わせの洗い出しや,
テストケースの作成を簡単に行うことができました.

すべての組み合わせを洗い出すのはよいですが,必要に応じて分割や簡略化などをし,
テスト実施が可能な項目数になるようなテーブルを作成するようにしたいと思いました.

次回以降では状態遷移テストと境界値分析に対してGIHOZを用いていきたいです.

参考

ソフトウェアテストの教科書

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?