WACATE2012夏のセッション資料。
http://wacate.jp/
テーマは「組合せテスト技法はじめの一歩」。
"First step of a combination of software testing techniques".
(URLと何だか違いますが、URLが余り正しくありません…)
9. デシジョンテーブル
• 特徴
– 有則のテスト、複数の項目の値が複雑に関係
する論理的な条件を整理するときに便利
• AND、ORの関係
• if文、switch文の部分
– 日本工業規格(JIS)にも「決定表」(JIS X 0125)として登場
1 2 3 4 5 6 7 8
条件 あたためモードが指定されている Y Y Y Y N N N N
あたため時間が指定されている Y Y N N Y Y N N
待機状態である Y N N Y Y N N Y
動作 設定内容を表示する X ― ― ― ― ― ― ―
エラーを表示する ― X X ― ― X X ―
Copyright (C) 2012 Kumiko Ohmi All rights reserved 9
10. デシジョンテーブル
• 何を表しているの?
※フォーマットやY、N、X、―の表記は
条件を、判定順に列挙する
異なることもある
Yは条件を満たすこと、
Nは条件を満たさないことを示す
1 2 3 4 5 6 7 8
条件 あたためモードが指定されている Y Y Y Y N N N N
あたため時間が指定されている Y Y N N Y Y N N
待機状態である Y N N Y Y N N Y
動作 設定内容を表示する X ― ― ― ― ― ― ―
エラーを表示する ― X X ― ― X X ―
動作(処理)を、実行順に列挙する 条件の組合せとそれに
Xは実行されること、 対応する動作が書かれている
―は実行されないことを示す 規則(各列)
Copyright (C) 2012 Kumiko Ohmi All rights reserved 10
11. デシジョンテーブル
• 何を表しているの?
1 2 3 4 5 6 7 8
条件 あたためモードが指定されている Y Y Y Y N N N N
あたため時間が指定されている Y Y N N Y Y N N
待機状態である Y N N Y Y N N Y
動作 設定内容を表示する X ― ― ― ― ― ― ―
エラーを表示する ― X X ― ― X X ―
あたためモードと時間が指定されていて
待機状態ならば
設定内容を表示する
エラーは表示しない
Copyright (C) 2012 Kumiko Ohmi All rights reserved 11
17. デシジョンテーブル
• 条件の組合せが起こす動作を確認し、1組合せ=1列にな
るように記入する
「本会は、 WAKATE本会は、テストに関わった経験が
3年未満、または、社会人経験が5年未満なら若手料金
」、「若手料金に該当する人で、前回の優秀賞受賞者
は本会は無料」
… …
条件 テスト経験が3年未満 Y Y
社会人経験が5年未満 Y Y
前回の優秀賞受賞 Y N
前日交流会申込あり
前日予習会申込あり
動作 若手料金を加算する ― X
一般料金を加算する ― X
Copyright (C) 2012 Kumiko Ohmi All rights reserved 17
18. デシジョンテーブル
大きい!
→圧縮してみましょう
Copyright (C) 2012 Kumiko Ohmi All rights reserved 18
19. デシジョンテーブル
• テーブルの圧縮(簡単化)
– 動作に影響を及ぼさない条件がある列を
まとめる
• 但し、条件を判定する順序が変わる場合はできない
– 実装も確認する必要がある
Copyright (C) 2012 Kumiko Ohmi All rights reserved 19
20. デシジョンテーブル
• テーブルの圧縮(簡単化)
1 2
条件 テスト経験が3年未満 Y Y
社会人経験が5年未満 Y Y
1
前回の優秀賞受賞 Y Y 条件 テスト経験が3年未満 Y
前日交流会申込あり Y Y 社会人経験が5年未満 Y
前日予習会申込あり Y N 前回の優秀賞受賞 Y
動作 若手料金を加算する ― ―
前日交流会申込あり Y
一般料金を加算する ― ―
交流会料金を加算する X X 前日予習会申込あり ―
予習会料金を加算する ― ― 動作 若手料金を加算する ―
一般料金を加算する ―
前日予習会は動作に影響なし 交流会料金を加算する X
テスト経験が3年未満なので無料 予習会料金を加算する ―
(条件の判定順は同じとする)
Copyright (C) 2012 Kumiko Ohmi All rights reserved 20
22. デシジョンテーブル
大きい!
→複数に分けてみましょう
Copyright (C) 2012 Kumiko Ohmi All rights reserved 22
23. デシジョンテーブル
前日交流会申込あり
前日予習会申込あり
表2 1 …
表1 1 … 9 … 条件 前日交流会申込あり Y
条件 テスト経験が3年未満 Y N 前日予習会申込あり Y
社会人経験が5年未満 Y Y 動作 交流会料金を加算する X
前回の優秀賞受賞 Y Y 予習会料金を加算する ―
オプション(交流会・予習会)申込あり Y Y
動作 若手料金を加算する X X 表3 1 …
条件 前日交流会申込あり Y
一般料金を加算する ー ー
前日予習会申込あり Y
表2を処理する X ー 動作 交流会料金を加算する Y
表3を処理する ー X 予習会料金を加算する Y
Copyright (C) 2012 Kumiko Ohmi All rights reserved 23
24. デシジョンテーブル
• 複数に分割―順番/選択/反復/入れ子
– 選択:動作が別のデシジョンテーブルを指しており、
それが複数ある
表2 1 …
表1 1 … 9 … 条件 前日交流会申込あり Y
条件 テスト経験が3年未満 Y N 前日予習会申込あり Y
社会人経験が5年未満 Y Y 動作 交流会料金を加算する X
前回の優秀賞受賞 Y Y 予習会料金を加算する ―
オプション(交流会・予習会)申込あり Y Y
動作 若手料金を加算する X X 表3 1 …
一般料金を加算する ー ー 条件 前日交流会申込あり Y
表2を処理する X ー 前日予習会申込あり Y
表3を処理する ー X 動作 交流会料金を加算する Y
予習会料金を加算する Y
Copyright (C) 2012 Kumiko Ohmi All rights reserved 24
32. ペアワイズ
• 何を表しているの? 因子
OS 言語 保存先
WinXP 英語 ローカル
WinXP 日本語 ネットワークドライブ
Win7 英語 ネットワークドライブ
Win7 日本語 ローカル
1行目に書かれている因子に紐付く水準
Copyright (C) 2012 Kumiko Ohmi All rights reserved 32
33. ペアワイズ
• 何を表しているの?
OS WinXPで、言語 英語で、
保存先 ローカルでテスト
OS 言語 保存先
WinXP 英語 ローカル
WinXP 日本語 ネットワークドライブ
Win7 英語 ネットワークドライブ
Win7 日本語 ローカル
Copyright (C) 2012 Kumiko Ohmi All rights reserved 33
34. ペアワイズ
• 完成 PictMasterを使って生成した結果
加熱設定 温度設定 時間設定 キー押下音 庫内灯 加熱終了合図音 加熱後出し忘れ警告音
レンジ 強 手動設定 OFF ON ON ON
オーブン 弱 マイメニュー OFF OFF OFF OFF
レンジ 強 マイメニュー ON ON OFF OFF
オーブン 弱 手動設定 ON OFF OFF ON
オーブン 弱 手動設定 ON ON ON OFF
レンジ 弱 マイメニュー ON OFF ON ON
オーブン 強 手動設定 OFF OFF OFF ON
Copyright (C) 2012 Kumiko Ohmi All rights reserved 34
35. ペアワイズ
加熱設定 温度設定 時間設定 キー押下音 庫内灯設定 加熱終了合図音 加熱後出し忘れ警告音
レンジ 強 手動設定 OFF ON ON ON
オーブン 弱 マイメニュー利用 OFF OFF OFF OFF
レンジ 強 マイメニュー利用 レンジ×強は2回、レンジ×弱は1回
ON ON OFF OFF
オーブン 弱 手動設定 オーブン×強は1回、オーブン×弱は3回
ON OFF OFF ON
オーブン 弱 手動設定 ON ON ON OFF
レンジ 弱 マイメニュー利用 ON OFF ON ON
オーブン 強 手動設定 ペアの登場回数が異なっている
OFF OFF OFF ON
登場回数が多い水準と少ない水準がある
Copyright (C) 2012 Kumiko Ohmi All rights reserved 35
36. 直交表
加熱設定 温度設定 時間設定 キー押下音 庫内灯設定 加熱終了合図音 加熱後出し忘れ警告音
レンジ 強 手動設定 OFF ON ON ON
オーブン 弱 マイメニュー利用 OFF OFF
OFF OFF
レンジ×強は2回、レンジ×弱は1回
レンジ 強 マイメニュー利用 ON ON OFF OFF
オーブン 弱 手動設定
オーブン×強は1回、オーブン×弱は3回
ON OFF OFF ON
オーブン 弱 手動設定 ON ON ON OFF
レンジ 弱 マイメニュー利用 ペアの登場回数が異なっている
ON OFF ON ON
オーブン 強 手動設定 OFF OFF OFF ON
登場回数が多い水準と少ない水準がある
ペアの登場回数を偏らせたくないなあ
→では直交表をどうぞ
Copyright (C) 2012 Kumiko Ohmi All rights reserved 36
48. 直交表
• ペアの登場回数は?
加熱後出し忘れ
L8直交表 加熱設定 温度設定 時間設定 キー押下音 庫内灯 加熱終了合図音
警告音
1 レンジ 強 手動設定 ON ON ON ON
2 レンジ 強 手動設定 OFF OFF OFF OFF
3 レンジ 弱 マイメニューON ON OFF OFF
4 レンジ 弱 マイメニューOFF OFF ON ON
5 オーブン 強 マイメニューON OFF ON OFF
6 オーブン 強 マイメニューOFF ON OFF ON
7 オーブン 弱 手動設定 ON OFF OFF ON
8 オーブン 弱 手動設定 OFF ON ON OFF
それぞれのペアが現れる頻度は同じ、
水準の登場回数も同じ
Copyright (C) 2012 Kumiko Ohmi All rights reserved 48
50. ペアワイズ
• PictMasterでは「制約表」で禁則回避
–例 レンジのときは予熱は使えない
加熱設定 レンジ
予熱設定 ON
がない
加熱設定 予熱設定 時間設定 キー押下音 庫内灯 加熱終了合図音 加熱後出し忘れ警告音
オーブン ON マイメニュー ON ON ON OFF
レンジ OFF 手動 OFF OFF OFF ON
オーブン OFF 手動 ON ON OFF OFF
オーブン ON マイメニュー OFF OFF ON OFF
オーブン ON 手動 ON ON ON ON
オーブン ON マイメニュー ON OFF OFF ON
レンジ OFF マイメニュー ON ON ON OFF
オーブン OFF 手動 OFF ON ON OFF
Copyright (C) 2012 Kumiko Ohmi All rights reserved 50
52. 直交表
• 禁則がある場合
–例 レンジのときは予熱は使えない
1と2の行には、禁則にひっかかる組合せがある
この行を削除した場合に消える組合せは…
• 加熱設定 レンジ と 時間設定 手動設定
• 予熱設定 ON と 時間設定 手動設定
加熱後出し忘れ
L8直交表 加熱設定 予熱設定 時間設定 キー押下音 庫内灯 加熱終了合図音
警告音
1 レンジ ON 手動設定 ON ON ON ON
2 レンジ ON 手動設定 OFF OFF OFF OFF
3 レンジ OFF マイメニューON ON OFF OFF
4 レンジ OFF マイメニューOFF OFF ON ON
5 オーブン ON マイメニューON OFF ON OFF
6 オーブン ON マイメニューOFF ON OFF ON
7 オーブン OFF 手動設定 ON OFF OFF ON
8 オーブン OFF 手動設定 OFF ON ON OFF
Copyright (C) 2012 Kumiko Ohmi All rights reserved 52
53. 直交表
• 禁則がある場合
– レンジのときは予熱は使えない
加熱後出し忘れ
L8直交表 加熱設定 予熱設定 時間設定 キー押下音 庫内灯 加熱終了合図音
警告音
1 レンジ ON 手動設定 ON ON ON ON
2 レンジ ON 手動設定 OFF OFF OFF OFF
3 レンジ OFF マイメニューON ON OFF OFF
4 レンジ OFF マイメニューOFF 禁則にひっかかる行は削除する
OFF ON ON
5 オーブン ON マイメニューON OFF ON OFF
6 オーブン ON マイメニューOFF ON OFF ON
7 オーブン OFF 手動設定 ON OFF OFF ON
8 オーブン OFF 手動設定 OFF ON ON OFF
消える組合せを
9 レンジ OFF 手動設定 ON ON ON ON
10 オーブン ON 手動設定 OFF 禁則の組合せを含まない
OFF OFF OFF
ようにして追加する
Copyright (C) 2012 Kumiko Ohmi All rights reserved 53
54. こんなことはありませんか?
• どうしますか?
– 条件が複雑!
– 組合せが多い!
Copyright (C) 2012 Kumiko Ohmi All rights reserved 54