(57)【要約】【課題】改修後のプログラムが劣化した原因を精度良く特定することを可能とするテスト支援プログラム、テスト支援装置及びテスト支援方法を提供する。【解決手段】特定の処理を実行する特定のプロセスを生成するプログラムの改修前と改修後との間における特定の処理の実行時間の差分である第１の時間を算出し、算出した第１の時間が基準時間よりも長いと判定した場合、複数の情報処理装置間における通信についての通信情報を記憶する記憶部を参照し、改修後における特定のプロセスに対応する通信情報に基づき、他の情報処理装置に対する接続が完了した接続完了時刻と、他の情報処理装置との間において通信を開始した通信開始時刻との差分である第２の時間を算出し、第１の時間と第２の時間との差分が基準範囲内であると判定した場合、特定のプロセスに関する情報を出力する。【選択図】図８
2019067273.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置において実行される処理のうち、他の情報処理装置に対して処理を実行させる特定の処理についてのテストを支援する処理をコンピュータに実行させるテスト支援プログラムであって、
前記特定の処理の過去の実行時間についての実行時間情報を記憶する記憶部を参照し、前記特定の処理を実行する特定のプロセスを生成するプログラムの改修前と改修後との間における前記特定の処理の実行時間の差分である第１の時間を算出し、
算出した前記第１の時間が基準時間よりも長いと判定した場合、複数の情報処理装置間における通信についての通信情報を記憶する記憶部を参照し、前記改修後における前記特定のプロセスに対応する前記通信情報に基づき、前記他の情報処理装置に対する接続が完了した接続完了時刻と、前記他の情報処理装置との間において通信を開始した通信開始時刻との差分である第２の時間を算出し、
前記第１の時間と前記第２の時間との差分が基準範囲内であると判定した場合、前記特定のプロセスに関する情報を出力する、
処理をコンピュータに実行させることを特徴とするテスト支援プログラム。
【請求項２】
請求項１において、
前記特定の処理は、前記他の情報処理装置を含む複数の情報処理装置に対する処理の実行指示を含み、前記複数の情報処理装置のうちのいずれかから処理の実行指示に対する実行結果を受信したことに応じて後続処理の実行を開始する処理であり、
前記特定のプロセスに関する情報を出力する処理では、
前記改修後における前記特定のプロセスに対応する前記通信情報に基づき、前記複数の情報処理装置のうちの前記他の情報処理装置以外のいずれかの情報処理装置に対する接続が失敗しているか否かを判定し、
前記いずれかの情報処理装置に対する接続が失敗していると判定した場合において、前記第１の時間と前記第２の時間との差分が前記基準範囲内である場合に、前記特定のプロセスが前記いずれかの情報処理装置に対する接続の失敗後に待機していたことを示す情報を出力する、
ことを特徴とするテスト支援プログラム。
【請求項３】
請求項２において、さらに、
前記改修後における前記特定のプロセスの動作についての履歴情報に基づき、前記特定のプロセスの起動が停止した起動停止時刻と、前記特定のプロセスの起動が再開した起動再開時刻とを特定し、
前記改修後における前記特定のプロセスに対応する前記通信情報に基づき、前記いずれかの情報処理装置に対する接続を開始した接続開始時刻を特定し、
前記起動停止時刻と前記接続開始時刻との時間差と、前記起動再開時刻と前記通信開始時刻との時間差とがそれぞれ基準範囲内である場合、前記特定のプロセスが前記いずれかの情報処理装置に対する接続の失敗後に待機していたことを示す情報を出力する、
処理をコンピュータに実行させることを特徴とするテスト支援プログラム。
【請求項４】
請求項３において、さらに、
前記特定のプロセスに関する情報を出力する処理の後、前記特定の処理を再度実行し、
再度実行した前記特定のプロセスに対応する前記実行時間情報に基づき、前記第１の時間を実行算出し、
再度算出した前記第１の時間と、前記第１の時間を算出する処理において算出された第１の時間との差分が基準範囲内であると判定した場合に、前記起動停止時刻及び起動再開時刻を特定する処理と、前記接続開始時刻及び通信開始時刻を特定する処理と、前記特定のプロセスが待機していたことを示す情報を出力する処理とを行う、
処理をコンピュータに実行させることを特徴とするテスト支援プログラム。
【請求項５】
請求項２において、さらに、
前記第１の時間と前記第２の時間との差分が基準範囲内であると判定した場合、前記特定のプロセスに対応する前記履歴情報に基づき、前記特定のプロセスの休止時間を算出し、
呼び出し元のプロセスごとに、呼び出し先のプロセスの識別情報を、該呼び出し先のプロセスの応答待ちに起因して前記呼び出し元のプロセスにおいてタイムアウトが生じるまでの応答待ち時間に対応付けて記憶する記憶部を参照して、算出した前記休止時間に応じた前記応答待ち時間に対応付けられた前記呼び出し先のプロセスを特定し、
特定した前記呼び出し先のプロセスの識別情報を出力する、
処理をコンピュータに実行させることを特徴とするテスト支援プログラム。
【請求項６】
請求項５において、
前記休止時間を算出する処理、前記呼び出し先のプロセスを特定する処理及び前記呼び出し先のプロセスの識別情報を出力する処理は、前記いずれかの情報処理装置に対する接続が失敗していないと判定した場合、または、前記第１の時間と前記第２の時間との差分が前記基準範囲内でないと判定した場合に行われる、
ことを特徴とするテスト支援プログラム。
【請求項７】
情報処理装置において実行される処理のうち、他の情報処理装置に対して処理を実行させる特定の処理についてのテストを支援するテスト支援装置であって、
前記特定の処理の過去の実行時間についての実行時間情報を記憶する記憶部を参照し、前記特定の処理を実行する特定のプロセスを生成するプログラムの改修前と改修後との間における前記特定の処理の実行時間の差分である第１の時間を算出する第１時間算出部と、
算出した前記第１の時間が基準時間よりも長いと判定した場合、複数の情報処理装置間における通信についての通信情報を記憶する記憶部を参照し、前記改修後における前記特定のプロセスに対応する前記通信情報に基づき、前記他の情報処理装置に対する接続が完了した接続完了時刻と、前記他の情報処理装置との間において通信を開始した通信開始時刻との差分である第２の時間を算出する第２時間算出部と、
前記第１の時間と前記第２の時間との差分が基準範囲内であると判定した場合、前記特定のプロセスに関する情報を出力する情報出力部と、を有する、
ことを特徴とするテスト支援装置。
【請求項８】
情報処理装置において実行される処理のうち、他の情報処理装置に対して処理を実行させる特定の処理についてのテストを支援するテスト支援方法であって、
前記特定の処理の過去の実行時間についての実行時間情報を記憶する記憶部を参照し、前記特定の処理を実行する特定のプロセスを生成するプログラムの改修前と改修後との間における前記特定の処理の実行時間の差分である第１の時間を算出し、
算出した前記第１の時間が基準時間よりも長いと判定した場合、複数の情報処理装置間における通信についての通信情報を記憶する記憶部を参照し、前記改修後における前記特定のプロセスに対応する前記通信情報に基づき、前記他の情報処理装置に対する接続が完了した接続完了時刻と、前記他の情報処理装置との間において通信を開始した通信開始時刻との差分である第２の時間を算出し、
前記第１の時間と前記第２の時間との差分が基準範囲内であると判定した場合、前記特定のプロセスに関する情報を出力する、
ことを特徴とするテスト支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テスト支援プログラム、テスト支援装置及びテスト支援方法に関する。
【背景技術】
【０００２】
利用者に対してサービスを提供する事業者（以下、単に事業者とも呼ぶ）は、利用者に対して各種サービスの提供を行うために、用途に応じた業務システム（以下、情報処理システムとも呼ぶ）を構成して稼働させる。そして、事業者は、例えば、利用者に対する新たなサービスの追加等に応じて、情報処理システムを構成するプログラムの改修を適宜実施する。
【０００３】
この場合、事業者は、情報処理システムを構成するプログラムの改修によって、改修されたプログラム（以下、改修済プログラムとも呼ぶ）によって実現される既存機能の性能が劣化していないことを確認するためのテスト（以下、リグレッションテストとも呼ぶ）を実施する。そして、例えば、改修後のプログラムに特定の処理（既存機能による処理）を実行させた場合におけるレスポンスタイムが、改修前のプログラムに特定の処理を実行させた場合におけるレスポンスタイムよりも長くなった場合、事業者は、既存機能の性能が劣化したものと判定する。
【０００４】
その結果、既存機能の性能が劣化していないことを確認した場合、事業者は、例えば、改修済プログラムを情報処理システムに導入することを決定する。一方、プログラムの改修によって既存機能の性能が劣化することを確認した場合、事業者は、性能劣化の原因の特定を行い、特定した原因を解消するための更なる改修等を行う。これにより、事業者は、プログラムの改修に伴う既存機能への影響を防止することが可能になる（例えば、特許文献１から３参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平５−０９４２９８号公報
【特許文献２】特開２００１−００５６８３号公報
【特許文献３】特開２００９−２３７７５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、プログラムの改修によって既存機能の性能が劣化したと判定した場合における原因（以下、単に劣化原因とも呼ぶ）の特定は、例えば、既存機能の性能が劣化した時間と、過去のフェーズにおいて行われたテスト（例えば、単体テストや結合テスト）の結果とを照合することによって行われる。
【０００７】
しかしながら、例えば、改修後のプログラムによって生成されるプロセスによる全ての機能についてのテストが過去のフェーズにおいて行われていない場合、事業者は、過去のフェーズにおいて行われたテストの結果を参照することによる劣化原因の特定を適切に行うことができない可能性がある。
【０００８】
そこで、一つの側面では、本発明は、改修後のプログラムが劣化した原因を精度良く特定することを可能とするテスト支援プログラム、テスト支援装置及びテスト支援方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
実施の形態の一態様では、情報処理装置において実行される処理のうち、他の情報処理装置に対して処理を実行させる特定の処理についてのテストを支援する処理をコンピュータに実行させるテスト支援プログラムであって、前記特定の処理の過去の実行時間についての実行時間情報を記憶する記憶部を参照し、前記特定の処理を実行する特定のプロセスを生成するプログラムの改修前と改修後との間における前記特定の処理の実行時間の差分である第１の時間を算出し、算出した前記第１の時間が基準時間よりも長いと判定した場合、複数の情報処理装置間における通信についての通信情報を記憶する記憶部を参照し、前記改修後における前記特定のプロセスに対応する前記通信情報に基づき、前記他の情報処理装置に対する接続が完了した接続完了時刻と、前記他の情報処理装置との間において通信を開始した通信開始時刻との差分である第２の時間を算出し、前記第１の時間と前記第２の時間との差分が基準範囲内であると判定した場合、前記特定のプロセスに関する情報を出力する、処理をコンピュータに実行させる。
【発明の効果】
【００１０】
一つの側面によれば、改修後のプログラムが劣化した原因を精度良く特定することを可能とする。
【図面の簡単な説明】
【００１１】
【図１】図１は、情報処理システム１０の構成を示す図である。
【図２】図２は、改修対象のプログラムによる処理の具体例を説明する図である。
【図３】図３は、改修対象のプログラムによる処理の具体例を説明する図である。
【図４】図４は、改修対象のプログラムによる処理の具体例を説明する図である。
【図５】図５は、情報処理装置１のハードウエア構成を示す図である。
【図６】図６は、情報処理装置１の機能のブロック図である。
【図７】図７は、情報格納領域１３０に記憶された情報のブロック図である。
【図８】図８は、第１の実施の形態におけるテスト支援処理の概略を説明するフローチャート図である。
【図９】図９は、第１の実施の形態におけるテスト支援処理の概略を説明する図である。
【図１０】図１０は、第１の実施の形態におけるテスト支援処理の概略を説明する図である。
【図１１】図１１は、第１の実施の形態におけるテスト支援処理の概略を説明する図である。
【図１２】図１２は、第１の実施の形態におけるテスト支援処理の詳細を説明するフローチャート図である。
【図１３】図１３は、第１の実施の形態におけるテスト支援処理の詳細を説明するフローチャート図である。
【図１４】図１４は、第１の実施の形態におけるテスト支援処理の詳細を説明するフローチャート図である。
【図１５】図１５は、第１の実施の形態におけるテスト支援処理の詳細を説明するフローチャート図である。
【図１６】図１６は、第１の実施の形態におけるテスト支援処理の詳細を説明するフローチャート図である。
【図１７】図１７は、第１の実施の形態におけるテスト支援処理の詳細を説明するフローチャート図である。
【図１８】図１８は、第１の実施の形態におけるテスト支援処理の詳細を説明するフローチャート図である。
【図１９】図１９は、第１の実施の形態におけるテスト支援処理の詳細を説明するフローチャート図である。
【図２０】図２０は、第１の実施の形態におけるテスト支援処理の詳細を説明するフローチャート図である。
【図２１】図２１は、第１の実施の形態におけるテスト支援処理の詳細を説明するフローチャート図である。
【図２２】図２２は、第１の実施の形態におけるテスト支援処理の詳細を説明するフローチャート図である。
【図２３】図２３は、第１の実施の形態におけるテスト支援処理の詳細を説明するフローチャート図である。
【図２４】図２４は、第１の実施の形態におけるテスト支援処理の詳細を説明するフローチャート図である。
【図２５】図２５は、第１の実施の形態におけるテスト支援処理の詳細を説明するフローチャート図である。
【図２６】図２６は、第１の実施の形態におけるテスト支援処理の詳細を説明するフローチャート図である。
【図２７】図２７は、Ｓ３４の処理の具体例を説明する図である。
【図２８】図２８は、履歴情報１３２の具体例を説明する図である。
【図２９】図２９は、履歴情報１３２の具体例を説明する図である。
【図３０】図３０は、履歴情報１３２の具体例を説明する図である。
【図３１】図３１は、履歴情報１３２の具体例を説明する図である。
【図３２】図３２は、操作ログ情報１３３の具体例を説明する図である。
【図３３】図３３は、操作ログ情報１３３の具体例を説明する図である。
【図３４】図３４は、デバッグ時間情報１３４ａの具体例を説明する図である。
【図３５】図３５は、ブレイク時間情報１３４ｂの具体例を説明する図である。
【図３６】図３６は、応答待ち時間情報１３４の具体例を説明する図である。
【図３７】図３７は、実行時間情報１４２の具体例を説明する図である。
【図３８】図３８は、前回のテスト結果情報１３５の具体例を説明する図である。
【図３９】図３９は、今回のテスト結果情報１３５の具体例を説明する図である。
【図４０】図４０は、通信情報１４１の具体例を説明する図である。
【発明を実施するための形態】
【００１２】
［情報処理システムの構成］
図１は、情報処理システム１０の構成を示す図である。図１に示す情報処理システム１０は、情報処理装置１（以下、テスト支援装置１とも呼ぶ）と、情報処理装置２（以下、第１の情報処理装置とも呼ぶ）と、情報処理装置３（以下、第２の情報処理装置とも呼ぶ）と、記憶装置１ａとを有する。情報処理装置１、情報処理装置２及び情報処理装置３には、インターネットやイントラネット等からなるネットワークＮＷを介して事業者端末５からアクセスすることが可能である。
【００１３】
情報処理装置１は、例えば、改修後のプログラム（以下、改修済プログラムとも呼ぶ）の既存機能のテストを支援する処理（以下、テスト支援処理とも呼ぶ）を実行する。また、情報処理装置２及び情報処理装置３では、情報処理装置１において動作するプロセスと通信を行うプロセスが動作する。なお、情報処理装置１は、情報処理装置２及び情報処理装置３以外の情報処理装置とも通信を行うものであってよい。
【００１４】
記憶装置１ａは、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等からなる外部ディスク装置である。具体的に、記憶装置１ａは、例えば、情報処理装置１がテスト支援処理を実行する際に参照する各種情報を記憶する。記憶装置１ａは、情報処理装置１の内部に設けられたディスク装置であってもよい。
【００１５】
事業者端末５は、プログラムの各種テスト（単体テスト、結合テスト及びリグレッションテスト等）を行う際に、事業者が利用する端末である。以下、改修対象のプログラムの動作の具体例について説明を行う。
【００１６】
［改修対象のプログラムによる処理の具体例］
図２から図４は、改修対象のプログラムによる処理の具体例を説明する図である。図２から図４に示す例において、情報処理装置１では、改修対象のプログラムが実行されることによって起動されるプロセスＡが動作している。また、図２から図４に示す例において、情報処理装置２では、プロセスＡと通信を行うプロセスＢが動作している。なお、以下、図２から図４で説明する各処理が、改修対象のプログラムの既存機能による処理であるものとして説明を行う。
【００１７】
初めに、プロセスＡがプロセスＢから実行結果が送信されるまで待機する場合であって、タイムアウトが発生する前にプロセスＢから実行結果を受信する場合について説明を行う。
【００１８】
プロセスＡは、図２に示すように、所定のタイミングでプロセスＢに対して呼び出し（処理の実行依頼）を行う（Ｓ２０１）。その後、プロセスＡは、プロセスＢから実行結果の送信があるまで待機する（Ｓ２０２）。
【００１９】
一方、プロセスＢは、図２に示すように、プロセスＡから呼び出しがあった場合、その呼び出しの受け付けを行い、受け付けた呼び出しに対応する処理を実行する（Ｓ２１１、Ｓ２１２）。そして、プロセスＢは、所定の処理を実行した結果である実行結果を、プロセスＡに対して送信する（Ｓ２１３）。そして、プロセスＡは、プロセスＢから実行結果の送信があったことに応じて、後続処理の実行を再開する（Ｓ２０３）。
【００２０】
次に、プロセスＡがプロセスＢから実行結果が送信されるまで待機する場合であって、タイムアウトが発生する場合について説明を行う。
【００２１】
プロセスＡは、図３に示すように、プロセスＢに対して呼び出しを行った後、基準時間を経過してもプロセスＢからの実行結果の送信がない場合、タイムアウト処理を行う（Ｓ２０４）。具体的に、プロセスＡは、例えば、プロセスＢが実行する処理に遅延等が発生し、基準時間を経過してもプロセスＢからの実行結果の送信がない場合に、タイムアウト処理を行う。
【００２２】
そして、プロセスＡは、この場合、プロセスＢから実行結果の送信があるまで再度待機する（Ｓ２０５）。その後、プロセスＡは、プロセスＢから実行結果の送信があったことに応じて、後続処理の実行を再開する（Ｓ２０３）。
【００２３】
次に、プロセスＡがプロセスＢから実行結果が送信されない場合であっても待機しない場合について説明を行う。
【００２４】
プロセスＡは、図４に示すように、プロセスＢに対して呼び出しを行った後、基準時間を経過してもプロセスＢからの実行結果の送信がないためにタイムアウト処理を行った場合、プロセスＢから実行結果が送信されるまで再度待機することなく、後続処理の再開を実行する（Ｓ２０４、Ｓ２０３）。
【００２５】
そして、事業者は、改修対象のプログラムに対して改修を行った場合、例えば、図２から図４において説明した各処理を実行する各種テストを行い、各処理に要する時間が改修対象プログラムの改修が行われる前よりも長くなっていないことの確認を行う。
【００２６】
これにより、事業者は、例えば、改修対象のプログラムに対して行った改修が、改修対象のプログラムの既存機能の性能を劣化させているか否かの確認を行うことが可能になる。そして、改修対象のプログラムの性能が劣化していると判定した場合、事業者は、例えば、性能劣化の原因の特定を行い、特定した原因を解消するための更なる改修等を行うことが可能になる。
【００２７】
ここで、改修対象のプログラムにおいて発生した性能劣化の原因の特定は、例えば、既存機能の性能の劣化時間と、単体テスト等の過去のフェーズにおいて行われたテストの結果とを照合することによって行われる。
【００２８】
しかしながら、例えば、改修済プログラムによって生成されるプロセスが有する全ての機能についてのテストが過去のフェーズにおいて行われていない場合、事業者は、過去のフェーズにおいて行われたテストの結果を参照することによる劣化原因の特定を適切に行うことができない可能性がある。
【００２９】
そこで、本実施の形態における情報処理装置１は、他の情報処理装置（例えば、情報処理装置２）に対して処理を実行させる一連の処理（以下、特定の処理とも呼ぶ）の過去の実行時間についての実行時間情報を記憶する記憶部を参照する。実行時間情報は、例えば、前回のリグレッションテストの実施時における特定の処理の実行時間（レスポンスタイム）を示す情報である。そして、情報処理装置１は、特定の処理を実行する特定のプロセス（例えば、事業者によるテストセットの実行に伴って動作するプロセス）を生成する改修対象のプログラムの改修前と改修後との間における特定の処理の実行時間の差分である時間（以下、第１の時間とも呼ぶ）を算出する。
【００３０】
続いて、情報処理装置１は、第１の時間が基準時間よりも長いと判定した場合、情報処理装置間における通信についての通信情報を記憶する記憶部を参照する。そして、情報処理装置１は、改修後における特定のプロセスに対応する通信情報に基づき、他の情報処理装置に対する接続が完了した時刻（以下、接続完了時刻とも呼ぶ）と、他の情報処理装置との間において通信を開始した時刻（以下、通信開始時刻とも呼ぶ）との差分である時間（以下、第２の時間とも呼ぶ）を算出する。
【００３１】
その後、情報処理装置１は、第１の時間と第２の時間との差分が基準範囲内であると判定した場合、特定のプロセスに関する情報を出力する。
【００３２】
すなわち、情報処理装置１において動作するプロセスが他の情報処理装置において動作するプロセスと通信を行う場合、情報処理装置１（情報処理装置１のネットワークドライバ）は、そのプロセス間において行われた通信に関する情報（例えば、通信が行われた時刻や通信を行ったプロセスの識別情報等）を取得することが可能である。そのため、情報処理装置１は、例えば、改修対象のプログラムを改修することによって発生した劣化時間と、結合テスト等の過去のフェーズにおいて行われたテストの結果とを比較することによる劣化原因の特定に並行して、改修対象のプログラムを改修することによって発生した劣化時間と、ネットワークドライバによって取得された情報との比較を行うことによる劣化原因の特定を行う。
【００３３】
これにより、情報処理装置１は、例えば、過去のフェーズにおいてテストが行われていない機能が存在する場合であっても、ネットワークドライバによって取得された情報を用いることによって、劣化原因の特定が適切に行われる可能性を高めることが可能になる。
【００３４】
［情報処理システムのハードウエア構成］
次に、情報処理システム１０のハードウエア構成について説明する。図５は、情報処理装置１のハードウエア構成を示す図である。なお、情報処理装置２及び情報処理装置３のハードウエア構成は、情報処理装置１のハードウエア構成と同じであるため説明を省略する。
【００３５】
情報処理装置１は、プロセッサであるＣＰＵ１０１と、メモリ１０２と、外部インターフェース（Ｉ／Ｏユニット）１０３と、記憶媒体１０４とを有する。各部は、バス１０５を介して互いに接続される。
【００３６】
記憶媒体１０４は、例えば、テスト支援処理を行うためのプログラム１１０を記憶する。また、記憶媒体１０４は、例えば、テスト支援処理を行う際に用いられる情報を記憶する情報格納領域１３０（以下、記憶部１３０とも呼ぶ）を有する。なお、図１で説明した記憶装置１ａは、例えば、記憶媒体１０４に対応する。
【００３７】
ＣＰＵ１０１は、図５に示すように、プログラム１１０の実行時に、プログラム１１０を記憶媒体１０４からメモリ１０２にロードし、プログラム１１０と協働してテスト支援処理を行う。
【００３８】
外部インターフェース１０３は、例えば、ネットワークＮＷを介して情報処理装置２、情報処理装置３及び事業者端末５等と通信を行う。
【００３９】
［情報処理システムの機能］
次に、情報処理システム１０の機能について説明する。図６は、情報処理装置１の機能のブロック図である。また、図７は、情報格納領域１３０に記憶された情報のブロック図である。
【００４０】
ＣＰＵ１０１は、図６に示すように、プログラム１１０と協働することにより、例えば、情報受付部１１１と、テスト実行部１１２と、休止時間算出部１１３と、プロセス特定部１１４として動作する。また、ＣＰＵ１０１は、図６に示すように、プログラム１１０と協働することにより、例えば、情報出力部１１５と、情報取得部１１６と、操作ログ取得部１１７と、応答待ち時間算出部１１８と、ダンプ取得部１１９として動作する。さらに、ＣＰＵ１０１は、図６に示すように、プログラム１１０と協働することにより、第１時間算出部１２１と、第２時間算出部１２２と、時刻特定部１２３と、情報送受信部１２４として動作する。なお、情報送受信部１２４は、例えば、情報処理装置１のネットワークドライバに対応するものであってよい。
【００４１】
そして、情報格納領域１３０には、図６に示すように、例えば、各プロセスを起動させるための実行ファイル１３１と、履歴情報１３２と、操作ログ情報１３３と、応答待ち時間情報１３４と、テスト結果情報１３５と、通信情報１４１と、実行時間情報１４２とが記憶されている。
【００４２】
なお、以下、情報受付部１１１、テスト実行部１１２、休止時間算出部１１３、プロセス特定部１１４、情報出力部１１５、情報取得部１１６、操作ログ取得部１１７、応答待ち時間算出部１１８、ダンプ取得部１１９、第１時間算出部１２１、第２時間算出部１２２、時刻特定部１２３及び情報送受信部１２４を総称して、テスト支援部１２０とも呼ぶ。
【００４３】
情報受付部１１１は、例えば、プログラムの改修が行われたことに伴って事業者が各種テストを実施するテストセットの指定を行った場合に、その指定を受け付ける。
【００４４】
テスト実行部１１２は、情報格納領域１３０に記憶された実行ファイル１３１を実行する。具体的に、テスト実行部１１２は、例えば、情報受付部１１１が指定を受け付けたテストセットを実行させるための実行ファイル１３１を実行する。
【００４５】
休止時間算出部１１３は、例えば、各プロセスの識別情報が対応付けられた情報であって、実行ファイル１３１の実行によって動作する各プロセスの動作状態を示す情報である履歴情報１３２を参照する。そして、休止時間算出部１１３は、例えば、情報受付部１１１が指定を受け付けたテストセットの実行に伴って動作する特定のプロセスに対応する履歴情報１３２に基づき、特定のプロセスの起動が停止した時間（以下、休止時間とも呼ぶ）を算出する。
【００４６】
なお、情報受付部１１１は、特定のプロセスの指定を直接受け付けるものであってもよい。そして、休止時間算出部１１３は、この場合、情報受付部１１１が指定を受け付けた特定のプロセスの休止時間の算出を行うものであってよい。
【００４７】
プロセス特定部１１４は、呼び出し元のプロセスごとに、呼び出し先のプロセスの識別情報と、呼び出し先のプロセスの応答待ちに起因して呼び出し元のプロセスにおいてタイムアウトが生じるまでの応答待ち時間とを対応付けた応答待ち時間情報１３４を参照する。そして、プロセス特定部１１４は、休止時間算出部１１３が算出した休止時間に応じた応答待ち時間に対応付けられた呼び出し先のプロセスを特定する。呼び出し元のプロセスは、情報処理システム１０で動作する各プログラム（改修済プログラムを含む）に対応するプロセスのうち、起動中に他のプロセス（他の情報処理装置において動作するプログラムを含む）の呼び出しを行うプロセスである。また、呼び出し先のプロセスは、呼び出し元のプロセスによって呼び出されるプロセスである。
【００４８】
情報出力部１１５は、プロセス特定部１１４が特定した呼び出し先のプロセスの識別情報を出力する。具体的に、情報出力部１１５は、この場合、呼び出し先のプロセスの識別情報を事業者端末５に対して出力する。
【００４９】
情報取得部１１６は、実行ファイル１３１の実行中における各プロセスの動作状態を示す情報である履歴情報１３２を取得する。具体的に、情報取得部１１６は、例えば、オペレーティングシステム（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が有する情報から、履歴情報１３２の取得を行う。そして、情報取得部１１６は、取得した履歴情報１３２を情報格納領域１３０に記憶する。
【００５０】
操作ログ取得部１１７は、事業者が事業者端末５において操作を行った内容に対応するログである操作ログ情報１３３を取得する。そして、情報処理装置１は、取得した操作ログ情報１３３を情報格納領域１３０に記憶する。
【００５１】
応答待ち時間算出部１１８は、操作ログ取得部１１７が取得した操作ログ情報１３３を参照し、応答待ち時間情報１３４を作成する。そして、応答待ち時間算出部１１８は、作成した応答待ち時間情報１３４を情報格納領域１３０に記憶する。
【００５２】
具体的に、応答待ち時間算出部１１８は、例えば、特定のプロセスのリグレッションテストが実施される前に、改修済プログラムの改修が行われる前に実施されたテスト（例えば、改修済プログラムの結合テスト）における操作ログ情報１３３を参照する。そして、応答待ち時間算出部１１８は、情報処理システム１０を構成するプログラムの実行により起動するプロセスに含まれる呼び出し元のプロセスにおいて、呼び出し先のプロセスの応答待ちによるタイムアウトが発生した場合における応答待ち時間を含む応答待ち時間情報１３４を作成する。
【００５３】
これにより、プロセス特定部１１４は、特定のプロセスのリグレッションテストが行われる際に、応答待ち時間情報１３４を参照することが可能になる。そして、プロセス特定部１１４は、休止時間算出部１１３が算出した休止時間に応じた応答待ち時間に対応するプロセスを、リグレッションテストの実行時において発生したタイムアウトの原因であるプロセス（呼び出し先のプロセス）として特定することが可能になる。
【００５４】
ダンプ取得部１１９は、例えば、呼び出し元のプロセスにおいてタイムアウトが発生する直前の呼び出し先のプロセスに関するメモリ１０２の状態を示すメモリダンプを取得する。
【００５５】
第１時間算出部１２１は、他の情報処理装置（例えば、情報処理装置２）に対する処理の実行指示を含む特定の処理の過去の実行時間についての実行時間情報１４２を参照する。そして、第１時間算出部１２１は、特定の処理を実行する特定のプロセスを生成するプログラムの改修前と改修後との間における特定の処理の実行時間の差分である第１の時間Ｔ０１を算出する。
【００５６】
第２時間算出部１２２は、第１の時間が基準時間よりも長いか否かを判定する。その結果、第１の時間が基準時間よりも長いと判定した場合、第２時間算出部１２２は、情報処理装置間における通信についての通信情報１４１のうち、改修後における特定のプロセスに対応する通信情報１４１を参照する。そして、第２時間算出部１２２は、接続に成功した情報処理装置（例えば、情報処理装置２）に対する接続が完了した接続完了時刻Ｔ１１と、接続に成功した情報処理装置との間において通信を開始した通信開始時刻Ｔ１３との差分である第２の時間Ｔ０２を算出する。
【００５７】
時刻特定部１２３は、改修済プログラムが生成した特定のプロセスに対応する履歴情報１３２を参照し、特定のプロセスの起動が停止した起動停止時刻Ｔ２１と、特定のプロセスの起動が再開した起動再開時刻Ｔ２２とを特定する。また、時刻特定部１２３は、改修済プログラムが生成した特定のプロセスに対応する通信情報１４１を参照し、接続に失敗した情報処理装置（例えば、情報処理装置３）に対する接続を開始した接続開始時刻Ｔ１２を特定する。
【００５８】
そして、情報出力部１１５は、第１の時間Ｔ０１と第２の時間Ｔ０２との差分が基準範囲内であるか否かの判定を行う。その結果、第１の時間Ｔ０１と第２の時間Ｔ０２との差分が基準範囲内であると判定した場合、特定のプロセスに関する情報を出力する。具体的に、情報出力部１１５は、この場合、特定のプロセスに関する情報を事業者端末５に対して出力する。
【００５９】
さらに、情報出力部１１５は、起動停止時刻Ｔ２１と接続開始時刻Ｔ１２との時間差と、起動再開時刻Ｔ２２と通信開始時刻Ｔ１３との時間差とがそれぞれ基準範囲内であるか否かを判定する。その結果、それぞれが基準範囲内であると判定した場合、特定のプロセスが接続に失敗した情報処理装置に対する接続の失敗後に待機していたことを示す情報を出力する。具体的に、情報出力部１１５は、この場合、接続の失敗後に待機していたことを示す情報を事業者端末５に対して出力する。
【００６０】
これにより、例えば、特定のプロセスが接続に失敗した情報処理装置に対する接続の失敗後における待機を予定していないプロセスである場合、事業者は、特定のプロセスが予定していない動作を行っているものと判定することが可能になる。そのため、事業者は、この場合、特定のプロセスを実行することによる特定の処理の劣化原因が、特定のプロセスが接続に失敗した情報処理装置に対する接続の失敗後において待機していることにあると判定することが可能になる。
【００６１】
また、情報送受信部１２４は、情報処理装置間における通信についての通信情報１４１を取得する。そして、情報送受信部１２４は、取得した通信情報１４１を情報格納領域１３０に記憶する。
【００６２】
［第１の実施の形態］
次に、第１の実施の形態について説明する。図８は、第１の実施の形態におけるテスト支援処理の概略を説明するフローチャート図である。また、図９から図１１は、第１の実施の形態におけるテスト支援処理の概略を説明する図である。図９から図１１を参照しながら図８のテスト支援処理の概略について説明する。
【００６３】
情報処理装置１（テスト支援部１２０）は、図８に示すように、情報出力タイミングまで待機する（Ｓ１のＮＯ）。情報出力タイミングは、例えば、事業者が情報処理装置１に対してテストセットの指定等を行ったタイミングであってよい。
【００６４】
そして、情報出力タイミングになった場合（Ｓ１のＹＥＳ）、情報処理装置１は、図９に示すように、他の情報処理装置（例えば、情報処理装置２）に対する処理の実行指示を含む特定の処理の過去の実行時間についての実行時間情報１４２を記憶する情報格納領域１３０を参照する。そして、第１時間算出部１２１は、特定の処理を実行する特定のプロセスを生成するプログラムの改修前と改修後との間における特定の処理の実行時間の差分である第１の時間Ｔ０１を算出する（Ｓ２）。
【００６５】
続いて、情報処理装置１は、第１の時間Ｔ０１が基準時間よりも長いか否かを判定する（Ｓ３）。
【００６６】
その結果、第１の時間Ｔ０１が基準時間よりも長いと判定した場合（Ｓ３のＹＥＳ）、情報処理装置１は、各情報処理装置間における通信についての通信情報１４１を記憶する情報格納領域１３０を参照する。そして、情報処理装置１は、図１０に示すように、改修後における特定のプロセスに対応する通信情報１４１に基づき、他の情報処理装置に対する接続が完了した接続完了時刻Ｔ１１と、他の情報処理装置との間において通信を開始した通信開始時刻Ｔ１３との差分である第２の時間Ｔ０２を算出する（Ｓ４）。
【００６７】
その後、情報処理装置１は、第１の時間Ｔ０１と第２の時間Ｔ０２との差分が基準範囲内であるか否かを判定する（Ｓ５）。
【００６８】
その結果、第１の時間Ｔ０１と第２の時間Ｔ０２との差分が基準範囲内であると判定した場合（Ｓ５のＹＥＳ）、情報処理装置１は、図１１に示すように、特定のプロセスに関する情報を出力する（Ｓ６）。
【００６９】
一方、Ｓ３の処理において、第１の時間Ｔ０１が基準時間よりも長くないと判定した場合（Ｓ３のＮＯ）、情報処理装置１は、Ｓ４からＳ６の処理を行わない。また、Ｓ５の処理において、第１の時間Ｔ０１と第２の時間Ｔ０２との差分が基準範囲内でないと判定した場合（Ｓ５のＮＯ）、情報処理装置１は、Ｓ６の処理を行わない。
【００７０】
すなわち、情報処理装置１において動作するプロセスが他の情報処理装置において動作する他のプロセスと通信を行う場合、情報処理装置１（情報処理装置１のネットワークドライバ）は、そのプロセス間において行われた通信に関する情報（例えば、通信が行われた時刻や通信を行ったプロセスの識別情報等）を取得することが可能である。そのため、情報処理装置１は、例えば、改修対象のプログラムを改修に起因する劣化時間と、過去のフェーズにおいて行われたテストの結果とを比較することによる劣化原因の特定に並行して、改修対象のプログラムを改修に起因する劣化時間と、ネットワークドライバによって取得された情報との比較を行うことによる劣化原因の特定を行う。
【００７１】
これにより、情報処理装置１は、例えば、過去のフェーズにおいてテストが行われていない機能が存在する場合であっても、ネットワークドライバによって取得された情報を用いることによって、劣化原因の特定が適切に行われる可能性を高めることが可能になる。
【００７２】
［第１の実施の形態の詳細］
次に、第１の実施の形態の詳細について説明する。図１２から図２６は、第１の実施の形態におけるテスト支援処理の詳細を説明するフローチャート図である。また、図２７から図４０は、第１の実施の形態におけるテスト支援処理の詳細を説明する図である。図２７から図４０を参照しながら、図１２から図２６のテスト支援処理の詳細を説明する。
【００７３】
［結合テストの実施時における履歴情報取得処理］
初めに、第１の実施の形態におけるテスト支援処理のうち、リグレッションテストの前に実施されるテスト（例えば、結合テスト）の実施時において履歴情報１３２を取得する処理（以下、履歴情報取得処理とも呼ぶ）について説明を行う。
【００７４】
情報処理装置１の情報取得部１１６は、図１２に示すように、履歴情報取得タイミングになるまで待機する（Ｓ１１のＮＯ）。履歴情報取得タイミングは、例えば、０．１（秒）間隔等、基準時間間隔毎であってよい。そして、履歴情報取得タイミングになった場合（Ｓ１１のＹＥＳ）、情報取得部１１６は、起動中のプロセスの動作状態を示す履歴情報１３２を作成する（Ｓ１２）。具体的に、情報取得部１１６は、ＯＳが有する情報を取得することにより、履歴情報１３２の作成を行う。
【００７５】
その後、情報取得部１１６は、Ｓ１２の処理で作成した履歴情報１３２を情報格納領域１３０に記憶する（Ｓ１３）。以下、履歴情報１３２の具体例について説明を行う。
【００７６】
［履歴情報の具体例］
図２８から図３１は、履歴情報１３２の具体例を説明する図である。
【００７７】
図２８から図３１は、履歴情報１３２に含まれる各情報を識別する「項番」と、プロセスを識別する「識別情報」と、プロセスの動作状態を示す「動作状態」と、履歴情報１３２が作成された時間を示す「タイムスタンプ」とを項目として有する。「動作状態」には、履歴情報１３２が前回作成されてから今回作成されるまでの間にプロセスが動作したことを示す「Ｒ（ＲＵＮ）」が設定される。また、「動作状態」には、履歴情報１３２が前回作成されてから今回作成されるまでの間にプロセスが動作しなかったことを示す「Ｓ（ＳＬＥＥＰ）」が設定される。
【００７８】
なお、以下、履歴情報１３２が０．１（秒）毎に作成されるものとして説明を行う。また、以下、プロセスＡ−１及びプロセスＡ−２が情報処理装置１において動作し、プロセスＢ−１、プロセスＢ−２及びプロセスＢ−３が情報処理装置２において動作するものとして説明を行う。
【００７９】
具体的に、図２８に示す履歴情報１３２において、「項番」が「１」である情報には、「識別情報」として「Ａ−１」が設定され、動作状態として「Ｓ」が設定され、「タイムスタンプ」として「１１：１１．１６．１００」が設定されている。すなわち、図２８に示す履歴情報１３２は、「１１：１１．１６．０００」から「１１：１１．１６．１００」までの時間において、「識別情報」が「Ａ−２」であるプロセスが動作しなかったことを示している。
【００８０】
そして、図２９に示す履歴情報１３２は、図２８に示す履歴情報１３２の次に作成された履歴情報１３２である。すなわち、図２９に示す履歴情報１３２は、図２８に示す履歴情報１３２よりも０．１（秒）後に作成された履歴情報１３２である。
【００８１】
具体的に、図２９に示す履歴情報１３２において、図２８に示す履歴情報１３２に対し、「項番」が「２」である情報の「動作状態」に設定された情報に「Ｓ」が設定されている。すなわち、図２９に示す履歴情報１３２は、「１１：１１．１６．１００」から「１１：１１．１６．２００」までの時間において、「識別情報」が「Ａ−２」であるプロセスが動作しなかったことを示している。また、図２９に示す履歴情報１３２において、図２８に示す履歴情報１３２に対し、「項番」が「３」である情報の「動作状態」に設定された情報に「Ｒ」が設定されている。すなわち、図２９に示す履歴情報１３２は、「１１：１１．１６．１００」から「１１：１１．１６．２００」までの時間において、「識別情報」が「Ｂ−１」であるプロセスが動作したことを示している。
【００８２】
さらに、図３０に示す履歴情報１３２は、図２９に示す履歴情報１３２の次に作成された履歴情報１３２である。すなわち、図３０に示す履歴情報１３２は、図２９に示す履歴情報１３２よりも０．１（秒）後に作成された履歴情報１３２である。具体的に、図３０に示す履歴情報１３２において、図２９に示す履歴情報１３２に対し、「項番」が「３」である情報の「動作状態」に設定された情報に「Ｓ」が設定されている。
【００８３】
そして、図３１に示す履歴情報１３２は、図３０に示す履歴情報１３２に含まれる情報の更新が次に行われた場合における履歴情報１３２である。具体的に、図３１に示す履歴情報１３２の「タイムスタンプ」には、「１１：１１．３６．１００」がそれぞれ設定されている。そして、図３１に示す履歴情報１３２における「項番」が「２」である情報の「動作状態」には、「Ｒ」が設定されている。図２８から図３１に含まれる他の情報については説明を省略する。
【００８４】
［結合テストの実施時における操作ログ取得処理］
次に、第１の実施の形態におけるテスト支援処理のうち、結合テストの実施時において操作ログ情報１３３を取得する処理（以下、操作ログ取得処理とも呼ぶ）について説明を行う。
【００８５】
操作ログ取得部１１７は、図１３に示すように、事業者端末５において事業者が操作を行ったことを検知するまで待機する（Ｓ２１のＮＯ）。そして、事業者端末５における操作を検知した場合（Ｓ２１のＹＥＳ）、操作ログ取得部１１７は、Ｓ２１の処理で検知した操作に対応する操作ログ情報１３３を作成する（Ｓ２２）。その後、操作ログ取得部１１７は、Ｓ２２の処理で作成した操作ログ情報１３３を情報格納領域１３０に記憶する（Ｓ２３）。以下、操作ログ情報１３３の具体例について説明を行う。
【００８６】
［操作ログ情報の具体例］
図３２及び図３３は、操作ログ情報１３３の具体例を説明する図である。
【００８７】
図３２及び図３３は、操作ログ情報１３３に含まれる各情報を識別する「項番」と、事業者端末５において操作が行われた時間を示す「タイムスタンプ」と、事業者端末５における操作の内容を示す「文字列」とを項目として有する。なお、図３２及び図３３に示す操作ログ情報１３３は、それぞれ「識別情報」が「Ａ−２」及び「Ｂ−１」であるプロセス（以下、それぞれプロセスＡ−２、プロセスＢ−１とも呼ぶ）に対応する操作ログ情報１３３である。
【００８８】
具体的に、図３２に示す操作ログ情報１３３において、「項番」が「１」である情報の「タイムスタンプ」には、「１１：１１．０５．３３３」が設定されている。そして、「項番」が「１」である情報の「文字列」には、プロセスＡ−２のデバッグが開始されたことを示す「ｄｅｂｕｇ，Ａ−２」が設定されている。
【００８９】
また、図３２に示す操作ログ情報１３３において、「項番」が「２」である情報の「文字列」には、アドレスが「０ｘ００２２ｂ００ｅｏ１２１２」及び「０ｘ００２２ｂ８８５５ａｂ００」である位置がブレイクポイントに設定されたことを示す「ｂ，０ｘ００２２ｂ００ｅｏ１２１２，０ｘ００２２ｂ８８５５ａｂ００」が設定されている。そして、図３２に示す操作ログ情報１３３において、「項番」が「３」である情報の「文字列」には、設定されたブレイクポイントに到達したことによってプロセスＡ−２の動作が停止したことを示す「ｂｒｅａｋ，０ｘ００２２ｂ００ｅｏ１２１２」が設定されている。
【００９０】
さらに、図３２に示す操作ログ情報１３３において、「項番」が「４」である情報の「文字列」には、プロセスＡ−２を動作させたことを示す「ｇｏ」が設定されている。そして、「項番」が「７」である情報の「文字列」には、設定されたブレイクポイントの設定を解除したことを示す「ｂ，ｃｌｅａｒ」が設定されている。
【００９１】
また、図３２に示す操作ログ情報１３３において、「項番」が「８」である情報の「文字列」には、プロセスＡ−２のデバッグが終了したことを示す「ｅｎｄ」が設定されている。図３２及び図３３に含まれる他の情報については説明を省略する。
【００９２】
なお、操作ログ取得部１１７は、各プロセスに対して操作（例えば、ブレイクポイントの設定等）を行う事業者端末５から、図３２及び図３３で説明した操作ログ情報１３３をそれぞれ取得するものであってもよい。
【００９３】
［結合テストの実施時におけるテスト実行処理］
次に、第１の実施の形態におけるテスト支援処理のうち、タイムアウトが発生する場合の結合テストを実行する処理（以下、テスト実行処理とも呼ぶ）について説明を行う。
【００９４】
テスト実行部１１２は、図１４に示すように、テスト実行タイミングまで待機する（Ｓ３１のＮＯ）。テスト実行タイミングは、例えば、事業者が情報処理装置１等に対して結合テストを行う旨を入力したタイミングであってよい。そして、テスト実行タイミングになった場合（Ｓ３１のＹＥＳ）、テスト実行部１１２は、例えば、事業者が指定を行ったテストセットを実行することによって、各プロセスを起動する（Ｓ３２）。
【００９５】
その後、Ｓ３２の処理で起動されたプロセスのうちのいずれかが他の情報処理装置（例えば、情報処理装置２において動作するプロセス）において動作する他のプロセスの呼び出しを行った場合（Ｓ３３のＹＥＳ）、テスト実行部１１２は、呼び出し先のプロセスの動作を停止する（Ｓ３４）。そして、全てのプロセスの実行が終了していない場合（Ｓ３５のＮＯ）、テスト実行部１１２は、Ｓ３３以降の処理を再度実行する。
【００９６】
一方、全てのプロセスの実行が終了するまで他のプロセスの呼び出しが行われない場合（Ｓ３３のＮＯ、Ｓ３５のＹＥＳ）、テスト実行部１１２は、次のテスト実行タイミングまで待機する（Ｓ３１のＮＯ）。以下、Ｓ３４の処理の具体例について説明を行う。
【００９７】
［Ｓ３４の処理の具体例］
図２７は、Ｓ３４の処理の具体例を説明する図である。テスト実行部１１２は、図２７に示すように、プロセスＡ−２がプロセスＢ−１を呼び出した後、プロセスＢ−１の動作を停止する。具体的に、テスト実行部１１２は、事業者によって予め設定されたブレイクポイントにプロセスＢ−１の処理が到達したことに応じて、プロセスＢ−１の動作を停止する。
【００９８】
これにより、テスト実行部１１２は、プロセスＢ−１の実行結果がプロセスＡ−２に送信されることを防ぐことが可能になる。そのため、テスト実行部１１２は、プロセスＡ−２においてタイムアウトを容易に発生させることが可能になる。
【００９９】
なお、以下、図１４で説明したテスト実行処理が実行されたことに伴って、図２８から図３３で説明した履歴情報１３２及び操作ログ情報１３３が作成されたものとして説明を行う。
【０１００】
［応答待ち時間算出処理］
次に、第１の実施の形態におけるテスト支援処理のうち、応答待ち時間情報１３４を作成する処理（以下、応答待ち時間算出処理とも呼ぶ）について説明を行う。なお、応答待ち時間算出処理は、例えば、図１４で説明したテスト実行処理の後であって、改修済プログラムの改修に伴ってリグレッションテストが行われる前に実行される処理である。
【０１０１】
応答待ち時間算出部１１８は、図１５に示すように、応答待ち時間算出タイミングまで待機する（Ｓ４１のＮＯ）。応答待ち時間算出タイミングは、例えば、テスト実行処理の後であって、改修済プログラムの改修に伴ってリグレッションテストが行われる前の所定のタイミングであってよい。また、応答待ち時間算出タイミングは、例えば、事業者が応答待ち時間情報１３４を作成する旨の入力を行ったタイミングであってよい。
【０１０２】
そして、応答待ち時間算出タイミングになった場合（Ｓ４１のＹＥＳ）、応答待ち時間算出部１１８は、情報格納領域１３０に記憶された操作ログ情報１３３を参照し、各プロセスについてデバッグが行われていた時間（以下、デバッグ時間とも呼ぶ）を特定する（Ｓ４２）。
【０１０３】
具体的に、応答待ち時間算出部１１８は、例えば、各プロセスについてのデバッグが開始した時間（以下、デバッグ開始時間とも呼ぶ）と、デバッグが終了した時間（以下、デバッグ終了時間とも呼ぶ）とを特定する。以下、デバッグ開始時間とデバッグ終了時間とを含むデバッグ時間情報１３４ａの具体例について説明を行う。
【０１０４】
［デバッグ時間情報の具体例］
図３４は、デバッグ時間情報１３４ａの具体例を説明する図である。
【０１０５】
図３４に示すデバッグ時間情報１３４ａは、デバッグ時間情報１３４ａに含まれる各情報を識別する「項番」と、デバッグを行う各プロセスを特定する「識別情報」とを項目として有する。また、図３４に示すデバッグ時間情報１３４ａは、デバッグ開始時間が設定される「デバッグ開始時間」と、デバッグ終了時間が設定される「デバッグ終了時間」とを項目として有する。
【０１０６】
具体的に、図３２で説明したプロセスＡ−２に関する操作ログ情報１３３において、「文字列」に「ｄｅｂｕｇ」が含まれる情報の「タイムスタンプ」には、「１１：１１．０５．３３３」が設定されている。また、図３２で説明したプロセスＡ−２に関する操作ログ情報１３３において、「文字列」に「ｅｎｄ」が含まれる情報の「タイムスタンプ」には、「１２：０８．２０．６６８」が設定されている。すなわち、この場合、応答待ち時間算出部１１８は、デバッグ開始時間が「１１：１１．０５．３３３」であり、デバッグ終了時間が「１２：０８．２０．６６８」であると特定する。そのため、応答待ち時間算出部１１８は、図３４に示すように、例えば、「項番」が「１」である情報の「識別情報」として「Ａ−２」を設定し、「デバッグ開始時間」として「１１：１１．０５．３３３」を設定し、「デバッグ終了時間」として「１２：１８．２０．６６８」を設定する。図３４に含まれる他の情報については説明を省略する。
【０１０７】
図１５に戻り、応答待ち時間算出部１１８は、デバッグ時間が包含関係にあるプロセスの組み合わせが存在するか否かを判定する（Ｓ４３）。そして、デバッグ時間が包含関係にあるプロセスの組み合わせが存在すると判定した場合（Ｓ４３のＹＥＳ）、応答待ち時間算出部１１８は、Ｓ４３の処理で存在したプロセスの組み合わせを、呼び出し元のプロセス及び呼び出し先のプロセスの組み合わせとして特定する（Ｓ４４）。
【０１０８】
具体的に、図３４で説明したデバッグ時間情報１３４ａにおいて、「識別情報」が「Ａ−２」である情報には、「デバッグ開始時間」として「１１：１１．０５．３３３」が設定され、「デバッグ終了時間」として「１２：０８．２０．６６８」が設定されている。また、図３４で説明したデバッグ時間情報１３４ａにおいて、「識別情報」が「Ｂ−１」である情報には、「デバッグ開始時間」として「１１：１１．０７．０８８」が設定され、「デバッグ終了時間」として「１２：０８．０７．３５６」が設定されている。
【０１０９】
すなわち、図３４で説明したデバッグ時間情報１３４ａにおいて、プロセスＡ−２のデバッグが行われていた時間には、プロセスＢ−１のデバッグが行われていた時間が包含されている。そのため、応答待ち時間算出部１１８は、プロセスＡ−２及びプロセスＢ−１が呼び出し元のプロセス及び呼び出し先のプロセスの関係にあるものと判定する。したがって、応答待ち時間算出部１１８は、この場合、Ｓ４４の処理において、プロセスＡ−２及びプロセスＢ−１の組み合わせを、呼び出し元プロセス及び呼び出し先プロセスの組み合わせとして特定する。
【０１１０】
その後、応答待ち時間算出部１１８は、情報格納領域１３０に記憶された操作ログ情報１３３を参照し、Ｓ４４の処理で特定した組み合わせに含まれるプロセスの動作が停止した時間（以下、ブレイク時間とも呼ぶ）を特定する（Ｓ４５）。具体的に、応答待ち時間算出部１１８は、Ｓ４４の処理で特定した組み合わせに含まれる各プロセスがブレイクポイントに到達した時間をブレイク時間として特定する。
【０１１１】
すなわち、情報処理システム１０を構成する各プログラムの結合テストの実行時において、ブレイクポイントが設定されることによる呼び出し先のプロセスの動作の停止には、呼び出し元のプロセスにおいてタイムアウトが発生させるために行われたプロセスの動作の停止が含まれている。そのため、応答待ち時間算出部１１８は、ブレイクポイントを設定することによって呼び出し先のプロセスの動作の停止が行われている場合、タイムアウトが発生した場合におけるテストが行われていた可能性があると判定することが可能になる。したがって、応答待ち時間算出部１１８は、ブレイクポイントが設定されたことに伴って呼び出し先のプロセスの動作が停止したブレイク時間を特定する。以下、ブレイク時間を含むブレイク時間情報１３４ｂの具体例について説明を行う。
【０１１２】
［ブレイク情報の具体例］
図３５は、ブレイク時間情報１３４ｂの具体例を説明する図である。
【０１１３】
図３５に示すブレイク時間情報１３４ｂは、ブレイク時間情報１３４ｂに含まれる各情報を識別する「項番」と、呼び出し先のプロセスを識別する「識別情報」と、ブレイク時間が設定される「ブレイク時間」とを項目として有する。
【０１１４】
具体的に、図３２で説明したプロセスＡ−２に関する操作ログ情報１３３において、「文字列」に「ｂｒｅａｋ」を含む文字列が設定された情報の「タイムスタンプ」には、「１１：１１．１０．１２１」及び「１１：１１．３６．０７５」が設定されている。そのため、応答待ち時間算出部１１８は、図３５に示すように、「項番」が「１」及び「２」である情報の「識別情報」として「Ａ−２」を設定し、「ブレイク時間」として「１１：１１．１０．１２１」及び「１１：１１．３６．０７５」をそれぞれ設定する。
【０１１５】
また、図３３で説明したプロセスＢ−１に関する操作ログ情報１３３において、「文字列」に「ｂｒｅａｋ」を含む文字列が設定された情報の「タイムスタンプ」には、「１１：１１．１６．１６２」が設定されている。そのため、応答待ち時間算出部１１８は、図３５に示すように、「項番」が「３」である情報の「識別情報」として「Ｂ−１」を設定し、「ブレイク時間」として「１１：１１．１６．１６２」を設定する。
【０１１６】
図１５に戻り、応答待ち時間算出部１１８は、情報格納領域１３０に記憶され履歴情報１３２を参照し、Ｓ４５の処理で特定したブレイク時間から、Ｓ４４の処理で特定した組み合わせに含まれる呼び出し元のプロセスの動作の停止時間及び再開時間を特定する（Ｓ４６）。
【０１１７】
具体的に、応答待ち時間算出部１１８は、Ｓ４６の処理において、図２８等で説明した履歴情報１３２のうち、図３５で説明したブレイク時間情報１３４ｂの「ブレイク時間」に設定された時間の前後の情報を参照する。
【０１１８】
ここで、呼び出し元のプロセスにおいてタイムアウトが発生する場合、呼び出し元のプロセス及び呼び出し先のプロセスの「動作状態」に「Ｓ」が設定されている状態が連続する。そして、この場合、呼び出し元のプロセスの「動作状態」が先に「Ｒ」に更新される。そのため、応答待ち時間算出部１１８は、図２８等で説明した履歴情報１３２を参照し、プロセスＡ−２及びプロセスＢ−１の「動作状態」が「Ｓ」である状態が連続した後、いずれかの「動作状態」が「Ｒ」に更新されている情報を特定する。
【０１１９】
具体的に、図３０で説明した履歴情報１３２において、「識別情報」が「Ａ−２」である情報には、「動作状態」として「Ｓ」が設定され、「識別情報」が「Ｂ−１」である情報には、「動作状態」として「Ｓ」が設定されている。また、図３１で説明した履歴情報１３２において、「識別情報」が「Ａ−２」である情報には、「動作状態」として「Ｒ」が設定され、「識別情報」が「Ｂ−１」である情報には、「動作状態」として「Ｓ」が設定されている。そして、図３１で説明した履歴情報１３２は、図３０で説明した履歴情報１３２の次に内容が更新された情報であり、図３０で説明した履歴情報１３２の約２０秒後に取得された情報である。すなわち、図３１で説明した履歴情報１３２において、プロセスＡ−２の「動作状態」は、プロセスＡ−２及びプロセスＢ−１の「動作状態」が「Ｓ」である状態が連続した後に、「Ｒ」に更新されている。
【０１２０】
そのため、応答待ち時間算出部１１８は、この場合、「動作状態」が「Ｓ」である状態が連続した後に、最初に動作を再開したプロセスであるプロセスＡ−２を、呼び出し元のプロセスとして特定する。また、応答待ち時間算出部１１８は、プロセスＡ−２及びプロセスＢ−１のうち、呼び出し元のプロセスとして特定されなかったプロセスＢ−１を、呼び出し先のプロセスとして特定する。
【０１２１】
そして、応答待ち時間算出部１１８は、図３１で説明した履歴情報１３２を参照し、「１１：１１．３６．０００」から「１１：１１．３６．１００」までの時間内に、タイムアウトの発生に伴ってプロセスＡ−２が処理を再開したと特定する。そのため、応答待ち時間算出部１１８は、Ｓ４６の処理において、例えば、「タイムスタンプ」が「１１：１１：３６．１００」である時間を、呼び出し元のプロセスであるプロセスＡ−２の再開時間として仮定する。
【０１２２】
さらに、呼び出し元のプロセスが呼び出し先にプロセスを呼び出した場合、呼び出し元のプロセスの動作は停止する。そのため、応答待ち時間算出部１１８は、呼び出し元のプロセスの「動作状態」が「Ｓ」である状態が連続する前であって、最後に「動作状態」が「Ｒ」である履歴情報１３２に対応する時間を、呼び出し元のプロセスが呼び出し先にプロセスを呼び出した時間として特定する。
【０１２３】
具体的に、図２９で説明した履歴情報１３２において、「識別情報」が「Ａ−２」である情報には、「動作状態」として「Ｓ」が設定されている。一方、図２８で説明した履歴情報１３２において、「識別情報」が「Ａ−２」である情報には、「動作状態」として「Ｒ」が設定されている。そのため、応答待ち時間算出部１１８は、「１１：１１．１６．０００」から「１１：１１．１６．１００」までの時間内に、プロセスＡ−２がプロセスＢ−１を呼び出したと特定する。そのため、応答待ち時間算出部１１８は、Ｓ４６の処理において、例えば、「タイムスタンプ」が「１１：１１．１６．１００」である時間を、呼び出し元のプロセスであるプロセスＡ−２の停止時間として仮定する。
【０１２４】
その後、応答待ち時間算出部１１８は、図１６に示すように、Ｓ４６の処理で特定した停止時間と再開時間との時間差を、応答待ち時間として算出する（Ｓ５１）。
【０１２５】
具体的に、応答待ち時間算出部１１８は、停止時間である「１１：１１．１６．１００」から、再開時間である「１１：１１．３６．１００」までの２０（秒）を、プロセスＢ−１を呼び出した後にタイムアウトが発生する場合におけるプロセスＡ−２の応答待ち時間として特定する。
【０１２６】
そして、応答待ち時間算出部１１８は、Ｓ５１の処理で算出した応答待ち時間と、呼び出し元のプロセス及び呼び出し先のプロセスの識別情報とを対応付けた情報を、応答待ち時間情報１３４として情報格納領域１３０に記憶する（Ｓ５２）。以下、応答待ち時間情報１３４の具体例について説明を行う。
【０１２７】
［応答待ち時間情報の具体例］
図３６は、応答待ち時間情報１３４の具体例を説明する図である。
【０１２８】
図３６に示す応答待ち時間情報１３４は、応答待ち時間情報１３４に含まれる各情報を識別する「項番」と、呼び出し元のプロセスの識別情報が設定される「呼び出し元の識別情報」とを項目として有する。また、図３６に示す応答待ち時間情報１３４は、呼び出し先のプロセスの識別情報が設定される「呼び出し先の識別情報」と、Ｓ５１の処理で算出された応答待ち時間が設定される「応答待ち時間」とを項目として有する。
【０１２９】
具体的に、図３６に示す応答待ち時間情報１３４において、「項番」が「１」である情報には、「呼び出し元の識別情報」として「Ａ−２」が設定され、「呼び出し元の識別情報」として「Ｂ−１」が設定され、「応答待ち時間」として「２０（秒）」が設定される。図３６に含まれる他の情報については説明を省略する。
【０１３０】
［リグレッションテストの実施時における履歴情報取得処理］
次に、第１の実施の形態におけるテスト支援処理のうち、リグレッションテストの実施時における履歴情報取得処理（改修済プログラムの改修が行われた後に実施される履歴情報取得処理）について説明を行う。
【０１３１】
情報取得部１１６は、図１７に示すように、履歴情報取得タイミングになるまで待機する（Ｓ６１のＮＯ）。そして、履歴情報取得タイミングになった場合（Ｓ６１のＹＥＳ）、情報取得部１１６は、例えば、Ｓ４６の処理で特定した呼び出し元のプロセス及び呼び出し先のプロセスの動作状態を示す履歴情報１３２を作成する（Ｓ６２）。その後、情報取得部１１６は、図１２で説明した場合と同様に、Ｓ６２の処理で作成した履歴情報１３２を情報格納領域１３０に記憶する（Ｓ６３）。
【０１３２】
また、情報取得部１１６は、Ｓ６２の処理において、履歴情報１３２の生成とともに、テストセットに含まれる各テストの実行に要する時間（レスポンスタイム）を含む実行時間情報１４２を生成する。そして、情報取得部１１６は、Ｓ６３の処理において、履歴情報１３２とともに実行時間情報１４２を情報格納領域１３０に記憶する。以下、実行時間情報１４２の具体例について説明を行う。
【０１３３】
［実行時間情報の具体例］
図３７は、実行時間情報１４２の具体例を説明する図である。
【０１３４】
図３７は、実行時間情報１４２に含まれる各情報を識別する「項番」と、テストセットに含まれるテスト項目のそれぞれを識別する「テスト項目」と、「テスト項目」に情報が設定されたテストに伴う処理のレスポンスタイムが設定される「レスポンスタイム」とを項目として有する。なお、実行時間情報１４２は、例えば、プログラムの改修が行われるごとに生成されるものであってよい。
【０１３５】
具体的に、図３７に示す実行時間情報１４２において、「項番」が「１」である情報には、「テスト項目」として「Ｔ００１」が設定され、「レスポイントタイム」として「２１．３００（秒）」が設定されている。また、図３７に示す実行時間情報１４２において、「項番」が「２」である情報には、「テスト項目」として「Ｔ００２」が設定され、「レスポイントタイム」として「１２．２００（秒）」が設定されている。図３７に含まれる他の情報についての説明は省略する。
【０１３６】
［リグレッションテストの実施時における通信情報取得処理］
次に、第１の実施の形態におけるテスト支援処理のうち、通信情報１４１を取得する処理（以下、通信情報取得処理とも呼ぶ）について説明を行う。
【０１３７】
初めに、通信情報取得処理のうち、他の情報処理装置（例えば、情報処理装置２）との間においてコネクションの接続が行われる際の処理について説明を行う。
【０１３８】
情報処理装置１の情報送受信部１２４は、コネクション接続タイミングになるまで待機する（Ｓ７１のＮＯ）。コネクション接続タイミングは、例えば、情報処理装置１において動作する呼び出し元のプロセスが、他の情報処理装置において動作する呼び出し先のプロセスを呼び出す場合において、情報処理装置１と他の情報処理装置との間のセッションが確立されていない場合のタイミングである。
【０１３９】
そして、コネクション接続タイミングになった場合（Ｓ７１のＹＥＳ）、情報送受信部１２４は、Ｓ７１の処理におけるコネクションに対応する呼び出し元のプロセスがリグレッションテストのテスト対象のプロセスであるか否かの判定を行う（Ｓ７２）。具体的に、情報送受信部１２４は、例えば、情報格納領域１３０に記憶された情報のうち、現在のテスト対象のプロセスとして事業者が入力したプロセスを示す情報であるテスト対象情報（図示しない）を参照し、呼び出し元のプロセスがリグレッションテストのテスト対象のプロセスであるか否かの判定を行う。
【０１４０】
その結果、呼び出し元のプロセスがテスト対象のプロセスでないと判定した場合（Ｓ７３のＮＯ）、情報送受信部１２４は、情報処理装置１と、Ｓ７１の処理におけるコネクションに対応する呼び出し先のプロセスが動作する他の情報処理装置との間におけるコネクションの接続を行う（Ｓ７４）。
【０１４１】
一方、呼び出し元のプロセスがテスト対象のプロセスであると判定した場合（Ｓ７３のＹＥＳ）、情報送受信部１２４は、現在時刻を通信情報１４１の一部として情報格納領域１３０に記憶する（Ｓ７５）。
【０１４２】
そして、情報送受信部１２４は、Ｓ７４の処理と同様に、情報処理装置１と他の情報処理装置との間におけるコネクションの接続を行う（Ｓ７６）。
【０１４３】
その後、情報送受信部１２４は、図１９に示すように、Ｓ７１の処理におけるコネクションの接続が成功したか否かの判定を行う（Ｓ８１）。
【０１４４】
その結果、コネクションの接続が成功したと判定した場合（Ｓ８１のＹＥＳ）、情報送受信部１２４は、現在時刻を通信情報１４１の一部として情報格納領域１３０に記憶する（Ｓ８２）。すなわち、情報送受信部１２４は、この場合、現在時刻が接続完了時刻Ｔ１１を示すものとして記憶を行う。そして、情報送受信部１２４は、コネクションの接続が成功したことを示す情報を通信情報１４１の一部として情報格納領域１３０に記憶する（Ｓ８３）。
【０１４５】
一方、コネクションの接続が成功したと判定した場合（Ｓ８１のＮＯ）、情報送受信部１２４は、コネクションの接続が失敗したことを示す情報を通信情報１４１の一部として情報格納領域１３０に記憶する（Ｓ８４）。
【０１４６】
次に、通信情報取得処理のうち、他の情報処理装置との間において通信が行われる際の処理について説明を行う。
【０１４７】
情報送受信部１２４は、図２０に示すように、呼び出しタイミングになるまで待機する（Ｓ９１のＮＯ）。呼び出しタイミングは、例えば、情報処理装置１において動作する呼び出し元のプロセスが、他の情報処理装置において動作する呼び出し先のプロセスを呼び出す場合であって、情報処理装置１と他の情報処理装置との間のセッションが確立されている場合のタイミングである。また、呼び出しタイミングは、例えば、情報処理装置１と他の情報処理装置との間のセッションが確立された直後のタイミングである。
【０１４８】
そして、呼び出しタイミングになった場合（Ｓ９１のＹＥＳ）、情報送受信部１２４は、Ｓ９１の処理における呼び出し元のプロセスがリグレッションテストのテスト対象のプロセスであるか否かの判定を行う（Ｓ９２）。具体的に、情報送受信部１２４は、例えば、情報格納領域１３０に記憶されたテスト対象情報（図示しない）を参照し、呼び出し元のプロセスがリグレッションテストのテスト対象のプロセスであるか否かの判定を行うものであってよい。
【０１４９】
その結果、呼び出し元のプロセスがテスト対象のプロセスでないと判定した場合（Ｓ９３のＮＯ）、情報送受信部１２４は、Ｓ９１の処理におけるプロセスの呼び出しが、情報処理装置１と他の情報処理装置との間に確立されたセッションにおける初回の呼び出しであるか否かの判定を行う（Ｓ９４）。
【０１５０】
そして、初回の呼び出しであると判定した場合（Ｓ９４のＹＥＳ）、情報送受信部１２４は、現在時刻を通信情報１４１の一部として情報格納領域に記憶する（Ｓ９５）。すなわち、情報送受信部１２４は、この場合、現在時刻が通信開始時刻Ｔ１３を示すものとして記憶を行う。また、情報送受信部１２４は、この場合、プロセスの呼び出しが行われたことを示す情報を通信情報１４１の一部として情報格納領域１３０に記憶する（Ｓ９６）。
【０１５１】
その後、情報送受信部１２４は、Ｓ９１の処理における呼び出し先のプロセスの呼び出しを行う（Ｓ９７）。具体的に、情報送受信部１２４は、呼び出し先のプロセスの呼び出しを行う。
【０１５２】
すなわち、情報送受信部１２４は、各プロセスが他の情報処理装置において動作するプロセスと通信を行った場合に、その通信に関する情報を通信情報１４１として情報格納領域１３０に蓄積する。
【０１５３】
これにより、情報処理装置１は、後述するように、改修済プログラムにおける劣化原因を特定する際に、各プロセスが他の情報処理装置において動作する他のプロセスとの間で行った通信に関する情報を参照することが可能になる。以下、通信情報１４１の具体例について説明を行う。
【０１５４】
［通信情報の具体例］
図４０は、通信情報１４１の具体例を説明する図である。
【０１５５】
図４０に示す通信情報１４１は、通信情報１４１に含まれる各情報を識別する「項番」と、呼び出し元のプロセスの識別情報が設定される「プロセスＩＤ」と、呼び出し先のプロセスが動作する情報処理装置におけるセッションのポート番号が設定される「ポート番号」とを項目として有している。また、図４０に示す通信情報１４１は、各通信の種別が設定される「通信種別（１）」及び「通信種別（２）」と、各通信が行われた時刻が設定される「時刻（１）」及び「時刻（２）」と、各通信の結果が設定される「結果」とを項目として有する。「通信種別（１）」及び「通信種別（２）」には、コネクション接続の開始を示す「Ｔ＿Ｓ」、コネクション接続の成功を示す「Ｔ＿Ｅ」及び通信の開始を示す「Ｔ＿Ａ」のうちのいずれかが設定される。また、「結果」には、コネクション接続が成功したことを示す「接続」、コネクション接続が失敗したことを示す「失敗」及び通信が開始されたことを示す「送信」のうちのいずれかが設定される。なお、以下、情報処理装置２におけるポート番号が１０１であり、情報処理装置３におけるポート番号が１２２であるものとして説明を行う。
【０１５６】
具体的に、図４０に示す通信情報１４１における「項番」が「１」である情報には、「プロセスＩＤ」として「１００８」が設定され、「ポート番号」として「１０１」が設定され、「通信種別（１）」として「Ｔ＿Ｓ」が設定され、「時刻（１）」として「１０：２５．３１．９５２」が設定されている。そして、図４０に示す通信情報１４１における「項番」が「１」である情報には、「通信種別（２）」として「Ｔ＿Ｅ」が設定され、「時刻（２）」として「１０：２５．３２．００８」が設定され、「結果」として「接続」が設定される。
【０１５７】
すなわち、図４０に示す通信情報１４１における「項番」が「１」である情報は、「ポート番号」が「１０１」である情報処理装置に対するコネクションの接続が「１０：２５．３１．９５２」に開始されて「１０：２５．３２．００８」に終了したことを示している。
【０１５８】
また、図４０に示す通信情報１４１における「項番」が「２」である情報には、「ポート番号」として「１２２」が設定され、「通信種別（１）」として「Ｔ＿Ｓ」が設定され、「時刻（１）」として「１０：２５．３２．０８８」が設定されている。そして、図４０に示す通信情報１４１における「項番」が「２」である情報には、「通信種別（２）」及び「時刻（２）」として、情報が存在しないことを示す「−」が設定され、「結果」として「失敗」が設定されている。
【０１５９】
すなわち、図４０に示す通信情報１４１における「項番」が「２」である情報は、「ポート番号」が「１２２」である情報処理装置に対するコネクションの接続が「１０：２５．３１．９５２」に開始されたものの失敗したことを示している。
【０１６０】
さらに、図４０に示す通信情報１４１における「項番」が「３」である情報には、「ポート番号」として「１０１」が設定され、「通信種別（１）」として「Ｔ＿Ａ」が設定され、「時刻（１）」として「１０：２５．５２．１５１」が設定されている。そして、図４０に示す通信情報１４１における「項番」が「３」である情報には、「通信種別（２）」及び「時刻（２）」として「−」が設定され、「結果」として「送信」が設定されている。
【０１６１】
すなわち、図４０に示す通信情報１４１における「項番」が「３」である情報は、「ポート番号」が「１０１」である情報処理装置で動作する呼び出し先のプロセスの呼び出し（通信の開始）が「１０：２５．５２．１３１」に行われたことを示している。
【０１６２】
なお、通信情報１４１は、プロセスＩＤごとに区分けされた複数の情報を含むものであってもよい。
【０１６３】
［リグレッションテストの実施時におけるテスト実行処理］
次に、第１の実施の形態におけるテスト支援処理のうち、リグレッションテストの実施時におけるテスト実行処理（改修済プログラムの改修が行われた後に実施されるテスト実行処理）について説明を行う。
【０１６４】
テスト実行部１１２は、図２１に示すように、テスト実行タイミングまで待機する（Ｓ１０１のＮＯ）。テスト実行タイミングは、例えば、事業者が情報処理装置１にリグレッションテストを行う旨を入力したタイミングであってよい。
【０１６５】
そして、テスト実行タイミングになった場合（Ｓ１０１のＹＥＳ）、テスト実行部１１２は、情報格納領域１３０に記憶された実行時間情報１４２を、情報格納領域１３０内の所定領域（図示しない）に記憶する（Ｓ１０２）。すなわち、テスト実行部１１２は、テストセットの実行を行う前に、情報格納領域１３０に記憶されている実行時間情報１４２（前回のリグレッションテストにおいて記憶された実行時間情報１４２）の退避を行う。なお、以下、所定領域に記憶された実行時間情報１４２を実行時間情報１４２ａとも呼ぶ。その後、テスト実行部１１２は、例えば、情報受付部１１１が指定を受け付けたテストセットを実行する（Ｓ１０３）。
【０１６６】
具体的に、テスト実行部１１２は、例えば、改修済プログラム及び改修済プログラムの改修に伴って影響が生じる可能性があるプロセスに対するテスト項目を含むテストセットを実行する。
【０１６７】
その後、情報処理装置１の第１時間算出部１２１は、Ｓ１０３の処理において実行したテストセットのレスポンスタイムのそれぞれと、所定領域に記憶された実行時間情報１４２に含まれるレスポンスタイムのそれぞれとの差分を示す第１の時間Ｔ０１を算出する（Ｓ１０４）。
【０１６８】
具体的に、第１時間算出部１２１は、例えば、Ｓ１０３の処理の実行に伴って情報格納領域１３０に新たに記憶された実行時間情報１４２（今回のリグレッションテストにおいて記憶された実行時間情報１４２）と、所定領域に記憶された実行時間情報１４２ａ（前回のリグレッションテストにおいて記憶された実行時間情報１４２）とを参照することにより、改修対象のプログラムの改修前及び改修後におけるレスポンスタイムをテスト項目ごとに特定する。そして、第１時間算出部１２１は、例えば、特定した各時間の差分を、各テスト項目の実施に伴って動作するプロセスのうち、改修対象のプログラムの改修によって影響を受ける可能性があるプロセス（例えば、テスト項目ごとに予め決められたプロセス）に対応する第１の時間Ｔ０１として算出する。
【０１６９】
なお、情報取得部１１６は、Ｓ１０３の処理の実行中において、履歴情報１３２の生成を行わずに、実行時間情報１４２の生成のみを行うものであってよい。これにより、情報取得部１１６は、Ｓ１０３の処理の実行中において、履歴情報１３２の生成に必要な情報をＯＳから取得する処理が、リグレッションテストの結果に影響を及ぼすことを防止することが可能になる。
【０１７０】
そして、情報処理装置１の第２時間算出部１２２は、Ｓ１０４の処理で算出した第１の時間Ｔ０１が基準時間以上であるプロセスが存在するか否か、すなわち、改修対象のプログラムを改修したことによって劣化が発生しているプロセス存在しているか否かを判定する（Ｓ１０５）。
【０１７１】
その結果、第１の時間Ｔ０１が基準時間以上であるプロセスが存在すると判定した場合（Ｓ１０５のＹＥＳ）、第２時間算出部１２２は、図２２に示すように、情報格納領域１３０に記憶された通信情報１４１を参照し、他の情報処理装置に対する接続が失敗したことを示す情報が含まれているか否かを判定する（Ｓ１１１）。
【０１７２】
そして、他の情報処理装置に対する接続が失敗したことを示す情報が含まれている判定した場合（Ｓ１１２のＹＥＳ）、第２時間算出部１２２は、情報格納領域１３０に記憶された通信情報１４１を参照し、「失敗」に対応するプロセスに関する情報を特定する（Ｓ１１３）。さらに、第２時間算出部１２２は、この場合、情報格納領域１３０に記憶された通信情報１４１のうち、特定した情報であって「接続」または「送信」に対応する情報を参照し、第２の時間Ｔ０２を算出する（Ｓ１１３）。
【０１７３】
具体的に、第２時間算出部１２２は、図４０で説明した通信情報１４１を参照し、「結果」に「失敗」が設定された情報（「項番」が「２」である情報）の「プロセスＩＤ」に設定された情報である「１００８」を特定する。そして、第２時間算出部１２２は、特定した「１００８」が「プロセスＩＤ」に設定された情報のうち、「結果」に「接続」または「送信」が設定された情報（「項番」が「１」である情報及び「項番」が「３」である情報）を特定する。さらに、第２時間算出部１２２は、例えば、「結果」に「失敗」が設定された情報の前の情報であって「結果」に「接続」が設定された情報の「Ｔ＿Ｅ」に対応する時刻である「１０：２５：３２．００８」を接続完了時刻Ｔ１１として特定する。また、第２時間算出部１２２は、例えば、「結果」に「失敗」が設定された情報の後の情報であって「結果」に「送信」が設定された情報の「Ｔ＿Ａ」に対応する時刻である「１０：２５：５２．１５１」を通信開始時刻Ｔ１３として特定する。その後、特定した接続完了時刻Ｔ１１と通信開始時刻Ｔ１３との差分を算出することによって、第２の時間Ｔ０２の算出を行う。
【０１７４】
その後、情報処理装置１の情報出力部１１５は、Ｓ１０４の処理で算出した第１の時間Ｔ０１と、Ｓ１１３の処理で算出した第２の時間Ｔ０２との差分が基準範囲内であるか否かを判定する（Ｓ１１４）。
【０１７５】
その結果、第１の時間Ｔ０１と第２の時間Ｔ０２との差分が基準範囲内であると判定した場合（Ｓ１１５のＹＥＳ）、情報出力部１１５は、Ｓ１１３の処理で特定した「失敗」に対応するプロセスが外部に対する接続の失敗後に待機していたことを示す情報を出力する（Ｓ１１６）。
【０１７６】
すなわち、第１の時間Ｔ０１及び第２の時間Ｔ０２は、異なる方法によって特定された時間である。具体的に、第１の時間Ｔ０１は、例えば、実行時間情報１４２を参照することによって特定された劣化時間であり、第２の時間Ｔ０２は、情報処理装置１のネットワークドライバによって取得される通信情報１４１から特定された時間（他の情報処理装置との間において接続を行ってから通信を開始するまでの時間）である。そのため、接続に失敗した他の情報処理装置が存在しており、第１の時間Ｔ０１と第２の時間Ｔ０２との差が誤差の範囲内である場合、情報出力部１１５は、改修対象のプログラムに改修を行うことによって生じた劣化時間の原因が、Ｓ１１３の処理で特定した「失敗」に対応するプロセスによって他の情報処理装置との接続が行われてから通信が開始されるまでの時間にあると判定することが可能にある。
【０１７７】
その後、情報出力部１１５は、Ｓ１１６の処理で情報の出力が行われたことを示すフラグを「ＯＮ」に更新する（Ｓ１１７）。具体的に、情報出力部１１５は、情報格納領域１３０に記憶されたフラグ（図示しない）が示す情報を「ＯＮ」に更新する。
【０１７８】
一方、Ｓ１１２の処理において、他の情報処理装置に対する接続が失敗したことを示す情報が含まれていないと判定した場合（Ｓ１１２のＮＯ）、プロセス特定部１１４は、図２３に示すように、情報格納領域１３０に記憶された履歴情報１３２を参照し、各プロセスの動作の停止時刻と再開時刻とを特定する（Ｓ１２１）。なお、Ｓ１０３の処理の実行中において履歴情報１３２の生成を行われていない場合、テスト実行部１１２は、Ｓ１２１の処理が行われる前に、Ｓ１０３の処理を再度行うものであってよい。そして、情報取得部１１６は、Ｓ１０３の処理の再度の実行中に、図１７で説明した履歴情報取得処理を行い、ＯＳから必要な情報を取得して履歴情報１３２の生成を行うものであってよい。また、プロセス特定部１１４は、Ｓ１１５の処理において第１の時間Ｔ０１と第２の時間Ｔ０２との差分が基準範囲内でないと判定した場合も同様に、（Ｓ１１５のＮＯ）、Ｓ１２１の処理を行う。
【０１７９】
すなわち、他の情報処理装置に対する接続が失敗したことを示す情報が通信情報１４１に含まれていないと判定した場合、または、第１の時間Ｔ０１と第２の時間Ｔ０２との差分が基準範囲内でないと判定した場合、プロセス特定部１１４は、改修対象のプログラムに改修を行うことによって生じた劣化原因が、予定していないタイミングにおいて他の情報処理装置の処理を待機したことではないと判定する。そのため、プロセス特定部１１４は、この場合、情報格納領域１３０に記憶された応答待ち時間情報１３４（過去のフェーズのテストにおいて生成された情報）を参照することによる劣化原因の特定を行う。
【０１８０】
そして、プロセス特定部１１４は、Ｓ１２１の処理で特定した停止時刻と再開時刻との時間差を、休止時間として算出する（Ｓ１２２）。
【０１８１】
続いて、プロセス特定部１１４は、情報格納領域１３０に記憶されたテスト結果情報１３５を参照し、Ｓ１２２の処理で算出した休止時間のうち、過去に存在しなかった休止時間が存在するか否かを判定する（Ｓ１２３）。
【０１８２】
すなわち、プロセス特定部１１４は、Ｓ１２２の処理で算出した休止時間に、前回のリグレッションテストの実施時に生成されたテスト結果情報１３５（以下、前回のテスト結果情報１３５とも呼ぶ）に情報が含まれていない休止時間が存在するか否かの判定を行う。以下、前回のテスト結果情報１３５の具体例について説明を行う。
【０１８３】
［前回のテスト結果情報の具体例］
図３８は、前回のテスト結果情報１３５の具体例を説明する図である。図３８に示すテスト結果情報１３５は、テスト結果情報１３５に含まれる各情報を識別する「項番」と、呼び出し元のプロセスの識別情報が設定される「呼び出し元の識別情報」とを項目として有している。また、図３８に示すテスト結果情報１３５は、Ｓ１２２の処理で算出した休止時間が設定される「休止時間」を項目として有している。
【０１８４】
具体的に、図３８に示すテスト結果情報１３５において、「項番」が「１」である情報には、「呼び出し元の識別情報」として「Ａ−１」が設定され、「休止時間」として「１５（秒）」が設定されている。
【０１８５】
ここで、呼び出し元のプロセスがプロセスＡ−２であり、Ｓ１２２の処理で算出された休止時間が「２０（秒）」である場合、テスト結果情報１３５には、「呼び出し元の識別情報」に「Ａ−２」が設定され、「休止時間」に「２０（秒）」が設定されている情報が含まれていない。そのため、プロセス特定部１１４は、この場合、Ｓ１２３の処理において、Ｓ１２２の処理で算出した休止時間のうち、過去に存在しなかった休止時間が存在すると判定する。図３８に含まれる他の情報については説明を省略する。
【０１８６】
図２３に戻り、Ｓ１２２の処理で算出した休止時間のうち、過去に存在しなかった休止時間が存在すると判定した場合（Ｓ１２３のＹＥＳ）、プロセス特定部１１４は、図２４に示すように、情報格納領域１３０に記憶された応答待ち時間情報１３４を参照する。そして、プロセス特定部１１４は、応答待ち時間情報１３４において、Ｓ１２３の処理で存在すると判定した休止時間に応じた応答待ち時間に対応付けられた呼び出し先のプロセスを特定する（Ｓ１３１）。
【０１８７】
具体的に、プロセス特定部１１４は、例えば、図３６で説明した応答待ち時間情報１３４を参照し、「呼び出し元の識別情報」が「Ａ−２」であって、「応答待ち時間」が「２０（秒）」である情報を特定する。そして、プロセス特定部１１４は、特定した情報の「呼び出し先の識別情報」に設定された情報である「Ｂ−１」を、Ｓ１２３の処理で存在すると判定した休止時間に応じた応答待ち時間に対応付けられた呼び出し先のプロセスとして特定する。
【０１８８】
これにより、プロセス特定部１１４は、Ｓ１０５の処理で存在したプロセスの動作時において休止時間が発生していた場合、その休止時間の発生の原因が、呼び出し先のプロセスに起因したタイムアウトであるか否かについて特定することが可能になる。また、プロセス特定部１１４は、Ｓ１０５の処理で存在したプロセスにおける休止時間の発生の原因がタイムアウトである場合に、タイムアウトの原因となった呼び出し先のプロセスを特定することが可能になる。
【０１８９】
なお、Ｓ１２３の処理において、情報格納領域１３０にテスト結果情報１３５がまだ記憶されていない場合、プロセス特定部１１４は、Ｓ１２２の処理で算出された全ての休止時間について、Ｓ１３１以降の処理を実行するものであってよい。
【０１９０】
その後、Ｓ１２２の処理で算出した休止時間と、Ｓ１３１の処理で特定した呼び出し先のプロセスの識別情報とを対応付けた情報を、今回のテスト結果情報１３５として情報格納領域１３０に記憶する（Ｓ１３２）。以下、今回のテスト結果情報１３５の具体例について説明を行う。
【０１９１】
［今回のテスト結果情報の具体例］
図３９は、今回のテスト結果情報１３５の具体例を説明する図である。図３９に示すテスト結果情報１３５は、図３８で説明したテスト結果情報１３５と同じ項目を有している。具体的に、プロセス特定部１１４は、図３９に示すように、図３８で説明したテスト結果情報１３５に対し、「呼び出し元の識別情報」が「Ａ−２」であり、「休止時間」が「２０（秒）」である情報（「項番」が「４」である情報）を追加して設定する。図３９に含まれる他の情報については説明を省略する。
【０１９２】
図２４に戻り、テスト実行部１１２は、情報格納領域１３０に記憶されたフラグ（図示しない）を参照し、「ＯＮ」を示しているか否かの判定を行う（Ｓ１３３）。
【０１９３】
その結果、フラグが「ＯＮ」を示していないと判定した場合（Ｓ１３３のＮＯ）、テスト実行部１１２は、Ｓ１０３の処理で実行したテストセットを再度実行する（Ｓ１３４）。そして、ダンプ取得部１１９は、Ｓ１３１の処理で特定した呼び出し先のプロセスの起動中におけるメモリダンプを取得する（Ｓ１３５）。その後、情報処理装置１は、テスト実行処理を終了する。
【０１９４】
すなわち、Ｓ１２１の処理において、Ｓ１０５の処理で存在したプロセスの動作の停止時刻と再開時刻とが特定されている。そのため、ダンプ取得部１１９は、Ｓ１２１の処理において特定された停止時刻と再開時刻とを参照することで、例えば、Ｓ１０５の処理で存在したプロセスにおいてタイムアウトが発生する直前におけるメモリダンプを作成することが可能になる。
【０１９５】
なお、Ｓ１０５の処理において、第１の時間Ｔ０１が基準時間以上のプロセスが存在しないと判定した場合（Ｓ１０５のＮＯ）、プロセス特定部１１４は、テスト実行処理を終了する。すなわち、第１の時間Ｔ０１が基準時間以上のプロセスが存在しない場合とは、改修済プログラムに対するリグレッションテストの結果、性能劣化の存在が検知されなかった場合である。そのため、プロセス特定部１１４は、この場合、さらなる処理を行う必要がない。また、情報処理装置１は、Ｓ１２３の処理において、Ｓ１２２の処理で算出した休止時間のうち、過去に存在しなかった休止時間が存在しない判定した場合と判定した場合についても同様に（Ｓ１２３のＮＯ）、テスト実行処理を終了する。
【０１９６】
一方、Ｓ１３３の処理において、フラグが「ＯＮ」を示していると判定した場合（Ｓ１３３のＹＥＳ）、テスト実行部１１２は、図２５に示すように、Ｓ１０３の処理で実行したテストセットのうち、Ｓ１１３での処理で特定した「失敗」に対応するプロセスに対応するテスト項目を再度実行する（Ｓ１４１）。
【０１９７】
そして、第１時間算出部１２１は、Ｓ１４１の処理において再度実行したテスト項目のレスポンスタイムと、所定領域の実行時間情報１４２に含まれるレスポンスタイムのうち、Ｓ１１３の処理で特定した「失敗」に対応するプロセスに対応するレスポンスタイムとの差分を示す第１の時間Ｔ０１を再度算出する（Ｓ１４２）。
【０１９８】
その後、情報処理装置１の時刻特定部１２３は、Ｓ１０４の処理で算出した第１の時間Ｔ０１のうち、Ｓ１０５の処理で存在したプロセスに対応する第１の時間Ｔ０１と、Ｓ１４２の処理で再度算出した第１の時間Ｔ０１との差分が基準範囲内であるか否かを判定する（Ｓ１４３）。
【０１９９】
そして、差分が基準範囲内にあると判定した場合（Ｓ１４４のＹＥＳ）、時刻特定部１２３は、図２６に示すように、情報格納領域１３０に記憶された履歴情報１３２（Ｓ１４１の処理の実行中に生成された履歴情報１３２）を参照し、Ｓ１１３の処理で特定した「失敗」に対応するプロセスについての起動停止時刻Ｔ２１と起動再開時刻Ｔ２２とを特定する（Ｓ１５１）。
【０２００】
具体的に、時刻特定部１２３は、例えば、図２８等で説明した履歴情報１３２のうち、Ｓ１１３の処理で特定した「失敗」に対応するプロセスの識別情報が「識別情報」に設定された情報を参照し、「動作状態」に「Ｒ」が設定されている情報が所定割合以上である時間帯を、Ｓ１１３の処理で特定した「失敗」に対応するプロセスが起動していた時間帯として特定する。
【０２０１】
そして、時刻特定部１２３は、Ｓ１１３の処理で特定した「失敗」に対応するプロセスが起動していたと特定した時間帯のうち、「動作状態」に「Ｓ」が設定されている時間帯を、Ｓ１１３の処理で特定した「失敗」に対応するプロセスの起動が停止していた時間帯として特定する。その後、時刻特定部１２３は、例えば、Ｓ１１３の処理で特定した「失敗」に対応するプロセスの起動が停止していた時間帯のうち、最初の時刻を起動停止時刻Ｔ２１として特定し、最後の時刻を停止開始時刻Ｔ２２として特定する。
【０２０２】
続いて、時刻特定部１２３は、情報格納領域１３０に記憶された通信情報１４１を参照し、Ｓ１１３の処理で特定した「失敗」に対応するプロセスについての接続開始時刻Ｔ１２と通信開始時刻Ｔ１３とを特定する（Ｓ１５２）。
【０２０３】
具体的に、時刻特定部１２３は、例えば、図４０で説明した通信情報１４１を参照し、「通信種別（１）」に「Ｔ＿Ｓ」が設定され、「結果」に「失敗」が設定された情報（「項番」に「２」が設定された情報）を特定する。
【０２０４】
すなわち、時刻特定部１２３は、図４０で説明した通信情報１４１に含まれる情報のうち、他の情報処理装置（例えば、情報処理装置３）に対する接続が失敗した際の情報を特定する。そして、時刻特定部１２３は、特定した情報の「時刻（１）」に設定された情報である「１０：２５．３２．０８８」を接続開始時刻Ｔ１２として特定する。
【０２０５】
また、時刻特定部１２３は、例えば、図４０で説明した通信情報１４１を参照し、「通信種別（１）」に「Ｔ＿Ａ」が設定され、「結果」に「送信」が設定された情報のうち、接続開始時刻Ｔ１２に対応する情報の次の情報（「項番」に「３」が設定された情報）を特定する。そして、時刻特定部１２３は、特定した情報の「時刻（１）」に設定された情報である「１０：２５．５２．１５１」を通信開始時刻Ｔ１３として特定する。
【０２０６】
そして、時刻特定部１２３は、Ｓ１５１の処理で特定した起動停止時刻Ｔ２１及びＳ１５２の処理で特定した接続開始時刻Ｔ１２と、Ｓ１５１の処理で特定した起動再開時刻Ｔ２２及びＳ１５２の処理で特定した通信開始時刻Ｔ１３との差分がそれぞれ基準範囲内にあるか否かを判定する（Ｓ１５３）。
【０２０７】
その結果、差分がそれぞれ基準範囲内にあると判定した場合（Ｓ１５４のＹＥＳ）、情報出力部１１５は、Ｓ１１３で特定した「失敗」に対応するプロセスが、他の情報処理装置との接続が完了してから他の情報処理装置との通信を開始するまでの間に動作を休止していたことを示す情報を出力する（Ｓ１５５）。その後、情報処理装置１は、テスト実行処理を終了する。
【０２０８】
すなわち、起動停止時刻Ｔ２１及び起動再開時刻Ｔ２２と、接続開始時刻Ｔ１２及び通信開始時刻Ｔ１３とは、異なる方法によって特定された時刻である。具体的に、起動停止時刻Ｔ２１及び起動再開時刻Ｔ２２は、ＯＳによって取得される履歴情報１３２から特定した時刻であり、接続開始時刻Ｔ１２及び通信開始時刻Ｔ１３は、情報処理装置１のネットワークドライバによって取得される通信情報１４１から特定された時刻である。そのため、Ｓ１０４の処理及びＳ１４２の処理においてそれぞれ算出された第１の時間Ｔ０１の差分が誤差の範囲内であって、起動停止時刻Ｔ２１及び接続開始時刻Ｔ１２と、起動再開時刻Ｔ２２及び通信開始時刻Ｔ１３との差がそれぞれ誤差の範囲内である場合、情報出力部１１５は、改修対象のプログラムに改修を行うことによって生じた劣化時間の原因が、他の情報処理装置との接続が完了してから他の情報処理装置との通信を開始するまでの間において、Ｓ１１３で特定した「失敗」に対応するプロセスの起動が停止していたこと（Ｓ１１３で特定した「失敗」に対応するプロセスが他の情報処理装置からの応答を待っていたこと）にあると判定することが可能にある。
【０２０９】
一方、Ｓ１４４の処理において差分が基準範囲内にないと判定した場合（Ｓ１４４のＮＯ）、または、Ｓ１５４の処理において差分がそれぞれ基準範囲内にないと判定した場合（Ｓ１５４のＮＯ）、情報出力部１１５は、Ｓ１１３で特定した「失敗」に対応するプロセスが他の情報処理装置を試みてから通信を開始するまでの時間と、Ｓ１１３の処理で特定した「失敗」に対応するプロセスの動作が休止していた時間とが一致していなかったことを示す情報を出力する（Ｓ１４５）。すなわち、情報出力部１１５は、この場合、改修対象のプログラムに改修を行うことによって生じた劣化時間の原因が、Ｓ１１３で特定した「失敗」に対応するプロセスの動作の休止以外にあることを示す情報の出力を行う。その後、情報処理装置１は、テスト実行処理を終了する。
【０２１０】
このように、本実施の形態における情報処理装置１は、起動中の各プロセスの動作についての履歴情報１３２を記憶する情報格納領域１３０を参照する。そして、情報処理装置１は、他の情報処理装置（例えば、情報処理装置２）に対する処理の実行指示を含む特定の処理を実行する特定のプロセスに対応する履歴情報１３２（実行時間情報１４２）に基づき、特定のプロセスを生成する改修対象のプログラムの改修前と改修後との間における特定の処理の実行時間の差分である第１の時間Ｔ０１を算出する。
【０２１１】
続いて、情報処理装置１は、第１の時間Ｔ０１が基準時間よりも長いと判定した場合、情報処理装置間における通信についての通信情報１４１を記憶する情報格納領域１３０を参照する。そして、情報処理装置１は、改修後における特定のプロセスに対応する通信情報１４１に基づき、他の情報処理装置に対する接続が完了した接続完了時刻Ｔ１１と、他の情報処理装置との間において通信を開始した通信開始時刻Ｔ１３との差分である第２の時間Ｔ０２を算出する。
【０２１２】
その後、情報処理装置１は、第１の時間Ｔ０１と第２の時間Ｔ０２との差分が基準範囲内であると判定した場合、特定のプロセスに関する情報を出力する。
【０２１３】
すなわち、情報処理装置１において動作するプロセスが他の情報処理装置において動作するプロセスと通信を行う場合、情報処理装置１（情報処理装置１のネットワークドライバ）は、そのプロセス間において行われた通信に関する情報（例えば、通信が行われた時刻や通信を行ったプロセスの識別情報等）を取得することが可能である。そのため、情報処理装置１は、例えば、改修対象のプログラムを改修することによって発生した劣化時間と、結合テスト等の過去のフェーズにおいて行われたテストの結果とを比較することによる劣化原因の特定に並行して、改修対象のプログラムを改修することによって発生した劣化時間と、ネットワークドライバによって取得された情報との比較を行うことによる劣化原因の特定を行う。
【０２１４】
これにより、情報処理装置１は、例えば、過去のフェーズにおいてテストが行われていない機能が存在する場合であっても、ネットワークドライバによって取得された情報を用いることによって、劣化原因の特定が適切に行われる可能性を高めることが可能になる。
【０２１５】
以上の実施の形態をまとめると、以下の付記のとおりである。
【０２１６】
（付記１）
情報処理装置において実行される処理のうち、他の情報処理装置に対して処理を実行させる特定の処理についてのテストを支援する処理をコンピュータに実行させるテスト支援プログラムであって、
前記特定の処理の過去の実行時間についての実行時間情報を記憶する記憶部を参照し、前記特定の処理を実行する特定のプロセスを生成するプログラムの改修前と改修後との間における前記特定の処理の実行時間の差分である第１の時間を算出し、
算出した前記第１の時間が基準時間よりも長いと判定した場合、複数の情報処理装置間における通信についての通信情報を記憶する記憶部を参照し、前記改修後における前記特定のプロセスに対応する前記通信情報に基づき、前記他の情報処理装置に対する接続が完了した接続完了時刻と、前記他の情報処理装置との間において通信を開始した通信開始時刻との差分である第２の時間を算出し、
前記第１の時間と前記第２の時間との差分が基準範囲内であると判定した場合、前記特定のプロセスに関する情報を出力する、
処理をコンピュータに実行させることを特徴とするテスト支援プログラム。
【０２１７】
（付記２）
付記１において、
前記特定の処理は、前記他の情報処理装置を含む複数の情報処理装置に対する処理の実行指示を含み、前記複数の情報処理装置のうちのいずれかから処理の実行指示に対する実行結果を受信したことに応じて後続処理の実行を開始する処理であり、
前記特定のプロセスに関する情報を出力する処理では、
前記改修後における前記特定のプロセスに対応する前記通信情報に基づき、前記複数の情報処理装置のうちの前記他の情報処理装置以外のいずれかの情報処理装置に対する接続が失敗しているか否かを判定し、
前記いずれかの情報処理装置に対する接続が失敗していると判定した場合において、前記第１の時間と前記第２の時間との差分が前記基準範囲内である場合に、前記特定のプロセスが前記いずれかの情報処理装置に対する接続の失敗後に待機していたことを示す情報を出力する、
ことを特徴とするテスト支援プログラム。
【０２１８】
（付記３）
付記２において、さらに、
前記改修後における前記特定のプロセスの動作についての履歴情報に基づき、前記特定のプロセスの起動が停止した起動停止時刻と、前記特定のプロセスの起動が再開した起動再開時刻とを特定し、
前記改修後における前記特定のプロセスに対応する前記通信情報に基づき、前記いずれかの情報処理装置に対する接続を開始した接続開始時刻を特定し、
前記起動停止時刻と前記接続開始時刻との時間差と、前記起動再開時刻と前記通信開始時刻との時間差とがそれぞれ基準範囲内である場合、前記特定のプロセスが前記いずれかの情報処理装置に対する接続の失敗後に待機していたことを示す情報を出力する、
処理をコンピュータに実行させることを特徴とするテスト支援プログラム。
【０２１９】
（付記４）
付記３において、さらに、
前記特定のプロセスに関する情報を出力する処理の後、前記特定の処理を再度実行し、
再度実行した前記特定のプロセスに対応する前記実行時間情報に基づき、前記第１の時間を実行算出し、
再度算出した前記第１の時間と、前記第１の時間を算出する処理において算出された第１の時間との差分が基準範囲内であると判定した場合に、前記起動停止時刻及び起動再開時刻を特定する処理と、前記接続開始時刻及び通信開始時刻を特定する処理と、前記特定のプロセスが待機していたことを示す情報を出力する処理とを行う、
処理をコンピュータに実行させることを特徴とするテスト支援プログラム。
【０２２０】
（付記５）
付記２において、さらに、
前記第１の時間と前記第２の時間との差分が基準範囲内であると判定した場合、前記特定のプロセスに対応する前記履歴情報に基づき、前記特定のプロセスの休止時間を算出し、
呼び出し元のプロセスごとに、呼び出し先のプロセスの識別情報を、該呼び出し先のプロセスの応答待ちに起因して前記呼び出し元のプロセスにおいてタイムアウトが生じるまでの応答待ち時間に対応付けて記憶する記憶部を参照して、算出した前記休止時間に応じた前記応答待ち時間に対応付けられた前記呼び出し先のプロセスを特定し、
特定した前記呼び出し先のプロセスの識別情報を出力する、
処理をコンピュータに実行させることを特徴とするテスト支援プログラム。
【０２２１】
（付記６）
付記５において、
前記休止時間を算出する処理、前記呼び出し先のプロセスを特定する処理及び前記呼び出し先のプロセスの識別情報を出力する処理は、前記いずれかの情報処理装置に対する接続が失敗していないと判定した場合、または、前記第１の時間と前記第２の時間との差分が前記基準範囲内でないと判定した場合に行われる、
ことを特徴とするテスト支援プログラム。
【０２２２】
（付記７）
情報処理装置において実行される処理のうち、他の情報処理装置に対して処理を実行させる特定の処理についてのテストを支援するテスト支援装置であって、
前記特定の処理の過去の実行時間についての実行時間情報を記憶する記憶部を参照し、前記特定の処理を実行する特定のプロセスを生成するプログラムの改修前と改修後との間における前記特定の処理の実行時間の差分である第１の時間を算出する第１時間算出部と、
算出した前記第１の時間が基準時間よりも長いと判定した場合、複数の情報処理装置間における通信についての通信情報を記憶する記憶部を参照し、前記改修後における前記特定のプロセスに対応する前記通信情報に基づき、前記他の情報処理装置に対する接続が完了した接続完了時刻と、前記他の情報処理装置との間において通信を開始した通信開始時刻との差分である第２の時間を算出する第２時間算出部と、
前記第１の時間と前記第２の時間との差分が基準範囲内であると判定した場合、前記特定のプロセスに関する情報を出力する情報出力部と、を有する、
ことを特徴とするテスト支援装置。
【０２２３】
（付記８）
付記７において、
前記特定の処理は、前記他の情報処理装置を含む複数の情報処理装置に対する処理の実行指示を含み、前記複数の情報処理装置のうちのいずれかから処理の実行指示に対する実行結果を受信したことに応じて後続処理の実行を開始する処理であり、
前記情報出力部は、
前記改修後における前記特定のプロセスに対応する前記通信情報に基づき、前記複数の情報処理装置のうちの前記他の情報処理装置以外のいずれかの情報処理装置に対する接続が失敗しているか否かを判定し、
前記いずれかの情報処理装置に対する接続が失敗していると判定した場合において、前記第１の時間と前記第２の時間との差分が前記基準範囲内である場合に、前記特定のプロセスが前記いずれかの情報処理装置に対する接続の失敗後に待機していたことを示す情報を出力する、
ことを特徴とするテスト支援装置。
【０２２４】
（付記９）
付記８において、さらに、
前記改修後における前記特定のプロセスの動作についての履歴情報に基づき、前記特定のプロセスの起動が停止した起動停止時刻と、前記特定のプロセスの起動が再開した起動再開時刻とを特定し、前記改修後における前記特定のプロセスに対応する前記通信情報に基づき、前記いずれかの情報処理装置に対する接続を開始した接続開始時刻を特定する時刻特定部と、
前記起動停止時刻と前記接続開始時刻との時間差と、前記起動再開時刻と前記通信開始時刻との時間差とがそれぞれ基準範囲内である場合、前記特定のプロセスが前記いずれかの情報処理装置に対する接続の失敗後に待機していたことを示す情報を出力する情報出力部と、を有する、
ことを特徴とするテスト支援装置。
【０２２５】
（付記１０）
情報処理装置において実行される処理のうち、他の情報処理装置に対して処理を実行させる特定の処理についてのテストを支援するテスト支援方法であって、
前記特定の処理の過去の実行時間についての実行時間情報を記憶する記憶部を参照し、前記特定の処理を実行する特定のプロセスを生成するプログラムの改修前と改修後との間における前記特定の処理の実行時間の差分である第１の時間を算出し、
算出した前記第１の時間が基準時間よりも長いと判定した場合、複数の情報処理装置間における通信についての通信情報を記憶する記憶部を参照し、前記改修後における前記特定のプロセスに対応する前記通信情報に基づき、前記他の情報処理装置に対する接続が完了した接続完了時刻と、前記他の情報処理装置との間において通信を開始した通信開始時刻との差分である第２の時間を算出し、
前記第１の時間と前記第２の時間との差分が基準範囲内であると判定した場合、前記特定のプロセスに関する情報を出力する、
ことを特徴とするテスト支援方法。
【０２２６】
（付記１１）
付記１０において、
前記特定の処理は、前記他の情報処理装置を含む複数の情報処理装置に対する処理の実行指示を含み、前記複数の情報処理装置のうちのいずれかから処理の実行指示に対する実行結果を受信したことに応じて後続処理の実行を開始する処理であり、
前記特定のプロセスに関する情報を出力する工程では、
前記改修後における前記特定のプロセスに対応する前記通信情報に基づき、前記複数の情報処理装置のうちの前記他の情報処理装置以外のいずれかの情報処理装置に対する接続が失敗しているか否かを判定し、
前記いずれかの情報処理装置に対する接続が失敗していると判定した場合において、前記第１の時間と前記第２の時間との差分が前記基準範囲内である場合に、前記特定のプロセスが前記いずれかの情報処理装置に対する接続の失敗後に待機していたことを示す情報を出力する、
ことを特徴とするテスト支援方法。
【０２２７】
（付記１２）
付記１１において、さらに、
前記改修後における前記特定のプロセスの動作についての履歴情報に基づき、前記特定のプロセスの起動が停止した起動停止時刻と、前記特定のプロセスの起動が再開した起動再開時刻とを特定し、
前記改修後における前記特定のプロセスに対応する前記通信情報に基づき、前記いずれかの情報処理装置に対する接続を開始した接続開始時刻を特定し、
前記起動停止時刻と前記接続開始時刻との時間差と、前記起動再開時刻と前記通信開始時刻との時間差とがそれぞれ基準範囲内である場合、前記特定のプロセスが前記いずれかの情報処理装置に対する接続の失敗後に待機していたことを示す情報を出力する、
ことを特徴とするテスト支援方法。
【符号の説明】
【０２２８】
１：情報処理装置            １ａ：記憶装置
２：情報処理装置            ３：情報処理装置
ＮＷ：ネットワーク
【図１】
2019067273.tif 000003
【図２】
2019067273.tif 000004
【図３】
2019067273.tif 000005
【図４】
2019067273.tif 000006
【図５】
2019067273.tif 000007
【図６】
2019067273.tif 000008
【図７】
2019067273.tif 000009
【図８】
2019067273.tif 000010
【図９】
2019067273.tif 000011
【図１０】
2019067273.tif 000012
【図１１】
2019067273.tif 000013
【図１２】
2019067273.tif 000014
【図１３】
2019067273.tif 000015
【図１４】
2019067273.tif 000016
【図１５】
2019067273.tif 000017
【図１６】
2019067273.tif 000018
【図１７】
2019067273.tif 000019
【図１８】
2019067273.tif 000020
【図１９】
2019067273.tif 000021
【図２０】
2019067273.tif 000022
【図２１】
2019067273.tif 000023
【図２２】
2019067273.tif 000024
【図２３】
2019067273.tif 000025
【図２４】
2019067273.tif 000026
【図２５】
2019067273.tif 000027
【図２６】
2019067273.tif 000028
【図２７】
2019067273.tif 000029
【図２８】
2019067273.tif 000030
【図２９】
2019067273.tif 000031
【図３０】
2019067273.tif 000032
【図３１】
2019067273.tif 000033
【図３２】
2019067273.tif 000034
【図３３】
2019067273.tif 000035
【図３４】
2019067273.tif 000036
【図３５】
2019067273.tif 000037
【図３６】
2019067273.tif 000038
【図３７】
2019067273.tif 000039
【図３８】
2019067273.tif 000040
【図３９】
2019067273.tif 000041
【図４０】
2019067273.tif 000042