今回はテスト完了基準(テスト終了判定基準とも言う)について説明します。
単体テスト、結合テスト、システムテスト、受入れ(検収)テストの結果は、所定のテスト仕様書に示された予想実行結果と対比して評価され、可否が判定されます。この評価と判定のために、テスト仕様書にはテスト完了基準を設定しておきます。テスト完了基準は単体、結合、システム、受入れの各テスト毎に設定され、以下のような種類があります。
あらかじめ設定しておいた予定テスト期間が過ぎたらテストを終了するというものです。これは、テストが不十分でも、所定の期間が過ぎてしまえばテストは終了になってしまいます。例えば、開発契約書中の検収に関する条項に検収期間が謳われている場合がありますが、これは検収テストの完了基準の一つになります。
あらかじめ設定しておいた予定テスト工数を消化してしまった時点でテストを終了するというものです。一般的には、テスト工数を費やせば費やすほど発見されるバグも多いと推測されることからこの方法が採られますが、非効率なテストで工数を消化して終了してしまうこともあります。したがって、実施すべきテスト項目数やテストケース数とテスト工数との関係が明確で、工数見積りが正確にできなければなりません。
あらかじめテスト項目数やテストケース数を設定しておき、この数だけテスト項目やテストケースを作成します。作成済みテスト項目やテストケースを全て消化して、かつ実行結果としてのエラーがすべて無くなったときにテストを終了させます。
設定するテスト項目数やテストケース数としては、単位ステップ当り何件というように開発ボリューム(ステップ数、ファンクションポイント値など)に合わせて基本数を設定して、さらにプログラムの複雑性や重要性を加味して増減させます。
あらかじめ設定しておいたテスト・カバレージに達したときにテストを終了します。あるカバレージ指標に基づいて、プログラムやモジュール毎に目標とするカバレージ率を設定します。すべてのプログラムやモジュールのテストがそれぞれの目標カバレージに達した時点でテストを終了します。これは、単体テストでよく使われ、設定するカバレージ率が高ければ高いほど、発見されるエラーの数も多くなります。5. 発見エラー数による基準
カバレージについては当課外授業No.38「ソフトウェア・テスト(1)」を参照ください。
あらかじめ発見すべきエラー数を目標数として設定しておき、その目標数分のエラーが発見された時点でテストを終了します。この目標数の設定方法として、過去の同種のプログラム開発実績データなどから統計的手法(多変量解析法など)を使ってエラー数を推定して、設定する場合があります。この目標数が高すぎる場合には、テストがなかなか終了しません。
単位時間当りに発見されるエラー数の変化の様子を見てテストの終了を判断します。単位時間(例えば1週間)当りのエラー発見数が期待数より少なくなってきたときにテストを終了します。エラーが発見され続けてなかなか収束しないような場合、プログラムにまだ多くのエラーが残っていると判断します。
下図例のように発見エラーの累積数(縦軸)を時系列(横軸)にプロットしてグラフ化し、成長曲線を当てはめて収束状況を表し、判断します。この当てはめる成長曲線のことを信頼度成長曲線と呼びます。

| 参考文献: | ソフトウェア品質ガイドブック 森口繁一編 日本規格協会 |