Microsoft社のPICT (Pairwise Independent Combinatorial Testing tool)は,組み合わせテストにおいて,組み合わせを生成するためのツールです.

インストール

macOS 11.2でのインストール例です.

git clone https://github.com/Microsoft/pict.git
cd pict/
make
sudo install -m 0755 pict /usr/local/bin/pict

生成

次の様式で条件を列挙したファイルを用意します.(PICTでは「モデル」と呼んでいます.)

alph: a, b, c
fruit: apple, banana
pet: dog1, dog2, cat1, cat2

モデルに対し,pictコマンドを実行します.

pict モデル

出力されたものが実行すべきテストケースです.

オプション

テストケース数

/sにより,全因子網羅するテストケース数と,All-Pairs法を用いたときのテストケース数を調べることができます.

pict /s モデル

上の例では,26通りのテストが12通りに削減できることがわかります.

網羅する因子数

次のように/o:Nの形式で網羅する因子数を決定できます.
3因子網羅するのであれば,

pict /o:3 モデル

です.
デフォルトの値は2です.

区切り記号

モデルとなるファイルの区切り記号を変更するには,/d:Cの形式のオプションを用います.
,から.に変更したいのであれば,

pict /d:. モデル

とします.
デフォルトの値は,です.

制約条件

モデルには制約条件を付すことができます.
例えば,

IF [alph] <> "c" OR [fruit] = "banana" THEN [pet] > "dog";

IF [pet] like "cat*" THEN [alph] in {"a", "b"};

です.

次の

alph: a, b, c
fruit: apple, banana
pet: dog1, dog2, cat1, cat2

IF [pet] like "cat*" THEN [alph] in {"a", "b"};

といったモデルでは全因子網羅が24通りとなるのですが,PICTを使うことで10通りのテストにより2因子間網羅できることが直ちにわかります.