2008.08.25

テストパターンの網羅(もうら)性

今まで私はどちらかというと、プログラムよりも、
テストや設計のお手伝いなどを多く担当してきました。

テストのときはよく、
「網羅(もうら)性を持ったテストパターンでテストして欲しい」
と、上司や先輩から指示を受けます。

「網羅する」とは、対象や範囲が全てに及ぶことを指します。
一般的に、
「この一冊で試験範囲を網羅している」
のような表現をすると思います。

つまり、「網羅性を持ったテストパターン」とは、
「いくつかの条件をもとに、考えられ得る場合の全てを挙げたテストパターン」
ということです。


ここで、
「条件1が真、または、条件2と条件3の両方が真」
のときに実行されるべき処理を、テストするとします。

このとき、考えられ得るテストパターンを挙げるために、
表計算ソフトやテキストエディタなどに、パターンを書き上げていきます。

この場合では、「条件1」「条件2」「条件3」の列を作り、
真ならば「Y」、偽ならば「N」を記入します。
さらに、3つの条件の右側に「結果」のような列を作っておき、
その条件のもとで、処理(表示、更新、削除、登録など)が、
実行されるべきである場合は「○」、
実行されるべきでない場合は「×」を記入します。

例えば、条件1と条件3が真で、条件2が偽のとき、
テスト対象の処理は実行されるはずなので、「○」となります。

これを「Y、N、Y、○」のように書くとすると、
全ての条件のパターンと、その実行の可否は以下のようになります。

Y、Y、Y、○
Y、Y、N、○
Y、N、Y、○
Y、N、N、○
N、Y、Y、○
N、Y、N、×
N、N、Y、×
N、N、N、×

このような一覧を手元においてテストを進めていくと、
テストパターンに取りこぼしがなく、
網羅性のあるテストができると思います。

1つずつテストしていくのも良いですが、
一覧表示や一括登録などは複数のパターンを一度にテストすると良いでしょう。

ちなみに、テキストエディタでも一覧表を作成できますが、
コピー&ペーストのしやすさ、印刷時の見やすさから、
私は表計算ソフトを使用しています。

photo
miyashita