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

PictMasterの直交表テンプレート決定方法

$
0
0

PictMasterでは直交表ベースの組み合わせ生成を行うことができますが、みなさんはPictMasterが、本当に正しく直交表どおりの組み合わせ生成を行なっているのだろうかと疑問に思うことはないでしょうか。PictMastreが内部で行っている処理は目に見えないので、そうした疑問を抱くことは自然だと思います。

でも安心してください。PictMasterでは生成した直交表ベースの組み合わせが正しく直交表の性質を保持していること(2因子間網羅率が100%)を、ペアワイズ法での組み合わせ生成結果との比較を行なって確認することで保証しています。この確認は環境設定で「カバレッジを表示」をチェックして生成を行なうことで行うことができます。

PictMasterは約300種類の直交表テンプレートを内蔵し、モデルのパラメータ数と水準数に合った最も小さなサイズのテンプレートを決定し、それをもとに組み合わせを生成しています。今回はそのテンプレート決定方法について説明します。

PictMasterでは、それぞれの直交表テンプレートが水準数別にいくつのパラメータがあるかを「テンプレート属性テーブル」で定義しています。直交表テンプレートは水準数の少ない列から多い列の順で並んでいます。属性テーブルも同じ列の順で並んでいます。モデルの水準数の大きな順からその水準のパラメータ数で属性テーブルをテンプレートのサイズの小さな順からサーチし、属性テーブルの水準別のパラメータ数がモデルのパラメータ数以上のテンプレートを探します。

属性テーブルの水準別のパラメータ数がモデルのパラメータ数以上のテンプレートが見つかったら、モデルの次に少ない水準数のパラメータ数が今見つかったテンプレートでカバーできるかを判定し、カバーできれば同じようにモデルのすべての水準数のパラメータについて判定します。すべての水準数をカバーできると分かったらそのテンプレートで組み合わせを生成します。

そのテンプレートの水準数のパラメータ数でモデルのパラメータ数をカバーできない場合は次に大きなサイズの属性テーブルをサーチします。ここでテンプレートの水準数のパラメータ数がモデルのパラメータ数をカバーできるかの判定においては、より上位の水準数のパラメータで組み合わせ生成に使われていないパラメータがあれば、そのパラメータを下位の水準に「繰り下げ」て組み合わせ生成に使用するようにします。

ここまでの説明では分かりにくいと思うので例を使って説明します。

例えば、モデルの水準別パラメータ数が次の表の場合、2水準系直交表の属性テーブルの水準数を見ると、どのテンプレートも一部のパラメータ数が不足していることが分かります。
 

 

モデルの水準別パラメータ数


 

2水準系テンプレートの属性テーブル(抜粋)

 

No.168では4水準のパラメータ数が不足しています。No.169とNo.170についても4水準または2水準のパラメータ数が不足しています。こうした場合、PictMasterでは上位の水準で組み合わせ生成に使われていない余ったパラメータがあるかを調べ、あればそれを不足している水準に繰り下げます。繰り下げられた上位水準のパラメータはモデルの水準数で割った余り(MOD)を算出して実際の値の名称に変換します。

この時のテンプレート決定処理を次に示します。
 

上位水準のパラメータの繰り下げの例


こうした上位水準から下位水準への繰り下げは隣り合った水準のみに限られることはなく、例えば16水準から2水準への繰り下げといったことも可能です。極端な例ですが、No.168のテンプレートを使って2水準のパラメータが5+17+11+28=61個ある組み合わせを生成することも理論上は可能です。

 

このような柔軟性のあるテンプレート決定アルゴリズムを採用しているため、限られたテンプレート数にもかかわらず、実用上支障のない程度に様々なモデルへの適用が可能となっています。

 

 

 


Viewing all articles
Browse latest Browse all 58

Trending Articles