連載 [第7回] :
即活用!業務システムの開発ドキュメント標準化結合テストと総合テスト
2005年10月7日(金)
総合テストの手順
総合テストは、一般にシステムテストとも呼ばれています。業務アプリケーションにおいては、実際に業務で使うデータを使って、業務を運用するテストを意味します。既存のシステムがある場合は、現行業務と平行して同じデータを使って比較確認する平行本番テストということになります。
総合テストを行う際は、図7のような手順になります。
環境構築
結合テストまでは、開発マシンもしくはテスト用マシン上での確認試験となりますが、総合テストは原則として本番マシン上でのテストとなります。アプリケーションのテストだけでなく、ハードウェアやOS、ミドルウェアなどのシステム全体が正常に動作することを確認します。Webサーバや開発言語、DBMSなどのバージョンの組み合せによるトラブルや個別の障害なども少なくありませんので、本番とまったく同じ環境を構築してテストを行う必要があります。
データ移行
総合テストは、原則として本番と同じデータを使います。本番データを使うことにより、想定外のデータが存在していることが発覚したり、思うようにパフォーマンスがでないという問題が明らかになります。
そのために、マスタデータおよび残データ、そしてトランザクションデータの移行を行う必要があります。これらの移行は、総合テストが終了した本番直前にも行うことになりますので、できる限り移行プログラミングを作成して何度でも移行できるようにします。
過去データを照会および分析用に移行したいケースもありますので、トランザクションデータに関しても、どのデータをいつからの分まで移行するかを事前によく検討し、必要なデータの移行プログラムを用意しておきます。
ユーザ教育
総合テストの主役はエンドユーザです。エンドユーザに業務を行ってもらうことにより、開発サイドでは気づかなかったような問題点が指摘されます。そのために、操作マニュアルや運用マニュアルを用意して、ユーザに対して何回か教育を行う必要があります。
テストシナリオ実施
総合テストのシナリオは、基本的に結合テストのシナリオと一緒です。結合テストが開発環境において行うのに対し、総合テストは本番環境で実施するという違いになります。
テスト仕様書も結合テストのものをコピー利用することになりますが、それに加えてパフォーマンステストやハードやネットワーク障害対応(イレギュラーテスト)、データのバックアップと復元など、運用面のシナリオも追加します(もちろん、これらのテストも結合テスト段階で実施している方が望ましいです)。
結果の照合・判定
平行本番テストの場合は、現行業務と同じデータを平行して入力し、その結果を照合して差異のないことを確認します。それに加えて、操作性や運用の容易さ、パフォーマンスなどの総合的な評価を得て、ユーザの合格をもらいます。不具合があれば、タイムリーに修正して再テストします。修正に時間のかかるものは、とりあえずできるシナリオから先にテストを進めることになります。
予定のシナリオがすべて終了し、発生した障害も対応して業務に支障がないことが確認できた段階で、ユーザ検収となりテスト終了です。ただし、月次処理や年次処理など、1ヶ月から数ヶ月後でなければ運用確認ができないような機能に関しては、擬似的に処理してその結果を確認したら検収をもらうことになります。
まとめ
今回は、結合テストのテスト計画プロセスにおけるドキュメントとして「結合テスト仕様書」のテンプレートを紹介しました。テストのシナリオとテストケース、テストデータの定義パターンについて理解できたと思います。
また、最終のテストとなる総合テストについては、手順や作業内容を簡単に説明しました。あくまでも業務アプリケーションをテスト対象としていますので、組み込み系ソフトウェアなどの場合は、少し内容が異なるということをご了承ください。
結合テストまでは、開発マシンもしくはテスト用マシン上での確認試験となりますが、総合テストは原則として本番マシン上でのテストとなります。アプリケーションのテストだけでなく、ハードウェアやOS、ミドルウェアなどのシステム全体が正常に動作することを確認します。Webサーバや開発言語、DBMSなどのバージョンの組み合せによるトラブルや個別の障害なども少なくありませんので、本番とまったく同じ環境を構築してテストを行う必要があります。
総合テストは、原則として本番と同じデータを使います。本番データを使うことにより、想定外のデータが存在していることが発覚したり、思うようにパフォーマンスがでないという問題が明らかになります。
そのために、マスタデータおよび残データ、そしてトランザクションデータの移行を行う必要があります。これらの移行は、総合テストが終了した本番直前にも行うことになりますので、できる限り移行プログラミングを作成して何度でも移行できるようにします。
過去データを照会および分析用に移行したいケースもありますので、トランザクションデータに関しても、どのデータをいつからの分まで移行するかを事前によく検討し、必要なデータの移行プログラムを用意しておきます。
総合テストの主役はエンドユーザです。エンドユーザに業務を行ってもらうことにより、開発サイドでは気づかなかったような問題点が指摘されます。そのために、操作マニュアルや運用マニュアルを用意して、ユーザに対して何回か教育を行う必要があります。
総合テストのシナリオは、基本的に結合テストのシナリオと一緒です。結合テストが開発環境において行うのに対し、総合テストは本番環境で実施するという違いになります。
テスト仕様書も結合テストのものをコピー利用することになりますが、それに加えてパフォーマンステストやハードやネットワーク障害対応(イレギュラーテスト)、データのバックアップと復元など、運用面のシナリオも追加します(もちろん、これらのテストも結合テスト段階で実施している方が望ましいです)。
平行本番テストの場合は、現行業務と同じデータを平行して入力し、その結果を照合して差異のないことを確認します。それに加えて、操作性や運用の容易さ、パフォーマンスなどの総合的な評価を得て、ユーザの合格をもらいます。不具合があれば、タイムリーに修正して再テストします。修正に時間のかかるものは、とりあえずできるシナリオから先にテストを進めることになります。
予定のシナリオがすべて終了し、発生した障害も対応して業務に支障がないことが確認できた段階で、ユーザ検収となりテスト終了です。ただし、月次処理や年次処理など、1ヶ月から数ヶ月後でなければ運用確認ができないような機能に関しては、擬似的に処理してその結果を確認したら検収をもらうことになります。
今回は、結合テストのテスト計画プロセスにおけるドキュメントとして「結合テスト仕様書」のテンプレートを紹介しました。テストのシナリオとテストケース、テストデータの定義パターンについて理解できたと思います。
また、最終のテストとなる総合テストについては、手順や作業内容を簡単に説明しました。あくまでも業務アプリケーションをテスト対象としていますので、組み込み系ソフトウェアなどの場合は、少し内容が異なるということをご了承ください。
連載バックナンバー
Think ITメルマガ会員登録受付中
Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。