では問題を解いてみます。もう26時半だけどね。。。
まずは単純に組み合わせを
単純に、各因子が取りうる水準を記述して、「生成」してみましょう。
PictMaster(と、裏で動くPICT)では、とりえあずこのように因子と水準を記述するだけで、2因子の組み合わせをすべてパックした少数のテストケースを生成してくれます。結果は、
この19パターンの組み合わせが出てきます(出力される組み合わせは一意ではありません)。でもここには、ジュースにお湯を入れて文字通り水増しするパターンや、お茶にクリームを多めに投入するといった悪意も漏れなく網羅されています。
「制約」を追加してみる
PictMasterでは、「ありえない組み合わせ」を制約として指定することで、その組み合わせを省いたうえでのパターンを生成してくれます。
「環境設定」から「制約」を開いて、指定された3つの制約を指定してみましょう。なおここで、「お湯」の水準として「無し」を追加しています。
「環境設定」から「制約」を開いて、指定された3つの制約を指定してみましょう。なおここで、「お湯」の水準として「無し」を追加しています。
たとえばこの「制約2」は、
if (飲み物 = "お茶" or 飲み物 = "ジュース" ) then (クリーム = "なし" ) ; |
を表しています。
これで生成してみましょう。お茶とジュースに砂糖やクリームが入っていないかと一応確認すると・・・
これで生成してみましょう。お茶とジュースに砂糖やクリームが入っていないかと一応確認すると・・・
入って・・・いる・・・。しかも・・・多めに・・・。
1つ1つ制約を指定したはずなのに、何故こうなってしまったのか。
ユーザーズマニュアルに立ち返りましょう。PictMasterのマニュアルはとても丁寧な内容で例示も多く、素晴らしい内容。
ユーザーズマニュアルに立ち返りましょう。PictMasterのマニュアルはとても丁寧な内容で例示も多く、素晴らしい内容。
PictMasterユーザーズマニュアル第4.6版 P.31 |
---|
制約対象として異なるパラメータの値をOR条件で指定したい場合は、すぐ右側の制約に制約条件として同じパラメータの値を記入し、制約対象に異なるパラメータの値を記入します。図4-5にこの場合の制約表を示します。 |
つまり上の図のように、条件のif部分を同じ内容・色にして隣り合わせると、条件が合体してしまうんですね。この場合だと、「お茶かジュースの場合は、砂糖なしかクリームなしか、どれか1つは満たしてよね」という制約になってしまっているのです。
制約を書きなおしてみる
3つのifのセルの色を変え、リトライ。
あ、制約1と2を1つの制約にしてもいいでしょうね。
今度の結果は・・・。
今度の結果は・・・。
おお。制約を守りつつ、20パターンのテストケースに収まっていますね。
20杯なら、10分に1杯のペースでも3時間ちょっと。リグレッション試験も何とかいけそうです!
20杯なら、10分に1杯のペースでも3時間ちょっと。リグレッション試験も何とかいけそうです!