はじめに
PICTは、二因子間網羅(ペアワイズ法)を実現するためのMicrosoft製ツールである。
PictMasterやGIHOZ等、ペアワイズをサポートするためのGUIツールはあるが、それらの殆どはPICTを利用したものだ。
「ガワ」が異なっていたとしても、裏で動いているエンジンは全部PICTみたいな感じである。
構文メモ
しょっちゅうPICT構文を忘れるので、備忘録として作成する。
コメントアウト(# hogehoge)
シャープ「#」をつける
水準と因子
基本フォーマット
- 水準が文字列型であっても""で囲う必要はない
- 末尾に「;」は不要
エイリアス(水準 : 因子1 | 因子2, 因子A)
複数の因子を同値クラスと見なし、ペア生成時に区別しなくなる。
ペアの無効化 (~)
他の水準設定を流用(<水準>)
別の水準と同じ因子を持つ場合、<>で囲って流用することができる。
制約の構文
基本構文
- ネストは不可
- 末尾にセミコロン「;」が必要
- 因子は[]で囲い、水準は""で囲う。
Equalは1つの「=」、Not Equalは「<>」
- 「==」はNG
- 「!=」はNG
IF文とIN句が頻用される
あまり使わないが、IN句の前には、NOTを置くこともできる。
サブモデル
「特定の因子グループは全網羅させたい」みたいなときに使う。
以下の例では、Device、Browser,Versionは全網羅されるようになる。
正直あまり使わない。
おわりに
PictMasterやGIHOZは、GUIベースでペアワイズを利用できる点で、非常に優れたツールである。
しかし、複雑な制約が求められる組み合わせテストであればあるほど、PICT文を直接書いてしまったほうが認知負荷が下がったりする。
決して難しい構文でもないので、書けて損することはなさそう。
ただ、基本的にペアワイズ法は「ケースを削減する他の手立てがない」ときに利用する最終手段であり、本来は、プロダクトの仕様やリスクに基づいてケース数を削減したほうが良いと思っている。
なので、実はあまり好きくない。