2017年10月7日土曜日

組合せテストケースを自動生成してみよう!(PictMasterの紹介)

こんにちは。ひっくです。
今日は、組合せテストケースを作成するのに役立つ 「PictMaster」というツールについて、紹介したいと思います。

PictMasterとの出会い


以前、複数の検索条件を指定できる検索機能について、テストをすることがありました。
その際、検索条件の組合せについて、全てのパターンを網羅するテストケースを作成すると
3000件を超えるテストパターンが存在したため、テストにかなり時間がかかってしまう
という経験をしたことがあります。

最近、同様のテストをする機会があり、何か良い方法はないかと探していたところ
「PictMaster」と出会いました。


PictMasterとは


冒頭で軽く触れましたが、組合せテストケースを作成するのに役立つツールです。
なんとこれ、自動でテストケースを生成してくれるんです。(ただしExcel2007以降のExcelが必要)
どうやってテストケースを作るか、実際にやってみましょう。

まず、Pictをインストールします。(以下はインストーラーのURL)
http://download.microsoft.com/download/f/5/5/f55484df-8494-48fa-8dbd-8c6f76cc014b/pict33.msi

次にPictMasterをダウンロードします。
https://ja.osdn.net/projects/pictmaster/

ダウンロードしたら解凍して、展開フォルダ内から以下のファイルを、Pictをインストールしたフォルダ内にコピーします。
 ・cit.jar
 ・nkf.exe
 ・oalib
 ・oalibmix

続いて、展開フォルダ内の「PictMaster64.xlsm」をダブルクリックします。
すると、次のような表が表示されます。

右上の「環境設定」ボタンをクリックしたら、「自動整形を実行」にチェックを入れます。
「OK」をクリックして表に戻り、次のように入力します。

今回は「名前」、「性別」、「年齢」を検索条件として、検索結果を表示する機能をテストするとしましょう。
上記の通り、「パラメータ」に検索条件の項目として「名前」「性別」「年齢」を、
「値の並び」に各検索項目(「名前」「性別」「年齢」)の選択肢を入力します。

さて、「実行」ボタンをクリックしてみましょう。

組合せテストケース(全部で15件)の表が作成されたと思います。
楽に組合せテストケースを作成することができました。

※なお、全ての検索条件の組合せは「3×2×6」の30通り存在します。
 今回の結果は15件なので、全てを網羅する場合に比べると15件のテストケース削減となります。

制約表を使用してみよう


先ほどの検索結果を表示する機能において、例えば以下の制約があると仮定します。
 ・田中さんは「男性」
 ・鈴木さんは「40代」以外

この時、上記の制約を満たすテストケースを作成する必要があります。
このような場合は制約表を使用します。

まず、「環境設定」ボタンをクリックしたら、「制約表を使用」にチェックを入れます。
「OK」をクリックして表に戻ると制約表が表示されています。
次のように入力します。
(なお、入力したいセル上で右クリックするとツールチップが表示されるので、選択することでも入力可能です。)

※上記で使用している入力ルールについて補足説明
 ・制約条件(「田中さん」や「鈴木さん」)は白色以外の任意の色で塗りつぶす必要がある
 ・入力値の先頭につける「#」は否定を表し、「入力値以外」という意味になる

さて、「実行」ボタンをクリックしてみましょう。

組合せテストケース(全部で14件)の表が作成されたと思います。
このテストケースを確認すると、いずれも制約を満たしていることが分かります。

制約が存在する場合も、楽に組合せテストケースを作成することができました。

PictMasterを使うことのメリット・デメリット


最後に、メリットとデメリットについても簡単にお話しします。

<<メリット>>
今までに見た通り、テストケースを簡単に自動生成できることが最大のメリットです。
特に、組み合わせる条件が増えれば増えるほど、条件を組み合わせる際の制約があればあるほど
PictMasterを使用しない場合は、テストケースの作成により多くの時間をかけなければなりません。
また、組合せテストのメリットであるテストケース削減の恩恵も受けることができます。

<<デメリット>>
今までに紹介した内容以外にも、PictMasterには様々な設定項目が存在します。
(PictMasterの「環境設定」ボタンをクリックした際、表示される画面に設定項目が表示されています。)
数が多いので、どのようなことができるかを把握するのに時間はかかります。
また、PictMasterで自動生成されたテストケースは、全ての組合せを網羅したテストケースに比べると
テストケースの数が減るため、テスト漏れのリスクは存在します。(これは組合せテストのデメリットです。)

<<その他補足>>
組合せテストの詳細については、分かりやすくまとめられているものがありました。
参考になったURLを紹介しておきます。
http://www.jasst.jp/symposium/jasst13tokyo/pdf/E3-2.pdf
また、PictMasterのマニュアルについても一度目を通しておいた方が良いと思います。
(PictMasterダウンロード後の展開フォルダ内に存在します。)


まだPictMasterを使ったことがないという方は、試しに使ってみてはいかがでしょうか。
ではまた!

0 件のコメント:

コメントを投稿