ソフトウェアの品質を学びまくる

ソフトウェアの品質、ソフトウェアテストなどについて学んだことを記録するブログです。

ドリル勉強会第6回、ペアワイズ法 - その2

 では問題を解いてみます。もう26時半だけどね。。。

まずは単純に組み合わせを

 単純に、各因子が取りうる水準を記述して、「生成」してみましょう。

2-1_63a78338

 PictMaster(と、裏で動くPICT)では、とりえあずこのように因子と水準を記述するだけで、2因子の組み合わせをすべてパックした少数のテストケースを生成してくれます。結果は、

2-2_41659f0a

 この19パターンの組み合わせが出てきます(出力される組み合わせは一意ではありません)。でもここには、ジュースにお湯を入れて文字通り水増しするパターンや、お茶にクリームを多めに投入するといった悪意も漏れなく網羅されています。

「制約」を追加してみる

 PictMasterでは、「ありえない組み合わせ」を制約として指定することで、その組み合わせを省いたうえでのパターンを生成してくれます。
 「環境設定」から「制約」を開いて、指定された3つの制約を指定してみましょう。なおここで、「お湯」の水準として「無し」を追加しています。

2-3_f49b6c72

 たとえばこの「制約2」は、
if (飲み物 = "お茶" or 飲み物 = "ジュース" )
then (クリーム = "なし" ) ;
を表しています。
 これで生成してみましょう。お茶とジュースに砂糖やクリームが入っていないかと一応確認すると・・・

2-5_11840cf7

 入って・・・いる・・・。しかも・・・多めに・・・。
 1つ1つ制約を指定したはずなのに、何故こうなってしまったのか。
 ユーザーズマニュアルに立ち返りましょう。PictMasterのマニュアルはとても丁寧な内容で例示も多く、素晴らしい内容。
PictMasterユーザーズマニュアル第4.6版 P.31
制約対象として異なるパラメータの値をOR条件で指定したい場合は、すぐ右側の制約に制約条件として同じパラメータの値を記入し、制約対象に異なるパラメータの値を記入します。図4-5にこの場合の制約表を示します。
 つまり上の図のように、条件のif部分を同じ内容・色にして隣り合わせると、条件が合体してしまうんですね。この場合だと、「お茶かジュースの場合は、砂糖なしかクリームなしか、どれか1つは満たしてよね」という制約になってしまっているのです。

制約を書きなおしてみる

 3つのifのセルの色を変え、リトライ。

2-6_c1c82e2f

 あ、制約1と2を1つの制約にしてもいいでしょうね。
 今度の結果は・・・。

2-7_31d04ed5

 おお。制約を守りつつ、20パターンのテストケースに収まっていますね。
 20杯なら、10分に1杯のペースでも3時間ちょっと。リグレッション試験も何とかいけそうです!