(57)【要約】【課題】情報処理装置で動作するソフトウェアのテストを効率的に進めることが可能なテスト支援装置、テスト支援システム、制御方法、及びプログラムを提供することを目的とする。【解決手段】汎用機１００のソフトウェアの稼働確認を行った後（ステップＳ５００、ステップＳ５０１）、シナリオに記録されたプロシージャを用いて、テンポラリプロシージャイル３０１を検索することで（ステップＳ５０２からステップＳ５０５）、模擬的に起動させるソフトウェアを特定し、特定した模擬的に起動させるソフトウェアについては、実際にソフトウェアは起動させずに、起動したことを示す旨を通知し（ステップＳ５０６からステップＳ５０７）、一方、特定できない場合は、通常通り、該当のソフトウェアを起動し、起動結果を通知する（ステップＳ５０８からステップＳ５１１）。【選択図】図１３
2014130460.tif 000002
【特許請求の範囲】
【請求項１】
テストを実行するためにソフトウェアの稼働状況を確認するためのテスト支援装置であって、
前記ソフトウェアの起動順序を記憶する定義情報記憶手段と、
前記定義情報記憶手段のソフトウェアのうち模擬的に起動を行う前記ソフトウェアを設定するための設定手段と、
前記起動順序に従って、前記ソフトウェアを起動した結果を通知すると共に、前記設定手段によって設定した模擬的に起動を行うソフトウェアに関して、前記ソフトウェアを起動せずに、起動したことを通知する通知手段と、
を備えたことを特徴とするテスト支援装置。
【請求項２】
情報処理装置とネットワークを介して接続されたテスト支援装置からなるテストを実行するためにソフトウェアの稼働状況を確認するためのテスト支援システムであって、
前記テスト支援装置は、
前記ソフトウェアの起動順序を記憶する定義情報記憶手段と、
前記定義情報記憶手段のソフトウェアのうち模擬的に起動を行う前記ソフトウェアを設定するための設定手段と、
を備え、
前記情報処理装置は、
前記起動順序に従って、前記ソフトウェアを起動した結果を前記テスト支援装置へ通知すると共に、前記設定手段によって設定した模擬的に起動を行うソフトウェアに関して、前記ソフトウェアを起動せずに、起動したことを前記テスト支援装置へ通知する通知手段、
を備えたことを特徴とするテスト支援システム。
【請求項３】
テストを実行するためにソフトウェアの稼働状況を確認するためのテスト支援装置の制御方法であって、
前記テスト支援装置は、
前記ソフトウェアの起動順序を記憶する定義情報記憶手段のソフトウェアのうち模擬的に起動を行う前記ソフトウェアを設定するための設定ステップと、
前記起動順序に従って、前記ソフトウェアを起動した結果を通知すると共に、前記設定ステップによって設定した模擬的に起動を行うソフトウェアに関して、前記ソフトウェアを起動せずに、起動したことを通知する通知ステップと、
を実行することを特徴とするテスト支援装置の制御方法。
【請求項４】
情報処理装置とネットワークを介して接続されたテスト支援装置からなるテストを実行するためにソフトウェアの稼働状況を確認するためのテスト支援システムの制御方法であって、
前記テスト支援装置は、
前記ソフトウェアの起動順序を記憶する定義情報記憶手段のソフトウェアのうち模擬的に起動を行う前記ソフトウェアを設定するための設定ステップと、
を実行し、
前記情報処理装置は、
前記起動順序に従って、前記ソフトウェアを起動した結果を前記テスト支援装置へ通知すると共に、前記設定ステップによって設定した模擬的に起動を行うソフトウェアに関して、前記ソフトウェアを起動せずに、起動したことを前記テスト支援装置へ通知する通知ステップ、
を実行することを特徴とするテスト支援システムの制御方法。
【請求項５】
テストを実行するためにソフトウェアの稼働状況を確認するためのテスト支援装置において読取実行可能なプログラムであって、
前記テスト支援装置を、
前記ソフトウェアの起動順序を記憶する定義情報記憶手段と、
前記定義情報記憶手段のソフトウェアのうち模擬的に起動を行う前記ソフトウェアを設定するための設定手段と、
前記起動順序に従って、前記ソフトウェアを起動した結果を通知すると共に、前記設定手段によって設定した模擬的に起動を行うソフトウェアに関して、前記ソフトウェアを起動せずに、起動したことを通知する通知手段と、
して機能させることを特徴とするプログラム。
【請求項６】
情報処理装置とネットワークを介して接続されたテスト支援装置からなるテストを実行するためにソフトウェアの稼働状況を確認するためのテスト支援システムで読取実行可能なプログラムあって、
前記テスト支援装置を、
前記ソフトウェアの起動順序を記憶する定義情報記憶手段のソフトウェアのうち模擬的に起動を行う前記ソフトウェアを設定するための設定手段と、
して機能させ、
前記情報処理装置を、
前記起動順序に従って、前記ソフトウェアを起動した結果を前記テスト支援装置へ通知すると共に、前記設定手段によって設定した模擬的に起動を行うソフトウェアに関して、前記ソフトウェアを起動せずに、起動したことを前記テスト支援装置へ通知する通知手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置におけるテストを支援する装置であって、特に自動化された情報処理装置内で稼働するソフトウェアの起動制御に関する。
【背景技術】
【０００２】
従来、情報処理装置に対して構築されたシステムの改修等が発生した場合、その検証性を確かめるためのテストを実行することが行われ、テスト担当者の作業負荷を軽減することを目的として、テスト内容をシナリオとして作成し、このシナリオをスクリプト化することで、テストの自動化を行う仕組みが存在する。
【０００３】
このようなテストの中でも、特にＯＳ上で稼働するソフトウェアを起動するシナリオが想定され、テスト担当者が、このようなソフトウェアの起動を行う作業負荷を軽減することが行われている。
【０００４】
このようなテストを行う際に、そのシナリオを実現するプログラムが、適切に動作しているか否かをテストする必要が生じるため、情報処理装置内のソフトウェアの模擬プログラムを導入しておき、シナリオを実現するプログラムによる、この模擬プログラムに対する実行結果を出力する技術が存在する（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１１８９２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の技術では、あくまでもシナリオを実現するためのプログラムの適正稼働を確認するための技術であり、その稼働結果を得ることに留まり、その稼働結果を用いた技術について、その具体的内容については、記載や示唆はない。
【０００７】
例えば、情報処理装置で稼働しているソフトウェアを改修し、そのテストを行う場合、稼働しているソフトウェアの状況によって、テストの実行を継続するか、あるいは、中止するか等の態様が必要となる。
【０００８】
このような態様をとりうる例として、不要なソフトウェアのみ停止することや、改修対象のソフトウェアのみ起動しないなど、様々なパターンが存在するため、このようなケースでは、複数のシナリオを準備することで、改修作業の内容によって、適宜シナリオを使い分けて対応を行う。
【０００９】
また、改修作業を行うには、情報処理装置の停止／開始にあわせて実施されることがほとんどであり、改修対象のソフトウェアは、停止した状態で、改修の作業終了後に起動する。
【００１０】
その際、ソフトウェアのテスト用に、改修対象となるソフトウェアを起動しないシナリオが準備されていれば、そのシナリオを使用し、情報処理装置のソフトウェア起動を実行すればよいが、このようなシナリオが準備されていない場合は、改修対象となるソフトウェア起動前に起動処理全体を止めることや、改修対象となるソフトウェアの起動だけを止めるなどの対処が必要となる。
【００１１】
しかしながら、起動処理全体を止めてしまうと、改修対象となるソフトウェアの稼働を前提としない他のソフトウェアの起動を止めてしまい、仮に他作業で他のソフトウェアの起動が必要な場合、改修対象となるソフトウェアの作業が完了するまで、作業を待たされることになる。また、改修作業時間には制限があるため、最悪の場合、一部の作業が実施できない状況に陥りかねない。
【００１２】
一方、改修対象となるソフトウェアの起動だけを止めようとすると、起動処理前後のシナリオを実行するプログラムに対する設定作業に加え、起動中に他のソフトウェアを起動するための対処が必要となる。
【００１３】
この起動処理は、テスト担当者ではなく、オペレータが実施者となり、起動中の対処が必要となると、オペレータにもシナリオを実行するプログラム、情報処理装置に関する知識とスキルが必要となる。
【００１４】
また、前述したようにシナリオを実行するプログラムへの対処方法も複数考えられるため、その都度対応が変わることもあり、オペレータの混乱をまねく恐れがある。
【００１５】
対応方法として、シナリオを必要な個数分、準備することも考えられるが、稼働させるソフトウェアの追加や、起動順序の変更などのシナリオに対する保守作業を勘案すると、シナリオの数だけ対応が必要となり、保守作業工数が増加してしまう。
【００１６】
そこで、本発明では、情報処理装置で動作するソフトウェアのテストを効率的に進めることが可能なテスト支援装置、テスト支援システム、制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記課題を解決するための第１の発明は、テストを実行するためにソフトウェアの稼働状況を確認するためのテスト支援装置であって、前記ソフトウェアの起動順序を記憶する定義情報記憶手段と、前記定義情報記憶手段のソフトウェアのうち模擬的に起動を行う前記ソフトウェアを設定するための設定手段と、前記起動順序に従って、前記ソフトウェアを起動した結果を通知すると共に、前記設定手段によって設定した模擬的に起動を行うソフトウェアに関して、前記ソフトウェアを起動せずに、起動したことを通知する通知手段と、を備えたことを特徴とする。
【００１８】
上記課題を解決するための第２の発明は、情報処理装置とネットワークを介して接続されたテスト支援装置からなるテストを実行するためにソフトウェアの稼働状況を確認するためのテスト支援システムであって、前記テスト支援装置は、前記ソフトウェアの起動順序を記憶する定義情報記憶手段と、前記定義情報記憶手段のソフトウェアのうち模擬的に起動を行う前記ソフトウェアを設定するための設定手段と、を備え、前記情報処理装置は、前記起動順序に従って、前記ソフトウェアを起動した結果を前記テスト支援装置へ通知すると共に、前記設定手段によって設定した模擬的に起動を行うソフトウェアに関して、前記ソフトウェアを起動せずに、起動したことを前記テスト支援装置へ通知する通知手段、を備えたことを特徴とする。
【００１９】
上記課題を解決するための第３の発明は、テストを実行するためにソフトウェアの稼働状況を確認するためのテスト支援装置の制御方法であって、前記テスト支援装置は、前記ソフトウェアの起動順序を記憶する定義情報記憶手段のソフトウェアのうち模擬的に起動を行う前記ソフトウェアを設定するための設定ステップと、前記起動順序に従って、前記ソフトウェアを起動した結果を通知すると共に、前記設定ステップによって設定した模擬的に起動を行うソフトウェアに関して、前記ソフトウェアを起動せずに、起動したことを通知する通知ステップと、を実行することを特徴とする。
【００２０】
上記課題を解決するための第４の発明は、情報処理装置とネットワークを介して接続されたテスト支援装置からなるテストを実行するためにソフトウェアの稼働状況を確認するためのテスト支援システムの制御方法であって、前記テスト支援装置は、前記ソフトウェアの起動順序を記憶する定義情報記憶手段のソフトウェアのうち模擬的に起動を行う前記ソフトウェアを設定するための設定ステップと、を実行し、前記情報処理装置は、前記起動順序に従って、前記ソフトウェアを起動した結果を前記テスト支援装置へ通知すると共に、前記設定ステップによって設定した模擬的に起動を行うソフトウェアに関して、前記ソフトウェアを起動せずに、起動したことを前記テスト支援装置へ通知する通知ステップ、を実行することを特徴とする。
【００２１】
上記課題を解決するための第５の発明は、テストを実行するためにソフトウェアの稼働状況を確認するためのテスト支援装置において読取実行可能なプログラムであって、前記テスト支援装置を、前記ソフトウェアの起動順序を記憶する定義情報記憶手段と、前記定義情報記憶手段のソフトウェアのうち模擬的に起動を行う前記ソフトウェアを設定するための設定手段と、前記起動順序に従って、前記ソフトウェアを起動した結果を通知すると共に、前記設定手段によって設定した模擬的に起動を行うソフトウェアに関して、前記ソフトウェアを起動せずに、起動したことを通知する通知手段と、して機能させることを特徴とする。
【００２２】
上記課題を解決するための第６の発明は、情報処理装置とネットワークを介して接続されたテスト支援装置からなるテストを実行するためにソフトウェアの稼働状況を確認するためのテスト支援システムで読取実行可能なプログラムあって、前記テスト支援装置を、前記ソフトウェアの起動順序を記憶する定義情報記憶手段のソフトウェアのうち模擬的に起動を行う前記ソフトウェアを設定するための設定手段と、して機能させ、前記情報処理装置を、前記起動順序に従って、前記ソフトウェアを起動した結果を前記テスト支援装置へ通知すると共に、前記設定手段によって設定した模擬的に起動を行うソフトウェアに関して、前記ソフトウェアを起動せずに、起動したことを前記テスト支援装置へ通知する通知手段、として機能させることを特徴とする。
【発明の効果】
【００２３】
本発明によれば、模擬的に起動すべくソフトウェアを起動させることで、テストを効率的に進めることができる、という効果を奏する。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施形態に係る情報処理装置のシステムの概略構成を示す構成図である。
【図２】本発明の実施形態に係る情報処理装置のハードウェアの概略構成を示す構成図である。
【図３】本発明の実施形態において、使用するプロシージャライブラリのファイルの構成を示す構成図である。
【図４】本発明の実施形態において、使用するダミープロシージャを説明するための説明図である。
【図５】本発明の実施形態において、情報処理装置内のソフトウェアの一例を示すためのソフトウェアの構成を示す構成図である。
【図６】本発明の実施形態において、通常のシナリオの一例を説明するための説明図である。
【図７】本発明の実施形態において、通常のシナリオに対してダミープロシージャの適用を加味したシナリオの一例を説明するための説明図である。
【図８】本発明の実施形態にて、ダミープロシージャの適用を加味したシナリオにおいて、各ソフトウェアの動作の一例を説明するための説明図である。
【図９】本発明の実施形態に係る情報処理装置で実行されるバイパス対象とするソフトウェアを設定する処理を示すフローチャートである。
【図１０】本発明の実施形態に係る情報処理装置で実行されるバイパス対象とするソフトウェアを設定する処理を示すフローチャートである。
【図１１】本発明の実施形態に係る情報処理装置で実行される起動するソフトウェアをバイパスの対象にする処理を示すフローチャートである。
【図１２】本発明の実施形態に係る情報処理装置で実行されるソフトウェアの起動後にバイパス対象をバイパス対象外に戻す処理を示すフローチャートである。
【図１３】本発明の実施形態に係る情報処理装置で実行される全般的なソフトウェア起動処理の一例を示すフローチャートである。
【図１４】本発明の実施形態に係る情報処理装置で実行される各ソフトウェアの起動処理の一例を示すフローチャートである。
【図１５】本発明の実施形態において、バイパス対象とするソフトウェアを設定するための設定画面の構成を示す構成図である。
【図１６】本発明の実施形態において、バイパス対象とするソフトウェアに関する情報を格納するテーブルの構成を示す構成図である。
【発明を実施するための形態】
【００２５】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００２６】
図１は、本発明のテスト支援装置の１例とも言える情報処理装置のうち汎用機の構成の一例を示すシステム構成図である。図１に示されるように、基本的に、本発明は、一台の汎用機１００内で動作するものである。
【００２７】
次に図２を用いて本発明の汎用機１００を制御するコントローラユニットのハードウェア構成について説明をする。
【００２８】
図２は、図１に示した汎用機１００のコントローラユニットのハードウェア構成の一例を示すブロック図である。
【００２９】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００３０】
２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【００３１】
また、２０５は入力コントローラで、キーボード（ＫＢ）２０９や不図示のマウス等のポインティングデバイス等からの入力を制御する。２０６はビデオコントローラで、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器への表示を制御する。これらは必要に応じて管理者が使用するものである。
【００３２】
２０７はメモリコントローラで、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する外部記憶装置（ハードディスク（ＨＤ））や、記載されていないがテープ装置等の外部メモリ２１１へのアクセスを制御する。
【００３３】
２０８は通信Ｉ／Ｆコントローラで、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００３４】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３５】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。
【００３６】
図３では、ソフトウェアを起動するための、プロシージャが格納されているファイルについて説明する。
【００３７】
プロシージャ定義ファイル３００は、プロシージャ定義ファイルのメンバーであり、どのファイルをどの順番で使用するかが定義されている。定義されているプロシージャファイルの個数分、プロシージャとして使用されるが、本例では２つとした。
【００３８】
テンポラリプロシージャファイル３０１は、本発明にてシナリオを実行する際に追加するプロシージャを記憶するプロシージャファイルである。テンポラリプロシージャファイル３０１は、プロシージャ定義ファイル３００内で最上位に定義され、プロシージャ実行順が最優先となる。テンポラリプロシージャファイル３０１はファイルシステムであり、ファイル内は、通常空であるが、後述するダミープロシージャファイル３０３から、ダミープロシージャメンバーが使用時にコピーされ、格納される。
【００３９】
プロシージャファイル３０２は、通常使用するソフトウェアを起動させるためのプロシージャが格納されているプロシージャファイルである。プロシージャファイル３０２は、プロシージャ定義ファイル３００内でテンポラリプロシージャファイル３０１の次に定義される。プロシージャファイル３０２は、ファイルシステムであり、ファイル内には、各ソフトウェアを起動させるためのプロシージャが格納される。
【００４０】
ダミープロシージャファイル３０３は、本発明で使用するダミープロシージャが格納されているファイルである。ダミープロシージャファイル３０３は、ファイルシステムであり、ダミープロシージャメンバーが格納される。ダミープロシージャファイル３０３は、プロシージャ定義ファイル３００に定義されないため、プロシージャ実行時には使用されない。テンポラリプロシージャファイル３０１にダミープロシージャメンバーをコピーすることで、メンバーは実行される。
【００４１】
本発明では、プロシージャ定義ファイル３００の定義を変更し、テンポラリプロシージャファイル３０１を上位に定義することで、優先的にダミープロシージャを実行する仕組みを提供する。通常時、テンポラリプロシージャファイル３０１は、空であるため、本来のプロシージャファイル３０２内の実行メンバーが使用される。テンポラリプロシージャファイル３０１にダミープロシージャファイル３０３からダミープロシージャメンバーがコピーされている場合、同名のプロシージャ起動が指示されると、テンポラリプロシージャファイル３０１内のメンバーが使用される。
【００４２】
図４では、本発明で使用するダミープロシージャについて説明する。
【００４３】
ダミープロシージャとは、ソフトウェアを起動した時と同じ振る舞いをするプロシージャである。同じ振る舞いとは、起動コマンドを受けて、実際に起動対象となるソフトウェアを起動させずに、模擬的に起動完了メッセージを出力する行為である。起動方法は、ソフトウェア起動方法と同じである。
【００４４】
ダミープロシージャ４０１は、ダミープロシージャファイル３０３にメンバーとして格納される。ダミープロシージャ４０１は、起動されると、コントロールカード４０２を読み込み、コントロールカード４０２に定義されている内容の処理を実行した後、処理を終了する。本来のソフトウェアとの違いは、起動対象となるソフトウェアを起動させずに終了することである。また、本来のソフトウェアは、停止コマンドを実行しない限り終了しないが、ダミープロシージャ４０１は、コントロールカード４０２の処理を実行すると、終了する。
【００４５】
コントロールカード４０２では、ソフトウェアの起動に必要な４つの機能を複数行定義可能である。ソフトウェアの起動を、シナリオを用いて自動実施する場合は、起動コマンド発行後、起動完了メッセージを待ち受けるもの、起動コマンド発行後、応答要求メッセージに対して、応答を返した後、起動完了メッセージを待受けるもの、起動コマンド発行後、起動完了メッセージを受け付けて、続けてコマンドを発行後、完了メッセージを待ち受けるものなどがある。そのため、コントロールカード４０２でも上記起動方法の種類に対応した記述を可能としている。
【００４６】
図５では、本発明における汎用機１００内で動作するソフトウェアについて説明する。
【００４７】
図５は、ソフトウェアの一例を示した構成図である。汎用機１００内で動作するソフトウェア群５００を構成する自動化SoftWare５０１が稼働し、５０２〜５１０で示されるソフトウェアが同時に稼働している。尚、本発明では、自動化SoftWare５０１を使用し、５０２〜５１０の各ソフトウェアを起動する。
【００４８】
図６では、自動化SoftWare５０１に定義される、自動化シナリオについて説明する。
【００４９】
自動化SoftWare５０１では、自動化シナリオ６００を定義できる。自動化シナリオ６００では、各ソフトウェアの起動方法、各ソフトウェアの起動順序を定義情報として定義する。
【００５０】
各ソフトウェアの起動コマンドや、起動完了メッセージなどの起動方法は、６０１〜６０９の各ソフトウェアの起動定義内に定義される。各ソフトウェアの起動順序は、自動化シナリオ６００に定義される。
【００５１】
図６で示す一例では、矢印で結ばれている各ソフトウェアの起動には、順序がある。例えば、SoftWare_003起動６０３の手順が完了後、SoftWare_004起動６０４の手順が実行される。一方で手順、６０１、６０２、６０３は並行で実行される。表記便宜的に６１０〜６１１、６１２で各起動順序をグループ化しており、６１０内の手順、６０１〜６０４が完了すると、６１１、６１２内の６０５〜６０７の手順が実行される。
【００５２】
図７では、本発明で提案する自動化シナリオについて説明する。
【００５３】
本発明では、図６で示した自動化シナリオ６００にプロシージャ入替処理６１４と、プロシージャ戻し処理６１５を追加する。
【００５４】
各ソフトウェアの起動を開始する前に、ソフトウェア起動をバイパスさせるためのプロシージャ入替処理６１４を自動化シナリオ６００に追加する。詳細については、後述する。プロシージャ入替対象の設定は、人手で実施される。設定方法については、後述する。
【００５５】
各ソフトウェアの起動が完了後、ソフトウェアの起動順序を通常に戻すために、プロシージャ戻し処理６１５を自動化シナリオ６００に追加する。詳細については、後述する。
【００５６】
図８を用いて、自動化シナリオ６００の実行時の汎用機１００内におけるソフトウェア起動の仕組みについて説明する。
【００５７】
図８は、汎用機１００内でのソフトウェアの起動順序の概要の一例を示した概要図である。
【００５８】
自動化SoftWare５０１内で実行される、SoftWare_001起動６０１、SoftWare_002起動６０２を抜粋した。各起動順序は、主に起動コマンドの発行と起動完了メッセージの読込によって構成される。この起動方法に変更はなく、元々定義されているままの起動順序が実行される。
【００５９】
SoftWare_001起動６０１の起動コマンドの発行が実行された場合、テンポラリプロシージャファイル３０１にSoftWare_001という名のメンバー７００が存在するため、テンポラリプロシージャファイル３０１内のSoftWare_001ダミープロシージャ５１１が実行される。SoftWare_002起動６０２の起動コマンド発行が実行された場合、テンポラリプロシージャファイル３０１には、SoftWare_002のプロシージャは存在しないため、つまりダミープロシージャが存在しないため（実行しないため）プロシージャファイル３０２内のSoftWare_002プロシージャ５０２が実行される。
【００６０】
尚、詳細な処理内容については、後述する。
【００６１】
図９及び図１０を用いて、ダミープロシージャとして入れ替え対象となるソフトウェアを設定する処理について説明する。
【００６２】
この設定処理は、図１５に示す設定画面を用いて実行され、この設定画面で設定されたソフトウェアは、自動化シナリオ６００実行時の最初のプロシージャ入替処理で、ダミープロシージャファイル３０３からテンポラリプロシージャファイル３０１にコピーされる。
【００６３】
設定画面における指示行８０１が入力行であり、その行に対応するソフトウェア名行８０２に対する操作を入力する。操作の種類は、追加（Ａ）、更新（Ｕ）、削除（Ｄ）の３種類のいずれかである。
【００６４】
ソフトウェア名行８０２は、入力行および表示行であり、ダミープロシージャに入れ替えるソフトウェア名を入力、表示する行である。画面初期表示時、ソフトウェア名行８０２は全てNULLであり、指示行８０１に（Ａ）が入力され、ソフトウェア名行８０２にソフトウェア名が入力された状態でエンターキーを押すと、図１６に示すバイパス情報テーブル９００のバイパスソフトウェア名にソフトウェア名が追加される。次回画面表示時には、バイパス情報テーブル９００のバイパスソフトウェア名に登録されているデータが８０２行にバイパス情報テーブル９００に登録した順に表示される。
【００６５】
メッセージ行８０３は表示行であり、画面操作中の注意喚起メッセージやインフォメーションメッセージが表示される。
【００６６】
続いて図９に示すフローチャートについて説明する。
【００６７】
ステップＳ１００では、バイパス情報テーブル９００からバイパスソフトウェア名を読み込み、続くステップＳ１０１では、ステップS１０１において読込んだバイパスソフトウェア名を表示領域変数へ展開する。
【００６８】
ステップＳ１０２〜Ｓ１２１まで、ＰＦ３キー（画面終了キー）が押されるまで繰り返す。
【００６９】
ステップ１０２では、設定画面をディスプレイ２１０へ表示する。
【００７０】
設定画面表示後、ステップＳ１０３では、画面操作者からの入力を受け付ける。ステップＳ１０４で入力されたキーが判断され、エンターキー、ＰＦ３キー、ＰＦ７キー、ＰＦ８キーのいずれかである場合は、それぞれのキーの処理を実行する。それ以外の場合は、ステップＳ１０２へ戻り、画面表示される。
【００７１】
エンターキーが押された場合、ステップＳ１０５にて、指示行８０１、ソフトウェア名行８０２についての入力チェックが行われる。指示行８０１にＡ、Ｕ、Ｄ以外の入力がある場合や、指示行８０１に入力があるがソフトウェア名行８０２に入力がない場合など、この後のステップや後述するプロシージャ入替処理が実行できなくなるような入力は問題ありとされる。
【００７２】
後続のステップＳ１０６では、ステップＳ１０５のチェック結果が判断される。問題ありの場合、ステップＳ１１２においてエラーメッセージ設定処理を実行する。
【００７３】
ステップＳ１０６において問題なしと判定された場合は、各行の入力処理を実行する。指示行８０１に入力がある分実行される。
【００７４】
指示行８０１にＡが入力されている場合、ステップＳ１０８では、同行のソフトウェア名行８０２に入力されているソフトウェア名がバイパス情報テーブル９００の最後尾へ追加される。
【００７５】
指示行８０１にＵが入力されている場合、ステップＳ１０９では、同行の最初に設定画面で表示した際に表示されていたソフトウェア名行８０２の元データであるバイパス情報テーブル９００のバイパスソフトウェア名が、現在入力されているソフトウェア名行８０２に置き換えられる。
【００７６】
指示行８０１にＤが入力されている場合、ステップＳ１１０では、同行に表示されているソフトウェア名行８０２の元データであるバイパス情報テーブル９００のデータをテーブルから削除する。
【００７７】
続くステップＳ１１１では、念のため、テンポラリプロシージャファイル３０１からソフトウェア名行８０２と同名のダミープロシージャメンバーを、あるないに関わらず削除する。
【００７８】
設定画面表示後、ＰＦ８キーが入力された場合は、Ｓ１１３〜Ｓ１１６で示す次ページ表示処理が実行される。
【００７９】
ステップS１１３では、既に設定画面に表示したバイパス情報テーブル９００のデータ以外で、未表示のデータを検索し、ステップS１１４では、未表示のデータがあると判定した場合、ステップS１１５へ処理を進め、未表示のデータがあると判定しない場合、ステップS１１６へ処理を進める。
【００８０】
ステップS１１５では、ステップS１１４における未表示のデータを設定画面に表示し、ステップS１１６では、設定画面に未表示のデータがない旨を表示する。
【００８１】
設定画面表示後、ＰＦ７キーが入力された場合は、Ｓ１１７〜Ｓ１２０で示す前ページ表示処理が実行される。
【００８２】
ステップS１１７では、既に設定画面に表示したバイパス情報テーブル９００のデータ内で、表示済のデータを検索し（つまり、前データを検索）、ステップS１１８では、表示済のデータがあると判定した場合（前データがあると判定した場合）、ステップS１１９へ処理を進め、表示済のデータがあると判定しない場合（前データがないと判定した場合）、ステップS１２０へ処理を進める。
【００８３】
ステップS１１９では、ステップS１１８における表示済のデータを設定画面に表示し、ステップS１２０では、設定画面に表示済のデータがない（前データがない）旨を表示する。
【００８４】
図１１を用いて、ソフトウェア起動処理時における、プロシージャ入替処理の処理について説明する。
【００８５】
図１１は、プロシージャ入替処理６１４において実行される処理を示すフローチャートである。ソフトウェアを起動する前に、起動しないソフトウェアのダミープロシージャメンバーを、ダミープロシージャファイル３０３からテンポラリプロシージャファイル３０１へコピーする。
【００８６】
ステップＳ２００では、バイパス情報テーブル９００からバイパス対象のソフトウェア名を読み込む。
【００８７】
ステップＳ２０１では、ステップS２００においてバイパス情報テーブル９００を読み込んだ結果を精査する。バイパス情報テーブル９００にデータが存在する場合は、ステップＳ２０２を処理する。バイパス情報テーブル９００にデータが存在しない場合は、バイパス対象のソフトウェアが存在しないため、処理を終了する。その場合、ダミーで実行されるソフトウェアはないため、全てプロシージャファイル３０２内のメンバーが実行される。
【００８８】
ステップＳ２０２では、ダミープロシージャメンバーのコピーを実行する。バイパス情報テーブル９００から読み込んだバイパスソフトウェア名と同名のダミープロシージャメンバーを、ダミープロシージャファイル３０３からテンポラリプロシージャファイル３０１へコピーする。この処理を実施することで、以降のソフトウェア起動において、対象プロシージャの起動コマンドが実行されても、ダミープロシージャ４０１が実行されることとなる。
【００８９】
図１２を用いて、ソフトウェア起動処理時における、プロシージャ切り戻し処理の処理について説明する。
【００９０】
図１２は、プロシージャ切り戻し処理６１５の処理を示すフローチャートである。全ソフトウェアの起動完了後に、ダミープロシージャファイル３０３からダミープロシージャメンバーを削除する。その結果、削除後のソフトウェアの起動に対しては、プロシージャファイル３０２のプロシージャメンバーが使用されるように戻る。
【００９１】
ステップＳ３００では、バイパス情報テーブル９００からバイパスソフトウェア名を読み込む。
【００９２】
ステップＳ３０１では、バイパス情報テーブル９００を読み込んだ結果を精査する。バイパス情報テーブル９００にデータが存在する場合は、ステップＳ３０２を処理する。バイパス情報テーブル９００にデータが存在しない場合は、ダミープロシージャファイル３０３にダミープロシージャメンバーがないため、処理を終了する。
【００９３】
ステップＳ３０２では、ダミープロシージャから通常の起動プロシージャへの戻しを行う。テンポラリプロシージャファイル３０１から対象ソフトウェアのダミープロシージャメンバーを削除する。
【００９４】
図１３では、図７で示した起動シナリオの一例を、フロー形式で説明する。
【００９５】
自動化シナリオ６００は、各個別ソフトウェア起動処理とプロシージャ入替処理、プロシージャ戻し処理と、前提条件の判定の組み合わせにより構成される。
【００９６】
ステップＳ４００は、図１１において説明したプロシージャ入替処理を実行する。
【００９７】
ステップＳ４０１は、前提の処理（ステップS４００）が終了しているか判断する。この処理は自動化シナリオ６００内で、自動で定義される。前提条件を定義しているソフトウェアの起動処理の前では、ステップＳ４０１のように判断のステップが入る。前提条件となる処理が完了している場合に限り、後続処理が実行される。前提条件となる処理が完了しない場合は、後続処理は実行されずに待ち続ける。  ステップＳ４０２では、SoftWare_001の起動を開始する。自動化シナリオ６００に定義されているSoftWare_001の起動順序に従って、起動順序を開始する。
【００９８】
ステップＳ４０３では、ソフトウェア起動処理が実行される。個別ソフトウェアの起動についての処理内容は、後述する。
【００９９】
同じように、自動化シナリオ６００内のSoftWare_002からSoftWare_009の起動を、矢印で示される手順や、グループ化によって定まる手順を考慮して、ステップS４０１及びステップS４０２と同様な処理を実行するため、説明は省略する。
【０１００】
そして、自動化シナリオ６００を用いた処理を終了する間際に、図１２において説明したプロシージャ切り戻し処理を実行する。
【０１０１】
図１４では、個別ソフトウェアの起動処理についてのフローチャートが示されている。当処理にて、ダミープロシージャを実行するか、通常のプロシージャが実行されるか、実際に振り分けられる。
【０１０２】
ステップＳ５００では、ソフトウェアの稼働確認を行う。ＯＳに対してソフトウェアの稼働状況を問い合わせる。
【０１０３】
ステップＳ５０１では、ステップＳ５００での状況確認結果を判定する。ソフトウェアが稼働している場合は、ソフトウェア起動は実行せずに、ステップＳ５１４を実行する。ソフトウェアが稼働していない場合は、ソフトウェアを起動するためステップS５０２へ処理を進める。
【０１０４】
ステップＳ５０２では、ソフトウェアの起動処理を行う。ソフトウェア起動コマンド発行後、自動化SoftWare５０１は、ダミープロシージャや起動したソフトウェアからのメッセージを待受ける。コマンドはＯＳに対して発行され、ＯＳ上で処理が実行される。
【０１０５】
ステップＳ５０３では、コマンドが受け付けられると、ＯＳはプロシージャ定義ファイル３００で定義された順序で、プロシージャを実行する。
【０１０６】
ステップＳ５０４では、テンポラリプロシージャファイル３０１内に当該プロシージャと同名のプロシージャが存在するか検索する。
【０１０７】
ステップＳ５０５では、テンポラリプロシージャファイル３０１内の検索結果を判断する。プロシージャが存在する場合、ステップＳ５０６でダミープロシージャを実行する。プロシージャが存在しない場合は、プロシージャファイル３０２を検索する。
【０１０８】
ステップＳ５０６では、ダミープロシージャ４０１を実行する。処理は、ダミープロシージャ４０１へ渡される。
【０１０９】
ステップＳ５０６では、ＯＳから起動された、ダミープロシージャ４０１を実行する。ダミープロシージャ４０１は、コントロールカード４０２に従って処理を実行する。最終的にステップS５０７では、処理を実行した旨を示すメッセージを書込み、自動化SoftWare５０１で（ダミーの）起動結果が検知される。ダミープロシージャ４０１はコントロールカード４０２の処理を実行すると終了する。尚、ＯＳ上にソフトウェアは残らない。
【０１１０】
ステップＳ５０８では、テンポラリプロシージャファイル３０１に対象ソフトウェアのダミープロシージャが存在しない場合に実行される。プロシージャファイル３０２に対象プロシージャが存在するか検索する。仮にプロシージャファイル３０２に対象プロシージャがなく、さらにプロシージャ定義ファイル３００に下層のプロシージャファイルが定義されていれば、検索を続けるが、本例では、２つまでとしている。最下層のプロシージャファイルまで検索した結果、プロシージャファイルがない場合は、エラーとなり、エラーメッセージが出力されるが、本例では、プロシージャは存在する前提で記述している。
【０１１１】
ステップＳ５０９では、プロシージャを実行する。尚、処理はプロシージャへ渡される。
【０１１２】
ステップＳ５１０では、ＯＳから起動された、プロシージャを実行する。プロシージャが起動されると、該当のソフトウェアが起動する。
【０１１３】
ステップＳ５１１では、ソフトウェア起動中にソフトウェアの初期処理完了等のメッセージが出力される部分を示している。メッセージは多数出力されるが、自動化SoftWare５０１で待ち受けているメッセージが出力されることを意味している。メッセージは自動化SoftWare５０１で検知される。プロシージャは、そのままソフトウェアとして、ＯＳ上で稼働し続ける。
【０１１４】
ステップＳ５１２では、起動したソフトウェアからのメッセージを受信する。自動化シナリオ６００に定義されているメッセージを受信する。受信できない場合は、一定時間後に後続処理を実行する。
【０１１５】
ステップＳ５１３では、メッセージ内容によって、自動化シナリオ６００の各ソフトウェア起動処理の処理結果を設定する部分である。自動化シナリオ６００内には、起動が完了し、活動化した時のメッセージや、起動が失敗し、活動化できなかったメッセージなどが定義されている。ステップＳ５１２で受信したメッセージ結果に伴い、ソフトウェアの状態を設定する。ダミープロシージャから出力されるメッセージは起動完了メッセージなので、ステータスは完了に設定される。
【０１１６】
ステップＳ５１４では、ステップＳ５１３の結果を受け、自動化SoftWare５０１に定義されているソフトウェアのステータスを変更する。ここで変更されたステータスを元に、図１３に示す後続処理を実行するかどうかが決定する。
【０１１７】
以上、本発明によれば、模擬的に起動すべくソフトウェアを起動させることで、テストを効率的に進めることができる。
【０１１８】
なお、本発明におけるプログラムは、各装置の処理方法ごとのプログラムであってもよい。
【０１１９】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読取り実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１２０】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【０１２１】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることができる。
【０１２２】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータで稼働しているＯＳ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２４】
また、本発明は、複数の機器から構成されるシステムに適用してもよい。この場合、汎用機とは、別途、自動化シナリオを備えた情報処理装置を設け、ダミーの稼働状況については、この情報処理装置から受け取り、一方、この情報処理装置から汎用機に対して、汎用機内のソフトウェアの稼働状況を受け取る構成をとることも可能である。
【０１２５】
また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１２６】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステム、あるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１２７】
１００    汎用機
２０１    ＣＰＵ
２０２    ＲＯＭ
２０３    ＲＡＭ
２０４    システムバス
２０５    入力コントローラ
２０６    ビデオコントローラ
２０７    メモリコントローラ
２０８    通信Ｉ／Ｆコントローラ
２０９    キーボード
２１０    ディスプレイ
２１１    外部メモリ
【図１】
2014130460.tif 000003
【図２】
2014130460.tif 000004
【図３】
2014130460.tif 000005
【図４】
2014130460.tif 000006
【図５】
2014130460.tif 000007
【図６】
2014130460.tif 000008
【図７】
2014130460.tif 000009
【図８】
2014130460.tif 000010
【図９】
2014130460.tif 000011
【図１０】
2014130460.tif 000012
【図１１】
2014130460.tif 000013
【図１２】
2014130460.tif 000014
【図１３】
2014130460.tif 000015
【図１４】
2014130460.tif 000016
【図１５】
2014130460.tif 000017
【図１６】
2014130460.tif 000018