JP5337187B2 - Migration test support system, migration test support program, migration test support method - Google Patents

Migration test support system, migration test support program, migration test support method Download PDF

Info

Publication number
JP5337187B2
JP5337187B2 JP2011066634A JP2011066634A JP5337187B2 JP 5337187 B2 JP5337187 B2 JP 5337187B2 JP 2011066634 A JP2011066634 A JP 2011066634A JP 2011066634 A JP2011066634 A JP 2011066634A JP 5337187 B2 JP5337187 B2 JP 5337187B2
Authority
JP
Japan
Prior art keywords
application
information system
log
new
current
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
Application number
JP2011066634A
Other languages
Japanese (ja)
Other versions
JP2012203580A (en
Inventor
桂子 谷川
恵介 畑崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2011066634A priority Critical patent/JP5337187B2/en
Priority to PCT/JP2011/074900 priority patent/WO2012127729A1/en
Publication of JP2012203580A publication Critical patent/JP2012203580A/en
Application granted granted Critical
Publication of JP5337187B2 publication Critical patent/JP5337187B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/368Test management for test version control, e.g. updating test cases to a new software version

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

The purpose of the invention is, when analyzing the difference between a current system and a new system in a system transfer test, to facilitate an analysis of the cause of the difference between the old and new systems by excluding, from analysis objects, a portion where an application is modified. A transfer test support system according to the present invention reads, from an application execution result trace, a modification tag describing a portion where an application is modified, and excludes the portion from comparison objects between a current system and a new system (refer to Fig. 12).

Description

本発明は、計算機のOS(オペレーティングシステム)などを更改する際にともなうシステム移行を支援する技術に関する。   The present invention relates to a technology for supporting system migration when an OS (operating system) of a computer is updated.

近年、PC(パーソナルコンピュータ)サーバの性能が向上するに伴い、従来メインフレームが担ってきた基幹系システムが、オープンシステムに移行されつつある。PCサーバなどを用いて構成されているオープン系システムは、性能向上の進度が速く、次々と後継機種が登場し、製品の保証期間は例えば約5年程度と短い。これに対し、基幹系のようなサービスは、基本的なサービスであるためサービス内容が変わらないものが多いこと、稼働実績のあるサービスを更改することによる障害を起こしてはならないことなどの理由により、できる限り長期に稼働させたいというニーズがある。そのため、基幹系システムを移行する際には、例え同じハードウェアを交換する場合であっても、必ず移行テストが実施される。   In recent years, as the performance of a PC (personal computer) server is improved, a backbone system that has been conventionally handled by a mainframe is being transferred to an open system. An open system configured using a PC server or the like has a rapid progress in performance improvement, successor models appear one after another, and the warranty period of the product is as short as about 5 years, for example. On the other hand, services such as core systems are basic services, so there are many services that do not change, and it is not possible to cause problems due to renewal of services that have a track record of operation. There is a need to operate as long as possible. Therefore, when migrating a backbone system, a migration test is always performed even if the same hardware is replaced.

下記特許文献1には、移行前後のシステムのトレース情報を比較し、関数の呼び出し順序、引数が異なる個所などを発見し、変更されたモジュール一覧から、どのモジュールにデグレーションの原因があるかを予測する手法が記載されている。   The following Patent Document 1 compares system trace information before and after migration, finds the function call order, parts with different arguments, etc., and predicts which module has the cause of degration from the changed module list The technique to do is described.

特開平10−320234号公報JP-A-10-320234

システム移行を実施する際には、ハードウェア、ソフトウェアともに、その時点で提供されているバージョンにアップデートされる場合が多い。したがって、システム側の動作が変化することは容易に想定できる。   When performing system migration, both hardware and software are often updated to the version provided at that time. Therefore, it can be easily assumed that the operation on the system side changes.

基幹系のコンピュータシステムによるサービスは基本的なサービスであるので、コンピュータシステムが更改されてもサービス内容が変わらないことが要求される場合が多い。そのため、移行前のアプリケーションが移行後もそのまま動作するように新システムを構築することが重要である。もっとも、システムに対する入出力データが移行の前後で維持されていれば、システム内部の動作が変更されていたとしても、特段の支障はないと考えられる。したがって、アプリケーションには手を加えず、システム移行後も入出力データが移行前と同じであることを保証する必要がある。   Since the service provided by the backbone computer system is a basic service, it is often required that the service content does not change even if the computer system is renewed. For this reason, it is important to construct a new system so that the application before migration can operate as it is after migration. However, if the input / output data for the system is maintained before and after the migration, it is considered that there is no particular problem even if the internal operation of the system is changed. Therefore, it is necessary to ensure that the input / output data is the same as before the migration after the system migration without changing the application.

しかし実際には、ユーザサイドにおいて、システム運用中にアプリケーションに修正や機能追加等の改修が実施されている場合がある。この場合、システム移行前後において入出力データに予期しない相違が生じる可能性がある。このとき、その相違がシステム移行に起因するものであるのか、それともアプリケーションの改修が原因となっているのかを切り分ける必要がある。   However, in practice, on the user side, there are cases where modifications such as corrections and additions of functions are performed on the application during system operation. In this case, there may be an unexpected difference in input / output data before and after system migration. At this time, it is necessary to determine whether the difference is caused by system migration or whether the application is modified.

特許文献1に記載されている技術では、新旧システムの入出力ログやトレース情報を比較することにより、移行によって生じたシステム構成モジュールの相違点を抽出することはできるが、アプリケーション自体の更改も相違点として抽出するため、相違の原因を容易に切り分けることが難しい。   In the technique described in Patent Document 1, it is possible to extract differences between system configuration modules caused by migration by comparing input / output logs and trace information of old and new systems. Since it is extracted as a point, it is difficult to easily isolate the cause of the difference.

本発明は、上記のような課題を解決するためになされたものであり、システム移行テストにおいて、現行システムと新システムとの間の差分を解析するにあたり、アプリケーションが改修されている部分を解析対象から除外し、新旧システム間の相違原因を分析し易くすることを主な目的の一つとする。   The present invention has been made in order to solve the above-described problems. In analyzing a difference between a current system and a new system in a system migration test, a portion where an application has been repaired is analyzed. One of the main objectives is to make it easier to analyze the causes of differences between old and new systems.

本発明に係る移行テスト支援システムの一態様は、アプリケーションが改修されている箇所を記述した改修タグをアプリケーションの実行結果トレースから読み込み、その部分を現行システムと新システムの間の比較対象から除外する。   In one aspect of the migration test support system according to the present invention, a modification tag describing a location where an application is modified is read from the execution result trace of the application, and the portion is excluded from a comparison target between the current system and the new system. .

本発明に係る移行テスト支援システムによれば、アプリケーションの改修箇所を実行結果トレースから読み込むことにより、現行システムと新システムの間の相違がアプリケーションの改修によるものであるか否かを識別することができる。これにより、相違の原因を早期に発見することができる。   According to the migration test support system of the present invention, it is possible to identify whether or not the difference between the current system and the new system is due to the application modification by reading the modification part of the application from the execution result trace. it can. Thereby, the cause of a difference can be discovered at an early stage.

実施形態1に係る移行テスト支援システム1000の構成図である。1 is a configuration diagram of a migration test support system 1000 according to Embodiment 1. FIG. テスト支援サーバ100の詳細構成を示す図である。2 is a diagram showing a detailed configuration of a test support server 100. FIG. WebAPサーバ210の構成を示す図である。2 is a diagram illustrating a configuration of a WebAP server 210. FIG. アプリケーション211の実行結果トレースを生成する処理のフローチャートである。10 is a flowchart of processing for generating an execution result trace of an application 211. 新トレースログ1123の構成とデータ例を示す図である。It is a figure which shows the structure and data example of a new trace log 1123. テスト支援サーバ100の処理フローである。It is a processing flow of the test support server 100. FIG. ステップS600の詳細を示す図である。It is a figure which shows the detail of step S600. 現行セッション管理テーブル1111の構成とデータ例を示す図である。It is a figure which shows the structure and example of data of the present session management table 1111. 現行入出力ログ1112の構成とデータ例を示す図である。5 is a diagram showing a configuration and data example of a current input / output log 1112. FIG. リプレイテストシナリオ113の構成とデータ例を示す図である。It is a figure which shows the structure and example of data of the replay test scenario. ステップS601の詳細を示すフローチャートである。It is a flowchart which shows the detail of step S601. ステップS607の詳細を示すフローチャートである。It is a flowchart which shows the detail of step S607.

<実施の形態1>
図1は、本発明の実施形態1に係る移行テスト支援システム1000の構成図である。移行テスト支援システム1000は、テスト支援サーバ100、現行システム200、新システム300及び端末400を有する。これらはネットワークを介して接続されている。
<Embodiment 1>
FIG. 1 is a configuration diagram of a migration test support system 1000 according to Embodiment 1 of the present invention. The migration test support system 1000 includes a test support server 100, a current system 200, a new system 300, and a terminal 400. These are connected via a network.

テスト支援サーバ100は、現行システム200を新システム300に移行する際に、アプリケーションの動作が変更されていないかをテストする移行テスト支援を実施するサーバ装置である。テスト支援サーバ100は、現行システムログ111と新システムログ112に記録されているログに基づき、移行テスト支援を実施する。これらログ及びテスト支援サーバ100の詳細は後述する。   The test support server 100 is a server device that performs migration test support for testing whether the operation of an application has been changed when the current system 200 is migrated to the new system 300. The test support server 100 performs migration test support based on the logs recorded in the current system log 111 and the new system log 112. Details of these logs and the test support server 100 will be described later.

現行システム200は、Web3階層モデルに準じたWebアプリケーションを実行する情報システムであり、WebAPサーバ210及びDBMS220を有する。WebAPサーバ210は、Webアプリケーションとして実装されたアプリケーション(AP)211と、開発/実行環境212とを有する。開発/実行環境212は、アプリケーション開発を実施するための開発ソフトウェアなどを含むソフトウェア群である。詳細は後述する。DBMS220は、アプリケーション211が利用するデータベース(DB)へのアクセス等を管理する機能を有する。   The current system 200 is an information system that executes a Web application conforming to the Web three-layer model, and includes a WebAP server 210 and a DBMS 220. The WebAP server 210 includes an application (AP) 211 implemented as a Web application and a development / execution environment 212. The development / execution environment 212 is a software group including development software for executing application development. Details will be described later. The DBMS 220 has a function of managing access to a database (DB) used by the application 211.

新システム300は、現行システム200のうち、WebAPサーバ210を新WebAPサーバ310に置き換えたものである。これにともない、Webアプリケーションを提供するためのミドルウェアが新バージョンに置き換えられている。また、移行前におけるアプリケーション211は、新システム300の下では改修アプリケーション311に置き換えられている場合もある。   The new system 300 is obtained by replacing the WebAP server 210 with the new WebAP server 310 in the current system 200. Accordingly, middleware for providing Web applications has been replaced with a new version. Further, the application 211 before the migration may be replaced with the repair application 311 under the new system 300.

新システム300は、アプリケーション211の動作が現行システム200との間で相違ないことを保証する必要がある。システム内部の動作は、現行システム200と新システム300の間で異なっていても問わないことにする。システム内部の動作とは、例えばOSやWebサーバなどのミドルウェアの動作がこれに相当する。   The new system 300 needs to ensure that the operation of the application 211 is not different from the current system 200. The internal operation of the system may be different between the current system 200 and the new system 300. The operation inside the system corresponds to, for example, the operation of middleware such as an OS or a Web server.

WebAPサーバ210と新WebAPサーバ310は、本実施形態1における「アプリケーション実行装置」に相当する。   The WebAP server 210 and the new WebAP server 310 correspond to the “application execution device” in the first embodiment.

図2は、テスト支援サーバ100の詳細構成を示す図である。テスト支援サーバ100は、記憶装置110、メモリ120、ネットワークインタフェース130、プロセッサ140、入力装置150、出力装置160及びバス170を備える。   FIG. 2 is a diagram illustrating a detailed configuration of the test support server 100. The test support server 100 includes a storage device 110, a memory 120, a network interface 130, a processor 140, an input device 150, an output device 160, and a bus 170.

記憶装置110は、ハードディスク装置などの不揮発性記憶装置であり、図1で説明した現行システムログ111と新システムログ112を格納する。これらログはメモリ120上に展開することもできる。図2では、記載の便宜上、メモリ120上にこれらログを展開した例を示した。   The storage device 110 is a nonvolatile storage device such as a hard disk device, and stores the current system log 111 and the new system log 112 described with reference to FIG. These logs can also be expanded on the memory 120. FIG. 2 shows an example in which these logs are expanded on the memory 120 for convenience of description.

メモリ120は、プロセッサ140が実行するプログラム、現行システムログ111、新システムログ112及びリプレイテストシナリオ113を格納する記憶装置である。これらプログラム等については後述する。以下では記載の便宜上、各プログラムを動作主体として説明する場合があるが、実際にこれらプログラムを実行するのはプロセッサ140であることを付言しておく。   The memory 120 is a storage device that stores a program executed by the processor 140, a current system log 111, a new system log 112, and a replay test scenario 113. These programs will be described later. In the following, for convenience of description, each program may be described as an operation subject, but it is added that the processor 140 actually executes these programs.

ネットワークインタフェース130は、テスト支援サーバ100とネットワークを接続するインタフェースである。入力装置150は、ユーザがテスト支援サーバ100を操作するためのキーボード、マウスなどの操作装置である。出力装置160は、テスト支援サーバ100が実施した処理などを表示するディスプレイ等の画面出力装置である。バス170は、上記各機能部を接続する。   The network interface 130 is an interface that connects the test support server 100 and the network. The input device 150 is an operation device such as a keyboard and a mouse for the user to operate the test support server 100. The output device 160 is a screen output device such as a display that displays processing performed by the test support server 100. The bus 170 connects the above functional units.

メモリ120は、プロセッサ140が実行する移行テスト支援プログラムとして、通信部141、リプレイテスト実行部142、トレース情報受信部143、新システムログ情報処理部144、現行システムログ情報取得部145及び差分抽出部146を格納する。これら機能部は一体的に構成してもよい。メモリ120はその他、現行システムログ111を構成する各ログとして、現行セッション管理テーブル1111、現行入出力ログ1112及び現行テストログ1113を格納する。また、新システムログ112を構成する各ログとして、新セッション管理テーブル1121、新入出力ログ1122、新トレースログ1123及び新テストログ1124を格納する。   The memory 120 includes a communication unit 141, a replay test execution unit 142, a trace information reception unit 143, a new system log information processing unit 144, a current system log information acquisition unit 145, and a difference extraction unit as a migration test support program executed by the processor 140. 146 is stored. You may comprise these function parts integrally. In addition, the memory 120 stores a current session management table 1111, a current input / output log 1112, and a current test log 1113 as logs constituting the current system log 111. In addition, a new session management table 1121, a new input / output log 1122, a new trace log 1123, and a new test log 1124 are stored as each log constituting the new system log 112.

通信部141は、ネットワークインタフェース130が受信したデータを取得し、リプレイテスト実行部142が送信するデータをネットワークインタフェース130へ出力する。   The communication unit 141 acquires data received by the network interface 130 and outputs data transmitted by the replay test execution unit 142 to the network interface 130.

リプレイテスト実行部142は、現行システムログ情報取得部145が取得した現行セッション管理テーブル1111及び現行入出力ログ1112から、新システム300に投入するリプレイテストシナリオ113を生成する。また、リプレイテストシナリオ113にしたがって、新システム300へ入力データを送信し、新システム300から出力データを受信して、これに基づき新セッション管理テーブル1121及び新入出力ログ1122を生成する。   The replay test execution unit 142 generates a replay test scenario 113 to be input to the new system 300 from the current session management table 1111 and the current input / output log 1112 acquired by the current system log information acquisition unit 145. Further, in accordance with the replay test scenario 113, input data is transmitted to the new system 300, output data is received from the new system 300, and a new session management table 1121 and a new input / output log 1122 are generated based on this.

トレース情報受信部143は、図3に後述する新システム300の開発/実行環境212が出力するアプリケーション実行時の新トレースログ1123を取得し、新システムログ情報処理部144へ引き渡す。新トレースログ1123は、新システム300を構成する少なくとも1つ以上のサーバミドルウェアが個別にあるいは連携して出力する。ここでいうサーバミドルウェアは、例えば新WebAPサーバ310が実行するWebサーバ及びアプリケーションサーバ及びDBMS220などがこれに相当する。   The trace information receiving unit 143 acquires a new trace log 1123 at the time of application execution output from the development / execution environment 212 of the new system 300 described later with reference to FIG. 3 and delivers it to the new system log information processing unit 144. The new trace log 1123 is output individually or in cooperation by at least one or more server middleware configuring the new system 300. The server middleware here corresponds to, for example, the Web server and application server executed by the new WebAP server 310, the DBMS 220, and the like.

新システムログ情報処理部144は、リプレイテスト実行部142がリプレイテストを実行して得た新セッション管理テーブル1121及び新入出力ログ1122を受け取り、またトレース情報受信部143から新トレースログ1123を受け取る。   The new system log information processing unit 144 receives the new session management table 1121 and the new input / output log 1122 obtained by the replay test execution unit 142 executing the replay test, and receives the new trace log 1123 from the trace information reception unit 143.

現行システムログ情報取得部145は、現行システム200から現行システムログ111を取得し、差分抽出部146へ引き渡す。   The current system log information acquisition unit 145 acquires the current system log 111 from the current system 200 and passes it to the difference extraction unit 146.

差分抽出部146は、現行テストログ1113と新テストログ1124を比較し、差分を検出する。この際、新テストログ1124内にアプリケーション211を改修した旨を示す改修タグが付加されている場合は、その部分の処理については差分検出の対象から除外して両者を比較する。詳細は後述の図12で説明する。   The difference extraction unit 146 compares the current test log 1113 and the new test log 1124 to detect a difference. At this time, if a modification tag indicating that the application 211 has been modified is added in the new test log 1124, the processing of that portion is excluded from the difference detection target and compared. Details will be described later with reference to FIG.

図3は、WebAPサーバ210の構成を示す図である。新WebAPサーバ310も同様の構成を有する。WebAPサーバ210は、AP211と開発/実効環境212の他、メモリ213、プロセッサ214、記憶装置215、入力装置216、出力装置217、ネットワークインタフェース218及びバス219を備える。記憶装置215、入力装置216、出力装置217、ネットワークインタフェース218及びバス219の役割についてはテスト支援サーバ100と同様であるため、説明を省略する。   FIG. 3 is a diagram illustrating the configuration of the WebAP server 210. The new WebAP server 310 has a similar configuration. In addition to the AP 211 and the development / effective environment 212, the WebAP server 210 includes a memory 213, a processor 214, a storage device 215, an input device 216, an output device 217, a network interface 218, and a bus 219. Since the roles of the storage device 215, the input device 216, the output device 217, the network interface 218, and the bus 219 are the same as those of the test support server 100, description thereof is omitted.

開発/実行環境212は、プログラム開発ツール及びその実行モジュールなど、アプリケーション211を開発するために用いられるソフトウェアを集約したものである。開発/実行環境212は、スタンドアロンアプリケーションとして構成することもできるし、WebAPサーバ210配下のアプリケーションとして構成することもできる。   The development / execution environment 212 is a collection of software used to develop the application 211 such as a program development tool and its execution module. The development / execution environment 212 can be configured as a stand-alone application, or can be configured as an application under the WebAP server 210.

メモリ213は、開発/実行環境212を構成するプログラムモジュールとして、通信部2121、アプリケーションコンパイル部2122、アプリケーション実行部2123、トレース情報送信部2124及びアプリケーションプログラミングインタフェース(API)2125を格納する。新WebAPサーバ310は、さらに新トレースログ1123を格納する。アプリケーションコンパイル部2122は、さらにアプリケーション改修検出部21221と実行ファイル生成部21222を有する。アプリケーション実行部2123は、さらに実行部21231とトレース情報記録部21232を有する。   The memory 213 stores a communication unit 2121, an application compilation unit 2122, an application execution unit 2123, a trace information transmission unit 2124, and an application programming interface (API) 2125 as program modules constituting the development / execution environment 212. The new WebAP server 310 further stores a new trace log 1123. The application compilation unit 2122 further includes an application modification detection unit 21221 and an execution file generation unit 21222. The application execution unit 2123 further includes an execution unit 21231 and a trace information recording unit 21232.

通信部2121は、ネットワークインタフェース218から、アプリケーション211に対する入力データ及びテスト支援サーバ100からのシステムログ取得要求を受信し、これらをアプリケーション211やトレース情報送信部2124に引き渡す。また、アプリケーション211が送信するデータや、アプリケーション211を実行して得られるトレース情報を、ネットワークインタフェース218へ出力する。   The communication unit 2121 receives input data for the application 211 and a system log acquisition request from the test support server 100 from the network interface 218, and delivers them to the application 211 and the trace information transmission unit 2124. In addition, data transmitted by the application 211 and trace information obtained by executing the application 211 are output to the network interface 218.

実行ファイル生成部21222は、アプリケーションソースコードをコンパイルして実行ファイルを生成する。   The execution file generation unit 21222 generates an execution file by compiling the application source code.

アプリケーション改修検出部21221は、実行ファイル生成部21222がアプリケーション211のソースコードをコンパイルする時、ソースコードのうち改修されている部分及び改修されている部分を呼び出している部分に改修タグを付ける。改修タグを付ける処理は、ユーザがソースコードを改修した際にアプリケーション改修検出部21221が自動的に実施してもよいし、API2125を介してユーザが改修箇所を指定するようにしてもよい。   When the execution file generation unit 21222 compiles the source code of the application 211, the application modification detection unit 21221 attaches a modification tag to a part of the source code that is modified and a part that is calling the modified part. The process of attaching the modification tag may be automatically performed by the application modification detection unit 21221 when the user modifies the source code, or the user may designate a modification location via the API 2125.

実行部21231は、実行ファイル生成部21222がソースコードをコンパイルすることによって生成したアプリケーション211の実行ファイルを起動して実行する。   The execution unit 21231 activates and executes the execution file of the application 211 generated by the execution file generation unit 21222 compiling the source code.

トレース情報記録部21232は、実行部21231がアプリケーション211を実行する際、トレースID等の識別子を割り当て、アプリケーション211に対する入力から出力までのシステム内部動作をトレースした情報を記録する。   When the execution unit 21231 executes the application 211, the trace information recording unit 21232 assigns an identifier such as a trace ID and records information obtained by tracing the internal operation of the system from input to output to the application 211.

トレース情報送信部2124は、テスト支援サーバ100からの要求に応じて、トレース情報記録部21232が記録したトレース情報を送信する。   The trace information transmission unit 2124 transmits the trace information recorded by the trace information recording unit 21232 in response to a request from the test support server 100.

API2125は、現行システム200と新システム300が有するシステム要素のうち、新バージョンに置き換えられているミドルウェア等が有するAPIである。例えばWebアプリケーションを実行するために用いるミドルウェアやDBMSなどが提供するAPIがこれに相当する。   The API 2125 is an API included in middleware or the like that is replaced with a new version among the system elements included in the current system 200 and the new system 300. For example, an API provided by middleware or DBMS used for executing a Web application corresponds to this.

以上、移行テスト支援システム1000の構成について説明した。以下の図4〜図7では、移行テスト支援システム1000の動作手順について説明する。   The configuration of the migration test support system 1000 has been described above. 4 to 7 below, an operation procedure of the migration test support system 1000 will be described.

図4は、新システム300におけるアプリケーションコンパイル部2122とアプリケーション実行部2123が、アプリケーション211(又は改修アプリケーション311、以下図4において同様)の実行結果トレースを生成する処理のフローチャートである。実行結果トレースは、アプリケーション211又は改修アプリケーション311の内部的な処理状態を記録するログである。実行結果トレースは特に、アプリケーションが改修されている箇所を示す改修タグを記録する意義がある。以下、図4の各ステップについて説明する。   FIG. 4 is a flowchart of a process in which the application compilation unit 2122 and the application execution unit 2123 in the new system 300 generate an execution result trace of the application 211 (or the modified application 311, the same applies to FIG. 4 below). The execution result trace is a log that records the internal processing state of the application 211 or the modification application 311. The execution result trace is particularly meaningful for recording a modification tag indicating a location where the application is modified. Hereinafter, each step of FIG. 4 will be described.

(図4:ステップS400)
アプリケーションコンパイル部2122は、例えばユーザの選択に基づき、アプリケーション211のソースコードをコンパイルするか、それともアプリケーション211を実行して実行結果トレースを生成するかを判断する。コンパイルを実施する場合はステップS401へ進み、実行結果トレースを生成する場合はステップS408へスキップする。
(FIG. 4: Step S400)
For example, based on the user's selection, the application compiling unit 2122 determines whether to compile the source code of the application 211 or to execute the application 211 and generate an execution result trace. When compiling, the process proceeds to step S401, and when generating an execution result trace, the process skips to step S408.

(図4:ステップS401〜S402)
アプリケーションコンパイル部2122は、アプリケーション211のソースコードを適当な分量(例えば1命令文)読み込む(S401)。アプリケーションコンパイル部2122は、ソースコード内に改修タグが付加されているかどうかを検出する(S402)。改修タグが付加されている場合はステップS403へ進み、付加されていない場合はステップS404へスキップする。
(FIG. 4: Steps S401 to S402)
The application compilation unit 2122 reads an appropriate amount (for example, one instruction sentence) of the source code of the application 211 (S401). The application compiling unit 2122 detects whether a modification tag is added in the source code (S402). If a modification tag has been added, the process proceeds to step S403. If not, the process skips to step S404.

(図4:ステップS402:補足)
ソースコード内の改修タグは、ユーザがソースコードを改修するときに手動で付加してもよいし、ソースコードが改修された旨をプログラム開発ツールなどが自動検出して自動的に付加してもよい。
(FIG. 4: Step S402: Supplement)
The modification tag in the source code may be added manually when the user modifies the source code, or a program development tool or the like automatically detects that the source code has been modified. Good.

(図4:ステップS403)
アプリケーションコンパイル部2122は、アプリケーション211のソースコード内の改修されている箇所に、改修タグが付加されている旨のトレース情報を出力するプログラムコードを埋め込む。例えば、実行結果トレースのファイル名を指定し、ソースコード内の改修されている箇所の行番号、関数名などを実行結果トレースに書き込むようなコードを埋め込む。実行結果トレースの例は後述の図5で説明する。
(FIG. 4: Step S403)
The application compiling unit 2122 embeds a program code that outputs trace information indicating that a modification tag is added to a portion of the source code of the application 211 that has been modified. For example, a file name for the execution result trace is specified, and a code that writes the line number, function name, etc. of the modified part in the source code to the execution result trace is embedded. An example of the execution result trace will be described later with reference to FIG.

(図4:ステップS404〜S405)
アプリケーションコンパイル部2122は、ステップS402で検出した、改修タグが付加されている箇所のプログラム命令のうち、API2125を利用しているものがあるか否かを判定する(S404)。改修タグが付加されているプログラム命令のうちAPI2125を利用しているものがある場合はステップS406へ進み、ない場合はステップS407へスキップする(S405)。
(FIG. 4: Steps S404 to S405)
The application compiling unit 2122 determines whether or not there is a program instruction using the API 2125 among the program instructions detected at step S402 and where the modification tag is added (S404). If there is a program instruction using the API 2125 among the program instructions to which the modification tag is added, the process proceeds to step S406, and if not, the process skips to step S407 (S405).

(図4:ステップS404〜S405:補足)
本ステップは、アプリケーション211の改修された部分が、API2125を介してミドルウェアと連結しているか否かを判定するための準備としての意義がある。改修された部分のプログラム命令がAPI2125を利用している場合は、その部分はAPI2125を介してミドルウェアの機能を利用しているため、ミドルウェアを更改するとその影響がアプリケーション211にも及ぶ可能性があると考えられる。アプリケーション211のうち動作がシステム移行前後で異なる場合、その部分がAPI2125を利用していなければ、動作の相違はアプリケーション211自体の改修によって生じたと推測することができる。
(FIG. 4: Steps S404 to S405: Supplement)
This step has significance as a preparation for determining whether or not the modified part of the application 211 is connected to the middleware via the API 2125. If the modified part of the program instruction uses the API 2125, the part uses the middleware function via the API 2125, and therefore, if the middleware is renewed, the application 211 may be affected. it is conceivable that. If the operation of the application 211 is different between before and after the system migration, if that portion does not use the API 2125, it can be assumed that the difference in operation has occurred due to the modification of the application 211 itself.

(図4:ステップS406)
アプリケーションコンパイル部2122は、改修タグが付加されているプログラム命令がAPI2125を使用している旨のトレース情報を出力するプログラムコードを埋め込む。例えばミドルウェア更改によってAPI2125に関連する部分が更改されたか否かなどの基準により、ミドルウェア更改の影響がアプリケーション211に及ぶか否かを推定し、その結果をトレース情報に出力してもよい。
(FIG. 4: Step S406)
The application compiling unit 2122 embeds a program code that outputs trace information indicating that the program instruction to which the modification tag is added uses the API 2125. For example, it may be estimated whether the influence of middleware renewal affects the application 211 based on a criterion such as whether or not a portion related to the API 2125 has been renewed by middleware renewal, and the result may be output to the trace information.

(図4:ステップS407)
アプリケーションコンパイル部2122は、アプリケーション211のソースコードをコンパイルして実行コードを生成する。
(FIG. 4: Step S407)
The application compilation unit 2122 compiles the source code of the application 211 and generates an execution code.

(図4:ステップS408〜S409)
アプリケーション実行部2123は、例えばユーザの選択に基づき、アプリケーション211を実行するよう指示されているか否かを判断する。実行する場合はステップS409へ進んでアプリケーション211を起動し(S409)、実行しない場合は本処理フローを終了する。
(FIG. 4: Steps S408 to S409)
The application execution unit 2123 determines, for example, whether or not an instruction to execute the application 211 is given based on the user's selection. If it is to be executed, the process proceeds to step S409 to start the application 211 (S409), and if not, this processing flow is terminated.

(図4:ステップS410)
アプリケーション実行部2123は、アプリケーションコンパイル部2122が生成した実行コードを読み込んで実行する。
(FIG. 4: Step S410)
The application execution unit 2123 reads and executes the execution code generated by the application compilation unit 2122.

(図4:ステップS411〜S412)
アプリケーション実行部2123は、実行コード内に、アプリケーションコンパイル部2122がステップS403でソースコード内に埋め込んだプログラムコードが含まれているか否かを判定する(S412)。含まれている場合は、改修タグを記述したトレース情報を新トレースログ1123に記録する(S412)。
(FIG. 4: Steps S411 to S412)
The application execution unit 2123 determines whether the execution code includes the program code embedded in the source code by the application compilation unit 2122 in step S403 (S412). If it is included, the trace information describing the modification tag is recorded in the new trace log 1123 (S412).

(図4:ステップS413〜S414)
アプリケーション実行部2123は、実行コード内に、アプリケーションコンパイル部2122がステップS406でソースコード内に埋め込んだプログラムコードが含まれているか否かを判定する(S413)。含まれている場合は、改修タグが付加されているプログラム命令がAPI2125を使用している旨のトレース情報を新トレースログ1123に記録する(S414)。
(FIG. 4: Steps S413 to S414)
The application execution unit 2123 determines whether the execution code includes the program code embedded in the source code by the application compilation unit 2122 in step S406 (S413). If it is included, trace information indicating that the program instruction to which the modification tag is added uses the API 2125 is recorded in the new trace log 1123 (S414).

(図4:ステップS415)
アプリケーション実行部2123は、アプリケーション211が終了するまで、S410〜S414を繰り返し実行する。
(FIG. 4: Step S415)
The application execution unit 2123 repeatedly executes S410 to S414 until the application 211 ends.

図5は、新トレースログ1123の構成とデータ例を示す図である。新トレースログ1123は、アプリケーション実行部2123が図4で説明した処理フローにしたがって新システム300におけるアプリケーション211(又は改修アプリケーション311、以下図5において同じ)を実行することによって得られる、アプリケーション211の内部的な動作ログである。現行テストログ1113及び新テストログ1124も、同様のフォーマットを有する。   FIG. 5 is a diagram showing a configuration and data example of the new trace log 1123. The new trace log 1123 is obtained when the application execution unit 2123 executes the application 211 (or the renovation application 311, the same in FIG. 5 below) in the new system 300 according to the processing flow described in FIG. It is a typical operation log. The current test log 1113 and the new test log 1124 have a similar format.

新トレースログ1123は、1レコード内に、時刻情報112301、プロセスID112302、トレースID112303、セッションID112304、送信元アドレス112305、宛先アドレス112306、モジュール名112307、処理コード112308、APIフラグ112312、改修タグ112313及びデータ112314を格納する。   The new trace log 1123 includes time information 112301, process ID 112302, trace ID 112303, session ID 112304, transmission source address 112305, destination address 112306, module name 112307, processing code 112308, API flag 112312, modification tag 112313 and data in one record. 112314 is stored.

時刻情報112301は、当該レコードが発生した時刻を保持する。プロセスID112302は、当該レコードを出力するプログラムのプロセス識別子を保持する。トレースID112303は、当該レコードがどの入力データに対するトレース情報であるのかを対応付けるための識別子を保持する。セッションID112304は、当該レコードを記録したアプリケーション211へその時点で割り当てられているセッション識別子を保持する。   The time information 112301 holds the time when the record occurred. The process ID 112302 holds the process identifier of the program that outputs the record. The trace ID 112303 holds an identifier for associating with which input data the record corresponds to the trace information. The session ID 112304 holds a session identifier assigned to the application 211 that recorded the record at that time.

送信元アドレス112305は、当該レコードが通信処理に関するものである場合、当該通信処理の送信元アドレスを保持する。宛先アドレス112306は、当該レコードが通信処理に関するものである場合、当該通信処理の宛先アドレスを保持する。   The transmission source address 112305 holds the transmission source address of the communication process when the record relates to the communication process. The destination address 112306 holds the destination address of the communication process when the record relates to the communication process.

モジュール名112307は、当該レコードを出力したプログラムコードのモジュール名を保持する。処理コード112308は、当該レコードを出力したプログラムの関数名112309、入力引数112310、出力値112311を保持する。   The module name 112307 holds the module name of the program code that has output the record. The processing code 112308 holds a function name 112309, an input argument 112310, and an output value 112311 of the program that has output the record.

APIフラグ112312は、処理コード112308が指定するプログラムコードがAPI1125を利用しているか否かを示す値を保持する。改修タグ112313は、処理コード112308が指定するプログラムコードが改修されているか否かを示す値を保持する。例えば、改修タグ112313が“0”である場合は改修なしを、“1”である場合は当該コードが改修されていることを、“2”である場合は改修されたコードを利用していること等である。データ112314は、例えば当該レコードが通信処理に関するものである場合は、その通信データ、関係するメモリのデータ等を保持する。   The API flag 112312 holds a value indicating whether or not the program code specified by the processing code 112308 uses the API 1125. The modification tag 112313 holds a value indicating whether or not the program code specified by the processing code 112308 has been modified. For example, when the modification tag 112313 is “0”, no modification is performed, when the modification tag 112313 is “1”, the code is modified, and when the modification tag 112313 is “2”, the modified code is used. And so on. For example, when the record relates to a communication process, the data 112314 holds the communication data, related memory data, and the like.

図6は、テスト支援サーバ100の処理フローである。以下、図6の各ステップについて説明する。
(図6:ステップS600)
現行システムログ情報取得部145は、現行システムログ111を取得する。リプレイテスト実行部142は、現行システムログ111を用いて、リプレイテストシナリオ113を生成する。本ステップの詳細は、後述の図7で改めて説明する。
FIG. 6 is a processing flow of the test support server 100. Hereinafter, each step of FIG. 6 will be described.
(FIG. 6: Step S600)
The current system log information acquisition unit 145 acquires the current system log 111. The replay test execution unit 142 generates a replay test scenario 113 using the current system log 111. Details of this step will be described later with reference to FIG.

(図6:ステップS601)
リプレイテスト実行部142は、リプレイテストシナリオ113にしたがって、新システム300のリプレイテストを実施する。リプレイテストは、新システム300に対して現行システム200と同様の入力データを与え、出力データを記録することにより、現行システム200の動作を再現するテストである。本ステップの詳細は、後述の図11で改めて説明する。
(FIG. 6: Step S601)
The replay test execution unit 142 performs a replay test of the new system 300 according to the replay test scenario 113. The replay test is a test for reproducing the operation of the current system 200 by providing the new system 300 with the same input data as the current system 200 and recording the output data. Details of this step will be described later with reference to FIG.

(図6:ステップS602〜S604)
リプレイテスト実行部142は、現行入出力ログ1112を読み込み(S602)、リプレイテストによって出力した新入出力ログ1122と比較する(S603)。現行入出力ログ1112における入力データと出力データの対応関係が、新入出力ログ1122における入力データと出力データの対応関係とは異なっている場合は、ステップS605へ進む。両者が同じである場合は、本処理フローを終了する(S604)。
(FIG. 6: Steps S602 to S604)
The replay test execution unit 142 reads the current input / output log 1112 (S602) and compares it with the new input / output log 1122 output by the replay test (S603). If the correspondence relationship between the input data and the output data in the current input / output log 1112 is different from the correspondence relationship between the input data and the output data in the new input / output log 1122, the process proceeds to step S605. If both are the same, the process flow ends (S604).

(図6:ステップS603:補足)
現行入出力ログ1112と新入出力ログ1122の比較は、セッション識別子(セッションID)をキーとし、システムに対する入力データとシステムからの出力データとをそれぞれ比較することによって実施する。
(FIG. 6: Step S603: Supplement)
The comparison between the current input / output log 1112 and the new input / output log 1122 is performed by comparing the input data to the system and the output data from the system using the session identifier (session ID) as a key.

(図6:ステップS605)
トレース情報受信部143は、新システム300から新トレースログ1123を取得する。
(FIG. 6: Step S605)
The trace information receiving unit 143 acquires the new trace log 1123 from the new system 300.

(図6:ステップS606)
新システムログ情報処理部144は、新入出力ログ1122及び新トレースログ1123を、時刻情報112301やシステムがアプリケーション実行時に割り当てる識別子(例えば、プロセスID112302、トレースID112303、セッションID112304等)を基準として統合することにより、新テストログ1124を生成する。
(FIG. 6: Step S606)
The new system log information processing unit 144 integrates the new input / output log 1122 and the new trace log 1123 with reference to time information 112301 and identifiers (for example, process ID 112302, trace ID 112303, session ID 112304, etc.) assigned by the system when executing the application. Thus, a new test log 1124 is generated.

(図6:ステップS607)
差分抽出部146は、現行テストログ1113におけるシステム入出力と、新テストログ1124におけるシステム入出力との間の差分を抽出する。本ステップの詳細は、後述の図12で説明する。
(FIG. 6: Step S607)
The difference extraction unit 146 extracts a difference between the system input / output in the current test log 1113 and the system input / output in the new test log 1124. Details of this step will be described later with reference to FIG.

(図6:ステップS608〜S609)
差分抽出部146は、現行テストログ1113と新テストログ1124の間に差分があるか否かを判断する(S608)。差分がある場合はその差分を記述した差分情報を記憶装置110に書き込み、差分がない場合は本処理フローを終了する(S609)。
(FIG. 6: Steps S608 to S609)
The difference extraction unit 146 determines whether there is a difference between the current test log 1113 and the new test log 1124 (S608). If there is a difference, difference information describing the difference is written to the storage device 110, and if there is no difference, the process flow ends (S609).

図7は、ステップS600の詳細を示す図である。以下、図7の各ステップについて説明する。
(図7:ステップS700)
リプレイテスト実行部142は、後述の図8で説明する現行セッション管理テーブル1111を読み込む。現行セッション管理テーブル1111は、端末400と現行システム200の間の通信処理を、主にネットワークの観点から通信セッション単位で記録したデータテーブルである。すなわち本ステップは、端末400と現行システム200の間のデータ入出力を通信セッション単位で再現しようとするものである。
FIG. 7 is a diagram showing details of step S600. Hereinafter, each step of FIG. 7 will be described.
(FIG. 7: Step S700)
The replay test execution unit 142 reads a current session management table 1111 described later with reference to FIG. The current session management table 1111 is a data table in which communication processing between the terminal 400 and the current system 200 is recorded in communication session units mainly from the viewpoint of the network. That is, in this step, data input / output between the terminal 400 and the current system 200 is to be reproduced for each communication session.

(図7:ステップS701〜S702)
リプレイテスト実行部142は、現行セッション管理テーブル1111から1レコード分の情報を読み取る(S701)。現行セッション管理テーブル1111にレコードが記録されていればその情報を取得し(S702)、記録されていなければステップS706へスキップする。
(FIG. 7: Steps S701 to S702)
The replay test execution unit 142 reads information for one record from the current session management table 1111 (S701). If a record is recorded in the current session management table 1111, the information is acquired (S 702), and if not recorded, the process skips to step S 706.

(図7:ステップS703)
現行システムログ情報取得部145は、後述の図9で説明する現行入出力ログ1112を読み込む。現行入出力ログ1112は、端末400と現行システム200の間の通信処理を、主にアプリケーション211に対する入出力データの観点から通信セッション単位で記録したデータテーブルである。現行セッション管理テーブル1111はネットワーク情報を記録しているのに対して、現行入出力ログ1112は入出力データを記録している点が異なる。すなわち、端末400と現行システム200の間の通信処理は、現行セッション管理テーブル1111と現行入出力ログ1112にまたがって記録されている。
(FIG. 7: Step S703)
The current system log information acquisition unit 145 reads a current input / output log 1112 described later with reference to FIG. The current input / output log 1112 is a data table in which communication processing between the terminal 400 and the current system 200 is recorded in communication session units mainly from the viewpoint of input / output data for the application 211. The current session management table 1111 records network information, whereas the current input / output log 1112 records input / output data. That is, the communication process between the terminal 400 and the current system 200 is recorded across the current session management table 1111 and the current input / output log 1112.

(図7:ステップS704)
現行システムログ情報取得部145は、ステップS702で取得したレコード内に記録されているセッションIDをキーとして、現行入出力ログ1112の対応するレコードを特定し、そのレコードに記録されている入出力データを取得する。
(FIG. 7: Step S704)
The current system log information acquisition unit 145 identifies the corresponding record in the current input / output log 1112 using the session ID recorded in the record acquired in step S702 as a key, and the input / output data recorded in the record To get.

(図7:ステップS705〜S706)
リプレイテスト実行部142は、ステップS702〜S704で取得した各情報を、後述の図10で説明するリプレイテストシナリオ113に記録する(S705)。リプレイテスト実行部142は、現行セッション管理テーブル1111が他のセッション記録を保持していればステップS702に戻って同様の処理を繰り返し、保持していなければ本処理フローを終了する(S706)。
(FIG. 7: Steps S705 to S706)
The replay test execution unit 142 records each piece of information acquired in steps S702 to S704 in the replay test scenario 113 described later with reference to FIG. 10 (S705). The replay test execution unit 142 returns to step S702 if the current session management table 1111 holds another session record, repeats the same processing, and ends this processing flow if not held (S706).

図8は、現行セッション管理テーブル1111の構成とデータ例を示す図である。新セッション管理テーブル1121も同様の構成を有する。現行セッション管理テーブル1111は、端末400と現行システム200の間の通信処理を通信セッション単位で記録したデータテーブルであり、新セッションID11111、送信元アドレス11112、宛先アドレス11113、開始時刻11114、終了時刻11115、旧セッションID11116を格納する。   FIG. 8 is a diagram illustrating a configuration of the current session management table 1111 and a data example. The new session management table 1121 has the same configuration. The current session management table 1111 is a data table in which communication processing between the terminal 400 and the current system 200 is recorded for each communication session, and includes a new session ID 11111, a source address 11112, a destination address 11113, a start time 11114, and an end time 11115. The old session ID 11116 is stored.

新セッションID11111は、新システム300の新WebAPサーバ310が端末400に対して割り当てるセッション識別子を保持する。送信元アドレス11112と宛先アドレス11113は、新セッションID11111の値で識別される通信セッションにおける通信元と通信先それぞれのアドレス情報を保持する。開始時刻11114と終了時刻11115は、新セッションID11111の値で識別されるセッションが開始した時刻と終了した時刻をそれぞれ保持する。旧セッションID11116は、現行システム200のWebAPサーバ210が端末400に対して割り当てるセッション識別子を保持する。   The new session ID 11111 holds a session identifier assigned to the terminal 400 by the new WebAP server 310 of the new system 300. The transmission source address 11112 and the destination address 11113 hold address information of each of the communication source and the communication destination in the communication session identified by the value of the new session ID 11111. The start time 11114 and the end time 11115 hold the time when the session identified by the value of the new session ID 11111 starts and the time when it ends. The old session ID 11116 holds a session identifier assigned to the terminal 400 by the WebAP server 210 of the current system 200.

リプレイテストシナリオ113を作成する際には、あらかじめ現行システム200を実行して現行システムログ111を生成し、現行セッション管理テーブル1111と現行入出力1112にレコードを格納しておく必要がある。ただしこの時点では、新セッションID11111については空にしておく。テスト支援サーバ100のリプレイテスト実行部142は、ステップS601のリプレイテストを実施する過程で、旧セッションID11116に対応する新セッションID11111の値をセットする。   When creating the replay test scenario 113, it is necessary to execute the current system 200 in advance to generate the current system log 111 and store the records in the current session management table 1111 and the current input / output 1112. However, at this time, the new session ID 11111 is left empty. The replay test execution unit 142 of the test support server 100 sets the value of the new session ID 11111 corresponding to the old session ID 11116 in the process of performing the replay test in step S601.

図8の1行目のレコードは、旧セッションID11116「46wetj3」に対応する現行入出力ログ1112のレコードを用いてリプレイテストを実施した結果、新システム300においては同じ入出力データに対して新セッションID11111「abcdef」が割り当てられたことが記録されている。   As a result of the replay test using the record in the current input / output log 1112 corresponding to the old session ID 11116 “46wetj3”, the record in the first line in FIG. It is recorded that ID 11111 “abcdef” is assigned.

新セッションID11111は、旧セッションID11116に対応する通信セッションを新システム300上で再現する際に新システム300が割り当てるセッションIDである。新セッションID11111の値は、現行セッション管理テーブル1111に記録してもよいし、新セッション管理テーブル1121に記録してもよいし、双方に記録してもよい。   The new session ID 11111 is a session ID assigned by the new system 300 when a communication session corresponding to the old session ID 11116 is reproduced on the new system 300. The value of the new session ID 11111 may be recorded in the current session management table 1111, may be recorded in the new session management table 1121, or may be recorded in both.

図9は、現行入出力ログ1112の構成とデータ例を示す図である。新入出力ログ1122も同様の構成を有する。現行入出力ログ1112は、時刻情報11121、セッションID11122、送信元アドレス11123、宛先アドレス11124、シーケンス番号11125、データ11126を格納する。   FIG. 9 is a diagram showing a configuration and data example of the current input / output log 1112. The new input / output log 1122 has a similar configuration. The current input / output log 1112 stores time information 11121, session ID 11122, transmission source address 11123, destination address 11124, sequence number 11125, and data 11126.

時刻情報11121は、現行システム200に対する端末400からのデータ入出力が発生した時点の時刻を保持する。セッションID11122は、WebAPサーバ210が端末400に対して発行したセッション識別子を保持する。   The time information 11121 holds the time when data input / output from the terminal 400 to the current system 200 occurs. The session ID 11122 holds a session identifier issued to the terminal 400 by the WebAP server 210.

送信元アドレス11123と宛先アドレス11124は、セッションID11122の値で識別される通信セッションにおける通信元と通信先それぞれのアドレス情報を保持する。セッションID11122の値が同じレコードは、端末400が送信元になる場合とそれに対する応答としてWebAPサーバ210が送信元になる場合のいずれかを記録したものである。   The transmission source address 11123 and the destination address 11124 hold address information of each of the communication source and the communication destination in the communication session identified by the value of the session ID 11122. Records with the same value of the session ID 11122 record either the case where the terminal 400 is the transmission source or the case where the WebAP server 210 is the transmission source as a response thereto.

シーケンス番号11125は、セッションID11122の値で識別される通信セッションのシーケンス番号を保持する。データ11126は、セッションID11122の値で識別される通信セッションにおける現行システム200に対する入力データ又は現行システム200からの出力データを保持する。   The sequence number 11125 holds the sequence number of the communication session identified by the value of the session ID 11122. Data 11126 holds input data for current system 200 or output data from current system 200 in the communication session identified by the value of session ID 11122.

図9の1行目のレコードと3行目のレコードは、セッションID11121がともに同じ「abcdef」であるため、いずれか一方が現行システム200に対する入力、もう一方が現行システム200からの出力を記録したレコードであると想定される。この場合は1行目のレコードがWebAPサーバ210に対するHTTP POSTリクエストを記録したレコードであり、3行目のレコードがWebAPサーバ210からの応答を記録したレコードである。   In the record on the first line and the record on the third line in FIG. 9, the session ID 11121 is the same “abcdef”, so that either one records the input to the current system 200 and the other records the output from the current system 200. It is assumed to be a record. In this case, the record on the first line is a record in which an HTTP POST request to the WebAP server 210 is recorded, and the record on the third line is a record in which a response from the WebAP server 210 is recorded.

図10は、リプレイテストシナリオ113の構成とデータ例を示す図である。リプレイテストシナリオ113は、時間情報1131、セッションID1132、送信元アドレス1133、宛先アドレス1134、データ1135を格納する。   FIG. 10 is a diagram illustrating a configuration and data example of the replay test scenario 113. The replay test scenario 113 stores time information 1131, a session ID 1132, a transmission source address 1133, a destination address 1134, and data 1135.

時間情報1131は、端末400と新システム300の間の通信セッションを開始する時刻を起点とした、端末400と新システム300の間のデータ入出力を再現実施する時間間隔を示す。セッションID1132は、セッション識別子を保持する。送信元アドレス1133と宛先アドレス1134は、セッションID1132の値で識別される通信セッションにおける通信元と通信先それぞれのアドレス情報を保持する。データ1135は、セッションID1132の値で識別される通信セッションにおける新システム300に対する入力データ又は新システム300からの出力データを保持する。   The time information 1131 indicates a time interval at which data input / output between the terminal 400 and the new system 300 is reproduced, starting from the time when the communication session between the terminal 400 and the new system 300 is started. The session ID 1132 holds a session identifier. The transmission source address 1133 and the destination address 1134 hold address information of each of the communication source and the communication destination in the communication session identified by the value of the session ID 1132. The data 1135 holds input data for the new system 300 or output data from the new system 300 in the communication session identified by the value of the session ID 1132.

リプレイテスト実行部142は、現行入出力ログ1112からセッションID11122の値をキーにして全ての通信セッションについての入出力データを抽出し、リプレイテストシナリオ113へ記録する。   The replay test execution unit 142 extracts input / output data for all communication sessions from the current input / output log 1112 using the value of the session ID 11122 as a key, and records it in the replay test scenario 113.

図11は、ステップS601の詳細を示すフローチャートである。以下、図11の各ステップについて説明する。
(図11:ステップS1100)
テスト支援サーバ100のリプレイテスト実行部142は、ステップS600で生成したリプレイテストシナリオ113から、リプレイテストを実施していないレコードを1つ読み込む。
FIG. 11 is a flowchart showing details of step S601. Hereinafter, each step of FIG. 11 will be described.
(FIG. 11: Step S1100)
The replay test execution unit 142 of the test support server 100 reads one record that has not been subjected to the replay test from the replay test scenario 113 generated in step S600.

(図11:ステップS1101)
リプレイテスト実行部142は、リプレイテストシナリオ113の記述にしたがって、新セッション管理テーブル1121の各項目に値をセットする。具体的には、セッションID1132を旧セッションID11116へ、送信側のアドレス情報を送信元アドレス11112へ、受信側のアドレス情報を宛先アドレス11113へ、現在時刻を開始時刻11114へ、それぞれ登録する。新セッションID11111は、本ステップの時点では空にしておく。
(FIG. 11: Step S1101)
The replay test execution unit 142 sets a value for each item of the new session management table 1121 according to the description of the replay test scenario 113. Specifically, the session ID 1132 is registered in the old session ID 11116, the address information on the transmission side is registered in the transmission source address 11112, the address information on the reception side is registered in the destination address 11113, and the current time is registered in the start time 11114. The new session ID 11111 is left empty at the time of this step.

(図11:ステップS1102)
リプレイテスト実行部142は、リプレイシナリオ113が記述している入力データを新システム300に新たに投入する場合はステップS1103へ進み、その結果を新システム300から受け取る場合はステップS1110へ進む。
(FIG. 11: Step S1102)
The replay test execution unit 142 proceeds to step S1103 when the input data described by the replay scenario 113 is newly input to the new system 300, and proceeds to step S1110 when the result is received from the new system 300.

(図11:ステップS1103)
リプレイテスト実行部142は、リプレイテストシナリオ113から1件分の入力データを読み取る。すなわち、送信元アドレス1133が端末400のアドレスと一致するレコードのデータ1135を読み取る。
(FIG. 11: Step S1103)
The replay test execution unit 142 reads one input data from the replay test scenario 113. That is, the data 1135 of the record in which the transmission source address 1133 matches the address of the terminal 400 is read.

(図11:ステップS1104)
リプレイテスト実行部142は、ステップS1103で取得した入力データに現行システム200上で割り当てられたセッションIDが含まれており、かつ新システム300上のセッションIDを既に取得している場合は、現行システム200上で割り当てられたセッションIDを新システム300上のセッションIDに書き換える。
(FIG. 11: Step S1104)
When the replay test execution unit 142 includes the session ID assigned on the current system 200 in the input data acquired in step S1103 and has already acquired the session ID on the new system 300, the replay test execution unit 142 The session ID assigned on 200 is rewritten to the session ID on the new system 300.

(図11:ステップS1105)
リプレイテスト実行部142は、現在時刻を取得する。
(FIG. 11: Step S1105)
The replay test execution unit 142 acquires the current time.

(図11:ステップS1106)
リプレイテスト実行部142は、ステップS1103で取得したレコードの時間情報1131が指定する時刻になるまで待機した後、新WebAPサーバ310へ入力データを送信することにより、現行システム200に対するデータ入力処理を再現する。
(FIG. 11: Step S1106)
The replay test execution unit 142 waits until the time specified by the time information 1131 of the record acquired in step S1103, and then transmits the input data to the new WebAP server 310, thereby reproducing the data input process for the current system 200. To do.

(図11:ステップS1107)
リプレイテスト実行部142は、ステップS1106で新WebAPサーバ310へ送信した入力データを、新入出力ログ1122へ記録する。
(FIG. 11: Step S1107)
The replay test execution unit 142 records the input data transmitted to the new WebAP server 310 in step S1106 in the new input / output log 1122.

(図11:ステップS1108〜S1109)
リプレイテスト実行部142は、リプレイテストシナリオ113の件数カウントnを1インクリメントする(S1108)。リプレイテストシナリオ113が記述している全ての通信セッションについてリプレイテストを完了した場合はステップS1112へ進み、残っている場合はステップS1102に戻って同様の処理を繰り返す。
(FIG. 11: Steps S1108 to S1109)
The replay test execution unit 142 increments the case count n of the replay test scenario 113 by 1 (S1108). If the replay test is completed for all communication sessions described in the replay test scenario 113, the process proceeds to step S1112. If the replay test remains, the process returns to step S1102, and the same processing is repeated.

(図11:ステップS1110)
リプレイテスト実行部142は、現在時刻を取得する。
(FIG. 11: Step S1110)
The replay test execution unit 142 acquires the current time.

(図11:ステップS1111)
リプレイテスト実行部142は、新WebAPサーバ310がステップS1106に対する応答として出力したデータを受信し、新入出力ログ1122へ記録する。
(FIG. 11: Step S1111)
The replay test execution unit 142 receives the data output as a response to the step S1106 by the new WebAP server 310 and records it in the new input / output log 1122.

(図11:ステップS1112〜S1113)
リプレイテスト実行部142は、現在時刻を取得して新セッション管理テーブル1121へ記録する(S1112)。リプレイテストシナリオ113に登録されている全ての通信セッションのテストが終了もしくはユーザによりリプレイテストの終了が指示された場合は本処理フローを終了し、リプレイテストを継続する場合はステップS1100に戻って同様の処理を繰り返す。
(FIG. 11: Steps S1112 to S1113)
The replay test execution unit 142 acquires the current time and records it in the new session management table 1121 (S1112). If the test of all communication sessions registered in the replay test scenario 113 is completed or the user instructs the end of the replay test, the process flow is ended. If the replay test is continued, the process returns to step S1100 and the same. Repeat the process.

図12は、ステップS607の詳細を示すフローチャートである。以下、図12の各ステップについて説明する。なお、本処理フローを実施するに先立ち、あらかじめ現行システム200と新システム300からそれぞれ実行結果トレースを取得し、これらをまとめて現行テストログ1113と新テストログ1124を生成しておく必要がある。現行テストログ1113と新テストログ1124のフォーマットは図5で説明した新トレースログ1123と同様であるため、以下の説明において現行テストログ1113と新テストログ1124が備える各項目について言及するときは、新トレースログ1123が備える項目と同じ符号を用いる。   FIG. 12 is a flowchart showing details of step S607. Hereinafter, each step of FIG. 12 will be described. Prior to the execution of this processing flow, it is necessary to obtain execution result traces from the current system 200 and the new system 300 in advance and collectively generate the current test log 1113 and the new test log 1124, respectively. Since the formats of the current test log 1113 and the new test log 1124 are the same as those of the new trace log 1123 described with reference to FIG. 5, when referring to the items included in the current test log 1113 and the new test log 1124 in the following description, The same reference numerals as the items included in the new trace log 1123 are used.

(図12:ステップS1200)
テスト支援サーバ100の現行システムログ情報取得部145は、現行テストログ1113を取得する。
(FIG. 12: Step S1200)
The current system log information acquisition unit 145 of the test support server 100 acquires the current test log 1113.

(図12:ステップS1201〜S1202)
差分抽出部146は、現行テストログ1113から1レコード(1通信セッション)分のログデータを読み込む(S1201)。差分抽出部146は、ステップS1201で読み込んだログデータからセッションID112304を取得する(S1202)。
(FIG. 12: Steps S1201 to S1202)
The difference extraction unit 146 reads log data for one record (one communication session) from the current test log 1113 (S1201). The difference extraction unit 146 acquires the session ID 112304 from the log data read in step S1201 (S1202).

(図12:ステップS1203)
差分抽出部146は、ステップS1202で取得したセッションIDをキーにして新セッション管理テーブル1121と新テストログ1124を検索し、対応するレコードを特定する。差分抽出部146は、特定したレコードを読み込む。
(FIG. 12: Step S1203)
The difference extraction unit 146 searches the new session management table 1121 and the new test log 1124 using the session ID acquired in step S1202 as a key, and identifies the corresponding record. The difference extraction unit 146 reads the identified record.

(図12:ステップS1204)
差分抽出部146は、ステップS1203で読み込んだ新テストログ1124のレコードに改修タグ112313が記録されているかどうかをチェックする。改修タグ112313が記録されている場合はステップS1208へ進み、記録されていない場合はステップS1205へ進む。
(FIG. 12: Step S1204)
The difference extraction unit 146 checks whether the modification tag 112313 is recorded in the record of the new test log 1124 read in step S1203. If the modification tag 112313 is recorded, the process proceeds to step S1208. If not, the process proceeds to step S1205.

(図12:ステップS1205)
差分抽出部146は、ステップS1203で読み込んだ新テストログ1124のレコードにおけるモジュール名112307及び処理コード112308が、ステップS1201で読み込んだ現行テストログ1113のレコードにおけるモジュール名112307及び処理コード112308と同じであるか否かをチェックする。同じである場合はステップS1206へ進み、異なる場合はステップS1209へ進む。
(FIG. 12: Step S1205)
In the difference extraction unit 146, the module name 112307 and the processing code 112308 in the record of the new test log 1124 read in step S1203 are the same as the module name 112307 and the processing code 112308 in the record of the current test log 1113 read in step S1201. Check whether or not. If they are the same, the process proceeds to step S1206, and if they are different, the process proceeds to step S1209.

(図12:ステップS1206)
差分抽出部146は、ステップS1203で読み込んだ新テストログ1124のレコードにおける入力引数112310が、ステップS1201で読み込んだ現行テストログ1113のレコードにおける入力引数112310と同じであるか否かをチェックする。同じである場合はステップS1207へ進み、異なる場合はステップS1209へ進む。
(FIG. 12: Step S1206)
The difference extraction unit 146 checks whether or not the input argument 112310 in the new test log 1124 record read in step S1203 is the same as the input argument 112310 in the current test log 1113 record read in step S1201. If they are the same, the process proceeds to step S1207, and if they are different, the process proceeds to step S1209.

(図12:ステップS1207)
差分抽出部146は、ステップS1203で読み込んだ新テストログ1124のレコードにおける出力値112311が、ステップS1201で読み込んだ現行テストログ1113のレコードにおける出力値112311と同じであるか否かをチェックする。同じである場合はステップS1208へ進み、異なる場合はステップS1209へ進む。
(FIG. 12: Step S1207)
The difference extraction unit 146 checks whether or not the output value 112311 in the record of the new test log 1124 read in step S1203 is the same as the output value 112311 in the record of the current test log 1113 read in step S1201. If they are the same, the process proceeds to step S1208, and if they are different, the process proceeds to step S1209.

(図12:ステップS1208)
差分抽出部146は、ステップS1203で読み込んだ新テストログ1124のレコードを、現行テストログ1113と新テストログ1124の間の差分を比較する対象から除外する。差分抽出部146は、アプリケーション211のソースコードが修正されているか、又は修正されたソースコードが別の箇所で利用されていることを示すため、当該ログコードの差分情報として、アプリケーション211が改修されている旨の情報を記録する。
(FIG. 12: Step S1208)
The difference extraction unit 146 excludes the record of the new test log 1124 read in step S <b> 1203 from the target for comparing the difference between the current test log 1113 and the new test log 1124. Since the difference extraction unit 146 indicates that the source code of the application 211 has been modified or the modified source code is being used in another location, the application 211 is modified as the difference information of the log code. Record information to the effect.

(図12:ステップS1209)
差分抽出部146は、新テストログ1124と現行テストログ1113を、APIフラグ112312が記録されているログデータまで読み込み、それまでのログデータを差分情報内に記録する。
(FIG. 12: Step S1209)
The difference extraction unit 146 reads the new test log 1124 and the current test log 1113 until the log data in which the API flag 11212 is recorded, and records the log data up to that point in the difference information.

(図12:ステップS1209:補足)
本ステップは、現行入出力ログ1112と新入出力ログ1122が異なる部分のうち、改修タグが付加されていない部分についてのみ実施されるため、結果として現行システム200と新システム300の間の相違点のみを抽出して差分ログに記録することになる。
(FIG. 12: Step S1209: Supplement)
Since this step is performed only for the portion where the current input / output log 1112 and the new input / output log 1122 are different, the only difference between the current system 200 and the new system 300 is the result. Are extracted and recorded in the difference log.

(図12:ステップS1210)
差分抽出部146は、ステップS1201で読み込んだセッションIDに対応する全てのレコードについて比較完了するまで、ステップS1203〜S1209までの処理を繰り返し実行する。
(FIG. 12: Step S1210)
The difference extraction unit 146 repeatedly executes the processing from step S1203 to S1209 until the comparison is completed for all the records corresponding to the session ID read in step S1201.

<実施の形態1:まとめ>
以上のように、本実施形態1に係るテスト支援サーバ100は、現行入出力ログ1112と新入出力ログ1122の間に差分がある場合は、実行結果トレース(現行テストログ1113と新テストログ1124)に基づき、アプリケーション211のソースコードが改修されているか否かを判定する。改修されている場合は、その改修部分については現行システム200と新システム300を比較する対象から除外する。これにより、現行システム200と新システム300の間の相違原因を特定するにあたり、アプリケーション211の改修による影響を切り分けることができる。特に、ユーザがアプリケーション211を改修した場合において、その部分の影響を除外することができる。
<Embodiment 1: Summary>
As described above, when there is a difference between the current input / output log 1112 and the new input / output log 1122, the test support server 100 according to the first embodiment executes the execution result trace (the current test log 1113 and the new test log 1124). Based on the above, it is determined whether or not the source code of the application 211 has been modified. If it has been repaired, the repaired portion is excluded from the target for comparison between the current system 200 and the new system 300. Thereby, in identifying the cause of the difference between the current system 200 and the new system 300, it is possible to isolate the influence of the modification of the application 211. In particular, when the user modifies the application 211, the influence of that portion can be excluded.

また、本実施形態1に係るテスト支援サーバ100は、アプリケーション211のうち改修されている部分のコードが、所定のミドルウェア等のAPI2125を利用しているか否かを、実行結果トレースに基づき判定する。これにより、現行システム200と新システム300の間に相違がある場合、その相違が当該ミドルウェア等を更改したことによるものであるか否かを推定することができる。   Further, the test support server 100 according to the first embodiment determines whether or not the code of the modified part of the application 211 uses the API 2125 such as predetermined middleware based on the execution result trace. Thereby, when there is a difference between the current system 200 and the new system 300, it can be estimated whether or not the difference is due to the middleware or the like being renewed.

また、本実施形態1に係るテスト支援サーバ100は、現行システム200が発行したセッションIDと新システム300が発行したセッションIDの対応関係を、現行セッション管理テーブル1111又は新セッション管理テーブル1121に記録する。セッションIDは一般にランダムな文字列などを用いて作成されるため、現行システム200と新システム300は、入出力データが同じであってもそれぞれ異なるセッションIDを発行する可能性があるが、これらの対応関係を管理しておくことにより、セッションIDをキーにして両者を関連付け、同じ入出力処理を再現することができる。   Also, the test support server 100 according to the first embodiment records the correspondence between the session ID issued by the current system 200 and the session ID issued by the new system 300 in the current session management table 1111 or the new session management table 1121. . Since the session ID is generally created using a random character string or the like, the current system 200 and the new system 300 may issue different session IDs even if the input / output data is the same. By managing the correspondence, it is possible to associate the two using the session ID as a key and reproduce the same input / output processing.

<実施の形態2>
実施形態1では、現行システム200と新システム300がWebアプリケーションを提供する例を説明したが、その他の種類のアプリケーションについても、実施形態1と同様の手法を用いることができる。例えば、クライアント/サーバ型のアプリケーション、スタンドアロン型のアプリケーションなどについて、実施形態1の手法を用いることができる。
<Embodiment 2>
In the first embodiment, an example in which the current system 200 and the new system 300 provide Web applications has been described. However, the same technique as that of the first embodiment can be used for other types of applications. For example, the method of the first embodiment can be used for a client / server application, a stand-alone application, and the like.

この場合、新トレースログ1123内のセッションID112304を用いて各入出力処理を特定することに代えて、例えばプロセスID112302などを用いて各入出力処理を特定することができる。   In this case, instead of specifying each input / output process using the session ID 112304 in the new trace log 1123, for example, each input / output process can be specified using the process ID 112302 or the like.

また、実施形態1ではミドルウェアのAPI2125を利用するか否かを判定しているが、これに限らずその他のAPIを利用するか否かを判定するようにしてもよい。例えば新システム300において新WebAPサーバ310外のアプリケーションを更改する場合は、アプリケーション211がそのアプリケーションのAPIを利用しているか否かを判定するようにしてもよい。   In the first embodiment, it is determined whether or not the middleware API 2125 is used. However, the present invention is not limited to this, and it may be determined whether or not another API is used. For example, when the application outside the new WebAP server 310 is renewed in the new system 300, it may be determined whether or not the application 211 uses the API of the application.

以上説明した各構成、機能、処理部などは、それらの全部又は一部を、例えば集積回路で設計することによりハードウェアとして実現することもできるし、プロセッサがそれぞれの機能を実現するプログラムを実行することによりソフトウェアとして実現することもできる。各機能を実現するプログラム、テーブルなどの情報は、メモリやハードディスクなどの記憶装置、ICカード、DVDなどの記憶媒体に格納することができる。   Each of the components, functions, and processing units described above can be realized as hardware by designing all or part of them, for example, with an integrated circuit, or the processor executes a program that realizes each function. By doing so, it can also be realized as software. Information such as programs and tables for realizing each function can be stored in a storage device such as a memory or a hard disk, or a storage medium such as an IC card or a DVD.

以上、本発明者によってなされた発明を実施形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。   As mentioned above, the invention made by the present inventor has been specifically described based on the embodiment. However, the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.

100:テスト支援サーバ、110:記憶装置、111:現行システムログ、1111:現行セッション管理テーブル、11111:新セッションID、11112:送信元アドレス、11113:宛先アドレス、11114:開始時刻、11115:終了時刻、11116:旧セッションID、1112:現行入出力ログ、11121:時刻情報、11122:セッションID、11123:送信元アドレス、11124:宛先アドレス、11125:シーケンス番号、11126:データ、1113:現行テストログ、112:新システムログ、1121:新セッション管理テーブル、1122:新入出力ログ、1123:新トレースログ、112301:時刻情報、112302:プロセスID、112303:トレースID、112304:セッションID、112305:送信元アドレス、112306:宛先アドレス、112307:モジュール名、112308:処理コード、112312:APIフラグ、112313:改修タグ、112314:データ、1124:新テストログ、113:リプレイテストシナリオ、1131:時間情報、1132:セッションID、1133:送信元アドレス、1134:宛先アドレス、1135:データ、120:メモリ、130:ネットワークインタフェース、140:プロセッサ、141:通信部、142:リプレイテスト実行部、143:トレース情報受信部、144:新システムログ情報処理部、145:現行システムログ情報取得部、146:差分抽出部、150:入力装置、160:出力装置、170:バス、200:現行システム、210:WebAPサーバ、211:アプリケーション、212:開発/実行環境、2121:通信部、2122:アプリケーションコンパイル部、21221:アプリケーション改修検出部、21222:実行ファイル生成部、2123:アプリケーション実行部、21231:実行部、21232:トレース情報記録部、2124:トレース情報送信部、2125:アプリケーションプログラミングインタフェース(API)、213:メモリ、214:プロセッサ、215:記憶装置、216:入力装置、217:出力装置、218:ネットワークインタフェース、219:バス、220:DBMS、300:新システム、310:新WebAPサーバ、311:改修アプリケーション、400:端末、1000:移行テスト支援システム。   100: test support server, 110: storage device, 111: current system log, 1111: current session management table, 11111: new session ID, 11112: transmission source address, 11113: destination address, 11114: start time, 11115: end time 11116: Old session ID, 1112: Current input / output log, 11121: Time information, 11122: Session ID, 11123: Source address, 11124: Destination address, 11125: Sequence number, 11126: Data, 1113: Current test log, 112: New system log, 1121: New session management table, 1122: New input / output log, 1123: New trace log, 112301: Time information, 112302: Process ID, 112303: Trace ID, 112 04: Session ID, 112305: Source address, 112306: Destination address, 112307: Module name, 112308: Processing code, 112312: API flag, 12313: Modification tag, 112314: Data, 1124: New test log, 113: Replay test Scenario, 1131: Time information, 1132: Session ID, 1133: Source address, 1134: Destination address, 1135: Data, 120: Memory, 130: Network interface, 140: Processor, 141: Communication unit, 142: Replay test execution 143: Trace information reception unit, 144: New system log information processing unit, 145: Current system log information acquisition unit, 146: Difference extraction unit, 150: Input device, 160: Output device, 170: Bus, 00: current system, 210: WebAP server, 211: application, 212: development / execution environment, 2121: communication unit, 2122: application compilation unit, 21221: application modification detection unit, 21222: execution file generation unit, 2123: application execution Unit, 21231: execution unit, 21232: trace information recording unit, 2124: trace information transmission unit, 2125: application programming interface (API), 213: memory, 214: processor, 215: storage device, 216: input device, 217: Output device, 218: Network interface, 219: Bus, 220: DBMS, 300: New system, 310: New WebAP server, 311: Renovation application, 400: Terminal, 1000 : Migration test support system.

Claims (12)

現行情報システムから新情報システムへアプリケーションを移行する際の移行テストを支援するシステムであって、
前記現行情報システム上で動作するアプリケーションと前記新情報システム上で動作するアプリケーションを実行することによって前記アプリケーションの実行結果トレースを取得するアプリケーション実行装置と、
前記現行情報システムの入出力データを記録した現行入出力ログと、前記新情報システムの入出力データを記録した新入出力ログとを比較して不一致箇所を特定する移行テスト支援装置と、
を有し、
前記アプリケーション実行装置は、
前記新情報システム上で動作するアプリケーションのソースコードを読み込み、
前記現行情報システム上のアプリケーションが前記新情報システム上で改修されている場合は、その箇所を特定する改修タグを記述したトレースログを出力するステップを前記ソースコード内に埋め込み、
前記ソースコードをコンパイルして実行することにより、前記実行結果トレースを取得し、
前記移行テスト支援装置は、
前記現行入出力ログと前記新入出力ログを読み込み、
前記現行入出力ログにおける入力と出力の対応関係が、前記新入出力ログにおける入力と出力の対応関係に一致しているか否かを判定し、
前記現行入出力ログにおける前記対応関係と前記新入出力ログにおける前記対応関係が一致していない場合は、その不一致箇所において前記現行情報システム上のアプリケーションが前記新情報システム上で改修されているか否かを、前記実行結果トレースに基づき判定し、
前記アプリケーションが前記新情報システム上で改修されていると判定した場合は、前記現行情報システムと前記新情報システムを比較する対象から除外する箇所として前記不一致箇所を指定し、
前記指定した前記不一致箇所を除いて、前記アプリケーションの動作が前記現行情報システム上と前記新情報システム上で異なる部分についての差分ログを出力し、
前記実行結果トレースが記述している前記改修タグに基づき、前記不一致箇所において前記現行情報システム上のアプリケーションが前記新情報システム上で改修されているか否かを判定する
ことを特徴とする移行テスト支援システム。
A system that supports migration testing when migrating applications from the current information system to the new information system,
An application execution device that acquires an execution result trace of the application by executing an application that operates on the current information system and an application that operates on the new information system;
A migration test support device that identifies a mismatched location by comparing the current input / output log that records the input / output data of the current information system and the new input / output log that records the input / output data of the new information system;
Have
The application execution device is:
Read the source code of the application that runs on the new information system,
If the application on the current information system has been modified on the new information system, a step of outputting a trace log describing a modification tag identifying the location is embedded in the source code,
By compiling and executing the source code, the execution result trace is obtained,
The migration test support device includes:
Read the current I / O log and the new I / O log
Determining whether the correspondence between input and output in the current input / output log matches the correspondence between input and output in the new input / output log;
If the correspondence relationship in the current I / O log and the correspondence relationship in the new I / O log do not match, whether or not the application on the current information system has been repaired on the new information system at the mismatched location Is determined based on the execution result trace,
If it is determined that the application has been refurbished on the new information system, specify the inconsistent location as a location to be excluded from the target to compare the current information system and the new information system,
Except for the specified inconsistency, the operation of the application outputs a difference log for a portion where the current information system differs from the new information system ,
Migration test support characterized in that , based on the modification tag described in the execution result trace, it is determined whether or not an application on the current information system has been modified on the new information system at the mismatched portion. system.
前記アプリケーション実行装置は、
前記移行によって置き換える特定のソフトウェアが提供するAPIを前記アプリケーションが利用している場合は、その旨を示すAPI利用タグを記述したトレースログを出力するステップを前記ソースコード内に埋め込み、
前記ソースコードをコンパイルして実行することにより、前記実行結果トレースを取得し、
前記移行テスト支援装置は、
前記実行結果トレースが記述している前記API利用タグに基づき、前記アプリケーションが前記APIを利用しているか否かを判定することにより、前記現行情報システム上の前記アプリケーションと前記新情報システム上の前記アプリケーションの間の差異が前記移行に起因するものであるか否かを推定し、その結果を前記差分ログに出力する
ことを特徴とする請求項1記載の移行テスト支援システム。
The application execution device is:
When the application uses an API provided by specific software to be replaced by the migration, a step of outputting a trace log describing an API use tag indicating that is embedded in the source code,
By compiling and executing the source code, the execution result trace is obtained,
The migration test support device includes:
The application on the current information system and the application on the new information system are determined by determining whether or not the application uses the API based on the API use tag described in the execution result trace. The migration test support system according to claim 1, wherein whether or not a difference between applications is caused by the migration is estimated, and the result is output to the difference log.
前記移行テスト支援装置は、
前記現行情報システムが前記アプリケーションを実行する際に前記アプリケーションに割り当てる現行通信セッションIDを記述したセッション管理テーブルを読み込み、
前記セッション管理テーブルが記述している前記現行通信セッションIDをキーにして、前記現行入出力ログ内の対応するレコードを特定し、その記述内容にしたがって前記新情報システム上で前記アプリケーションの動作を再現することにより、前記新入出力ログを作成する
ことを特徴とする請求項1記載の移行テスト支援システム。
The migration test support device includes:
A session management table describing a current communication session ID assigned to the application when the current information system executes the application;
Using the current communication session ID described in the session management table as a key, the corresponding record in the current input / output log is specified, and the operation of the application is reproduced on the new information system according to the description. The migration test support system according to claim 1, wherein the new input / output log is created.
前記移行テスト支援装置は、
前記新情報システム上で前記アプリケーションの動作を再現する過程において、
前記新情報システムが前記アプリケーションを実行する際に前記アプリケーションに割り当てる新通信セッションIDと、前記現行通信セッションIDとの対応関係を、前記セッション管理テーブルに記述する
ことを特徴とする請求項記載の移行テスト支援システム。
The migration test support device includes:
In the process of reproducing the operation of the application on the new information system,
And the new communications session ID to be allocated to the application when the new information system executes the application, the correspondence between the current communication session ID, according to claim 3, wherein a write to the session management table Migration test support system.
現行情報システムから新情報システムへアプリケーションを移行する際の移行テストを支援する処理をコンピュータに実行させるプログラムであって、前記コンピュータに、
前記現行情報システム上のアプリケーションが前記新情報システム上で改修されている箇所を特定する改修タグを記述したトレースログを前記アプリケーションの実行結果トレースから読み込むステップ、
前記現行情報システムの入出力データを記録した現行入出力ログと、前記新情報システムの入出力データを記録した新入出力ログとを読み込むステップ、
前記現行入出力ログにおける入力と出力の対応関係が、前記新入出力ログにおける入力と出力の対応関係に一致しているか否かを判定するステップ、
前記現行入出力ログにおける前記対応関係と前記新入出力ログにおける前記対応関係が一致していない場合は、その不一致箇所において前記現行情報システム上のアプリケーションが前記新情報システム上で改修されているか否かを、前記実行結果トレースに基づき判定する改修判定ステップ、
前記改修判定ステップにおいて、前記アプリケーションが前記新情報システム上で改修されていると判定した場合は、前記現行情報システムと前記新情報システムを比較する対象から除外する箇所として前記不一致箇所を指定する除外ステップ、
前記除外ステップで指定した前記不一致箇所を除いて、前記アプリケーションの動作が前記現行情報システム上と前記新情報システム上で異なる部分についての差分ログを出力するステップ、
を実行させ
前記改修判定ステップにおいては、前記コンピュータに、
前記実行結果トレースが記述している前記改修タグに基づき、前記不一致箇所において前記現行情報システム上のアプリケーションが前記新情報システム上で改修されているか否かを判定させる
ことを特徴とする移行テスト支援プログラム。
A program for causing a computer to execute a process for supporting a migration test when migrating an application from a current information system to a new information system,
Reading from the execution result trace of the application a trace log describing a modification tag that identifies a location where an application on the current information system has been modified on the new information system;
Reading a current input / output log recording the input / output data of the current information system and a new input / output log recording the input / output data of the new information system;
Determining whether the correspondence between input and output in the current input / output log matches the correspondence between input and output in the new input / output log;
If the correspondence relationship in the current I / O log and the correspondence relationship in the new I / O log do not match, whether or not the application on the current information system has been repaired on the new information system at the mismatched location the judges repair determination step based on the execution result trace,
In the repair determination step, if it is determined that the application has been repaired on the new information system, an exception that specifies the inconsistent location as a location to be excluded from the target for comparing the current information system and the new information system Step,
A step of outputting a difference log for a portion where the operation of the application is different between the current information system and the new information system, excluding the inconsistent portion specified in the exclusion step;
Was executed,
In the modification determination step, the computer
Migration test support characterized in that , based on the modification tag described in the execution result trace, it is determined whether or not an application on the current information system has been modified on the new information system at the mismatched portion. program.
前記移行テスト支援プログラムは、前記コンピュータに、
前記移行によって置き換える特定のソフトウェアが提供するAPIを前記アプリケーションが利用している旨を示すAPI利用タグを記述したトレースログを前記実行結果トレースから読み込むステップ、
前記実行結果トレースが記述している前記API利用タグに基づき、前記アプリケーションが前記APIを利用しているか否かを判定することにより、前記現行情報システム上の前記アプリケーションと前記新情報システム上の前記アプリケーションの間の差異が前記移行に起因するものであるか否かを推定し、その結果を前記差分ログに出力するステップ、
を実行させることを特徴とする請求項記載の移行テスト支援プログラム。
The migration test support program is stored in the computer.
Reading from the execution result trace a trace log describing an API usage tag indicating that the application is using an API provided by specific software to be replaced by the migration;
The application on the current information system and the application on the new information system are determined by determining whether or not the application uses the API based on the API use tag described in the execution result trace. Estimating whether the difference between applications is due to the migration, and outputting the result to the difference log;
The migration test support program according to claim 5, wherein:
前記移行テスト支援プログラムは、前記コンピュータに、
前記現行情報システムが前記アプリケーションを実行する際に前記アプリケーションに割り当てる現行通信セッションIDを記述したセッション管理テーブルを読み込むステップ、
前記セッション管理テーブルが記述している前記現行通信セッションIDをキーにして、前記現行入出力ログ内の対応するレコードを特定し、その記述内容にしたがって前記新情報システム上で前記アプリケーションの動作を再現することにより、前記新入出力ログを作成するステップ、
を実行させることを特徴とする請求項記載の移行テスト支援プログラム。
The migration test support program is stored in the computer.
Reading a session management table describing a current communication session ID assigned to the application when the current information system executes the application;
Using the current communication session ID described in the session management table as a key, the corresponding record in the current input / output log is specified, and the operation of the application is reproduced on the new information system according to the description. Creating the new I / O log by:
The migration test support program according to claim 5, wherein:
前記移行テスト支援プログラムは、前記コンピュータに、
前記新情報システム上で前記アプリケーションの動作を再現する過程において、前記新情報システムが前記アプリケーションを実行する際に前記アプリケーションに割り当てる新通信セッションIDと、前記現行通信セッションIDとの対応関係を、前記セッション管理テーブルに記述するステップを実行させる
ことを特徴とする請求項記載の移行テスト支援プログラム。
The migration test support program is stored in the computer.
In the process of reproducing the operation of the application on the new information system, the correspondence relationship between the new communication session ID assigned to the application when the new information system executes the application and the current communication session ID The migration test support program according to claim 7, wherein the step described in the session management table is executed.
現行情報システムから新情報システムへアプリケーションを移行する際の移行テストを支援する方法であって、
前記現行情報システム上のアプリケーションが前記新情報システム上で改修されている箇所を特定する改修タグを記述したトレースログを前記アプリケーションの実行結果トレースから読み込むステップ、
前記現行情報システムの入出力データを記録した現行入出力ログと、前記新情報システムの入出力データを記録した新入出力ログとを読み込むステップ、
前記現行入出力ログにおける入力と出力の対応関係が、前記新入出力ログにおける入力と出力の対応関係に一致しているか否かを判定するステップ、
前記現行入出力ログにおける前記対応関係と前記新入出力ログにおける前記対応関係が一致していない場合は、その不一致箇所において前記現行情報システム上のアプリケーションが前記新情報システム上で改修されているか否かを、前記実行結果トレースに基づき判定する改修判定ステップ、
前記改修判定ステップにおいて、前記アプリケーションが前記新情報システム上で改修されていると判定した場合は、前記現行情報システムと前記新情報システムを比較する対象から除外する箇所として前記不一致箇所を指定する除外ステップ、
前記除外ステップで指定した前記不一致箇所を除いて、前記アプリケーションの動作が前記現行情報システム上と前記新情報システム上で異なる部分についての差分ログを出力するステップ、
を有し、
前記改修判定ステップにおいては、
前記実行結果トレースが記述している前記改修タグに基づき、前記不一致箇所において前記現行情報システム上のアプリケーションが前記新情報システム上で改修されているか否かを判定する
ことを特徴とする移行テスト支援方法。
A method to support migration testing when migrating applications from the current information system to the new information system,
Reading from the execution result trace of the application a trace log describing a modification tag that identifies a location where an application on the current information system has been modified on the new information system;
Reading a current input / output log recording the input / output data of the current information system and a new input / output log recording the input / output data of the new information system;
Determining whether the correspondence between input and output in the current input / output log matches the correspondence between input and output in the new input / output log;
If the correspondence relationship in the current I / O log and the correspondence relationship in the new I / O log do not match, whether or not the application on the current information system has been repaired on the new information system at the mismatched location the judges repair determination step based on the execution result trace,
In the repair determination step, if it is determined that the application has been repaired on the new information system, an exception that specifies the inconsistent location as a location to be excluded from the target for comparing the current information system and the new information system Step,
A step of outputting a difference log for a portion where the operation of the application is different between the current information system and the new information system, excluding the inconsistent portion specified in the exclusion step;
I have a,
In the repair determination step,
Migration test support characterized in that , based on the modification tag described in the execution result trace, it is determined whether or not an application on the current information system has been modified on the new information system at the mismatched portion. Method.
前記移行によって置き換える特定のソフトウェアが提供するAPIを前記アプリケーションが利用している旨を示すAPI利用タグを記述したトレースログを前記実行結果トレースから読み込むステップ、
前記実行結果トレースが記述している前記API利用タグに基づき、前記アプリケーションが前記APIを利用しているか否かを判定することにより、前記現行情報システム上の前記アプリケーションと前記新情報システム上の前記アプリケーションの間の差異が前記移行に起因するものであるか否かを推定し、その結果を前記差分ログに出力するステップ、
を有することを特徴とする請求項記載の移行テスト支援方法。
Reading from the execution result trace a trace log describing an API usage tag indicating that the application is using an API provided by specific software to be replaced by the migration;
The application on the current information system and the application on the new information system are determined by determining whether or not the application uses the API based on the API use tag described in the execution result trace. Estimating whether the difference between applications is due to the migration, and outputting the result to the difference log;
10. The migration test support method according to claim 9, further comprising :
前記現行情報システムが前記アプリケーションを実行する際に前記アプリケーションに割り当てる現行通信セッションIDを記述したセッション管理テーブルを読み込むステップ、
前記セッション管理テーブルが記述している前記現行通信セッションIDをキーにして、前記現行入出力ログ内の対応するレコードを特定し、その記述内容にしたがって前記新情報システム上で前記アプリケーションの動作を再現することにより、前記新入出力ログを作成するステップ、
を有することを特徴とする請求項記載の移行テスト支援方法。
Reading a session management table describing a current communication session ID assigned to the application when the current information system executes the application;
Using the current communication session ID described in the session management table as a key, the corresponding record in the current input / output log is specified, and the operation of the application is reproduced on the new information system according to the description. Creating the new I / O log by:
10. The migration test support method according to claim 9, further comprising :
前記新情報システム上で前記アプリケーションの動作を再現する過程において、前記新情報システムが前記アプリケーションを実行する際に前記アプリケーションに割り当てる新通信セッションIDと、前記現行通信セッションIDとの対応関係を、前記セッション管理テーブルに記述するステップを有する
ことを特徴とする請求項11記載の移行テスト支援方法。
In the process of reproducing the operation of the application on the new information system, the correspondence relationship between the new communication session ID assigned to the application when the new information system executes the application and the current communication session ID The migration test support method according to claim 11 , further comprising a step of describing in a session management table.
JP2011066634A 2011-03-24 2011-03-24 Migration test support system, migration test support program, migration test support method Expired - Fee Related JP5337187B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011066634A JP5337187B2 (en) 2011-03-24 2011-03-24 Migration test support system, migration test support program, migration test support method
PCT/JP2011/074900 WO2012127729A1 (en) 2011-03-24 2011-10-28 Transfer test support system, transfer test support program, and transfer test support method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011066634A JP5337187B2 (en) 2011-03-24 2011-03-24 Migration test support system, migration test support program, migration test support method

Publications (2)

Publication Number Publication Date
JP2012203580A JP2012203580A (en) 2012-10-22
JP5337187B2 true JP5337187B2 (en) 2013-11-06

Family

ID=46878918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011066634A Expired - Fee Related JP5337187B2 (en) 2011-03-24 2011-03-24 Migration test support system, migration test support program, migration test support method

Country Status (2)

Country Link
JP (1) JP5337187B2 (en)
WO (1) WO2012127729A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7145705B2 (en) 2018-09-13 2022-10-03 オリンパス株式会社 Catheter manufacturing method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017072978A1 (en) * 2015-10-30 2017-05-04 株式会社日立製作所 Computer system and work migration method
JP7027721B2 (en) * 2017-08-07 2022-03-02 株式会社Ihi Verification system and verification method

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282578A (en) * 2000-03-31 2001-10-12 Hitachi Software Eng Co Ltd Device and method for supporting program test and storage medium storing program on method
JP2001350650A (en) * 2000-06-08 2001-12-21 Ntt Comware Corp Inspecting method and device for software program equivalency, and recording medium therefor
JP4461777B2 (en) * 2003-11-14 2010-05-12 日本電気株式会社 Transaction processing system and method, and program
JP4215255B2 (en) * 2004-03-26 2009-01-28 株式会社日立情報システムズ Degradation confirmation inspection method, degradation confirmation inspection system, and program therefor
JP4495688B2 (en) * 2006-03-27 2010-07-07 株式会社日立製作所 Verification system
JP2008250914A (en) * 2007-03-30 2008-10-16 Canon Software Inc Program correcting device, method and program
JP2009122970A (en) * 2007-11-15 2009-06-04 Nomura Research Institute Ltd Program inspection system
JP2009181180A (en) * 2008-01-29 2009-08-13 Advantest Corp Inspection program, inspection method, and inspection device of program creating tool
JP5101448B2 (en) * 2008-09-30 2012-12-19 株式会社野村総合研究所 Test support system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7145705B2 (en) 2018-09-13 2022-10-03 オリンパス株式会社 Catheter manufacturing method

Also Published As

Publication number Publication date
JP2012203580A (en) 2012-10-22
WO2012127729A1 (en) 2012-09-27

Similar Documents

Publication Publication Date Title
US8949799B2 (en) Program log record optimization
US10621212B2 (en) Language tag management on international data storage
CN108762743B (en) Data table operation code generation method and device
CN101996131A (en) Automatic test method and automatic test platform for graphic user interface (GUI) based on x extensive makeup language (XML) packaging key word
US20120266131A1 (en) Automatic program generation device, method, and computer program
CN104794048A (en) Automatic UI testing method and system
CN102541731B (en) Platform-agnostic diagnostic data collection and display
CN111258614B (en) Method, system, equipment and storage medium for detecting upgrade exception of project third-party library
US20160124795A1 (en) Evaluation method and apparatus
CN112241370B (en) API interface class checking method, system and device
CN109840194A (en) A kind of detection method and system of configuration file
JP5337187B2 (en) Migration test support system, migration test support program, migration test support method
JPWO2020008991A1 (en) Verification automation equipment, verification automation methods, and programs
JP5900193B2 (en) Update determination program and update determination apparatus
CN112162751A (en) Automatic generation method and system of interface document
CN112732300A (en) Data packet updating method and device, electronic equipment and readable storage medium
CN110688147A (en) Method for packing and analyzing metadata
US10678864B2 (en) Analysis model preparing system, programming apparatus, and analysis model preparing method
CN114116505A (en) Code testing method and device
CN109933770A (en) A kind of test report generation method, system and electronic equipment and storage medium
CN116932649A (en) Database synchronization method, database synchronization device, and readable storage medium
US20060036422A1 (en) Methods and systems for electronic device modelling
CN112783791B (en) Interface test case generation method and device
CN110321138A (en) A kind of program updates, moving method and device
CN114756623A (en) Non-homologous database synchronization method and device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130416

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130605

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: 20130709

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130802

R151 Written notification of patent or utility model registration

Ref document number: 5337187

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees