ペアワイズ法テストケース生成ツール「PictMaster」の無効値を使う

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

前回はペアワイズ法テストケース生成ツール「PictMaster」の”サブモデル”機能について紹介しました。
今回はPictMasterの”無効値”機能について紹介したいと思います。

Contents

特定の因子・水準同士の組み合わせを制限したい場合

#

2因子網羅のテストケースを効率よく生成するペアワイズ法ですが、特定の因子・水準同士の組み合わせに意味がない、または組み合わせたテストケースが実施不可能の場合、あらかじめ特定の水準・因子の組み合わせをテストケース中に”生成させない”ようにする必要があります。
以下の例で考えてみましょう。

・OS (Windows, Linux, macOS)
・ブラウザ (Chrome, Firefox, IE)
・Java (バージョン8, バージョン11)

上記において、ブラウザの水準に設定されているIE(インターネット・エクスプローラ)はWindowsでしか動作しません。
Windows以外のLinuxやmacOSとIEの組み合わせテストケースを生成しないようにする必要があります。
PictMasterではこのような組み合わせ

  • OS: Linux, macOS
  • ブラウザ: IE

を”無効値”と呼びます。

無効値の設定

#

特定の因子・水準を無効値に指定します。
因子「OS」「ブラウザ」の各水準を以下のように記述します。
OS: Windows, ~Linux, ~macOS
ブラウザ: chrome, Firefox, ~IE

無効値に指定する水準は、水準名の前に「~」(チルダ)を記述します。

組み合わせテストケース生成を実行します。
以下の結果が出力されました。

全テストケース数は10個になりました。
無効値を使用した場合、無効値同士の組み合わせテストケースは生成されていません。
(上記の例ではLinux,macOSとIEのペアは生成されていません)

無効値を設定せずにテストケースを生成した場合は以下のようになります。

全テストケース数は9個になりました。
上記のテストケースでは、本来組み合わせが不可能な「LinuxとIE」「macOSとIE」の組み合わせがテストケース中に現れてしまっています。

制約表との違い

#

テストケースの組み合わせを制御する別の方法としては、以前の回でご紹介した”制約表”があります。

制約表は無効値よりもきめ細かい制御ができますが、制約表に条件を細かく設定する必要があり、複雑な条件を書く場合はテストケース自体の検証が必要になり手間がかかります。
無効値機能は組み合わせ不可の水準値の前に「~」を追記するだけであり、テストケースの検証も簡単です。

まとめ

#

「無効値」機能を使うことによって、特定の因子・水準同士の組み合わせを生成しないテストケースを作ることができました。
PICTには他にも色々なオプションが用意されていて、PictMasterから利用可能です。
次回も別のオプションを紹介していきたいと思います。

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

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

豆蔵デベロッパーサイト - 先週のアクセスランキング
  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)