SlideShare una empresa de Scribd logo
1 de 60
Descargar para leer sin conexión
組合せテスト技法はじめの一歩
― デシジョンテーブル、ペアワイズ、
      直交表の第一歩
  ※公開用(一部、削除・更新しています)


          WACATE2012 夏
          2012年6月30日

 近江 久美子(WACATE実行委員会)




     Copyright (C) 2012 Kumiko Ohmi All rights reserved   1
こんなことはありませんか?

• 条件が複雑!
 – 入力値や状態同士が複雑に関係しあい、
   どんな組合せでテストするか考えるのが大変…


• 組合せが多すぎ!
 – 相互に影響し合わないはずの項目同士を
   組合せた場合もテストで確認したいけれど、
   項目が多くて組合せ数が膨大に…



       Copyright (C) 2012 Kumiko Ohmi All rights reserved   2
このセッションは何?

• 複数の条件を組合せたときのテストで
  使える技法について考えましょう
 – 中でも、3つの技法に着目します




       Copyright (C) 2012 Kumiko Ohmi All rights reserved   3
種類
• 複数の条件や項目のテストで使われる技法
 –   デシジョンテーブル
 –   ペアワイズ
 –   直交表
 –   CFD法
 –   クラシフィケーションツリー法
 –   原因結果グラフ
 –   ドメイン分析テスト

• 技法はたくさん
 – 使い分けましょう!

          Copyright (C) 2012 Kumiko Ohmi All rights reserved   4
こんなことはありませんか?

• 条件が複雑!

• 組合せが多すぎ!




       Copyright (C) 2012 Kumiko Ohmi All rights reserved   5
条件が複雑!

• 例   勉強会(WAKATE)参加費算出アプリ
      • 本会は、テストに関わった経験が3年未満、または、社
        会人経験が5年未満なら若手料金。他は一般料金
      • 若手料金に該当する人で、前回の優秀賞受賞者は本会
        は無料で参加できる。一般料金に該当する人で、前回
        の優秀賞受賞者は本会は若手料金で参加できる
      • オプションとして前日交流会と前日予習会がある
      • WAKATE本会とは別精算で、テストに関わった経験が3
        年未満ならば前日予習会は無料


複雑な条件を整理したい、そんなとき…
※WAKATEは架空の勉強会です

            Copyright (C) 2012 Kumiko Ohmi All rights reserved   6
デシジョンテーブル




 デシジョンテーブルは、
  複雑な条件に効果的



      Copyright (C) 2012 Kumiko Ohmi All rights reserved   7
デシジョンテーブル

• 例題
 – 一緒に考えましょう
   • 例 勉強会の参加費算出アプリ
 – 説明で登場します
   •例   電子レンジの設定表示機能




         Copyright (C) 2012 Kumiko Ohmi All rights reserved   8
デシジョンテーブル

• 特徴
 – 有則のテスト、複数の項目の値が複雑に関係
   する論理的な条件を整理するときに便利
   • 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
デシジョンテーブル
• 何を表しているの?
                                         ※フォーマットや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
デシジョンテーブル

• 何を表しているの?
                                                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
デシジョンテーブル

• 条件や動作の指定は真偽値でなくても
  よい
 – 制限指定表
 – 拡張指定表
   • 行数を少なくできる場合がある
                     1             2            3             4   5    6
 条件 モード設定          通常            通常         ミルク           ミルク     解凍   解凍
   温度設定              強            弱             強            弱    強    弱
 動作 仕上がり温度         80℃          70℃           65℃          55℃    9℃   7℃


 – 両方を含むもの(混合指定表)もある



             Copyright (C) 2012 Kumiko Ohmi All rights reserved             12
デシジョンテーブル

• 作成手順
 – 条件、動作を洗い出し、行ごとに記入する
 – 条件の組合せが起こす動作を確認し、
   1組合せ=1列になるように記入する




         Copyright (C) 2012 Kumiko Ohmi All rights reserved   13
デシジョンテーブル
• 条件、動作を洗い出し、行ごとに記入する
 「WAKATE本会は、                                                 1
                              条件           テスト経験が3年未満
 テストに関わった
 経験が3年未満、                     動作           若手料金を加算する
 または、
 社会人経験が5年未満
 なら若手料金。
 他は一般料金」


 – 範囲を持つものは、同値分割、境界値分析

        Copyright (C) 2012 Kumiko Ohmi All rights reserved   14
デシジョンテーブル
• 条件、動作を洗い出し、行ごとに記入する
 「WAKATE本会は、                                                 1
                              条件           テスト経験が3年未満
 テストに関わった
                                           社会人経験が5年未満
 経験が3年未満、                     動作           若手料金を加算する
 または、                                      一般料金を加算する
 社会人経験が5年未満
 なら若手料金。
 他は一般料金」


 – 範囲を持つものは、同値分割、境界値分析

        Copyright (C) 2012 Kumiko Ohmi All rights reserved   15
デシジョンテーブル
• 条件、動作を洗い出し、行ごとに記入する
                                                              1   2
    条件   テスト経験が3年未満
         社会人経験が5年未満
         前回の優秀賞受賞
         前日交流会申込あり
         前日予習会申込あり
    動作   若手料金を加算する
         一般料金を加算する
         交流会料金を加算する
         予習会料金を加算する



         Copyright (C) 2012 Kumiko Ohmi All rights reserved           16
デシジョンテーブル
• 条件の組合せが起こす動作を確認し、1組合せ=1列にな
  るように記入する
  「本会は、 WAKATE本会は、テストに関わった経験が
  3年未満、または、社会人経験が5年未満なら若手料金
  」、「若手料金に該当する人で、前回の優秀賞受賞者
  は本会は無料」
                                                       …               …
    条件   テスト経験が3年未満                                            Y   Y
         社会人経験が5年未満                                            Y   Y
         前回の優秀賞受賞                                              Y   N
         前日交流会申込あり
         前日予習会申込あり
    動作   若手料金を加算する                                             ―   X
         一般料金を加算する                                             ―   X
          Copyright (C) 2012 Kumiko Ohmi All rights reserved               17
デシジョンテーブル



    大きい!
  →圧縮してみましょう



      Copyright (C) 2012 Kumiko Ohmi All rights reserved   18
デシジョンテーブル

• テーブルの圧縮(簡単化)
 – 動作に影響を及ぼさない条件がある列を
   まとめる
  • 但し、条件を判定する順序が変わる場合はできない
   – 実装も確認する必要がある




       Copyright (C) 2012 Kumiko Ohmi All rights reserved   19
デシジョンテーブル

• テーブルの圧縮(簡単化)
                       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
デシジョンテーブル

• テーブルの圧縮(簡単化)
 – 動作に影響を及ぼさない条件がある列を
   まとめる
  • 但し、条件を判定する順序が変わる場合はできない
   – 実装も確認する必要がある
 – コンパクトになる
 – 誤って圧縮した場合はテスト漏れになる
  • リスクを踏まえて判断する




       Copyright (C) 2012 Kumiko Ohmi All rights reserved   21
デシジョンテーブル



     大きい!
 →複数に分けてみましょう




      Copyright (C) 2012 Kumiko Ohmi All rights reserved   22
デシジョンテーブル

       前日交流会申込あり
       前日予習会申込あり

                                                         表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
デシジョンテーブル
• 複数に分割―順番/選択/反復/入れ子
     – 選択:動作が別のデシジョンテーブルを指しており、
       それが複数ある
                                                         表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
こんなことはありませんか?

• 条件が複雑!

• 組合せが多すぎ!




       Copyright (C) 2012 Kumiko Ohmi All rights reserved   25
組合せが多すぎ!
• 例 影響しないはずの機能同士、意図しない
  相互作用がないか確認したい。全網羅でなく
  てもよいが、網羅基準は必要
 –   加熱設定:レンジ,オーブン
 –   温度設定:強,弱
 –   時間設定:手動設定,マイメニュー利用
 –   キー押下音: ON,OFF
 –   庫内灯設定: ON,OFF
 –   加熱終了合図音: ON,OFF
 –   加熱後出し忘れ警告音: ON,OFF

組合せが多すぎる…

          Copyright (C) 2012 Kumiko Ohmi All rights reserved   26
ペアワイズ、直交表


 ペアワイズ、直交表は
  無則のテストで
組合せが多いときに効果的


      Copyright (C) 2012 Kumiko Ohmi All rights reserved   27
ペアワイズ、直交表

• 例題
 – 一緒に考えましょう
  • 例 電子レンジの機能(相互影響なし)
 – 説明で登場します
  • 例 Windowsアプリの環境




       Copyright (C) 2012 Kumiko Ohmi All rights reserved   28
ペアワイズ、直交表
• 共通の特徴
  – 無則が対象、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
ペアワイズ

• 特徴
   – 組合せ数がより少なく済む場合がある
       • 直交表と比較した場合
   – ツールを使えば比較的手軽
       • フリーで使えるツールも複数
       • 手順や結果はツールに依存
          – 2因子間の網羅率に着目している点は共通
       • ここでは「PictMaster」を利用した場合で説明



※PictMaster http://sourceforge.jp/projects/pictmaster/


                   Copyright (C) 2012 Kumiko Ohmi All rights reserved   30
ペアワイズ
• 手順
 – 因子、水準の洗い出し
 – ツールの利用方法に従い因子と水準を入力し、
   結果を出力
   • PictMasterでは…
       – 因子は「パラメータ」へ、
         水準は「値の並び」へカンマ区切りで、入力
       – 入力したら「実行」




            Copyright (C) 2012 Kumiko Ohmi All rights reserved   31
ペアワイズ

• 何を表しているの?                                              因子


  OS      言語                 保存先
  WinXP   英語                 ローカル
  WinXP   日本語                ネットワークドライブ
  Win7    英語                 ネットワークドライブ
  Win7    日本語                ローカル

                   1行目に書かれている因子に紐付く水準



          Copyright (C) 2012 Kumiko Ohmi All rights reserved   32
ペアワイズ

• 何を表しているの?
                                         OS WinXPで、言語 英語で、
                                          保存先 ローカルでテスト


  OS      言語                 保存先
  WinXP   英語                 ローカル
  WinXP   日本語                ネットワークドライブ
  Win7    英語                 ネットワークドライブ
  Win7    日本語                ローカル


          Copyright (C) 2012 Kumiko Ohmi All rights reserved   33
ペアワイズ

• 完成 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
ペアワイズ

 加熱設定   温度設定   時間設定           キー押下音          庫内灯設定          加熱終了合図音     加熱後出し忘れ警告音
 レンジ    強      手動設定           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
直交表

 加熱設定 温度設定 時間設定              キー押下音          庫内灯設定          加熱終了合図音     加熱後出し忘れ警告音
 レンジ   強   手動設定              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
直交表

• 特徴
 – それぞれのペアが現れる頻度は同じ
   • ペアワイズは同じとは限らない
   • 3因子間の組合せについても、バランスよく現れ、
     網羅率もある程度
   • ペアワイズより組合せ数が多くなることがある




        Copyright (C) 2012 Kumiko Ohmi All rights reserved   37
直交表

• 何を表しているの?
                                                                  因子

   テストNo.    OS              言語                 保存先
         1   WinXP           日本語                ローカル
         2   WinXP           英語                 ネットワークドライブ
         3   Win7            日本語                ネットワークドライブ
         4   Win7            英語                 ローカル

 1行目に書かれている因子に紐付く水準




             Copyright (C) 2012 Kumiko Ohmi All rights reserved        38
直交表

• 何を表しているの?
                                         OS WinXPで、言語 日本語で、
                                           保存先 ローカルでテスト


 テストNo.    OS             言語                保存先
       1   WinXP          日本語               ローカル
       2   WinXP          英語                ネットワークドライブ
       3   Win7           日本語               ネットワークドライブ
       4   Win7           英語                ローカル




            Copyright (C) 2012 Kumiko Ohmi All rights reserved   39
直交表
• 作成手順
 – 因子、水準の洗い出し
 – どんな種類、大きさの直交表を使うか決定
    • 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
直交表
• 因子、水準の洗い出し
 –   因子:水準
 –   加熱設定:レンジ,オーブン
 –   温度設定:強,弱
 –   時間設定:手動設定,マイメニュー利用
 –   キー押下音: ON,OFF
 –   庫内灯設定: ON,OFF
 –   加熱終了合図音: ON,OFF
 –   加熱後出し忘れ警告音: ON,OFF

• どんな種類、大きさの直交表を使う?




             Copyright (C) 2012 Kumiko Ohmi All rights reserved   41
直交表

• 何を表しているの?
                                                                  因子


   テストNo.    OS              言語                 保存先
         1   WinXP           日本語                ローカル
         2   WinXP           英語                 ネットワークドライブ
         3   Win7            日本語                ネットワークドライブ
         4   Win7            英語                 ローカル


 1行目に書かれている因子に紐付く水準




             Copyright (C) 2012 Kumiko Ohmi All rights reserved        42
直交表
• どんな種類、大きさの直交表を使うか決定
  – 列数が、因子の数以上
  – 各列に、割り当てる因子の水準を表せるだけの値
    があること
                                                            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
直交表
• どんな種類、大きさの直交表を使うか決定
    –     加熱設定:レンジ,オーブン
    –     温度設定:強,弱                                                       テスト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
直交表

 • どんな種類、大きさの直交表を使うか決定
      – 因子数は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
直交表

• 合う直交表がない場合
 – 因子が少なく、列が余った場合
   • 余った列を削除
 – 水準を表す値が余った場合
   • 余りには多くテストしたい                                          例 4水準割り当てられるが
     水準を割り付ける                                               テストしたいのは3水準



   因子、水準が過不足ないことが前提
      本当に組合せてテストする必要があるか?
   無駄なものやグルーピングできる因子、水準はないか?


※直交表は   http://www.hayst.com/Documents/OA.xls より

                Copyright (C) 2012 Kumiko Ohmi All rights reserved     46
直交表
• 割付
   – 因子「加熱設定」を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
直交表
• ペアの登場回数は?
                                                                          加熱後出し忘れ
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
ペアワイズ、直交表




 禁則があるときは?
 →回避する必要がある


      Copyright (C) 2012 Kumiko Ohmi All rights reserved   49
ペアワイズ

• 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
直交表
• 禁則がある場合
 – 割付けた後、
   • 禁則にひっかかる行
   • その行を削除した場合に消える組合せ
     を特定する
 – 削除によりなくなってしまう組合せを
   禁則を回避しながら追加し、
   禁則を含む行はテストできないので削除する

※因子、水準を割付ける段階で対応する方法もある
  本「ソフトウェアテストHAYST法入門 品質と生産性がアップする直
  交表の使い方」の「第7章 禁則の回避」

          Copyright (C) 2012 Kumiko Ohmi All rights reserved   51
直交表

• 禁則がある場合
  –例      レンジのときは予熱は使えない
                     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
直交表

• 禁則がある場合
  – レンジのときは予熱は使えない
                                                                         加熱後出し忘れ
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
こんなことはありませんか?

• どうしますか?
  – 条件が複雑!

 – 組合せが多い!




       Copyright (C) 2012 Kumiko Ohmi All rights reserved   54
こんなことはありませんか?

• どうしますか?
  – 条件が複雑!
    ⇒デシジョンテーブルを使ってみよう
  – 組合せが多い!
    ⇒ペアワイズ、直交表を使ってみよう

 複数の条件を組合せるテストで使えるテスト技法のうち
         3つをご紹介しました




        Copyright (C) 2012 Kumiko Ohmi All rights reserved   55
おわりに~こんなことはないですか?

• こんなことはないですか?

 – 「テスト技法、おもしろい!」

 でも、いざ持ち帰って使おうとして…
 – 「私のところでは☓☓という事情で、
    テスト技法は使えない」




       Copyright (C) 2012 Kumiko Ohmi All rights reserved   56
おわりに~こんなことはないですか?
• “私のところでは☓☓という事情で、テスト技法は使えない”
  という方もいらっしゃるかもしれません
   – でも…技法は先人の知恵が詰まっているものだと思います
 – 技法から学べるものは沢山あります
   • 考え方、注意が必要なポイント…
 – 「実は」役立つ場面もあります
   • 「そのまま」は使えなくても…
   • いつかプロジェクトが変わったら?


• 皆さんは、どう活用したいですか?
 – WACATEで周りの人に聞いてみてもよいと思いますよ(^-^)


     この後のセッションもご活用ください!

         Copyright (C) 2012 Kumiko Ohmi All rights reserved   57
参考文献
• 主にデシジョンテーブルについて参照した文献
 – 「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
参考文献
• 主にペアワイズ、直交表について参照した文献
 – 「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
参考文献
• ペアワイズ、直交表、デシジョンテーブル、他について参照した文献
 – 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

Más contenido relacionado

La actualidad más candente

品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)Yasuharu Nishi
 
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacateテスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacateKinji Akemine
 
REBOKを社内展開する際の障壁
REBOKを社内展開する際の障壁REBOKを社内展開する際の障壁
REBOKを社内展開する際の障壁mkoszk
 
ソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれからソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれからYasuharu Nishi
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!Kenji Okumura
 
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
QAアーキテクチャの設計による説明責任の高いテスト・品質保証QAアーキテクチャの設計による説明責任の高いテスト・品質保証
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証Yasuharu Nishi
 
テスト計画セッション
テスト計画セッションテスト計画セッション
テスト計画セッションTomoaki Fukura
 
WACATE2017冬 直交表に触れてみよう
WACATE2017冬 直交表に触れてみようWACATE2017冬 直交表に触れてみよう
WACATE2017冬 直交表に触れてみようMasanori Namiki
 
テスト分析についての説明資料公開用
テスト分析についての説明資料公開用テスト分析についての説明資料公開用
テスト分析についての説明資料公開用Tsuyoshi Yumoto
 
cvpaper.challenge 研究効率化 Tips
cvpaper.challenge 研究効率化 Tipscvpaper.challenge 研究効率化 Tips
cvpaper.challenge 研究効率化 Tipscvpaper. challenge
 
Wacate2018 winter jstqb-al-ta
Wacate2018 winter jstqb-al-taWacate2018 winter jstqb-al-ta
Wacate2018 winter jstqb-al-takauji0522
 
探索的テストはじめの一歩 #wacate
探索的テストはじめの一歩 #wacate探索的テストはじめの一歩 #wacate
探索的テストはじめの一歩 #wacateToshiyuki Kawanishi
 
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-崇 山﨑
 
テスト分析.pptx
テスト分析.pptxテスト分析.pptx
テスト分析.pptxkauji0522
 
Prophet入門【Python編】Facebookの時系列予測ツール
Prophet入門【Python編】Facebookの時系列予測ツールProphet入門【Python編】Facebookの時系列予測ツール
Prophet入門【Python編】Facebookの時系列予測ツールhoxo_m
 
60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacateKinji Akemine
 
優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案Masanori Kado
 
テスト技法の背景を考察する - WACATE2021夏
テスト技法の背景を考察する - WACATE2021夏テスト技法の背景を考察する - WACATE2021夏
テスト技法の背景を考察する - WACATE2021夏kauji0522
 
PsychoPyを使った初学者向けの心理実験環境の構築
PsychoPyを使った初学者向けの心理実験環境の構築PsychoPyを使った初学者向けの心理実験環境の構築
PsychoPyを使った初学者向けの心理実験環境の構築Hirokazu Ogawa
 
Rで計量時系列分析~CRANパッケージ総ざらい~
Rで計量時系列分析~CRANパッケージ総ざらい~ Rで計量時系列分析~CRANパッケージ総ざらい~
Rで計量時系列分析~CRANパッケージ総ざらい~ Takashi J OZAKI
 

La actualidad más candente (20)

品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
 
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacateテスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
 
REBOKを社内展開する際の障壁
REBOKを社内展開する際の障壁REBOKを社内展開する際の障壁
REBOKを社内展開する際の障壁
 
ソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれからソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれから
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!
 
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
QAアーキテクチャの設計による説明責任の高いテスト・品質保証QAアーキテクチャの設計による説明責任の高いテスト・品質保証
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
 
テスト計画セッション
テスト計画セッションテスト計画セッション
テスト計画セッション
 
WACATE2017冬 直交表に触れてみよう
WACATE2017冬 直交表に触れてみようWACATE2017冬 直交表に触れてみよう
WACATE2017冬 直交表に触れてみよう
 
テスト分析についての説明資料公開用
テスト分析についての説明資料公開用テスト分析についての説明資料公開用
テスト分析についての説明資料公開用
 
cvpaper.challenge 研究効率化 Tips
cvpaper.challenge 研究効率化 Tipscvpaper.challenge 研究効率化 Tips
cvpaper.challenge 研究効率化 Tips
 
Wacate2018 winter jstqb-al-ta
Wacate2018 winter jstqb-al-taWacate2018 winter jstqb-al-ta
Wacate2018 winter jstqb-al-ta
 
探索的テストはじめの一歩 #wacate
探索的テストはじめの一歩 #wacate探索的テストはじめの一歩 #wacate
探索的テストはじめの一歩 #wacate
 
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
 
テスト分析.pptx
テスト分析.pptxテスト分析.pptx
テスト分析.pptx
 
Prophet入門【Python編】Facebookの時系列予測ツール
Prophet入門【Python編】Facebookの時系列予測ツールProphet入門【Python編】Facebookの時系列予測ツール
Prophet入門【Python編】Facebookの時系列予測ツール
 
60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate
 
優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案
 
テスト技法の背景を考察する - WACATE2021夏
テスト技法の背景を考察する - WACATE2021夏テスト技法の背景を考察する - WACATE2021夏
テスト技法の背景を考察する - WACATE2021夏
 
PsychoPyを使った初学者向けの心理実験環境の構築
PsychoPyを使った初学者向けの心理実験環境の構築PsychoPyを使った初学者向けの心理実験環境の構築
PsychoPyを使った初学者向けの心理実験環境の構築
 
Rで計量時系列分析~CRANパッケージ総ざらい~
Rで計量時系列分析~CRANパッケージ総ざらい~ Rで計量時系列分析~CRANパッケージ総ざらい~
Rで計量時系列分析~CRANパッケージ総ざらい~
 

Destacado

20101130 南東京iphone開発3
20101130 南東京iphone開発320101130 南東京iphone開発3
20101130 南東京iphone開発3Masaki Kase
 
WACATE2010w テスト技法ワーク_スライド
WACATE2010w テスト技法ワーク_スライドWACATE2010w テスト技法ワーク_スライド
WACATE2010w テスト技法ワーク_スライドMasaki Kase
 
Loco Sticker
Loco StickerLoco Sticker
Loco StickerHal Seki
 
CODE FESTIVAL 2014 エキシビジョン 解説
CODE FESTIVAL 2014 エキシビジョン 解説CODE FESTIVAL 2014 エキシビジョン 解説
CODE FESTIVAL 2014 エキシビジョン 解説AtCoder Inc.
 
Rail tour
Rail tourRail tour
Rail touramylase
 
テスト設計のタイミングと手法の変更による、品質向上と生産性向上 順序を入れ替え繰り返し考える
テスト設計のタイミングと手法の変更による、品質向上と生産性向上 順序を入れ替え繰り返し考えるテスト設計のタイミングと手法の変更による、品質向上と生産性向上 順序を入れ替え繰り返し考える
テスト設計のタイミングと手法の変更による、品質向上と生産性向上 順序を入れ替え繰り返し考えるHIDEKAZU MATSUURA
 
EmitJSの環境をちょこっと調べた
EmitJSの環境をちょこっと調べたEmitJSの環境をちょこっと調べた
EmitJSの環境をちょこっと調べたkyon mm
 
Cafetesting12
Cafetesting12Cafetesting12
Cafetesting12kyon mm
 
実験計画法(直交表実験)の応用によるLpoの実例 slide share
実験計画法(直交表実験)の応用によるLpoの実例 slide share実験計画法(直交表実験)の応用によるLpoの実例 slide share
実験計画法(直交表実験)の応用によるLpoの実例 slide shareKazuya Obanayama
 
高専生の大好きな○○のお話
高専生の大好きな○○のお話高専生の大好きな○○のお話
高専生の大好きな○○のお話okayan08
 
PFI final presentation
PFI final presentationPFI final presentation
PFI final presentationKenta Oono
 
はじめてのテスト技法
はじめてのテスト技法はじめてのテスト技法
はじめてのテスト技法Tatsuya Saito
 
JaSST'11 Kyushu 配布資料(スライド)
JaSST'11 Kyushu 配布資料(スライド)JaSST'11 Kyushu 配布資料(スライド)
JaSST'11 Kyushu 配布資料(スライド)Masaki Kase
 
JaSST'10 Shikoku 公開資料
JaSST'10 Shikoku 公開資料JaSST'10 Shikoku 公開資料
JaSST'10 Shikoku 公開資料Masaki Kase
 
wacate2013s「分けてみよう 悩んでみよう 同値分割・境界値分析」
wacate2013s「分けてみよう悩んでみよう同値分割・境界値分析」wacate2013s「分けてみよう悩んでみよう同値分割・境界値分析」
wacate2013s「分けてみよう 悩んでみよう 同値分割・境界値分析」Kumiko Ohmi
 
Jstqb test analyst-chap3
Jstqb test analyst-chap3Jstqb test analyst-chap3
Jstqb test analyst-chap3Kosuke Fujisawa
 

Destacado (20)

20101130 南東京iphone開発3
20101130 南東京iphone開発320101130 南東京iphone開発3
20101130 南東京iphone開発3
 
WACATE2010w テスト技法ワーク_スライド
WACATE2010w テスト技法ワーク_スライドWACATE2010w テスト技法ワーク_スライド
WACATE2010w テスト技法ワーク_スライド
 
Loco Sticker
Loco StickerLoco Sticker
Loco Sticker
 
20140610 秋山-ss2014
20140610 秋山-ss201420140610 秋山-ss2014
20140610 秋山-ss2014
 
CODE FESTIVAL 2014 エキシビジョン 解説
CODE FESTIVAL 2014 エキシビジョン 解説CODE FESTIVAL 2014 エキシビジョン 解説
CODE FESTIVAL 2014 エキシビジョン 解説
 
Rail tour
Rail tourRail tour
Rail tour
 
テスト設計のタイミングと手法の変更による、品質向上と生産性向上 順序を入れ替え繰り返し考える
テスト設計のタイミングと手法の変更による、品質向上と生産性向上 順序を入れ替え繰り返し考えるテスト設計のタイミングと手法の変更による、品質向上と生産性向上 順序を入れ替え繰り返し考える
テスト設計のタイミングと手法の変更による、品質向上と生産性向上 順序を入れ替え繰り返し考える
 
EmitJSの環境をちょこっと調べた
EmitJSの環境をちょこっと調べたEmitJSの環境をちょこっと調べた
EmitJSの環境をちょこっと調べた
 
Cafetesting12
Cafetesting12Cafetesting12
Cafetesting12
 
組み合わせテスト_エンジニア勉強会20130910
組み合わせテスト_エンジニア勉強会20130910組み合わせテスト_エンジニア勉強会20130910
組み合わせテスト_エンジニア勉強会20130910
 
実験計画法(直交表実験)の応用によるLpoの実例 slide share
実験計画法(直交表実験)の応用によるLpoの実例 slide share実験計画法(直交表実験)の応用によるLpoの実例 slide share
実験計画法(直交表実験)の応用によるLpoの実例 slide share
 
高専生の大好きな○○のお話
高専生の大好きな○○のお話高専生の大好きな○○のお話
高専生の大好きな○○のお話
 
PFI final presentation
PFI final presentationPFI final presentation
PFI final presentation
 
はじめてのテスト技法
はじめてのテスト技法はじめてのテスト技法
はじめてのテスト技法
 
JaSST'11 Kyushu 配布資料(スライド)
JaSST'11 Kyushu 配布資料(スライド)JaSST'11 Kyushu 配布資料(スライド)
JaSST'11 Kyushu 配布資料(スライド)
 
JaSST'10 Shikoku 公開資料
JaSST'10 Shikoku 公開資料JaSST'10 Shikoku 公開資料
JaSST'10 Shikoku 公開資料
 
wacate2012w
wacate2012wwacate2012w
wacate2012w
 
wacate2013s「分けてみよう 悩んでみよう 同値分割・境界値分析」
wacate2013s「分けてみよう悩んでみよう同値分割・境界値分析」wacate2013s「分けてみよう悩んでみよう同値分割・境界値分析」
wacate2013s「分けてみよう 悩んでみよう 同値分割・境界値分析」
 
品質基礎知識
品質基礎知識品質基礎知識
品質基礎知識
 
Jstqb test analyst-chap3
Jstqb test analyst-chap3Jstqb test analyst-chap3
Jstqb test analyst-chap3
 

wacate2012s

  • 1. 組合せテスト技法はじめの一歩 ― デシジョンテーブル、ペアワイズ、 直交表の第一歩 ※公開用(一部、削除・更新しています) WACATE2012 夏 2012年6月30日 近江 久美子(WACATE実行委員会) Copyright (C) 2012 Kumiko Ohmi All rights reserved 1
  • 2. こんなことはありませんか? • 条件が複雑! – 入力値や状態同士が複雑に関係しあい、 どんな組合せでテストするか考えるのが大変… • 組合せが多すぎ! – 相互に影響し合わないはずの項目同士を 組合せた場合もテストで確認したいけれど、 項目が多くて組合せ数が膨大に… Copyright (C) 2012 Kumiko Ohmi All rights reserved 2
  • 3. このセッションは何? • 複数の条件を組合せたときのテストで 使える技法について考えましょう – 中でも、3つの技法に着目します Copyright (C) 2012 Kumiko Ohmi All rights reserved 3
  • 4. 種類 • 複数の条件や項目のテストで使われる技法 – デシジョンテーブル – ペアワイズ – 直交表 – CFD法 – クラシフィケーションツリー法 – 原因結果グラフ – ドメイン分析テスト • 技法はたくさん – 使い分けましょう! Copyright (C) 2012 Kumiko Ohmi All rights reserved 4
  • 6. 条件が複雑! • 例 勉強会(WAKATE)参加費算出アプリ • 本会は、テストに関わった経験が3年未満、または、社 会人経験が5年未満なら若手料金。他は一般料金 • 若手料金に該当する人で、前回の優秀賞受賞者は本会 は無料で参加できる。一般料金に該当する人で、前回 の優秀賞受賞者は本会は若手料金で参加できる • オプションとして前日交流会と前日予習会がある • WAKATE本会とは別精算で、テストに関わった経験が3 年未満ならば前日予習会は無料 複雑な条件を整理したい、そんなとき… ※WAKATEは架空の勉強会です Copyright (C) 2012 Kumiko Ohmi All rights reserved 6
  • 7. デシジョンテーブル デシジョンテーブルは、 複雑な条件に効果的 Copyright (C) 2012 Kumiko Ohmi All rights reserved 7
  • 8. デシジョンテーブル • 例題 – 一緒に考えましょう • 例 勉強会の参加費算出アプリ – 説明で登場します •例 電子レンジの設定表示機能 Copyright (C) 2012 Kumiko Ohmi All rights reserved 8
  • 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
  • 12. デシジョンテーブル • 条件や動作の指定は真偽値でなくても よい – 制限指定表 – 拡張指定表 • 行数を少なくできる場合がある 1 2 3 4 5 6 条件 モード設定 通常 通常 ミルク ミルク 解凍 解凍 温度設定 強 弱 強 弱 強 弱 動作 仕上がり温度 80℃ 70℃ 65℃ 55℃ 9℃ 7℃ – 両方を含むもの(混合指定表)もある Copyright (C) 2012 Kumiko Ohmi All rights reserved 12
  • 13. デシジョンテーブル • 作成手順 – 条件、動作を洗い出し、行ごとに記入する – 条件の組合せが起こす動作を確認し、 1組合せ=1列になるように記入する Copyright (C) 2012 Kumiko Ohmi All rights reserved 13
  • 14. デシジョンテーブル • 条件、動作を洗い出し、行ごとに記入する 「WAKATE本会は、 1 条件 テスト経験が3年未満 テストに関わった 経験が3年未満、 動作 若手料金を加算する または、 社会人経験が5年未満 なら若手料金。 他は一般料金」 – 範囲を持つものは、同値分割、境界値分析 Copyright (C) 2012 Kumiko Ohmi All rights reserved 14
  • 15. デシジョンテーブル • 条件、動作を洗い出し、行ごとに記入する 「WAKATE本会は、 1 条件 テスト経験が3年未満 テストに関わった 社会人経験が5年未満 経験が3年未満、 動作 若手料金を加算する または、 一般料金を加算する 社会人経験が5年未満 なら若手料金。 他は一般料金」 – 範囲を持つものは、同値分割、境界値分析 Copyright (C) 2012 Kumiko Ohmi All rights reserved 15
  • 16. デシジョンテーブル • 条件、動作を洗い出し、行ごとに記入する 1 2 条件 テスト経験が3年未満 社会人経験が5年未満 前回の優秀賞受賞 前日交流会申込あり 前日予習会申込あり 動作 若手料金を加算する 一般料金を加算する 交流会料金を加算する 予習会料金を加算する Copyright (C) 2012 Kumiko Ohmi All rights reserved 16
  • 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
  • 21. デシジョンテーブル • テーブルの圧縮(簡単化) – 動作に影響を及ぼさない条件がある列を まとめる • 但し、条件を判定する順序が変わる場合はできない – 実装も確認する必要がある – コンパクトになる – 誤って圧縮した場合はテスト漏れになる • リスクを踏まえて判断する Copyright (C) 2012 Kumiko Ohmi All rights reserved 21
  • 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
  • 26. 組合せが多すぎ! • 例 影響しないはずの機能同士、意図しない 相互作用がないか確認したい。全網羅でなく てもよいが、網羅基準は必要 – 加熱設定:レンジ,オーブン – 温度設定:強,弱 – 時間設定:手動設定,マイメニュー利用 – キー押下音: ON,OFF – 庫内灯設定: ON,OFF – 加熱終了合図音: ON,OFF – 加熱後出し忘れ警告音: ON,OFF 組合せが多すぎる… Copyright (C) 2012 Kumiko Ohmi All rights reserved 26
  • 27. ペアワイズ、直交表 ペアワイズ、直交表は 無則のテストで 組合せが多いときに効果的 Copyright (C) 2012 Kumiko Ohmi All rights reserved 27
  • 28. ペアワイズ、直交表 • 例題 – 一緒に考えましょう • 例 電子レンジの機能(相互影響なし) – 説明で登場します • 例 Windowsアプリの環境 Copyright (C) 2012 Kumiko Ohmi All rights reserved 28
  • 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. ペアワイズ • 特徴 – 組合せ数がより少なく済む場合がある • 直交表と比較した場合 – ツールを使えば比較的手軽 • フリーで使えるツールも複数 • 手順や結果はツールに依存 – 2因子間の網羅率に着目している点は共通 • ここでは「PictMaster」を利用した場合で説明 ※PictMaster http://sourceforge.jp/projects/pictmaster/ Copyright (C) 2012 Kumiko Ohmi All rights reserved 30
  • 31. ペアワイズ • 手順 – 因子、水準の洗い出し – ツールの利用方法に従い因子と水準を入力し、 結果を出力 • PictMasterでは… – 因子は「パラメータ」へ、 水準は「値の並び」へカンマ区切りで、入力 – 入力したら「実行」 Copyright (C) 2012 Kumiko Ohmi All rights reserved 31
  • 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
  • 37. 直交表 • 特徴 – それぞれのペアが現れる頻度は同じ • ペアワイズは同じとは限らない • 3因子間の組合せについても、バランスよく現れ、 網羅率もある程度 • ペアワイズより組合せ数が多くなることがある Copyright (C) 2012 Kumiko Ohmi All rights reserved 37
  • 38. 直交表 • 何を表しているの? 因子 テストNo. OS 言語 保存先 1 WinXP 日本語 ローカル 2 WinXP 英語 ネットワークドライブ 3 Win7 日本語 ネットワークドライブ 4 Win7 英語 ローカル 1行目に書かれている因子に紐付く水準 Copyright (C) 2012 Kumiko Ohmi All rights reserved 38
  • 39. 直交表 • 何を表しているの? OS WinXPで、言語 日本語で、 保存先 ローカルでテスト テストNo. OS 言語 保存先 1 WinXP 日本語 ローカル 2 WinXP 英語 ネットワークドライブ 3 Win7 日本語 ネットワークドライブ 4 Win7 英語 ローカル Copyright (C) 2012 Kumiko Ohmi All rights reserved 39
  • 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. 直交表 • 因子、水準の洗い出し – 因子:水準 – 加熱設定:レンジ,オーブン – 温度設定:強,弱 – 時間設定:手動設定,マイメニュー利用 – キー押下音: ON,OFF – 庫内灯設定: ON,OFF – 加熱終了合図音: ON,OFF – 加熱後出し忘れ警告音: ON,OFF • どんな種類、大きさの直交表を使う? Copyright (C) 2012 Kumiko Ohmi All rights reserved 41
  • 42. 直交表 • 何を表しているの? 因子 テストNo. OS 言語 保存先 1 WinXP 日本語 ローカル 2 WinXP 英語 ネットワークドライブ 3 Win7 日本語 ネットワークドライブ 4 Win7 英語 ローカル 1行目に書かれている因子に紐付く水準 Copyright (C) 2012 Kumiko Ohmi All rights reserved 42
  • 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. 直交表 • どんな種類、大きさの直交表を使うか決定 – 加熱設定:レンジ,オーブン – 温度設定:強,弱 テスト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. 直交表 • どんな種類、大きさの直交表を使うか決定 – 因子数は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. 直交表 • 合う直交表がない場合 – 因子が少なく、列が余った場合 • 余った列を削除 – 水準を表す値が余った場合 • 余りには多くテストしたい 例 4水準割り当てられるが 水準を割り付ける テストしたいのは3水準 因子、水準が過不足ないことが前提 本当に組合せてテストする必要があるか? 無駄なものやグルーピングできる因子、水準はないか? ※直交表は http://www.hayst.com/Documents/OA.xls より Copyright (C) 2012 Kumiko Ohmi All rights reserved 46
  • 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. 直交表 • ペアの登場回数は? 加熱後出し忘れ 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. ペアワイズ、直交表 禁則があるときは? →回避する必要がある Copyright (C) 2012 Kumiko Ohmi All rights reserved 49
  • 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. 直交表 • 禁則がある場合 – 割付けた後、 • 禁則にひっかかる行 • その行を削除した場合に消える組合せ を特定する – 削除によりなくなってしまう組合せを 禁則を回避しながら追加し、 禁則を含む行はテストできないので削除する ※因子、水準を割付ける段階で対応する方法もある 本「ソフトウェアテストHAYST法入門 品質と生産性がアップする直 交表の使い方」の「第7章 禁則の回避」 Copyright (C) 2012 Kumiko Ohmi All rights reserved 51
  • 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
  • 55. こんなことはありませんか? • どうしますか? – 条件が複雑! ⇒デシジョンテーブルを使ってみよう – 組合せが多い! ⇒ペアワイズ、直交表を使ってみよう 複数の条件を組合せるテストで使えるテスト技法のうち 3つをご紹介しました Copyright (C) 2012 Kumiko Ohmi All rights reserved 55
  • 56. おわりに~こんなことはないですか? • こんなことはないですか? – 「テスト技法、おもしろい!」 でも、いざ持ち帰って使おうとして… – 「私のところでは☓☓という事情で、 テスト技法は使えない」 Copyright (C) 2012 Kumiko Ohmi All rights reserved 56
  • 57. おわりに~こんなことはないですか? • “私のところでは☓☓という事情で、テスト技法は使えない” という方もいらっしゃるかもしれません – でも…技法は先人の知恵が詰まっているものだと思います – 技法から学べるものは沢山あります • 考え方、注意が必要なポイント… – 「実は」役立つ場面もあります • 「そのまま」は使えなくても… • いつかプロジェクトが変わったら? • 皆さんは、どう活用したいですか? – WACATEで周りの人に聞いてみてもよいと思いますよ(^-^) この後のセッションもご活用ください! Copyright (C) 2012 Kumiko Ohmi All rights reserved 57
  • 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. 参考文献 • 主にペアワイズ、直交表について参照した文献 – 「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. 参考文献 • ペアワイズ、直交表、デシジョンテーブル、他について参照した文献 – 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