JP4575811B2 - Test data generation apparatus, method, and program for message processing system - Google Patents
Test data generation apparatus, method, and program for message processing system Download PDFInfo
- Publication number
- JP4575811B2 JP4575811B2 JP2005067442A JP2005067442A JP4575811B2 JP 4575811 B2 JP4575811 B2 JP 4575811B2 JP 2005067442 A JP2005067442 A JP 2005067442A JP 2005067442 A JP2005067442 A JP 2005067442A JP 4575811 B2 JP4575811 B2 JP 4575811B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- test
- message
- request message
- test data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
本発明は、複数の装置が電文を送受信しながら協調して動作する電文処理システムのテストデータの生成及びテストの実施のための技術に関する。 The present invention relates to a technique for generating test data and executing a test of a message processing system in which a plurality of devices operate in cooperation while transmitting and receiving messages.
複数のサーバなどの装置が協調して動作する大規模コンピュータシステムに、新たにサーバを設置して、このサーバにプログラムのインストール、初期設定などを自動的に行うプロビジョニング技術が知られている(例えば特許文献1)。
しかしながら、プロビジョニングによって自動的に追加されたサーバを実際に稼動させる(リリースする)ためには、以下のようなことを確認しなければならない。例えば、追加されたサーバが単独で正常に動作をするか否かや、追加されたサーバを経由したときにシステム全体として正常に動作するか否かなどをテストして確認する必要がある。これらは、従来、テスト実施者が作成したテストデータを流し、その結果をテスト実施者が確認しているため、網羅性に欠けるものであったり、見誤りがあったりして、完璧を期しがたいものであった。 However, in order to actually operate (release) a server automatically added by provisioning, the following must be confirmed. For example, it is necessary to test and confirm whether or not the added server operates normally alone or whether or not the entire system operates normally when the server passes through the added server. Conventionally, the test data created by the tester is flown and the tester confirms the results. Therefore, they are not complete and may be misunderstood. It was something I wanted.
さらには、プロビジョニングによって同時に複数のサーバが追加されると、従来はこれらを一括してリリースしていた。この結果、新たにリリースしたサーバのうちの複数で同時に不具合が発生すると、システム全体に与える影響が大きい。 Furthermore, when a plurality of servers are added at the same time by provisioning, conventionally, these are released collectively. As a result, if a failure occurs simultaneously in a plurality of newly released servers, the effect on the entire system is large.
そこで、本発明の目的は、複数のサーバなどの装置が協調して動作するシステムに新たに追加された装置について、網羅性の高いテストデータを自動的に生成するための技術を提供することである。 Accordingly, an object of the present invention is to provide a technology for automatically generating highly comprehensive test data for a device newly added to a system in which a plurality of devices such as servers operate in cooperation. is there.
本発明のさらなる目的は、自動的に生成されたテストデータを用いたテストの実施、及びその結果の検証を自動的に行うための技術を提供することである。 A further object of the present invention is to provide a technique for automatically performing a test using automatically generated test data and verifying the result.
本発明の一つの実施態様に従うテストデータの生成装置は、複数の装置を有し、前記複数の装置が互いに電文を送受信しながら協調して動作する電文処理システム内のテスト対象装置のテストデータを生成する装置であって、前記電文処理システム内の一つ以上の装置から、各装置に蓄積されているログデータを取得する手段と、パラメータを含む電文テンプレートを登録する手段と、前記パラメータに設定されるパラメータ値の入力を受け付けるパラメータ入力手段と、前記登録手段により登録された電文テンプレートに含まれるパラメータに、前記パラメータ入力手段が入力を受け付けたパラメータ値を設定してテストデータを生成する手段と、を備える。 An apparatus for generating test data according to an embodiment of the present invention includes a plurality of devices, and the plurality of devices receive test data from a test target device in a message processing system operating in cooperation with each other while transmitting and receiving messages. A device for generating, means for acquiring log data stored in each device from one or more devices in the message processing system, means for registering a message template including parameters, and setting the parameters Parameter input means for accepting input of parameter values, means for generating test data by setting the parameter values accepted by the parameter input means to parameters included in the message template registered by the registration means; .
本発明の一つの実施態様に従うテストデータの生成装置は、複数の装置を有し、前記複数の装置が互いに電文を送受信しながら協調して動作する電文処理システム内の、前段の装置からの入力リクエストに基づいて出力リクエストを後段の装置へ出力し、前記後段の装置からの入力リプライに基づいて出力リプライを前記前段の装置へ出力するテスト対象装置のテストデータを生成する装置であって、パラメータを含む入力リクエスト電文テンプレートと、前記入力リクエスト電文テンプレートに対応する出力リプライ電文テンプレートとを含む第1テンプレートの登録を受け付ける第1の登録手段と、パラメータを含む入力リクエスト電文テンプレート、及び前記入力リクエスト電文テンプレートに対応する出力リクエスト電文テンプレートと、パラメータを含む入力リプライ電文テンプレート、及び前記入力リプライ電文テンプレートに対応する出力リプライ電文テンプレートと、を含む第2テンプレートの登録を受け付ける第2の登録手段と、前記パラメータに設定されるパラメータ値の入力を受け付けるパラメータ入力手段と、前記第1登録手段により登録された第1テンプレートに含まれるパラメータに、前記パラメータ入力手段により入力されたパラメータ値を設定して入力リクエストテストデータと出力リプライテストデータとを含む中間テストデータを生成する手段と、前記中間テストデータと前記第2登録手段により登録された第2テンプレートに基づいて、前記入力リクエストテストデータに対応する出力リクエストテストデータと、前記出力リプライテストデータに対応する入力リプライテストデータとを生成し、最終テストデータを生成する手段と、を備える。 An apparatus for generating test data according to one embodiment of the present invention includes a plurality of devices, and the plurality of devices input from a preceding device in a message processing system that operates in cooperation while transmitting and receiving messages to and from each other. A device for generating test data of a test target device that outputs an output request to a subsequent device based on the request, and outputs an output reply to the previous device based on an input reply from the subsequent device, the parameter A first registration unit that accepts registration of a first template that includes an input request message template including a message and an output reply message template corresponding to the input request message template, an input request message template including a parameter, and the input request message Output request message template corresponding to the template A second registration means for accepting registration of a second template including an input reply message template including a parameter and an output reply message template corresponding to the input reply message template; and a parameter value set in the parameter A parameter input means for receiving an input; a parameter value input by the parameter input means for setting a parameter value included in the first template registered by the first registration means; and input request test data and output reply test data; Generating intermediate test data including: output request test data corresponding to the input request test data based on the intermediate test data and the second template registered by the second registration means; and the output reply test Generating an input reply test data corresponding to the over data, and means for generating a final test data.
好適な実施形態では、前記電文処理システム内の一つ以上の装置から、各装置に蓄積されているログデータを取得する手段をさらに備える。そして、前記中間テストデータを生成する手段は、前記パラメータ入力手段により入力されたパラメータ値、または前記取得手段により取得されたログデータから抽出した値を設定して前記中間テストデータを生成するようにしてもよい。 In a preferred embodiment, the information processing system further comprises means for acquiring log data stored in each device from one or more devices in the message processing system. The intermediate test data generation unit sets the parameter value input by the parameter input unit or the value extracted from the log data acquired by the acquisition unit to generate the intermediate test data. May be.
好適な実施形態では、前記中間テストデータ生成手段は、前記パラメータ入力手段により入力されたパラメータ値を、前記ログデータから抽出した値よりも優先させて設定するようにしてもよい。 In a preferred embodiment, the intermediate test data generation unit may set the parameter value input by the parameter input unit with priority over the value extracted from the log data.
好適な実施形態では、前記入力リクエストテストデータを前記テスト対象装置へ入力して、前記電文処理システムを動作させてテストを実行する手段と、前記テスト実行手段が前記電文処理システムを動作させることにより生成された出力リクエスト、入力リプライ及び出力リプライを含む実行結果データを収集する手段と、前記最終テストデータ生成手段により生成されたテストデータと前記収集手段により収集された実行結果データとを比較して、テスト結果を検証する手段と、をさらに備えるようにしてもよい。 In a preferred embodiment, the input request test data is input to the test target device, and the electronic message processing system is operated to execute a test, and the test execution unit operates the electronic message processing system. Means for collecting execution result data including the generated output request, input reply and output reply, comparing the test data generated by the final test data generation means with the execution result data collected by the collection means; And a means for verifying the test result.
好適な実施形態では、前記電文処理システムの環境を変更させ、及び変更後の環境を変更前へ復帰させる変更復帰手段をさらに備えるようにしてもよい。 In a preferred embodiment, it may further comprise a change return means for changing the environment of the message processing system and returning the changed environment to the state before the change.
以下、本発明の一実施形態に係るアプリケーションシステム及びその管理を行う管理装置(管理サーバ)について、図面を参照して説明する。 Hereinafter, an application system according to an embodiment of the present invention and a management apparatus (management server) that manages the application system will be described with reference to the drawings.
図1は、本実施形態に係るシステムの全体構成を示す図である。本システムは、所定の業務処理を実行するアプリケーションシステム1と、顧客が使用するクライアント2とがネットワーク9を介して接続されている。そして、アプリケーションシステム1には、このシステムを管理するための管理サーバ15が接続されている。
FIG. 1 is a diagram illustrating an overall configuration of a system according to the present embodiment. In this system, an
アプリケーションシステム1は、クライアント2からのリクエストを振り分けて負荷分散をするロードバランサ10と、クライアント2に対する入出力インタフェースを提供する複数のPLサーバ11を含むPLサーバ群11Aと、様々な業務処理(ビジネスロジック、BL)を実行する複数のBLサーバ12を含むBLサーバ群12A(第1のグループ)と、データベース14の参照、更新などを行う複数のDBサーバ13を含むDBサーバ群13A(第2のグループ)と、データベース(DB)14とを備える。PLサーバ11が、クライアント2へ表示する画面の制御(プレゼンテーションロジック、PL)などのインタフェースを提供するインタフェース装置である。BLサーバ12(第1の装置)及びDBサーバ13(第2の装置)が、アプリケーションシステム1の内部処理を実行する内部装置である。
The
クライアント2、各PLサーバ11、各BLサーバ12、各DBサーバ13および管理サーバ15は、いずれも例えば汎用的なコンピュータシステムにより構成され、以下に説明する各サーバ等2,11,12,13,15内の個々の構成要素または機能は、例えば、コンピュータプログラムを実行することにより実現される。
Each of the
PLサーバ群11Aの各PLサーバ11,BLサーバ群12Aの各BLサーバ12及びDBサーバ群13Aの各DBサーバ13は、それぞれ共通の構成を備え、同じ処理を実行するようになっている(図2参照)。つまり、サーバ群11A,12A,13Aがそれぞれ複数のサーバにより多重化されている。これは、耐障害性及び処理性能を確保するためである。そして、各サーバ群11A,12A,13Aの中では、それぞれどのサーバに処理を実行させても、同じ処理が行われる。この結果、各PLサーバ11,各BLサーバ12及び各DBサーバ13を、それぞれ比較的安価なパーソナルコンピュータなどを用いて実現するとともに、ロードバランサ10によって負荷分散することにより、本システム1は、高額の高速コンピュータを導入することなく、低コストでハイパフォーマンスを得ることができる。さらには、本システムは、処理するデータ量の増減に伴って、各サーバ11,12,13の台数を容易に増減させることができ、これにより容易に処理能力を調整することができる。本実施形態では、管理サーバ15が、アプリケーションシステム1の動作の正常性を確認し、新たに追加されたサーバ11,12,13をテストするための処理を実行し、そのサーバをリリースするための処理を実行する。
Each
なお、本システムにおけるPLサーバ11の台数、BLサーバ12の台数、及びDBサーバ13の台数は、同じ台数でもよいし、それぞれ異なる台数でもよい。
The number of
アプリケーションシステム1では、クライアント2からのリクエストがPLサーバ群11A、BLサーバ群12A、及びDBサーバ群13Aの順に伝達され、このリクエストに対するリプライがDBサーバ群13AからBLサーバ群12A、PLサーバ群11Aへと伝達されて、クライアント2へ送信される。詳細に説明すれば、リクエスト及びリプライは、例えば以下のように伝達される。
In the
PLサーバ群11Aは、前段であるクライアント2からリクエスト電文21(図2参照)を受け付けると、1台のPLサーバ11が所定の処理を実行後、後段のBLサーバ群12Aに対するサーバ間リクエスト電文A23(図2参照)を生成して、出力する。
When the
BLサーバ群12Aは、前段のPLサーバ群11Aからサーバ間リクエスト電文A23を受け付けると、1台のBLサーバ12が所定の処理を実行後、後段のDBサーバ群13Aに対するサーバ間リクエスト電文B25(図2参照)を生成して、出力する。
When the
DBサーバ群13Aは、前段のBLサーバ群12Aからサーバ間リクエスト電文B25を受け付けると、1台のDBサーバ13がDB14に対する所定の処理を実行する。そして、前段のBLサーバ群12Aに対するサーバ間リプライ電文B35(図2参照)を生成して、出力する。
When the
BLサーバ群12Aでは、1台のBLサーバ12が後段のDBサーバ群13Aからのサーバ間リプライ電文B35に基づいて、前段のPLサーバ群11Aに対するサーバ間リプライ電文A33(図2参照)を生成して、出力する。
In the
PLサーバ群11Aでは、1台のPLサーバ11が後段のBLサーバ群12Aからのサーバ間リプライ電文A33に基づいて、前段のクライアント2に対するクライアントリプライ電文31(図2参照)を生成して、出力する。
In the
図2には、PLサーバ11,BLサーバ12及びDBサーバ13の詳細な構成図を示す。
FIG. 2 shows a detailed configuration diagram of the
PLサーバ11は、ロードバランサ10を介してクライアント2から送られてくるクライアントリクエスト電文21を受信し、これをサーバ間リクエスト電文A23に変換していずれかのBLサーバ12へ出力する。また、いずれかのBLサーバ12からサーバ間リプライ電文A33を受信すると、これをクライアントリプライ電文31に変換して、ロードバランサ10を介してクライアント2へ送信する。
The
PLサーバ11は、同図(a)に示すように、電文識別子付与部111と、PL処理部113と、ステータス記憶部114と、電文記録部115と、PLログ117とを備える。
The
電文識別子付与部111は、クライアントリクエスト電文21を受信すると、これに電文識別子を付与する。電文識別子は、それぞれのPLサーバ11が生成するユニークな数字または文字列等である。例えば、PLサーバ11に割り当てられているIPアドレスと、そのサーバ11内でのカウンタ値(シリアル番号)とを組み合わせて、電文識別子を生成してもよい。
When receiving the
PL処理部113は、クライアントリクエスト電文21及びサーバ間リプライ電文A33に従って、所定の処理を実行する。例えば、クライアントリクエスト電文21に対しては、その電文に含まれるデータの整合性チェックなどを行い、サーバ間リクエスト電文A23を生成する。ここで、サーバ間リクエスト電文A23に、電文識別子付与部111によってクライアントリクエスト電文21に付与された電文識別子が付与され、クライアントリクエスト電文21とサーバ間リクエスト電文A23とが関連づけられる。また、サーバ間リプライ電文A33に対しては、クライアント2に表示される画面(Webページ)の合成を行い、それを含むクライアントリプライ電文31を生成する。ここで、サーバ間リプライ電文A33に付与されている電文識別子が、クライアントリプライ電文31には含まれない。しかし、電文記録部115がPLログ117に格納するクライアントリプライ電文31のログデータには付与される。
The
ステータス記憶部114については後述する。
The
電文記録部115は、クライアントリクエスト電文21を受信したとき、及びクライアントリプライ電文31を出力するときに、それぞれの電文21,31の電文識別子を含む、各電文に関連する情報をPLログ117に格納する。
When receiving the
図3に、PLログ17のデータ構造の一例を示す。PLログ117には、PLサーバ11がクライアント2に対して送受信した電文の送受信履歴が記憶されている。例えば、PLログ117は、データ項目として、電文識別子51と、送信サーバ名52と、受信サーバ名53と、電文内容54とを有する。
FIG. 3 shows an example of the data structure of the PL log 17. The PL log 117 stores a transmission / reception history of messages transmitted / received by the
図2(b)には、BLサーバ12の構成を示す。BLサーバ12は、PLサーバ11から送られてくるサーバ間リクエスト電文A23を受信し、これをサーバ間リクエスト電文Bに変換して、いずれかのDBサーバ13へ出力する。また、いずれかのDBサーバ13からサーバ間リプライ電文B35を受信すると、これをサーバ間リプライ電文A33に変換して、PLサーバ11へ送信する。なお、サーバ間リプライ電文A33の送信先は、サーバ間リクエスト電文A23の送信元のPLサーバ11である。
FIG. 2B shows the configuration of the
BLサーバ12は、内部の構成として、BL処理部123と、ステータス記憶部124と、電文記録部125と、BLログ127とを備える。
The
BL処理部123は、サーバ間リクエスト電文A23及びサーバ間リプライ電文B35に従って、所定の処理を実行する。例えば、サーバ間リクエスト電文A23を受信したときは、その電文の内容に従って所定の業務処理を実行し、サーバ間リクエスト電文B25を生成する。ここで、サーバ間リクエスト電文B25には、サーバ間リクエスト電文A23に付与されている電文識別子が付与され、サーバ間リクエスト電文A23とサーバ間リクエスト電文B25とが関連づけられる。また、サーバ間リプライ電文B35を受信したときは、その電文の内容に従って所定の業務処理を実行し、サーバ間リプライ電文A33を生成する。この場合も同様に、サーバ間リプライ電文A33には、サーバ間リプライ電文B35に付与されている電文識別子が付与され、サーバ間リプライ電文A33とサーバ間リプライ電文B35とが関連づけられる。
The
ステータス記憶部124については後述する。
The
電文記録部125は、サーバ間リクエスト電文A23を受信したとき、及びサーバ間リプライ電文A33を出力するときに、それぞれの電文23,33の電文識別子を含む、各電文に関連する情報をBLログ127に格納する。
When the inter-server request telegram A23 is received and when the inter-server reply telegram A33 is output, the telegram recording unit 125 stores information related to each telegram including the telegram identifier of each
BLログ127には、BLサーバ12がPLサーバ11に対して送受信した電文の送受信履歴が記憶されている。BLログ127のデータ構造は、PLログ117と共通である。
The BL log 127 stores a transmission / reception history of messages transmitted / received by the
図2(c)には、DBサーバ13の構成を示す。DBサーバ13は、BLサーバ12から送られてくるサーバ間リクエスト電文B25を受信し、これに基づいてDB14の参照、更新などのDB処理を実行する。そして、この実行結果に基づいてサーバ間リプライ電文B35を生成し、これをサーバ間リクエスト電文B25の送信元のBLサーバ12へ送信する。
FIG. 2C shows the configuration of the
DBサーバ13は、内部の構成として、DB処理部133と、ステータス記憶部134電文記録部135と、DBログ137とを備える。
The
DB処理部133は、サーバ間リクエスト電文B25を受信すると、その電文の内容に従ってDB14の参照、更新などの処理を実行する。そして、その処理結果に基づいてサーバ間リプライ電文B35を生成する。ここで、サーバ間リプライ電文B35には、サーバ間リクエスト電文B25に付与されている電文識別子が付与され、サーバ間リプライ電文B35とサーバ間リクエスト電文B25とが関連づけられる。
When the
ステータス記憶部134については後述する。
The
電文記録部135は、サーバ間リクエスト電文B25を受信したとき、及びサーバ間リプライ電文B35を出力するときに、それぞれの電文25,35の電文識別子を含む、各電文に関連する情報をDBログ137に格納する。
When the inter-server request telegram B25 is received and when the inter-server reply telegram B35 is output, the telegram recording unit 135 stores information related to each telegram including the telegram identifier of each
DBログ137には、DBサーバ13がBLサーバ12に対して送受信した電文の送受信履歴が記憶されている。DBログ137のデータ構造は、PLログ117及びBLログ127と共通である。
The DB log 137 stores a transmission / reception history of messages transmitted / received by the
ここで、図4にそれぞれの電文フォーマットを示す。同図(a)に示すように、クライアントリクエスト電文21は、HTMLなどで記述されたクライアントリクエスト本文を含んでいる。同図(b)に示すように、クライアントリプライ電文31は、HTMLなどで記述されたクライアントリプライ本文を含んでいる。同図(c)に示すサーバ間リクエスト電文23、25には、それぞれのリクエスト内容を示すサーバ間リクエスト本文と、電文識別子とが含まれ、同様に同図(d)に示すサーバ間リプライ電文33、35には、それぞれのリプライ内容を示すサーバ間リプライ本文と、電文識別子とが含まれる。
Here, each message format is shown in FIG. As shown in FIG. 5A, the
図5に、管理サーバ15の構成図を示す。管理サーバ15には、キーボードまたはポインティングデバイスなどの入力装置7と液晶ディスプレイなどの表示装置8が接続されている。そして、管理サーバ15は、外部インタフェースとして、これらの入出力装置を制御する入出力装置制御部153と、アプリケーションシステム1とのインタフェースであるシステムインタフェース151とを有する。
FIG. 5 shows a configuration diagram of the
管理サーバ15は、各サーバ11,12,13からログデータを収集し、その解析などを行う。さらに、管理サーバ15は、プロビジョニングなどによりアプリケーションシステム1に自動的に配備されたサーバ11,12,13に対し、テストデータの生成、テストの実行及びテスト結果の検証などの自動テスト処理を行う。さらに、管理サーバ15は、プロビジョニングにより配備されたサーバ11,12,13を実際に稼働させるリリース制御を行う。
The
これらの機能を実現するために、管理サーバ15は、例えば、以下のような構成を備える。管理サーバ15は、まず、主にログの処理に関する構成として、ログデータ収集部161と、収集したログを保存しておく収集ログ記憶部163と、収集したログデータを解析するログデータ解析部165とを備える。また、管理サーバ15は、主に自動テストのための構成として、ユーザ登録部171と、登録情報記憶部172と、テストデータ生成部173と、テストデータ記憶部174と、テスト実行部175と、テスト結果記憶部176と、テスト結果処理部177と、DB設定変更部178とを備える。そして、主にリリース制御に関する構成として、リリース管理部181と、リリース条件表182と、ステータス表183とを備える。以下、各構成について詳細に説明する。
In order to realize these functions, the
ログデータ収集部161は、システムインタフェース151を介して、アプリケーションシステム1の各サーバ11,12,13がそれぞれ保持しているログデータを収集し、収集ログ記憶部163に格納する。
The log
図6に収集ログ記憶部163に記憶されているログデータの一例を示す。収集ログ記憶部163のデータ項目は、PLログ117、BLログ127及びDBログ137と同一である。収集されたログデータには、クライアントリクエスト電文21,クライアントリプライ電文31,サーバ間リクエスト電文23,25及びサーバ間リプライ電文33,35のすべてのログが含まれているが、それらは互いに電文識別子51により関連づけが可能である。例えば、図6のレコード163a〜fは、いずれも電文識別子51が共通であるから、一つのクライアントリクエスト電文21及びそれから派生した各電文のログであることがわかる。さらに、この例では、送信サーバ名52及び受信サーバ名53により、レコード163aがクライアントリクエスト電文21,レコード163bがサーバ間リクエスト電文A23,レコード163cがサーバ間リクエスト電文B25,レコード163dがサーバ間リプライ電文B35,レコード163eがサーバ間リプライ電文A33,及びレコード163fがクライアントリプライ電文31であることがわかる。
FIG. 6 shows an example of log data stored in the collected
なお、各リプライ電文31,33,35は、各リクエスト電文21,23,25が通ったPLサーバ、BLサーバ及びDBサーバと同一のPLサーバ、BLサーバ及びDBサーバを通るようになっている。つまり、同じ電文識別子を有する電文は、PLサーバからDBサーバへ向かう昇り方向とDBサーバからPLサーバへ向かう下り方向とでは、同一のパスを通る。
The
ログデータ解析部165は、収集ログ記憶部163に格納されているログデータを解析し、アプリケーションシステム1の動作の正常性の確認をする。例えば、ログデータ解析部165は、電文識別子51をキーにして収集したログデータのレコードをソートし、あるいは、同一の電文識別子51を有する複数のレコードを1グループとしてまとめる。さらに、ログデータ解析部165は、同一の電文識別子51を有するレコード間で、電文内容54の整合性チェックを行う。そして、これらの解析結果を、入出力装置制御部153が表示装置8に表示する。
The log
図7は、ログデータ解析部165がログデータの各レコードを電文識別子51でソートした結果の一例を示す図である。
FIG. 7 is a diagram illustrating an example of a result of the log
図8は、ログデータ解析部165によって抽出された電文識別子「192.168.0.102-0845」のレコード群を示す。ログデータ解析部165は、このレコード群に対して、さらに、整合性チェックを行う。例えば、「送信サーバ名52→受信サーバ名53」のペアにおいて、「client→PL*」「PL*→BL*」「BL*→DB*」「DB*→BL*」「BL*→PL*」「PL*→client」のすべてが存在することを確認する。これにより、入力されたクライアントリクエスト電文21が途中で消失せずに、最終的なクライアントリプライ電文31を返しているか否かを確認できる。
FIG. 8 shows a record group of a telegram identifier “192.168.0.102-0845” extracted by the log
さらに、昇り電文と降り電文では同一パスを経由するようになっているため、ログデータ解析部165は、PLサーバ及びBLサーバのサーバ名が同一であるか否かをチェックする。また、電文内容54において、特定のパラメータに同一の値が設定されているか(例えばkozaID=1234567)などをチェックする。これにより、入力されたクライアントリクエスト電文21の内容が、その後生成される各電文に受け継がれているかを確認できる。
Furthermore, since the ascending message and the descending message pass through the same path, the log
また、ログデータ解析部165は、予め登録されている電文確認表60を参照し、同一電文識別子51を有するレコード群が、この表60に登録されているリクエスト電文とリプライ電文の対応パターンに合致するか否かを判定する。電文確認表60は、予めユーザによって登録されて、登録情報記憶部172に格納されている。
Further, the log
図9に、電文確認表60の一例を示す。電文確認表60は、対象サーバ61と、対象サーバ61が受信するリクエスト電文内容62と、対象サーバが出力するリプライ電文内容63とが対応付けられている。一つのリクエスト電文62に対して、生じ得るリプライ電文63は複数存在することがある。図9の場合、PLサーバに対するリクエスト電文内容601に対するリプライとしては、リプライ電文内容611〜613があり得ることを示している。また、BLサーバが受信するリクエスト電文内容602に対するリプライとしては、リプライ電文内容614,615があり得ることを示している。さらに、DBサーバのリクエスト電文内容603に対するリプライとしては、リプライ電文内容616,617があり得ることを示している。
FIG. 9 shows an example of the message confirmation table 60. In the message confirmation table 60, the
そして、ログデータ解析部165は、同じ電文識別子51を有するレコードの中から、PLサーバが受信したクライアントリクエスト電文21のレコード(つまり、送信サーバ52がクライアント、受信サーバ53がPLサーバであるレコード163a)と、クライアントリプライ電文31のレコード(つまり、送信サーバ52がPLサーバ、受信サーバ53がクライアントであるレコード163f)を抽出する。そして、ここで抽出したレコードのペアが、電文確認表60のリクエスト電文内容601とリプライ電文内容611〜613のペアのいずれかに合致するかを判定する。
Then, the log
ログデータ解析部165は、BLサーバに対するリクエスト及びリプライのペア、とDBサーバに対するリクエスト及びリプライのペアについても同様に抽出し、電文確認表60に登録されているペアと合致するか否かを判定する。
The log
これにより、各リクエスト電文に対し、予め定められている所定のリプライ電文が生成されているか否かを確認できる。 Thereby, it is possible to confirm whether or not a predetermined reply message is generated for each request message.
次に、再び図5を参照し、自動テスト処理に関する構成及び処理について説明する。 Next, referring to FIG. 5 again, the configuration and processing relating to the automatic test processing will be described.
ユーザ登録部171は、入力装置7を用いてユーザが入力するユーザ設定情報の登録を受け付ける。ユーザ登録部171が受け付けたユーザ設定情報は、登録情報記憶部172及びリリース条件表182に登録される。
The
登録情報記憶部172には、ユーザが設定した情報が記憶されている。図5の場合、ユーザ設定情報として、既に説明した電文確認表60と、テストデータに設定されるパラメータ値が記憶されているパラメータ表70と、テンプレート80と、DB設定表90とが記憶されている。
The registration
図10には、パラメータ表70の一例を示す。すなわち、パラメータ表70は、クライアントリクエスト電文21に含まれるパラメータ71と、それに設定される複数のパラメータ値72とが対応付けて登録されている。
FIG. 10 shows an example of the parameter table 70. That is, in the parameter table 70, a
図11には、テンプレート80の例を示す。すなわち、同図(a)には、送受信サーバを特定する通信パターン81ごとに、入力リクエスト電文82とそれに対する生成リプライ電文83とが対応付けられているテンプレートAを示す。例えば、テスト対象サーバに入出力する電文を同図(c)に示すようにX,Y,Z,Wとすれば、テンプレートAでは、XとWとの対応関係が示されている。また、同図(b)には、送受信サーバを特定する通信パターン85ごとに、あるサーバの前段に対する電文84と後段に対する電文86とが対応付けられているテンプレートBを示す。例えば同図(c)と対応させると、前段に対する電文84がXまたはWであり、後段に対する電文86がYまたはZであり、XとYまたはWとZがそれぞれ対応付けられている。
FIG. 11 shows an example of the
図12には、DB設定表90の一例を示す。DB設定表90には、同図(a)に示すデータ設定表901と同図(b)に示すデータ戻し表902とがある。データ設定表901及びデータ戻し表902は、いずれも、値を設定する表名91と、値を設定する条件92と、値を設定する列名93と、設定値94とを、データ項目として有する。
FIG. 12 shows an example of the DB setting table 90. The DB setting table 90 includes a data setting table 901 shown in FIG. 10A and a data return table 902 shown in FIG. Each of the data setting table 901 and the data return table 902 includes a
テストを実行する場合、所定の条件下でテストを実行するために、DB14の設定を一時的に変更したいときがある。このような場合のために、データ設定表901の設定値94にはユーザが入力した値が記憶されている。また、DB14の設定を一時的に変更してテストを実行した後は、その設定を元に戻す必要がある。そこで、データ戻し表902の表名91、条件92及び列名93には、設定を変更する際の表名、条件及び列名が記憶されるとともに、設定値94には、設定を変更する際に取得した変更前のDB14の値が記憶される。
When executing the test, there is a case where it is desired to temporarily change the setting of the
テストデータ生成部173は、パラメータ表70、テンプレート80及び収集ログ記憶部163に格納されているログデータに基づいてテストデータを生成し、テストデータ記憶部174に格納する。例えば、テンプレート80に含まれているパラメータに、パラメータ表70に設定されているパラメータ値72を優先させて設定し、パラメータ表70にパラメータ値が設定されていないパラメータについては、ログデータから抽出して設定する。これにより、テスト実施者は、自らが着目するパラメータについてだけパラメータ値を登録しておけばよい。この場合、特に着目しないパラメータについてはログデータから自動設定される。従って、テンプレート80内のすべてのパラメータに値が設定されるので、テストデータの不備によりテストが滞ってしまうようなことがない。
The test
一方、パラメータ表70にすべてのパラメータの値が設定されていれば、ログデータは不要である。また、パラメータ表70がないとき、あるいはパラメータ表70にはパラメータ値が何も設定されていないときは、ログデータからすべてのパラメータ値を取得してテストデータを生成してもよい。 On the other hand, if all parameter values are set in the parameter table 70, log data is unnecessary. Further, when there is no parameter table 70, or when no parameter value is set in the parameter table 70, all parameter values may be acquired from log data to generate test data.
本実施形態では、まず、テンプレートA、パラメータ表70及びログデータに基づいて中間的なテストデータであるテストデータA(図13参照)が生成される。そして、テストデータAとテンプレートBに基づいて最終的なテストデータであるテストデータB(図14参照)が生成される。以下、具体的に説明する。 In the present embodiment, first, test data A (see FIG. 13), which is intermediate test data, is generated based on the template A, the parameter table 70, and log data. Then, based on the test data A and the template B, test data B (see FIG. 14) which is final test data is generated. This will be specifically described below.
まず、図11(a)のテンプレートAは、各サーバに対するリクエスト電文(X)と各サーバから出力され得るリプライ電文(W)とのペアを定義している。そこで、テストデータ生成部173は、テンプレートAの各パラメータに図10に示すパラメータ表70に登録されている値を設定する。この例では、支店ID(sitenID)、口座ID(kozaID)、パスワード(passward)、口数(item_count)及び残高(zandaka)に、パラメータ表70に登録されているそれぞれの値がセットされる。
First, the template A in FIG. 11A defines a pair of a request message (X) for each server and a reply message (W) that can be output from each server. Therefore, the test
この段階では、テンプレートAにおけるパラメータitemには値がセットされていない。そこで、テストデータ生成部173は、パラメータitemに設定すべき値を、ログデータのいずれかのレコードから抽出してセットする。このようにして、図13に示すテストデータAが生成される。
At this stage, no value is set for the parameter item in the template A. Therefore, the test
図13のテストデータAは、サーバA401からサーバB402へのリクエスト電文(X)403及びそのリクエスト電文(X)403に対するサーバBからサーバAへのリプライ電文(W)404からなる。図13の例では、テストデータ431及び432のリクエスト電文(X)403は共通であり、これに対するリプライ電文(W)404として異なるパターンがセットされたものである。
13 includes a request message (X) 403 from the
次に、図11(b)のテンプレートBは、リクエスト電文(X)とそれにより生成される後段へのリクエスト電文(Y)、及びリプライ電文(W)とそれが生成される前の後段からのリプライ電文(Z)とのペアを定義している。そこで、テストデータ生成部173は、テンプレートBに図13のテストパターンAのリクエスト電文(X)403及びリプライ電文(W)404を適用し、それぞれに対応する電文Y,Zを生成する。このとき、テストパターンAにおいて既に設定されているパラメータは、それぞれ対応する電文Y,Zに設定される。この処理により生成されたテストデータBを図14に示す。
Next, the template B in FIG. 11B includes a request message (X) and a request message (Y) generated by the request message, and a reply message (W) and a message from the latter stage before it is generated. A pair with the reply message (Z) is defined. Therefore, the test
図14のテストデータBは、テスト対象サーバ411に対するリクエスト電文(X)412と,これに対応するリプライ電文(W)413と、後段に対するリクエスト電文(Y)414と、後段からのリプライ電文(Z)415とがワンセットになっている。ここで、テストデータ441,442,443はいずれもリクエスト電文(X)412は共通である。これは、同じリクエスト電文(X)412を入力した場合でも、そこから派生する電文Y,Z,Wについては複数のパターンが生じ得るので、正常に動作する場合のすべてのパターンが用意されているからである。
14 includes a request message (X) 412 for the
テストデータ記憶部174には、上記のようにして生成されたテストデータBが記憶される。
The test
テスト実行部175は、テストデータ記憶部174からテストデータを取得してテストを実行し、そのテスト結果をテスト結果記憶部176に格納する。例えば、テスト実行部175は、テストデータ記憶部174からテストデータBのテストデータを1つずつ読み出し、システムインタフェース151を介して、テスト対象サーバ411にリクエスト電文(X)412を入力する。テスト対象サーバ411は、リクエスト電文(X)412が入力されると、この電文412に基づいて所定の処理を実行する。その結果、テスト対象サーバ411から後段のサーバへリクエスト電文(Y)が出力され、後段の各サーバもこれに従って動作する。そして、最終的にテスト対象サーバからリプライ電文(W)が出力される。ここで、テスト実行部175は、入力したリクエスト電文(X)412に基づく電文Y,Z,Wを、テスト対象サーバ及び後段のサーバのログファイルからそれぞれ取得して、これらを関連づけた形でテスト結果記憶部176に格納する。
The
テスト結果処理部177は、テスト結果記憶部176に記憶されているテスト結果の電文と、テストデータ記憶部174に記憶されているテストデータBとを対比してテスト結果の解析などを行う。この解析結果は、表示装置8に出力される。
The test
例えば、テスト結果処理部177は、入力されたリクエスト電文(X)及びこれに対するサーバの処理結果として得られた電文Y,Z,Wの組が、テストデータ記憶部174に記憶されているテストデータBのいずれかと一致するか否かを判定する。いずれかと一致すれば、アプリケーションシステム1は正常に動作していると考えられる。一方、いずれとも一致しない場合は、テスト対象サーバまたはその後段のサーバに何らかの異常があると考えられる。これらの解析結果は、例えば表示装置8に一覧表示される。
For example, the test
これにより、テンプレート及び必要なパラメータを設定するだけで、網羅的なテストデータの生成、テストの実施及びその結果の解析を自動的に行うことができる。さらに、テスト実施者は、表示装置8にテストの解析結果が表示されるので、システムが正常であるかを直ちに知ることができる。
Thereby, it is possible to automatically generate exhaustive test data, perform tests, and analyze the results simply by setting a template and necessary parameters. Furthermore, since the test execution result is displayed on the
DB設定変更部178は、テストを実施するために、アプリケーションシステム1の動作環境の変更及びその復帰を行う。例えば、DB設定変更部178は、DB設定表90を参照して、システムインタフェース151を介してDB14の内容を一時的に変更する。例えば、DB設定変更部178は、データ設定表901(図12(a))に基づいてDB14を更新する。また、上記の設定変更をする際に、DB設定変更部178は、変更前の状態をデータ戻し表902(図12(b))に設定する。そして、テスト終了後に、データ戻し表902を参照して前の状態へ戻す。
The DB setting
例えば、図12(a)に示すデータ設定表901の場合、DB設定変更部178は、表名91に設定されている表から、条件92を満たすレコードを抽出する。そして、そのレコードの列名93に合致する列を設定値94に設定されている値に変更する。これにより、テストを行うときのDBの設定を自在に変更することができる。
For example, in the case of the data setting table 901 illustrated in FIG. 12A, the DB
次に、リリース制御に関する構成及び処理について説明する。 Next, the configuration and processing related to release control will be described.
リリース管理部181は、システムインタフェース151を介して、アプリケーションシステム1内の各サーバ11,12,13のステータスを照会する。例えば、各サーバ内のステータス記憶部114、124,134に記憶されている各サーバのステータスを取得する。ここで取得した各サーバ11,12,13のステータスは、ステータス表183に格納される。
The
ここで、各サーバ内のステータス記憶部114、124,134に格納されるステータス情報について説明する。
Here, the status information stored in the
アプリケーションシステム1に新たに追加されたサーバの場合、ステータス記憶部にはプロビジョニングが終了した時点で「未テスト」というステータスが設定される。その後、上述したテストが実行されているときは、テスト実行部175によりステータスが「テスト中」に変更される。そして、表示装置8に表示されたテスト結果などにより、すべてのテストが正常終了したことが確認され、テスト実施者によりテスト完了を示す入力がなされると、そのサーバのステータス記憶部には、アプリケーションシステム1の一部として正式に稼働可能であることを示す「リリース可」というステータスが設定される。さらに、後述するように、リリース管理部181がリリースしたときは、リリースされたサーバ内のステータス記憶部には、「リリース済み」というステータスが設定される。
In the case of a server newly added to the
図15には、ステータス表183の一例を示す。すなわち、ステータス表183には、サーバ名1831とステータス1832とが対応付けて登録されている。ステータス1832には、各サーバのステータス記憶部114、124,134から取得したステータスが格納される。
FIG. 15 shows an example of the status table 183. That is, the
また、リリース管理部181は、ステータス表183のステータス1832が「リリース可」であるサーバについて、リリース条件表182に設定された条件が満たされているか否かを判定し、条件が満たされている場合にそのサーバをリリースする。ここで、サーバのリリースを実行するためには、リリース管理部181がリリース対象のサーバを指定して、所定のリリース処理コマンドを発行する。リリース処理コマンドは、例えば、リリース管理部181が有するコマンド表184を参照して取得する。
In addition, the
図16には、コマンド表184の一例を示す。コマンド表184には、サーバ種別1841ごとにリリース処理コマンド1842が登録されている。リリース管理部181は、リリースするサーバの種別に応じて、リリース処理コマンドを取得して、実行する。
FIG. 16 shows an example of the command table 184. In the command table 184, a
図17には、リリース条件表182の一例を示す。すなわち、リリース条件表182には、リリース対象サーバ1821と依存サーバ1822とが対応付けて記憶されている。ここで、依存サーバ1822とは、リリース対象サーバ1821をリリースするためにはリリース済みでなければならないサーバである。つまり、リリース対象サーバ1821がリリース可能な状態であっても、依存サーバ1822がリリース済みでなければリリース対象サーバ1821をリリースすることができない。リリース条件表182は、システム管理者等によって予め設定される。
FIG. 17 shows an example of the release condition table 182. That is, the release condition table 182 stores the
つぎに、上記のような構成を備えたシステムにおける種々の処理手順について、図18〜図20のフローチャートを用いて説明する。 Next, various processing procedures in the system having the above-described configuration will be described with reference to the flowcharts of FIGS.
まず、図18には、ログの収集及び解析を行う場合の管理サーバ15の処理手順を示す。
First, FIG. 18 shows a processing procedure of the
ログデータ収集部161がアプリケーションシステム1内の各サーバ11,12,13から、それぞれに蓄積されているログデータを収集し、収集ログ記憶部163に格納する(S101)。ログデータ解析部165は、収集ログ記憶部163に格納されているログデータを、各レコードに含まれている電文識別子をキーにして分類し、電文識別子別に抽出する(S102)。ログデータ解析部165は、登録情報記憶部172に予め登録されている電文確認表60を参照して、同じ電文識別子を有する電文間の整合性をチェックする(S103)。ここでは、例えば、リクエストに対するリプライが予め定められているパターンと一致するか否かを判定する。そして、その解析結果を表示装置8に表示出力する(S104)。
The log
これにより、複数のサーバ間で電文を送受信して動作するアプリケーションシステム1において、各サーバ間で送受信される電文が正常であるか否かを自動的に確認することができる。さらに、各サーバ群でそれぞれ複数のサーバを有し、様々な経路で電文がやりとりされる場合であっても、すべての電文のやりとりをもれなくチェックすることができ、網羅性の高いテストを行うことができる。
Thereby, in the
次に、図19には、テストデータの生成及びテストの実施を自動的に行う場合の管理サーバ15の処理手順を示す。
Next, FIG. 19 shows a processing procedure of the
テスト実施者が、テストデータの基となるテストパターンのテンプレート及びそのテンプレートにセットされるパラメータ値を登録する(S201)。ログデータ収集部161は、アプリケーションシステム1の各サーバ11,12,13からログデータを収集し、収集ログ記憶部163に格納する(S202)。
The tester registers a test pattern template as a basis of test data and a parameter value set in the template (S201). The log
そして、テストデータ生成部173は、上述の処理で登録されたテンプレート及びパラメータ値と、ログデータとに基づいて、中間的なテストデータであるテストデータAを生成する(S203)。このとき、テスト実施者が登録したパラメータ値をまず設定し、テスト実施者が設定していないパラメータについては、ログデータから取得した値を設定する。次に、テストデータ生成部173は、テストデータAとテンプレートとを用いて、最終的なテストデータであるテストデータBを生成する(S204)。
Then, the test
ここで、テストデータを流してテストを実施するに当たり、テスト環境であるDB14の設定を変更する必要がある場合には、DB設定変更部178が、予め登録されているDB設定表90を参照して設定変更を行う(S205,206)。
Here, when executing the test by flowing the test data, when it is necessary to change the setting of the
そして、テスト実行部175がテスト対象サーバにテストデータのリクエスト電文を入力して、アプリケーションシステム1を動作させて、テストを実施する(S207)。
Then, the
テストの実施が終了すると、ステップS206でDBの設定変更を行っている場合は、その変更を元に戻し、変更前の状態に復帰させる(S208,209)。 When the execution of the test is completed, if the DB setting has been changed in step S206, the change is returned to the original state and returned to the state before the change (S208, 209).
テスト結果処理部177は、テスト結果記憶部176に格納されているテスト結果を、テストデータ記憶部174に記憶されているテストデータと比較して検証する(S210)。そして、検証結果が、表示装置8に表示される。
The test
これにより、テスト実施者は、数多くのテストデータそのものを作成しなくても、テンプレートとしてテストしたいパターンを登録し、重要なパラメータ値を登録しておくことにより、テストデータが自動的に生成され、かつ、テスト及びその結果検証も自動的に行うことができる。さらに、パラメータ値の設定も、すべてのパラメータについて行う必要がない。つまり、テスト実施者が特に指定しないパラメータはログデータから抽出して自動的に補われるので、テスト実施者は、パラメータ値を網羅的に設定しなくてもテストデータを生成することができる。これにより、テスト実施者の負担が軽減される。 This allows the tester to automatically generate test data by registering the pattern to be tested as a template and registering important parameter values without creating a lot of test data itself. In addition, the test and the result verification can be automatically performed. Furthermore, parameter values need not be set for all parameters. That is, parameters that are not specified by the tester are extracted from the log data and automatically supplemented, so that the tester can generate test data without setting the parameter values exhaustively. This reduces the burden on the tester.
図20には、管理サーバ15が行うリリース制御の処理手順を示す。
FIG. 20 shows a release control processing procedure performed by the
まず、システム管理者が、新規に追加されたサーバをリリースするためのリリース条件を登録する(S301)。登録されたリリース条件は、リリース条件表182に格納される。リリース管理部181は、リリース判定を行う対象のサーバから、そのサーバのステータスを取得し、ステータス管理表183に格納する(S302)。対象のサーバが複数ある場合は、すべての対象サーバから取得する。
First, the system administrator registers a release condition for releasing a newly added server (S301). The registered release conditions are stored in the release condition table 182. The
リリース管理部181は、ステータス管理表183を参照し、「リリース可」であるサーバの有無を判定する(S303)。そして、「リリース可」であるサーバがないときは、終了する(S303:No)。
The
一方、「リリース可」であるサーバがあるときは(S303:Yes)、リリース管理部181は、リリース条件表182を参照し、そのサーバのリリース条件が満たされているか否かを判定する(S304)。そして、リリース条件が満たされていないときは、終了する(S304:No)。
On the other hand, when there is a server that is “Releasable” (S303: Yes), the
リリース条件が満たされているときは(S304:Yes)、リリース管理部181は、リリース対象サーバの種別に応じて、コマンド表184からリリースコマンドを取得し、それをリリース対象サーバへ送信して、リリースを実行する(S305,306)。
When the release condition is satisfied (S304: Yes), the
ステップS303以降の処理を繰り返すことにより、リリース対象サーバが複数ある時は、順次リリース判定及びリリースを実施することができる。 By repeating the processes after step S303, when there are a plurality of release target servers, release determination and release can be performed sequentially.
これにより、システム管理者が定めたリリース対象サーバごとのリリース条件に従って、サーバごとにリリース判定が行われる。 Thus, release determination is performed for each server in accordance with the release conditions for each release target server determined by the system administrator.
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。 The above-described embodiments of the present invention are examples for explaining the present invention, and are not intended to limit the scope of the present invention only to those embodiments. Those skilled in the art can implement the present invention in various other modes without departing from the gist of the present invention.
例えば、上述の実施形態では、アプリケーションシステム1がPLサーバ群11A,BLサーバ群12A,及びDBサーバ群13Aの3層構造になっているが、2層、あるいは4層以上であってもよい。さらには、アプリケーションシステム1は、必ずしも層構造になっていなくてもよい。
For example, in the above-described embodiment, the
1 アプリケーションシステム
2 クライアント
10 ロードバランサ
11 PLサーバ
12 BLサーバ
13 DBサーバ
14 DB
15 管理サーバ
21 クライアントリクエスト電文
23,25 サーバ間リクエスト電文
31 クライアントリプライ電文
33,35 サーバ間リプライ電文
1
15
Claims (5)
前記リクエスト電文、及び、このリクエスト電文に対するリプライ電文又はリクエスト電文が対応づけられたテンプレートと、前記リクエスト電文及び前記リプライ電文に、それぞれ複数含まれるパラメータに設定されるパラメータ値とを有する、ユーザ設定情報の登録を受け付けるユーザ登録部と、
前記ユーザ設定情報に基づき、前記テンプレートに含まれているパラメータに前記パラメータ値を設定してテストデータを生成するテストデータ生成部と、
前記テストデータ生成部によって生成された前記テストデータを記憶するテストデータ記憶部と、
前記テストデータ記憶部に記憶された前記テストデータ内の前記リクエスト電文を用いて、前記テスト対象サーバに対してテストを行うテスト実行部と、
前記テスト実行部によって行われた前記テストの結果を記憶するテスト結果記憶部と、
前記テスト結果記憶部に記憶されたテスト結果が、前記テストデータ記憶部に記憶された前記テストデータと一致するか否かを判定する、テスト結果処理部と、を備え、
前記ユーザ登録部は、前記テンプレートとして、サーバ相互間の通信パターンとしてリクエスト電文とリプライ電文とが対応づけられた第1のテンプレートと、サーバ相互間の通信パターンとして前段からのリクエスト電文と、このリクエスト電文により生成され後段へ出力され得るリクエスト電文と、前段へのリプライ電文と、このリプライ電文が生成される前の後段から入力されるリプライ電文とが対応づけられた第2のテンプレートとをそれぞれ受け付け、
前記テストデータ生成部は、前記第1のテンプレートに含まれる、前記パラメータとしてのパラメータ名及び変数の組に対し、前記パラメータ名により設定すべき前記変数を判別して、前記変数に前記パラメータ値を設定して、前記テスト対象サーバに対するリクエスト電文及び前記テスト対象サーバから出力されるリプライ電文とを含む中間テストデータを生成し、かつ、前記中間テストデータ及び前記第2のテンプレートに含まれる、前記パラメータとしてのパラメータ名及び変数の組に対し、前記パラメータ名により設定すべき前記変数を判別して、前記変数に前記パラメータ値を設定して、前記テスト対象サーバに対するリクエスト電文と、これに対応するリプライ電文と、前記テスト対象サーバの後段に対するリクエスト電文と、当該後段からのリプライ電文とを含む最終テストデータを生成し、
前記テスト結果処理部は、前記テスト対象サーバに前段から入力されるリクエスト電文に対する、前記対象サーバが前段へ出力するリプライ電文、前記テスト対象サーバが後段へ出力するリクエスト電文、及び、前記後段から前記テスト対象サーバへ入力されるリプライ電文が、前記最終テストデータの前記リクエスト電文に対する、前記リプライ電文と、前記テスト対象サーバの後段に対するリクエスト電文と、当該後段からのリプライ電文と一致するか否かを判定することを特徴とする管理サーバ。
A first server group including a plurality of servers that provide an input / output interface; a second server group including a plurality of servers that execute various business processes; and a plurality of servers that perform database reference and update When the first server group has a third server group and the database, and the first server group receives a request from a client, a request message related to the request is transmitted from the first server group to the second server group, the second server group Are transmitted sequentially from the first server group to the third server group from the first stage to the second stage, and reply messages related to the reply to the request are transmitted from the third server group to the second server group, and from the second server group to the first server group. Are sequentially transmitted from the subsequent stage to the previous server group, and the reply to the request of the client is output from the first server group. Is connected to the message processing system, a management server to perform a test for a given test server in the message processing system,
User setting information including the request message, a reply message corresponding to the request message or a template associated with the request message, and parameter values set in a plurality of parameters in the request message and the reply message, respectively. A user registration unit that accepts registration,
A test data generation unit configured to generate test data by setting the parameter value to a parameter included in the template based on the user setting information;
A test data storage unit for storing the test data generated by the test data generation unit;
Using the request message in the test data stored in the test data storage unit, a test execution unit for testing the test target server;
A test result storage unit that stores a result of the test performed by the test execution unit;
A test result processing unit that determines whether the test result stored in the test result storage unit matches the test data stored in the test data storage unit, and
The user registration unit includes, as the template, a first template in which a request message and a reply message are associated with each other as a communication pattern between servers, a request message from the previous stage as a communication pattern between servers, and the request receiving a request message that may be output to the subsequent stage is generated by message, and the reply message to the previous stage, and a second template and the reply message associated input from downstream before this reply message is generated respectively ,
The test data generating unit is included in the first template, to the parameter name and set of variables as the parameter, to determine the variables to be set by the parameter name, the parameter values to the variable set, the generated intermediate test data including the reply message output from the request message and the server under test to the test target server and is included in the intermediate test data and the second template, the parameter For the set of parameter name and variable, the variable to be set by the parameter name is determined, the parameter value is set to the variable, the request message to the test target server, and the corresponding reply message A message and a request message for the subsequent stage of the test target server; To produce the final test data including the reply message from the rear stage,
The test result processing unit responds to a request message input from the previous stage to the test target server, a reply message output from the target server to the previous stage, a request message output from the test target server to the subsequent stage, and Whether the reply message input to the test target server matches the reply message for the request message of the final test data, the request message for the subsequent stage of the test target server, and the reply message from the subsequent stage. A management server characterized by determining.
前記ログ収集部に収集されたログデータを格納する収集ログ記憶部とをさらに備え、
前記テストデータ生成部は、前記ユーザ登録部が前記パラメータ値を受け付けたパラメータについては、そのパラメータに前記パラメータ値を設定し、前記ユーザ登録部が前記パラメータ値を受け付けてない前記パラメータについては、そのパラメータに前記ログデータから抽出した値を設定して前記テストデータを生成することを特徴とする請求項1に記載の管理サーバ。
Log data collection unit for acquiring log data in which at least a transmission server, a reception server, and message contents are described from one or more servers in the message processing system. Collection for storing log data collected in the log collection unit. A log storage unit,
The test data generation unit sets the parameter value for the parameter for which the user registration unit has received the parameter value, and the parameter for which the user registration unit has not received the parameter value for the parameter. The management server according to claim 1, wherein the test data is generated by setting a value extracted from the log data as a parameter.
In order to change and restore the operating environment of the message processing system, the management server refers to the database setting table registered in advance by the user registration unit, and sets the operating environment of the database in the message processing system The management server according to claim 1, further comprising a database setting changing unit that temporarily changes the operating environment after the change and returns the operating environment after the change to the state before the change.
前記リクエスト電文、及び、このリクエスト電文に対するリプライ電文又はリクエスト電文が対応づけられたテンプレートと、前記リクエスト電文及び前記リプライ電文に、それぞれ複数含まれるパラメータに設定されるパラメータ値とを有する、ユーザ設定情報の登録を受け付けるステップと、
前記ユーザ設定情報に基づき、前記テンプレートに含まれているパラメータに前記パラメータ値を設定してテストデータを生成するステップと、
前記テストデータを生成するステップによって生成された前記テストデータを前記テストデータ記憶部に記憶するステップと、
前記テストデータ記憶部に記憶された前記テストデータの前記リクエスト電文を用いて、前記テスト対象サーバに対してテストを行うステップと、
前記テスト実行部によって行われた前記テストの結果を前記テスト結果記憶部に記憶するステップと、
前記テスト結果記憶部に記憶されたテスト結果が、前記テストデータ記憶部に記憶された前記テストデータと一致するか否かを判定するステップと、を備え、
前記ユーザ設定情報の登録を受け付けるステップは、前記テンプレートとして、サーバ相互間の通信パターンとしてリクエスト電文とリプライ電文とが対応づけられた第1のテンプレートと、サーバ相互間の通信パターンとして前段からのリクエスト電文と、このリクエスト電文により生成され後段へ出力され得るリクエスト電文と、前段へのリプライ電文と、このリプライ電文が生成される前の後段から入力されるリプライ電文とが対応づけられた第2のテンプレートとをそれぞれ受け付け、
前記テストデータを生成するステップは、前記第1のテンプレートに含まれる、前記パラメータとしてのパラメータ名及び変数の組に対し、前記パラメータ名により設定すべき前記変数を判別して、前記変数に前記パラメータ値を設定して、前記テスト対象サーバに対するリクエスト電文及び前記テスト対象サーバから出力されるリプライ電文とを含む中間テストデータを生成するステップと、前記中間テストデータ及び前記第2のテンプレートに含まれる、前記パラメータとしてのパラメータ名及び変数の組に対し、前記パラメータ名により設定すべき前記変数を判別して、前記変数に前記パラメータ値を設定して、前記テスト対象サーバに対するリクエスト電文と、これに対応するリプライ電文と、前記テスト対象サーバの後段に対するリクエスト電文と、当該後段からのリプライ電文とを含む最終テストデータを生成するステップとからなり、
前記判定するステップは、前記テスト対象サーバに前段から入力されるリクエスト電文に対する、前記対象サーバが前段へ出力するリプライ電文、前記テスト対象サーバが後段へ出力するリクエスト電文、及び、前記後段から前記テスト対象サーバへ入力されるリプライ電文が、前記最終テストデータの前記リクエスト電文に対する、前記リプライ電文と、前記テスト対象サーバの後段に対するリクエスト電文と、当該後段からのリプライ電文と一致するか否かを判定するテストを行うことを特徴とする方法。
A first server group including a plurality of servers that provide an input / output interface; a second server group including a plurality of servers that execute various business processes; and a plurality of servers that perform database reference and update When the first server group has a third server group and the database, and the first server group receives a request from a client, a request message related to the request is transmitted from the first server group to the second server group, the second server group Are transmitted sequentially from the first server group to the third server group from the first stage to the second stage, and reply messages related to the reply to the request are transmitted from the third server group to the second server group, and from the second server group to the first server group. Are sequentially transmitted from the subsequent stage to the previous server group, and the reply to the request of the client is output from the first server group. Is connected to the message processing system for a given test server in the message processing system, the management server with the test data storage unit and the test result storage unit to a method of testing,
User setting information including the request message, a reply message corresponding to the request message or a template associated with the request message, and parameter values set in a plurality of parameters in the request message and the reply message , respectively. Accepting the registration of
Generating test data by setting the parameter value to a parameter included in the template based on the user setting information;
Storing the test data generated by the step of generating the test data in the test data storage unit;
Using the request message of the test data stored in the test data storage unit to perform a test on the test target server;
Storing the result of the test performed by the test execution unit in the test result storage unit;
Determining whether a test result stored in the test result storage unit matches the test data stored in the test data storage unit, and
The step of accepting registration of the user setting information includes, as the template, a first template in which a request message and a reply message are associated with each other as a communication pattern between servers, and a request from the previous stage as a communication pattern between servers. A second message in which a message, a request message generated by this request message and output to the subsequent stage, a reply message to the previous stage , and a reply message input from the subsequent stage before the reply message is generated are associated with each other. Accept each template,
The step of generating the test data, the included in the first template, to the parameter name and set of variables as the parameter, to determine the variables to be set by the parameter name, the parameter to the variable Including setting a value and generating intermediate test data including a request message to the test target server and a reply message output from the test target server; and included in the intermediate test data and the second template , For the set of parameter name and variable as the parameter, determine the variable to be set by the parameter name, set the parameter value to the variable, and respond to the request message for the test target server Reply message and subsequent test server And quest message consists of a step of generating a final test data including the reply message from the subsequent stage,
The determining step includes a reply message that the target server outputs to the preceding stage, a request message that the test target server outputs to the subsequent stage, and a test message that is output from the subsequent stage to the request message that is input from the previous stage to the test target server It is determined whether the reply message input to the target server matches the reply message for the request message of the final test data, the request message for the subsequent stage of the test target server, and the reply message from the subsequent stage. A method characterized by performing a test.
前記コンピュータプログラムは、前記管理サーバに、
前記リクエスト電文、及び、このリクエスト電文に対するリプライ電文又はリクエスト電文が対応づけられたテンプレートと、前記リクエスト電文及び前記リプライ電文に、それぞれ複数含まれるパラメータに設定されるパラメータ値とを有する、ユーザ設定情報の登録を受け付けるステップと、
前記ユーザ設定情報に基づき、前記テンプレートに含まれているパラメータに前記パラメータ値を設定してテストデータを生成するステップと、
前記テストデータを生成するステップによって生成された前記テストデータを前記テストデータ記憶部に記憶するステップと、
前記テストデータ記憶部に記憶された前記テストデータの前記リクエスト電文を用いて、前記テスト対象サーバに対してテストを行うステップと、
前記テスト実行部によって行われた前記テストの結果を前記テスト結果記憶部に記憶するステップと、
前記テスト結果記憶部に記憶されたテスト結果が、前記テストデータ記憶部に記憶された前記テストデータと一致するか否かを判定するステップと、を実行させ、
前記ユーザ設定情報の登録を受け付けるステップは、前記テンプレートとして、サーバ相互間の通信パターンとしてリクエスト電文とリプライ電文とが対応づけられた第1のテンプレートと、サーバ相互間の通信パターンとして前段からのリクエスト電文と、このリクエスト電文により生成され後段へ出力され得るリクエスト電文と、前段へのリプライ電文と、このリプライ電文が生成される前の後段から入力されるリプライ電文とが対応づけられた第2のテンプレートとをそれぞれ受け付けるステップであり、
前記テストデータを生成するステップは、前記第1のテンプレートに含まれる、前記パラメータとしてのパラメータ名及び変数の組に対し、前記パラメータ名により設定すべき前記変数を判別して、前記変数に前記パラメータ値を設定して、前記テスト対象サーバに対するリクエスト電文及び前記テスト対象サーバから出力されるリプライ電文とを含む中間テストデータを生成するステップと、前記中間テストデータ及び前記第2のテンプレートに含まれる、前記パラメータとしてのパラメータ名及び変数の組に対し、前記パラメータ名により設定すべき前記変数を判別して、前記変数に前記パラメータ値を設定して、前記テスト対象サーバに対するリクエスト電文と、これに対応するリプライ電文と、前記テスト対象サーバの後段に対するリクエスト電文と、当該後段からのリプライ電文とを含む最終テストデータを生成するステップとからなり、
前記判定するステップは、前記テスト対象サーバに前段から入力されるリクエスト電文に対する、前記対象サーバが前段へ出力するリプライ電文、前記テスト対象サーバが後段へ出力するリクエスト電文、及び、前記後段から前記テスト対象サーバへ入力されるリプライ電文が、前記最終テストデータの前記リクエスト電文に対する、前記リプライ電文と、前記テスト対象サーバの後段に対するリクエスト電文と、当該後段からのリプライ電文と一致するか否かを判定するテストが行われるステップである、コンピュータプログラム。
A first server group including a plurality of servers that provide an input / output interface; a second server group including a plurality of servers that execute various business processes; and a plurality of servers that perform database reference and update When the first server group has a third server group and the database, and the first server group receives a request from a client, a request message related to the request is transmitted from the first server group to the second server group, the second server group Are transmitted sequentially from the first server group to the third server group from the first stage to the second stage, and reply messages related to the reply to the request are transmitted from the third server group to the second server group, and from the second server group to the first server group. Are sequentially transmitted from the subsequent stage to the previous server group, and the reply to the request of the client is output from the first server group. Is connected to the message processing system, to test for a given test server in the message processing system, a computer program executed by the management server with the test data storage unit and the test result storage unit,
The computer program is stored in the management server.
User setting information including the request message, a reply message corresponding to the request message or a template associated with the request message, and parameter values set in a plurality of parameters in the request message and the reply message, respectively. Accepting the registration of
Generating test data by setting the parameter value to a parameter included in the template based on the user setting information;
Storing the test data generated by the step of generating the test data in the test data storage unit;
Using the request message of the test data stored in the test data storage unit to perform a test on the test target server;
Storing the result of the test performed by the test execution unit in the test result storage unit;
The test result storage unit test results stored in the, and determining whether the match with the test data stored in the test data storage unit, is executed,
The step of accepting registration of the user setting information includes, as the template, a first template in which a request message and a reply message are associated with each other as a communication pattern between servers, and a request from the previous stage as a communication pattern between servers. A second message in which a message, a request message generated by this request message and output to the subsequent stage, a reply message to the previous stage , and a reply message input from the subsequent stage before the reply message is generated are associated with each other. is a step of accepting an and templates, respectively,
The step of generating the test data, the included in the first template, to the parameter name and set of variables as the parameter, to determine the variables to be set by the parameter name, the parameter to the variable Including setting a value and generating intermediate test data including a request message to the test target server and a reply message output from the test target server; and included in the intermediate test data and the second template , For the set of parameter name and variable as the parameter, determine the variable to be set by the parameter name, set the parameter value to the variable, and respond to the request message for the test target server Reply message and subsequent test server And quest message consists of a step of generating a final test data including the reply message from the subsequent stage,
The determining step includes a reply message that the target server outputs to the preceding stage, a request message that the test target server outputs to the subsequent stage, and a test message that is output from the subsequent stage to the request message that is input from the previous stage to the test target server It is determined whether the reply message input to the target server matches the reply message for the request message of the final test data, the request message for the subsequent stage of the test target server, and the reply message from the subsequent stage. A computer program that is a step in which a test is performed .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005067442A JP4575811B2 (en) | 2005-03-10 | 2005-03-10 | Test data generation apparatus, method, and program for message processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005067442A JP4575811B2 (en) | 2005-03-10 | 2005-03-10 | Test data generation apparatus, method, and program for message processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006252158A JP2006252158A (en) | 2006-09-21 |
JP4575811B2 true JP4575811B2 (en) | 2010-11-04 |
Family
ID=37092591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005067442A Expired - Fee Related JP4575811B2 (en) | 2005-03-10 | 2005-03-10 | Test data generation apparatus, method, and program for message processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4575811B2 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4847481B2 (en) * | 2008-02-01 | 2011-12-28 | アンリツエンジニアリング株式会社 | Test item generation apparatus and method, network test support apparatus and method, test item generation apparatus, and network test support apparatus |
JP4952635B2 (en) * | 2008-03-31 | 2012-06-13 | 富士通株式会社 | Information processing apparatus and log collection program thereof |
JP5101448B2 (en) * | 2008-09-30 | 2012-12-19 | 株式会社野村総合研究所 | Test support system |
JP5101447B2 (en) * | 2008-09-30 | 2012-12-19 | 株式会社野村総合研究所 | Test support system |
JP5463708B2 (en) * | 2009-03-27 | 2014-04-09 | 富士通株式会社 | Monitoring system, monitoring program, and monitoring method |
JP4989739B2 (en) * | 2010-02-09 | 2012-08-01 | 三菱電機株式会社 | Maintenance device, maintenance method and program, and facility management system |
JP5629239B2 (en) | 2011-05-23 | 2014-11-19 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Apparatus and method for testing operation of software |
JP2013246512A (en) * | 2012-05-23 | 2013-12-09 | Fujitsu Ltd | Test data generation program, test data generation method and test data generation apparatus |
JP6439309B2 (en) * | 2014-07-31 | 2018-12-19 | 日本電気株式会社 | Data processing system, data processing method, and data processing program |
KR102356771B1 (en) * | 2014-09-08 | 2022-01-27 | 아브 이니티오 테크놀로지 엘엘시 | Data-driven testing framework |
JP6425634B2 (en) * | 2015-08-31 | 2018-11-21 | 株式会社日立製作所 | Service virtualization system and service virtualization method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002163157A (en) * | 2000-11-24 | 2002-06-07 | Ntt Comware Corp | Method and device for preparing telegraphic message for test and recording medium recording program for preparing telegraphic message for test |
JP2003280943A (en) * | 2002-03-27 | 2003-10-03 | Fujitsu Ltd | Support system for generating test data |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11120020A (en) * | 1997-10-14 | 1999-04-30 | Oki Electric Ind Co Ltd | Display method for test result |
-
2005
- 2005-03-10 JP JP2005067442A patent/JP4575811B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002163157A (en) * | 2000-11-24 | 2002-06-07 | Ntt Comware Corp | Method and device for preparing telegraphic message for test and recording medium recording program for preparing telegraphic message for test |
JP2003280943A (en) * | 2002-03-27 | 2003-10-03 | Fujitsu Ltd | Support system for generating test data |
Also Published As
Publication number | Publication date |
---|---|
JP2006252158A (en) | 2006-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4575811B2 (en) | Test data generation apparatus, method, and program for message processing system | |
US8819658B2 (en) | Methods and systems for managing update requests for a deployed software application | |
US20200004660A1 (en) | Systems and methods of integrated testing and deployment in a continuous integration continuous deployment (cicd) system | |
US8141043B2 (en) | Automated business process testing that spans multiple platforms or applications | |
US10503160B2 (en) | Integrated testing mechanism for industrial process control and automation systems | |
US7917896B2 (en) | Extensible execution language | |
US20090287643A1 (en) | Context based script generation | |
US7159209B1 (en) | Inter-application validation tool for use in enterprise architecture modeling | |
CN106537350A (en) | Method for processing data quality exceptions in data processing system | |
WO2006007588A2 (en) | Method and system for test case generation | |
JP5268589B2 (en) | Information processing apparatus and information processing apparatus operating method | |
KR20070113168A (en) | System construction guide system | |
CN111309734A (en) | Method and system for automatically generating table data | |
CN104954196A (en) | Automatic test method and system for DNS incremental data update service | |
JP4647352B2 (en) | Normality confirmation system, apparatus, method and program for message processing system | |
US20190220549A1 (en) | Analysis model preparing system, programming apparatus, and analysis model preparing method | |
JP4468845B2 (en) | Management device, method, and program for releasing additional device added to message processing system | |
JP2006059108A (en) | Support system for development test of information system | |
CN114598680B (en) | Domain name management method, device and storage medium | |
CN112015715A (en) | Industrial Internet data management service testing method and system | |
Luo et al. | Clustering and tailoring user session data for testing web applications | |
JP2005293044A (en) | Test data generation method and system | |
CN111726374B (en) | Web request processing method, system, device and computer readable storage medium | |
KR20210051817A (en) | System and method for providing an authentication information service based an open api | |
KR100425500B1 (en) | simulator of the EMS and controlling method therefore |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070919 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090908 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100309 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100510 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100601 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100722 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100817 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100820 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130827 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |