JP5954752B2 - システムのテストを行う装置、方法およびプログラム - Google Patents

システムのテストを行う装置、方法およびプログラム Download PDF

Info

Publication number
JP5954752B2
JP5954752B2 JP2014202063A JP2014202063A JP5954752B2 JP 5954752 B2 JP5954752 B2 JP 5954752B2 JP 2014202063 A JP2014202063 A JP 2014202063A JP 2014202063 A JP2014202063 A JP 2014202063A JP 5954752 B2 JP5954752 B2 JP 5954752B2
Authority
JP
Japan
Prior art keywords
message
host system
terminal
migration
screen data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2014202063A
Other languages
English (en)
Other versions
JP2016071730A (ja
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2014202063A priority Critical patent/JP5954752B2/ja
Priority to US14/840,269 priority patent/US9720791B2/en
Publication of JP2016071730A publication Critical patent/JP2016071730A/ja
Application granted granted Critical
Publication of JP5954752B2 publication Critical patent/JP5954752B2/ja
Priority to US15/247,968 priority patent/US9880914B2/en
Priority to US15/710,942 priority patent/US10037255B2/en
Priority to US15/710,939 priority patent/US10037254B2/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/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet

Landscapes

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

Description

本発明は、システムの移行等に伴って行われるテストを行う装置、方法およびプログラムに関する。
情報システムを他の構成に移行する際の方式として、アプリケーション・プログラムやデータにはできるだけ変更を加えずにハードウェアやOS、ミドルウェア等のプラットフォーム(基盤)部分を移行する場合がある(いわゆるリホスト(rehost))。このような情報システムの移行を行う場合、移行後の情報システムにおいてアプリケーション・プログラムやデータを移行前の情報システムと同様に扱えることを検証することが重要である。
また、情報システムの移行テストの評価方法には、情報システムによる処理の実行時における送受信メッセージを追跡(トレース)して記録し、記録したトレース結果に基づき情報システムの動作を再生してテストし、テスト結果を評価する方法がある。従来、この種のテストを行うツールとしては、端末のネットワークとその関連メッセージをシミュレートし、情報システムにおける機能およびストレス、パフォーマンス、キャパシティーをテストする機能を有するテスト・ツールがあった(例えば、非特許文献1参照)。
"Workload Simulator for z/OS and OS/390"、[online]、[平成26年9月16日検索]、インターネット<URL:http://www-03.ibm.com/software/products/ja/workloadsimulator/>
情報システムのホスト−端末間で通信を行う場合、通信プロトコルによっては、端末に同じ画面を表示させ、ホストが端末から同じ入力を受け取る動作が行われる場合であっても、ホスト−端末間で送受信されるメッセージが同一である必要はない。したがって、そのような情報システムの移行テストを行う場合、移行前と移行後の情報システムにおいて、端末に同じ画面を表示させてホストが端末から同じ入力を受け取る動作において送受信されるメッセージが同一でない場合があることを考慮する必要がある。
同種のプラットフォームのバージョンアップのような、ホスト−端末間のミドルウェアの実装が変更されない情報システムへの移行では、通常、移行前と移行後の情報システムにおいて、端末に同じ画面を表示させてホストが端末から同じ入力を受け取る動作において送受信されるメッセージは同一である。そのため、既存のテスト・ツールを用いた、情報システムによる処理のトレース結果に基づくテストを行うことが可能であった。
これに対し、メインフレームからオープンなシステムへ移行する場合のように、装置間のミドルウェアの実装が異なる情報システムへの移行では、移行前と移行後の情報システムにおいて、端末に同じ画面を表示させてホストが端末から同じ入力を受け取る動作において送受信されるメッセージは同一でない場合がある。そのため、既存のテスト・ツールを用いた、情報システムによる処理のトレース結果に基づくテストを行うことができない場合があった。
そこで本発明は、情報システムの移行テストにおいて、移行前と移行後の情報システムにおけるミドルウェアの実装が異なる場合でも、情報システムによる通信のトレース結果に基づくテストを実行可能とすることを目的とする。
上記の目的を達成するため、本発明は、次のような装置として実現される。この装置は、ホストシステムの移行に伴うホストシステムの動作をテストする装置であって、移行前のホストシステムと端末との間で送受信されたメッセージを再生するメッセージ再生部と、メッセージ再生部により再生されたメッセージに基づき、端末における手動操作により発生したメッセージを抽出してファイルを作成するファイル作成部と、メッセージ再生部により再生されたメッセージに基づき、端末の表示装置に表示された画面の画面データを模擬的に生成する画面データ模擬生成部と、移行後のホストシステムとの間でメッセージの送受信を行う送受信制御部と、ファイル作成部により作成されたファイルに記録されているメッセージを再生し、再生したメッセージを送受信制御部により移行後のホストシステムへ送信させる手動操作再生部と、送受信制御部を介して移行後のホストシステムから受信したメッセージが応答を要求するメッセージである場合に、この要求に対する応答メッセージを自動生成し、生成したメッセージを送受信制御部により移行後のホストシステムへ送信させる応答メッセージ自動生成部と、送受信制御部を介して移行後のホストシステムから受信したメッセージに基づき、端末の表示装置に表示させる画面の画面データを生成する画面データ生成部と、画面データ生成部により生成された画面データと、端末の動作を再生して生成された画面データとを比較して、一致しているか否かを判定する比較部と、を備える。手動操作再生部は、送信しようとするメッセージである送信対象メッセージを、直前に他のメッセージを送信してから、移行前のホストシステムと端末との間で行われた送受信において端末が送信対象メッセージに対応するメッセージを送信した時刻と、この送信対象メッセージに対応するメッセージを受信する直前に手動操作により発生したメッセージを送信した時刻とに基づいて定められる特定時間が経過した後であって、直前に行われた処理が終了した後に送信する。送受信制御部は、移行後のホストシステムから受信したメッセージに対して、手動操作再生部により再生されたメッセージおよび応答メッセージ自動生成部により生成されたメッセージを送信する場合、応答メッセージ自動生成部により生成されたメッセージを送信した後に、手動操作再生部により再生されたメッセージを送信する。
また、本発明は、次のような方法としても実現される。この方法は、ホストシステムの移行に伴うホストシステムの動作をテストする方法であって、移行後のホストシステムの動作をテストするサーバが、移行後のホストシステムとの間でメッセージの送受信を行うステップと、移行後のホストシステムから受信したメッセージに基づき、端末の表示装置に表示させる画面の画面データを生成するステップと、移行後のホストシステムから受信したメッセージに基づいて生成された画面データと、移行前のホストシステムとの間で送受信されたメッセージに基づく端末の動作を再生して生成された画面データとを比較して、一致しているか否かを判定するステップとを含み、メッセージの送受信を行うステップは、移行前のホストシステムと端末との間で送受信されたメッセージのうち、端末における手動操作により発生したメッセージを抽出して作成されたファイルからメッセージを読み出して再生し、再生したメッセージを移行後のホストシステムへ送信するステップと、移行後のホストシステムから受信したメッセージが応答を要求するメッセージである場合に、この要求に対する応答メッセージを自動生成し、生成したメッセージを移行後のホストシステムへ送信するステップと、を含む。
さらにまた、本発明は、コンピュータを制御して上述した装置の各機能を実現するプログラム、あるいは、コンピュータに上記の各ステップに対応する処理を実行させるプログラムとしても実現される。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより、提供することができる。
本発明によれば、情報システムの移行テストにおいて、移行前と移行後の情報システムにおけるミドルウェアの実装が異なる場合でも、情報システムによる通信のトレース結果に基づくテストを実行することが可能となる。
本実施形態が適用されるテスト・システムの構成例を示す図である。 メッセージ・ファイルの構成例を示す図である。 テスト実行サーバの機能構成例を示す図である。 シナリオ・ファイルの構成例を示す図である。 自動応答によるメッセージの送信処理を示すフローチャートである。 手動操作によるメッセージの送信処理を示すフローチャートである。 図2に示すメッセージ・ファイルのシーケンス番号07のメッセージに含まれる画面データに基づく画面を示す図であり、図7(A)は、テスト用画面バッファに書き込まれた画面データに基づく画面を示す図、図7(B)は、比較用画面バッファに書き込まれた画面データに基づく画面を示す図である。 図2に示すメッセージ・ファイルのシーケンス番号25のメッセージに含まれる画面データに基づく画面を示す図であり、図8(A)は、テスト用画面バッファに書き込まれた画面データに基づく画面を示す図、図8(B)は、比較用画面バッファに書き込まれた画面データに基づく画面を示す図である。 図2に示すメッセージ・ファイルのシーケンス番号33のメッセージに含まれる画面データに基づく画面を示す図であり、図9(A)は、テスト用画面バッファに書き込まれた画面データに基づく画面を示す図、図9(B)は、比較用画面バッファに書き込まれた画面データに基づく画面を示す図である。 図9(A)の画面の画面データを示す図である。 図9(B)の画面の画面データを示す図である。 本実施形態のテスト実行サーバを構成するのに好適なハードウェア構成例を示す図である。
以下、添付図面を参照して、本発明の実施形態について詳細に説明する。
<システム構成>
図1は、本実施形態が適用されるテスト・システムの構成例を示す図である。図1に示すテスト・システム10は、現行の情報システムを構成している現行ホストシステム40から新たな情報システムで用いられる新ホストシステム50へ移行する場合の移行テストを実行する。すなわち、本実施形態のテスト・システム10は、移行後の新ホストシステム50が移行前の現行ホストシステム40と同様に動作するか否かをテストする。また、本実施形態による検証対象の情報システムは、ホストシステム(現行ホストシステム40、新ホストシステム50)と端末30との間におけるメッセージの送受信を、ホストシステムの主導により行うシステムである。なお、本実施形態では、検証対象の情報システムは、キャラクタ(文字)・ベースの画面によるユーザ・インターフェイス(CUI:character-based user interface)を有するシステムとする。すなわち、ホストシステム(現行ホストシステム40および新ホストシステム50)からのメッセージに基づいて端末30の表示装置に表示されるインターフェイス画面は、キャラクタ・ベースの画面である。
このテスト・システム10は、端末30と現行ホストシステム40とを接続する回線上に設けられたミラーポート20により、端末30と現行ホストシステム40との間で送受信されるデータ(ネットワーク・データ)を取得する。そして、このテスト・システム10は、端末30の動作をシミュレートして、検証対象である新ホストシステム50に対して送受信されるデータを取得する。このようにして取得された、現行ホストシステム40に対して送受信されたデータに関する情報と、新ホストシステム50に対して送受信されたデータに関する情報とを比較することにより、新ホストシステム50の動作を検証することができる。
また、図1に示すように、本実施形態のテスト・システム10は、ミラーポート20から送られるネットワーク・データを受け付けるデータ収集サーバ100と、データ収集サーバ100により受け付けたネットワーク・データを処理して新ホストシステム50のテストを実行するテスト実行サーバ200とを備える。
データ収集サーバ100は、端末30と現行ホストシステム40との間で送受信されるネットワーク・データを、ミラーポート20を介して取得(トレース)し、テスト実行サーバ200へ送る。テスト実行サーバ200は、データ収集サーバ100からネットワーク・データを取得すると、取得したネットワーク・データに含まれる端末30と現行ホストシステム40との間でやり取りされたメッセージを記録したメッセージ・ファイル301を作成する。メッセージ・ファイル301は、現行ホストシステム40との間でメッセージをやり取りする端末30ごとに作成される。なお、作成されたメッセージ・ファイル301は、図1に示すように、テスト実行サーバ200の外部の記憶装置300に格納しても良いし、テスト実行サーバ200の内部に設けられた記憶装置(不図示)に格納しても良い。
ここで、端末30から現行ホストシステム40へ送られるメッセージには、操作者による端末30の操作(以下、手動操作)によって発生したメッセージと、現行ホストシステム40からの要求に応じて端末30が自動的に応答して発生させたメッセージとがある。そして、情報システムにおいて操作者が入力する内容は、情報システムの移行前後で変わらない。したがって、上記のメッセージ・ファイル301に含まれるメッセージのうち、手動操作により発生したメッセージは、新ホストシステム50の動作をテストする際にも、そのまま再生して良い。
一方、新ホストシステム50から端末30への要求として送られるメッセージおよびこの要求に対して端末30が自動応答で発生させるメッセージは、要求や応答の内容が同様であっても、メッセージ自体は現行ホストシステム40と端末30との間でやり取りされるメッセージと同一でない場合がある。これは、現行ホストシステム40と新ホストシステム50とで、ホストシステムのミドルウェアの実装が異なることによるものである。そして、ホストシステムから端末30へ送られるメッセージ内の要求が異なれば、端末30から自動応答されるメッセージも、それに応じて異なるものとなる。すなわち、インターフェイス画面(以下、UI画面)を表示させるために新ホストシステム50から端末30へ送信されるメッセージにおいて、UI画面を構成する全ての文字を、画面ごとに毎度送信するとは限らない。また、キャラクタ・ベースのUI画面では、複数のフィールドを組み合わせて構成され、UI画面のデータを送信する場合、画面における各フィールドの位置(ポジション)を指定して送信するため、各フィールドの情報が送信される順序は必ずしも固定されない。そのため、ホストシステムの移行前後で、同じ表示画面を送るメッセージが同一でない場合があり得る。そこで、本実施形態では、自動応答により発生したメッセージに関しては、テスト実行サーバ200が新ホストシステム50から要求を受け取り、端末30の動作をシミュレートすることによって、実際に、自動応答によるメッセージを生成する。
また、上記のように、新ホストシステム50からのメッセージおよび自動応答によるメッセージは、現行ホストシステム40と端末30との間でやり取りされたメッセージと同一でない場合があるため、メッセージどうしを比較しても、新ホストシステム50の動作と現行ホストシステム40の動作とが整合しているか否かを判断することができない。そこで、本実施形態では、現行ホストシステム40と端末30との間でメッセージがやり取りされた結果として端末30の表示装置に表示される画面と、新ホストシステム50とテスト実行サーバ200(端末30のシミュレーション)との間でメッセージがやり取りされた結果として生成される画面とを比較し、新ホストシステム50の動作と現行ホストシステム40の動作とが整合しているか否かを判断する。
なお、図1に示した例では、テスト実行サーバ200がメッセージ・ファイル301を作成したが、図示の構成には限定されず、データ収集サーバ100がメッセージ・ファイル301を作成しても良い。
<メッセージ・ファイルの構成例>
図2は、メッセージ・ファイル301の構成例を示す図である。ここでは、3270プロトコル(TN3270E等)でメッセージがやり取りされた例を示している。図2に示す例では、シーケンス番号01からシーケンス番号36まで、現行ホストシステム40と端末30との間でやり取りされた36個のメッセージが、メッセージ・ファイル301に記録されている。なお、図2に示す例において、送信されたデータ量の多いメッセージ(シーケンス番号07、15、19、21、23、25、27、29、31、33、35、36のメッセージ)について、データの記載を一部省略し、短縮して記載している。
図2に示すメッセージ・ファイル301において、1行目に「MSGDWN」と記載されたメッセージ(シーケンス番号01、03、05等のメッセージ)は、現行ホストシステム40から端末30へ送信されたメッセージを示す。また、1行目に「MSGUP」と記載されたメッセージ(シーケンス番号02、04、06等のメッセージ)は、端末30から現行ホストシステム40へ送信されたメッセージを示す。また、各メッセージの1行目には、端末30と現行ホストシステム40との間で送受信された(トレースされた)日時が記録されている。例えば、シーケンス番号01のメッセージは、現行ホストシステム40から端末30へ、「2014/09/13 17:36:03」に送信されたメッセージである。同様に、シーケンス番号02のメッセージは、端末30から現行ホストシステム40へ、「2014/09/13 17:36:04」に送信されたメッセージである。
<テスト実行サーバの機能構成>
図3は、テスト実行サーバ200の機能構成例を示す図である。図3に示すように、本実施形態のテスト実行サーバ200は、テストにおける比較用に、端末30および現行ホストシステム40の動作を再現する、ホスト・メッセージ再生部211と、端末メッセージ再生部212と、比較用画面バッファ213とを備える。また、テスト実行サーバ200は、新ホストシステム50の動作をテストするための、端末エージェント221と、自動応答部222と、テスト用画面バッファ223と、手動操作再生部224と、比較部225とを備える。
ホスト・メッセージ再生部211および端末メッセージ再生部212は、メッセージ・ファイル301をそれぞれ読み込み、現行ホストシステム40と端末30との間で行われた通信を実際の実行順に再生する。
ホスト・メッセージ再生部211は、現行ホストシステム40の送受信動作をシミュレートする機能を有する。ここでは、ホスト・メッセージ再生部211は、メッセージ・ファイル301に記録されたメッセージのうち、現行ホストシステム40から端末30へ送られたメッセージを端末メッセージ再生部212へ送り、端末30から現行ホストシステム40へ送られたメッセージを端末メッセージ再生部212から受け取る。
端末メッセージ再生部212は、端末30の動作をシミュレートする機能として、送受信機能と、画面生成機能とを有する。また、端末30が有しない端末メッセージ再生部212に固有の機能として、メッセージ判別機能と、シナリオ・ファイル作成機能とを有する。端末メッセージ再生部212の機能のうち、端末30の動作をシミュレートする機能については、既存の端末エミュレータにより実現しても良い。
端末メッセージ再生部212は、送受信機能により、メッセージ・ファイル301に記録されたメッセージのうち、現行ホストシステム40から端末30へ送られたメッセージをホスト・メッセージ再生部211から受け取り、端末30から現行ホストシステム40へ送られたメッセージをホスト・メッセージ再生部211へ送る。
また、端末メッセージ再生部212は、画面生成機能により、ホスト・メッセージ再生部211から受け取ったメッセージに基づく画面のデータ(以下、画面データ)を、端末メッセージ再生部212とホスト・メッセージ再生部211との間の(すなわち、端末30と現行ホストシステム40との間の)通信プロトコルにおけるデータストリームの定義にしたがって、比較用画面バッファ213に書き込む。すなわち、端末メッセージ再生部212は、現行ホストシステム40から受信したメッセージに基づいて端末30の表示装置に表示された画面の画面データを模擬的に生成する画面データ模擬生成部として機能する。
また、端末メッセージ再生部212は、メッセージ判別機能により、ホスト・メッセージ再生部211へ送る各メッセージに関して、端末30の操作者がキーボードを操作(打鍵)したことにより発生したメッセージか否かを判別する。上述したように、本実施形態では、端末30において手動操作により発生したメッセージと端末30の自動応答により発生したメッセージとを区別して扱う。メッセージの判別方法については後述する。
また、端末メッセージ再生部212は、メッセージ判別機能により手動操作で発生したメッセージと判別したメッセージを、シナリオ・ファイル作成機能により、シナリオ・ファイル201に書き出す。すなわち、端末メッセージ再生部212は、再生したメッセージに基づいてシナリオ・ファイル201を作成するファイル作成部としても機能する。また、端末メッセージ再生部212は、メッセージにおいて手動操作により入力された文字やコマンドの情報を抽出し、シナリオ・ファイル201に記録する。また、シナリオ・ファイル201には、自動応答により発生したメッセージを含む各メッセージが取得された(メッセージ・ファイル301に記録された)時刻の情報も記録される。作成されたシナリオ・ファイル201は、テスト実行サーバ200のメモリや磁気ディスク等の記憶装置に保持され、後に新ホストシステム50の動作をテストする際に、端末30において行われた手動操作を再現するために用いられる。なお、ここでは、端末メッセージ再生部212は、画面データをシナリオ・ファイル201に書き込むこととしたが、シナリオ・ファイル201とは別に画面データのファイルを作成し、個別に管理するように構成しても良い。
また、端末メッセージ再生部212は、手動操作により発生したメッセージに記述されているUI画面のフィールドの情報から、手動操作による入力(キー入力)が行われたフィールドを特定する。そして、端末メッセージ再生部212は、特定したフィールドの記述に基づいて、キー入力が行われたフィールドの位置、入力されたキーの種類(入力内容)、画面におけるカーソルの位置等の情報を抽出し、シナリオ・ファイル201に記録する。これは、検証において、UI画面のどのフィールドに対してキー入力が行われたのかを明確にするためである。なお、画面データの管理と同様に、端末メッセージ再生部212は、メッセージから抽出した情報を、シナリオ・ファイル201とは別のファイルに記録し、個別に管理するように構成しても良い。メッセージからキー入力が行われたフィールドを特定し、キー入力に関する情報等を抽出するための具体的な手法については後述する。
比較用画面バッファ213は、端末メッセージ再生部212によりメッセージから抽出された画面データを保持する。端末30の機能をソフトウェアにより再現する端末エミュレータは、その機能において、端末30に表示される画面を生成する際に用いられる画面バッファの機能を有するものがある。そこで、端末メッセージ再生部212を端末エミュレータにより実現する場合、その端末エミュレータが画面バッファの機能を有するならば、この端末エミュレータの機能により比較用画面バッファ213を実現しても良い。比較用画面バッファ213に保持された画面データは、後の新ホストシステム50の動作のテストにおいて生成される画面データの比較対象となる。
端末エージェント221は、検証対象である新ホストシステム50に接続し、新ホストシステム50との間で、端末30と現行ホストシステム40との間で行われた通信を再生する。すなわち、端末エージェント221は、新ホストシステム50から送られたメッセージを受信し、自動応答部222へ転送する送受信制御部として機能する。また、端末エージェント221は、手動操作により発生するメッセージおよび新ホストシステム50からの要求に対する自動応答により発生するメッセージを新ホストシステム50へ送る。なお、端末エージェント221から新ホストシステム50へのメッセージの送信には、メッセージの整合性やタイミングを適切に制御する必要がある。この送信時の具体的な動作については後述する。
自動応答部222は、端末エージェント221を介して新ホストシステム50から受け取ったメッセージに基づく画面データを、端末エージェント221と新ホストシステム50との間の通信プロトコルにおけるデータストリームの定義にしたがって、テスト用画面バッファ223に書き込む。また、自動応答部222は、受け取ったメッセージが応答を要求するものである場合は、要求に対する応答メッセージを生成し、端末エージェント221へ送る。この応答メッセージは、上述したように、端末エージェント221から新ホストシステム50へ送られる。すなわち、自動応答部222は、新ホストシステム50から受信したメッセージに基づき端末30の表示装置に表示させ得る画面の画面データを生成する画面データ生成部として機能すると共に、新ホストシステム50から受信したメッセージの要求に対する処理を行って応答メッセージを自動生成する応答メッセージ自動生成部として機能する。
テスト用画面バッファ223は、自動応答部222によりメッセージから抽出された画面データを保持する。テスト用画面バッファ223に保持された画面データは、端末メッセージ再生部212によりシナリオ・ファイル201またはその他の管理用のファイルに書き出された画面データと比較される。なお、端末エージェント221、自動応答部222およびテスト用画面バッファ223は、端末メッセージ再生部212および比較用画面バッファ213と同様に、既存の端末エミュレータにより実現しても良い。
手動操作再生部224は、端末メッセージ再生部212により作成されたシナリオ・ファイル201に基づいて、端末30と現行ホストシステム40との間で行われたメッセージの送受信のうち、端末30において手動操作により発生したメッセージを再生する。そして、手動操作再生部224は、再生したメッセージを、後述する適当なタイミングで、端末エージェント221を介して新ホストシステム50へ送信する。手動操作により発生したメッセージの送信タイミングの詳細については後述する。
比較部225は、端末メッセージ再生部212によりシナリオ・ファイル201またはその他の管理用のファイルに記録された画面データとテスト用画面バッファ223に保持された画面データとを比較し、一致しているか否かを判定し、判定結果を出力する。出力された判定結果は、例えば、テスト実行サーバ200のメモリ等の記憶装置や外部記憶装置に保持される。
<シナリオ・ファイルの構成例>
ここで、シナリオ・ファイルの構成について説明する。図4は、シナリオ・ファイル201の構成例を示す図である。図4に示す例では、シナリオ・ファイル201には、端末メッセージ再生部212により生成された画面データは記録されておらず、手動操作により発生したメッセージのみが記録されている。なお、画面データは、シナリオ・ファイル201とは別のファイルに書き出されて管理されているものとする。
図4に示す例では、シーケンス番号01からシーケンス番号11まで、端末30における手動操作により発生した11個のメッセージが、シナリオ・ファイル201に記録されている。なお、シナリオ・ファイル201のシーケンス番号01〜11の各メッセージは、図2に示したメッセージ・ファイル301のシーケンス番号08、16、18、20、22、24、26、28、30、32、34の各メッセージに対応している。
シナリオ・ファイル201を作成するためには、上述したように、メッセージ・ファイル301に記録されたメッセージのうち、手動操作により発生したメッセージを判別する必要がある。本実施形態では、メッセージの特定の位置に特定のキー入力を示す情報が存在するか否かを判断することにより、手動操作により発生したメッセージか否かを判別する。
キーボードのキーには、文字入力のみが行われるキーの他に、打鍵されるとメッセージの送信が行われるキー(例えば、「Enter」キーやファンクション・キー等、以下、AIDキーと呼ぶ)が含まれる。また、端末30と現行ホストシステム40との間でやり取りされるメッセージは、通信プロトコルに基づいて規定される書式にしたがって記述されている。そこで、メッセージの書式に基づき、AIDキーがメッセージの特定の位置に記述されていれば、そのメッセージがAIDキーの打鍵により送信された(キーボードの操作により発生した)メッセージであることがわかる。その他、使用されている通信プロトコルの種類に応じて、特定の書式や記述に基づき、手動操作により発生したメッセージか自動応答により発生したメッセージかを判別可能な条件を設定し、その条件に基づいてメッセージの種類を判別すれば良い。
図2に示したメッセージ・ファイル301および図4に示したシナリオ・ファイル201の例では、3270プロトコルに基づいて送受信されたメッセージなので、メッセージの2行目以降のデータ部分における6バイト目の値に着目する。例えば、シナリオ・ファイル201のシーケンス番号01のメッセージ(メッセージ・ファイル301ではシーケンス番号08)では、6バイト目の値が「7d」となっている。この値は、AIDキーである「Enter」キーを表している。したがって、このメッセージは、手動操作により発生したメッセージと判別される。また、シナリオ・ファイル201のシーケンス番号07のメッセージ(メッセージ・ファイル301ではシーケンス番号26)では、6バイト目の値が「f3」となっている。この値は、AIDキーであるファンクション・キー(「F3」キー)を表している。したがって、このメッセージは、手動操作により発生したメッセージと判別される。
<キー入力が行われたフィールドの情報の抽出>
端末メッセージ再生部212は、シナリオ・ファイル201を作成する処理において、シナリオ・ファイル201に記録する対象であるメッセージから、キー入力が行われたフィールドを特定し、キー入力に関する情報等を抽出してシナリオ・ファイル201に記録する。シナリオ・ファイル201に記録する対象であるメッセージは、メッセージ・ファイル301に記録されたメッセージのうち、端末30での手動操作により発生し、端末30から現行ホストシステム40へ送信されたメッセージ(以下、送信メッセージ)である。この送信メッセージには、キー入力が行われたフィールド以外のフィールドの情報も記述されている。そのため、送信メッセージの内容のみでは、キー入力の行われたフィールドを判別することができない。
そこで、本実施形態では、端末メッセージ再生部212が比較用画面バッファ213に書き込んだ画面データと、送信メッセージとを対比することにより、キー入力の行われたフィールドを判別する。具体的には、端末メッセージ再生部212は、まず、画面データをホスト・メッセージ再生部211から受信した後、最初にホスト・メッセージ再生部211へ送信される送信メッセージを選択する。次に、端末メッセージ再生部212は、画面データに含まれるフィールドのうち、選択した送信メッセージに記述されている各フィールドに対応するフィールドを特定し、対応する各フィールドのデータを比較する。ここで、画面データと送信メッセージとで、対応するフィールドのデータが異なっていれば、そのフィールドのデータは、画面が表示された後に手動操作により入力されたデータである。
例として、図4に示したシナリオ・ファイル201のメッセージを参照する。このメッセージは2370プロトコルに基づいているので、6バイト目の値が入力されたAIDキーの種類を表し、7、8バイト目の値がカーソルの位置を表す。また、値「11」から続く部分がフィールドの情報を示す。具体的には、値「11」の直後の2バイトの値がフィールドの位置を示し、その後に続く不定長の値がフィールドに記録されたデータを示す。例えば、シナリオ・ファイル201のシーケンス番号01のメッセージであれば、入力されたAIDキーの種類は「7d」、カーソル位置は「5dc8」である。また、記述されているフィールドは一つであり、フィールドの位置は「5dc3」、フィールドに記録されたデータは「838983a281」である。なお、フィールドに記録されたデータは、次の値「11」の位置または値「ffef」(TELNETのメッセージ終了を示す値)まで続く。また、値「11」、フィールドの位置、データの組を繰り返し挿入することで、複数のフィールドの情報をメッセージに記述することができる。
以上のようにしてキー入力されたフィールドが特定されたならば、端末メッセージ再生部212は、AIDキー、カーソル位置、キー入力が行われたフィールドの位置、入力内容等の情報をシナリオ・ファイル201またはその他の管理用のファイルに記録する。
<手動操作により発生するメッセージの送信タイミングの制御>
情報システムでは、一般に、多数の端末(例えば数万台程度)がホストシステムに同時接続して動作する場合がある。このような場合、ホストシステムと各端末との間の通信負荷等を考慮すると、移行後の情報システムの動作を正確にテストするには、各メッセージの送受信の時間間隔も再現することが望ましい。そこで、本実施形態では、シナリオ・ファイル201に記録された各メッセージの取得時刻(メッセージ・ファイル301に記録された時刻)の情報に基づき、手動操作により発生したメッセージの送信タイミングを制御する。
具体的には、手動操作再生部224は、あるメッセージを送信する場合、直前にメッセージを送信してからシナリオ・ファイル201に記録された時刻に基づいて特定される時間(特定時間)だけ待った後に、メッセージの送信を実行する。すなわち、手動操作再生部224は、まず、シナリオ・ファイル201に記録されたメッセージのうち、直前に送信したメッセージに対応するメッセージの取得時刻と、今回送信するメッセージに対応するメッセージの取得時刻との差分を求める。そして、手動操作再生部224は、直前にメッセージを送信してから、求めた差分に相当する時間が経過した後(時間条件を満足した場合)に、今回のメッセージの送信を行う。言い換えれば、本実施形態は、シナリオ・ファイル201に記録された各メッセージの取得時刻に基づいて特定される特定時間を用いて、各メッセージを送信するタイミングを定める時間条件を設定する。
一例として、図4のシナリオ・ファイル201において、シーケンス番号01のメッセージおよびシーケンス番号02のメッセージを参照する。シーケンス番号01のメッセージは、送信時刻が「17:36:29」である。一方、シーケンス番号02のメッセージは、送信時刻が「17:36:43」である。したがって、両者の差分から、手動操作再生部224がシーケンス番号02のメッセージに対応するメッセージを送信するタイミング(時間条件)は、シーケンス番号01のメッセージを送信してから14秒後となる。
なお、手動操作再生部224がシナリオ・ファイル201の先頭に記録されたシーケンス番号01のメッセージに対応するメッセージを送信するための時間条件は、シーケンス番号01のメッセージの取得時刻と、端末30と現行ホストシステム40とが接続した時刻との差分に基づいて設定される。端末30と現行ホストシステム40とが接続した時刻は、図4に示したシナリオ・ファイル201では、2行目(「CONN 141059〜」)に記録されており、「17:35:09」である。したがって、手動操作再生部224がシーケンス番号02のメッセージに対応するメッセージを送信するタイミングは、テスト実行サーバ200(端末エージェント221)と新ホストシステム50とが接続してから1分20秒後となる。
また、手動操作再生部224は、メッセージを送信する際に、新ホストシステム50とのメッセージの送受信に基づいて行われた直前の処理(すなわち、直前の画面データの書き込みまでの処理)が終了していることを確認する。そして、直前の処理が終了していた場合に、メッセージの送信を実行する。これは、端末30におけるキー入力は、必ず入力操作が行われる画面が端末30の表示装置に表示された後に行われるためである。
そこで、本実施形態の手動操作再生部224は、メッセージを送信するタイミングになると、直前の処理が終了していることを確認するため、テスト用画面バッファ223に保持されている画面データと、端末メッセージ再生部212がこのメッセージをシナリオ・ファイル201に書き出した際に比較用画面バッファ213に保持されていた画面データとを比較する。比較用画面バッファ213に保持されていた画面データは、シナリオ・ファイル201またはその他の管理ファイルに書き出されているので、このファイルに書き出された画面データを用いて比較すれば良い。
この比較の結果、双方の画面データの内容が一致したならば、新ホストシステム50を含む検証対象の情報システムで直前の処理が終了しているので、手動操作再生部224は、メッセージを送信する。一方、双方の画面データの内容が一致しない場合は、直前の処理が終了していないので、テスト用画面バッファ223へ次の画面データの書き込みが行われるのを待ち、新たな書き込みが行われた後に、改めて画面データを比較する。そして、双方の画面データの内容が一致しない状態が継続すると、手動操作により発生したメッセージを送信しない待ち状態が続くことになるので、結果的に、新ホストシステム50を含む検証対象の情報システムに対するテストは停止する。なお、待ち時間の上限を設定しておき、設定時間に達したならば、異常が発生したことを報知する等のエラー処理を行って動作を継続または終了するように構成しても良い。
<テスト実行サーバにおけるメッセージの送信処理>
次に、テスト実行サーバ200から新ホストシステム50へメッセージを送信する処理の流れを説明する。図5は、自動応答によるメッセージの送信処理を示すフローチャートである。図6は、手動操作によるメッセージの送信処理を示すフローチャートである。本実施形態において、テスト実行サーバ200の端末エージェント221は、新ホストシステム50に対し、自動応答部222により生成された自動応答によるメッセージと、手動操作再生部224によりシナリオ・ファイル201にしたがって再生された手動操作によるメッセージとを送信する。
自動応答によるメッセージの送信処理の場合、図5に示すように、まず、端末エージェント221が、新ホストシステム50からメッセージを受信する(ステップ501)。そして、受信したメッセージが応答を要求するメッセージであった場合、自動応答部222が応答メッセージを生成し(ステップ502、503)、端末エージェント221が生成されたメッセージを直ちに新ホストシステム50へ送信する(ステップ504)。
なお、テスト実行サーバ200(端末エージェント221)と新ホストシステム50とが接続されると、まず、新ホストシステム50からの問い合わせに応じて、自動応答部222が、自動応答により、端末の情報(端末名や表示画面サイズ等)を送信する。この情報は、端末30と現行ホストシステム40との間で送受信されたメッセージから抜き出して、シナリオ・ファイル201またはその他の管理用のファイルに書き出され、自動応答部222にセットされる。また、この情報を端末エージェント221にセットしておき、自動応答部222による応答に、端末エージェント221が端末の情報を上書きするような実装としても良い。
手動操作によるメッセージの送信処理の場合、図6に示すように、まず、手動操作再生部224が、シナリオ・ファイル201に記録されている最初のメッセージを読み込む(ステップ601)。そして、手動操作再生部224は、読み込んだメッセージを送信するための時間条件を満足するか否かを判定する(ステップ602)。ここで、メッセージを送信するための時間条件とは、上述した、シナリオ・ファイル201に記録された時刻に基づいて判断される時間条件である。
時間条件を満足したならば、次に手動操作再生部224は、新ホストシステム50およびテスト実行サーバ200を含む情報システムにおいて直前の処理が終了しているか否かを判断する(ステップ603)。この判断は、上述したように、テスト用画面バッファ223に保持されている画面データと、シナリオ・ファイル201等から取得される比較用画面バッファ213に保持されていた画面データとを比較することにより行われる。
そして、直前の処理が終了していない場合、手動操作再生部224は、テスト用画面バッファ223へ次の画面データの書き込みが行われるのを待つ(ステップ604)。そして、次の画面データの書き込みが行われた後に、改めて直前の処理が終了しているか否かを判断する。
一方、直前の処理が終了していた場合、手動操作再生部224は、ステップ601で読み込んだメッセージを端末エージェント221に送る。端末エージェント221は、手動操作再生部224から受け取ったメッセージと他の送信メッセージとの整合を取る整合処理を行って(ステップ605)、手動操作再生部224から受け取ったメッセージを新ホストシステム50へ送信する(ステップ606)。ここで、整合処理は、各メッセージのシーケンス番号の調整等、通信プロトコルが要求する形式に適合するように調整する処理を含む。また、新ホストシステム50から直前に受信したメッセージが応答を要求するものであり、手動操作によるメッセージおよび自動応答によるメッセージの両方が送信される場合に、自動応答部222により生成されたメッセージ(自動応答によるメッセージ)を先に送信した後に手動操作によるメッセージの送信を行うことを含む。
次に、手動操作再生部224は、シナリオ・ファイル201に未処理のメッセージがあるか否かを調べ、未処理のメッセージのうち、シーケンス番号の最も若いメッセージを読み込む(ステップ607、608)。そして、手動操作再生部224は、ステップ602以降の処理を繰り返す。シナリオ・ファイル201の全てのメッセージに対して処理を行ったならば、そのシナリオ・ファイル201に基づく手動操作によるメッセージの送信処理を終了する(ステップ607)。
以上のようにして、一つのシナリオ・ファイル201に基づくメッセージの送信処理を含む新ホストシステム50の動作のテストが行われる。シナリオ・ファイル201は、現行の情報システムにおいて現行ホストシステム40に接続されている端末30ごとに作成されるので、本実施形態のテスト実行サーバ200は、各端末30に対応するシナリオ・ファイル201に対し、同様に新ホストシステム50のテストを行う。
<テストの実行例>
次に、図7乃至図9を参照し、比較用画面バッファ213に書き込まれた画面データに基づく画面と、テスト用画面バッファ223に書き込まれた画面データに基づく画面とを比較して、テストの実行例を説明する。ここでは、図2に示したメッセージ・ファイル301に記録されたメッセージのうち、シーケンス番号07のメッセージにより送受信された画面データに基づく画面、シーケンス番号25のメッセージにより送受信された画面データに基づく画面、シーケンス番号33のメッセージにより送受信された画面データに基づく画面を比較した例について説明する。
図7は、図2に示すメッセージ・ファイル301のシーケンス番号07のメッセージに含まれる画面データに基づく画面を示す図である。図7(A)は、テスト用画面バッファ223に書き込まれた画面データに基づく画面であり、図7(B)は、比較用画面バッファ213に書き込まれた画面データに基づく画面である。図7(A)の画面と図7(B)の画面とを比較すると、完全に同一であり、この画面に関する処理では、新ホストシステム50が現行ホストシステム40と同様に動作したことがわかる。
図7(A)に示す「再生時刻」は、図7(A)の画面に対して行われた手動操作に基づくメッセージが手動操作再生部224により再生された時刻である。また、「キー入力」には、手動操作再生部224により再生された手動操作において、画面の「24行、20列」の位置に文字列「cicsa」が入力され、Enterキーが入力されたことが示されている。この内容は、後述の図7(B)の「キー入力」の内容と同一である。また、この入力内容は、図4に示したシナリオ・ファイル201のシーケンス番号01のメッセージに基づいて手動操作再生部224により再生された内容である。
一方、図7(B)に示す「ネットワークトレース時刻」は、図7(B)の画面の画面データを含むメッセージがトレースされてメッセージ・ファイル301に記録された時刻である。また、「キー入力」には、端末30において、表示された画面に対して実際に行われた手動操作が示されており、画面の「24行、20列」の位置に文字列「cicsa」が入力され、Enterキーが入力されたことが示されている。
図8は、図2に示すメッセージ・ファイル301のシーケンス番号25のメッセージに含まれる画面データに基づく画面を示す図である。図8(A)は、テスト用画面バッファ223に書き込まれた画面データに基づく画面であり、図8(B)は、比較用画面バッファ213に書き込まれた画面データに基づく画面である。図8(A)の画面と図8(B)の画面とを比較すると、完全に同一であり、この画面に関する処理では、新ホストシステム50が現行ホストシステム40と同様に動作したことがわかる。
図8(A)に示す「再生時刻」は、図8(A)の画面に対して行われた手動操作に基づくメッセージが手動操作再生部224により再生された時刻である。また、「キー入力」には、手動操作再生部224により再生された手動操作において、「F3」キー(ファンクション・キー)が入力されたことが示されている。この内容は、後述の図8(B)の「キー入力」の内容と同一である。また、この入力内容は、図4に示したシナリオ・ファイル201のシーケンス番号07のメッセージに基づいて手動操作再生部224により再生された内容である。
一方、図8(B)に示す「ネットワークトレース時刻」は、図8(B)の画面の画面データを含むメッセージがトレースされてメッセージ・ファイル301に記録された時刻である。また、「キー入力」には、端末30において、表示された画面に対して実際に行われた手動操作が示されており、「F3」キー(ファンクション・キー)が入力されたことが示されている。
図9は、図2に示すメッセージ・ファイル301のシーケンス番号33のメッセージに含まれる画面データに基づく画面を示す図である。図9(A)は、テスト用画面バッファ223に書き込まれた画面データに基づく画面であり、図9(B)は、比較用画面バッファ213に書き込まれた画面データに基づく画面である。図9(A)の画面と図9(B)の画面とを比較すると、一部が異なっており、この画面に関する処理では、新ホストシステム50が現行ホストシステム40とは異なる動作をしたことがわかる。図9(A)および図9(B)の画面の差異の詳細については後述する。
図9(A)に示す「再生時刻」は、図9(A)の画面に対して行われた手動操作に基づくメッセージが手動操作再生部224により再生された時刻である。また、「キー入力」には、手動操作再生部224により再生された手動操作において、「F3」キー(ファンクション・キー)が入力されたことが示されている。この内容は、後述の図9(B)の「キー入力」の内容と同一である。また、この入力内容は、図4に示したシナリオ・ファイル201のシーケンス番号11のメッセージに基づいて手動操作再生部224により再生された内容である。
一方、図9(B)に示す「ネットワークトレース時刻」は、図9(B)の画面の画面データを含むメッセージがトレースされてメッセージ・ファイル301に記録された時刻である。また、「キー入力」には、端末30において、表示された画面に対して実際に行われた手動操作が示されており、「F3」キー(ファンクション・キー)が入力されたことが示されている。
図9(A)および図9(B)の画面の差異について説明する。図9(A)および図9(B)において「Number of Shares Held:」と記載された箇所に着目すると、図9(A)では値が「0010」となっているのに対し、図9(B)では値が「0100」となっており、同一でない。また、図9(A)および図9(B)において「Value of Shares Held:」と記載された箇所に着目すると、図9(A)では値が「000000790.00」となっているのに対し、図9(B)では値が「000007900.00」となっており、同一でない。したがって、このテストにおいては、図3に示したテスト実行サーバ200の比較部225が、図9(A)および図9(B)の画面の画面データを比較した際に、新ホストシステム50が現行ホストシステム40とは異なる動作をしたことを示す比較結果を出力する。
上記の説明では、視覚的に理解しやすいように画面どうしを比較したが、本実施形態では、キャラクタ・ベースの画面が用いられるので、比較部225は、実際に表示装置に表示される画面どうしを比較する必要はなく、その画面を表示するための画面データを比較すれば良い。そこで次に、図9(A)および図9(B)の画面の画面データを参照する。
図10は、図9(A)の画面の画面データを示す図である。また、図11は、図9(B)の画面の画面データを示す図である。図10の画面データと図11の画面データとを比較すると、反転表示した2箇所の値が異なっている。すなわち、図10で「f0f1」となっている箇所が、図11では「f1f0」となっている。また、図10で「f0f7f9」となっている箇所が図11では「f7f9f0」となっている。したがって、比較部225は、これらの画面データを比較し、不一致であることを示す比較結果を出力する。
<ハードウェア構成例>
図12は、本実施形態のテスト実行サーバ200を構成するのに好適なハードウェア構成例を示す図である。ここでは、コンピュータにより構成する場合について説明する。図12に示すコンピュータは、演算手段であるCPU(Central Processing Unit)10aと、主記憶手段であるメモリ10cを備える。また、外部デバイスとして、磁気ディスク装置(HDD:Hard Disk Drive)10g、ネットワーク・インターフェイス10f、ディスプレイ装置を含む表示機構10d、キーボードやマウス等の入力デバイス10i等を備える。
図12に示す構成例では、メモリ10cおよび表示機構10dは、システム・コントローラ10bを介してCPU10aに接続されている。また、ネットワーク・インターフェイス10f、磁気ディスク装置10gおよび入力デバイス10iは、I/Oコントローラ10eを介してシステム・コントローラ10bと接続されている。各構成要素は、システム・バスや入出力バス等の各種のバスによって接続される。
図12において、磁気ディスク装置10gにはOSのプログラムやアプリケーション・プログラムが格納されている。そして、これらのプログラムがメモリ10cに読み込まれてCPU10aに実行されることにより、テスト実行サーバ200におけるホストメッセージ再生部211、端末メッセージ再生部212、端末エージェント221、自動応答部222、手動操作再生部224及び比較部225の各機能が実現される。また、メモリ10cや磁気ディスク装置10gにより、比較用画面バッファ213およびテスト用画面バッファ223が実現される。また、シナリオ・ファイル201も、メモリ10cや磁気ディスク装置10gに保持される。なお、図12は、本実施形態のテスト実行サーバ200を実現するのに好適なコンピュータのハードウェア構成を例示するに過ぎず、テスト実行サーバ200の具体的構成は、図12に示す構成に限定されない。
以上、本実施形態について説明したが、本実施形態のテスト・システム10は、上記の具体的構成に限定されるものではない。例えば、テスト実行サーバ200の機能構成のうち、端末30および現行ホストシステム40の動作を再現するための、ホスト・メッセージ再生部211、端末メッセージ再生部212および比較用画面バッファ213と、新ホストシステム50の動作をテストするための、端末エージェント221、自動応答部222、テスト用画面バッファ223、手動操作再生部224および比較部225とを、別個のサーバにより構成しても良い。
また、上記の実施形態では、手動操作再生部224が手動操作により発生したメッセージを送信するタイミングを、端末30と現行ホストシステム40との間で実際に行われたメッセージのやり取りに基づいて特定される時間条件にしたがって、制御した。これは、実際の経過時間を守って再生することで、単位時間当たりの負荷をメッセージ・ファイル301の記録時と同じにするためである。これにより、ホストシステムに多数の端末が接続される情報システムの構成を考慮し、ホストシステムの機能要件のテストに加えて、ホストシステムの負荷や安定性などの非機能要件のテストを行う。これに対し、ホストシステムの機能要件のテストのみを行えば良い場合には、時間条件の上限(例えば5秒)を設定し、メッセージの送信タイミングを一定時間以上遅くしないように制御しても良い。
また、上記の実施形態では、手動操作再生部224は、メッセージを送信する前に、直前の処理が終了していることを確認するため、テスト用画面バッファ223に書き込まれた画面データと、シナリオ・ファイル201等に記録されている画面データとを比較した。これに対し、具体的に画面データを比較するのではなく、前回の手動操作によるメッセージの送信後に端末エージェント221が新ホストシステム50から受信したメッセージのメッセージ長の合計と、メッセージ・ファイル301に記録されている対応するメッセージのメッセージ長の合計とを比較して、同一であれば、直前の処理が終了していると判定するように構成しても良い。これは、画面データを比較する場合と比べて精度が落ちるが、テスト実行サーバ200の負担を軽減することが可能な簡便な実装である。
さらに、上記の実施形態では、端末エージェント221が手動操作によるメッセージを送信する際に、直前に新ホストシステム50から受信したメッセージが応答を要求するものであった場合、自動応答によるメッセージを先に送信した後に手動操作によるメッセージの送信を行うこととした。これに対し、端末エージェント221が、直前に新ホストシステム50から受信したメッセージを判別することなく、単に、手動操作再生部224からメッセージを取得した後、一定時間(通常、自動応答に必要となる時間)が経過してから、取得したメッセージを送信するように構成しても良い。また、上記の実施形態では、検証対象の情報システムがキャラクタ・ベースのユーザ・インターフェイスを有する場合を例として説明したが、グラフィカル・ユーザ・インターフェイスを有する情報システムに対しても本実施の形態によるテスト・システム10を適用することが可能である。その他、上記の実施形態に、種々の変更または改良を加えたものも、本発明の技術的範囲に含まれる。
10…テスト・システム、20…ミラーポート、30…端末、40…現行ホストシステム、50…新ホストシステム、100…データ収集サーバ、200…テスト実行サーバ、201…シナリオ・ファイル、211…ホスト・メッセージ再生部、212…端末メッセージ再生部、213…比較用画面バッファ、221…端末エージェント、222…自動応答部、223…テスト用画面バッファ、224…手動操作再生部、225…比較部、301…メッセージ・ファイル

Claims (8)

  1. ホストシステムの移行に伴うホストシステムの動作をテストする装置であって、
    移行前のホストシステムと端末との間で送受信されたメッセージのうち、当該端末における手動操作により発生したメッセージを抽出して作成されたファイルを保持する記憶装置と、
    移行後のホストシステムとの間でメッセージの送受信を行う送受信制御部と、
    前記ファイルに記録されている前記メッセージを再生し、再生したメッセージを前記送受信制御部により前記移行後のホストシステムへ送信させる手動操作再生部と、
    前記送受信制御部を介して前記移行後のホストシステムから受信したメッセージが応答を要求するメッセージである場合に、当該要求に対する応答メッセージを自動生成し、生成したメッセージを当該送受信制御部により当該移行後のホストシステムへ送信させる応答メッセージ自動生成部と、
    前記送受信制御部を介して前記移行後のホストシステムから受信したメッセージに基づき、端末の表示装置に表示させる画面の画面データを生成する画面データ生成部と、
    前記画面データ生成部により生成された画面データと、前記端末の動作を再生して生成された画面データとを比較して、一致しているか否かを判定する比較部と、を備え、
    前記送受信制御部は、前記移行後のホストシステムから受信したメッセージに対して、前記手動操作再生部により再生されたメッセージおよび前記応答メッセージ自動生成部により生成されたメッセージを送信する場合、当該応答メッセージ自動生成部により生成されたメッセージを送信した後に、当該手動操作再生部により再生されたメッセージを送信する、装置。
  2. ホストシステムから送られたメッセージに基づいて端末の表示装置に表示される画面は、キャラクタ・ベースのユーザ・インターフェイスである、請求項1に記載の装置。
  3. 前記手動操作再生部は、送信しようとする前記メッセージを、直前に他のメッセージを送信してから特定時間が経過した後に送信し、
    前記特定時間は、前記移行前のホストシステムと前記端末との間で行われた送受信において、当該端末が前記送信しようとするメッセージに対応するメッセージを送信した時刻と、当該メッセージを送信する直前に手動操作により発生したメッセージを送信した時刻とに基づいて定められる、
    請求項1または請求項2に記載の装置。
  4. 前記手動操作再生部は、送信しようとする前記メッセージを、直前に行われた処理が終了した後に送信する、請求項1または請求項2に記載の装置。
  5. 前記移行前のホストシステムと前記端末との間で送受信されたメッセージを再生するメッセージ再生部と、
    前記メッセージ再生部により再生されたメッセージに基づき、前記端末における手動操作により発生したメッセージを抽出してファイルを作成し、前記記憶装置に保持させるファイル作成部と、
    前記メッセージ再生部により再生されたメッセージに基づき、前記端末の表示装置に表示された画面の画面データを模擬的に生成する画面データ模擬生成部と、を備え、
    前記比較部は、前記画面データ生成部により生成された画面データと前記画面データ模擬生成部により生成された画面データとを比較して、一致しているか否かを判定する、請求項1または請求項2に記載の装置。
  6. ホストシステムの移行に伴うホストシステムの動作をテストする装置であって、
    移行前のホストシステムと端末との間で送受信されたメッセージを再生するメッセージ再生部と、
    前記メッセージ再生部により再生されたメッセージに基づき、前記端末における手動操作により発生したメッセージを抽出してファイルを作成するファイル作成部と、
    前記メッセージ再生部により再生されたメッセージに基づき、前記端末の表示装置に表示された画面の画面データを模擬的に生成する画面データ模擬生成部と、
    移行後のホストシステムとの間でメッセージの送受信を行う送受信制御部と、
    前記ファイル作成部により作成された前記ファイルに記録されている前記メッセージを再生し、再生したメッセージを前記送受信制御部により前記移行後のホストシステムへ送信させる手動操作再生部と、
    前記送受信制御部を介して前記移行後のホストシステムから受信したメッセージが応答を要求するメッセージである場合に、当該要求に対する応答メッセージを自動生成し、生成したメッセージを当該送受信制御部により当該移行後のホストシステムへ送信させる応答メッセージ自動生成部と、
    前記送受信制御部を介して前記移行後のホストシステムから受信したメッセージに基づき、端末の表示装置に表示させる画面の画面データを生成する画面データ生成部と、
    前記画面データ生成部により生成された画面データと、前記端末の動作を再生して生成された画面データとを比較して、一致しているか否かを判定する比較部と、を備え、
    前記手動操作再生部は、送信しようとする前記メッセージを、直前に他のメッセージを送信してから、前記移行前のホストシステムと前記端末との間で行われた送受信において当該端末が前記送信しようとするメッセージに対応するメッセージを送信した時刻と、当該メッセージを送信する直前に手動操作により発生したメッセージを送信した時刻とに基づいて定められる特定時間が経過した後であって、直前に行われた処理が終了した後に送信し、
    前記送受信制御部は、前記移行後のホストシステムから受信したメッセージに対して、前記手動操作再生部により再生されたメッセージおよび前記応答メッセージ自動生成部により生成されたメッセージを送信する場合、当該応答メッセージ自動生成部により生成されたメッセージを送信した後に、当該手動操作再生部により再生されたメッセージを送信する、装置。
  7. ホストシステムの移行に伴うホストシステムの動作をテストする方法であって、
    移行後のホストシステムの動作をテストするサーバが、当該移行後のホストシステムとの間でメッセージの送受信を行うステップと、
    前記移行後のホストシステムから受信したメッセージに基づき、端末の表示装置に表示させる画面の画面データを生成するステップと、
    前記移行後のホストシステムから受信したメッセージに基づいて生成された画面データと、移行前のホストシステムとの間で送受信されたメッセージに基づく前記端末の動作を再生して生成された画面データとを比較して、一致しているか否かを判定するステップとを含み、
    前記メッセージの送受信を行うステップは、
    移行前のホストシステムと端末との間で送受信されたメッセージのうち、当該端末における手動操作により発生したメッセージを抽出して作成されたファイルから当該メッセージを読み出して再生し、再生したメッセージを前記移行後のホストシステムへ送信するステップと、
    前記移行後のホストシステムから受信したメッセージが応答を要求するメッセージである場合に、当該要求に対する応答メッセージを自動生成し、生成したメッセージを当該移行後のホストシステムへ送信するステップとを含み
    前記移行後のホストシステムから受信したメッセージに対して、手動操作により発生したメッセージを抽出して作成されたファイルから再生されたメッセージおよび自動生成されたメッセージを送信する場合、当該自動生成されたメッセージを送信した後に、当該ファイルから再生されたメッセージを送信する、方法。
  8. ホストシステムの移行に伴うホストシステムの動作をテストするコンピュータを、
    移行後のホストシステムとの間でメッセージの送受信を行う送受信制御手段と、
    移行前のホストシステムと端末との間で送受信されたメッセージのうち、当該端末における手動操作により発生したメッセージを抽出して作成されたファイルから当該メッセージを読み込んで再生し、再生したメッセージを前記送受信制御手段により前記移行後のホストシステムへ送信させる手動操作再生手段と、
    前記移行後のホストシステムから受信したメッセージが応答を要求するメッセージである場合に、当該要求に対する応答メッセージを自動生成し、生成したメッセージを前記送受信制御手段により当該移行後のホストシステムへ送信させる応答メッセージ自動生成手段と、
    前記移行後のホストシステムから受信したメッセージに基づき、端末の表示装置に表示させる画面の画面データを生成する画面データ生成手段と、
    前記画面データ生成手段により生成された画面データと、前記端末の動作を再生して生成された画面データとを比較して、一致しているか否かを判定する比較手段として、機能させ、
    前記送受信制御手段の動作として、前記移行後のホストシステムから受信したメッセージに対して、前記手動操作再生手段により再生されたメッセージおよび前記応答メッセージ自動生成手段により生成されたメッセージを送信する場合、当該応答メッセージ自動生成手段により生成されたメッセージを送信した後に、当該手動操作再生手段により再生されたメッセージを送信する、プログラム。
JP2014202063A 2014-09-30 2014-09-30 システムのテストを行う装置、方法およびプログラム Expired - Fee Related JP5954752B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2014202063A JP5954752B2 (ja) 2014-09-30 2014-09-30 システムのテストを行う装置、方法およびプログラム
US14/840,269 US9720791B2 (en) 2014-09-30 2015-08-31 Device, method and program for performing system testing
US15/247,968 US9880914B2 (en) 2014-09-30 2016-08-26 Device, method and program for performing system testing
US15/710,942 US10037255B2 (en) 2014-09-30 2017-09-21 Device, method and program for performing system testing
US15/710,939 US10037254B2 (en) 2014-09-30 2017-09-21 Device, method and program for performing system testing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014202063A JP5954752B2 (ja) 2014-09-30 2014-09-30 システムのテストを行う装置、方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2016071730A JP2016071730A (ja) 2016-05-09
JP5954752B2 true JP5954752B2 (ja) 2016-07-20

Family

ID=55584548

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014202063A Expired - Fee Related JP5954752B2 (ja) 2014-09-30 2014-09-30 システムのテストを行う装置、方法およびプログラム

Country Status (2)

Country Link
US (4) US9720791B2 (ja)
JP (1) JP5954752B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5954752B2 (ja) 2014-09-30 2016-07-20 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation システムのテストを行う装置、方法およびプログラム
US9584614B2 (en) * 2014-11-21 2017-02-28 Wipro Limited Method and system for migrating an interface
KR101797484B1 (ko) 2016-06-29 2017-12-13 주식회사 티맥스 소프트 리호스팅의 테스트를 수행하기 위한 방법 및 컴퓨팅 디바이스
US10572361B2 (en) * 2017-04-28 2020-02-25 The Boeing Company Concurrent production use of a production enterprise system and testing of a modified enterprise system
US11042471B2 (en) 2017-08-25 2021-06-22 Oracle International Corporation System and method for providing a test manager for use with a mainframe rehosting platform
JP6703971B2 (ja) * 2017-11-01 2020-06-03 みずほ情報総研株式会社 テスト支援システム、テスト支援方法及びテスト支援プログラム
CN107943643A (zh) * 2017-11-28 2018-04-20 郑州云海信息技术有限公司 一种基于moc板卡硬件dc测试方法与系统
CN108763006A (zh) * 2018-05-30 2018-11-06 郑州云海信息技术有限公司 一种背板压力测试的诊断方法及系统
CN116414640A (zh) * 2018-12-27 2023-07-11 睿云联(厦门)网络通讯技术有限公司 一种通讯终端硬件测试方法及整机测试流程

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085554B2 (en) 2003-01-24 2006-08-01 Common Voices Llc Subscriber migration system
US6983037B2 (en) 2003-05-23 2006-01-03 Bellsouth Intellectual Property Corporation Method, system and computer program product for performing automated unbundled network element migration
US20090273605A1 (en) * 2006-02-27 2009-11-05 Norihiko Takebayashi Operation Checking Method in Information System, Operation Checking Program Therefor, Recording Medium, and Operation Checking System
US8661211B2 (en) * 2007-08-27 2014-02-25 International Business Machines Corporation Method for migrating contents of a memory on a virtual machine
US8671256B2 (en) 2007-08-27 2014-03-11 International Business Machines Corporation Migrating contents of a memory on a virtual machine
US20090300423A1 (en) * 2008-05-28 2009-12-03 James Michael Ferris Systems and methods for software test management in cloud-based network
US8977599B2 (en) * 2010-11-11 2015-03-10 Verizon Patent And Licensing Inc. Method and system for testing client-server applications
US8521974B2 (en) * 2010-11-23 2013-08-27 International Business Machines Corporation Migration of data in a distributed environment
JP5764527B2 (ja) * 2012-06-07 2015-08-19 株式会社エヌ・ティ・ティ・データ 画像検証方法、画像検証装置、およびプログラム
JP2014010581A (ja) * 2012-06-28 2014-01-20 Toshiba Corp テスト装置、テストシステム、テスト方法、及びプログラム
JP5941823B2 (ja) * 2012-10-31 2016-06-29 株式会社日立製作所 整合性確認方法およびシステム
US9654436B2 (en) 2012-11-27 2017-05-16 BitTitan Inc. Systems and methods for migrating mailbox data from systems with limited or restricted remote access
US9092837B2 (en) * 2012-11-29 2015-07-28 International Business Machines Corporation Use of snapshots to reduce risk in migration to a standard virtualized environment
JP2014131212A (ja) * 2012-12-28 2014-07-10 Fujitsu Ltd 検証プログラム及び情報処理装置
WO2014196954A1 (en) * 2013-06-03 2014-12-11 Empire Technology Development, Llc Health monitoring using snapshot backups through test vectors
US9298518B2 (en) * 2014-07-09 2016-03-29 International Business Machine Corporation Safe consolidation and migration
JP5954752B2 (ja) 2014-09-30 2016-07-20 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation システムのテストを行う装置、方法およびプログラム

Also Published As

Publication number Publication date
US20180018246A1 (en) 2018-01-18
US20160092330A1 (en) 2016-03-31
US20170004060A1 (en) 2017-01-05
US10037255B2 (en) 2018-07-31
US9720791B2 (en) 2017-08-01
US9880914B2 (en) 2018-01-30
US20180018247A1 (en) 2018-01-18
JP2016071730A (ja) 2016-05-09
US10037254B2 (en) 2018-07-31

Similar Documents

Publication Publication Date Title
JP5954752B2 (ja) システムのテストを行う装置、方法およびプログラム
CN107402880B (zh) 一种测试方法及电子设备
US20140331209A1 (en) Program Testing Service
US10983903B1 (en) Enhanced automated protocol for secure application testing
JP6283096B2 (ja) プログラム試験サービス
US20140331205A1 (en) Program Testing Service
JP6861880B1 (ja) 生成装置、生成方法および生成プログラム
US20160364318A1 (en) Enhanced bug resolution
JP7277694B2 (ja) 情報処理装置、その制御方法及びプログラム
JP6798050B1 (ja) 生成装置、生成方法および生成プログラム
JP4729089B2 (ja) ウェブサイト集計装置及びウェブサイト集計プログラム
US11372747B1 (en) Service virtualization
JP7311740B2 (ja) 情報処理システム、その制御方法、及びプログラム
US11611500B2 (en) Automated network analysis using a sensor
JP6261244B2 (ja) Webアプリケーションテスト装置およびそのプログラム
JP7506339B2 (ja) 情報処理システム、その制御方法及びプログラム
JP7323755B2 (ja) 情報処理システム、その制御方法及びプログラム
JP7319516B2 (ja) プログラム、情報処理装置及びその制御方法
JP7219389B2 (ja) 情報処理装置、その制御方法及びプログラム
JP2017049675A (ja) 障害再現システム、及び障害再現方法
US20210042133A1 (en) Product demonstration creation toolset that tracks usage of the demonstration
US20210043107A1 (en) Product demonstration creation toolset that provides for entry of persistent data during use of the demonstration
Louis et al. Mastering mobile test automation
JP4759595B2 (ja) ネットワーク監視システム、方法、及びプログラム
CN114995870A (zh) 配置数据的设置方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160415

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20160517

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160607

R150 Certificate of patent or registration of utility model

Ref document number: 5954752

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees