今日は直交表に関して勉強しました。
テストロジックに関して知識がなかったので(他の知識も皆無だがw)
今回テスト計画を立てる際に指標になればと思い勉強しました。
数学はてんで駄目なので、分かり易いサイトを探すのに苦労しました。
テストパターンを効率化!直交表でテスト工数を最低限に! | geechs magazine
このサイトを参考に自分で直交表を作ってみます。
元バンドマンっぽくチケット管理システムを考えてみましょう。
ひどい対バンの組み合わせですね。
誰がこんなイベント行くのでしょうか・・・
何のためには置いといて、これらを入力するWEBアンケートがあったとします。
このWEBアンケートのテストを網羅的にやるとなると。。
男性-当日-j-pop
男性-当日ーメタル
...etc
2×3×4=24通りのテストが必要になります。
こんなのやってられません。帰りたいです。
そのため、頭のいいお偉いさんが直交表ということを考え出しました。
これは統計学に基づいて
「不具合が起こる要因のほとんどは2つまでの要因の組み合わせによるものだ」
という結論になったといわれます。これで90%以上はカバーできるとの事。
ならばこれらを使ってテスト工数を削減して、
効率のいいテストを組み立てていきたいと思います。
それでは先ほどのチケット管理システムの例を使って直交表を組み立てていきます。
まずはこんな感じで並べていきます。
これで男性&支払い方法 or 目当ての組み合わせは網羅されました。
続いて女性を入力していきます。
女性&支払い方法 or 目当ての組み合わせも網羅されました。
あとは支払い方法&目当ての組み合わせで足りない所を埋めていくだけですね。
この表だと偏りがあるか分かり辛いのでソートして、Noを振ります。
全12パターンのうち
男性と女性が6パターンずつ
支払い方法が4パターンずつ
目当てが3パターンずつ
綺麗に網羅されていることが分かりますね。
当然、これらの目当てに
性別:中性とか目当てにブルース・R&Dなども増えていくと総当りだとパターン数が増えていきます。
(中性という性別は存在しませんが。。。)
ただ、これらの直交表を使えば複雑なテストほど工数が減っていくので効果的ですね。