Quantcast
Channel: 組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題
Viewing all articles
Browse latest Browse all 58

直交表で制約を扱う Pairwise法との併用で制約の問題を解決

$
0
0
ソフトウェアテストに直交表を活用する上で常に問題となるのが制約(HAYST法では「禁則」という)の扱いです。少し複雑な制約があると人手で扱うことが不可能になります。2-Wayカバレッジが100%でなくてもよいなら人手でも可能ですが、それではテスト漏れが発生してしまいます。直交表を使用したソフトウェアテストを実用的に行なうためには制約の問題を解決することがどうしても必要です。

この直交表における制約の問題はPairwise法を併用することで解決することができます。

ここで例として4水準のL16直交表を取り上げてみます。次のPictMasterのモデルでは4つの値を持つパラメータが5個あり、制約指定が行なわれています。4水準が5個のパラメータにはL16直交表を使用することができます。

5


制約のあるテスト対象に直交表を使用する場合は、PictMasterの原型シートの機能を利用して制約を扱うようにします。原型シートにL16直交表を貼り付け、次に示すように制約に違反する値(赤字の値)を空白に置き換えて、直交表が制約に違反しないようにします。こうしてから原型シートを使用した生成を行なうと直交表の組み合わせを取り込んで、制約のために新たに網羅が必要となる組み合わせが追加されたテストケースが生成されます。

4


4水準のL16直交表の3-Wayカバレッジは26.5%です。以外に少ないと思われるかもしれませんが、この直交表は全く「ゆとり」がないために3-Wayカバレッジはかなり少ない値となります。今回の制約を盛り込んだ生成結果の3-Wayカバレッジは、テストケース数が16件から20件に増加したために35.3%に増加しています。

ここで紹介した方法を適用することで直交表での制約の問題を解決することができます。

なお、生成エンジンにPICTを使用した場合、L16の2水準直交表など「ゆとり」のある直交表(3-Wayカバレッジが100%に近い)では原型シートに貼り付けた直交表の全体を読み込まなくても2-Wayカバレッジが100%となるために、直交表の一部が生成結果に含まれなくなります。この問題は生成エンジンにCIT-BACHを使用した場合は起きません。


※ この方法で生成を行なう場合は生成エンジンにはPICTを使用してください。CIT-BACHではエラーとなります。CIT-BACHはこの問題の修正も含めて今後バージョンアップされる予定です。

※ 3月2日 PICTでの問題点を追記


Viewing all articles
Browse latest Browse all 58

Trending Articles