akiyama924のブログ

長いものを書きたくなったときに書きます。

Yacttのご紹介

Yacttとは

Yacttは“Yet Another Combinatorial Testing Tool”のことで尊敬する居駒さんが趣味で?作られた組合せテスト(Pairwise)の表を自動生成するツールです。
以下のウェブサイトにアクセスすると誰でも使えます。

https://yactt.herokuapp.com/yactt/home

Yacttの使い方

上記のウェブサイトにアクセスしたら説明なしでわかります。

とはいえ、簡単に説明しますと「Specify PICT parameters」のテキストエリアにPICTという有名なPairwiseツールの形式でパラメータ(因子(水準))や制約式(水準間の禁則規則) を入力し、下のほうにある【Generate Test Data】ボタンを押すと一番下に表が出力されるというものです。日本語もOKです。日本語を含むものをファイルから読み込む場合は文字コードUTF-8でとしてセーブしておきます。

Yacttの仕組み

生成エンジンとしては大阪大学の土屋先生が開発したCIT-BACHが使われています。

なお、GitHubにあるソースをダウンロードすれば、PICTクローンとして動きます。

Yacttを使ってみよう

習うより慣れろです。まずは、PICTのマニュアルにある以下の内容をコピペしてボタンを押してみましょう。


Type: Primary, Logical, Single, Span, Stripe, Mirror, RAID-5
Size: 10, 100, 500, 1000, 5000, 10000, 40000
Format method: quick, slow
File system: FAT, FAT32, NTFS
Cluster size: 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536
Compression: on, off

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

 

下のほうに組合せテスト用の表ができます。

Yacttウェブの「Set execution parameters (option)」のところで生成オプションを設定できます。

Solver

SolverはPairwise表を生成するツール(生成エンジン、生成アルゴリズム)の選択です。ウェブではCIT-BACHというBDDソルバアルゴリズムしか選択できない(2016/07/15時点)ようですが、ソースをダウンロードしてがんばれば別のソルバを使用することもできます。

でも、ソルバとしてはCIT-BACHがよいと思います。

Pair Strength

Pair Strengthは、いくつのパラメータ間の組合せまで100%にしますかということです。2を選択(デフォルト)すれば任意の二つのパラメータを取り出したときにその値の組合せが全部テストされる表(オールペアの表)ができます。