How to create test case. This slides introduce "Decision Table Test" and "Combination Test". In the section of decision test, introduce how to organize test cases. In the section of combination test, introduce how to make effective test case.
15. ケース洗い出し方法
2. 「条件」のルールを埋める
ルール (Y: Yes / N: No)
1 2 3 4 5 6 7 8
条
件
プライム会員 Y Y Y Y N N N N
2000円以上 Y Y N N Y Y N N
お急ぎ便 Y N Y N Y N Y N
ア
ク
シ
ョ
ン
配送料無料
配送料350円
配送料360円
Y, N は機械的に交互に入れていき
整理は後で行う
16. ケース洗い出し方法
3. ルールを適用した際の「アクション」を埋める
ルール (Y: Yes / N: No)
1 2 3 4 5 6 7 8
条
件
プライム会員 Y Y Y Y N N N N
2000円以上 Y Y N N Y Y N N
お急ぎ便 Y N Y N Y N Y N
ア
ク
シ
ョ
ン
配送料無料 Y Y Y Y Y
配送料350円 Y
配送料360円 Y Y
18. デシジョンテーブルの整理(矛盾条件の削除)
• 矛盾する条件のアクションには
「N/A」(Not Applicable)を記載
ルール (Y: Yes / N: No)
1 2 3 4 5 6 7 8
条
件
18歳以下 Y Y Y Y N N N N
65歳以上 Y Y N N Y Y N N
旧作 Y N Y N Y N Y N
ア
ク
シ
ョ
ン
10%OFF N/A N/A Y
20%OFF N/A N/A Y
50%OFF N/A N/A Y Y Y
割引なし N/A N/A Y
DVDレンタル料金の割引のデシジョンテーブル
19. デシジョンテーブルの整理(簡略化)
• 複数ルールを1つにまとめて簡略化
ルール (Y: Yes / N: No)
1 2 3 4 5 6 7 8
条
件
18歳以下 Y Y Y Y N N N N
65歳以上 Y Y N N Y Y N N
旧作 Y N Y N Y N Y N
ア
ク
シ
ョ
ン
10%OFF N/A N/A Y
20%OFF N/A N/A Y
50%OFF N/A N/A Y Y Y
割引なし N/A N/A Y
DVDレンタル料金の割引のデシジョンテーブル
「旧作」かどうかに関わらず
「アクション」は「N/A」
20. デシジョンテーブルの整理(簡略化)
• 複数ルールを1つにまとめて簡略化
ルール (Y: Yes / N: No)
1 2 3 4 5 6 7
条
件
18歳以下 Y Y Y N N N N
65歳以上 Y N N Y Y N N
旧作 - Y N Y N Y N
ア
ク
シ
ョ
ン
10%OFF N/A Y
20%OFF N/A Y
50%OFF N/A Y Y Y
割引なし N/A Y
DVDレンタル料金の割引のデシジョンテーブル
「-」(どちらでもよい)
としてまとめる
21. デシジョンテーブルの整理(簡略化)
• 複数ルールを1つにまとめて簡略化
ルール (Y: Yes / N: No)
1 2 3 4 5 6 7
条
件
18歳以下 Y Y Y N N N N
65歳以上 Y N N Y Y N N
旧作 - Y N Y N Y N
ア
ク
シ
ョ
ン
10%OFF N/A Y
20%OFF N/A Y
50%OFF N/A Y Y Y
割引なし N/A Y
DVDレンタル料金の割引のデシジョンテーブル
まとめたからテストケースが減る
という訳ではない
22. デシジョンテーブルの整理(分割)
• 条件の中で関連性の弱いもの(独立性が高いもの)は
別表へ分割する
ルール (Y: Yes / N: No)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
条
件
18歳以下 Y Y Y Y Y Y Y Y N N N N N N N N
65歳以上 Y Y Y Y N N N N Y Y Y Y N N N N
旧作 Y Y N N Y Y N N Y Y N N Y Y N N
毎月1日 Y N Y N Y N Y N Y N Y N Y N Y N
ア
ク
シ
ョ
ン
10%OFF N/A N/A N/A N/A Y
20%OFF N/A N/A N/A N/A Y
50%OFF N/A N/A N/A N/A Y Y Y Y Y Y Y Y Y
割引なし N/A N/A N/A N/A Y
DVDレンタル料金の割引のデシジョンテーブル
条件が1つ増えると
ケースは2倍になる
23. デシジョンテーブルの整理(分割)
• 条件の中で関連性の弱いもの(独立性が高いもの)は
別表へ分割する
ルール (Y: Yes / N: No)
1 2 3 4 5 6 7 8 9
条
件
18歳以下 Y Y Y Y N N N N -
65歳以上 Y Y N N Y Y N N -
旧作 Y Y Y N Y N Y N -
毎月1日 N N N N N N N N Y
ア
ク
シ
ョ
ン
10%OFF N/A N/A Y
20%OFF N/A N/A Y
50%OFF N/A N/A Y Y Y
割引なし N/A N/A Y
別表1 N/A N/A Y
DVDレンタル料金の割引のデシジョンテーブル
独立性が高いものは1つへ集約
24. デシジョンテーブルの整理(分割)
• 条件の中で関連性の弱いもの(独立性が高いもの)は
別表へ分割する
ルール (Y: Yes / N: No)
1 2 3 4 5 6 7 8 9
条
件
18歳以下 Y Y Y Y N N N N -
65歳以上 Y Y N N Y Y N N -
旧作 Y Y Y N Y N Y N -
毎月1日 N N N N N N N N Y
ア
ク
シ
ョ
ン
10%OFF N/A N/A Y
20%OFF N/A N/A Y
50%OFF N/A N/A Y Y Y
割引なし N/A N/A Y
別表1 N/A N/A Y
DVDレンタル料金の割引のデシジョンテーブル
別表へ飛ばす
25. デシジョンテーブルの整理(分割)
• 条件の中で関連性の弱いもの(独立性が高いもの)は
別表へ分割する
ルール (Y: Yes / N: No)
1 2 3 4 5 6 7 8 9
条
件
18歳以下 Y Y Y Y N N N N -
65歳以上 Y Y N N Y Y N N -
旧作 Y Y Y N Y N Y N -
毎月1日 N N N N N N N N Y
ア
ク
シ
ョ
ン
10%OFF N/A N/A Y
20%OFF N/A N/A Y
50%OFF N/A N/A Y Y Y
割引なし N/A N/A Y
別表1 N/A N/A Y
DVDレンタル料金の割引のデシジョンテーブル
ルール (Y: Yes / N: No)
1 2 3 4 5 6 7 8
条
件
18歳以下 Y Y Y Y Y Y Y Y
65歳以上 Y Y Y Y N N N N
旧作 Y Y N N Y Y N N
ア
ク
シ
ョ
ン
10%OFF
20%OFF
50%OFF Y Y Y Y Y Y Y Y
割引なし
26. デシジョンテーブルの整理(3値以上の条件)
• 同値クラスの考え方を用いて条件/アクションを設定
ルール (Y: Yes / N: No)
1 2 3 4 5 6 7 8
条
件
18歳以下 Y Y Y Y N N N N
65歳以上 Y Y N N Y Y N N
旧作 Y N Y N Y N Y N
ア
ク
シ
ョ
ン
10%OFF N/A N/A Y
20%OFF N/A N/A Y
50%OFF N/A N/A Y Y Y
割引なし N/A N/A Y
DVDレンタル料金の割引のデシジョンテーブル
「年齢」で同値クラスが作れる
「割引率」で同値クラスが作れる