(57)【要約】【課題】現行システムから新システムに移行する際に行うテストの事前準備に要する工数、およびテスト工数を削減できるテスト支援方法、これを実施するテスト支援装置およびプログラムを提供する。【解決手段】現行システムから新システムへの移行時のテストにおいて、現行システム利用者の要求電文と応答電文をパケットキャプチャ等により取得し、保存する。次に保存した電文と電文の仕様書を用いて、応答電文がどのようになっていればテストが成功したとみなすかについて指定する電文検証用の設定を作成する。その後、テスト支援装置が新システムへの要求電文の送信と応答電文の受信を行い、その応答電文を電文検証用の設定と比較することでテストが成功したか否かを判定する。【選択図】  図４
2015072531.tif 000002
【特許請求の範囲】
【請求項１】
第１の情報システムを第２の情報システムに移行する際に行うテストを支援する電子計算機におけるテスト支援方法であって、
第１の情報システムに対する入力情報を取得し、これを記憶部に保持し、
前記記憶部に保持されている前記入力情報を、前記第２の情報システムに送信し、
前記第２の情報システムから前記入力情報に対する出力結果を受信し、
前記出力結果と、前記記憶部に保持されている前記出力結果検証用の情報に基づいて、前記出力結果の正当性を確認する、
ことを特徴とするテスト支援方法。
【請求項２】
前記出力結果の正当性の確認を、前記出力結果に記載の情報と前記出力結果検証用の情報を比較して、前記出力結果検証用の情報に記載されている条件に前記出力結果の内容が合致するか否かで行う、
ことを特徴とする請求項１に記載のテスト支援方法。
【請求項３】
前記出力結果検証用の情報を、前記第１の情報システムからの前記入力情報に対する出力結果と、前記記憶部に保持されている前記第２の情報システムの仕様書から作成する、
ことを特徴とする請求項２に記載のテスト支援方法。
【請求項４】
前記出力結果検証用の情報に記載されている出力結果検証のための条件を、前記第１の情報システムからの出力結果から作成する、
ことを特徴とする請求項３に記載のテスト支援方法。
【請求項５】
前記出力結果検証用の情報に記載されている出力結果検証のための条件を、前記第２の情報システムに適用する前に、前記第１の情報システムからの出力結果と比較することで評価する、
ことを特徴とする請求項４に記載のテスト支援方法。
【請求項６】
前記出力結果検証用の情報に記載されている前記出力結果検証のための条件の評価を、前記第１のシステムからの出力結果に記載の情報と前記出力結果検証用の情報を比較して、前記出力結果検証用の情報に記載されている条件に前記第１のシステムからの出力結果の内容が合致するか否かで行う、
ことを特徴とする請求項５に記載のテスト支援方法。
【請求項７】
第１の情報システムを第２の情報システムに移行する際に行うテストを支援するテスト支援装置であって、
記憶部と制御部を具備し、
前記制御部は、
第１の情報システムに対する入力情報を取得し、これを前記記憶部に保持し、
前記記憶部に保持されている前記入力情報を、前記第２の情報システムに送信し、
前記第２の情報システムから前記入力情報に対する出力結果を受信し、
前記出力結果と、前記記憶部に保持されている前記出力結果検証用の情報に基づいて、前記出力結果の正当性を確認する、
ことを特徴とするテスト支援装置。
【請求項８】
前記制御部は、前記出力結果の正当性の確認を、前記出力結果に記載の情報と前記出力結果検証用の情報を比較して、前記出力結果検証用の情報に記載されている条件に前記出力結果の内容が合致するか否かで行う、
ことを特徴とする請求項７に記載のテスト支援装置。
【請求項９】
前記制御部は、前記出力結果検証用の情報を、前記第１の情報システムからの前記入力情報に対する出力結果と、前記記憶部に保持されている前記第２の情報システムの仕様書から作成する、
ことを特徴とする請求項８に記載のテスト支援装置。
【請求項１０】
前記制御部は、前記出力結果検証用の情報に記載されている出力結果検証のための条件を、前記第１の情報システムからの出力結果から作成する、
ことを特徴とする請求項９に記載のテスト支援装置。
【請求項１１】
前記制御部は、前記出力結果検証用の情報に記載されている出力結果検証のための条件を、前記第２の情報システムに適用する前に、前記第１の情報システムからの出力結果と比較することで評価する、
ことを特徴とする請求項１０に記載のテスト支援装置。
【請求項１２】
前記制御部は、前記出力結果検証用の情報に記載されている前記出力結果検証のための条件の評価を、前記第１のシステムからの出力結果に記載の情報と前記出力結果検証用の情報を比較して、前記出力結果検証用の情報に記載されている条件に前記第１のシステムからの出力結果の内容が合致するか否かで行う、
ことを特徴とする請求項１１に記載のテスト支援装置。
【請求項１３】
請求項１乃至請求項６の何れか１項に記載のテスト支援方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報システムの現行システムから新システムへ移行する際に行うテストを支援する技術に関し、特に現行システムと新システムでの処理内容の整合性を確認する技術に関する。
【背景技術】
【０００２】
情報システムの現行システムから新システムへ移行する際に行うテストでは、システムの稼働時間外に現行システムから新システムへネットワークを切り替えて、対象とする新システムの操作や、周囲のシステムやユーザ端末と関係する部分のテストを行う手法が一般的である。これらのテストは情報システムの構築において欠かせない要素であるが、昨今、情報システムの規模が大きくなるにつれてテストの確認事項やテスト用の設定なども増加し、テストに必要となる工数も増大しているため、テスト工数削減手法が求められている。また移行時のテストにおいてはシステムの稼働時間外という限られた時間でテストを行わなければならないため、テスト工数削減の要求がより高くなっている。
【０００３】
このテスト工数を削減する手法として、特許文献１のように現行システムに対する要求電文を複製して新システムにも送信することでテストを行う、並行稼働テストという手法が知られている。この手法はシステム稼働時間内の要求電文と応答電文を利用して新システムのテストを行う手法であり、システム稼働時間外にネットワークの切り替えや新システムの操作等を行わなくとも良くなるため、テスト工数が削減されることになる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−０９７４５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般的に新システムのテストを行う場合、データベース（ＤＢ）等の内部状態はテスト用に設定することになる。データベース等の内部状態によってシステムの出力は異なってくるため、データベース等の内部状態をテスト用に設定することで、テストを行った結果の出力が想定通りのものか否かを判断するためである。
【０００６】
上記特許文献１に記載の手法もデータベース等の内部状態をテスト用に設定することを前提としており、現行システムと新システムでデータベース等の内部状態を揃えることが必要となる。なぜならば、現行システムと新システムの両者に同じ要求電文を送信し、その出力である応答電文を突合させることでテストの合否判定を行っているためである。
【０００７】
しかし、実際には現行システムと新システムの両者でデータベース等の内部状態を揃えることは困難であるケースが多い。例えば現行システムが２４時間稼働のシステムであった場合、現行システムには絶えず要求が送信されている状態であり、これら要求によってデータベース等の内部状態が変化し得るため、特定のタイミングで現行システムと移行システムの内部状態を揃えることは困難である。あるいは稼働時間外が存在するシステムであっても、多くのシステムでは稼働時間外に夜間バッチが動作しているため、夜間バッチが終了してからシステム稼働開始までの限られた時間で現行システムの内部状態を新システムにコピーしなければならず、データベース等のコピーする量によっては内部状態を揃えることが困難となる。また、内部状態が揃えられたとしても、そもそもの課題であったシステム稼働時間外の作業やテスト用の設定が依然として行われることになり、テスト工数削減の効果がそれほど発揮されないことになる。
【０００８】
本発明は、このような事情に鑑みてなされたものであり、現行システムから新システムに移行する際に行うテストの事前準備に要する工数を削減、およびテスト工数を削減できるテスト支援方法、これを実施するテスト支援装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の代表的な一例は、次の通りである。すなわち、本発明は、第１の情報システムを第２の情報システムに移行する際に行うテストを支援する電子計算機におけるテスト支援方法である。そして、前記電子計算機により、第１の情報システムに対する入力情報を取得し、これを記憶部に保持し、前記記憶部に保持されている前記入力情報を、前記第２の情報システムに送信し、前記第２の情報システムから前記入力情報に対する出力結果を受信し、前記出力結果と、前記記憶部に予め保持されている前記出力結果検証用の情報に基づいて、前記出力結果の正当性を確認することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、現行システムから新システムに移行する際に行うテストの事前準備に要する工数、およびテスト工数を削減できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態における現行システムＢ２２０、現行システムＡ２３０、電文取得装置２４０、新システムＡ’４２０、テスト支援装置４３０のハードウェア構成を示す図である。
【図２】本発明の一実施形態における電文取得時の情報処理システムの構成を示す図である。
【図３】本発明の一実施形態における電文保存機能２４２、電文保存機能４３５に保存される情報の例である。
【図４】本発明の一実施形態における新システムへの電文送信と新システムからの出力を用いた結果確認との実施時のシステム構成を示す図である。
【図５】本発明の一実施形態における電文仕様書保存機能４３６に保存される電文仕様書の例である。
【図６】本発明の一実施形態における仕様書用設定保存機能４３７に保存される仕様書用設定の例である。
【図７】本発明の一実施形態における検証用設定保存機能４３８に保存される検証用設定の例である。
【図８】本発明の一実施形態における検証結果保存機能４３９に保存される検証結果の例である。
【図９】本発明の一実施形態における現行システムＢ２２０と現行システムＡ２３０の間の電文をキャプチャする際のフローチャートである。
【図１０】本発明の一実施形態における新システムＡ’への電文送受信と、その後の電文検証を行う際のフローチャートである。
【図１１】本発明の一実施形態における検証用設定作成のフローチャートである。
【図１２】本発明の一実施形態における検証用設定評価のフローチャートである。
【図１３】本発明の一実施形態における電文検証のフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態について図面を参照して説明する。なお、以下に説明する実施形態によって本発明が限定されるものではない。本実施形態では、現行システムから新システムへの移行におけるテストを一例として説明する。
【００１３】
図１は図２と図３の実施形態のシステム構成で登場する、現行システムＢ２２０、現行システムＡ２３０、電文取得装置２４０、新システムＡ’３２０、テスト支援装置３３０に共通するコンピュータ（電子計算機）のハードウェアブロックを示す図である。
【００１４】
本実施形態のコンピュータのハードウェアブロックは、演算装置１１０、メモリ１２０、ハードディスクドライブ等の外部記憶装置１３０、ネットワーク１７０を介して他装置と通信を行うための通信装置１４０、キーボードやマウス等の入力装置１５０、モニタ等の出力装置１６０からなる。
【００１５】
演算装置１１０はメモリ１２０にロードされた所定のプログラムを実行することにより、現行システムＢ２２０、現行システムＡ２３０、電文取得装置２４０、新システムＡ’３２０、テスト支援装置３３０として処理を実現する。
【００１６】
本実施形態のテスト支援方法およびテスト支援装置は、図２に示す電文取得装置を用いて現行システムの電文取得を行い、また、図３に示すテスト支援装置を用いて新システムへの電文送信と新システムからの出力を用いた結果確認とを行うことで実現される。
【００１７】
図２は実施形態の現行システムの電文取得を行う場合におけるシステム構成を示す図である。
【００１８】
本実施形態で現行システムの電文取得を行う場合のシステム構成は、ネットワーク２１０に相互に接続された現行システムＢ２２０、現行システムＡ２３０、電文取得装置２４０からなる。
【００１９】
ネットワーク２１０は、情報を相互に伝達する伝送媒体であれば良く、例えばＬＡＮ等で実現しても良い。
【００２０】
現行システムＢ２２０は、現行システムＡ２３０と電文を介して情報のやり取りを行う対象であり、移行の対象ではない。現行システムＢ２２０は、図１に示した構成を持つ計算機１台、もしくは複数台で構成されており、現行システムＡ２３０に対して要求電文を送信する機能と、現行システムＡ２３０からの応答電文を受信する機能とを備えている。これらの機能は、プログラムにより実現される。
【００２１】
現行システムＡ２３０は、現行システムＢ２２０と電文を介して情報のやり取りを行う対象であり、移行の対象である。現行システムＡ２３０は、図１に示した構成を持つ計算機１台、もしくは複数台で構成されており、現行システムＢ２２０からの要求電文を受信する機能と、現行システムＢ２２０へ応答電文を送信する機能とを備えている。これらの機能は、プログラムにより実現される。
【００２２】
電文取得装置２４０は、図１に示した構成を持つ計算機であり、電文取得機能２４１と、電文保存機能２４２からなる。電文取得機能２４１は、プログラムにより実現され、電文保存機能２４２は、メモリ１２０や外部記憶装置１３０により実現される。
【００２３】
電文取得機能２４１は、現行システムＢ２２０と現行システムＡ２３０の間の要求電文と応答電文をパケットキャプチャ等により取得し、電文保存機能２４２に保存する。
【００２４】
電文保存機能２４２は、電文取得機能２４１から受け取った電文を保存する。図３に電文保存機能２４２に保存される情報の例を示す。３０１は電文ＩＤの列であり、電文ごとに一意に識別できるＩＤが保存される。また、このＩＤによって、現行システムＢ２２０からの要求電文と、それに対応する現行システムＡ２２０からの応答電文とのペアを割り出すことができ、また、このペアに対応する、テスト支援装置４３０からの要求電文と、それに対応する新システムＡ’４２０からの応答電文とのペアを割り出すことができる。３０２は送信元ＩＤの列であり、現行システムＢ２２０のＩＰアドレスなど端末固有の情報が保存される。３０３は送信先ＩＤの列であり、現行システムＡ２３０のＩＰアドレスなど端末固有の情報が保存される。３０４は電文タイプの列であり、要求と応答のいずれの電文かの情報が保存される。３０５は電文本体であり、電文の本体がそのままテキストとして保存される。３０６は電文種類の列であり、電文のフォーマットごとに定められる電文種類の情報が保存される。
【００２５】
図４は実施形態の新システムへの電文送信と新システムからの出力を用いた結果確認とを行う場合におけるシステム構成を示す図である。
【００２６】
本実施形態で新システムへの電文送信と新システムからの出力を用いた結果確認とを行う場合のシステム構成は、図２に示された電文取得装置２４０と相互に接続されたテスト支援装置４３０と、ネットワーク４１０に相互に接続された新システムＡ’４２０、テスト支援装置４３０からなる。なお、電文取得装置２４０はネットワーク４１０を介してテスト支援装置４３０に接続されていても良いし、電文取得装置２４０を構成する各要素とテスト支援装置４３０を構成する各要素は同一計算機内に備えられていても良い。
【００２７】
ネットワーク４１０は、情報を相互に伝達する伝送媒体であれば良く、例えばＬＡＮ等で実現しても良い。
【００２８】
新システムＡ’４２０は、現行システムＡ２３０の移行後のシステムである。新システムＡ’４２０は、図１に示した構成を持つ計算機１台、もしくは複数台で構成されており、テスト支援装置４３０からの要求電文を受信する機能と、テスト支援装置４３０へ応答電文を送信する機能とを備えている。これらの機能は、ぷりグラムにより実現される。
【００２９】
テスト支援装置４３０は、図１に示した構成を持つ計算機であり、電文送受信機能４３１、検証用設定作成機能４３２、検証用設定評価機能４３３、電文検証機能４３４、電文保存機能４３５、電文仕様書保存機能４３６、仕様書用設定保存機能４３７、検証用設定保存機能４３８、検証結果保存機能４３９からなる。電文送受信機能４３１、検証用設定作成機能４３２、検証用設定評価機能４３３および電文検証機能４３４は、プログラムにより実現され、電文保存機能４３５、電文仕様書保存機能４３６、仕様書用設定保存機能４３７、検証用設定保存機能４３８および検証結果保存機能４３９は、メモリ１２０や外部記憶装置１３０により実現される。
【００３０】
電文送受信機能４３１は、電文保存機能４３５から現行システムＢ２２０の要求電文を読み込み、新システムＡ’４２０に送信し、電文保存機能４３５に新システムＡ’への要求電文として保存する。また、新システムＡ’４２０からの応答電文を受信し、電文保存機能４３５に保存する。
【００３１】
検証用設定作成機能４３２は、仕様書用設定保存機能４３７に保存されている電文仕様書の書式を記述した設定に基づいて、電文仕様書保存機能４３６に保存されている電文仕様書を読み込んで検証用設定（テンプレート）を作成し、検証用設定保存機能４３８に保存する。またこの際に、それぞれの電文について電文種類を特定し、図３に示されている３０６に追記する。
【００３２】
検証用設定評価機能４３３は、電文保存機能４３５に保存されている現行システムＢ２２０が現行システムＡ２３０から受信した電文を用いて、検証用設定保存機能４３８に保存されている検証用設定の評価を行い、検証用設定に評価結果を追記する。
【００３３】
電文検証機能４３４は、検証用設定保存機能４３８に保存されている検証用設定を用いて、電文保存機能４３５に保存されている、新システムＡ’４２０から受信した応答電文を検証することでテスト結果の評価を行い、評価結果を検証結果保存機能４３９に保存する。
【００３４】
電文保存機能４３５は、現行システムＢ２２０が現行システムＡ２３０に送信した電文と、現行システムＢ２２０が現行システムＡ２３０から受信した電文と、電文送受信機能４３１が新システムＡ’４２０に送信した電文と、電文送受信機能４３１が新システムＡ’４２０から受信した電文とを保存する。電文保存機能４３５に保存される情報は電文保存機能２４２と同じ形式で保存されており、例えば図３のようになる。
【００３５】
電文仕様書保存機能４３６は、検証用設定作成機能４３２が使用する、電文仕様書を保存する。図５に電文仕様書の例を示す。５０１は通し番号１の列であり、電文名ごとに付与される通し番号が保存される。５０２は電文名の列であり、電文の種類ごとに付与される電文名が保存される。５０３は電文内容の列であり、電文の種類ごとにその内容を記述した結果が保存される。５０４は通し番号２の列であり、データ名ごとに付与される通し番号が保存される。５０５は桁数の列であり、データ名ごとの長さが保存される。５０６はデータ名の列であり、電文に記述されるデータごとに付与されるデータ名が保存される。５０７はデータ内容の列であり、電文に記述されるデータごとにその内容を記述した結果が保存される。
【００３６】
仕様書用設定保存機能４３７は、検証用設定作成機能４３２が使用する、仕様書用設定を保存する。図６に仕様書用設定の例を示す。６０１は仕様書中の電文種類の位置を示す項目であり、電文仕様書中から電文種類を取得する位置を示す情報が保存されている。６０２は電文の構成の位置を示す項目であり、６０１に従って取得した電文種類それぞれについて、電文仕様書中から構成を取得する位置を示す情報が保存されている。６０３は電文仕様書中のデータ内容の位置を示す項目であり、電文仕様書中からデータ項目を取得する位置を示す情報が保存されている。６０４は電文種類を示す項目であり、仕様書に記述されている各電文種類がここに記述されることになる。６０５は電文種類を判定するために使用されるデータ内容の位置と、データ内容の位置に記述されている情報であり、電文種類それぞれについて、個別の電文について電文種類を判定するために使用される情報が記述されている。ここで、電文種類の列には同じ電文種類が複数回登場しても良い。複数回登場した場合は、どちらかの条件に合致した場合にその電文種類と判定することになる。また、６０４に記述されている電文種類の１行に対して、６０５の電文種類を判定するために使用されるデータ内容の位置と、データ内容の位置に記述されている情報は複数設定しても良い。複数設定されている場合は、両者の条件を満たした場合に６０４に記述されている電文種類と判定されることになる。また、６０５のデータ内容の位置に記述されている情報については、正規表現で記述を行っても良い。この場合、個別の電文に記述されている内容が正規表現にマッチした場合に該当する電文種類と判定されることになる。また、６０５のデータ内容の位置に記述されている情報については、先頭に特定のマークを付けても良い。この場合、個別の電文に記述されている内容が特定のマークを付けた６０５の記述にマッチしなかった場合に、該当する電文種類と判定されることになる。
【００３７】
検証用設定保存機能４３８は、検証用設定作成機能４３２が作成する、検証用設定を保存する。検証用設定は、電文の構造（バイト数、タグ等）と電文に含まれる望ましい情報（特定の数字、文字列等）を有する。図７に検証用設定の例を示す。７０１は電文種類の列であり、検証する電文の種類が保存される。７０２は分割長の列であり、電文を検証する際に電文を分割する長さが保存される。７０３は検証方法の列であり、電文を分割したそれぞれの部分について検証する方法が保存される。７０４は検証方法評価結果の列であり、電文を分割したそれぞれの部分の検証方法について検証用設定評価機能４３３が評価を行った結果が保存される。
【００３８】
検証結果保存機能４３９は、電文検証機能が作成する検証結果を保存する。図８に検証結果の例を示す。８０１は対象電文の列であり、それぞれの電文を識別するための情報が保存される。８０２は電文種類の列であり、対象の電文の種類を示す情報が保存される。８０３は検証結果の列であり、対象の電文を検証した結果が保存される。
【００３９】
次に、上述した構成によるシステムの処理内容を説明する。
【００４０】
図９は、現行システムＢ２２０と現行システムＡ２３０間でやり取りされている要求電文と応答電文を電文取得装置２４０が取得し、保存する際のフローチャートである。
【００４１】
現行システムＢ２２０は、現行システムＡ２３０に要求電文を送信する（ステップ９０１）。ここで、要求電文はテスターがテスト用に作成したものでも良いし、通常の利用者が送信する電文を使用しても良い。
【００４２】
現行システムＡ２３０は、現行システムＢ２２０からの要求電文を受信し、要求電文の内容に応じた処理を行う（ステップ９０２）。
【００４３】
ここで、電文取得装置２４０の電文取得機能２４１が現行システムＢ２２０から現行システムＡ２３０に送信された要求電文を取得する（ステップ９０３）。現行システムＢ２２０や現行システムＡ２３０に改造を加えなくとも良いパケットキャプチャ等の技術により取得することが望ましいが、現行システムＢ２２０や現行システムＡ２３０に改造を加えて取得する方法を採用しても良い。前者のパケットキャプチャ等の技術による取得を行った場合は、稼働中である現行システムに影響を与えることなく電文の取得が行える点で好ましい。後者の現行システムに改造を加えて取得を行った場合は、電文取得装置を用意することなく電文の取得が行える点で好ましい。
【００４４】
電文取得装置２４０の電文取得機能２４１は、取得した電文を図３に示すような形式に加工し、電文保存機能２４２に保存する（ステップ９０４）。ここで、電文ごとに一意に定まる電文ＩＤを付与し、３０１に記述する。また、パケット中の送信元ＩＰアドレスや、送信元ＩＰアドレスなどから割り出した送信元ごとに一意に定まるＩＤを送信元ＩＤとして３０２に記述する。また、送信先ＩＰアドレスなどから割り出した送信先ごとに一意に定まるＩＤを送信先ＩＤとして３０３に記述する。また、現行システムＢ２２０から現行システムＡ２３０への要求電文のため、電文タイプ３０４にその情報を記述する。電文本体は３０５に記述する。
【００４５】
ステップ９０２で要求電文受信後の処理を終えた現行システムＡ２３０は、現行システムＢ２２０へ応答電文を送信する（ステップ９０５）。
【００４６】
現行システムＢ２２０は現行システムＡ２３０からの要求電文を受信する（ステップ９０６）。
【００４７】
ここで、電文取得装置２４０の電文取得機能２０１が現行システムＡ２３０から現行システムＢ２２０に送信された応答電文を取得する（ステップ９０７）。現行システム２２０や現行システムＡ２３０に改造を加えなくとも良いパケットキャプチャ等の技術により取得することが望ましいが、現行システムＢ２２０や現行システムＡ２３０に改造を加えて取得する方法を採用しても良い。
【００４８】
電文取得装置２４０の電文取得機能２４１は取得した電文を図３に示すような形式に加工し、電文保存機能２４２に保存する（ステップ９０８）。ここで、電文ごとに一意に定まる電文ＩＤを付与し、３０１に記述する。この際には、ステップ９０４で現行システムＢ２２０からの要求電文に付与した電文ＩＤと対応づくように電文ＩＤを付与する。また、パケット中の送信元ＩＰアドレスや、送信元ＩＰアドレスなどから割り出した送信元ごとに一意に定まるＩＤを送信元ＩＤとして３０２に記述する。また、送信先ＩＰアドレスなどから割り出した送信先ごとに一意に定まるＩＤを送信先ＩＤとして３０３に記述する。また、現行システムＡ２３０から現行システムＢ２２０への応答電文のため、電文タイプ３０４にその情報を記述する。電文本体は３０５に記述する。
【００４９】
図１０は、電文取得装置２４０が取得した現行システムＢ２２０と現行システムＡ２３０間でやり取りされている要求電文と応答電文を用いて、テスト支援装置４３０が検証用設定の作成と、検証用設定の評価と、新システムＡ’４２０への要求電文の送信と、応答電文の受信と、電文比較を行う際のフローチャートである。
【００５０】
テスト支援装置４３０の電文送受信機能４３１は、電文取得装置２４０の電文保存機能２４２に保存されている現行システムＢ２２０と現行システムＡ２３０の間でやり取りされた要求電文と応答電文を取得し、電文保存機能４３５にコピーする（ステップ１００１）。なお、電文取得装置２４０を構成する各要素とテスト支援装置４３０を構成する各要素を同一計算機内に備えている場合には、電文保存機能２４２と電文保存機能４３５は同じ機能として実現しても良く、その場合にはこのステップは省略されることになる。
【００５１】
テスト支援装置４３０の検証用設定作成機能４３２は、電文保存機能４３５に保存されている現行システムＢ２２０と現行システムＡ２３０の間の要求電文と応答電文と、仕様書用設定保存機能４３７に保存されている仕様書用設定と、外部からの入力である仕様書を用いて検証用設定の作成を行う（ステップ１００２）。
【００５２】
テスト支援装置４３０の検証用設定評価機能４３３は、検証用設定保存機能４３８に保存されている検証用設定について、電文保存機能４３５に保存されている現行システムＢ２２０と現行システムＡ２３０の間の要求電文と応答電文とを用いて検証を行う（ステップ１００３）。
【００５３】
テスト支援装置４３０の電文送受信機能４３１が電文保存機能４３５から要求電文を取得し、送信時刻の補正などの加工を施した上で新システムＡ’４２０へ送信する。ここで、送信する電文本体に送信元ＩＰアドレスのような現行システムＢ２２０特有の情報や、送信先ＩＰアドレスのような現行システムＡ２３０に特有の情報が記載されている場合は、電文の情報が不整合を引き起こさないように、情報を書き換えて送信を行う。例えば電文本体に送信先ＩＰアドレスとして現行システムＡ２３０のＩＰアドレスが記述されている場合は、該当箇所を新システムＡ’４２０のＩＰアドレスに書き換えて送信する。また、要求電文の情報を書き換えることにより、新システムＡ’４２０に電文送受信機能４３１からではなく、現行システムＢ２２０、もしくは、仮想の新システムから要求電文が送信されたと解釈させることができ、より実運用時に近い状況でテストを行うことができる。ここで送信した電文について、図３に示すような形式に加工し、電文保存機能４３５に保存する（ステップ１００４）。その際には、電文ごとに一意に定まる電文ＩＤを付与し、３０１に記述する。このとき、電文保存機能４３５に保存されている情報書き換え前の現行システムＢ２２０からの電文に付与した電文ＩＤと対応づくように電文ＩＤを付与する。また、パケット中の送信元ＩＰアドレスや、送信元ＩＰアドレスなどから割り出した送信元ごとに一意に定まるＩＤを送信元ＩＤとして３０２に記述する。また、送信先ＩＰアドレスなどから割り出した送信先ごとに一意に定まるＩＤを送信先ＩＤとして３０３に記述する。また、テスト支援装置４３０から新システムＡ’４２０への要求電文のため、電文タイプ３０４にその情報を記述する。また、電文本体は３０５に記述する。
【００５４】
なお、図１０では検証用設定の作成（ステップ１００２）と、検証用設定の評価（ステップ１００３）の後に新システムＡ’４２０への要求電文の送信を行っているが（ステップ１００４）、検証用設定保存機能４３８に検証用設定が保存されているのであれば、検証用設定の作成（ステップ１００２）と、検証用設定の評価（ステップ１００３）は省略しても良い。また、図１０では電文取得装置２４０が要求電文と応答電文を取得した後で、テスト支援装置４３０が新システムＡ’４２０への要求電文の送信を行っているが、電文取得装置２４０が現行システムＢ２２０からの要求電文を取得した時点で要求電文のコピー、及びそれに引き続く処理であるステップ１００１からステップ１００７までを行っても良い。その場合、電文取得装置２４０が現行システムＡ２３０からの応答電文を取得し次第、電文のコピー（ステップ１００１）を行い、電文検証及び検証結果の保存（ステップ１００８）を行うことになる。
【００５５】
新システムＡ’４２０は、テスト支援装置４３０の電文送受信機能４３１からの要求電文を受信し、要求電文の内容に応じた処理を行う（ステップ１００５）。
【００５６】
ステップ１００５で要求電文受信後の処理を終えた新システムＡ’４２０は、テスト支援装置４３０へ応答電文を送信する（ステップ１００６）。なお、ＩＰアドレスの設定等により、新システムＡ’４２０からはテスト支援装置４３０が現行システムＢ２２０、もしくは仮想の新システムに見えることになる。
【００５７】
テスト支援装置４３０の電文送受信機能４３１は、新システムＡ’４２０からの応答電文を受信し、図３に示すような形式に加工し、電文保存機能４３５に保存する（ステップ１００７）。その際には、電文ごとに一意に定まる電文ＩＤを付与し、３０１に記述する。このとき、ステップ１００４でテスト支援装置４３０からの要求電文に付与した電文ＩＤと対応づくように電文ＩＤを付与する。また、パケット中の送信元ＩＰアドレスや、送信元ＩＰアドレスなどから割り出した送信元ごとに一意に定まるＩＤを送信元ＩＤとして３０２に記述する。また、送信先ＩＰアドレスなどから割り出した送信元ごとに一意に定まるＩＤを送信先ＩＤとして３０３に記述する。また、新システムＡ’４２０からテスト支援装置４３０への応答電文のため、電文タイプ３０４にその情報を記述する。また、電文本体は３０５に記述する。
【００５８】
電文検証機能４３４が電文保存機能４３５に保存されている新システムＡ’４２０からの応答電文について、検証用設定保存機能４３８に保存されている検証用設定に合致するか否かで検証を行い、図８に示すような形式で検証結果保存機能４３９に保存する（ステップ１００８）。
【００５９】
図１１は、ステップ１００２で行われている新システムＡ’４２０の応答電文を検証するための検証用設定の作成についての、詳細なフローチャートである。
【００６０】
検証用設定作成機能４３２は、図５のような形式である電文仕様書と、図６のような形式である仕様書用設定を読み込む（ステップ１１０１）。電文仕様書は、システム構築時などに用いられる。このとき、電文仕様書は、電文仕様書保存機能４３６に保存されているものを読み込んでも良いし、直接ユーザからの入力として受け付けても良い。また、仕様書用設定についても同様に、仕様書用設定保存機能４３７に保存されているものを読み込んでも良いし、直接ユーザからの入力として受け付けても良い。ここで、検証用設定作成機能４３２は、仕様書用設定から仕様書用設定を参照し、６０１に記述されている情報に従って電文仕様書中の電文種類の位置と、６０２に記述されている情報に従って電文仕様書中の電文の構成の位置と、６０３に記述されている情報に従って電文仕様書中のデータ内容の位置とを取得する。例えば今回の例では、電文種類は電文仕様書の２列目に存在することより、“ＭＯ０００１”の値が取得され、次に各種類の構成の位置として電文仕様書の５列目を参照することで“ＭＯ０００１”の電文はそれぞれ８バイト・１６バイト・８バイトといった長さで分割できるという情報が取得され、次に７列目に電文名と記述されている行を参照することで、先頭から順に電文名・年月日・送信元アドレスという内容が記述されているという情報が取得されることになる。以降同様にして、電文仕様書に記述されているすべての電文種類を取得し、それぞれの電文種類について構成の情報と、電文中に含まれるデータ内容の位置の情報を取得する。このように、電文仕様書の情報から、電文の種類と、それぞれの種類の電文がどのような要素からなっているかを示す情報を取得できる。
【００６１】
次に検証用設定作成機能４３２は、電文保存機能４３５に保存されているすべての電文を読み込む（ステップ１１０２）。
【００６２】
次に検証用設定作成機能４３２は、ステップ１１０１で取得した情報に従って、ステップ１１０２で取得した電文について電文種類を特定し、図３に示すような電文保存機能４３５に保存されている電文情報の電文種類３０６の列に電文種類について追記する（ステップ１１０３）。例えば今回の例では、電文名が記述されている位置に“ＭＯ０００１”という内容が記述されていれば、電文種類が“ＭＯ０００１”であると特定されることになる。その後、該当電文の電文種類３０６の列に電文種類として“ＭＯ０００１”を追記する。
【００６３】
次に検証用設定作成機能４３２は、ステップ１１０１で取得した電文種類のうち１つを選び、電文保存機能に保存されている情報の電文種類３０６の列を参照しながら、その電文種類である電文を再度電文保存機能４３５から読み込む（ステップ１１０４）。
【００６４】
次に検証用設定作成機能４３２は、ステップ１１０４で読み込んだある電文種類の電文について、ステップ１１０１で取得した電文の構成の情報に従って、電文を分割する（ステップ１１０５）。例えば今回の例では、“ＭＯ０００１”の電文は８バイト・１６バイト・８バイトといった長さに分割される。
【００６５】
次に検証用設定作成機能４３２は、ステップ１１０５で分割した電文のそれぞれの部分について、どのような値がはいっているかについて分析を行う（ステップ１１０６）。ここでは、分割したそれぞれの部分について、分析対象の各電文に入っている値を正規表現化した結果を分析結果とする。またそれに加えて、応答電文の検証用設定を作成しようとしている場合は、対応する要求電文に同じ値が入っている個所があるか否かを探し、分析対象である電文全てにおいて対応する要求電文の同じ位置に同じ値が入っている場合は、正規表現化した内容ではなく要求電文の該当位置を分析結果としても良い。なお今回の例に限らず、その他の電文を使用した分析を行っても良い。
【００６６】
次に検証用設定作成機能４３２は、ステップ１１０６で分析した結果を、検証用設定として検証用設定保存機能４３８に図７のような形式で保存する（ステップ１１０７）。７０１の列には分析した電文種類を、７０２の列には電文を分割したそれぞれの単位について、７０３の列にはステップ１１０６で分析した電文に入っている値について記述する。このとき、分析結果の値だけでなく、正規表現であることや、対応する要求電文の特定箇所を参照していることなど、どのような分析結果が記述されているかについても記述する。
このように、電文保存機能４３５から電文を取得し、どのようになっていればテストが成功したとみなせるかについて、分析して記述する。なお、検証用設定作成機能４３２によって記述できなかった部分については、テスト担当者が手動で記述する。
【００６７】
ここで、検証用設定作成機能４３２は、終了条件を満たしているか否かを判定し（ステップ１１０８）、終了条件を満たしている場合は検証用設定の作成を終了し、満たしていない場合はステップ１１０４に戻って処理を続行する。終了条件は、すべての電文種類について検証用設定を作成したことであるが、その他の条件を加えても良い。
【００６８】
ステップ１１０８の終了条件を満たした場合、検証用設定作成機能４３２はユーザからの検証用設定の修正を受け付ける状態になる。本ステップの含まれる図１１に示したフローは、図１０のステップ１００２で行われている検証用設定作成の詳細なフローであり、したがって、ここで分析に使用できる電文は、現行システムＢ２２０と、現行システムＡ２３０の間の電文である。一方で、ここで作成した検証用設定を用いて検証したい電文は、新システムＡ’４２０に関する電文である。そのため、ここで分析した結果がそのまま新システムＡ’４２０には当てはまらないことも想定されるため、ここでユーザからの修正を受け付け、その結果を検証用設定保存機能４３８に保存されている図７のような情報に反映する（ステップ１１０９）。
【００６９】
図１２は、ステップ１００３で行われている検証用設定の評価についての、詳細なフローチャートである。
【００７０】
検証用設定評価機能４３３は、検証用設定保存機能４３８に保存されている検証用設定を読み込む（ステップ１２０１）。
【００７１】
次に検証用設定評価機能４３３は、電文種類を１つ選び、その電文種類の電文を電文保存機能４３５から読み込む（ステップ１２０２）。
【００７２】
次に検証用設定評価機能４３３は、図７に示したような検証用設定に従って、読み込んだ電文を分割し、評価する（ステップ１２０３）。例えば今回の例では、電文種類“ＭＯ０００１”の電文は、分割長７０２の列に記述された情報に従って８バイト・１６バイト・８バイトの長さに分割され、先頭の部分に“ＭＯ０００１”という値が入っているという条件に合致するか否かで評価を行う。図７に示したような検証用設定の検証方法７０３の列に記述されている情報にその種類のすべての電文が合致した場合は問題ないという評価結果になり、合致しない電文が存在した場合は問題があったという評価結果になる。
【００７３】
次に検証用設定評価機能４３３は、ステップ１２０３で検証用設定の評価を行った結果を、図７に示したような検証用設定の検証方法評価結果７０４の列に追記する（ステップ１２０４）。
【００７４】
ここで、検証用設定評価機能４３３は、終了条件を満たしているか否かを判定し（ステップ１２０５）、終了条件を満たしている場合は検証用設定の評価を終了し、満たしていない場合はステップ１２０２に戻って処理を続行する。終了条件は、すべての電文種類について評価を行ったことであるが、その他の条件を加えても良い。
【００７５】
図１３は、ステップ１００８で行われている電文の検証についての、詳細なフローチャートである。
【００７６】
電文検証機能４３４は、電文保存機能４３５から検証対象となる電文を読み込む（ステップ１３０１）。ここで、送信元ＩＤ３０２の列に新システムＡ’のＩＤが記述されており、かつ、送信先ＩＤ３０３の列にテスト支援装置４３０のＩＤが記述されている電文を検証対象の電文と見なす。
【００７７】
次に電文検証機能４３４は、検証用設定保存機能４３８から図７に示したような検証用設定を読み込む（ステップ１３０２）。
【００７８】
次に電文検証機能４３４は、ある電文を選び、ステップ１３０２で読み込んだ図７に示したような検証用設定の電文種類７０１の列と、図３に示したような電文の電文種類３０６の列を比較し、電文の種類を特定する。そして、図７に示したような検証用設定の、分割長７０２の列の情報のうち、対象の電文の電文種類の行の情報に従って、電文を分割する（ステップ１３０３）。
【００７９】
次に電文検証機能４３４は、ステップ１３０３で分割した部分のうち、ある１つについて、図７に示したような検証用設定の検証方法７０３の列に記述されている情報のうち対象としている部分に対応する行に記述されている情報を使って、検証を行う（ステップ１３０４）。ここで、検証方法７０３の列に記述されている情報のうち対象としている部分に対応する行に記述されている情報に合致した場合は問題ないという検証結果になり、合致しない場合は問題があったという検証結果になる。
【００８０】
ここで、電文検証機能４３４は、終了条件を満たしているか否かを判定し（ステップ１３０５）、終了条件を満たしている場合は対象電文の検証を終了し、満たしていない場合はステップ１３０４に戻って処理を続行する。終了条件は、対象電文のすべての部分について検証を行ったことであるが、その他の条件を加えても良い。
【００８１】
次に電文検証機能４３４は、ステップ１３０４で検証を行った結果を、検証結果保存機能４３９に、図８に示すような形式で保存する（ステップ１３０６）。対象電文８０１の列には対象の電文の識別子として、例えば図３に示した電文保存機能４３５の情報のうち、電文ＩＤ３０１の列の情報を記述する。電文種類８０２の列には対象電文の種類を保存する。検証結果８０３の列には、ステップ１３０４で検証を行った結果を保存する。
【００８２】
ここで、電文検証機能４３４は、終了条件を満たしているか否かを判定し（ステップ１３０７）、終了条件を満たしている場合は検証を終了し、満たしていない場合はステップ１３０１に戻って処理を続行する。終了条件は、すべての検証対象である電文について検証を行ったことであるが、その他の条件を加えても良い。
【００８３】
以上の本実施形態によれば、新システムＡ’４２０の応答のみでテスト結果を判断することが可能となり、従って、現行システムＡ２３０と新システムＡ’４２０について、テスト開始時点でのデータベース等の内部状態を揃えなくとも良くなるため、夜間作業の軽減、並行稼働テストの適用可能なケースの増大が実現される。また、検証時に利用する検証用設定についてシステム側で作成することにより、テストの事前準備に要する工数を削減する。また、検証用設定をテスト以前に評価することにより、テスト開始後に検証用設定の不具合が発覚し、手戻りが発生する事態を回避することが可能となる。
【符号の説明】
【００８４】
１１０・・・演算装置、１２０・・・メモリ、１３０・・・外部記憶装置、１４０・・・通信装置、１５０・・・入力装置、１６０・・・出力装置、１７０、２１０・・・ネットワーク、２２０・・・現行システムＢ、２３０・・・現行システムＡ、２４０・・・電文取得装置。
【図１】
2015072531.tif 000003
【図２】
2015072531.tif 000004
【図３】
2015072531.tif 000005
【図４】
2015072531.tif 000006
【図５】
2015072531.tif 000007
【図６】
2015072531.tif 000008
【図７】
2015072531.tif 000009
【図８】
2015072531.tif 000010
【図９】
2015072531.tif 000011
【図１０】
2015072531.tif 000012
【図１１】
2015072531.tif 000013
【図１２】
2015072531.tif 000014
【図１３】
2015072531.tif 000015