組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題 -72ページ目

確認表のバグとバージョンアップ予定

PictMasterの確認表機能で、異なる一致条件で同じ確認内容となる場合、複数行の確認内容欄に同じ確認内容を記入することになりますが、この場合、「確認内容が重複しています」という旨のエラーメッセージが表示されてしまいます。

これは確認表の仕様上のバグですので、近いうちに修正を盛り込んだv2.7をリリースいたします。この他にも軽微なバグがいくつかありますのでそれも盛り込む予定です。

v2.7ではデフォルトの外観も大きく変更することにしています。

特定のパラメータについて3パラメータ間の組み合わせを100%網羅する

PICTにはサブモデルという機能があり、特に重要と考えれらるパラメータについて。選択的に3パラメータ間の組み合わせ網羅率を100%とすることができます。

例えば、10個のパラメータがあり、それぞれ5個の値を持つモデルがあるとします。2パラメータ間の組み合わせを網羅するデフォルトの設定では、47個のテストケースとなりました。PictMasterの環境設定で、組み合わせるパラメータの数に3を指定して生成すると、302個に増加します。

特に重要と考える特定のパラメータについてのみ3パラメータ間の網羅率を100%としたい場合は、サブモデルを使用するほうが効率的です。例えばパラメータA~Jまでの10個のうち、Jについて3パラメータ間の組み合わせ網羅を100%確保したい場合は、サブモデルで、Jのほかに最も多くの値を持つパラメータを含めてサブモデルで指定します。

今回の例では、どの値も同じ5個の値を持っているものとしているので、環境設定で「サブモデルを使用」にチェックを入れて、次の例のようにIと組み合わせてサブモデルを指定できます。

 {I,J @ 2}

こうして生成を行なうと、テストケース数は130個となります。すべてのパラメータについて3パラメータ間の組み合わせを網羅した場合の302個に比べて大幅に少なくすることができます。また、この例の、JとI以外のパラメータについても、3パラメータ間の組み合わせ網羅率が大幅に向上します。生成結果をExcelのフィルタを使って確認してみると分かると思います。

特に重要と考えられるパラメータが存在する場合は、サブモデルの使用を考慮に入れてみてはいかがでしょうか。

スタート地点からゴール地点までの最短経路を求める

PictMasterをソフトウェア以外の用途に応用しようとする試みです。

道路網の北西のスタート地点から南東のゴール地点までの最短経路をPictMasterを使って求めます。道路網は東西南北にそれぞれ5本の道路があり、交差点間の距離はランダムに異なるものとします。

スタート地点からゴール地点までの最短経路を求めるには、通過可能なすべてのルートを洗い出す必要があります。洗い出したルートは、全体としてすべての交差点、T字路をもれなく通り、かつ通行可能な方向すべてに向けて通過している必要があります。

このように道路網の最短経路を求めることは、ソフトウェアの単体テストの技法の1つである制御フローテストにおける「経路網羅」をカバーすることと同じことを意味します。

実際の適用条件とその結果は情報量が多すぎるため、このブログでは書けませんが、以下のサイトにまとめましたので興味のある方はご覧になってみて下さい。

PICTとPictMasterのための活用情報集

結果だけから言いますと制約の数が37個と複雑になりすぎたため、ルートの洗い出し(テストケース生成)に過大な時間がかかりました

上のサイトで、実際のモデルと制約が記入されたPictMasterがダウンロードできますのでご自分のマシンで実際に試してみることができます。なお、最少テストケース生成は行なわず、1回の生成にとどめておいた方がよいでしょう。ルートの洗い出しが終わるまでかなりの時間がかかるでしょうから。

TEF (Testing Engineer's Forum) の紹介

ソフトウェアテスト技術者交流会(TEF)は、ソフトウェアテストを行なっている技術者の方々の集まりで、主にメーリングリストを通して会員相互の技術向上のための情報交換などを行なっています。特定の運営組織があるわけでなく、ソフトウェアテストに関心のある有志の集まりです。私もTEFの会員で、PictMasterのアイデアはTEFの情報交換の中で生まれました

会員数は約1500名とのことです(正確ではないかもしれません)。このブログの読者の方にもTEFの会員の方が多くいらっしゃると思います。まだ入会していない方はこの機会にぜひ入会してしてみてはいかがでしょうか。

入会の申し込みは以下のサイトで行なうことができます。
http://www.swtest.jp/forum.html

確認表で一致条件の不一致エラーとなる場合の対処

PictMasterで確認表に一致条件を3パラメータ以上について記入すると、「~の条件に一致する組み合わせが見つかりませんでした」とのエラーとなる場合があります。

PictMasterはデフォルトでは2パラメータ間の組み合わせを網羅するので、各パラメータの値の数の多寡により、エラーとなる確率が異なります。相対的に値の数が少ないパラメータについて3パラメータ以上の条件を指定した場合、エラーとなる確率は小さくなりますが、相対的に値の数が多いパラメータを含めて3パラメータ以上の条件を指定するとエラーとなる確率が大きくなります。最も値の数が多いパラメータを含めて3パラメータ以上の条件を指定した場合は、最もエラーとなる確率が高くなります。

このような場合は、原型シートを利用するとエラーを回避することができます。原型シートに一致条件とするパラメータ名と、それらのパラメータの組み合わせをあらかじめ記入しておきます。この組み合わせは、3パラメータ以上の組み合わせを含んだものとします。Excelを使用すればコピー&ペーストで比較的簡単に組み合わせは作れます。この際、制約に違反しないようにする必要があります。

こうして原型シートを利用することで、3パラメータ以上の一致条件でも確認表でエラーとならずに正常に確認内容が記入されるようになります。