つれづれなる技術屋日記

しがない技術屋。専門は情報工学で、「つれづれ技術屋」って呼んで。

組み合わせテスト 禁則表現

最近、組み合わせテスト系の人たちと”禁則”について話す時があり、結構統一した表現を使うので、ここで書いておく。

よく使うのは、PICTというマイクロソフトのツールが利用している表記方法。ちなみにPICTは、以下からダウンロードできる。

http://download.microsoft.com/download/f/5/5/f55484df-8494-48fa-8dbd-8c6f76cc014b/pict33.msi

(解凍すると、プログラムとマニュアル「PICTHelp.htm」が生成される、ただし、URLは、もしかしたら最新版じゃないかも。)

また、以下がPICTに関する掲示板(英語;MSDN=マイクロソフト運営?)。

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1626664&SiteID=1

例えば、「PICTHelp.htm」での

IF [File system] = "FAT" THEN [Size] <= 4096;

は、 [File system] という因子の水準値が"FAT"だったら、 [Size] という因子の水準値は 4096以下とすることを示している。ちなみに、 [Size] という因子の本来の水準値は、 10, 100, 500, 1000, 5000, 10000, 40000。したがって、"FAT"だったら、 [Size] は10,100,500, 1000のどれかかとなる。(どれになるかは、ツール=PICTに依存する。)

さて、原点に戻り”禁則”とは。禁則は、日本語での行末の改行処理を指すことが多い。組み合わせテストでの禁則は、生成したテストケースでテストできない事、テストを継続するために代わりの処理をすることを指す。処理には、水準値を変更する事がほとんど。テストを行わない場合も含めるが、組み合わせテストを生成する人たちの間では、水準値の変更が基本。

上の例では、当初  [File system] = "FAT"   [Size] = 500 が生成された場合、禁則条件が記載されていたら、そのテストケースの500を10に置き換えてテストする。

で、今まで問題だったのが、それらの禁則を組み合わせの表の上で操作する事が多かったので、他の人が妥当性をチェックしにくい点。また、バッチ的にテストケースを生成しにくかった事も問題。

そこで、多少飛びつく格好になったのが、PICTでの構文。構文に沿って記述すると、曖昧さがなくなる。PICTそのものを利用していなくても、本構文は利用できる。なお、自分の場合は、PICT以外のツール利用の場合は、以下のような記述とする事が多い。

IF [File system] = "FAT" THEN [Size]  =  10;

つまり、禁則時の水準値(ここでは10) を決めている。本案は、一長一短。PICT以外のツールで一旦生成されたテストケースを加工する事になり加工結果がはっきりしているので、組み合わせテストやテスト対象に詳しくなくても加工できる。短所は、網羅度が低くなる点。ただし個人的には、禁則状態で水準をいじる事での網羅度向上は、余り意味が無いと思っている。

今まで組み合わせテストでの禁則でよく例に出されたのが、プリンタでの紙方向(縦、横)と用紙サイズ(A4,B4,A3,,,,)。A3(以上)の場合は、紙方向が縦のみというケース。

IF [用紙サイズ] = "A3" or [用紙サイズ] = "B3" THEN [紙方向]  = "縦";

と記述できる。

本表記で、組み合わせテスト系の人たちと話すケースが多くなってきた。結構便利。

なお、テストケースって、なかなかモデリングが進んでいない。プログラミングはUMLとかが普及しているのに。ちなみに、デザインパターンには、テストパターンがあったような気がするが、ネット等で何種類かあるのかも??

禁則とかで、少しづつテストのモデリング化が進みつつあるように思える。

追記;禁則をイメージ、しかもHAYST法でのそれをイメージするなら、JaSSTの05大阪の以下の資料、P12、P29~32が参考になる。

http://www.jasst.jp/archives/jasst05w/pdf/S4-1.pdf

©2005-2020 ほんだ事務所(honda-jimusyo) All rights reserved.