[情報処理システムの構成]
図1から図4は、情報処理システム10の構成を示す図である。図1から図4に示す情報処理システム10は、情報処理装置1と管理装置2とを有する。情報処理装置1及び管理装置2は、図示しないネットワークを介して互いにアクセスが可能である。
情報処理装置1は、1台以上の物理マシンによって構成され、利用者に対してサービスを提供するための処理を実行する。情報処理装置1は、図1に示すように、例えば、テスト対象プログラムがCPU(図示しない)と協働することによって実現される機能であるテスト対象部11を有する。また、情報処理装置1は、図1に示すように、例えば、ネットワークドライバがCPUと協働することによって実現される機能であるデータ送受信部12と、ディスクドライバがCPUと協働することによって実現される機能であるデータ管理部13とを有する。
管理装置2は、1台以上の物理マシンによって構成され、例えば、情報処理装置1において動作する各プログラムに対して適用する必要がある修正データDT1が生成(入力)された場合、生成された修正データDT1を情報処理装置1に送信する。
そして、情報処理装置1は、管理装置2が受信した修正データDT1を受信した場合、情報処理装置1において動作するプログラムのうち、受信した修正データDT1を適用する必要があるプログラムに対して修正データDT1の適用を行う。
[テスト対象部のテストを行う際の処理の具体例]
次に、テスト対象部11(テスト対象プログラム)のテストを行う際の処理の具体例について説明を行う。
管理装置2は、例えば、事業者によって修正データDT1が生成されたことに応じて、図1に示すように、情報処理装置1に対して修正データDT1の送信を行う(図1の(1))。そして、データ送受信部12は、管理装置2から送信された修正データDT1を受信した場合、テスト対象部11によって指定されたメモリ(図示しない)上のアドレスに、管理装置2から受信した修正データDT1を書込む。
続いて、テスト対象部11は、データ送受信部12による修正データDT1の書込みが完了したことに応じて、記憶装置3(例えば、ディスク装置)に対する修正データDT1の書込み要求をデータ管理部13に対して送信する。そして、データ管理部13は、テスト対象部11から修正データDT1の書込み要求を受信したことに応じて、記憶装置3に対して、テスト対象部11によって指定されたメモリ上のアドレスに記憶された修正データDT1を書込む(図1の(2))。その後、テスト対象部11は、データ管理部13による修正データDT1の書込みが完了したことに応じて、修正データDT1の受信が完了したことを示す通知(以下、受信完了通知とも呼ぶ)の送信要求を、データ送受信部12に対して送信する。
ここで、データ送受信部12は、テスト対象部11から受信完了通知の送信要求を受信した場合、テスト対象部11から受信した受信完了通知の送信を抑制する(図1の(3))。すなわち、データ送受信部12は、後述するように、エラーが発生した場合におけるテスト対象部11のテストを行うために、例えば、管理装置2に対する受信完了通知の送信を意図的に中止し、修正データDT1の送信処理においてエラーを発生させる。
また、テスト対象部11は、例えば、データ管理部13による修正データDT1の書込みが完了したことに応じて、データ管理部13を介して、記憶装置3に記憶された修正データDT1を必要なプログラムに適用する(図1の(4))。
その後、管理装置2は、図2に示すように、例えば、情報処理装置1からの受信完了通知の送信が所定時間ないことを検知した場合に、情報処理装置1に対して修正データDT1の再送データ(以下、再送データDT2とも呼ぶ)の送信を行う(図2の(5))。そして、データ送受信部12は、管理装置2から再送データDT2を受信したことに応じて、テスト対象部11によって指定されたメモリ上のアドレスに、管理装置2から送信された再送データDT2を書込む。
続いて、テスト対象部11は、データ送受信部12に対して予め指定されたアドレスに再送データDT2が書込まれたことに応じて、例えば、記憶装置3に対する再送データDT2の書込みを行うことなく、受信完了通知を管理装置2に対して送信する(図2の(6))。
なお、テスト対象部11は、図3に示すように、データ管理部13による修正データDT1の書込みが完了した場合、記憶装置3に記憶された修正データDT1の適用を行わないものであってよい。そして、テスト対象部11は、図4に示すように、データ送受信部12によって再送データDT2の書込みが行われた場合に、記憶装置3に記憶された修正データDT1を必要なプログラムに適用するものであってよい(図4の(7))。
これにより、事業者は、管理装置2から修正データDT1の再送信(再送データDT2の送信)が行われた場合におけるテスト対象部11の動作確認を行うことが可能になる。
ここで、上記のようなテストを行う場合、データ送受信部12は、管理装置2に対する受信完了通知の送信を抑制するために、例えば、管理装置2からの修正データDT1を受信した後、テスト対象部11が管理装置2に対して行う最初の通知の送信を抑制する。
しかしながら、テスト対象部11からデータ送受信部12に対して送信される通知の種類が複数存在する場合、管理装置2に対して最初に行われる通知は、受信完了通知以外の通知である可能性がある。そのため、事業者は、受信完了通知の送信が行われるタイミングを特定することができず、狙ったテストを容易に実施することができない場合がある。
そこで、本実施の形態における情報処理装置1のデータ送受信部12は、テスト対象部11から管理装置2を宛先とする通知を受信した場合、管理装置2から既に受信している修正データDT1の記憶装置3に対する書込みが完了しているか否かを判定する。そして、情報処理装置1は、修正データDT1の書込みが完了していると判定した場合、管理装置2に対する通知の送信を抑制する。
すなわち、例えば、修正データDT1の受信完了通知は、記憶装置3に対する修正データの書込みが完了したことに応じて送信される通知である。そのため、データ送受信部12は、テスト対象部11から管理装置2に対する通知の送信要求を受信した場合、例えば、データ管理部13が記憶装置3に書込みを行った各種データを示す情報を参照し、データ管理部13が書込みを行った各種データに、修正データDT1の書込みが完了したことを示す情報が含まれているか否かを判定する。その結果、修正データDT1の書込みが完了したことを示す情報が含まれていると判定した場合、データ送受信部12は、テスト対象部11から受信した送信要求が修正データDT1の受信完了通知の送信要求であると判定し、管理装置2に対する通知の送信を抑制する。
これにより、情報処理装置1は、例えば、テスト対象部11の処理内容が複雑である場合であっても、テストを行うためにエラーを発生させる必要がある処理を特定することが可能になる。そのため、事業者は、テストを行うために必要なエラーを発生させることが可能になり、狙ったテストを容易に実施することが可能になる。
[情報処理システムのハードウエア構成]
次に、情報処理システム10のハードウエア構成について説明する。図5は、情報処理装置1のハードウエア構成を示す図である。
情報処理装置1は、図5に示すように、プロセッサであるCPU101と、メモリ102と、外部インターフェース(以下、I/Oユニットとも呼ぶ)103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
記憶媒体104は、例えば、記憶媒体104内のプログラム格納領域(図示しない)に、テストを行うために必要なエラーを発生させる処理(以下、テスト支援処理とも呼ぶ)を行うためのプログラム110を記憶する。記憶媒体104は、例えば、HDD(Hard Disk Drive)であってよい。
また、記憶媒体104は、例えば、テスト支援処理を行う際に用いられる情報を記憶する記憶部130(以下、情報格納領域130とも呼ぶ)を有する。
CPU101は、記憶媒体104からメモリ102にロードされたプログラム110を実行してテスト支援処理を行う。
外部インターフェース103は、例えば、ネットワーク(図示しない)を介して管理装置2と通信を行う。
[情報処理装置の機能]
次に、情報処理装置1の機能について説明する。図6は、情報処理装置1の機能のブロック図である。また、図7は、情報処理装置1の情報格納領域130に記憶される情報を説明する図である。
情報処理装置1は、CPU101やメモリ102等のハードウエアとプログラム110とが有機的に協働することにより、図6に示すように、データ送受信部12の機能として、データ受信部111と、要求受信部112と、書込み完了判定部113と、通知送信部114とを含む各種機能を実現する。
また、情報処理装置1は、CPU101やメモリ102等のハードウエアとプログラム110とが有機的に協働することにより、図6に示すように、データ送受信部12の機能として、データサイズ算出部115と、データサイズ判定部116と、情報退避部117とを含む各種機能を実現する。
また、情報処理装置1は、CPU101やメモリ102等のハードウエアとプログラム110とが有機的に協働することにより、図6に示すように、データ管理部13の機能として、要求受信部121と、データ書込み部122と、データ読出し部123と、情報退避部124とを含む各種機能を実現する。
さらに、情報処理装置1は、図7に示すように、ポート情報131と、要求元情報132と、サイズ情報133と、再送サイズ情報134と、バッファ情報135と、範囲情報136と、退避情報137とを情報格納領域130に記憶する。
なお、以下、管理装置2は、修正データDT1のデータサイズが所定よりも大きい場合、修正データDT1を分割することによって複数の分割データを生成し、生成した分割データごとに情報処理装置1に対して送信を行うものとして説明を行う。また、以下、修正データDT1と、修正データDT1の分割データと、再送データDT2と、再送データDT2の分割データとを総称して単に修正データDT1とも呼ぶ。
データ受信部111は、管理装置2から送信された修正データDT1を受信する。そして、データ受信部111は、テスト対象部11が予め指定したアドレスに対し、受信した修正データDT1の書込みを行う。
要求受信部112は、テスト対象部11から送信された受信完了通知の送信要求等を受信する。具体的に、要求受信部112は、例えば、管理装置2を宛先とする受信完了通知の送信要求を受信する。
書込み完了判定部113は、要求受信部112がテスト対象部11から送信要求を受信した場合、管理装置2から受信した修正データDT1の記憶装置3に対する書込みが完了しているか否かの判定を行う。具体的に、書込み完了判定部113は、データ管理部13が記憶装置3に書込みを行ったデータに、修正データDT1のEOF(End Of File)が含まれているか否かの判定を行う。
通知送信部114は、例えば、データ管理部13が書込みを行ったデータに、修正データDT1のEOFが含まれていないと書込み完了判定部113が判定した場合、要求受信部112がテスト対象部11から受信した送信要求が受信完了通知以外の通知の送信要求であると判定し、要求受信部112が受信した送信要求に対応する通知(受信完了通知以外の通知)を管理装置2に対して送信する。一方、通知送信部114は、例えば、データ管理部13が書込みを行ったデータに、修正データDT1のEOFが含まれていると書込み完了判定部113が判定した場合、要求受信部112がテスト対象部11から受信した送信要求が受信完了通知の送信要求であると判定し、要求受信部112が受信した送信要求に対応する通知(受信完了通知)の管理装置2に対する送信を行わない。
データサイズ算出部115は、例えば、データ受信部111から修正データDT1の分割データを受信した場合、受信した分割データのデータサイズ(以下、第1データサイズとも呼ぶ)をサイズ情報133として情報格納領域130に蓄積する。
また、データサイズ算出部115は、例えば、データ受信部111から再送データDT2の分割データを受信した場合、受信した分割データのデータサイズ(以下、第2データサイズとも呼ぶ)を再送サイズ情報134として情報格納領域130に蓄積する。
データサイズ判定部116は、例えば、管理装置2から再送データDT2の分割データをデータ受信部111が受信するごとに、情報格納領域130に記憶されたサイズ情報133と再送サイズ情報134との比較を行う。そして、データサイズ判定部116は、例えば、サイズ情報133と再送サイズ情報134とが一致したと判定した場合、再送データDT2の受信が完了したものと判定する。
情報退避部117は、例えば、データ管理部13が書込みを行ったデータに、修正データDT1のEOFが含まれていると書込み完了判定部113が判定した場合、情報格納領域130に記憶されている情報のうち、退避させるべき情報として事業者が予め定めた情報(テスト対象部11に対するテストの結果を含む情報)を、退避情報137として情報格納領域130に記憶する。
要求受信部121は、例えば、修正データDT1の書込み要求をテスト対象部11から受信する。また、要求受信部121は、例えば、記憶装置3に記憶された修正データDTの読出し要求をテスト対象部11から受信する。
データ書込み部122は、要求受信部121が修正データDT1の書込み要求を受信した場合、書込み要求に対応する修正データDT1(テスト対象部11が指定したアドレスに記憶された修正データDT1)を記憶装置3に書込む。
データ読出し部123は、要求受信部121が修正データDT1の読出し要求を受信した場合、読出し要求に対応する修正データDT1を記憶装置3から読出す。
情報退避部124は、データ読出し部123が修正データDT1の読出しを行った場合、情報格納領域130に記憶されている情報のうち、退避させるべき情報として事業者が予め定めた情報を、退避情報137として情報格納領域130に記憶する。なお、ポート情報131、要求元情報132、バッファ情報135及び範囲情報136についての説明は後述する。
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明する。図8は、第1の実施の形態におけるテスト支援処理の概略を説明するフローチャート図である。図9及び図10は、第1の実施の形態におけるテスト支援処理の概略を説明する図である。図9及び図10を参照しながら、図8のテスト支援処理の詳細を説明する。
情報処理装置1のデータ送受信部12は、図8に示すように、テスト対象部11から管理装置2を宛先とする通知を受け付けるまで待機する(S1のNO)。
そして、データ送受信部12は、テスト対象部11から管理装置2を宛先とする通知を受け付けた場合(S1のYES)、データ送受信部12は、図9に示すように、管理装置2から受信した修正データDT1の記憶装置3への書込みが完了しているか否かを判定する(S2)。
その結果、修正データDT1の書込みが完了していると判定した場合(S3のYES)、データ送受信部12は、図10に示すように、管理装置2に対する通知の送信を抑制する(S4)。一方、修正データDT1の書込みが完了していないと判定した場合(S3のNO)、データ送受信部12は、S4の処理を行わない。
すなわち、例えば、修正データDT1の受信完了通知は、記憶装置3に対する修正データの書込みが完了したことに応じて送信される通知である。そのため、データ送受信部12は、テスト対象部11から管理装置2に対する通知の送信要求を受信した場合、例えば、データ管理部13が記憶装置3に書込みを行った各種データを示す情報を参照し、データ管理部13が書込みを行った各種データに、修正データDT1の書込みが完了したことを示す情報が含まれているか否かを判定する。その結果、修正データDT1の書込みが完了したことを示す情報が含まれていると判定した場合、データ送受信部12は、テスト対象部11から受信した送信要求が修正データDT1の受信完了通知の送信要求であると判定し、管理装置2に対する通知の送信を抑制する。
これにより、情報処理装置1は、例えば、テスト対象部11の処理内容が複雑である場合であっても、テストを行うためにエラーを発生させる必要がある処理を特定することが可能になる。そのため、事業者は、テストを行うために必要なエラーを発生させることが可能になり、狙ったテストを容易に実施することが可能になる。
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図11から図20は、第1の実施の形態におけるテスト支援処理の詳細を説明するフローチャート図である。また、図21から図27は、第1の実施の形態におけるテスト支援処理の詳細を説明する図である。図21から図27を参照しながら、図11から図20のテスト支援処理の詳細を説明する。
なお、以下、管理装置2は、修正データDT1(再送データDT2)の分割データを生成し、生成した分割データを情報処理装置1に対して送信するものとして説明を行う。また、以下、各フラグの初期値が「OFF」であり、サイズ情報133及び再送サイズ情報134の初期値が「0」であるものとして説明を行う。さらに、以下、テスト対象部11には、管理装置2から送信された修正データDT1(再送データDT2)の分割データを記憶装置3に書込む第1テスト対象部11aと、記憶装置3に記憶された修正データDT1(再送データDT2)を必要なプログラムに適用する第2テスト対象部11bとが含まれるものとして説明を行う。
[データ送受信部における受信処理(1)]
初めに、データ送受信部12が分割データの取得を行う処理(以下、受信処理とも呼ぶ)のうち、受信完了通知の送信の抑制が行われる前の処理について説明を行う。図11から図13は、データ送受信部12における受信処理を説明するフローチャート図である。
データ送受信部12のデータ受信部111は、図11に示すように、例えば、管理装置2から分割データを受信するまで待機する(S11のNO)。
そして、管理装置2から分割データを受信した場合(S11のYES)、データ受信部111は、情報格納領域130に記憶されたポート情報131を参照し、S11の処理で分割データを受信したポートに対応する情報が含まれているか否かを判定する(S12)。ポート情報131は、修正データDT1の送受信に用いられるポートを示す情報であり、例えば、事業者によって情報格納領域130に予め記憶される情報である。以下、ポート情報131の具体例について説明を行う。
[ポート情報の具体例]
図21は、ポート情報131の具体例を説明する図である。
図21に示すポート情報131は、各ポートに対応する情報を識別する情報が設定される「項番」と、各ポートがデータを受信するポートとデータを送信するポートとのうちのどちらに対応するポートであるかを示す情報が設定される「送受信種別」とを項目として有する。「送受信種別」には、データを受信するポートであることを示す「受信」、または、データを送信するポートであることを示す「送信」が設定される。また、図21に示すポート情報131は、各ポートのポート番号が設定される「ポート番号」を項目として有する。
具体的に、図21に示すポート情報131において、「項番」が「1」である情報には、「送受信種別」として「受信」が設定され、「ポート番号」として「1005」が設定されている。また、図21に示すポート情報131において、「項番」が「2」である情報には、「送受信種別」として「送信」が設定され、「ポート番号」として「1122」が設定されている。
図11に戻り、S11の処理で分割データを受信したポートに対応する情報が含まれていると判定した場合(S13のYES)、データ受信部111は、情報格納領域130に記憶されたエラーフラグ(図示しない)を参照し、エラーフラグが「ON」を示しているか否かを判定する(S14)。
その結果、エラーフラグが「OFF」を示していると判定した場合(S14のNO)、データ受信部111は、情報格納領域130に記憶されたテストフラグ(図示しない)を参照し、テストフラグが「ON」を示しているか否かを判定する(S15)。
そして、テストフラグが「OFF」を示していると判定した場合(S15のNO)、データ受信部111は、S11の処理における分割データの受信を要求したプロセスのIDを、要求元情報132として情報格納領域130に記憶する(S16)。
すなわち、エラーフラグ及びテストフラグが「OFF」である場合において、S11の処理で分割データを受信した場合、データ受信部111は、修正データDT1から生成された分割データのうち、最初の分割データを受信したものと判定することが可能である。そのため、データ受信部111は、この場合、第1テスト対象部11aのテストが開始されたものと判定し、第1テスト対象部11aに対応するプロセスのIDを要求元情報132として記憶する。以下、要求元情報132の具体例について説明を行う。
[要求元情報の具体例]
図22は、要求元情報132の具体例を説明する図である。
図22に示す要求元情報132は、要求元情報132に含まれる各情報を識別する情報が設定される「項番」と、S11の処理における分割データの受信を要求したプロセスのIDが設定される「要求元プロセスID」とを項目として有する。
具体的に、図22に示す要求元情報132において、「項番」が「1」である情報には、「要求元プロセスID」として「P001」が設定されている。
図11に戻り、データ受信部111は、情報格納領域130に記憶されたテストフラグが示す情報を「ON」に更新する(S17)。
そして、情報処理装置1のデータサイズ算出部115は、図12に示すように、S11の処理で受信した分割データのデータサイズを、情報格納領域130に記憶されたサイズ情報133が示す値に加算する(S23)。
すなわち、データサイズ算出部115は、S11の処理で受信した分割データのデータサイズを蓄積することにより、管理装置2から送信される修正データDT1のデータサイズの算出を行う。
その後、データ受信部111は、S11の処理で受信した分割データに対して、受信処理のうちの後続処理を行う(S24)。具体的に、データ受信部111は、例えば、第1テスト対象部11aから予め指定されたメモリ上のアドレスに対して、S11の処理で受信した分割データの書込みを行う。
なお、データ受信部111は、S13の処理において、S11の処理で分割データを受信したポートに対応する情報が含まれていないと判定した場合においても同様に(S13のNO)、S24の処理を行う。
一方、S15の処理において、テストフラグが「ON」を示していると判定した場合(S15のYES)、データ受信部111は、図12に示すように、S11の処理での分割データの受信を要求したプロセスのIDが情報格納領域130に記憶された要求元情報132と一致するか否かを判定する(S21)。
その結果、S11の処理での分割データの受信を要求したプロセスのIDが情報格納領域130に記憶された要求元情報132と一致すると判定した場合(S22のYES)、データサイズ算出部115は、S11の処理で受信した分割データのデータサイズを、情報格納領域130に記憶されたサイズ情報133が示す値に加算する(S23)。
一方、S11の処理での分割データの受信を要求したプロセスのIDが情報格納領域130に記憶された要求元情報132と一致しないと判定した場合(S22のNO)、データサイズ算出部115は、S23の処理を行わない。
すなわち、エラーフラグが「OFF」であってテストフラグが「ON」である場合において、要求元情報132に対応するプロセスから分割データを受信した場合、データ受信部111は、修正データDT1から生成された分割データのうち、2番目以降の分割データを受信したものと判定することが可能である。そのため、データ受信部111は、この場合、S11の処理で受信した分割データのデータサイズの蓄積を行う。
その後、データ受信部111は、S11の処理で受信した分割データに対して、受信処理のうちの後続処理を行う(S24)。
[データ管理部における書込み処理(1)]
次に、データ管理部13が各種データの書込みを行う処理(以下、書込み処理とも呼ぶ)のうち、受信完了通知の送信の抑制が行われる前の処理について説明を行う。図17及び図18は、データ管理部13における書込み処理を説明するフローチャート図である。
データ管理部13の要求受信部121は、図17に示すように、テスト対象部11からデータの書込み要求を受信するまで待機する(S71のNO)。
具体的に、要求受信部121は、例えば、修正データDT1の分割データまたは修正データDT1の適用を制御するためのデータ(以下、制御データDT3または制御情報DT3とも呼ぶ)の書込み要求を受信するまで待機する。制御データDT3は、各プログラムに適用する修正データDT1の世代を示す情報や、各プログラムに対する修正データDT1の適用タイミングを示す情報を含むデータである。
そして、テスト対象部11からデータの書込み要求を受信した場合(S71のYES)、データ管理部13のデータ書込み部122は、S71の処理で受信した書込み要求に対応するデータを必要な書込み先に書込む(S72)。
具体的に、データ書込み部122は、例えば、要求受信部121が受信した分割データまたは制御データDT3の書込みを行う。以下、データ書込み部122が記憶装置3に対して書込みを行うデータが分割データまたは制御データDT3であるものとして説明を行う。
続いて、データ書込み部122は、情報格納領域130に記憶された要求元情報132を参照し、S71の処理で受信した書込み要求を送信したプロセスのIDに対応する情報が含まれているか否かを判定する(S73)。
その結果、S71の処理で受信した書込み要求を送信したプロセスのIDに対応する情報が含まれていると判定した場合(S74のYES)、データ書込み部122は、図18のS81以降の処理を行う。
すなわち、S71の処理で受信した書込み要求を送信したプロセスのIDに対応する情報が要求元情報132に含まれている場合とは、S71の処理で受信した書込み要求の要求元が第1テスト対象部11aである場合である。そのため、データ書込み部122は、この場合、後述するように、第1テスト対象部11aに対するテストの結果を含む退避情報137を生成する処理を行う。
そして、データ書込み部122は、図18に示すように、情報格納領域130に記憶されたバッファ情報135を参照し、バッファ情報135に含まれる情報の数が所定数に到達しているか否かを判定する(S81)。バッファ情報135は、データ書込み部122が記憶装置3に書込みを行った分割データのデータサイズ、記憶装置3における書込み先アドレス及びメモリ102内のバッファ領域(図示しない)における記憶アドレスを対応付けた情報である。バッファ情報135の具体例については後述する。
その結果、バッファ情報135に含まれる情報の数が所定数に到達していると判定した場合(S82のYES)、データ書込み部122は、メモリ102内のバッファ領域(図示しない)に記憶されたデータのうち、記憶装置3に対して書込みを行ったタイミングが最も古いデータが記憶されたバッファ領域を解放する(S83)。
すなわち、本実施の形態の書込み処理において用いられるバッファ領域は、例えば、バッファ情報135に含まれる情報の数が所定数に到達するまで各情報に対応するデータを記憶することが可能な領域である。そのため、データ書込み部122は、例えば、バッファ情報135に含まれる情報の数が所定数に到達している場合、バッファ領域に空き領域がない状態であると判定し、記憶装置3に対して書込みを行ったタイミングが最も古いデータを消去することによってバッファ領域の一部を解放する。
一方、バッファ情報135に含まれる情報の数が所定数に到達していないと判定した場合(S82のNO)、データ書込み部122は、S83の処理を行わない。
そして、データ書込み部122は、S72の処理で書込みを行ったデータのデータサイズ、記憶装置3における書込み先アドレス及びバッファ領域における記憶アドレスを対応付けた情報を、バッファ情報135として情報格納領域130に記憶する(S84)。その後、情報処理装置1は、書込み処理を終了する。以下、バッファ情報135の具体例について説明を行う。
[バッファ情報の具体例]
図24は、バッファ情報135の具体例を説明する図である。
図24に示すバッファ情報135は、バッファ情報135に含まれる各情報を識別する情報が設定される「項番」と、記憶装置3に対して書込みを行ったデータのデータサイズが設定される「書込みサイズ」とを項目として有する。また、図24に示すバッファ情報135は、記憶装置3におけるデータの書込み先アドレスが設定される「書込み先アドレス」と、メモリ102内のバッファ領域におけるデータの記憶アドレスが設定される「バッファアドレス」とを項目として有する。
具体的に、図24に示すバッファ情報135において、「項番」が「1」である情報には、「書込みサイズ」として「0x40」が設定され、「書込み先アドレス」として「0x224a5588」が設定され、「バッファアドレス」として「0x30100000」が設定されている。
また、図24に示すバッファ情報135において、「項番」が「2」である情報には、「書込みサイズ」として「0x60」が設定され、「書込み先アドレス」として「0x224b0020」が設定され、「バッファアドレス」として「0x30200000」が設定されている。図24に含まれる他の情報についての説明は省略する。
なお、以下、図24に示すバッファ情報135において、「項番」に設定された値が大きい情報ほど、設定されたタイミングが古い情報であるものとして説明を行う。
[データ送受信部における送信処理(1)]
次に、データ送受信部12が通知の送信を行う処理(以下、送信処理とも呼ぶ)のうち、受信完了通知の送信の抑制が行われる前及び受信完了通知の送信の抑制が行われる際の処理について説明を行う。図14から図16は、データ送受信部12における送信処理を説明するフローチャート図である。
データ送受信部12の要求受信部112は、図14に示すように、第1テスト対象部11aから通知の送信要求を受信するまで待機する(S41のNO)。すなわち、要求受信部112は、受信完了通知を含む各種通知のうちのいずれかの送信要求を受信するまで待機する。
その結果、第1テスト対象部11aから通知の送信要求を受信した場合(S41のYES)、要求受信部112は、情報格納領域130に記憶された要求元情報132を参照し、S41の処理で受信した通知を送信したプロセスのIDに対応する情報が含まれているか否かを判定する(S42)。
その結果、S41の処理で受信した通知を送信したプロセスのIDに対応する情報が含まれていると判定した場合(S43のYES)、要求受信部112は、図15に示すように、情報格納領域130に記憶されたバッファ情報135に含まれる情報を古い情報(設定されたタイミングが古い情報)から順に参照し、記憶装置3における各情報に対応する領域に、EOFを示す情報が記憶されているか否かを判定する(S51)。
具体的に、要求受信部112は、情報格納領域130に記憶されたバッファ情報135に含まれる情報を古い情報から順に参照し、先頭アドレスがバッファ情報135における「書込み先アドレス」に設定されたアドレスであって、データサイズがバッファ情報135における「書込みサイズ」に設定された値である記憶装置3内の領域に、EOFを示す情報が記憶されているか否かの判定を行う。
すなわち、制御データDT3には、管理装置2から送信された修正データDT1を制御するための情報が含まれる。そのため、事業者は、制御データDT3の記憶装置3に対する書込みが、その制御データDT3に対応する修正データDT1の書込みよりも後に行われるものであると判断することが可能である。
したがって、要求受信部112は、S51の処理において、EOFを示す情報が1以上記憶されていると判定した場合、修正データDT1のEOFを示す情報が記憶されていると判定することが可能である。
さらに、要求受信部112は、S51の処理において、EOFを示す情報が複数記憶されていると判定した場合、EOFを示す情報のうちの最初に記憶されていると判定した情報を、修正データDT1のEOFを示す情報として特定することが可能である。また、要求受信部112は、この場合、EOFを示す情報のうちの2番目以降に記憶されていると判定した情報を、制御データDT3のEOFを示す情報として特定することが可能である。
そして、記憶装置3における各情報に対応する領域に、EOFを示す情報が記憶されている領域が含まれていると判定した場合(S52のYES)、要求受信部112は、情報格納領域130に記憶されたバッファ情報135のうち、S51の処理で最初に含まれると判定した領域に対応する情報の識別情報(図示しない)を情報格納領域130に記憶する(S53)。
すなわち、要求受信部112は、情報格納領域130に記憶されたバッファ情報135に含まれる情報のうち、修正データDT1のEOFを示す情報を含む領域に対応する情報の識別情報を情報格納領域130に記憶する。
具体的に、例えば、図24で説明したバッファ情報135のうちの「項番」が「3」である情報に対応する領域に、修正データDT1のEOFを示す情報が設定されていると判定した場合、要求受信部112は、この情報の「項番」に設定された値である「3」を、識別情報として情報格納領域130に記憶する。
その後、データ送受信部12の情報退避部117は、図16に示すように、情報格納領域130に記憶されたバッファ情報135のうち、S53の処理で記憶した識別情報に対応する情報よりも新しい情報を、退避情報137の一部(以下、第1退避情報137aとも呼ぶ)として情報格納領域130に記憶する。また、情報退避部117は、情報格納領域130に記憶した第1退避情報137aに対応するバッファ領域に記憶されたデータをメモリ102内における他の領域に退避する(S61)。
すなわち、情報退避部117は、情報格納領域130に記憶されたバッファ情報135のうち、S53の処理で記憶した識別情報よりも小さい情報が「項番」に設定された情報のそれぞれが、受信完了通知の送信抑制時における制御データDT3の書込みに関する情報であると判定することが可能である。そのため、情報退避部117は、S61の処理において、S53の処理で記憶した識別情報よりも小さい情報が「項番」に設定された情報を、第1テスト対象部11aに対するテストの結果の一部として退避する。そして、情報退避部117は、退避した情報に対応するバッファ領域に記憶されたデータの退避を行う。以下、第1退避情報137aの具体例について説明を行う。
[第1退避情報の具体例]
図25は、第1退避情報137aの具体例を説明する図である。
図25に示す第1退避情報137aは、図24で説明したバッファ情報135と同様に、第1退避情報137aに含まれる各情報を識別する情報が設定される「項番」と、記憶装置3に対して書込みを行ったデータのデータサイズが設定される「書込みサイズ」とを項目として有する。また、図25に示す第1退避情報137aは、図24で説明したバッファ情報135と同様に、記憶装置3におけるデータの書込み先アドレスが設定される「書込み先アドレス」と、バッファ領域から退避したデータの記憶アドレスが設定される「退避先アドレス」とを項目として有する。
具体的に、図25に示す第1退避情報137aにおいて、「項番」が「1」である情報には、「書込みサイズ」として「0x40」が設定され、「書込み先アドレス」として「0x224a5588」が設定され、「退避先アドレス」として「0x40100000」が設定されている。
また、図25に示す第1退避情報137aにおいて、「項番」が「2」である情報には、「書込みサイズ」として「0x60」が設定され、「書込み先アドレス」として「0x224b0020」が設定され、「退避先アドレス」として「0x40200000」が設定されている。
すなわち、例えば、S53の処理において識別情報として「3」が設定された場合、情報退避部117は、図25に示すように、図24で説明したバッファ情報135に含まれる情報のうちの「項番」が「1」及び「2」である情報に対応する情報を、第1退避情報137aとして記憶する。
図16に戻り、要求受信部112は、情報格納領域130に記憶された第1退避情報137aを参照し、記憶装置3において制御データDT3が記憶されている領域を示す情報を、範囲情報136として情報格納領域130に記憶する(S62)。以下、範囲情報136の具体例について説明を行う。
[範囲情報の具体例]
図26は、範囲情報136の具体例を説明する図である。
図26に示す範囲情報136は、範囲情報136に含まれる各情報を識別する情報が設定される「項番」と、記憶装置3において各制御データDT3が記憶されている領域の先頭アドレスが設定される「先頭アドレス」と、記憶装置3において各制御データDT3が記憶されている領域の終端アドレスが設定される「終端アドレス」とを項目として有する。
具体的に、図25で説明した第1退避情報137aにおける「項番」が「1」である情報の「書込みサイズ」及び「書込み先アドレス」のそれぞれには、「0x40」及び「0x224a5588」が設定されている。そのため、要求受信部112は、図26に示すように、「項番」が「1」である情報の「先頭アドレス」として「0x224a5588」を設定し、「終端アドレス」として「0x224a5588」に「0x40」を加算したアドレスである「0x224a55c8」を設定する。
また、図25で説明した第1退避情報137aにおける「項番」が「2」である情報の「書込みサイズ」及び「書込み先アドレス」のそれぞれには、「0x60」及び「0x224b0020」が設定されている。そのため、要求受信部112は、図26に示すように、「項番」が「2」である情報の「先頭アドレス」として「0x224b0020」を設定し、「終端アドレス」として「0x224b0020」に「0x60」を加算したアドレスである「0x224b0080」を設定する。
図16に戻り、要求受信部112は、メモリ102内のバッファ領域を解放する(S63)。そして、要求受信部112は、例えば、情報格納領域130に記憶されたバッファ情報135を消去する(S64)。
その後、データ送受信部12の通知送信部114は、S41の処理で受信した送信要求に対応する通知の送信を抑制する(S65)。すなわち、通知送信部114は、この場合、S41の処理で受信した送信要求が受信完了通知に対応する送信要求であると判定し、管理装置2に対する受信完了通知の送信を抑制する。
これにより、情報処理装置1は、管理装置2に再送データDT2の送信を行わせることが可能になる。そのため、事業者は、管理装置2が再送データDT2を送信した場合におけるテスト対象部11に対するテストを行うことが可能になる。
そして、通知送信部114は、情報格納領域130に記憶されたエラーフラグが示す情報を「ON」に更新する(S66)。
なお、図14で説明したS43の処理において、S41の処理で受信した通知を送信したプロセスのIDに対応する情報が含まれていないと判定した場合(S43のNO)、通知送信部114は、S41の処理で受信した送信要求に対応する通知を、管理装置2に対して送信する(S44)。
すなわち、通知送信部114は、この場合、S41の処理で受信した送信要求が受信完了通知に対応する送信要求でないと判定し、S41の処理で受信した送信要求に対応する通知の送信を行う。
[データ送受信部における受信処理(2)]
次に、データ送受信部12における受信処理のうち、受信完了通知の送信の抑制が行われた後の処理について説明を行う。
データ受信部111は、図11に示すように、例えば、管理装置2から分割データを受信するまで待機する(S11のNO)。
そして、管理装置2から分割データを受信した場合(S11のYES)、データ受信部111は、情報格納領域130に記憶されたポート情報131を参照し、S11の処理で分割データを受信したポートに対応する情報が含まれているか否かを判定する(S12)。
その結果、S11の処理で分割データを受信したポートに対応する情報が含まれていると判定した場合(S13のYES)、データ受信部111は、情報格納領域130に記憶されたエラーフラグを参照し、エラーフラグが「ON」を示しているか否かを判定する(S14)。
そして、エラーフラグが「ON」を示していると判定した場合(S14のYES)、データサイズ算出部115は、図13に示すように、S11の処理で受信した分割データのデータサイズを、情報格納領域130に記憶された再送サイズ情報134が示す値に加算する(S31)。
すなわち、エラーフラグが「ON」を示している場合、データサイズ算出部115は、受信完了通知の送信の抑制が既に行われた後であると判定し、S11の処理で受信した分割データが再送データDT2の分割データであると判定することが可能である。そのため、データサイズ算出部115は、この場合、S11の処理で受信した分割データのデータサイズを、再送サイズ情報134が示す値に加算する。
その後、データサイズ判定部116は、情報格納領域130に記憶されたサイズ情報133が示す値と再送サイズ情報134が示す値とが一致しているか否かを判定する(S32)。以下、サイズ情報133及び再送サイズ情報134の具体例について説明を行う。
[サイズ情報及び再送サイズ情報の具体例]
図23は、サイズ情報133及び再送サイズ情報134の具体例を説明する図である。具体的に、図23(A)は、サイズ情報133の具体例を説明する図であり、図23(B)は、再送サイズ情報134の具体例を説明する図である。
図23(A)に示すサイズ情報133は、サイズ情報133に含まれる各情報を識別する「項番」と、S23の処理においてデータサイズが加算される「データサイズ」とを項目として有している。
具体的に、図23(A)に示すサイズ情報133において、「項番」が「1」である情報の「データサイズ」には、「65584(バイト)」が設定されている。
また、図23(B)に示す再送サイズ情報134は、再送サイズ情報134に含まれる各情報を識別する「項番」と、S31の処理においてデータサイズが加算される「データサイズ」とを項目として有している。
具体的に、図23(B)に示す再送サイズ情報134において、「項番」が「1」である情報の「データサイズ」には、「16384(バイト)」が設定されている。
図13の戻り、S32の処理においてサイズ情報133が示す値と再送サイズ情報134が示す値とが一致していると判定した場合(S33のYES)、データサイズ判定部116は、再送データDT2の受信が完了した旨を、退避情報137の一部として情報格納領域130に記憶する(S34)。
すなわち、データ送受信部12は、修正データDT1の受信が完了した場合、受信完了通知の送信を抑制する(S52のYES、S65、S66)。そして、データ送受信部12は、受信完了通知の送信が抑制されたことに伴ってエラーフラグが示す情報が「ON」に更新された場合、サイズ情報133の更新を終了する(S14のYES、S31)。これに対し、データ送受信部12は、再送データDT2の受信が完了した場合、受信完了通知の送信の抑制を行わない。そのため、データ送受信部12は、受信完了通知の送信の抑制に伴うエラーフラグの更新等を契機として、再送サイズ情報134の更新を終了することができない。
そこで、データサイズ判定部116は、S33の処理において、サイズ情報133が示す値と再送サイズ情報134が示す値との比較を行う。そして、データサイズ判定部116は、サイズ情報133が示す値と再送サイズ情報134が示す値とが一致していると判定した場合に、再送データDT2の送信が完了したものと判定する。
続いて、データサイズ判定部116は、情報格納領域130に記憶された再送受信フラグが示す情報を「ON」に更新する(S35)。また、データサイズ判定部116は、情報格納領域130に記憶されたエラーフラグが示す情報を「OFF」に更新する(S36)。
その後、データ受信部111は、S24以降の処理を行う。また、S32の処理においてサイズ情報133が示す値と再送サイズ情報134が示す値とが一致していないと判定した場合も同様に(S33のNO)、データ受信部111は、S24以降の処理を行う。
[データ送受信部における送信処理(2)]
次に、データ送受信部12における送信処理のうち、受信完了通知の送信の抑制が行われた後の処理について説明を行う。
要求受信部112は、図14に示すように、第1テスト対象部11aから通知の送信要求を受信するまで待機する(S41のNO)。
その結果、第1テスト対象部11aから通知の送信要求を受信した場合(S41のYES)、要求受信部112は、情報格納領域130に記憶された要求元情報132を参照し、S41の処理で受信した通知を送信したプロセスのIDに対応する情報が含まれているか否かを判定する(S42)。
その結果、S41の処理で受信した通知を送信したプロセスのIDに対応する情報が含まれていると判定した場合(S43のYES)、要求受信部112は、図15に示すように、情報格納領域130に記憶されたバッファ情報135に含まれる情報を古い情報から順に参照し、記憶装置3における各情報に対応する領域に、EOFを示す情報が記憶されているか否かを判定する(S51)。
そして、記憶装置3における各情報に対応する領域に、EOFを示す情報が記憶されている領域が含まれていないと判定した場合(S52のNO)、通知送信部114は、S41の処理で受信した送信要求に対応する通知を、管理装置2に対して送信する(S54)。また、通知送信部114は、情報格納領域130に記憶された再送受信フラグが示す情報を「OFF」に更新する(S55)。
すなわち、通知送信部114は、この場合、S41の処理で受信した送信要求に対応する通知が受信完了通知でないと判定し、S41の処理で受信した送信要求に対応する通知を管理装置2に送信する。その後、情報処理装置1は、送信処理を終了する。
[データ管理部における読出し処理]
次に、データ管理部13における読出し処理について説明を行う。図19及び図20は、データ管理部13における読出し処理を説明するフローチャート図である。
データ管理部13の要求受信部121は、図19に示すように、記憶装置3に記憶されたデータの読出し要求を受信するまで待機する(S91のNO)。
そして、制御データDT3の読出し要求を受信した場合(S91のYES)、データ読出し部123は、S91の処理で受信した読出し要求に対応するデータを記憶装置3から読出す(S92)。
続いて、データ読出し部123は、情報格納領域130に記憶された要求元情報132を参照し、S91の処理で受信した読出し要求を送信したプロセスのIDに対応する情報が含まれているか否かを判定する(S93)。
すなわち、S91の処理で受信した読出し要求を送信したプロセスのIDに対応する情報が要求元情報132に含まれている場合とは、S91の処理で受信した読出し要求の要求元が第1テスト対象部11aである場合である。そのため、データ読出し部123は、この場合、後述するように、退避情報137を生成する処理を行う。
その結果、S91の処理で受信した読出し要求を送信したプロセスのIDに対応する情報が含まれていると判定した場合(S94のYES)、データ読出し部123は、情報格納領域130に記憶された再送受信フラグが「ON」を示しているか否かを判定する(S95)。
そして、再送受信フラグが「ON」を示していると判定した場合(S95のYES)、データ管理部13の情報退避部124は、S92の処理で読出したデータのデータサイズ、記憶装置3における読出し先アドレス及びバッファ領域における記憶アドレスを、退避情報137の一部(以下、第2退避情報137bとも呼ぶ)として情報格納領域130に記憶する。また、情報退避部124は、情報格納領域130に記憶した第2退避情報137bに対応するバッファ領域に記憶されたデータを他の領域に退避する(S96)。第2退避情報137bの具体例については後述する。
なお、情報退避部124は、S96の処理を行った後、S91の処理で受信した読出し要求に対応するデータが記憶されたバッファ領域を解放するものであってよい。
その後、情報退避部124は、図20に示すように、情報格納領域130に記憶された範囲情報136に、S92の処理で読出したデータの記憶装置3における読出し先アドレスが含まれているか否かを判定する(S101)。すなわち、情報退避部124は、S92の処理で読出したデータが制御データDT3であるか否かの判定を行う。
その結果、S92の処理で読出したデータの読出し先アドレスが含まれていると判定した場合(S102のYES)、情報退避部124は、S92の処理で読出したデータが制御データDT3であることを示す情報を、S96の処理で情報格納領域130に記憶した第2退避情報137bと対応付けて記憶する(S103)。
一方、S92の処理で読出したデータの読出し先アドレスが含まれていないと判定した場合(S102のNO)、情報退避部124は、S92の処理で読出したデータが制御データDT3でないことを示す情報を、S96の処理で情報格納領域130に記憶した第2退避情報137bと対応付けて記憶する(S104)。
そして、S103またはS104の処理の後、情報処理装置1は、読出し処理を終了する。なお、情報処理装置1は、S91の処理で受信した読出し要求を送信したプロセスのIDに対応する情報が含まれていないと判定した場合についても同様に(S94のNO)、読出し処理を終了する。さらに、情報処理装置1は、再送受信フラグが「OFF」を示していると判定した場合についても同様に(S95のNO)、読出し処理を終了する。以下、第2退避情報137bの具体例について説明を行う。
[第2退避情報の具体例]
図27は、第2退避情報137bの具体例を説明する図である。
図27に示す第2退避情報137bは、第2退避情報137bに含まれる各情報を識別する情報が設定される「項番」と、記憶装置3から読出しを行ったデータのデータサイズが設定される「読出しサイズ」とを項目として有する。また、図27に示す第2退避情報137bは、記憶装置3から読出しを行ったデータの読出し先アドレスが設定される「読出し先アドレス」と、バッファ領域から退避されたデータの記憶アドレスが設定される「退避先アドレス」とを項目として有する。
さらに、図27に示す第2退避情報137bは、S92の処理で読出したデータが制御データDT3である否かを示す情報が設定される「種別情報」を項目として有する。「種別情報」には、S92の処理で読出したデータが制御データDT3であることを示す「制御データ」、または、S92の処理で読出したデータが制御データDT3でないことを示す「その他」が設定される。
具体的に、データ読出し部123は、図27に示すように、例えば、「項番」が「1」である情報の「読出しサイズ」として「0x6」を設定し、「読出し先アドレス」として「0x224a558a」を設定し、「退避先アドレス」として「0x40600000」を設定する。
ここで、図26で説明した範囲情報136の「項番」が「1」である情報には、「先頭アドレス」として「0x224a5588」が設定され、「終端アドレス」として「0x224a55c8」が設定されている。そのため、図26で説明した範囲情報136の「項番」が「1」である情報に対応する領域には、先頭アドレスが「0x224a558a」であってデータサイズが「0x6」である領域が含まれる。したがって、データ読出し部123は、図27に示すように、「項番」が「1」である情報の「種別情報」として「制御データ」を設定する。
また、データ読出し部123は、図27に示すように、例えば、「項番」が「2」である情報の「読出しサイズ」として「0x12」を設定し、「読出し先アドレス」として「0x224e0000」を設定し、「退避先アドレス」として「0x40700000」を設定する。
ここで、図26で説明した範囲情報136の「項番」が「2」である情報には、「先頭アドレス」として「0x224b0020」が設定され、「終端アドレス」として「0x224b0080」が設定されている。そのため、図26で説明した範囲情報136の「項番」が「2」である情報に対応する領域には、先頭アドレスが「0x224e0000」であってデータサイズが「0x12」である領域が含まれる。したがって、データ読出し部123は、図27に示すように、「項番」が「2」である情報の「種別情報」として「その他」を設定する。図27に含まれる他の情報についての説明は省略する。
[データ管理部における書込み処理(2)]
次に、データ管理部13における書込み処理のうち、記憶装置3に記憶された修正データDT1を必要なプログラムに適用するために、他の記憶装置に対して修正データDT1の書込みを行う場合の処理について説明を行う。
要求受信部121は、図17に示すように、テスト対象部11からデータの書込み要求を受信するまで待機する(S71のNO)。
そして、テスト対象部11からデータの書込み要求を受信した場合(S71のYES)、データ書込み部122は、S71の処理で書込み要求を受信したデータを必要な書込み先に書込む(S72)。
続いて、データ書込み部122は、情報格納領域130に記憶された要求元情報132を参照し、S71の処理で受信した書込み要求を送信したプロセスのIDに対応する情報が含まれているか否かを判定する(S73)。
その結果、S71の処理で受信した書込み要求を送信したプロセスのIDに対応する情報が含まれていないと判定した場合(S74のNO)、データ書込み部122は、S71の処理で受信した書込み要求の送信元のプロセスのIDを、退避情報137の一部として情報格納領域130に記憶する(S75)。
具体的に、例えば、S71の処理で受信した書込み要求の送信元が第2テスト対象部11bである場合、データ書込み部122は、第2テスト対象部11bに対応するプロセスのIDを含む情報を情報格納領域130に記憶する。
これにより、事業者は、第2テスト対象部11bが、必要なプログラムに対する修正データDT1の適用を行うために、他の記憶装置に対して修正データDT1の書込みを行ったことを示す情報を第2テスト対象部11bに対するテストの結果として取得することが可能になる。
以上の実施の形態をまとめると、以下の付記のとおりである。
(付記1)
テスト対象プログラムから管理装置を宛先とする通知を受け付けた場合、前記管理装置から受信した修正データの記憶装置に対する書込みが完了しているか否かを判定し、
前記書込みが完了していると判定した場合、前記管理装置に対する前記通知の送信を抑制する、
処理をコンピュータに実行させることを特徴とするテスト支援プログラム。
(付記2)
付記1において、
前記判定する処理では、前記通知を受け付けた場合、前記記憶装置に対して書込みが行われたデータに、前記修正データの書込みが完了したことを示す情報が含まれているか否かを判定することによって、前記修正データの書込みが完了しているか否かを判定する、
ことを特徴とするテスト支援プログラム。
(付記3)
付記1において、さらに、
前記修正データに関する制御情報の前記記憶装置に対する書込みに応じて、前記制御情報の書込み先の特定アドレスを記憶部に記憶し、
前記通知の受け付け後、新たな修正データを受信した場合、前記修正データの第1データサイズと、前記新たな修正データの第2データサイズとを比較し、
前記第1データサイズと前記第2データサイズとが対応すると判定した場合において、前記記憶装置からのデータの読出しを検出した場合、前記特定アドレスに基づき、前記読出しが前記修正データに関する制御情報に対する読出しであるか否かを判定し、
前記制御情報に対する読出しであると判定した場合、前記制御情報に対する読出しに関する情報を記憶部に記憶する、
ことを特徴とするテスト支援プログラム。
(付記4)
付記3において、さらに、
前記通知を受け付けた場合、前記記憶装置に対して書込みが行われたデータに、前記修正データの書込みが完了したことを示す情報を含むデータが含まれているか否かを判定することによって、前記修正データの書込みが完了しているか否かを判定する、
処理をコンピュータに実行させ、
前記特定アドレスを記憶する処理では、
前記修正データの書込みが完了していると判定した場合、前記記憶装置に対して書込みが行われたデータに、前記修正データに関する制御情報が含まれているか否かを判定し、
前記制御情報が含まれていると判定した場合、前記制御情報の内容と前記特定アドレスとを記憶部に記憶する、
ことを特徴とするテスト支援プログラム。
(付記5)
付記4において、
前記管理装置は、前記修正データを分割することによって生成した複数の分割データを順に送信し、
前記記憶装置に対するデータの書込みは、前記管理装置から送信された前記分割データの受信に応じて行われ、
前記データが含まれているか否かを判定する処理では、前記記憶装置に対して書込みが行われたデータに、前記修正データの書込みが完了したことを示す情報を含む前記分割データが含まれている場合、前記修正データの書込みが完了していると判定し、
前記特定アドレスを記憶する処理では、前記記憶装置に対して書込みが行われたデータに、前記修正データの書込みが完了したことを示す情報を含むデータが複数含まれている場合、前記記憶装置に対して書込みが行われたデータのうち、前記修正データの書込みが完了したことを示す情報を含む前記分割データの後に書込みが行われたデータを、前記制御情報として特定する、
ことを特徴とするテスト支援プログラム。
(付記6)
付記5において、さらに、
前記管理装置から送信されたデータの受信が開始した後、前記修正データの書込みが完了していると判定するまでの間、前記管理装置から受信したデータのデータサイズを累積することによって、前記第1データサイズを算出し、
前記修正データの書込みが完了していると判定した後、前記管理装置から送信されたデータが送信するごとに、前記記憶装置に対して書込みが行われたデータのうち、前記修正データの書込みが完了していると判定した後に前記管理装置から受信したデータのデータサイズを累積することによって、前記第2データサイズを算出する、
処理をコンピュータに実行させ、
前記比較する処理は、前記修正データの書込みが完了したことを示す情報を含むデータが含まれていると判定した後、前記管理装置からデータを送信するごとに行う、
ことを特徴とするテスト支援プログラム。
(付記7)
付記6において、
前記修正データに関する制御情報に対する読出しであるか否かを判定する処理では、前記読出しを検出したデータの前記記憶装置におけるアドレスが前記記憶部に記憶された前記特定アドレスに含まれている場合、前記読出しを検出したデータが前記修正データに関する制御情報であると判定する、
ことを特徴とするテスト支援プログラム。
(付記8)
テスト対象プログラムから管理装置を宛先とする通知を受け付けた場合、前記管理装置から受信した修正データの記憶装置に対する書込みが完了しているか否かを判定する書込み完了判定部と、
前記書込みが完了していると判定した場合、前記管理装置に対する前記通知の送信を抑制する通知送信部と、を有する、
ことを特徴とする情報処理装置。
(付記9)
付記8において、さらに、
前記修正データに関する制御情報の前記記憶装置に対する書込みに応じて、前記制御情報の書込み先の特定アドレスを記憶部に記憶するデータ書込み部と、
前記通知の受け付け後、新たな修正データを受信した場合、前記修正データの第1データサイズと、前記新たな修正データの第2データサイズとを比較するデータサイズ判定部と、
前記第1データサイズと前記第2データサイズとが対応すると判定した場合において、前記記憶装置からのデータの読出しを検出した場合、前記特定アドレスに基づき、前記読出しが前記修正データに関する制御情報に対する読出しであるか否かを判定し、前記制御情報に対する読出しであると判定した場合、前記制御情報に対する読出しに関する情報を記憶部に記憶する情報退避部と、を有する、
ことを特徴とする情報処理装置。
(付記10)
テスト対象プログラムから管理装置を宛先とする通知を受け付けた場合、前記管理装置から受信した修正データの記憶装置に対する書込みが完了しているか否かを判定し、
前記書込みが完了していると判定した場合、前記管理装置に対する前記通知の送信を抑制する、
ことを特徴とするテスト支援方法。
(付記11)
付記10において、さらに、
前記修正データに関する制御情報の前記記憶装置に対する書込みに応じて、前記制御情報の書込み先の特定アドレスを記憶部に記憶し、
前記通知の受け付け後、新たな修正データを受信した場合、前記修正データの第1データサイズと、前記新たな修正データの第2データサイズとを比較し、
前記第1データサイズと前記第2データサイズとが対応すると判定した場合において、前記記憶装置からのデータの読出しを検出した場合、前記特定アドレスに基づき、前記読出しが前記修正データに関する制御情報に対する読出しであるか否かを判定し、
前記制御情報に対する読出しであると判定した場合、前記制御情報に対する読出しに関する情報を記憶部に記憶する、
ことを特徴とするテスト支援方法。