(57)【要約】      （修正有）【課題】検証済みのソフトウェア（プログラム）の本番稼動中にリソースを使用する他プログラムの実行が重なった状態でも、所望の処理を実行完了することを可能とする。【解決手段】検証用機器２０００は、本番稼働用機器１０００に実装する予定のソフトウェアの性能の事前検証を行う際、本番稼働用機器１０００における実際の稼働状況を考慮した上でのソフトウェア性能の事前検証を行う。具体的には、検証用機器２０００は、予め、ログ情報読込み部２１２０により、本番稼働用機器１０００の通常の稼働時のリソース使用量情報を収集して格納し、稼働情報再現部２１４０により、検証用機器２０００におけるリソース使用量を、格納したリソース使用量と同じとなるよう検証用機器２０００の処理を制御し、この状態で、テスト実行部２１５０により、事前検証対象のソフトウェアを実行する。【選択図】図１
2010224629.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ装置で実行されるソフトウェアの動作の事前検証を、プログラムされたコンピュータ処理によって行うソフトウェア検証システムであって、
プログラムされたコンピュータ処理を実行する手段として、
事前検証対象のソフトウェアを実行するコンピュータ装置の、当該事前検証対象ソフトウェアの非実行時における稼動時のリソース使用量情報を収集して記憶装置に格納する情報読込み手段と、
記憶装置から上記リソース使用量情報を読み出し、当該ソフトウェア検証システムにおけるリソース使用量が、上記読み出したリソース使用量と同じとなるよう当該ソフトウェア検証システムの処理を制御する情報再現手段と、
上記読み出したリソース使用量と同じリソース使用量での当該ソフトウェア検証システムの処理実行時に、上記事前検証対象ソフトウェアを実行するテスト実行手段と
を有することを特徴とするソフトウェア検証システム。
【請求項２】
請求項１に記載のソフトウェア検証システムであって、
上記リソース使用量情報は、ＣＰＵ使用率とメモリ使用量からなり、
上記情報再現手段は、
複数のダミープログラムを実行する第１の手段と、
該第１の手段によるダミープログラムの実行時のＣＰＵ使用率が、上記記憶装置から読み出したリソース使用量情報におけるＣＰＵ使用率となるまで、上記第１の手段が実行するダミープログラムの数を増加させる第２の手段と、
上記第１の手段によるダミープログラムの実行時のメモリ使用量が、上記記憶装置から読み出したリソース使用量情報におけるメモリ使用量となるまで、上記第１の手段が実行するダミープログラムのメモリ割当量を増加させる第３の手段と
を有することを特徴とするソフトウェア検証システム。
【請求項３】
請求項１もしくは請求項２のいずれかに記載のソフトウェア検証システムであって、
プログラムされたコンピュータ処理を実行する手段として、
情報読込み手段が上記リソース使用量情報を収集した複数の日時情報を表示装置を介して表示出力すると共に、
表示した上記リソース使用量情報の収集日時情報に対して入力装置を介して選択された日時情報を入力するインタフェース手段を有し、
上記情報再現手段は、
上記インタフェース手段が入力した日付情報に対応するリソース使用量情報を上記記憶装置から読み出して、当該ソフトウェア検証システムのリソース使用量の制御を行う
ことを特徴とするソフトウェア検証システム。
【請求項４】
コンピュータを、請求項１から請求項３のいずれかに記載のソフトウェア検証システムにおける各手段として機能させるためのプログラム。
【請求項５】
コンピュータ装置で実行されるソフトウェアの動作の事前検証を、プログラムされたコンピュータ処理によって行うシステムのソフトウェア検証方法であって、
プログラムされたコンピュータの処理実行手順として、
請求項１から請求項３のいずれかに記載のソフトウェア検証システムにおける各手段が実行する処理手順を含むことを特徴とするソフトウェア検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ装置で実行されるソフトウェアの動作を事前検証する技術に係り、特に、検証対象のソフトウェアを実際に実行するコンピュータ装置の稼働状況に応じて当該検証対象ソフトウェアの性能を事前検証するのに好適な技術に関するものである。
【背景技術】
【０００２】
従来のソフトウェア（以下、「プログラム」とも記載する）の動作検証（以下「シミュレーション」とも記載する）を行うシステムでは、検証対象のプログラム群の稼動状況を記録し、その記録から様々なロジックを経て、当該検証対象プログラムの予測性能を導き出す。
【０００３】
しかしながら、検証したプログラムを実際に本番稼動させてみると、予測性能とは異なる場合がある。例えば、月末の夜間に大量の決済伝票を処理するバッチプログラム（検証対象プログラム）を本番環境に配置したとする。このバッチプログラムに対する事前の検証を行った結果の予測性能では、夜間にバッチ処理全てを完了することが可能な性能値を示していたが、実際には夜間に完了せず、翌日の昼までかかってしまう場合がある。
【０００４】
この原因の例としては、バッチプログラム以外に、夜間に稼動する他の既存プログラムがあり、その既存プログラムの実行とパッチプログラムの実行とが重なってしまったため、使用可能なリソースが減少してしまった等がある。
【０００５】
また、インターネットやイントラネットで用いられるＷｅｂアプリケーション等に関しては、ユーザが操作した際のＨＴＴＰリクエスト等を再現することで、同時実行ユーザ数が増加した場合を想定した負荷テスト等を実施する製品が、例えば、非特許文献１に記載のように、多々ある。
【０００６】
しかし、この技術においても、機器上で動作するプログラムが、検証対象のプログラムのみである場合を想定しており、他のプログラムの実行等を考慮しておらず、その機器上のリソース使用率を忠実に再現したわけではない。
【０００７】
その結果、他プログラムが同時実行した場合には、使用可能なリソースが極端に減少し、そのため、レスポンスを待っている間に接続が中断されてしまう等の問題があり、この場合、その問題を抽出することはできない。
【０００８】
計算機システム（コンピュータ装置）の性能を予測する従来の技術として、例えば、特許文献１に記載の技術がある。
【０００９】
特許文献１に記載の技術は、計算機システムの運用管理に利用される性能予測装置のＣＰＵ使用時間算定を行うものであり、性能予測装置の予測結果の誤差となる業務を構成する各ジョブの非課金時間を算定して、課金時間に加算して総ＣＰＵ使用時間を求めることで、業務負荷情報を補正し、より正確な予測結果を得るようにするものである。
【００１０】
また、近年隆盛している仮想サーバ等により、バックグラウンドで仮想サーバ管理プログラムから様々な処理が実行される場合や、あるいは、複数の仮想サーバへリソースを振り分けているため、時間帯によっては、同一条件でも、他仮想サーバに、より多くのリソースが割当てられてしまい、使用可能なリソースが減少する場合は、リソース使用率を再現することができない。
【００１１】
このように、あるプログラムを、検証を通して本番環境へ配置する場合、予測性能を出すだけでは充分ではなく、実際に稼動させる機器（コンピュータ）上での使用可能なリソースを考慮した検証等を十分に実施する必要がある。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開平０５−２８９８９１号公報
【非特許文献】
【００１３】
【非特許文献１】「Ｏｒａｃｌｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｔｅｓｔｉｎｇ  Ｓｕｉｔｅ（商標）」  ［ｏｎｌｉｎｅ］、２００８年１０月２日、Ｏｒａｃｌｅ  Ｄｉｒｅｃｔ  Ｊａｐａｎ  Ｐｒｏｄｕｃｔ，  Ｓｅｍｉｎａｒ  ａｎｄ  Ｓｅｒｖｉｃｅ  Ｉｎｆｏｒｍａｔｉｏｎ，［平成２１年３月１８日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｂｌｏｇｓ．ｏｒａｃｌｅ．ｃｏｍ／ｄｉｒｅｃｔｊｐ／ｏｒａｃｌｅ＿ｅｎｔｅｒｐｒｉｓｅ＿ｍａｎａｇｅｒ／ｏｒａｃｌｅ＿ａｐｐｌｉｃａｔｉｏｎ＿ｔｅｓｔｉｎｇ＿ｓｕｉｔｅ／＞
【発明の概要】
【発明が解決しようとする課題】
【００１４】
解決しようとする問題点は、従来の技術では、検証対象のソフトウェア（プログラム）を実装する予定のコンピュータシステムにおける、本番稼動中と同等のリソース使用率を再現しての当該ソフトウェア（プログラム）の性能検証テストを実施することができない点である。
【００１５】
本発明の目的は、これら従来技術の課題を解決し、検証済みのソフトウェア（プログラム）の本番稼動中にリソースを使用する他プログラムの実行が重なった状態でも、所望の処理を実行完了することを可能とすることである。
【課題を解決するための手段】
【００１６】
上記目的を達成するため、本発明では、検証対象ソフトウェアを実装させる予定のコンピュータ装置の稼働中におけるリソース使用状態情報を収集し、検証対象ソフトウェアの性能検証テストを行うシステムにおいて、収集したリソース使用状態と同様のリソース使用状態を再現し、この再現したリソース使用状態で、検証対象ソフトウェアの性能検証テストを行う。
【発明の効果】
【００１７】
本発明によれば、検証対象ソフトウェアを実装するコンピュータ装置における、当該検証対象ソフトウェアを実装することで発生する、処理遅延や性能劣化等の損害を、事前検証テストの段階で予め確認することができ、損害発生を未然に防ぐことが可能となり、本番稼動前のソフトウェア検証品質を高めることができ、その結果、検証対象ソフトウェアを実装するコンピュータ装置の品質を高めることに繋がる。
【図面の簡単な説明】
【００１８】
【図１】本発明に係るソフトウェア検証システムの構成例を示すブロック図である。
【図２】図１における稼働情報ログファイルの第１の具体例を示す説明図である。
【図３】図１における稼働情報ログファイルの第２の具体例を示す説明図である。
【図４】図１におけるグラフィカルユーザインタフェースで表示されるシミュレーション実施画面の構成例を示す説明図である。
【図５】図１における稼働情報記憶ＤＢにおいて格納する稼働情報テーブルの構成例を示す説明図である。
【図６】図１における稼働情報再現部の第１の処理動作例を示すフローチャートである。
【図７】図１における稼働情報再現部の第２の処理動作例を示すフローチャートである。
【図８】図１における稼働情報再現部の第３の処理動作例を示すフローチャートである。
【図９】図１における稼働情報再現部の第４の処理動作例を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、図を用いて本発明を実施するための形態例を説明する。図１においては、本発明に係るソフトウェア検証システムの構成例を示しており、本番稼働用機器１０００と検証用機器２０００からなる。
【００２０】
本番稼働用機器１０００と検証用機器２０００のそれぞれは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）や主メモリ等を具備したコンピュータ構成からなり、光ディスク駆動装置等を介してＣＤ−ＲＯＭ等の記憶媒体に記録されたプログラムやデータを外部記憶装置内にインストールした後、この外部記憶装置から主メモリに読み込みＣＰＵで処理することにより、各処理部の機能を実行する。
【００２１】
例えば、本番稼働用機器１０００は、ＣＰＵ１０００とメモリ１２００を具備し、メモリ１２００に記憶されたプログラムを用いたＣＰＵ１０００によるコンピュータ処理を実行する機能として、稼働情報監視エージェント１３００を有している。
【００２２】
また、検証用機器２０００は、プログラムされたコンピュータ処理を実行する機能としてシミュレーションシステム２１００と稼働情報記憶データベース（図中「稼働情報記憶ＤＢ」と記載）２２００を具備しており、さらにシミュレーションシステム２１００は、グラフィカルユーザインタフェース（図中「ＧＵＩ」と記載）２１１０と、ログ情報読込み部２１２０、稼働情報再現部２１４０、テスト実行部２１５０を有している。
【００２３】
このような構成により、検証用機器２０００は、本番稼働用機器１０００に実装する予定のソフトウェアの性能の事前検証を行う。この際、本例の検証用機器２０００では、本番稼働用機器１０００における実際の稼働状況を考慮した上でのソフトウェア性能の事前検証を行う。
【００２４】
本番稼働用機器１０００は、稼働情報監視エージェント１３００により、通常の稼働時、すなわち、実装予定の事前検証対象ソフトウェアを実装していない状態での稼働時のリソース使用量情報を収集し、稼働情報ログファイル１４００を生成してメモリ１２００もしくは図示していないＨＤＤ等の記憶装置に格納する。
【００２５】
検証用機器２０００は、本番稼働用機器１０００に実装する予定のソフトウェア性能の事前検証を行う際、まず、シミュレーションシステム２１００におけるログ情報読込み部２１２０により、本番稼働用機器１０００にアクセスし、本番稼働用機器１０００の稼働情報監視エージェント１３００が生成した稼働情報ログファイル１４００を取得し、本番稼働用機器１０００の通常の稼働時、すなわち、事前検証対象ソフトウェアの非実行時の稼動時のリソース使用量情報を収集し、稼働情報記憶データベース２２００を介して記憶装置に格納する。
【００２６】
次に、検証用機器２０００は、シミュレーションシステム２１００における稼働情報再現部２１４０により、稼働情報記憶データベース２２００が格納管理しているリソース使用量情報を読み出し、検証用機器２０００におけるリソース使用量が、読み出したリソース使用量と同じとなるよう検証用機器２０００の処理を制御する。
【００２７】
そして、検証用機器２０００は、稼働情報再現部２１４０の制御で本番稼働用機器１０００におけるリソース使用量と同じリソース使用量に制御された状態での、検証用機器２０００の処理実行時に、シミュレーションシステム２１００におけるテスト実行部２１５０により、当該事前検証対象ソフトウェアを実行する。
【００２８】
尚、稼働情報ログファイル１４００として収集されるリソース使用量情報としては、ＣＰＵ使用率とメモリ使用量があり、稼働情報再現部２１４０は、複数のダミープログラムを実行させ、このダミープログラムを実行させた際のＣＰＵ使用率が、稼働情報ログファイル１４００におけるＣＰＵ使用率となるまで、同時実行するダミープログラムの数を増加させ、また、ダミープログラムを実行させた際のメモリ使用量が、稼働情報ログファイル１４００におけるメモリ使用量となるまで、実行中のダミープログラムのメモリ割当量を増加させる。
【００２９】
このように、本例の検証用機器２０００は、検証対象ソフトウェアを実装させる予定のコンピュータ装置である本番稼働用機器１０００の稼働中におけるリソース使用状態情報を収集し、収集したリソース使用状態と同様のリソース使用状態を検証用機器２０００上で再現し、この再現したリソース使用状態で、検証対象ソフトウェアの性能検証テストを行う。
【００３０】
このことにより、検証対象ソフトウェアを実装するコンピュータ装置である本番稼働用機器１０００における、当該検証対象ソフトウェアを実装することで発生する、処理遅延や性能劣化等の損害を、事前検証テストの段階で予め確認することができる。
【００３１】
以下、このような検証用機器２０００の処理動作に関して、具体的に説明する。
【００３２】
本番稼動用機器１０００の稼動情報監視エージェント１３００は、ＣＰＵ１１００の使用率およびメモリ１２００の使用量を収集してＣＳＶ形式で稼動情報ログファイル１４００に記録する、
【００３３】
検証用機器２０００のシミュレーションシステム２１００は、グラフィカルユーザインタフェース２１１０により、ユーザからの検証要求を受付けると、ログ情報読込み部２１２０により、本番稼動用機器１０００の稼動情報監視エージェント１０００が記録してメモリ上に展開した稼動情報ログファイル１４００を取得し、稼働情報記憶データベース２２００を介して記憶管理する。
【００３４】
そして、稼動情報再現部２１４０により、稼働情報記憶データベース２２００から稼動情報ログファイルの内容を読み出し、読み出した稼動情報を用いて、本番稼動用機器１０００におけるリソース使用率を検証用機器２０００上で再現し、このリソース使用率再現中に、テスト実行部２１５０により、シナリオに従ったシステムの検証を実施する。
【００３５】
図２においては、本番稼動用機器１０００の稼動情報監視エージェント１３００が記録した稼動情報ログファイル１４００の内容を示している。図２に示す稼動情報ログファイル１４０１では、リソース使用量情報がＣＳＶ形式で記録されており、左から、記録した日時、ＣＰＵ使用率、メモリ使用量を表す。尚、記録する間隔は任意に設定できるものとし、図２の例では、１０秒に一回の間隔で、記録した日時、ＣＰＵ使用率、メモリ使用量を記録している。
【００３６】
図３においても、本番稼動用機器１０００の稼動情報監視エージェント１３００が記録した稼動情報ログファイル１４００の内容を示している。図３に示すＣＳＶ形式の稼動情報ログファイル１４０２では、記録している項目が増えており、左から、記録した日時、記録したプロセスの識別子、記録したプロセスの名称、記録したプロセスのＣＰＵ使用率、記録したプロセスのメモリ使用量（ＫＢ）を記録している。
【００３７】
記録する項目に関しては、ユーザが記録したい項目を選択できるものとする。以下、本例では、簡単に説明するため、図２の稼動情報ログファイル１４０１を使用した場合の説明を行う。
【００３８】
最初に、稼動情報ログファイル１４０１の収集手順について説明する。この稼動情報ログファイル１４０１は、本番稼動用機器１０００の稼動情報監視エージェント１３００によって収集されて記録され、検証用機器２０００のシミュレーションシステム２１００内のログ情報読込み部２１２０により定期的に収集され、稼働情報記憶データベース２２００において記憶管理されるものとする。
【００３９】
例えば、ログ情報読込み部２１２０は、サービス利用者数の少ない毎日早朝の６：００に、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を利用して、稼動情報ログファイル１４０１を、本番稼動用機器１０００から読み込み、稼働情報記憶データベース２２００を介して格納する。
【００４０】
尚、ログ情報読込み部２１２０が稼動情報ログファイル１４０１を、どのタイミングで収集するか等の設定は、シミュレーションシステム２１００上のグラフィカルユーザインタフェース２１１０を介してユーザが設定できるものとする。
【００４１】
次いで、図４を用いて、リソース使用率を再現した上でのテスト実施について説明する。図４においては、グラフィカルユーザインタフェース２１１０上のシミュレーション実施画面例を示している。利用者（ユーザ）は、マウスやキーボード等の入力装置を操作してこのシミュレーション実施画面２１１１上でテスト用のシナリオを選択し、本シミュレーションシステム２１００は、ユーザが選択したシナリオに定義されている通りにテストを実行する。
【００４２】
この際、ユーザが、シミュレーション実施画面２１１１下部の「再現方法一覧」からリソース使用率を再現するものを選択すると、そのリソース使用率を再現した上でテストを実施する。
【００４３】
例えば、ユーザにより、「２００８／１２／１２記録」がチェックされシミュレーション開始が指示されると、２００８年１２月１２日に記録したリソース使用率を再現した上で、テストを実施する。尚、このテスト実施に関しては、本発明に直接の関係がなく、かつ、既知の技術であるので、ここでの説明は割愛する。
【００４４】
以降は、リソース使用率の再現手順について説明する。グラフィカルユーザインタフェース２１１０が表示したシミュレーション実施画面２１１１で、ユーザが「シミュレーション開始」ボタンをクリックされると、稼働情報再現部２１４０は、上述した「２００８／１２／１２記録」等のユーザに指定された期間のログ情報を、稼働情報記憶データベース２２００から読み込み、図５に示す稼動情報テーブル２２０１の内容でメモリ上に展開する。
【００４５】
図５においては、稼動情報テーブル２２０１の具体例を示しており、左から、テーブル内で一意な識別番号、記録年月日、ＣＰＵ使用率、メモリ使用量、ログ記録した間隔を秒単位に示すログ記録間隔の各項目別に、各データ値が登録される。
【００４６】
このような稼動情報テーブル２２０１に格納された各データ値を用いて、検証用機器２０００に設けられたシミュレーションシステム２１００は、稼働情報再現部２１４０により、検証用機器２０００におけるリソース使用状態を、本番稼働用機器１０００におけるリソース使用状態と同様なものとする。
【００４７】
以下、図６〜図９を用いて、シミュレーションシステム２１００の稼働情報再現部２１４０に係る処理動作を説明する。図６においては、シミュレーションシステム２１００が、稼働情報再現部２１４０により、指定された期間のログを読み終えて、稼動情報テーブル２２０１に展開し終えた後の、シミュレーション処理に関する手順を示している。
【００４８】
図６のステップ２０１において、シミュレーションシステム２１００は、稼働情報再現部２１４０が稼働情報記憶データベース２２００からログを読み終えて稼動情報テーブル２２０１に展開し終えた後、この稼動情報再現部２１４０とは独立したプロセスとしてテスト実行部２１５０を起動する。
【００４９】
ステップ４００のテスト実施処理に関しては、上述の通り既知の技術であるため、ここでの説明は割愛する。
【００５０】
ステップ３００では、稼動情報再現部２１４０によりリソース使用率の再現処理を実行する。この稼動情報再現部２１４０によるリソース使用率の再現処理を、以下、図７を用いて説明する。
【００５１】
図７においては、シミュレーションシステム２１００における稼働情報再現部２１４０が、稼働情報記憶データベース２２００から読み込んだログを基に、リソース使用率を再現する処理手順を示している。
【００５２】
まず、稼働情報再現部２１４０は、稼動情報記憶ＤＢ２２００からログを読み込むと（ステップ３０１）、ログに記録されているＣＰＵ使用率とメモリ使用量をそれぞれ別々のプロセス上で再現する（ステップ３１０，３２０）。
【００５３】
このステップ３１０におけるＣＰＵ使用率の再現処理について図８を用いて説明する。すなわち、稼働情報再現部２１４０は、ある一定のＣＰＵを使用するダミープログラム（ＣＰＵ用）プロセスを起動し（ステップ３１１）、そのＣＰＵ使用率を測定する（ステップ３１２）。
【００５４】
この際、稼働情報再現部２１４０は、プロセス別のＣＰＵ使用率も測定し、図６のステップ４００で起動したシミュレーション対象プログラムのテストプロセスが使用しているＣＰＵ使用率は差し引くものとする。
【００５５】
測定したＣＰＵ使用率が、ログ記載のものと一致するか否かを確認し（ステップ３１３）、一致しない場合、ダミープログラム（ＣＰＵ用）のプロセスを追加し（ステップ３１１）、プロセス数を増やして起動した状態で、再度、ＣＰＵ使用率を測定する（ステップ３１２）。
【００５６】
ステップ３１３での確認処理で、測定したＣＰＵ使用率がログ記載のものと一致するまで、ステップ３１１〜３１３の処理を繰返してダミープログラム（ＣＰＵ用）のプロセスを追加することで、ログに記載のＣＰＵ使用率を検証用機器２０００において再現する。
【００５７】
尚、本例では、測定したＣＰＵ使用率とログ記載のものとの差異において、±３％未満の差異は許容するものとし、この許容値は、グラフィカルユーザインタフェース２１１０が表示するシミュレーション実施画面上でのユーザ操作により設定できるものとする。
【００５８】
次に、図７のステップ３２０におけるメモリ使用量の再現処理について図９を用いて説明する。すなわち、稼働情報再現部２１４０は、最初に、検証用機器２０００上のメモリ使用量を測定する（ステップ３２１）。
【００５９】
この際、稼働情報再現部２１４０は、プロセス別のメモリ使用量も測定し、図６のステップ４００で起動したシミュレーション対象プログラムのテストプロセスが使用しているメモリ使用量は差し引くものとする。
【００６０】
そして、測定した現状のメモリ使用量とログに記載されているメモリ使用量との差異を割り出し、その差異の分だけメモリ割当てを実施するようダミープログラム（メモリ用）に設定し（ステップ３２２）、ダミープログラムを実行することで（ステップ３２３）、ログに記載のメモリ使用量を検証用機器２０００において再現する。
【００６１】
このような図８で説明した図７のステップ３１０でのＣＰＵ調整用ダミープログラム実行処理および図９で説明した図７のステップ３２０でのメモリ調整用ダミープログラム実行処理の後の処理を、図７に戻り説明する。
【００６２】
稼働情報再現部２１４０は、ステップ３１０でのＣＰＵ調整用ダミープログラム実行処理およびステップ３２０でのメモリ調整用ダミープログラム実行処理を実施した後、ログの記録時の間隔が経過するまでは各ダミープログラムのプロセスを起動したまま待機し（ステップ３０２）、経過した後、全てのダミープログラムのプロセスを終了させる（ステップ３０３）。
【００６３】
そして、次のログを読込み、ステップ３０１，３１０，３２０，３０２，３０３の処理を、全てのログを読み終えるまで繰返し実行することで、ログに記載のＣＰＵ使用率およびメモリ使用量を検証用機器２０００において再現する。
【００６４】
検証用機器２０００は、シミュレーションシステム２１００において、このようにしてログに記載のＣＰＵ使用率およびメモリ使用量を再現した状態で、テスト実行部２１５０により検証対象ソフトウェア（プログラム）を実行する。
【００６５】
以上、図１〜図９を用いて説明したように、本例では、検証用機器２０００は、本番稼働用機器１０００に実装する予定のソフトウェアの性能の事前検証を行う際、本番稼働用機器１０００における実際の稼働状況を考慮した上でのソフトウェア性能の事前検証を行う。
【００６６】
具体的には、検証用機器２０００は、本番稼働用機器１０００に実装する予定のソフトウェア性能の事前検証を行う際、まず、シミュレーションシステム２１００におけるログ情報読込み部２１２０により、本番稼働用機器１０００にアクセスし、本番稼働用機器１０００の稼働情報監視エージェント１３００が生成した稼働情報ログファイル１４００を取得し、本番稼働用機器１０００の通常の稼働時、すなわち、事前検証対象ソフトウェアの非実行時の稼動時のリソース使用量情報を収集し、稼働情報記憶データベース２２００を介して記憶装置に格納し、そして、シミュレーションシステム２１００における稼働情報再現部２１４０により、稼働情報記憶データベース２２００が格納管理しているリソース使用量情報を読み出し、検証用機器２０００におけるリソース使用量が、読み出したリソース使用量と同じとなるよう検証用機器２０００の処理を制御する。そして、シミュレーションシステム２１００におけるテスト実行部２１５０により、稼働情報再現部２１４０の制御で本番稼働用機器１０００におけるリソース使用量と同じリソース使用量に制御された状態での、検証用機器２０００の処理実行時に、事前検証対象のソフトウェアを実行する。
【００６７】
尚、稼働情報ログファイル１４００として収集されるリソース使用量情報としては、ＣＰＵ使用率とメモリ使用量があり、稼働情報再現部２１４０は、複数のダミープログラムを実行させ、このダミープログラムを実行させた際のＣＰＵ使用率が、稼働情報ログファイル１４００におけるＣＰＵ使用率となるまで、同時実行するダミープログラムの数を増加させ、また、ダミープログラムを実行させた際のメモリ使用量が、稼働情報ログファイル１４００におけるメモリ使用量となるまで、実行中のダミープログラムのメモリ割当量を増加させる。
【００６８】
また、検証用機器２０００は、シミュレーションシステム２１００における本グラフィカルインタフェース２１１０により、ログ情報読込み部２１２０がリソース使用量情報を収集した複数の日時情報を表示装置を介して、図４に例示するようにシミュレーション実施画面２１１１で表示出力し、かつ、表示したリソース使用量情報の収集日時情報に対してユーザが入力装置を介して選択した日時情報を入力すると、稼働情報再現部２１４０により、グラフィカルユーザインタフェース２１１０が入力した日付情報に対応するリソース使用量情報を稼働情報記憶データベース２２００から読み出して、当該ソフトウェア検証システムのリソース使用量の制御を行う。
【００６９】
このように、本例では、検証対象のソフトウェアを実装する予定の本番稼動用機器１０００のリソース使用率を事前に記録しておくことにより、当該ソフトウェアを本番稼動用機器１０００において本番稼動させる前に、検証用機器２０００において、本番稼動用機器１０００の稼動時と同等の条件で当該ソフトウェアのテストを実施することができる。
【００７０】
このような本例のソフトウェア検証システムを、銀行の取引システムや企業の重要取引システム等、重要度の高いソフトウェアの入換え時の事前テスト時に利用することで、入換え後の障害を事前に検知・対策でき、より品質の高いソフトウェアを本番環境へ投入することが可能となる。
【００７１】
尚、本発明は、図１〜図９を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例では、本番稼動用機器１０００と検証用機器２０００がネットワークを介してオンライン接続された構成とし、シミュレーションシステム２１００のロゴ情報読込み部２１２０は、本番稼動用機器１０００に直接アクセスして稼働情報ロブ１４００の情報を収集する構成としているが、本番稼動用機器１０００と検証用機器２０００はオンライン接続されていない構成としても良い。この場合、検証用機器２０００は、本番稼動用機器１０００の稼働情報ロブ１４００を、光ディスク等の記録媒体を介して取得すれば良い。
【００７２】
また、本例では、本番稼働用機器１０００と検証用機器２０００のそれぞれは、記憶媒体に記録されたプログラムやデータを外部記憶装置内にインストールして各処理部の機能を実装する構成としているが、通信装置を介してネットワーク経由でプログラムをダウンロードしてインストールする構成としても良い。
【符号の説明】
【００７３】
１０００：本番稼動用機器、１１００：ＣＰＵ、１２００：メモリ、１３００：稼動情報監視エージェント、１４００：稼動情報ログファイル、１４０１：稼動情報ログファイル（１）、１４０２：稼動情報ログファイル（２）、２０００：検証用機器、２１００：シミュレーションシステム、２１１０：グラフィカルユーザインタフェース（ＧＵＩ）、２１１１：シミュレーション実施画面、２１２０：ログ情報読込み部、２１４０：稼動情報再現部、２１５０：テスト実行部、２２００：稼動情報記憶データベース（ＤＢ）、２２０１：稼働情報テーブル。
【図１】
2010224629.tif 000003
【図２】
2010224629.tif 000004
【図３】
2010224629.tif 000005
【図４】
2010224629.tif 000006
【図５】
2010224629.tif 000007
【図６】
2010224629.tif 000008
【図７】
2010224629.tif 000009
【図８】
2010224629.tif 000010
【図９】
2010224629.tif 000011