ペアワイズ法による組み合わせテストケース生成ツール「PICT」の紹介

| 2 min read
Author: shuichi-takatsu shuichi-takatsuの画像

先日のブログにて「ペアワイズ法」をご紹介しました。
その記事では組み合わせテストケースを作成する際に「PICT」というツールを使いました。
今回はペアワイズ法による組み合わせテストケース生成ツール「PICT」をご紹介いたします。

Contents

PICTとは

#

PICT (Pairwise Independent Combinatorial Testing tool) はMicrosoft社が開発したペアワイズ法による組み合わせテストケース生成ツールで、フリー(無償)で利用することが出来ます。

PICTは、複数因子の組み合わせテストケースを効率よく生成することができ、様々なオプションが用意されている高機能ツールです。
今回はインストール方法と簡単な使い方をご紹介します。

インストール

#

サイトからPICTをダウンロードします。
2022/07/14時点の最新バージョンは 3.7.4 でした。
ダウンロードするファイルは「pict.exe」(windows版の場合)1つで大丈夫です。
MacOSやLinuxで利用する場合にはソースコードをダウンロードしてビルドすれば使用することができます。

pict.exeをダウンロード(もしくはダウンロードしたソースコードをビルド)し、任意の場所に格納すればインストール終了です。
フォルダに配置すること以外の登録作業は特に必要ありません。
任意のフォルダからPICTを利用したい場合は環境変数にPICTへのパスを登録してください。

使用方法

#

PICTの詳細な使用方法はこのサイトに掲載されています。
ここでは簡単なサンプルを定義して実行してみましょう。

「sample.txt」というファイル名のテキストファイルを作成します。
そのテキストファイルに、左から「因子名」を書き、コロン「:」で区切った後、「水準名」をカンマ「,」で区切りながら追記していきます。

前回使用したサンプルをそのまま使ってみましょう。
組み合わせに使用する例題を以下とします。
・OS (Windows, Linux, MacOSX)
・ブラウザ (Firefox, Chrome)
・Java (バージョン8, バージョン11)

作成するテキストファイル(sample.txt)は以下のようになります。

OS:	Windows, Linux, MacOSX
ブラウザ: Chrome, Firefox
Java: 8, 11

コマンドラインにて、PICT(実行ファイル)の引数に先ほど作成したテキストファイル(sample.txt)を渡してPICTを実行します。

pict sample.txt

実行すると以下のような結果が出力されました。

実行結果

OS	ブラウザ	Java
Windows Firefox 11
Windows Chrome 8
MacOSX Firefox 8
Linux Chrome 11
Linux Firefox 8
MacOSX Chrome 11

出力結果はタブ文字区切りなので、TSVファイルとして保存してExcel等で開くことが出来ます。
先日のブログで紹介したものと同じ組み合わせテストケースを得ることが出来ました。

まとめ

#

ペアワイズテストサイトにてペアワイズ法を利用できるツールが紹介されています。
筆者はPICT以外のツールをあまり知らなかったのですが、非常に多くのツールが提供されているようです。

その中でもPICTは、有償ツールに引けを取らない非常に高機能なツールで、PICTさえあればペアワイズ法には困らないとさえ思います。
PICTには様々なオプションが用意されていて、制約や重みづけなどにも対応しています。

次回はこのPICTをGUIから利用できるようにした便利ツールをご紹介したいと思います。

ソフトウェアテストに関する技法やテクニックをまとめています。

テストに活用していただければ幸いです。

豆蔵デベロッパーサイト - 先週のアクセスランキング
  1. Nuxt3入門(第1回) - Nuxtがサポートするレンダリングモードを理解する (2022-09-25)
  2. 自然言語処理初心者が「GPT2-japanese」で遊んでみた (2022-07-08)
  3. GitHub Codespaces を使いはじめる (2022-05-18)
  4. Jest再入門 - 関数・モジュールモック編 (2022-07-03)
  5. ORマッパーのTypeORMをTypeScriptで使う (2022-07-27)
  6. Nuxt3入門(第4回) - Nuxtのルーティングを理解する (2022-10-09)
  7. Nuxt3入門(第3回) - ユニバーサルフェッチでデータを取得する (2022-10-06)
  8. 第1回 OpenAPI Generator を使ったコード生成 (2022-06-04)
  9. Nuxt3入門(第8回) - Nuxt3のuseStateでコンポーネント間で状態を共有する (2022-10-28)
  10. Nuxt3入門(第2回) - 簡単なNuxtアプリケーションを作成する (2022-10-02)