第221回: 「ソフトウェアテストしようぜ」35 CEGTest(5. ロジックを網羅する 後編)
◀前の記事へ 次の記事へ▶
≡ はじめに
前回は、「ロジックを網羅する」の中編で、NOTに続いてANDの場合を考えました。
今回は、ORが網羅するものについて確認していきます。ANDと同様に原因結果グラフの肝の部分です。
私が知る限り、CEGTestや市販の原因結果グラフツールのロジックは、最終的な結果ノードと中間ノードを同じように扱います。(マイヤーズ本のロジックは違いそうです)
したがって、この3回(前・中・後編)の内容から、多段階になった原因結果グラフのデシジョンテーブルもつくることができます。
(手作業でデシジョンテーブルをつくる人はいないと思いますが、何を網羅しているかの仕組みを理解して説明できるようになることは、品質保証の上から大切です)
≡ ANDとOR
前回と同じ見出しです。前回はANDについて書きましたので、今回はORについて書きます。
■ ORのケース
一般に「または」でつながる複数の条件の関係を「OR」と呼びます。
例えば、女優の松本穂香さんと、伊藤沙莉さんのファンがいたとします。広瀬すずさんと、今田美桜さんでも構いません。けんかになるといけませんので、例題としては、4人を対象とします。
好きな女優さんが出ているドラマは観たいものです。
たとえ、一人しか出演していなくても観るでしょうし、4人全員が出演していたら当然見ることでしょう。でも、好きな女優が1人も出ていなかったら気分次第かもしれません。ここでは、単純に「好きな女優が1人も出ていないようなら観ない」とします。(何か、話を進めるときには自分が勝手に置いた前提条件を書いておくと、何でそう考えたのかがわかるので良いです)
原因結果グラフとデシジョンテーブルを示します。
結果ノードに付いている「∨」記号はORの意味です。
なんか、バカみたいなことを書いていますよね。「もっといい例はないのか?」と言いたくなります。
でも、これでも一所懸命に考えた結果です。
さて、上記のCEGTestが出力したデシジョンテーブルを確認します。そのために、再掲します。
まず、一番右側の列(#5)では全ての条件が「F」のケースとなっています。
前回のANDのデシジョンテーブルの一番左の列が、全て「T」となっているのと対称的です。前回の例を再掲します。
次に、ORのデシジョンテーブルでは残りの列(今回でしたら#1〜#4列)について、どの列(ルール)も条件が1つだけ「T」となり、残りの条件は「F」となっています。
比較のため、前回示したANDのデシジョンテーブルを再掲します。
こちらも、まったく対称的です。
前回と今回のデシジョンテーブルから確認できたことをまとめます。
となっていることがわかりました。
≡ おわりに
今回は、「ロジックを網羅する」の後編でした。前回のAND(∧)に続いてOR(∨)の場合を考えました。ANDと対称的なことが分かっていただけたと思います。
今回、書籍による方法は書きませんでした。気になる人だけ読んでもらえばいいかなと思ったからです。
次回は、この連載でずっと使ってきているCEGTestツールの操作方法について書こうと思っています。ドリル本よりも詳しく書きたいです。
これから使用する原因結果グラフが、どんどん複雑になってくるので、その時に困らないように。