組み合わせテストの2つの方法(直交表、ペアワイズ)

簡単な例で、2つの方法(直交表、ペアワイズ)を紹介します。
作成したアプリが様々な環境で正しく動作するか否かを調べたい。様々な環境(因子)とは、(a)OS(Win7/Win10)、(b)ブラウザ(IE/FireFox)、(c)画面解像度(低/高)の3種とする。(各因子は0/1の2値(水準)をとる)

3因子全ての組み合わせを確かめようとすると、2x2x2の8通りのテストが必要になる(次の表)。

組み合わせテストとは、できるだけ上記8通りをカバーしつつも、このテストケースを減らす方法の提案です。

(1) 直行表
上記のテストケースを減らすには、L4(4はテストケースが4つであることを示す)と呼ばれる最も小さな直行表を用いる。
テストは、表の4ケースだけで済ませる。何となく、3因子がバランスよく散らばっているのが分かるでしょう。

この表の、環境(因子)の選択を0/1で表わすとつぎのようになる。

直交とは、どの2列の組み合わせにおいても相関係数がゼロとなっている状態。あるいは、各列をベクトルと考えて直交していると考えても同じ。
さらに各列は、「釣合い」という、全ての列において、出現する水準(1/0)の数が同じ状態にもなっている。

(2) ペアワイズ(オールペア)法
どの2つの因子間(OS-ブラウザ、ブラウザ-解像度、OS-解像度)を見ても、値の組み合わせが全て(00、01、10、11)網羅されている。

上記の直行表とペアワイズ表は、簡単な組み合わせ(3因子で2値)を使ったため、直交表とペアワイズ表が同じになってしまったが、一般にはペアワイズの方がテストケースが少なくて済む。

例えば、7因子では、以下のように2つの表が異なってくる。
直交表

ペアワイズ表

2つの方法の違いは、直行法は全ての因子をバランスよくカバーしているのに対し、ペアワイズは2因子間の関係を重視し、各2因子間の値の組み合わせは全てカバーしている。
これは、統計的に2因子間までで発生するエラーが7~9割を占めるためである。

因子数や水準数が増えると、テストケースを作るのが人手では難しく、専用のソフトが用意されている。

==
今日、googleの画面に見覚えのある(ブール代数の)式が出ていました。

何かと思ったらジョージ・ブール氏の生誕200年(誕生日)と書いてありました。

11月

もう11月です、はやい!
今月は、大学のホームカミングデー、2年半ぶりの大腸検査、今年最初の忘年会、なんかがあって、忙しい。テニスコート付近(松葉町)は、紅葉がはじまり美しくなってきました。

30(金):午前中テニス、午後つくばへ。
東や西の大通り、紅葉はまだ少し早い。
つくばを運転していると、「夢のあと」って感じがします。
蕎麦舎で蕎麦を食べ、モルゲンでパンを買って帰宅。
お蕎麦はイマイチ(香りがない)、来週「新蕎麦と旧蕎麦の食比べ会」とか書いてあったので、今は最悪の時期なのかなと思いました。

31(土):午前中テニス、昼カラオケ、午後「ソフト工学の組み合わせテスト(ペアワイズと直交表)の勉強」。空いた時間は尺八の練習、一つ一つの音は2,3秒時間をかければ出るようになる。演奏で各音に2,3秒の準備時間をとっていたら音楽にならないので、これから連続音の練習。特に低音から高音になる時、唇の形が変わるので難しいんです。

テニスコートのそばの細い道で、タクシーが超高齢お婆さんを少し道路の中央によっておろしていました(中央に寄らないとドアが開かないんです)。そこに、後ろから車が来て、通れないもんだから、クラクションブーブー鳴らしていました(ほんの1,2分なのに)。
ブーブー鳴らしているのは怖い人なのかなと思って見ると、超高齢男性でした。超高齢ドライバーは、認知症が入ってきていますので、怖い人以上に怖いですね(高齢者は前頭葉が委縮してきているので我慢ができないんです)。70歳を過ぎたら、免許証を毎年更新するようにして認知症検査を徹底しないと、これから認知症自動車事故が多発しますね。

(私の嫌いな)ハロウインは、ますますエスカレートしているようです。私のマンションからも25歳くらいの女性がスゴイ変装をして出ていきました。幼稚園生ならなんとか(高齢で我慢ができなきくなっていますが)我慢できますが、大人はいいかげんにしろ(やるなら、ナマハゲだろ)って思います。

11/1(日):普通ですと3日連続でテニスはしませんが、明日は雨ということなので、今日はこれからテニスに行こうと思っています。昼は実家へ。