開発者と利用者が協力して行う必要がありますが、下図のシステムテストより前のテストは、プログラムに密着したチェックをするので、開発者が主体になり、それより後のテストは、システム全体の検収や運用での場面になるので、利用者が中心になります。
モジュール同士をコンポーネント単位まで結合して、コンポーネットが設計通りに正しく実行されるかを検証することを結合テストといいます。
トップダウンテスト | 上位モジュールから下位モジュールへと順次結合して行うテスト |
---|---|
ボトムアップテスト | 下位モジュールから上位モジュールへと順次結合して行うテスト |
折衷テスト (サンドイッチテスト) |
トップダウンテストとボトムアップテストを組み合わせて行うテスト |
ビッグバンテスト | すべての単体テストが終了した時点で、すべてを結合して行うテスト |
※モジュール:プログラムを機能ごとに分割した単位のこと
上位のプログラムから順に結合テストを行いますが、下位プログラムが未作成の場合には、「スタブ」を用います。
スタブは、本来予定している処理は行わず、上位プログラムから呼び出され、受け取ったパラメータに対して結果を返すのみの機能を持ちます。
プログラムの少ない上位からテストしていくため、並行作業が困難です。
重要度の高い上位のプログラムを繰り返しテストするため、インタフェースの信頼性が確保しやすいと言えます。
下位のプログラムから順に結合テストを行いますが、上位プログラムが未作成の場合には、「ドライバ」を用います。
ドライバは、テスト対象のプログラムを呼び出し、テストデータをパラメータとして与え、プログラムの処理結果を受け取る機能を持ちます。
プログラムの多い下位からテストするため、並行作業が容易です。
重要な上位プログラムの欠陥を、後でしか検出できないという特徴を持ちます。
システム全体が要求したとおりに作られているかどうかをテストします。
機能テスト | 必要な機能がすべて含まれているかと検証する |
---|---|
性能テスト | 応答時間やターンアラウンドタイム、スループットなどの処理性能が要求を満たしているかを検証する |
例外処理テスト (異常時テスト) |
わざと間違えたデータを入力し、その異常部分が正しく処理されるかどうかなど、エラーの処理や例外処理が正しく行われるかテストする |
負荷テスト | 大量のデータの投入や長時間の稼動に耐えられる処理能力を持っているかを検証する。性能テストも同時に実施 |
操作性テスト | 操作性や表示されるメッセージの適切さをテスト |
レグレッションテスト (退行テスト) |
システムの修正・新機能の追加をしたときに、他の部分に影響が及んでいないかどうかをテスト |
システム適格性確認テストは、実際に業務で使うデータや、業務上例外として処理されるデータを用いてシステムを検証するテストです。