Open5

テスト効率化

aibizaibiz

pict

pict(Pairwise Independent Combinatorial Testing tool)

Microsoft社が開発したソフトウェアテストツール。
PICTは、複数のパラメータの組み合わせテストケースを、オールペア法(ペアワイズ法ともいう)を用いて自動生成します。

https://github.com/microsoft/pict
https://github.com/microsoft/pict/releases/tag/v3.7.4

pictの使い方

参考

https://github.com/Microsoft/pict/blob/main/doc/pict.md#usage
https://gihyo.jp/dev/feature/01/sp-test/0002
https://qiita.com/odekekepeanuts/items/6eceddc534d87fc797cc

例1)基本の使い方

以下のようなモデルを作成します。
この例で言うと OS、Browser、resolution は パラメータ。(因子とも言う)
パラメータの右に「:」(コロン)を書く。
その右に値をカンマで区切って列挙します。(カンマで区切って列挙した値は水準とも言う)

sample.txt
#
# This is a sample model
#

OS:           Mac, Windows, Linux, iOS, Android
Browser:      Chrome, Edge, Firefox, Safari
resolution:   1280x720, 1920x1080, 2560x1440

作成したモデルを指定して、pictを実行します。

pict sample.txt

結果

OS	Browser	resolution
iOS	Safari	1280x720
Mac	Edge	1280x720
Android	Firefox	1280x720
iOS	Firefox	2560x1440
Linux	Edge	1920x1080
Linux	Chrome	1280x720
Android	Safari	1920x1080
Android	Chrome	2560x1440
Windows	Firefox	1920x1080
Linux	Firefox	2560x1440
Windows	Edge	2560x1440
Mac	Chrome	1920x1080
Mac	Safari	2560x1440
iOS	Edge	1920x1080
Linux	Safari	1280x720
Android	Edge	1280x720
Mac	Firefox	1280x720
iOS	Chrome	2560x1440
Windows	Chrome	1280x720
Windows	Safari	1280x720

例2)/o オプションを指定

/oオプション Order of combinations 組み合わせの順序
と説明がありますが、ちょっとわかりにくい。

# 各パラメータの全ての値を2つ組に網羅するテストケースを生成する
pict sample.txt
or
pict sample.txt /o:2

# 全ての値を網羅するテストケースを生成する
pict sample.txt /o:1

# 各パラメータの全ての値を3つ組に網羅するテストケースを生成する
pict sample.txt /o:3

例3)/r オプションを指定

# ランダム化されたテストケースを生成する
pict sample.txt /r

結果

実行に使用されたseed値がエラー出力ストリームに出力されます。

Used seed: 10306

次回、/r:seed値を指定すると、この時に実行したのと同じ結果が出力されます。

pict sample.txt /r:10306