(57)【要約】【課題】テストの実行漏れの発生を抑制することを可能とするテスト制御プログラム、情報処理装置及びテスト制御方法を提供する。【解決手段】テスト対象の複数のプログラムのうち、複数のテストに含まれる特定のテストの実行に応じてコンピュータにロードされたプログラムに関する情報を取得すると、取得したプログラムに関する情報に基づき、そのプログラムのソースコードに修正が行われたか否かの判定を行い、修正が行われたと判定した場合、テストの実行に伴って実行するプログラムの識別情報とそのテストとを対応付けた対応情報を記憶する記憶部を参照して、複数のテストのうち、ソースコードに修正が行われたプログラムの実行を伴うテストを特定する。【選択図】図６
2019020961.tif 000002
【特許請求の範囲】
【請求項１】
テスト対象の複数のプログラムのうち、複数のテストに含まれる特定のテストの実行に応じてコンピュータにロードされたプログラムに関する情報を取得すると、取得した前記プログラムに関する情報に基づき、該プログラムのソースコードに修正が行われたか否かの判定を行い、
前記修正が行われたと判定した場合、テストの実行に伴って実行するプログラムの識別情報と該テストとを対応付けた対応情報を記憶する記憶部を参照して、前記複数のテストのうち、前記ソースコードに修正が行われたプログラムの実行を伴うテストを特定する、
処理をコンピュータに実行させることを特徴とするテスト制御プログラム。
【請求項２】
請求項１において、さらに、
前記判定を行う処理の前に、前記複数のプログラムのうちの少なくとも一つをコンピュータにロードする前記複数のテストのそれぞれが実行されるごとに、各テストの実行に応じてコンピュータにロードされたプログラムの前記識別情報と各テストとを対応付けることにより、前記対応情報を生成する、
ことを特徴とするテスト制御プログラム。
【請求項３】
請求項１において、
前記プログラムに関する情報は、前記プログラムのデータサイズであり、
前記判定を行う処理では、前記特定のテストの実行に応じてコンピュータにロードされたプログラムの前記データサイズを取得すると、取得した前記データサイズが更新されているか否かの判定を行うことにより、コンピュータにロードされた前記プログラムのソースコードに修正が行われたか否かの判定を行う、
ことを特徴とするテスト制御プログラム。
【請求項４】
請求項１において、
前記対応情報は、前記複数のテストの実行順序を示す情報を含み、さらに、
前記特定する処理の後、前記対応情報を記憶する記憶部を参照して、特定した前記テストのうち、前記特定のテストよりも実行順序が前である追加実行テストを特定し、
特定した前記追加実行テストを示す情報を出力する、
処理をコンピュータに実行させることを特徴とするテスト制御プログラム。
【請求項５】
請求項１において、
前記特定する処理では、
前記ソースコードに修正が行われたプログラムに対応するテストが前記対応情報に存在しない場合、前記複数のプログラムのうち、前記ソースコードに修正が行われたプログラムの呼び出しを行う他のプログラムを特定し、
特定した前記他のプログラムがコンピュータに対するロードを要するプログラムであるか否かの判定を行い、
前記他のプログラムがロードを要するプログラムであると判定した場合、前記対応情報を記憶する記憶部を参照して、特定した前記他のプログラムの実行を伴うテストを特定する、
ことを特徴とするテスト制御プログラム。
【請求項６】
請求項５において、
前記特定する処理では、前記他のプログラムがロードを要するプログラムでないと判定した場合、前記複数のテストのうち、実行中において前記他のプログラムが動作するテストを特定する、
ことを特徴とするテスト制御プログラム。
【請求項７】
請求項４において、さらに、
前記特定のテストの実行の開始指示を行うテストプログラムが動作する第１情報処理装置から、前記特定のテストの識別情報を受信する、
処理をコンピュータに実行させ、
前記追加実行テストを特定する処理では、特定した前記テストのうち、受信した前記識別情報に対応する前記特定のテストよりも実行順序が前である前記追加実行テストの特定を行う、
ことを特徴とするテスト制御プログラム。
【請求項８】
請求項７において、さらに、
前記受信する処理の前に、前記複数のプログラムが動作する第２情報処理装置の停止を伴う前記特定のテストの実行の開始指示を前記第１情報処理装置から受信した場合、前記第２情報処理装置の停止を行うことなく、前記特定のテストの識別情報を受信するまで待機し、
前記受信する処理の後に、前記第１及び前記第２情報処理装置と異なる第３情報処理装置から、前記第２情報処理装置が起動していることを示す情報の送信要求を受信した場合、前記第３情報処理装置に対し、前記第２情報処理装置が起動していることを示す情報に代えて、前記特定のテストの識別情報を送信する、
処理をコンピュータに実行させることを特徴とするテスト制御プログラム。
【請求項９】
テスト対象の複数のプログラムのうち、複数のテストに含まれる特定のテストの実行に応じてコンピュータにロードされたプログラムに関する情報を取得すると、取得した前記プログラムに関する情報に基づき、該プログラムのソースコードに修正が行われたか否かの判定を行う修正判定部と、
前記修正が行われたと判定した場合、テストの実行に伴って実行するプログラムの識別情報と該テストとを対応付けた対応情報を記憶する記憶部を参照して、前記複数のテストのうち、前記ソースコードに修正が行われたプログラムの実行を伴うテストを特定するテスト特定部と、を有する、
ことを特徴とする情報処理装置。
【請求項１０】
テスト対象の複数のプログラムのうち、複数のテストに含まれる特定のテストの実行に応じてコンピュータにロードされたプログラムに関する情報を取得すると、取得した前記プログラムに関する情報に基づき、該プログラムのソースコードに修正が行われたか否かの判定を行い、
前記修正が行われたと判定した場合、テストの実行に伴って実行するプログラムの識別情報と該テストとを対応付けた対応情報を記憶する記憶部を参照して、前記複数のテストのうち、前記ソースコードに修正が行われたプログラムの実行を伴うテストを特定する、
ことを特徴とするテスト制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テスト制御プログラム、情報処理装置及びテスト制御方法に関する。
【背景技術】
【０００２】
例えば、利用者にサービスを提供する事業者（以下、単に事業者とも呼ぶ）は、サービスの提供を行うための業務システム（以下、情報処理システムとも呼ぶ）を構築して稼働させる。そして、事業者は、例えば、業務システムを構成するプログラムについて修正を行った場合、修正を行ったプログラムの動作についての各種テストを行う。
【０００３】
具体的に、事業者が修正を行うプログラムには、例えば、他のプログラムを記憶装置から呼び出して実行させるプログラム（以下、親プログラムとも呼ぶ）と、親プログラムによって呼び出されるプログラム（以下、子プログラムとも呼ぶ）とが含まれる。そして、事業者は、これらのプログラムを生成した場合、親プログラムが子プログラムを正しく呼び出すことの確認や、親プログラムに呼び出された子プログラムが正しく動作することの確認等を行うテスト（以下、呼び出しテスト）を行う（例えば、特許文献１乃至３参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−０９６２０５号公報
【特許文献２】特表平１０−５０１９０７号公報
【特許文献３】特開２０１０−０６６８０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、上記のような呼び出しテストの実行は、親プログラムや子プログラムの数等によって、膨大な時間を要する場合がある。そのため、呼び出しテスト等の各テストを行うテスト者（以下、単にテスト者とも呼ぶ）は、例えば、予め用意されたテストから、必要と考えられる一部のテストを抽出して実行する場合がある。
【０００６】
しかしながら、テスト者は、例えば、プログラムの修正箇所の全てを把握していない場合、必要なテストの全てを抽出することができない場合がある。そのため、テスト者は、実行する必要があるテストの全てを実行することができない場合がある。
【０００７】
そこで、一つの側面では、本発明は、テストの実行漏れの発生を抑制することを可能とするテスト制御プログラム、情報処理装置及びテスト制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施の形態の一態様では、テスト対象の複数のプログラムのうち、複数のテストに含まれる特定のテストの実行に応じてコンピュータにロードされたプログラムに関する情報を取得すると、取得した前記プログラムに関する情報に基づき、該プログラムのソースコードに修正が行われたか否かの判定を行い、前記修正が行われたと判定した場合、テストの実行に伴って実行するプログラムの識別情報と該テストとを対応付けた対応情報を記憶する記憶部を参照して、前記複数のテストのうち、前記ソースコードに修正が行われたプログラムの実行を伴うテストを特定する、処理をコンピュータに実行させる。
【発明の効果】
【０００９】
一つの側面によれば、テストの実行漏れの発生を抑制することを可能とする。
【図面の簡単な説明】
【００１０】
【図１】図１は、情報処理システム１０の構成を示す図である。
【図２】図２は、情報処理システム１０の構成を示す図である。
【図３】図３は、情報処理システム１０の構成を示す図である。
【図４】図４は、情報処理装置１のハードウエア構成を示す図である。
【図５】図５は、情報処理装置１の機能のブロック図である。
【図６】図６は、第１の実施の形態におけるテスト制御処理の概略を説明するフローチャート図である。
【図７】図７は、第１の実施の形態におけるテスト制御処理の概略を説明する図である。
【図８】図８は、第１の実施の形態におけるテスト制御処理の概略を説明する図である。
【図９】図９は、第１の実施の形態におけるテスト制御処理の詳細を説明するフローチャート図である。
【図１０】図１０は、第１の実施の形態におけるテスト制御処理の詳細を説明するフローチャート図である。
【図１１】図１１は、第１の実施の形態におけるテスト制御処理の詳細を説明するフローチャート図である。
【図１２】図１２は、第１の実施の形態におけるテスト制御処理の詳細を説明するフローチャート図である。
【図１３】図１３は、第１の実施の形態におけるテスト制御処理の詳細を説明するフローチャート図である。
【図１４】図１４は、第１の実施の形態におけるテスト制御処理の詳細を説明するフローチャート図である。
【図１５】図１５は、第１の実施の形態におけるテスト制御処理の詳細を説明するフローチャート図である。
【図１６】図１６は、ＴＰアドレス情報１３１の具体例を説明する図である。
【図１７】図１７は、対応情報１３２の具体例を説明する図である。
【図１８】図１８は、データサイズ情報１３３の具体例を説明する図である。
【図１９】図１９は、実行情報１３５の具体例を説明する図である。
【図２０】図２０は、実行情報１３５の具体例を説明する図である。
【図２１】図２１は、Ｓ５１からＳ５３の処理の具体例を説明する図である。
【図２２】図２２は、Ｓ５１からＳ５３の処理の具体例を説明する図である。
【図２３】図２３は、Ｓ５１からＳ５３の処理の具体例を説明する図である。
【図２４】図２４は、Ｓ６２の処理で特定された親プログラムが呼び出しを要するプログラムである場合におけるＳ６１からＳ６６の処理の具体例を説明する図である。
【図２５】図２５は、Ｓ６２の処理で特定された親プログラムが呼び出しを要するプログラムである場合におけるＳ６１からＳ６６の処理の具体例を説明する図である。
【図２６】図２６は、Ｓ６２の処理で特定された親プログラムが呼び出しを要するプログラムである場合におけるＳ６１からＳ６６の処理の具体例を説明する図である。
【図２７】図２７は、Ｓ７１及びＳ７２の処理の具体例を説明するための図である。
【図２８】図２８は、Ｓ７１及びＳ７２の処理の具体例を説明するための図である。
【図２９】図２９は、第２の実施の形態におけるテスト制御処理の概略を説明する図である。
【図３０】図３０は、第２の実施の形態におけるテスト制御処理の概略を説明する図である。
【図３１】図３１は、第２の実施の形態におけるテスト制御処理の概略を説明する図である。
【図３２】図３２は、第２の実施の形態におけるテスト制御処理の概略を説明する図である。
【図３３】図３３は、第２の実施の形態におけるテスト制御処理の概略を説明する図である。
【図３４】図３４は、第１情報処理装置１の機能のブロック図である。
【図３５】図３５は、第２の実施の形態におけるテスト制御処理の詳細を説明するフローチャート図である。
【図３６】図３６は、第２の実施の形態におけるテスト制御処理の詳細を説明するフローチャート図である。
【図３７】図３７は、第２の実施の形態におけるテスト制御処理の詳細を説明するフローチャート図である。
【図３８】図３８は、第２の実施の形態におけるテスト制御処理の詳細を説明するフローチャート図である。
【発明を実施するための形態】
【００１１】
［情報処理システムの構成］
図１から図３は、情報処理システム１０の構成を示す図である。図１等に示す情報処理システム１０は、情報処理装置１と、情報処理装置１の外部に設けられたディスク装置１ａとを有する。
【００１２】
情報処理装置１のＣＰＵ（図示しない）は、各種プログラムと協働することによって、図１に示すように、呼び出しテストの開始や終了等の制御を行うテスト制御部１１と、呼び出しテストのテスト対象のうちの一部である第１テスト対象部１３（以下、単にテスト対象部１３とも呼ぶ）と、ディスク装置１ａに対してデータの書き込みやデータの読み込み等を行うディスクドライバ１５として機能する。なお、図１から図３に示す例において、第１テスト対象部１３は、情報処理装置１のＣＰＵが情報処理装置１において常時動作する親プログラムと協働することによって動作する。
【００１３】
また、ディスク装置１ａには、図１に示すように、テスト制御部１１によって呼び出されるテストプログラムＰＧ０１と、第１テスト対象部１３によって呼び出されるテスト対象プログラムＰＧ１１とが記憶されている。
【００１４】
［情報処理システムにおける呼び出しテストの具体例］
テスト制御部１１は、例えば、図２に示すように、テスト者が情報処理装置１に対して呼び出しテストを行う旨の入力を行った場合、ディスクドライバ１５に対して、入力された内容に対応するテストプログラムＰＧ０１の呼び出し指示を行う（図２の（１））。そして、ディスクドライバ１５は、図２に示すように、テスト制御部１１からテストプログラムＰＧ０１の呼び出し指示があったことに応じて、その呼び出し指示に対応するテストプログラムＰＧ０１をディスク装置１ａから呼び出す（図２の（２））。その後、情報処理装置１のＣＰＵは、図２に示すように、ディスクドライバ１５が呼び出したテストプログラムＰＧ０１と協働することによって、第１テスト対象部１３に対して呼び出しテストの開始を指示するテスト実行部１２としての動作を開始する（図２の（３））。
【００１５】
続いて、テスト実行部１２は、図３に示すように、例えば、予め定められたタイミングになった場合、第１テスト対象部１３に対して、呼び出しテストに対応する処理の実行開始を指示する（図３の（４））。そして、第１テスト対象部１３は、図３に示すように、テスト実行部１２から呼び出しテストに対応する処理の実行開始の指示を受け付けたことに応じて、受け付けた指示に対応する処理の実行を開始する。
【００１６】
さらに、第１テスト対象部１３は、例えば、図３に示すように、処理の実行中において、子プログラムを動作させる必要性が生じた場合、ディスクドライバ１５に対して、動作させる必要性が生じたテスト対象プログラムＰＧ１１の呼び出し指示を行う（図３の（５））。そして、ディスクドライバ１５は、図３に示すように、第１テスト対象部１３からテスト対象プログラムＰＧ１１の呼び出し指示があったことに応じて、その呼び出し指示に対応するテスト対象プログラムＰＧ１１をディスク装置１ａから呼び出す（図３の（６））。その後、情報処理装置１のＣＰＵは、図３に示すように、ディスクドライバ１５が呼び出したテスト対象プログラムＰＧ１１と協働することによって、第１テスト対象部１３から指示された処理を実行する第２テスト対象部１４（以下、単にテスト対象部１４とも呼ぶ）としての動作を開始する（図３の（７））。
【００１７】
これにより、情報処理装置１は、処理を実行中の親プログラムが子プログラムを正しく呼び出すことの確認や、親プログラムに呼び出された子プログラムが正しく処理を実行することの確認を行うことが可能になる。なお、情報処理装置１のＣＰＵは、ディスク装置１ａから呼び出されたテスト対象プログラムＰＧ１１と協働することによって、第１テスト対象部１３としての動作を行うものであってもよい。
【００１８】
ここで、上記のような呼び出しテストの実行は、親プログラムや子プログラムの数等によって、膨大な時間を要する場合がある。そのため、テスト者は、例えば、予め用意されたテストから、必要と考えられる一部のテストを抽出して実行する場合がある。
【００１９】
しかしながら、テスト者は、例えば、プログラムの修正箇所の全てを把握していない場合、必要なテストの全てを抽出することができない場合がある。そのため、テスト者は、この場合、実行する必要があるテストの全てを実行することができない。
【００２０】
そこで、本実施の形態における情報処理装置１のディスクドライバ１５は、テスト対象の複数のプログラム（親プログラムまたは子プログラム）のうち、複数のテストに含まれる特定のテストの実行に応じてコンピュータ（例えば、情報処理装置１）に呼び出されたプログラムに関する情報を取得すると、取得したプログラムに関する情報に基づき、そのプログラムのソースコードに修正が行われたか否かの判定を行う。そして、ディスクドライバ１５は、ソースコードに修正が行われたと判定した場合、テストの実行に伴って実行するプログラムの識別情報と、そのテストとを対応付けた対応情報を記憶する記憶部を参照して、複数のテストのうち、ソースコードに修正が行われたプログラムの実行を伴うテストを特定する。
【００２１】
すなわち、情報処理装置１は、例えば、各テストと各テストの実行に伴って呼び出されるプログラムとを対応付けた対応情報を予め記憶する。そして、情報処理装置１は、修正が行われたプログラムの存在を検知した場合、その対応情報を参照し、検知したプログラムの実行を伴う各テストを特定する。
【００２２】
これにより、情報処理装置１は、修正が行われたプログラムの実行を伴うテストを網羅的に抽出することが可能になる。そのため、テスト者は、例えば、抽出されたテストを示す情報を参照することで、修正に伴って実行する必要があるテストを漏れなく実行することが可能になる。
【００２３】
［情報処理システムのハードウエア構成］
次に、情報処理システム１０のハードウエア構成について説明する。図４は、情報処理装置１のハードウエア構成を示す図である。
【００２４】
情報処理装置１は、プロセッサであるＣＰＵ１０１と、メモリ１０２と、外部インターフェース（Ｉ／Ｏユニット）１０３と、記憶媒体１０４とを有する。各部は、バス１０５を介して互いに接続される。
【００２５】
記憶媒体１０４は、例えば、呼び出しテストにおいて実行すべきテストの特定を行う処理（以下、テスト制御処理とも呼ぶ）を行うためのプログラム１１０を記憶する。また、記憶媒体１０４は、例えば、テスト制御処理を行う際に用いられる情報を記憶する情報格納領域１３０（以下、記憶部１３０とも呼ぶ）を有する。
【００２６】
ＣＰＵ１０１は、図４に示すように、プログラム１１０の実行時に、プログラム１１０を記憶媒体１０４からメモリ１０２にロードし、プログラム１１０と協働してテスト制御処理を行う。
【００２７】
外部インターフェース１０３は、例えば、外部のディスク装置１ａや事業者（テスト者）が各種情報の入力を行う事業者端末（図示しない）等と通信を行う。
【００２８】
［情報処理システムの機能］
次に、情報処理システム１０の機能について説明する。図５は、情報処理装置１の機能のブロック図である。
【００２９】
ＣＰＵ１０１は、図５に示すように、プログラム１１０と協働することにより、ディスクドライバ１５の機能として、呼び出し検知部１１１と、情報生成部１１２と、情報取得部１１３と、修正判定部１１４と、テスト特定部１１５と、テスト出力部１１６として動作する。また、情報格納領域１３０には、図５に示すように、ＴＰアドレス情報１３１と、対応情報１３２と、データサイズ情報１３３と、実行中テスト情報１３４と、実行情報１３５と、追加実行情報１３６とが記憶されている。
【００３０】
呼び出し検知部１１１は、例えば、テスト対象の複数のテスト対象プログラムＰＧ１１のいずれかが、複数のテストに含まれる特定のテストの実行に応じて情報処理装置１に呼び出されたことを検知する。
【００３１】
情報生成部１１２は、例えば、対応情報１３２を生成する。そして、情報生成部１１２は、生成した各情報を情報格納領域１３０に記憶する。対応情報１３２は、各テストと各テストの実行に伴って実行する各テスト対象プログラムＰＧ１１の識別情報とを対応付けた情報である。
【００３２】
情報取得部１１３は、テスト対象の複数のテスト対象プログラムＰＧ１１のうち、複数のテストに含まれる特定のテストの実行に応じて情報処理装置１に呼び出されたプログラムに関する情報を取得する。プログラムに関する情報は、例えば、そのプログラムのデータサイズを示すデータサイズ情報１３３である。
【００３３】
修正判定部１１４は、情報取得部１１３が取得したプログラムに関する情報に基づき、情報取得部１１３が取得したプログラムのソースコードに修正が行われたか否かの判定を行う。
【００３４】
テスト特定部１１５は、修正判定部１１４によって修正が行われたと判定された場合、対応情報１３２を記憶する情報格納領域１３０を参照して、複数のテストのうち、修正判定部１１４がソースコードに修正が行われたと判定したプログラムの実行を伴うテストを特定する。そして、テスト特定部１１５は、特定したテストを示す情報である追加実行情報１３６を生成する。その後、テスト特定部１１５は、生成した追加実行情報１３６を情報格納領域１３０に記憶する。
【００３５】
テスト出力部１１６は、例えば、テスト特定部１１５が生成した追加実行情報１３６を事業者端末に出力する。なお、ＴＰアドレス情報１３１、実行中テスト情報１３４及び実行情報１３５の説明については後述する。
【００３６】
［第１の実施の形態］
次に、第１の実施の形態について説明する。図６は、第１の実施の形態におけるテスト制御処理の概略を説明するフローチャート図である。図７及び図８は、第１の実施の形態におけるテスト制御処理の概略を説明する図である。図７及び図８を参照しながら、図６のテスト制御処理の詳細を説明する。
【００３７】
情報処理装置１のディスクドライバ１５は、図６に示すように、ディスク装置１ａからのプログラムの呼び出しを検知するまで待機する（Ｓ１のＮＯ）。具体的に、ディスクドライバ１５は、複数のテストに含まれる特定のテストの実行に応じて、テスト対象の複数のテスト対象プログラムＰＧ１１に含まれるプログラムの呼び出し（以下、ロードとも呼ぶ）を検知するまで待機する。
【００３８】
そして、プログラムの呼び出しを検知した場合（Ｓ１のＹＥＳ）、ディスクドライバ１５は、Ｓ１の処理で呼び出しを検知されたプログラムに関する情報を取得する（Ｓ２）。具体的に、情報処理装置１は、この場合、例えば、呼び出されたプログラムのデータサイズ情報１３３を取得する。
【００３９】
続いて、情報処理装置１は、図７に示すように、Ｓ２の処理で取得したプログラムに関する情報に基づき、そのプログラムのソースコードに修正が行われたか否かの判定を行う（Ｓ３）。具体的に、情報処理装置１は、例えば、Ｓ２の処理で取得したデータサイズ情報１３３が更新されているか否かを判定することにより、プログラムのソースコードに修正が行われたか否かの判定を行う。
【００４０】
その結果、修正が行われたと判定した場合（Ｓ４のＹＥＳ）、情報処理装置１は、図８に示すように、テストの実行に伴って実行するプログラムの識別情報とそのテストとを対応付けた対応情報１３２を記憶する記憶部１３０を参照して、複数のテストのうち、ソースコードに修正が行われたプログラムの実行を伴うテストを特定する（Ｓ５）。
【００４１】
すなわち、情報処理装置１は、例えば、各テストと各テストの実行に伴って呼び出されるプログラムとを対応付けた対応情報１３２を予め記憶する。そして、情報処理装置１は、修正が行われたプログラムの存在を検出した場合、その対応情報１３２を参照し、検出したプログラムの実行を伴う各テストを特定する。
【００４２】
これにより、情報処理装置１は、修正が行われたプログラムの実行を伴うテストを網羅的に抽出することが可能になる。そのため、テスト者は、例えば、抽出されたテストを示す情報を参照することで、修正に伴って実行する必要があるテストを漏れなく実行することが可能になる。
【００４３】
［第１の実施の形態の詳細］
次に、第１の実施の形態の詳細について説明する。図９から図１５は、第１の実施の形態におけるテスト制御処理の詳細を説明するフローチャート図である。また、図１６から図２８は、第１の実施の形態におけるテスト制御処理の詳細を説明する図である。図１６から図２８を参照しながら、図９から図１５のテスト制御処理の詳細を説明する。
【００４４】
［対応情報生成処理］
初めに、テスト制御処理の事前処理のうち、対応情報１３２の生成を行う処理（以下、対応情報生成処理）の具体例について説明を行う。図９及び図１０は、対応情報生成処理を説明するフローチャート図である。なお、対応情報生成処理は、例えば、テスト者によってテストプログラムＰＧ０１の修正等が行われるごとに、再生成されるものであってよい。
【００４５】
ディスクドライバ１５の呼び出し検知部１１１は、図９に示すように、ディスク装置１ａからのプログラムの呼び出しを検知するまで待機する（Ｓ１１のＮＯ）。
【００４６】
そして、プログラムの呼び出しを検知した場合（Ｓ１１のＹＥＳ）、ディスクドライバ１５の情報生成部１１２は、情報格納領域１３０に記憶されたＴＰアドレス情報１３１を参照し、Ｓ１１の処理で呼び出しを検知したプログラムが格納されていたアドレスが含まれているか否かを判定する（Ｓ１２）。ＴＰアドレス情報１３１は、各テストのテスト項目名のそれぞれと、各テストを実行する際に呼び出されるテストプログラムＰＧ０１が記憶されているディスク装置１ａ内のアドレスとを対応付けた情報である。すなわち、情報生成部１１２は、Ｓ１１の処理で呼び出しを検知したプログラムが、テストプログラムＰＧ０１及びテスト対象プログラムＰＧ１１のうちのどちらであるかを判定する。
【００４７】
なお、テスト者は、各テストを予め実行し、各テストを実行する際に呼び出されるテストプログラムＰＧ０１が記憶されているディスク装置１ａ内のアドレスを特定することによって、ＴＰアドレス情報１３１の生成を予め行うものであってよい。以下、ＴＰアドレス情報１３１の具体例について説明を行う。
【００４８】
［ＴＰアドレス情報の具体例］
図１６は、ＴＰアドレス情報１３１の具体例を説明する図である。図１６に示すＴＰアドレス情報１３１は、ＴＰアドレス情報１３１に含まれる各情報を識別する「項番」と、各テストのテスト項目名が設定される「テスト項目名」と、各テストに対応するテストプログラムＰＧ０１のそれぞれが設定されたアドレスである「格納アドレス」とを項目として有する。
【００４９】
具体的に、図１６に示す例において、「項番」が「１」である情報には、「テスト項目名」として「ＴＰ１」が設定されており、「格納アドレス」として「０ｘ０００１１１１１」が設定されている。また、図１６に示す例において、「項番」が「２」である情報には、「テスト項目名」として「ＴＰ２」が設定されており、「格納アドレス」として「０ｘ０００２２２２２」が設定されている。図１６に含まれる他の情報については説明を省略する。
【００５０】
図９に戻り、Ｓ１２の処理においてアドレスが含まれていると判定した場合（Ｓ１３のＹＥＳ）、情報生成部１１２は、情報格納領域１３０に記憶されたＴＰアドレス情報１３１を参照し、Ｓ１２の処理で含まれていたアドレスに対応するテスト項目名を特定し、特定したテスト項目名を実行中テスト情報１３４として情報格納領域１３０に記憶する（Ｓ１４）。すなわち、情報生成部１１２は、Ｓ１２の処理においてアドレスが含まれていると判定した場合、これから実行されるテストのテスト項目名を特定し、実行中テスト情報１３４として記憶する。
【００５１】
その後、呼び出し検知部１１１は、Ｓ１１以降の処理を再度行う。すなわち、呼び出し検知部１１１は、ディスク装置１ａから呼び出したテストプログラムＰＧ０１によって動作を開始したテスト実行部１２が、ディスク装置１ａからテスト対象プログラムＰＧ１１の呼び出しを行うまで待機する。
【００５２】
一方、Ｓ１２の処理においてアドレスが含まれていないと判定した場合、すなわち、Ｓ１１の処理で呼び出しを検知したプログラムがテスト対象プログラムＰＧ１１である（テスト対象プログラムＰＧ１１である可能性がある）と判定した場合（Ｓ１３のＮＯ）、情報生成部１１２は、図１０に示すように、例えば、情報処理装置１がＳ１１の処理で呼び出しを検知したプログラムの実行権を有しているか否かを判定する（Ｓ２１）。具体的に、情報生成部１１２は、例えば、情報処理装置１が実行可能なプログラムを示す実行可能プログラム情報（図示しない）を参照し、Ｓ１１の処理で呼び出しを検知したプログラムの実行権を有しているか否かの判定を行う。なお、実行可能プログラム情報は、例えば、事業者によって予め情報格納領域１３０に記憶されるものであってよい。
【００５３】
その結果、実行権を有していると判定した場合（Ｓ２１のＹＥＳ）、情報生成部１１２は、情報格納領域１３０に記憶された実行中テスト情報１３４が示すテスト項目名と、Ｓ１１の処理で呼び出しを検知したプログラム（テスト対象プログラムＰＧ１１）のプログラム名とを対応付けた情報を、対応情報１３２の少なくとも一部として情報格納領域１３０に記憶する（Ｓ２２）。以下、対応情報１３２の具体例について説明を行う。
【００５４】
［対応情報の具体例］
図１７は、対応情報１３２の具体例を説明する図である。図１７に示す対応情報１３２は、対応情報１３２に含まれる各情報を識別する「項番」と、各テストに対応するテスト項目名が設定される「テスト項目名」と、各テストを実行する際に呼び出されるテストプログラムＰＧ０１のプログラム名が設定される「テスト対象プログラム名（１）」、「テスト対象プログラム名（２）」及び「テスト対象プログラム名（３）」とを項目として有する。
【００５５】
具体的に、図１７に示す例において、「項番」が「１」である情報には、「テスト項目名」として「ＴＰ１」が設定されており、「テスト対象プログラム名（１）」として「ｍｗｐｒｖ０」が設定されており、「テスト対象プログラム名（２）」として「ｍｗｔｒａｃｅ」が設定されており、「テスト対象プログラム名（３）」として「ｍａｉｎｐｒｖ１」が設定されている。
【００５６】
また、図１７に示す例において、「項番」が「２」である情報には、「テスト項目名」として「ＴＰ２」が設定されており、「テスト対象プログラム名（１）」として「ｍｗｒｅｐ」が設定されている。なお、図１７に示す例において、「項番」が「２」である情報における「テスト対象プログラム名（２）」及び「テスト対象プログラム名（３）」には、情報が設定されていない。図１７に含まれる他の情報の説明については省略する。
【００５７】
図１０に戻り、情報処理装置１の情報取得部１１３は、Ｓ１１の処理で呼び出しを検知したプログラムのデータサイズを取得する（Ｓ２３）。そして、情報取得部１１３は、Ｓ２３で取得したデータサイズと、Ｓ１１の処理で呼び出しを検知したプログラムのプログラム名とを対応付けた情報を、データサイズ情報１３３の少なくとも一部として情報格納領域１３０に記憶する（Ｓ２４）。以下、データサイズ情報１３３の具体例について説明を行う。
【００５８】
［データサイズ情報の具体例］
図１８は、データサイズ情報１３３の具体例を説明する図である。図１８に示すデータサイズ情報１３３は、データサイズ情報１３３に含まれる各情報を識別する「項番」と、各テストを実行する際に呼び出されるテストプログラムＰＧ０１のプログラム名が設定される「テスト対象プログラム名」とを項目として有している。また、図１８に示すデータサイズ情報１３３は、「テスト対象プログラム名」にプログラム名が設定されたプログラムのデータサイズ（Ｓ２３の処理で取得されたデータサイズ）が設定される「データサイズ」を項目として有している。
【００５９】
具体的に、図１８に示すデータサイズ情報１３３において、「項番」が「１」である情報には、「テスト対象プログラム名」として「ｍｗｐｒｖ０」が設定され、「データサイズ」として「３０２６６６２（バイト）」が設定されている。
【００６０】
また、図１８に示すデータサイズ情報１３３において、「項番」が「２」である情報には、「テスト対象プログラム名」として「ｍｗｔｒａｃｅ」が設定され、「データサイズ」として「１１１２２２２（バイト）」が設定されている。図１８に含まれる他の情報の説明については省略する。
【００６１】
図１０に戻り、情報生成部１１２は、Ｓ１１の処理においてディスク装置１ａに記憶されたテストプログラムＰＧ０１の全ての呼び出しを検知したか否かについての判定を行う（Ｓ２５）。また、情報生成部１１２は、Ｓ２１の処理において実行権を有していないと判定した場合も同様に（Ｓ２１のＮＯ）、Ｓ２５の処理を行う。
【００６２】
そして、テストプログラムＰＧ０１の全てに対応するテストが終了した場合（Ｓ２５のＹＥＳ）、情報処理装置１は、対応情報生成処理を終了する。具体的に、情報処理装置１は、全てのテストプログラムＰＧ０１に対応するテストが終了したことを示す情報をテスト者が入力したことに応じて、対応情報生成処理を終了するものであってよい。一方、テストプログラムＰＧ０１の全てに対応するテストが終了していない場合（Ｓ２５のＮＯ）、呼び出し検知部１１１は、Ｓ１１以降の処理を再度行う。
【００６３】
すなわち、情報生成部１１２は、例えば、ディスク装置１ａに記憶されたテストプログラムＰＧ０１のそれぞれに対応する全てのテストに関する情報が生成されるまで、対応情報１３２の生成を繰り返し行う。
【００６４】
これにより、情報処理装置１は、後述するように、情報格納領域１３０に記憶された対応情報１３２を参照することで、テスト制御処理を行うことが可能になる。
【００６５】
［テスト制御処理の詳細］
次に、テスト制御処理の詳細について説明を行う。図１１から図１５は、テスト制御処理の詳細を説明するフローチャート図である。
【００６６】
呼び出し検知部１１１は、図１１に示すように、ディスク装置１ａからのプログラムの呼び出しを検知するまで待機する（Ｓ３１のＮＯ）。
【００６７】
そして、プログラムの呼び出しを検知した場合（Ｓ３１のＹＥＳ）、修正判定部１１４は、情報格納領域１３０に記憶されたＴＰアドレス情報１３１を参照し、Ｓ１１の処理で呼び出しを検知したプログラムが格納されていたアドレスが含まれているか否かを判定する（Ｓ３２）。
【００６８】
その結果、Ｓ３２の処理においてアドレスが含まれていると判定した場合、すなわち、Ｓ３１の処理で呼び出しを検知したプログラムがテストプログラムＰＧ０１であると判定した場合（Ｓ３３のＹＥＳ）、修正判定部１１４は、情報格納領域１３０に記憶されたＴＰアドレス情報１３１を参照し、Ｓ３２の処理で含まれていたアドレスに対応するテスト項目名を特定し、特定したテスト項目名を実行中テスト情報１３４として情報格納領域１３０に記憶する（Ｓ３４）。その後、呼び出し検知部１１１は、Ｓ３１以降の処理を再度行う。
【００６９】
一方、Ｓ３２の処理においてアドレスが含まれていないと判定した場合、すなわち、Ｓ３１の処理で呼び出しを検知したプログラムがテスト対象プログラムＰＧ１１である（テスト対象プログラムＰＧ１１である可能性がある）と判定した場合（Ｓ３３のＮＯ）、修正判定部１１４は、図１２に示すように、例えば、情報処理装置１がＳ３１の処理で呼び出しを検知したプログラムの実行権を有しているか否かを判定する（Ｓ４１）。
【００７０】
その結果、実行権を有していると判定した場合（Ｓ４１のＹＥＳ）、修正判定部１１４は、情報格納領域１３０に記憶された実行中テスト情報１３４が示すテスト項目名と、Ｓ３１の処理で呼び出しを検知したプログラムのプログラム名とを対応付けた情報を、実行情報１３５の少なくとも一部として情報格納領域１３０に記憶する（Ｓ４２）。実行情報１３５は、実行された各テストのテスト項目名と、そのテストの実行に伴って実行されたテスト対象プログラムＰＧ１１のプログラム名とを対応付けた情報である。以下、実行情報１３５の具体例について説明を行う。
【００７１】
［実行情報の具体例］
図１９及び図２０は、実行情報１３５の具体例を説明する図である。図１９等に示す実行情報１３５は、実行情報１３５に含まれる各情報を識別する「項番」と、各テストを実行する際に呼び出されるテストプログラムＰＧ０１のプログラム名が設定される「テスト対象プログラム名」と、各テストのテスト項目名が設定される「テスト項目名」とを項目として有する。
【００７２】
なお、図１９等に示す実行情報１３５における「テスト対象プログラム名」には、図１７で説明した対応情報１３２における「テスト対象プログラム名（１）」、「テスト対象プログラム名（２）」及び「テスト対象プログラム名（３）」に１以上設定された情報（テスト対象プログラムＰＧ１１のプログラム名）が予め設定されている。
【００７３】
具体的に、例えば、情報格納領域１３０に記憶された実行中テスト情報１３４が示すテスト項目名が「ＴＰ１」であって、Ｓ３１の処理で呼び出しを検知したプログラムのプログラム名が「ｍｖｐｒｖ０」である場合、情報生成部１１２は、図１９に示すように、「項番」が「１」における「テスト対象プログラム名」に「ｍｖｐｒｖ０」を設定し、「テスト項目名」に「ＴＰ１」を設定する。なお、図１９に示す実行情報１３５において、「項番」が「２」から「７」である情報の「テスト項目名」には、情報が設定されていないことを示す「−」が設定されている。
【００７４】
その後、例えば、情報格納領域１３０に記憶された実行中テスト情報１３４が示すテスト項目名が「ＴＰ１」であって、Ｓ３１の処理で呼び出しを検知したプログラムのプログラム名が「ｍｗｔｒａｃｅ」である場合、情報生成部１１２は、図２０に示すように、「項番」が「２」における「テスト対象プログラム名」に「ｍｗｔｒａｃｅ」を設定し、「テスト項目名」に「ＴＰ１」を設定する。図１９及び図２０に含まれる他の情報の説明については省略する。
【００７５】
図１２に戻り、情報取得部１１３は、Ｓ３１の処理で呼び出しを検知したプログラムのデータサイズを取得する（Ｓ４３）。そして、情報生成部１１２は、Ｓ３３で取得したデータサイズと、Ｓ３１の処理で呼び出しを検知したプログラムのプログラム名とを対応付けた情報を、データサイズ情報１３３の少なくとも一部として情報格納領域１３０に記憶する（Ｓ４４）。
【００７６】
続いて、修正判定部１１４は、Ｓ４４の処理において新たなプログラムに対応する情報の記憶が行われたか否かを判定する（Ｓ４５）。具体的に、修正判定部１１４は、例えば、Ｓ３１の処理で呼び出しを検知したプログラムのプログラム名が、情報格納領域１３０に記憶されたデータサイズ情報１３３の「テスト対象プログラム名」に設定されていなかったプログラム名であったか否かを判定することにより、新たなプログラムに対応する情報を記憶したか否かの判定を行う。すなわち、修正判定部１１４は、Ｓ３１の処理で呼び出しを検知したテスト対象プログラムＰＧ１１が、対応情報生成処理において呼び出しを検知したテスト対象プログラムＰＧ１１に含まれるか否かの判定を行う。
【００７７】
そして、Ｓ４４の処理において新たなプログラムに対応する情報の記憶が行われていないと判定した場合（Ｓ４５のＮＯ）、修正判定部１１４は、Ｓ４４の処理においてデータサイズの更新が行われたか否かの判定を行う（Ｓ４６）。
【００７８】
その結果、データサイズの更新が行われていないと判定した場合（Ｓ４６のＮＯ）、呼び出し検知部１１１は、Ｓ３１以降の処理を再度行う。
【００７９】
一方、データサイズの更新が行われていると判定した場合（Ｓ４６のＹＥＳ）、情報処理装置１のテスト特定部１１５は、図１３に示すように、情報格納領域１３０に記憶された対応情報１３２を参照し、Ｓ３１の処理で呼び出しを検知したプログラム（テスト対象プログラムＰＧ１１）に対応するテスト項目名を特定する（Ｓ５１）。そして、テスト特定部１１５は、例えば、情報格納領域１３０に記憶された実行中テスト情報１３４を参照し、Ｓ５１の処理で特定したテスト項目名のうち、実行中テスト情報が示すテスト項目よりも実行順序が前であるテスト項目名を特定する（Ｓ５２）。その後、情報処理装置１のテスト出力部１１６は、Ｓ５２の処理で特定したテスト項目名と、Ｓ３１の処理で呼び出しを検知したプログラムのプログラム名とを対応付けた情報を、追加実行情報１３６として出力する（Ｓ５３）。
【００８０】
すなわち、Ｓ３１の処理で呼び出しを検知したテスト対象プログラムＰＧ１１のデータサイズが更新されていた場合、情報処理装置１は、そのプログラムのソースコードに修正が行われたものと判定する。そして、情報処理装置１は、Ｓ３１の処理で呼び出しを検知したプログラムの実行を伴うテストを、既に実行したテストを含めて全て行う必要があるものと判定する。そのため、情報処理装置１は、例えば、Ｓ３１の処理で呼び出しを検知したテスト対象プログラムＰＧ１１のデータサイズが更新されていた場合、情報格納領域１３０に記憶された対応情報１３２を参照し、そのプログラムの実行を伴うテストのうち、実行中のテストよりも前に行われたテストを示す追加実行情報１３６の出力を行う。
【００８１】
これにより、テスト者は、出力された追加実行情報１３６を参照することで、ソースコードに修正が行われたプログラムの実行を伴うテストを漏れなく実行することが可能になる。
【００８２】
なお、図１等で説明したテスト実行部１２が、情報格納領域１３０に記憶された対応情報１３２の「テスト項目名」にテスト項目名が設定された各テストを、「項番」に設定された情報が小さい順に行う場合、テスト特定部１１５は、情報格納領域１３０に記憶された対応情報１３２において、実行中テスト情報１３４が示すテスト項目名よりも前に設定されたテスト項目名に対応するテストを特定するものであってよい。以下、Ｓ５１からＳ５３の処理の具体例について説明を行う。
【００８３】
［Ｓ５１からＳ５３の処理の具体例］
図２１から図２３は、Ｓ５１からＳ５３の処理の具体例を説明する図である。図２１は、Ｓ４４の処理において情報格納領域１３０に記憶されたデータサイズ情報１３３の具体例を説明する図であり、図２２は、Ｓ４２の処理において情報格納領域１３０に記憶された実行情報１３５の具体例を説明する図である。また、図２３は、Ｓ５３の処理で出力された追加実行情報１３６の具体例を説明する図である。なお、以下、図２１から図２３に示す各情報が、実行中テスト情報１３４としてＴＰ７が記憶されているときに記憶または出力された情報であるものとして説明を行う。
【００８４】
具体的に、修正判定部１１４は、例えば、Ｓ４６の処理において、図２１に示すデータサイズ情報１３３を参照し、「テスト対象プログラム名」が「ｍｗｒｅｑ」である情報（「項番」が「４」である情報）の「データサイズ」が更新されていると判定する（Ｓ４６のＹＥＳ）。そして、テスト特定部１１５は、この場合、図１７で説明した対応情報１３２を参照し、「テスト対象プログラム名（１）」、「テスト対象プログラム名（２）」及び「テスト対象プログラム名（３）」のいずれかに「ｍｗｒｅｑ」が設定された情報の「テスト項目名」に設定された情報である「ＴＰ２」、「ＴＰ４」及び「ＴＰ７」を特定する（Ｓ５１）。
【００８５】
すなわち、修正判定部１１４は、この場合、プログラム名が「ｍｗｒｅｑ」であるテスト対象プログラムＰＧ１１に修正が行われたものと判定する。そして、テスト特定部１１５は、対応情報１３２に情報が含まれているテスト項目のうち、プログラム名が「ｍｗｒｅｑ」であるテスト対象プログラムＰＧ１１の実行を伴うテストを、再度実行する必要があるテストとして特定する。
【００８６】
さらに、情報格納領域１３０に記憶された実行中テスト情報１３４がＴＰ７を示しているため、テスト特定部１１５は、例えば、特定した「ＴＰ２」、「ＴＰ４」及び「ＴＰ７」のうち、実行順序が「ＴＰ７」よりも前のテスト項目名である「ＴＰ２」及び「ＴＰ４」を、追加実行情報１３６に情報を含める必要があるテスト項目名として特定する（Ｓ５２）。そして、テスト出力部１１６は、特定された「ＴＰ２」及び「ＴＰ４」が再度実行する必要があるテストのテスト項目名であることを示す情報を、追加実行情報１３６として出力する（Ｓ５３）。以下、Ｓ５３の処理において出力された追加実行情報１３６の具体例について説明を行う。
【００８７】
［追加実行情報の具体例］
図２３は、追加実行情報１３６の具体例を説明する図である。具体的に、図２３は、Ｓ５３の処理において出力された追加実行情報１３６の具体例を説明する図である。
【００８８】
図２３に示す追加実行情報１３６には、追加実行情報１３６に含まれる各情報を識別する「項番」と、テスト対象プログラムＰＧ１１のプログラム名が設定される「テスト対象プログラム名」と、テスト項目名が設定される「テスト項目名」とを項目として有している。
【００８９】
具体的に、図２３に示す追加実行情報１３６において、「項番」が「１」である情報には、「テスト対象プログラム名」として「ｍｗｒｅｑ」が設定されており、「テスト項目名」として「ＴＰ２、ＴＰ４」が設定されている。
【００９０】
なお、図２２に示す実行情報１３５において、「テスト対象プログラム名」に「ｍｗｒｅｑ」が設定された情報の「テスト項目名」には、「ＴＰ２、ＴＰ７」が設定されている。すなわち、図２３で説明した追加実行情報１３６の「テスト項目名」に設定された情報である「ＴＰ２、ＴＰ４」のうち、図２２に示す実行情報１３５に情報が含まれている「ＴＰ２」は、既に実行されたテストのテスト項目名である。一方、図２３で説明した追加実行情報１３６の「テスト項目名」に設定された情報である「ＴＰ２、ＴＰ４」のうち、図２２に示す実行情報１３５に情報が含まれていない「ＴＰ４」は、実行されなかったテスト（例えば、テスト者が実行しなくてもよいと判断したテスト）のテスト項目名である。そのため、テスト出力部１１６は、「ＴＰ２」が再度実行する必要があると判断されたテストのテスト項目名であることを示す情報と、「ＴＰ４」が新たに実行する必要があると判断されたテストのテスト項目名であることを示す情報とを含むように、追加実行情報１３６の出力を行うものであってよい。
【００９１】
図１３に戻り、Ｓ５３の処理の後、または、Ｓ４１の処理において実行権がないと判定した場合（Ｓ４１のＮＯ）、テスト特定部１１５は、テスト制御処理を終了するタイミングであるか否かの判定を行う（Ｓ５４）。具体的に、修正判定部１１４は、例えば、テスト者がテスト制御処理を終了する旨の入力を行ったか否かの判定を行うことにより、テスト制御処理を終了するタイミングであるか否かの判定を行う。なお、テスト者は、例えば、実行予定のテスト対象プログラムＰＧ０１に対応するテストの全てが終了したことに応じて、情報処理装置１に対してテスト制御処理を終了する旨の入力を行う。
【００９２】
その結果、テスト制御処理を終了するタイミングであると判定した場合（Ｓ５４のＹＥＳ）、情報処理装置１は、テスト制御処理を終了する。一方、テスト制御処理を終了するタイミングでないと判定した場合（Ｓ５４のＮＯ）、呼び出し検知部１１１は、Ｓ３１以降の処理を再度行う。
【００９３】
図１２に戻り、Ｓ４４の処理において新たなプログラムに対応する情報の記憶が行われていると判定した場合（Ｓ４５のＹＥＳ）、テスト特定部１１５は、図１４に示すように、Ｓ３１の処理で呼び出しを検知したプログラムを呼び出す親プログラムのプログラム名を特定する（Ｓ６１）。
【００９４】
そして、テスト特定部１１５は、Ｓ６１の処理で特定した親プログラムがディスク装置１ａからの呼び出しを要するプログラムであるか否か（情報処理装置１において常時動作するプログラムであるか否か）を判定する（Ｓ６２）。具体的に、テスト特定部１１５は、情報処理装置１において常時動作するプログラムを示す情報である常時動作プログラム情報（図示しない）を参照し、Ｓ６１の処理で特定した親プログラムがディスク装置１ａからの呼び出しを要するプログラムであるか否かの判定を行うものであってよい。なお、常時動作プログラム情報は、例えば、情報処理装置１において自動的に生成されるものであってよい。
【００９５】
その結果、Ｓ６１の処理で特定した親プログラムがディスク装置１ａからの呼び出しを要するプログラムであると判定した場合（Ｓ６２のＹＥＳ）、テスト特定部１１５は、情報格納領域１３０に記憶された対応情報１３２を参照し、Ｓ６１の処理で特定した親プログラムのプログラム名に対応するテスト項目名を特定する（Ｓ６３）。
【００９６】
続いて、情報生成部１１２は、情報格納領域１３０に記憶された実行中テスト情報１３４が示すテスト項目名及びＳ６３の処理で特定したテスト項目名と、Ｓ３１の処理で呼び出しを検知したプログラムのプログラム名とを対応付けた情報を、対応情報１３２の少なくとも一部として情報格納領域１３０に記憶する（Ｓ６４）。
【００９７】
そして、テスト特定部１１５は、情報格納領域１３０に記憶された実行中テスト情報１３４を参照し、Ｓ６３の処理で特定したテスト項目名のうち、実行中テスト情報１３４が示すテスト項目よりも実行順序が前であるテスト項目名を特定する（Ｓ６５）。さらに、テスト出力部１１６は、Ｓ６５の処理で特定したテスト項目名と、Ｓ６１の処理で特定した親プログラムのプログラム名とを対応付けた情報を、追加実行情報１３６として出力する（Ｓ６６）。その後、テスト特定部１１５は、Ｓ５４以降の処理を行う。
【００９８】
すなわち、Ｓ３１の処理で呼び出しを検知したプログラムが、データサイズ情報１３３等に情報が含まれていない新たなプログラムである場合、その新たなプログラムは、今まで親プログラムが行っていた処理の一部を行うために新たに生成された子プログラムであると判断することが可能である。そのため、テスト特定部１１５は、この場合、新たなプログラムの呼び出し元のプログラムである親プログラムを特定する。そして、テスト特定部１１５は、特定した親プログラムの実行を伴うテストのうち、実行中のテストよりも前に行われたテストを示す情報の出力を行う。
【００９９】
これにより、情報処理装置１は、Ｓ３１の処理で呼び出しを検知したプログラムが新たなプログラムである場合であっても、実行する必要があるテストの全てを特定することが可能になる。
【０１００】
また、情報生成部１１２は、この場合、新たなプログラムのプログラム名と、その新たなプログラムの親プログラムの実行を伴うテストとを対応付けた情報を、対応情報１３２の少なくとも一部として情報格納領域１３０に記憶する。
【０１０１】
これにより、情報処理装置１は、新たなプログラムの呼び出しが再度行われた場合、その新たなプログラムの親プログラムの実行に伴うテストを特定することなく、実行する必要があるテストの全てを特定することが可能になる。
【０１０２】
なお、対応情報１３２の内容は、例えば、テスト者によってテストプログラムＰＧ０１の修正等が行われるごとにリセットされる。そのため、新たなプログラムのプログラム名と、その新たなプログラムの親プログラムの実行を伴うテストとを対応付けた情報は、例えば、テストプログラムＰＧ０１の修正等が行われるごとにリセットされる。以下、Ｓ６１からＳ６６の処理の具体例について説明を行う。
【０１０３】
［Ｓ６１からＳ６６の処理の具体例］
図２４から図２６は、Ｓ６１の処理で特定された親プログラムが呼び出しを要するプログラムである場合におけるＳ６１からＳ６６の処理の具体例を説明する図である。図２４は、Ｓ４４の処理において情報格納領域１３０に記憶されたデータサイズ情報１３３の具体例を説明する図であり、図２５は、Ｓ６４の処理において情報格納領域１３０に記憶された対応情報１３２の具体例を説明する図である。また、図２６は、Ｓ６６の処理で出力された追加実行情報１３６の具体例を説明する図である。
【０１０４】
なお、図２５に示す対応情報１３２は、図１７で説明した対応情報１３２に対し、テスト対象プログラム名が設定される「テスト対象プログラム名（４）」と項目として有している。また、以下、図２４から図２６に示す各情報が、実行中テスト情報１３４としてＴＰ８が記憶されているときに記憶または出力された情報であるものとして説明を行う。さらに、以下、図２４から図２６に示す各情報が、図１６から図２３で説明した各情報を更新することによって生成された情報であるものとして説明を行う。
【０１０５】
具体的に、修正判定部１１４は、例えば、Ｓ４５の処理において、図２４に示すデータサイズ情報１３３を参照し、「テスト対象プログラム名」が「ｐｒｖｃｏｍ」である情報が追加されていると判定する（Ｓ４５のＹＥＳ）。そして、テスト特定部１１５は、例えば、情報処理装置１において動作中のプログラムのうち、「ｐｒｖｃｏｍ」の呼び出し元のプログラム（親プログラム）のプログラム名である「ｍｗｐｒｖ０」を特定する（Ｓ６１）。
【０１０６】
続いて、テスト特定部１１５は、例えば、図１７で説明した対応情報１３２に「ｍｗｐｒｖ０」が含まれていることから、プログラム名が「ｍｗｐｒｖ０」であるテスト対象プログラムＰＧ１１がディスク装置１ａから情報処理装置１への呼び出しを要するプログラムであると判定する(Ｓ６２のＹＥＳ)。そして、テスト特定部１１５は、例えば、図１７で説明した対応情報１３２を参照し、「テスト対象プログラム名（１）」、「テスト対象プログラム名（２）」及び「テスト対象プログラム名（３）」に「ｍｗｐｒｖ０」が設定された情報の「テスト項目名」に設定された「ＴＰ１」、「ＴＰ３」、「ＴＰ５」、「ＴＰ９」及び「ＴＰ１０」を特定する（Ｓ６３）。
【０１０７】
次に、情報生成部１１２は、図２５に示すように、Ｓ６３の処理で特定した「ＴＰ１」、「ＴＰ３」、「ＴＰ５」、「ＴＰ９」及び「ＴＰ１０」が「テスト項目名」に設定された情報における「テスト対象プログラム名（１）」から「テスト対象プログラム名（４）」のいずれかに「ｐｒｖｃｏｍ」を設定する。また、情報生成部１１２は、図２５に示すように、情報格納領域１３０に記憶された実行中テスト情報１３４が示す「ＴＰ８」が「テスト項目」に設定された情報における「テスト対象プログラム名（１）」から「テスト対象プログラム名（４）」のいずれかに「ｐｒｖｃｏｍ」を設定する（Ｓ６４）。
【０１０８】
さらに、テスト特定部１１５は、情報格納領域１３０に記憶された実行中テスト情報１３４がＴＰ８を示しているため、例えば、Ｓ６３の処理で特定した「ＴＰ１」、「ＴＰ３」、「ＴＰ５」、「ＴＰ９」及び「ＴＰ１０」のうち、実行順序が「ＴＰ８」よりも前のテスト項目名である「ＴＰ１」、「ＴＰ３」及び「ＴＰ５」を、追加実行情報１３６に情報を含める必要があるテスト項目名として特定する（Ｓ６５）。そして、テスト出力部１１６は、この場合、図２６に示すように、「ＴＰ１」、「ＴＰ３」及び「ＴＰ５」が再度実行する必要があるテストのテスト項目名であることを示す情報（「項番」が「２」である情報）を、追加実行情報１３６として出力する（Ｓ６６）。
【０１０９】
図１４に戻り、Ｓ６１の処理で特定した親プログラムがディスク装置１ａからの呼び出しを要するプログラムでないと判定した場合（Ｓ６２のＹＥＳ）、テスト特定部１１５は、図１５に示すように、実行済のテストのうち、Ｓ６１の処理で特定した親プログラムが各テストの実行中に動作したテストに対応するテスト項目名を特定する（Ｓ７１）。そして、情報生成部１１２は、情報格納領域１３０に記憶された実行中テスト情報１３４が示すテスト項目名及びＳ７１の処理で特定したテスト項目名と、Ｓ３１の処理で呼び出しを検知したプログラムのプログラム名とを対応付けた情報を、対応情報の少なくとも一部として情報格納領域に記憶する（Ｓ７２）。
【０１１０】
その後、テスト出力部１１６は、Ｓ７１の処理で特定したテスト項目名と、Ｓ３１の処理で呼び出しを検知したプログラムのプログラム名とを対応付けた追加実行情報１３６を出力する（Ｓ７３）。その後、テスト特定部１１５は、Ｓ５４以降の処理を行う。
【０１１１】
すなわち、Ｓ６２の処理で特定した親プログラムがディスク装置１ａから呼び出されるプログラムでない場合、テスト特定部１１５は、ディスク装置１ａから呼び出されるプログラムの検知を行うことによって、その親プログラムの実行を伴うテストを特定することができない。そのため、テスト出力部１１６は、この場合、Ｓ７１の処理において、各テストの実行中において親プログラムが動作したか否かを示す情報（以下、親プログラム動作情報とも呼ぶ）を参照し、各テストの実行中において親プログラムが動作したテストに対応するテスト項目名を特定する。
【０１１２】
これにより、情報処理装置１は、Ｓ３１の処理で呼び出しを検知したプログラムが新たなプログラムである場合であっても、実行する必要があるテストの全てを特定することが可能になる。
【０１１３】
また、情報生成部１１２は、この場合、新たなプログラムのプログラム名と、その新たなプログラムの親プログラムの実行を伴うテストとを対応付けた情報を、対応情報１３２の少なくとも一部として情報格納領域１３０に記憶する。
【０１１４】
これにより、情報処理装置１は、新たなプログラムの呼び出しが再度行われた場合、その新たなプログラムの親プログラムの実行に伴うテストを特定することなく、実行する必要があるテストの全てを特定することが可能になる。
【０１１５】
なお、情報生成部１１２は、例えば、各テスト項目名が実行中テスト情報１３４として情報格納領域１３０に記憶されている間に、Ｓ６１の処理で特定した親プログラムが動作したか否かを監視することによって、親プログラム動作情報を生成するものであってよい。そして、テスト出力部１１６は、情報生成部１１２が記憶した親プログラム動作情報を参照することにより、Ｓ７１の処理を行うものであってよい。以下、Ｓ７１及びＳ７２の処理の具体例について説明を行う。
【０１１６】
［Ｓ７１及びＳ７２の処理の具体例］
図２７及び図２８は、Ｓ７１及びＳ７２の処理の具体例を説明するための図である。図２７は、Ｓ７２の処理において情報格納領域１３０に記憶された対応情報１３２の具体例を説明する図であり、図２８は、Ｓ７３の処理で出力された追加実行情報１３６の具体例を説明する図である。
【０１１７】
なお、図２７に示す対応情報１３２は、図２５で説明した対応情報１３２と同様に、テスト対象プログラム名が設定される「テスト対象プログラム名（４）」と項目として有している。また、以下、図２７及び図２８に示す各情報が、実行中テスト情報１３４としてＴＰ８が記憶されているときに記憶または出力された情報であるものとして説明を行う。さらに、以下、図２７及び図２８に示す各情報が、図１６から図２３で説明した各情報を更新することによって生成された情報であるものとして説明を行う。
【０１１８】
具体的に、修正判定部１１４は、例えば、Ｓ４５の処理において、図２４に示すデータサイズ情報１３３を参照し、「テスト対象プログラム名」が「ｐｒｖｃｏｍ」である情報が追加されていると判定する（Ｓ４５のＹＥＳ）。そして、テスト特定部１１５は、例えば、情報処理装置１において動作中のプログラムのうち、「ｐｒｖｃｏｍ」の呼び出し元のプログラム（親プログラム）のプログラム名である「ｐｒｖｍｇｒ」を特定する（Ｓ６１）。
【０１１９】
続いて、テスト特定部１１５は、例えば、図１７で説明した対応情報１３２に「ｐｒｖｍｇｒ」が含まれていないことから、プログラム名が「ｐｒｖｍｇｒ」であるテスト対象プログラムＰＧ１１が情報処理装置１において常時動作するプログラム（ディスク装置１ａからの呼び出しが行われないプログラム）であると判定する(Ｓ６２のＮＯ)。そして、テスト特定部１１５は、例えば、親プログラム動作情報（図示しない）を参照し、プログラム名が「ｐｒｖｍｇｒ」であるテスト対象プログラムＰＧ１１が動作したテストに対応するテスト項目名として「ＴＰ１」及び「ＴＰ４」を特定する（Ｓ７１）。
【０１２０】
次に、情報生成部１１２は、図２７に示すように、Ｓ７１の処理で特定した「ＴＰ１」及び「ＴＰ４」が「テスト項目名」に設定された情報における「テスト対象プログラム名（１）」から「テスト対象プログラム名（４）」のいずれかに「ｐｒｖｃｏｍ」を設定する。また、情報生成部１１２は、図２７に示すように、情報格納領域１３０に記憶された実行中テスト情報１３４が示す「ＴＰ８」が「テスト項目」に設定された情報における「テスト対象プログラム名（１）」から「テスト対象プログラム名（４）」のいずれかに「ｐｒｖｃｏｍ」を設定する（Ｓ７２）。そして、テスト出力部１１６は、この場合、図２８に示すように、Ｓ７１の処理で特定した「ＴＰ１」及び「ＴＰ４」が再度実行する必要があるテストのテスト項目名であることを示す情報（「項番」が「２」である情報）を、追加実行情報１３６として出力する（Ｓ７３）。
【０１２１】
このように、本実施の形態における情報処理装置１のディスクドライバ１５は、テスト対象の複数のプログラム（親プログラムまたは子プログラム）のうち、複数のテストに含まれる特定のテストの実行に応じて情報処理装置１に呼び出されたプログラムに関する情報を取得すると、取得したプログラムに関する情報に基づき、そのプログラムのソースコードに修正が行われたか否かの判定を行う。そして、ディスクドライバ１５は、ソースコードに修正が行われたと判定した場合、テストの実行に伴って実行するプログラムの識別情報と、そのテストとを対応付けた対応情報１３２を記憶する情報格納領域１３０を参照して、複数のテストのうち、ソースコードに修正が行われたプログラムの実行を伴うテストを特定する。
【０１２２】
すなわち、情報処理装置１は、例えば、各テストと各テストの実行に伴ってロードされるプログラムとを対応付けた対応情報１３２を予め記憶する。そして、情報処理装置１は、修正が行われたプログラムの存在を検出した場合、その対応情報１３２を参照し、検出したプログラムの実行を伴う各テストを特定する。
【０１２３】
これにより、情報処理装置１は、修正が行われたプログラムの実行を伴うテストを網羅的に抽出することが可能になる。そのため、テスト者は、例えば、抽出されたテストを示す情報を参照することで、修正に伴って実行する必要があるテストを漏れなく実行することが可能になる。
【０１２４】
［第２の実施の形態］
次に、第２の実施の形態におけるテスト制御処理について説明する。第２の実施の形態におけるテスト制御処理では、第１の実施の形態における場合と異なり、第１の実施の形態で説明した情報処理装置１（以下、第１情報処理装置１とも呼ぶ）と、第２情報処理装置２と、第３情報処理装置３とが連携して実行するテストの制御を行う。
【０１２５】
［第２の実施の形態におけるテスト制御処理の概略］
初めに、第２の実施の形態におけるテスト制御処理の概略について説明を行う。図２９から図３３は、第２の実施の形態におけるテスト制御処理の概略を説明する図である。
【０１２６】
図２９に示す情報処理システム１０において、第１情報処理装置１は、第１の実施の形態における場合と同様に、テスト制御部１１と、テスト実行部１２と、第１テスト対象部１３と、第２テスト対象部１４と、ディスクドライバ１５とを有する。そして、第１情報処理装置１は、第１の実施の形態における場合と異なり、ネットワークドライバ１６（以下、ＮＷドライバ１６とも呼ぶ）を有する。さらに、第１情報処理装置１は、第１の実施の形態における場合と同様に、ディスク装置１ａからテストプログラムＰＧ０１及びテスト対象プログラムＰＧ１１の呼び出しを行う。なお、図２９に示す例では、テスト制御部１１、テスト実行部１２、テストプログラムＰＧ０１及びテスト対象プログラムＰＧ１１の表記を省略する。
【０１２７】
また、図２９に示す情報処理システム１０において、第２情報処理装置２は、第１情報処理装置１と同様に、テスト制御部２１と、テスト実行部２２と、第１テスト対象部２３と、第２テスト対象部２４と、ディスクドライバ２５と、ネットワークドライバ２６（以下、ＮＷドライバ２６とも呼ぶ）とを有する。そして、第２情報処理装置２は、第１情報処理装置１と同様に、ディスク装置２ａからテストプログラムＰＧ０２及びテスト対象プログラムＰＧ１２の呼び出しを行う。なお、図２９に示す例では、テスト制御部２１、テスト実行部２２、テストプログラムＰＧ０２及びテスト対象プログラムＰＧ１２の表記を省略する。
【０１２８】
さらに、図２９に示す情報処理システム１０において、第３情報処理装置３は、第１情報処理装置１と同様に、テスト制御部３１と、テスト実行部３２と、第１テスト対象部３３と、第２テスト対象部３４と、ディスクドライバ３５と、ネットワークドライバ３６（以下、ＮＷドライバ３６とも呼ぶ）とを有する。そして、第３情報処理装置３は、第１情報処理装置１と同様に、ディスク装置３ａからテストプログラムＰＧ０３及びテスト対象プログラムＰＧ１３の呼び出しを行う。なお、図２９に示す例では、テスト制御部３１、テスト実行部３２、テストプログラムＰＧ０３及びテスト対象プログラムＰＧ１３の表記を省略する。
【０１２９】
そして、第１情報処理装置１のディスクドライバ１５がテスト項目名を特定した場合（図１１のＳ３４）、ディスクドライバ１５は、図３０に示すように、特定したテスト項目名を実行中テスト情報１３４として情報格納領域１３０に記憶するとともに、特定したテスト項目名の第２情報処理装置２に対する送信をネットワークドライバ１６に指示する。
【０１３０】
さらに、第２情報処理装置２のネットワークドライバ２６は、図３０に示すように、第１情報処理装置１から送信されたテスト項目名を受信した場合、受信したテスト項目名を第２情報処理装置２の情報格納領域に記憶するとともに、受信したテスト項目名を第３情報処理装置３に対する送信を行う。
【０１３１】
その後、第３情報処理装置３のネットワークドライバ３６は、図３０に示すように、第２情報処理装置２から送信されたテスト項目名を受信した場合、受信したテスト項目名を第３情報処理装置３の情報格納領域に記憶する。
【０１３２】
これにより、第１情報処理装置１は、第２情報処理装置２及び第３情報処理装置３と連携する必要があるテストが実行される場合に、そのテストに対応するテスト項目名を第２情報処理装置２及び第３情報処理装置３との間で共有することが可能になる。そのため、第２情報処理装置２及び第３情報処理装置３は、第１の実施の形態において説明したテスト制御処理をそれぞれ行って各情報の生成を行う際に、第1情報処理装置１から送信されたテスト項目名と各情報とを対応付けることが可能になる。
【０１３３】
ここで、第１情報処理装置１、第２情報処理装置２及び第３情報処理装置３が連携するテストには、例えば、第２情報処理装置２が停止していることを第３情報処理装置３が検知した場合に、第３情報処理装置３が第２情報処理装置２の再起動を正常に行うことを確認するテスト（以下、再起動テスト）が含まれる。
【０１３４】
この場合、第１情報処理装置１は、例えば、再起動テストが行われる前に、第２情報処理装置２に対して停止指示を送信する。そして、第２情報処理装置２は、第１情報処理装置１から停止指示を受信したことに伴って自装置の動作を停止する。これにより、第３情報処理装置３は、再起動テストを行うことが可能になる。
【０１３５】
しかしながら、第２情報処理装置２が停止した場合、第１情報処理装置１は、テスト項目名（再起動テストに対応するテスト項目名）を第２情報処理装置２及び第３情報処理装置３に送信することができなくなる。そのため、第２情報処理装置２及び第３情報処理装置３は、この場合、実行中のテストに対応するテスト項目名と各情報とを対応付けることができなくなる。
【０１３６】
そこで、第２情報処理装置２のネットワークドライバ２６は、図３１に示すように、第１情報処理装置１（ネットワークドライバ１６）から停止指示を受信した場合であっても、第２情報処理装置２の動作の停止を行わない。具体的に、ネットワークドライバ２６は、この場合、第１情報処理装置１から停止指示を受信した場合であっても、第２情報処理装置２の動作の停止を行うプログラムに対して、第１情報処理装置１から受信した停止指示を送信しない。
【０１３７】
そして、第２情報処理装置２のネットワークドライバ２６は、図３２に示すように、図３０で説明した場合と同様に、第１情報処理装置１から送信されたテスト項目名を受信した場合、受信したテスト項目名を第２情報処理装置２の情報格納領域に記憶する。
【０１３８】
一方、第２情報処理装置２のネットワークドライバ２６は、図３３に示すように、第３情報処理装置３（ネットワークドライバ３６）から生存監視情報（例えば、ＰＩＮＧ）を受信した場合、受信した生存監視情報に対する応答に代えて、第１情報処理装置１から受信したテスト項目名を第３情報処理装置３に送信する。
【０１３９】
これにより、第２情報処理装置２は、第２情報処理装置２の停止を伴う再起動テストの実行中であっても、第１情報処理装置１から送信されたテスト項目名を受信し、受信したテスト項目名を第３情報処理装置３に送信することが可能になる。そのため、第１情報処理装置１、第２情報処理装置２及び第３情報処理装置３は、再起動テストの実行中であっても、実行中のテスト（再起動テスト）に対応するテスト項目名の共有を行うことが可能になる。以下、第２の実施の形態における情報処理システム１０の機能について説明を行う。なお、第1情報処理装置１、第２情報処理装置２及び第３情報処理装置３のハードウエア構成については、図５で説明した構成を同じであるため説明を省略する。
【０１４０】
［第２の実施の形態における情報処理システムの機能］
図３４は、第１情報処理装置１の機能のブロック図である。なお、以下、第１情報処理装置１、第２情報処理装置２及び第３情報処理装置３のそれぞれが、図３１から図３３で説明した第１情報処理装置１、第２情報処理装置２及び第３情報処理装置３の機能の全てを有するものとして説明を行う。また、以下、第１情報処理装置１の機能のうち、図５で説明した機能の説明については省略する。さらに、第２情報処理装置２及び第３情報処理装置３の機能については、第１情報処理装置１の機能と同じであるため説明を省略する。
【０１４１】
ＣＰＵ１０１は、図３４に示すように、プログラム１１０と協働することにより、ネットワークドライバ１６の機能として、情報受信部１２１と、情報送信部１２２と、動作停止部１２３として機能する。また、情報格納領域１３０には、図３４に示すように、テスト実行フラグ１３７が記憶されている。
【０１４２】
情報受信部１２１は、第１情報処理装置１、第２情報処理装置２及び第３情報処理装置３のうちの自装置以外の情報処理装置（以下、他の情報処理装置とも呼ぶ）からテストの識別情報を受信する。テストの識別情報は、例えば、テストに対応するテスト項目名である。また、情報受信部１２１は、他の情報処理装置から自装置の停止指示を受信する。さらに、情報受信部１２１は、他の情報処理装置から生存監視情報を受信する。
【０１４３】
情報送信部１２２は、情報受信部１２１がテストの識別情報を受信した場合、受信した識別情報を他の情報処理装置（情報受信部１２１が受信した識別情報を送信した情報処理装置とは異なる情報処理装置）に送信する。
【０１４４】
動作停止部１２３は、情報受信部１２１が自装置の停止指示を受信した場合、再起動テストが実行中であるか否かを示すテスト実行フラグ１３７を参照し、再起動テストが実行中であるか否かを判定する。テスト実行フラグ１３７は、例えば、テスト者が再起動テストの実行を開始する旨の情報を第１情報処理装置１に入力したことに応じて、再起動テストが実行中であることを示すように更新されるものであってよい。また、テスト実行フラグ１３７は、例えば、テスト者が再起動テストの実行を終了する旨の情報を第１情報処理装置１に入力したことに応じて、再起動テストが実行中でないことを示すように更新されるものであってよい。その結果、再起動テストが実行中でないと判定した場合、動作停止部１２３は、自装置の動作の停止を行う。具体的に、動作停止部１２３は、この場合、例えば、自装置の動作を停止する他の機能に対して自装置の動作の停止を指示する。一方、再起動テストが実行中であると判定した場合、動作停止部１２３は、自装置の動作の停止を行わない。
【０１４５】
なお、第２情報処理装置２及び第３情報処理装置３のそれぞれは、自装置において追加実行情報１３６の生成を行うごとに、例えば、第１情報処理装置１に集約するものであってよい。そして、第１情報処理装置１は、この場合、第１情報処理装置１において生成された追加実行情報１３６の出力のみでなく、第２情報処理装置２及び第３情報処理装置３において生成された追加実行情報１３６についての出力を行うものであってよい。
【０１４６】
また、第２情報処理装置２及び第３情報処理装置３のそれぞれは、自装置において対応情報１３２、データサイズ情報１３３及び実行情報１３５の生成や更新を行うごとに、例えば、第１情報処理装置１に集約するものであってよい。そして、第１情報処理装置１は、この場合、図１２のＳ４５以降の処理を、第１情報処理装置１において生成された各情報のみでなく、第２情報処理装置２及び第３情報処理装置３において生成された各情報についても行うものであってよい。
【０１４７】
これにより、第１情報処理装置１、第２情報処理装置２及び第３情報処理装置３は、各情報処理装置において行われる処理を効率的に行うことが可能になる。
【０１４８】
［第２の実施の形態におけるテスト制御処理の詳細］
次に、第２の実施の形態におけるテスト制御処理の詳細について説明を行う。図３５から図３８は、第２の実施の形態におけるテスト制御処理の詳細を説明するフローチャート図である。なお、以下、第２情報処理装置２及び第３情報処理装置３における処理は、第１情報処理装置１における処理と同じであるため説明を省略する。
【０１４９】
［情報送信処理］
初めに、第２の実施の形態におけるテスト制御処理のうち、実行中テスト情報１３４を他の情報処理装置に送信する処理（以下、情報送信処理）について説明を行う。図３５は、情報送信処理を説明するフローチャート図である。
【０１５０】
第１情報処理装置１の情報送信部１２２は、図３５に示すように、実行中テスト情報１３４が更新されるまで待機する（Ｓ１０１のＮＯ）。具体的に、情報送信部１２２は、図１１で説明したＳ３４の処理が行われるまで待機する。すなわち、情報送信処理は、自装置において実行中テスト情報１３４の生成が行われる場合に実行される処理である。
【０１５１】
そして、実行中テスト情報１３４が更新された場合（Ｓ１０１のＹＥＳ）、情報送信部１２２は、実行中テスト情報１３４の送信先である他の情報処理装置が存在するか否かを判定する（Ｓ１０２）。具体的に、情報送信部１２２は、第１情報処理装置１による実行中テスト情報１３４の送信先である他の情報処理装置を示す送信先情報（図示しない）を参照し、実行中テスト情報１３４の送信先である他の情報処理装置が存在するか否かの判定を行う。なお、送信先情報は、例えば、事業者によって予め情報格納領域１３０に記憶されるものであってよい。
【０１５２】
その結果、実行中テスト情報１３４の送信先である他の情報処理装置が存在すると判定した場合（Ｓ１０２のＹＥＳ）、情報送信部１２２は、情報格納領域１３０に記憶された実行中テスト情報１３４を、Ｓ１０２の処理で存在すると判定した他の情報処理装置に送信する（Ｓ１０３）。一方、実行中テスト情報１３４の送信先である他の情報処理装置が存在しないと判定した場合（Ｓ１０２のＮＯ）、情報送信部１２２は、Ｓ１０３の処理を行わない。
【０１５３】
これにより、第１情報処理装置１は、自装置で生成された実行中テスト情報１３４を他の情報処理装置と共有することが可能になる。
【０１５４】
［情報受信処理］
次に、第２の実施の形態におけるテスト制御処理のうち、他の情報処理装置から実行中テスト情報１３４を受信した場合に実行される処理（以下、情報受信処理）について説明を行う。図３６は、情報受信処理を説明するフローチャート図である。
【０１５５】
第１情報処理装置１の情報受信部１２１は、図３６に示すように、他の情報処理装置から実行中テスト情報１３４を受信するまで待機する（Ｓ１１１のＮＯ）。すなわち、情報受信処理は、他の情報処理装置において実行中テスト情報１３４の生成が行われる場合に実行される処理である。
【０１５６】
そして、他の情報処理装置から実行中テスト情報１３４を受信した場合（Ｓ１１１のＹＥＳ）、情報受信部１２１は、Ｓ１１１の処理で受信した実行中テスト情報１３４を情報格納領域１３０に記憶する（Ｓ１１２）。
【０１５７】
その後、情報送信部１２２は、実行中テスト情報１３４の送信先である他の情報処理装置が存在するか否かを判定する（Ｓ１１３）。具体的に、情報送信部１２２は、第１情報処理装置１による実行中テスト情報１３４の送信先である他の情報処理装置を示す送信先情報（図示しない）を参照し、実行中テスト情報１３４の送信先である他の情報処理装置が存在するか否かの判定を行う。
【０１５８】
その結果、実行中テスト情報１３４の送信先である他の情報処理装置が存在すると判定した場合（Ｓ１１３のＹＥＳ）、情報送信部１２２は、Ｓ１１１の処理で受信した実行中テスト情報１３４を、Ｓ１１２の処理で存在すると判定した他の情報処理装置に送信する（Ｓ１１４）。
【０１５９】
これにより、第１情報処理装置１は、他の情報処理装置で生成された実行中テスト情報１３４を共有することが可能になる。
【０１６０】
［停止指示受信処理］
次に、第２の実施の形態におけるテスト制御処理のうち、他の情報処理装置から自装置の停止指示を受信した場合に実行される処理（以下、停止指示受信処理）について説明を行う。図３７は、停止指示受信処理を説明するフローチャート図である。
【０１６１】
情報受信部１２１は、図３７に示すように、他の情報処理装置から停止指示を受信するまで待機する（Ｓ１２１のＮＯ）。そして、他の情報処理装置から停止指示を受信した場合（Ｓ１２１のＹＥＳ）、第１情報処理装置１の動作停止部１２３は、情報格納領域１３０に記憶されたテスト実行フラグ１３７が再起動テストの実行中を示しているか否かの判定を行う（Ｓ１２２）。
【０１６２】
その結果、テスト実行フラグ１３７が再起動テストの実行中でないことを示していると判定した場合（Ｓ１２２のＹＥＳ）、動作停止部１２３は、自装置の動作の停止を行う（Ｓ１２３）。一方、テスト実行フラグ１３７が再起動テストの実行中であることを示していると判定した場合（Ｓ１２２のＮＯ）、動作停止部１２３は、Ｓ１２３の処理を行わない。
【０１６３】
これにより、第１情報処理装置１は、再起動テストを行いながら、実行中のテスト（再起動テスト）に対応するテスト項目名を他の情報処理装置と共有することが可能になる。
【０１６４】
［生存監視受信処理］
次に、第２の実施の形態におけるテスト制御処理のうち、他の情報処理装置から自装置の生存監視情報を受信した場合に実行される処理（以下、生存監視受信処理）について説明を行う。図３８は、停止指示受信処理を説明するフローチャート図である。
【０１６５】
情報受信部１２１は、図３８に示すように、他の情報処理装置から生存監視情報を受信するまで待機する（Ｓ１３１のＮＯ）。そして、他の情報処理装置から生存監視情報を受信した場合（Ｓ１３１のＹＥＳ）、動作停止部１２３は、情報格納領域１３０に記憶されたテスト実行フラグ１３７が再起動テストの実行中を示しているか否かの判定を行う（Ｓ１３２）。
【０１６６】
その結果、テスト実行フラグ１３７が再起動テストの実行中でないことを示していると判定した場合（Ｓ１３２のＹＥＳ）、情報送信部１２２は、Ｓ１３１の処理で受信した生存監視情報に対する応答に代えて、情報格納領域１３０に記憶された実行中テスト情報１３４を、生存監視情報を送信した他の情報処理装置に対して送信する（Ｓ１３３）。一方、テスト実行フラグ１３７が再起動テストの実行中であることを示していると判定した場合（Ｓ１３２のＮＯ）、情報送信部１２２は、Ｓ１３３の処理を行わない。すなわち、情報送信部１２２は、この場合、Ｓ１３１の処理で受信した生存監視情報に対する応答を、生存監視情報を送信した他の情報処理装置に対して送信する。
【０１６７】
これにより、第１情報処理装置１は、他の情報処理装置に対して動作が停止している場合と同じ対応を行いながら、実行中テスト情報１３４を共有することが可能になる。
【０１６８】
以上の実施の形態をまとめると、以下の付記のとおりである。
【０１６９】
（付記１）
テスト対象の複数のプログラムのうち、複数のテストに含まれる特定のテストの実行に応じてコンピュータにロードされたプログラムに関する情報を取得すると、取得した前記プログラムに関する情報に基づき、該プログラムのソースコードに修正が行われたか否かの判定を行い、
前記修正が行われたと判定した場合、テストの実行に伴って実行するプログラムの識別情報と該テストとを対応付けた対応情報を記憶する記憶部を参照して、前記複数のテストのうち、前記ソースコードに修正が行われたプログラムの実行を伴うテストを特定する、
処理をコンピュータに実行させることを特徴とするテスト制御プログラム。
【０１７０】
（付記２）
付記１において、さらに、
前記判定を行う処理の前に、前記複数のプログラムのうちの少なくとも一つをコンピュータにロードする前記複数のテストのそれぞれが実行されるごとに、各テストの実行に応じてコンピュータにロードされたプログラムの前記識別情報と各テストとを対応付けることにより、前記対応情報を生成する、
ことを特徴とするテスト制御プログラム。
【０１７１】
（付記３）
付記１において、
前記プログラムに関する情報は、前記プログラムのデータサイズであり、
前記判定を行う処理では、前記特定のテストの実行に応じてコンピュータにロードされたプログラムの前記データサイズを取得すると、取得した前記データサイズが更新されているか否かの判定を行うことにより、コンピュータにロードされた前記プログラムのソースコードに修正が行われたか否かの判定を行う、
ことを特徴とするテスト制御プログラム。
【０１７２】
（付記４）
付記１において、
前記対応情報は、前記複数のテストの実行順序を示す情報を含み、さらに、
前記特定する処理の後、前記対応情報を記憶する記憶部を参照して、特定した前記テストのうち、前記特定のテストよりも実行順序が前である追加実行テストを特定し、
特定した前記追加実行テストを示す情報を出力する、
処理をコンピュータに実行させることを特徴とするテスト制御プログラム。
【０１７３】
（付記５）
付記１において、
前記特定する処理では、
前記ソースコードに修正が行われたプログラムに対応するテストが前記対応情報に存在しない場合、前記複数のプログラムのうち、前記ソースコードに修正が行われたプログラムの呼び出しを行う他のプログラムを特定し、
特定した前記他のプログラムがコンピュータに対するロードを要するプログラムであるか否かの判定を行い、
前記他のプログラムがロードを要するプログラムであると判定した場合、前記対応情報を記憶する記憶部を参照して、特定した前記他のプログラムの実行を伴うテストを特定する、
ことを特徴とするテスト制御プログラム。
【０１７４】
（付記６）
付記５において、
前記特定する処理では、前記他のプログラムがロードを要するプログラムでないと判定した場合、前記複数のテストのうち、実行中において前記他のプログラムが動作するテストを特定する、
ことを特徴とするテスト制御プログラム。
【０１７５】
（付記７）
付記４において、さらに、
前記特定のテストの実行の開始指示を行うテストプログラムが動作する第１情報処理装置から、前記特定のテストの識別情報を受信する、
処理をコンピュータに実行させ、
前記追加実行テストを特定する処理では、特定した前記テストのうち、受信した前記識別情報に対応する前記特定のテストよりも実行順序が前である前記追加実行テストの特定を行う、
ことを特徴とするテスト制御プログラム。
【０１７６】
（付記８）
付記７において、さらに、
前記受信する処理の前に、前記複数のプログラムが動作する第２情報処理装置の停止を伴う前記特定のテストの実行の開始指示を前記第１情報処理装置から受信した場合、前記第２情報処理装置の停止を行うことなく、前記特定のテストの識別情報を受信するまで待機し、
前記受信する処理の後に、前記第１及び前記第２情報処理装置と異なる第３情報処理装置から、前記第２情報処理装置が起動していることを示す情報の送信要求を受信した場合、前記第３情報処理装置に対し、前記第２情報処理装置が起動していることを示す情報に代えて、前記特定のテストの識別情報を送信する、
処理をコンピュータに実行させることを特徴とするテスト制御プログラム。
【０１７７】
（付記９）
テスト対象の複数のプログラムのうち、複数のテストに含まれる特定のテストの実行に応じてコンピュータにロードされたプログラムに関する情報を取得すると、取得した前記プログラムに関する情報に基づき、該プログラムのソースコードに修正が行われたか否かの判定を行う修正判定部と、
前記修正が行われたと判定した場合、テストの実行に伴って実行するプログラムの識別情報と該テストとを対応付けた対応情報を記憶する記憶部を参照して、前記複数のテストのうち、前記ソースコードに修正が行われたプログラムの実行を伴うテストを特定するテスト特定部と、を有する、
ことを特徴とする情報処理装置。
【０１７８】
（付記１０）
付記９において、さらに、
前記修正判定部が前記判定を行う前に、前記複数のプログラムのうちの少なくとも一つをコンピュータにロードする前記複数のテストのそれぞれが実行されるごとに、各テストの実行に応じてコンピュータにロードされたプログラムの前記識別情報と各テストとを対応付けることにより、前記対応情報を生成する情報生成部を有する、
ことを特徴とする情報処理装置。
【０１７９】
（付記１１）
テスト対象の複数のプログラムのうち、複数のテストに含まれる特定のテストの実行に応じてコンピュータにロードされたプログラムに関する情報を取得すると、取得した前記プログラムに関する情報に基づき、該プログラムのソースコードに修正が行われたか否かの判定を行い、
前記修正が行われたと判定した場合、テストの実行に伴って実行するプログラムの識別情報と該テストとを対応付けた対応情報を記憶する記憶部を参照して、前記複数のテストのうち、前記ソースコードに修正が行われたプログラムの実行を伴うテストを特定する、
ことを特徴とするテスト制御方法。
【０１８０】
（付記１２）
付記１１において、さらに、
前記判定を行う工程の前に、前記複数のプログラムのうちの少なくとも一つをコンピュータにロードする前記複数のテストのそれぞれが実行されるごとに、各テストの実行に応じてコンピュータにロードされたプログラムの前記識別情報と各テストとを対応付けることにより、前記対応情報を生成する、
ことを特徴とするテスト制御方法。
【符号の説明】
【０１８１】
１：情報処理装置              １１：テスト制御部
１２：テスト実行部            １３：第１テスト対象部
１４：第２テスト対象部        １５：ディスクドライバ
【図１】
2019020961.tif 000003
【図２】
2019020961.tif 000004
【図３】
2019020961.tif 000005
【図４】
2019020961.tif 000006
【図５】
2019020961.tif 000007
【図６】
2019020961.tif 000008
【図７】
2019020961.tif 000009
【図８】
2019020961.tif 000010
【図９】
2019020961.tif 000011
【図１０】
2019020961.tif 000012
【図１１】
2019020961.tif 000013
【図１２】
2019020961.tif 000014
【図１３】
2019020961.tif 000015
【図１４】
2019020961.tif 000016
【図１５】
2019020961.tif 000017
【図１６】
2019020961.tif 000018
【図１７】
2019020961.tif 000019
【図１８】
2019020961.tif 000020
【図１９】
2019020961.tif 000021
【図２０】
2019020961.tif 000022
【図２１】
2019020961.tif 000023
【図２２】
2019020961.tif 000024
【図２３】
2019020961.tif 000025
【図２４】
2019020961.tif 000026
【図２５】
2019020961.tif 000027
【図２６】
2019020961.tif 000028
【図２７】
2019020961.tif 000029
【図２８】
2019020961.tif 000030
【図２９】
2019020961.tif 000031
【図３０】
2019020961.tif 000032
【図３１】
2019020961.tif 000033
【図３２】
2019020961.tif 000034
【図３３】
2019020961.tif 000035
【図３４】
2019020961.tif 000036
【図３５】
2019020961.tif 000037
【図３６】
2019020961.tif 000038
【図３７】
2019020961.tif 000039
【図３８】
2019020961.tif 000040