Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

wacate2012s

1,419 views

Published on

WACATE2012夏のセッション資料。
http://wacate.jp/

テーマは「組合せテスト技法はじめの一歩」。
"First step of a combination of software testing techniques".
(URLと何だか違いますが、URLが余り正しくありません…)

  • Be the first to comment

wacate2012s

  1. 1. 組合せテスト技法はじめの一歩― デシジョンテーブル、ペアワイズ、 直交表の第一歩 ※公開用(一部、削除・更新しています) WACATE2012 夏 2012年6月30日 近江 久美子(WACATE実行委員会) Copyright (C) 2012 Kumiko Ohmi All rights reserved 1
  2. 2. こんなことはありませんか?• 条件が複雑! – 入力値や状態同士が複雑に関係しあい、 どんな組合せでテストするか考えるのが大変…• 組合せが多すぎ! – 相互に影響し合わないはずの項目同士を 組合せた場合もテストで確認したいけれど、 項目が多くて組合せ数が膨大に… Copyright (C) 2012 Kumiko Ohmi All rights reserved 2
  3. 3. このセッションは何?• 複数の条件を組合せたときのテストで 使える技法について考えましょう – 中でも、3つの技法に着目します Copyright (C) 2012 Kumiko Ohmi All rights reserved 3
  4. 4. 種類• 複数の条件や項目のテストで使われる技法 – デシジョンテーブル – ペアワイズ – 直交表 – CFD法 – クラシフィケーションツリー法 – 原因結果グラフ – ドメイン分析テスト• 技法はたくさん – 使い分けましょう! Copyright (C) 2012 Kumiko Ohmi All rights reserved 4
  5. 5. こんなことはありませんか?• 条件が複雑!• 組合せが多すぎ! Copyright (C) 2012 Kumiko Ohmi All rights reserved 5
  6. 6. 条件が複雑!• 例 勉強会(WAKATE)参加費算出アプリ • 本会は、テストに関わった経験が3年未満、または、社 会人経験が5年未満なら若手料金。他は一般料金 • 若手料金に該当する人で、前回の優秀賞受賞者は本会 は無料で参加できる。一般料金に該当する人で、前回 の優秀賞受賞者は本会は若手料金で参加できる • オプションとして前日交流会と前日予習会がある • WAKATE本会とは別精算で、テストに関わった経験が3 年未満ならば前日予習会は無料複雑な条件を整理したい、そんなとき…※WAKATEは架空の勉強会です Copyright (C) 2012 Kumiko Ohmi All rights reserved 6
  7. 7. デシジョンテーブル デシジョンテーブルは、 複雑な条件に効果的 Copyright (C) 2012 Kumiko Ohmi All rights reserved 7
  8. 8. デシジョンテーブル• 例題 – 一緒に考えましょう • 例 勉強会の参加費算出アプリ – 説明で登場します •例 電子レンジの設定表示機能 Copyright (C) 2012 Kumiko Ohmi All rights reserved 8
  9. 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. 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. 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
  12. 12. デシジョンテーブル• 条件や動作の指定は真偽値でなくても よい – 制限指定表 – 拡張指定表 • 行数を少なくできる場合がある 1 2 3 4 5 6 条件 モード設定 通常 通常 ミルク ミルク 解凍 解凍 温度設定 強 弱 強 弱 強 弱 動作 仕上がり温度 80℃ 70℃ 65℃ 55℃ 9℃ 7℃ – 両方を含むもの(混合指定表)もある Copyright (C) 2012 Kumiko Ohmi All rights reserved 12
  13. 13. デシジョンテーブル• 作成手順 – 条件、動作を洗い出し、行ごとに記入する – 条件の組合せが起こす動作を確認し、 1組合せ=1列になるように記入する Copyright (C) 2012 Kumiko Ohmi All rights reserved 13
  14. 14. デシジョンテーブル• 条件、動作を洗い出し、行ごとに記入する 「WAKATE本会は、 1 条件 テスト経験が3年未満 テストに関わった 経験が3年未満、 動作 若手料金を加算する または、 社会人経験が5年未満 なら若手料金。 他は一般料金」 – 範囲を持つものは、同値分割、境界値分析 Copyright (C) 2012 Kumiko Ohmi All rights reserved 14
  15. 15. デシジョンテーブル• 条件、動作を洗い出し、行ごとに記入する 「WAKATE本会は、 1 条件 テスト経験が3年未満 テストに関わった 社会人経験が5年未満 経験が3年未満、 動作 若手料金を加算する または、 一般料金を加算する 社会人経験が5年未満 なら若手料金。 他は一般料金」 – 範囲を持つものは、同値分割、境界値分析 Copyright (C) 2012 Kumiko Ohmi All rights reserved 15
  16. 16. デシジョンテーブル• 条件、動作を洗い出し、行ごとに記入する 1 2 条件 テスト経験が3年未満 社会人経験が5年未満 前回の優秀賞受賞 前日交流会申込あり 前日予習会申込あり 動作 若手料金を加算する 一般料金を加算する 交流会料金を加算する 予習会料金を加算する Copyright (C) 2012 Kumiko Ohmi All rights reserved 16
  17. 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. 18. デシジョンテーブル 大きい! →圧縮してみましょう Copyright (C) 2012 Kumiko Ohmi All rights reserved 18
  19. 19. デシジョンテーブル• テーブルの圧縮(簡単化) – 動作に影響を及ぼさない条件がある列を まとめる • 但し、条件を判定する順序が変わる場合はできない – 実装も確認する必要がある Copyright (C) 2012 Kumiko Ohmi All rights reserved 19
  20. 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
  21. 21. デシジョンテーブル• テーブルの圧縮(簡単化) – 動作に影響を及ぼさない条件がある列を まとめる • 但し、条件を判定する順序が変わる場合はできない – 実装も確認する必要がある – コンパクトになる – 誤って圧縮した場合はテスト漏れになる • リスクを踏まえて判断する Copyright (C) 2012 Kumiko Ohmi All rights reserved 21
  22. 22. デシジョンテーブル 大きい! →複数に分けてみましょう Copyright (C) 2012 Kumiko Ohmi All rights reserved 22
  23. 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. 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
  25. 25. こんなことはありませんか?• 条件が複雑!• 組合せが多すぎ! Copyright (C) 2012 Kumiko Ohmi All rights reserved 25
  26. 26. 組合せが多すぎ!• 例 影響しないはずの機能同士、意図しない 相互作用がないか確認したい。全網羅でなく てもよいが、網羅基準は必要 – 加熱設定:レンジ,オーブン – 温度設定:強,弱 – 時間設定:手動設定,マイメニュー利用 – キー押下音: ON,OFF – 庫内灯設定: ON,OFF – 加熱終了合図音: ON,OFF – 加熱後出し忘れ警告音: ON,OFF組合せが多すぎる… Copyright (C) 2012 Kumiko Ohmi All rights reserved 26
  27. 27. ペアワイズ、直交表 ペアワイズ、直交表は 無則のテストで組合せが多いときに効果的 Copyright (C) 2012 Kumiko Ohmi All rights reserved 27
  28. 28. ペアワイズ、直交表• 例題 – 一緒に考えましょう • 例 電子レンジの機能(相互影響なし) – 説明で登場します • 例 Windowsアプリの環境 Copyright (C) 2012 Kumiko Ohmi All rights reserved 28
  29. 29. ペアワイズ、直交表• 共通の特徴 – 無則が対象、ANDやORなどの関係がない因子同 士の組合せテストで有効 • 特に組合せが多すぎるときに利用すると効果がある OS 言語 保存先 テストNo. OS 言語 保存先 WinXP 英語 ローカル 1 WinXP 日本語 ローカル 2 WinXP 英語 ネットワークドライブ WinXP 日本語 ネットワークドライブ 3 Win7 日本語 ネットワークドライブ Win7 英語 ネットワークドライブ 4 Win7 英語 ローカル Win7 日本語 ローカル – 2因子間の網羅率に着目 • バグのうち約2/3が単機能、約1/3が2機能の組合せで 起こったものと報告する論文がある • 直交表、ペアワイズともに2因子に限定しない場合も – より多くの組合せを確認したい場合、 例えばstrength 3のk-wiseテスト、強度3の直交表を利用 Copyright (C) 2012 Kumiko Ohmi All rights reserved 29
  30. 30. ペアワイズ• 特徴 – 組合せ数がより少なく済む場合がある • 直交表と比較した場合 – ツールを使えば比較的手軽 • フリーで使えるツールも複数 • 手順や結果はツールに依存 – 2因子間の網羅率に着目している点は共通 • ここでは「PictMaster」を利用した場合で説明※PictMaster http://sourceforge.jp/projects/pictmaster/ Copyright (C) 2012 Kumiko Ohmi All rights reserved 30
  31. 31. ペアワイズ• 手順 – 因子、水準の洗い出し – ツールの利用方法に従い因子と水準を入力し、 結果を出力 • PictMasterでは… – 因子は「パラメータ」へ、 水準は「値の並び」へカンマ区切りで、入力 – 入力したら「実行」 Copyright (C) 2012 Kumiko Ohmi All rights reserved 31
  32. 32. ペアワイズ• 何を表しているの? 因子 OS 言語 保存先 WinXP 英語 ローカル WinXP 日本語 ネットワークドライブ Win7 英語 ネットワークドライブ Win7 日本語 ローカル 1行目に書かれている因子に紐付く水準 Copyright (C) 2012 Kumiko Ohmi All rights reserved 32
  33. 33. ペアワイズ• 何を表しているの? OS WinXPで、言語 英語で、 保存先 ローカルでテスト OS 言語 保存先 WinXP 英語 ローカル WinXP 日本語 ネットワークドライブ Win7 英語 ネットワークドライブ Win7 日本語 ローカル Copyright (C) 2012 Kumiko Ohmi All rights reserved 33
  34. 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. 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. 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
  37. 37. 直交表• 特徴 – それぞれのペアが現れる頻度は同じ • ペアワイズは同じとは限らない • 3因子間の組合せについても、バランスよく現れ、 網羅率もある程度 • ペアワイズより組合せ数が多くなることがある Copyright (C) 2012 Kumiko Ohmi All rights reserved 37
  38. 38. 直交表• 何を表しているの? 因子 テストNo. OS 言語 保存先 1 WinXP 日本語 ローカル 2 WinXP 英語 ネットワークドライブ 3 Win7 日本語 ネットワークドライブ 4 Win7 英語 ローカル 1行目に書かれている因子に紐付く水準 Copyright (C) 2012 Kumiko Ohmi All rights reserved 38
  39. 39. 直交表• 何を表しているの? OS WinXPで、言語 日本語で、 保存先 ローカルでテスト テストNo. OS 言語 保存先 1 WinXP 日本語 ローカル 2 WinXP 英語 ネットワークドライブ 3 Win7 日本語 ネットワークドライブ 4 Win7 英語 ローカル Copyright (C) 2012 Kumiko Ohmi All rights reserved 39
  40. 40. 直交表• 作成手順 – 因子、水準の洗い出し – どんな種類、大きさの直交表を使うか決定 • 2水準系、3水準系、… テストNo. A B C 1 1 1 1 • L4直交表(行数は4)、 2 1 2 2 L8直交表(行数は8)、… 3 2 1 2 4 2 2 1 • 既存の直交表を利用する方法も、 自分で作成・変形する方法もある – 過去の成果物や書籍からの引用等 – 直交表を公開しているサイトも » http://www.hayst.com/Documents/OA.xls » http://www.research.att.com/~njas/oadir/index.html – 因子、水準を直交表に割付 ※直交表は以下より http://www.hayst.com/Documents/OA.xls Copyright (C) 2012 Kumiko Ohmi All rights reserved 40
  41. 41. 直交表• 因子、水準の洗い出し – 因子:水準 – 加熱設定:レンジ,オーブン – 温度設定:強,弱 – 時間設定:手動設定,マイメニュー利用 – キー押下音: ON,OFF – 庫内灯設定: ON,OFF – 加熱終了合図音: ON,OFF – 加熱後出し忘れ警告音: ON,OFF• どんな種類、大きさの直交表を使う? Copyright (C) 2012 Kumiko Ohmi All rights reserved 41
  42. 42. 直交表• 何を表しているの? 因子 テストNo. OS 言語 保存先 1 WinXP 日本語 ローカル 2 WinXP 英語 ネットワークドライブ 3 Win7 日本語 ネットワークドライブ 4 Win7 英語 ローカル 1行目に書かれている因子に紐付く水準 Copyright (C) 2012 Kumiko Ohmi All rights reserved 42
  43. 43. 直交表• どんな種類、大きさの直交表を使うか決定 – 列数が、因子の数以上 – 各列に、割り当てる因子の水準を表せるだけの値 があること 3つの因子を割当て可能テストNo. A B C 1 1 1 1 2 1 2 2 各列に1と2、2つの値が 3 2 1 2 登場しているので、 4 2 2 1 2つの水準を割当て可能 ※ 見積方法は他にもある 「ソフトウェア・テスト PRESS Vol.2」の 「特集3 網羅率&効率性の高いテスト実施の手引き 直交表による組み合わせテスト入門」 ※直交表は http://www.hayst.com/Documents/OA.xls より Copyright (C) 2012 Kumiko Ohmi All rights reserved 43
  44. 44. 直交表• どんな種類、大きさの直交表を使うか決定 – 加熱設定:レンジ,オーブン – 温度設定:強,弱 テストNo. A B C 1 1 1 1 – 時間設定:手動設定,マイメニュー利用 2 ②3列あり 1 2 2 3 2 1 2 – キー押下音: ON,OFF 4 どの列にも1-2の 2 2 1 – 庫内灯設定: ON,OFF 2つの値が登場 – 加熱終了合図音: ON,OFF – 加熱後出し忘れ警告音: ON,OFFテストNo.A B C D E F G 1 1 1 1 1 1 1 1 ③5列あり 2 1 1 1 2 2 2 2 どの列にも1-4の 3 1 2 ①7列あり 2 1 1 2 2 4つの値が登場 4 1 どの列にも1-2の 2 2 2 2 1 1 5 2 1 2 1 2 1 2 6 2 12つの値が登場 2 2 1 2 1 7 2 2 1 1 2 2 1 8 2 2 1 2 1 1 2 ※直交表は http://www.hayst.com/Documents/OA.xls より Copyright (C) 2012 Kumiko Ohmi All rights reserved 44
  45. 45. 直交表 • どんな種類、大きさの直交表を使うか決定 – 因子数は7、水準数はすべて2 テストNo. A B C 1 1 1 1 2 3 ②3列あり 1 2 2 1 2 2 4 どの列にも1-2の 2 2 1 2つの値が登場テストNo. A B C D E F G 1 1 1 1 1 1 1 1 2 1 1 1 2 2 2 2 3 1 2 ①7列あり 1 2 1 2 2 4 1 どの列にも1-2の 2 2 2 2 1 1 5 2 1 2 2つの値が登場 1 2 1 2 ③5列あり 6 2 1 2 2 1 2 1 7 2 2 1 1 2 2 1 どの列にも1-4の 8 2 2 1 2 1 1 2 4つの値が登場 ※直交表は http://www.hayst.com/Documents/OA.xls より Copyright (C) 2012 Kumiko Ohmi All rights reserved 45
  46. 46. 直交表• 合う直交表がない場合 – 因子が少なく、列が余った場合 • 余った列を削除 – 水準を表す値が余った場合 • 余りには多くテストしたい 例 4水準割り当てられるが 水準を割り付ける テストしたいのは3水準 因子、水準が過不足ないことが前提 本当に組合せてテストする必要があるか? 無駄なものやグルーピングできる因子、水準はないか?※直交表は http://www.hayst.com/Documents/OA.xls より Copyright (C) 2012 Kumiko Ohmi All rights reserved 46
  47. 47. 直交表• 割付 – 因子「加熱設定」をA列に割り付ける – 水準の「レンジ」と「オーブン」を割り付けるテストNo.A B C D E F G 1 1 1 1 1 1 1 1 2 1 1 1 2 2 2 2 3 1 2 2 1 1 2 2 4 1 2 2 置き換える 2 2 1 1 5 2 1 2A列の1→レンジ 2 1 1 2 6 2 1 A列の2→オーブン1 2 2 2 1 7 2 2 1 1 2 2 1 8 2 2 Excelなら列選択して一括置換 1 2 1 1 2※直交表は http://www.hayst.com/Documents/OA.xls より Copyright (C) 2012 Kumiko Ohmi All rights reserved 47
  48. 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
  49. 49. ペアワイズ、直交表 禁則があるときは? →回避する必要がある Copyright (C) 2012 Kumiko Ohmi All rights reserved 49
  50. 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
  51. 51. 直交表• 禁則がある場合 – 割付けた後、 • 禁則にひっかかる行 • その行を削除した場合に消える組合せ を特定する – 削除によりなくなってしまう組合せを 禁則を回避しながら追加し、 禁則を含む行はテストできないので削除する※因子、水準を割付ける段階で対応する方法もある 本「ソフトウェアテストHAYST法入門 品質と生産性がアップする直 交表の使い方」の「第7章 禁則の回避」 Copyright (C) 2012 Kumiko Ohmi All rights reserved 51
  52. 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. 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. 54. こんなことはありませんか?• どうしますか? – 条件が複雑! – 組合せが多い! Copyright (C) 2012 Kumiko Ohmi All rights reserved 54
  55. 55. こんなことはありませんか?• どうしますか? – 条件が複雑! ⇒デシジョンテーブルを使ってみよう – 組合せが多い! ⇒ペアワイズ、直交表を使ってみよう 複数の条件を組合せるテストで使えるテスト技法のうち 3つをご紹介しました Copyright (C) 2012 Kumiko Ohmi All rights reserved 55
  56. 56. おわりに~こんなことはないですか?• こんなことはないですか? – 「テスト技法、おもしろい!」 でも、いざ持ち帰って使おうとして… – 「私のところでは☓☓という事情で、 テスト技法は使えない」 Copyright (C) 2012 Kumiko Ohmi All rights reserved 56
  57. 57. おわりに~こんなことはないですか?• “私のところでは☓☓という事情で、テスト技法は使えない” という方もいらっしゃるかもしれません – でも…技法は先人の知恵が詰まっているものだと思います – 技法から学べるものは沢山あります • 考え方、注意が必要なポイント… – 「実は」役立つ場面もあります • 「そのまま」は使えなくても… • いつかプロジェクトが変わったら?• 皆さんは、どう活用したいですか? – WACATEで周りの人に聞いてみてもよいと思いますよ(^-^) この後のセッションもご活用ください! Copyright (C) 2012 Kumiko Ohmi All rights reserved 57
  58. 58. 参考文献• 主にデシジョンテーブルについて参照した文献 – 「JIS X 0125:1986 決定表」日本規格協会,昭和61年 • http://www.webstore.jsa.or.jp/webstore/Com/FlowControl.jsp?bu nsyoId=JIS+X+0125%3A1986&dantaiCd=JIS&status=1&pageNo= 0&lang=jp – WACATE2010冬 セッション「デシジョンテーブルを使いこなそう!」 資料 加瀬 正樹 – 「ソフトウェアテスト技法―自動化、品質保証、そしてバグの未然防止の ために」ボーリス バイザー (著), Boris Beizer (原著), 小野間 彰 (翻訳), 山 浦 恒央 (翻訳) ,日経BP出版センター,1994年 Copyright (C) 2012 Kumiko Ohmi All rights reserved 58
  59. 59. 参考文献• 主にペアワイズ、直交表について参照した文献 – 「A Library of Orthogonal Arrays」 • http://www.research.att.com/~njas/oadir/index.html – 「PictMasterユーザーズマニュアル 第2.0版 v5.4対応」 • PictMaster http://sourceforge.jp/projects/pictmaster/ – 「ソフトウェアテストHAYST法入門 品質と生産性がアップする直交表の 使い方」 吉澤 正孝/秋山浩一/仙石太郎 (著) ,日科技連出版社,2007年 – 「『ソフトウェアテストHAYST法入門 』 に掲載されている直交表のうち 、オリジナルな表」 • http://www.hayst.com/Documents/OA.xls – 「直交表を活用したソフトウェアテストの効率化」 秋山 浩一 • http://www.jasst.jp/archives/jasst05w/pdf/S4-1.pdf – 「組み合わせテスト技術の導入・定着への取り組み、および上流設計へ の適用検討の事例」 中野 隆司,小笠原 秀人,松本 智司 • http://www.juse.or.jp/download/software/sqip2011/B3-1.pdf Copyright (C) 2012 Kumiko Ohmi All rights reserved 59
  60. 60. 参考文献• ペアワイズ、直交表、デシジョンテーブル、他について参照した文献 – ISTQBテスト技術者資格制度 Advanced Level シラバス 日本語版 Version 2007.J02 • http://jstqb.jp/dl/JSTQB-Syllabus.Advanced_Version2007.J02.pdf – 「ソフトウェア・テスト PRESS 総集編」 ソフトウェア・テストPRESS 編集部,技術評論社,2011年 • CD-ROM ソフトウェア・テスト PRESS Vol.2 「特集3 網羅率& 効率性の高いテスト実施の手引き 直交表による組み合わせテスト入 門」 – 「ソフトウェアテスト技法ドリル―テスト設計の考え方と実際」 秋山 浩一 (著) ,日科技連出版社,2010年 – 「ソフトウェアテスト実践ワークブック」 レックス・ブラック (著), 成 田 光彰 (翻訳) ,日経BP社,2007年 – 「ソフトウェアテストの展望 SW機能テストから、システム挙動の評 価へ」 松尾谷 徹 • http://www.jasst.jp/archives/jasst07e/pdf/A7.pdf – 「はじめて学ぶソフトウェアのテスト技法」 リー・コープランド (著), 宗 雅彦 (翻訳) ,日経BP社, 2005年 Copyright (C) 2012 Kumiko Ohmi All rights reserved 60

×