テスト技法には、ブラックボックステスト、ホワイトボックステストがあります。ブラックボックステストは、入力値と出力値の対応関係が正しいかどうかを検証するテスト技法です。ホワイトボックステストは、プログラムの流れを検証し、無駄な処理や矛盾する処理を発見するテスト技法です。命令網羅、判定条件網羅、条件網羅といった技法があります。
1:ブラックボックステスト
同値分割:入力データを同じ出力結果が得られるグループ(同値クラス)に分割し、各グループから代表値を選んでテストデータとする手法です。正常に処理される入力値のグループを有効同値クラス、エラーとなる入力値のグループを無効同値クラスと言います。
限界値分析:同値クラスの境界値をテストデータとする手法です。プログラムでは判定条件を
weight>100
と書くべきなのに
weight≧100
と書くという間違いが多く発生します。限界値分析の目的は、このような誤りを発見することです。
2:ホワイトボックステスト
命令網羅:要件:プログラム中のすべての命令を、少なくとも1回は実行するようにテストデータを作る。
判定条件網羅(分岐網羅):要件:プログラムの判定条件で、真と偽を少なくとも1回は実行するようにテストデータを作る。
条件網羅:要件:判定中の各条件で、真と偽を少なくとも1回は実行するようにテストデータを作る。
判定条件/条件網羅:要件:判定条件網羅と条件網羅の両方を満たすようにテストデータを作る。
複数条件網羅:要件:各条件の真偽のすべての組み合わせでテストデータを作る。
3:信頼度成長曲線
発見されたエラーの累積数が、時間の経過とともにどのように変化するのかを表すグラフです。このグラム(曲線)は、数学の世界では、オジスティック曲線やゴンベルツ曲線と呼ばれています。
エラーははじめのうちはなかなか見つかりませんが、見つかりはじめるとあれもこれもといったように見つかります。そして、ある程度の時間が経つと、ほぼ出尽くして終わりになります。
この曲線とともに、実際に発見したエラーの累積数をプロットします。曲線から大きく逸れている場合には、問題があると考え、適切な処理を講じる必要があります。