PICTの概要
PICT(Pairwise Independent Combinatorial Testing tool)はMicrosoft社が開発したソフトウェアテストツールです。Microsoftでは2000年からこのツールをテスト業務に使用しています。ツール開発者はPICTが備えている柔軟性のおかげでテスト担当者がテスト対象を抽象化し,モデル化するレベルを向上させ,組み合わせテストが実施しやすくなったと述べています。
PICTは,複数のパラメータの組み合わせテストケースを,オールペア法(ペアワイズ法ともいう)を用いて自動生成します。筆者はWindows XPとWindows 2000での動作を確認しています。Windows Vistaでも問題ないと思います。
PICTはフリーソフトウェアです。次のサイトからダウンロードすることができます。
Pairwise Testing(http://www.pairwise.org/)
ダウンロードすると,プログラムとともに英文で書かれたHTMLファイルの簡単なマニュアルが付属していますが,多機能なPICTを使いこなすにはそれだけでは不十分です。また日本語環境で使用することができません。今回はPICTの基本的な使い方を説明するとともに,日本語を扱えるようにする方法についても説明します。
PICTで生成されたテストケースを使用することにより,テストの質を落とさずに,組み合わせテスト実施に必要なテストケース数を従来の数分の1から数百分の1に削減することが可能です。
オールペア法を採用したツールは有償,無償を含めて20種類以上存在します。そのほとんどが欧米製です。PICTが生成する組み合わせの数は,それらのツールと比較してどのくらいなのでしょうか。表1に,同じパラメータを使って異なるツールが生成した組み合わせ数の比較を示します。
表1 異なるツールが生成した組み合わせ数の比較
| パラメータ | AETG | IPO | Tconfig | CTS | Jenny | TestCover | DDA | AllPairs | PICT |
|---|---|---|---|---|---|---|---|---|---|
| 34 | 9 | 9 | 9 | 9 | 11 | 9 | ? | 9 | 9 |
| 313 | 15 | 17 | 15 | 15 | 18 | 15 | 18 | 17 | 18 |
| 415 317 229 | 41 | 34 | 40 | 39 | 38 | 29 | 35 | 34 | 37 |
| 41 339 235 | 28 | 26 | 30 | 29 | 28 | 21 | 27 | 26 | 27 |
| 2100 | 10 | 15 | 14 | 10 | 16 | 10 | 15 | 14 | 15 |
| 1020 | 180 | 212 | 231 | 210 | 193 | 181 | 201 | 197 | 210 |
表1で,パラメータの欄はパラメータの数と各パラメータが含む値の数を表します。たとえば34というパラメータの欄は,3つの値を含むパラメータが4つあることを意味します。表中のAETGとTestCoverは有償のツールです。
この表の結果によると,PICTはほぼ平均的な数の組み合わせを生成することがわかります。ここで注意してもらいたいことがあります。この表で示されているPICTの組み合わせ数は,最適な初期条件を指定した場合であるということです。
PICTはデフォルトで固有の初期条件を使用して生成を行います。この初期条件の違いにより,生成される組み合わせ数が若干違ってきます。たとえばパラメータが34の場合,デフォルトで生成される組み合わせは13です。またパラメータが313の場合,デフォルトで生成される組み合わせは20です。
初期条件の変更は,/rまたは/r:オプションで行うことができます。筆者が確認してみたところ,34の場合は65,313の場合は66を指定した場合に表1のとおりの組み合わせ数となりました。ほかの特定の値でも同じ結果になると思います。デフォルト状態で使用する通常の使用方法では,PICTが生成するテストケース数は,他のツールに比べて若干多くなります。ただし,そのデメリットをはるかにしのぐメリットをPICTは備えています。
PICTの特長は,フリーのソフトウェアであるにもかかわらず,オールペア法を採用した有償のソフトを上回るほど多機能であり,かつ非常に柔軟性に富んでいることにあります。またその使いやすさも特筆すべき点です。実際のテスト業務で充分実用的に使用することができます。これらのことは,これからおいおい説明していきます。
直交表を使った組み合わせテストツールは存在しますが,制約条件を指定できるものは筆者の知る限り,フリーソフトはもちろん,有償のソフトでも寡聞にして知りません。前回も述べましたが,組み合わせテストにおいて制約条件を指定できることは必須条件と考えます。筆者の経験では,組み合わせテストのほぼ8割で制約条件の指定が必要でした。この割合はテスト分野によって若干異なるとは思いますが,制約条件が必要な組み合わせテストが多数である分野が大多数だと思われます。制約条件の指定が不要なようにパラメータを限定して組み合わせテストを行うことも可能ですが,それでは組み合わせテスト本来のメリットが失われてしまいます。現状では制約条件が柔軟に指定できるPICTが最も実用的な組み合わせテストツールであるといえます。

