他システム連携 (外部システム連携) を行う際、いきなり結合を行うのではなく順を追って連携レベルをあげていきます。 ここではそれぞれの段階でどのような確認を行うかをまとめました。
概要
一般に「開発」と言えば「ウォーターフォール開発」が基本になるかと思います。 図に示すと以下のようなものになります。
他システム連携のテストも通常の「ウォーターフォール開発」と同様に徐々に結合レベルをあげるようにテスト実施します。
以下ではそれぞれのテストでどのようなことを確認するか詳細に見ていきます。
単体テスト(規約確認)
リソース共有(データベース共有)の場合はいきなり結合テスト(疎通確認)になりますが、それ以外の接続方法(アプリケーション連携、ファイル連携)ではファイル交換による規約確認を最初に行います。 ウォーターフォール開発で言うところの単体テストに相当する確認です。 この時点で環境含めた通しでの性能テストは実施できませんが、ファイル連携だと最大サイズを交換することで疑似的な性能テストが実施できます。
対向システムとのファイル交換をするにあたり、 「実際にアプリを動かして出力できること」 または 「ファイルを受け取ってアプリが取込できる状態であること」 が必要なので、実装として単体テストまで完了していることが実施条件になります。
他システム連携を行う場合は共通する話題かもしれませんが… 「ファイル交換をどのように行うか」や「障害管理をどのように行うか」についてもあらかじめ決めておくと良いでしょう。
【確認観点】
- 必須項目のみのデータ
- 任意項目含めたすべてのデータ
- 0、null、undefinedを含めたデータ
- 最大値、最大長を含めたデータ
- ファイル連携の場合は最大ファイルサイズのデータ
結合テスト(疎通確認)
対向システムと自システムを接続して環境面の設定ミスがないことを確認します。 確認の主眼はシステム設定面なのでできるだけ単純な正常系シナリオを選定して実施します。
ここからは対向システムの接続がありますので、対向システムベンダーの開発状況、環境構築状況の影響も受けます。 対向システムがテスト環境を用意できないケースも考えられます。 どうしても準備できそうになければテストスケジュールを見直す必要があるので、あらかじめ対向システムベンダーと日程調整を行っておく方が無難です。。
【確認観点】
- アクセス先が間違っていないか
- 穴あけ設定は正しくできているか
- ファイアウォール
- ロードバランサ
- Webサーバー
- 認証情報は正しく設定されているか
- 暗号化および復号化に必要な設定が正しくされているか
- フォルダは間違っていないか
システムテスト
規約確認と疎通確認が終われば実際にテスト環境同士で接続してシステムテストを行います。 テスト環境同士なので一般的な境界値テストや異常系テスト、性能テストを必要に応じて実施します。
【確認観点】
- 正常系シナリオ
- 受け取ったデータが正しい項目に表示されるか
- 異常系シナリオ
- 接続できなかった場合
- 接続中に切断した場合
- 性能テスト
- 想定される最大データ量
今回の記事は参考になったでしょうか? 「フェーズ」という視点で分割して「他システム連携のテスト」をまとめましたが、 各テストでは「PMBOKの知識エリア」に応じた観点で必要事項の洗い出しを行うのがポイントです。 全体的にはどちらかというと経験則でしか書き起こせていないですが…少しでも参考になればと思います。
最後に… このブログに興味を持っていただけた方は、 ぜひ 「Facebookページ に いいね!」または 「Twitter の フォロー」 お願いします!!