PictMasterでプログラムのテストパターンをペアワイズ法で作る

前回は直交表を作成しましたが、今回はペアワイズ法で作ってみたいと思います。

ペアワイズテストとは

ペアワイズテストは、ほとんどのバグが最大で2つの要因の相互作用によって引き起こされるという観察に基づいた、効果的なテストケース生成技術です。ペアワイズテストでは、2つの要因のすべての組み合わせをカバーしているため、網羅的なテストよりもはるかに小さくなりますが、欠陥を発見するには非常に効果的です。

https://jaccz.github.io/pairwise/ から意訳

ということで、こちらでもテストパターンを削減できます。

ペアワイズ法でテストパターンを作成

前回の状態があるという前提で進みます。

1.PictMaster.xlsm を開き、「環境設定」ボタンをクリックする
2.「生成方法」で「ペアワイズ法」を選択し、「OK」をクリックする

4.「実行」をクリックする
  ※「パラメータ」と「値の並び」は前回と同じものを使いました。
5.結果として56パターンが生成される

テストできないパターンを除外する

ペアワイズ法を選択した場合、「パラメータ」と「値」で除外する組み合わせを設定できます。
例えば、
・圧縮を On にできるのは、
 ファイルシステムに NTFS を選択し、
 クラスタサイズに4096以上を選択したとき
といった条件や、FAT や FAT32 なら設定できるサイズに上限がある、が考えられます。

ここでは圧縮の条件を入れて、設定できないパターンを除外してみます。

1.「環境設定」ボタンをクリックし、「制約表を使用」をチェックして「OK」をクリックする

2.制約を入力するセルが表示される
  パラメータは自動的に設定される

3.制約を入力する
  制約1: FileSystem が FAT か FAT32 なら Compression は Off のみ
  制約2: ClusterSize が 512 か 1024 か 2048 なら Compression は Off のみ
  ※条件のセルは背景色を設定(例えば黄色に)する

4.「実行」をクリックする
5.結果として56パターンが生成される
  ※ パターン数は変わりませんでしたが、制約に入れた組み合わせはありません。
   「Compression」を「On」で絞ると、対象のパターンが無いことが分かります。

制約なし
制約なし
制約あり
制約あり
  • テストできないパターンを制約にするのはOKですが、テスト結果が成功になるパターンで制約をした場合は、テスト結果が失敗するパターンのテストは考えましょう。
    今回はファイルシステムとして作成できないパターンを除外しましたが、もし指定されたときはエラーメッセージが表示されるか、ファイルシステムに影響が無いか、の確認が必要かどうかでしょうか。
  • 制約の詳しい説明は、PictMaster に付属する「PictMasterユーザーズマニュアル.pdf」ファイルに記載があります。
  • PictMaster で入力するのが難しい制約でも、直接 pict コマンドへなら簡単に済む場合がありそうなので、確認することをお勧めします。

直交表とペアワイズテストのどちらを使うか

個人的には、

  • 直交表は、なんらかの実験をするときに有効なパラメータと組み合わせを求めたい
  • ペアワイズテストは、ソフトウエアテストを効率的に行いたい

という感触だったので、ソフトウエアのテストならペアワイズテストを使います。

ソフトウェア品質を高める開発者テスト アジャイル時代の実践的・効率的なテストのやり方 (Amazon)

コメント