(57)【要約】【課題】ＣＵＩおよびＧＵＩによる試験に対応でき、かつ、ソフトウェアがインストールされる複数台の計算機の実行環境が異なる場合でも試験を同時に行う。【解決手段】試験指示装置１０が、試験対象ソフトウェアに対してユーザから入力された操作情報を取得し、この操作情報に基づいて操作指示情報を作成し、試験対象ソフトウェアを試験実行装置２０へ配布する。試験実行装置２０が、試験指示装置１０において作成された操作指示情報を試験実行装置２０における実行環境に対応させる定義情報に基づいて実行環境に適合した新たな操作指示情報に変換し、この新たな操作指示情報に基づいて試験指示装置１０から配布された試験対象ソフトウェアの試験を実行し、その試験結果を試験指示装置１０へ出力する。そして、試験指示装置１０が、試験実行装置２０における試験対象ソフトウェアの試験結果を表示する。【選択図】図１
2010198335.tif 000002
【特許請求の範囲】
【請求項１】
試験対象ソフトウェアに対する操作指示情報を作成する試験指示装置と、
この試験指示装置に接続され、前記操作指示情報に基づいて前記試験対象ソフトウェアを実行する試験実行装置と、
からなり、
前記試験指示装置は、
前記試験対象ソフトウェアに対してユーザから入力された操作情報を取得し、この操作情報に基づいて操作指示情報を作成する操作指示情報作成部と、
前記試験対象ソフトウェアを格納する試験対象ソフトウェア格納部と、
前記格納された試験対象ソフトウェアを前記試験実行装置へ配布する配布処理部と、
前記試験実行装置における前記試験対象ソフトウェアの試験結果を表示する試験結果処理部と、
を備え、かつ、
前記試験実行装置は、
前記試験指示装置において作成された前記操作指示情報を前記試験実行装置における実行環境に対応させる定義情報を記憶する定義情報記憶部と、
前記操作指示情報を前記定義情報に基づいて前記実行環境に適合した新たな操作指示情報に変換する操作指示情報変換部と、
前記新たな操作指示情報に基づいて前記試験指示装置から配布された前記試験対象ソフトウェアの試験を実行し、その試験結果を前記試験指示装置へ出力する実行処理部と、
を備えることを特徴とするソフトウェア自動試験装置。
【請求項２】
複数台の前記試験実行装置が、ネットワークを介して試験対象サーバに各々接続されており、前記試験実行装置の各々が、前記操作指示情報に基づく処理要求を前記試験対象サーバに対して同時に行うことを特徴とする請求項１記載のソフトウェア自動試験装置。
【請求項３】
前記試験指示装置および前記試験実行装置の各々は、
前記試験指示装置および前記試験実行装置の各々に対応して分類されたノードメモリを有し、少なくとも前記操作指示情報および前記試験結果を装置間で共有可能に記憶するノードメモリ部と、
前記試験指示装置および前記試験実行装置の各々に対応して分類されたノードファイルとして、少なくとも前記試験対象ソフトウェアおよび前記試験結果に係るファイルを装置間で共有可能に記憶するノードファイル記憶部と、
前記ノードメモリおよび前記ノードファイルを所定の周期で比較し、同期処理を行う同期処理部と、
を更に備えることを特徴とする請求項１または請求項２記載のソフトウェア自動試験装置。
【請求項４】
前記配布処理部は、ユーザから入力された配布指令に基づいて前記試験対象ソフトウェアを前記ノードファイルとして前記ノードファイル記憶部に出力し、前記同期処理部を介して前記試験実行装置へ自動配布することを特徴とする請求項３記載のソフトウェア自動試験装置。
【請求項５】
試験対象ソフトウェアに対する操作指示情報を作成する試験指示装置と、この試験指示装置に接続され、前記操作指示情報に基づいて前記試験対象ソフトウェアを実行する試験実行装置と、からなるコンピュータシステムにおけるソフトウェア自動試験方法であって、
前記試験指示装置が、前記試験対象ソフトウェアに対してユーザから入力された操作情報を取得し、この操作情報に基づいて操作指示情報を作成する操作指示情報作成ステップと、
前記試験指示装置が、前記試験対象ソフトウェアを前記試験実行装置へ配布する配布処理ステップと、
前記試験実行装置が、前記試験指示装置において作成された前記操作指示情報を前記試験実行装置における実行環境に対応させる定義情報に基づいて前記実行環境に適合した新たな操作指示情報に変換する操作指示情報変換ステップと、
前記試験実行装置が、前記新たな操作指示情報に基づいて前記試験指示装置から配布された前記試験対象ソフトウェアの試験を実行し、その試験結果を前記試験指示装置へ出力する実行処理部と、
前記試験指示装置が、前記試験実行装置における前記試験対象ソフトウェアの試験結果を表示する試験結果処理ステップと、
を有することを特徴とするソフトウェア自動試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数台の計算機にインストールされたソフトウェアを同時にテストするソフトウェア自動試験装置およびその方法に関する。
【背景技術】
【０００２】
計算機にインストールされたソフトウェアの実行試験を効率的に行うための種々の装置が提案されている。例えば、テスト計算機が複数台の被テスト計算機に要求するキャプチャ領域について被テスト計算機の各々から送信されるキャプチャ画像のうち、選択したキャプチャ画像を合成して表示することで被テスト計算機のキャプチャ画像の相違を目視で判断し、複数台の被テスト計算機におけるソフトウェアの実行テストを行うソフトウェアテスト装置が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６-３５０６７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来技術においては、ＧＵＩ（Graphical User Interface）による操作を中心として複数台の計算機を同時にテストする構成のため、コマンドの入力によって動作するソフトウェアをテスト対象とするＣＵＩ（Character-based User Interface）による試験には適用できないという問題があった。
【０００５】
また、ソフトウェアがインストールされる被テスト計算機においてＯＳやフォルダ構成などの実行環境が異なる場合には、同一の試験を行うためにもソフトウェアを実行環境に適合するように変更しなければならず、作業員の負担が大きかった。
【０００６】
そこで、本発明は、上記従来技術の問題に鑑み、ＣＵＩおよびＧＵＩによる試験に対応でき、かつ、ソフトウェアがインストールされる複数台の計算機の実行環境が異なる場合でも実行試験を同時に行えるソフトウェア自動試験装置およびその方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るソフトウェア自動試験装置は、試験対象ソフトウェアに対する操作指示情報を作成する試験指示装置と、この試験指示装置に接続され、前記操作指示情報に基づいて前記試験対象ソフトウェアを実行する試験実行装置と、からなり、前記試験指示装置は、前記試験対象ソフトウェアに対してユーザから入力された操作情報を取得し、この操作情報に基づいて操作指示情報を作成する操作指示情報作成部と、前記試験対象ソフトウェアを格納する試験対象ソフトウェア格納部と、前記格納された試験対象ソフトウェアを前記試験実行装置へ配布する配布処理部と、前記試験実行装置における前記試験対象ソフトウェアの試験結果を表示する試験結果処理部と、を備え、かつ、前記試験実行装置は、前記試験指示装置において作成された前記操作指示情報を前記試験実行装置における実行環境に対応させる定義情報を記憶する定義情報記憶部と、前記操作指示情報を前記定義情報に基づいて前記実行環境に適合した新たな操作指示情報に変換する操作指示情報変換部と、前記新たな操作指示情報に基づいて前記試験指示装置から配布された前記試験対象ソフトウェアの試験を実行し、その試験結果を前記試験指示装置へ出力する実行処理部と、を備えることを特徴とする。
【０００８】
本発明に係るソフトウェア自動試験方法は、試験対象ソフトウェアに対する操作指示情報を作成する試験指示装置と、この試験指示装置に接続され、前記操作指示情報に基づいて前記試験対象ソフトウェアを実行する試験実行装置と、からなるコンピュータシステムにおけるソフトウェア自動試験方法であって、前記試験指示装置が、前記試験対象ソフトウェアに対してユーザから入力された操作情報を取得し、この操作情報に基づいて操作指示情報を作成する操作指示情報作成ステップと、前記試験指示装置が、前記試験対象ソフトウェアを前記試験実行装置へ配布する配布処理ステップと、前記試験実行装置が、前記試験指示装置において作成された前記操作指示情報を前記試験実行装置における実行環境に対応させる定義情報に基づいて前記実行環境に適合した新たな操作指示情報に変換する操作指示情報変換ステップと、前記試験実行装置が、前記新たな操作指示情報に基づいて前記試験指示装置から配布された前記試験対象ソフトウェアの試験を実行し、その試験結果を前記試験指示装置へ出力する実行処理部と、前記試験指示装置が、前記試験実行装置における前記試験対象ソフトウェアの試験結果を表示する試験結果処理ステップと、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ＣＵＩおよびＧＵＩによる試験に対応でき、かつ、ソフトウェアがインストールされる複数台の計算機の実行環境が異なる場合でも実行試験を同時に行えるソフトウェア自動試験装置およびその方法が提供される。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態１に係るソフトウェア自動試験装置の全体構成例を示すブロック図。
【図２】図１に示す試験指示装置の操作指示情報作成部においてＧＵＩ操作に対して作成される操作指示情報の具体例を示す図。
【図３】図１に示す試験指示装置の操作指示情報作成部においてＣＵＩ操作に対して作成される操作指示情報の具体例を示す図。
【図４】図１に示す試験指示装置のノードメモリ部および第１の試験実行装置のノードメモリ部の関係を説明する図。
【図５】図１に示す試験指示装置のノードファイル記憶部および第１の試験実行装置のノードファイル記憶部の関係を説明する図。
【図６】図１に示す第１の試験実行装置の定義情報記憶部に記憶される定義情報の具体例を説明する図。
【図７】本発明の実施形態１に係るソフトウェア自動試験装置の処理の具体例を示すシーケンス図。
【図８】図１に示す試験指示装置の配布処理部の処理の具体例を示すフローチャート。
【図９】図１に示す試験指示装置の操作指示情報作成部の処理の具体例を示すフローチャート。
【図１０】図１に示す試験指示装置の同期処理部の処理の具体例を示すフローチャート。
【図１１】図１に示す第１の試験実行装置の操作指示情報変換部の処理の具体例を示すフローチャート。
【図１２】図１に示す第１の試験実行装置の操作指示情報変換部における変換処理を説明する図。
【図１３】図１に示す第１の試験実行装置の実行処理部の処理の具体例を示すフローチャート。
【図１４】本発明の実施形態２に係るソフトウェア自動試験装置の全体構成例を示すブロック図。
【図１５】図１４に示す第１〜第３の試験実行装置の定義情報記憶部に記憶される定義情報の具体例を説明する図。
【図１６】本発明の他の実施形態に係るソフトウェア自動試験装置の全体構成例を示すブロック図。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面を用いて詳細に説明する。
【００１２】
＜実施形態１＞
図１は、実施形態１に係るソフトウェア自動試験装置の全体構成例を示すブロック図である。同図に示されるように、本実施形態に係るソフトウェア自動試験装置は、試験指示装置１０に第１の試験実行装置２０、第２の試験実行装置３０、および第３の試験実行装置４０がＬＡＮなどのネットワーク(図示省略する)を介してそれぞれ接続されたコンピュータシステムである。尚、以下ではシステムを構成するネットワーク上の各装置をノードと呼ぶ。
【００１３】
試験指示装置１０は、試験対象ソフトウェア格納部１０１、入出力部１０２、操作指示情報作成部１０３、ノードメモリ部１０４、配布処理部１０５、ノードファイル記憶部１０６、同期処理部１０７、および試験結果処理部１０８を備え、各試験実行装置に対して所望のソフトウェアを配布後に操作指示情報を出力して試験を行わせると共に、その試験結果を収集するコンピュータである。
【００１４】
試験対象ソフトウェア格納部１０１は、試験実行装置において動作試験の対象とするソフトウェア（以下、「試験対象ソフトウェア」という。）を記憶する記憶装置である。尚、試験対象ソフトウェア格納部１０１には、同一機能の試験対象ソフトウェアが試験実行装置のＯＳの種類毎に備えられているものとする。
【００１５】
入出力部１０２は、マウスやキーボードなどの入力装置（図示省略する）から入力されたデータを取得する機能と、液晶ディスプレイやプリンターなどの出力装置（図示省略する）へ各部における処理データ等を出力する機能を備えるプログラムである。
【００１６】
操作指示情報作成部１０３は、試験対象ソフトウェアに対してユーザから入力された操作情報（コマンド入力、画面操作など）を取得し、この操作情報に基づいて操作指示情報を作成するプログラムである。図２は、操作指示情報作成部１０３においてＧＵＩ操作に対して作成される操作指示情報の具体例を示す図である。ここでは、種別、動作情報、座標情報、スリープ時間、ループ情報、入力フォームＩＤ、および入力文字列が項目として例示されている。例えば、データ例（１）は、試験対象ソフトウェアの実行時に画面上で“Ｘ座標：２１０，Ｙ座標：１５２”の箇所にマウスポインタを移動させ、“DoubleClick”の動作を行わせる操作指示情報である。また、データ（５）は、フォームＩＤが“form_1”のフォームに“ＡＢＣＤＥＦＧ”の文字列を入力させる操作指示情報である。
【００１７】
また、図３は、操作指示情報作成部１０３においてＣＵＩ操作に対して作成される操作指示情報の具体例を示す図である。ここでは、種別、動作情報、コマンド、コマンド引数、フォルダ情報が項目として例示されている。例えば、データ（１）は、試験対象ソフトウェアに対してコマンド“Command１”を発行し、そのコマンド引数として“Arg1”および“Arg2”を用いて処理を行わせる操作指示情報である。
【００１８】
ノードメモリ部１０４は、試験指示装置１０および試験実行装置（２０、３０、４０）の各々に対応するように分類されたノードメモリを有し、少なくとも操作指示情報および試験結果を装置間で共有可能に記憶する記憶装置である。ノードメモリは、共有メモリを使用したノード間の情報共有手段の一つであり、ノード毎に設けられることにより、自装置（以下、「自ノード」という。）から配信するデータと他の装置（以下、「他ノード」という。）から受信したデータがノード毎に管理される。
【００１９】
配布処理部１０５は、試験対象ソフトウェア格納部１０１に格納された試験対象ソフトウェアをノードファイル記憶部１０６へ出力し、同期処理部１０７を介して各試験実行装置へ配布させるプログラムである。また、本実施形態において、配布処理部１０５は、試験対象ソフトウェアをノードファイル記憶部１０６に記憶させると共に、そのインストール指示情報を操作指示情報作成部１０３へ出力し、操作指示情報としてノードメモリ部１０４に記憶させる。
【００２０】
ノードファイル記憶部１０６は、試験指示装置１０および試験実行装置（２０、３０、４０）の各々に対応するように分類されたノードファイルを装置間で共有可能に記憶する記憶装置であり、少なくとも試験対象ソフトウェアおよび試験結果に係るファイルをノードファイルとして記憶する。ノードファイルは、ノード間の情報共有手段の一つであり、ノード毎に作成されることにより、自ノードから配信するファイルと他ノードから受信したファイルはノード毎に管理される。
【００２１】
同期処理部１０７は、ノードメモリおよびノードファイルを所定の周期で検証し、更新時に装置間の同期処理を行うプログラムである。ノードメモリ、ノードファイル、および同期処理の関係については後述する。
【００２２】
試験結果処理部１０８は、各試験実行装置（２０、３０、４０）における試験対象ソフトウェアの試験結果を処理し、入出力部１０２を介して表示するプログラムである。
【００２３】
第１の試験実行装置２０は、同期処理部２０１、ノードメモリ部２０２、ノードファイル記憶部２０３、定義情報記憶部２０４、操作指示情報変換部２０５、および実行処理部２０６を備えるコンピュータである。また、第２の試験実行装置３０および第３の試験実行装置４０は、第１の試験実行装置２０と同様の機能を備えるコンピュータであるが、ＯＳが各々異なっている。尚、本実施形態においては第１の試験実行装置２０、第２の試験実行装置３０、および第３の試験実行装置４０のＯＳをそれぞれWindows（登録商標）、Solaris（登録商標）、Linux（登録商標）とし、台数を３台としているが、試験実行装置の台数やＯＳの種類はこれに限定されず、任意に設計変更可能とする。
【００２４】
同期処理部２０１、ノードメモリ部２０２、およびノードファイル記憶部２０３は、上述した試験指示装置１０の同期処理部１０７、ノードメモリ部１０４、およびノードファイル記憶部１０６とそれぞれ共通するプログラムまたは記憶装置である。
【００２５】
以下、試験指示装置１０との間の同期処理を図４および図５に基づいて説明する。図４は、ノードメモリ部１０４およびノードメモリ部２０２の関係を説明する図である。同図に示されるように、試験指示装置１０のノードメモリ部１０４は、同期処理部１０７（図示省略する）における同期処理によって自ノード（試験指示装置１０）から送信するデータを記憶する自ノードメモリ１０４Ｍと他ノード（試験実行装置２０〜４０）から受信したデータを記憶する３つの他ノードメモリ１０４Ａ〜Ｃから構成されている。ここでは、自ノードメモリ１０４Ｍには操作指示情報ＸおよびＹ、他ノードメモリ１０４Ａ〜Ｃには操作指示情報ＸおよびＹに対して各ノードで行われた試験結果データＸおよびＹがそれぞれ記憶されている。
【００２６】
これに対し、第１の試験実行装置２０のノードメモリ部２０２は、同期処理部２０１（図示省略する）における同期処理によって自ノードから送信するデータを記憶する自ノードメモリ２０２Ｍと他ノード（試験指示装置１０）から受信するデータを記憶する他ノードメモリ２０２Ａから構成されている。ここでは、他ノードメモリ２０２Ａには、他ノード（試験指示装置１０）から受信した操作指示情報ＸおよびＹが記憶され、自ノードメモリ２０２Ｍには、操作指示情報ＸおよびＹに対して自ノードで行われた試験結果データＸおよびＹがそれぞれ記憶され、試験指示装置１０との通信によりノード間で情報が共有されることが例示されている。
【００２７】
図５は、ノードファイル記憶部１０６およびノードファイル記憶部２０３の関係を説明する図である。同図に示されるように、試験指示装置１０のノードファイル記憶部１０６は、同期処理部１０７（図示省略する）における同期処理によって自ノードから送信するノードファイルを記憶する自ノードファイル記憶領域１０６Ｍと他ノード（試験実行装置２０〜４０）から受信したノードファイルを記憶する３つの他ノードファイル記憶領域１０６Ａ〜Ｃから構成されている。ここでは、自ノードファイル記憶領域１０６Ｍには試験対象ソフトウェアＡ、他ノードファイル記憶領域１０６Ａ〜Ｃには試験対象ソフトウェアに対して行われた試験結果情報を記録したログファイルがノードファイルとして記憶されている。
【００２８】
これに対し、ノードファイル記憶部２０３は、同期処理部２０１（図示省略する）における同期処理によって自ノードから送信するノードファイルを記憶する自ノードファイル記憶領域２０３Ｍと他ノード（試験指示装置１０）受信したノードファイルを格納する他ノードファイル記憶領域２０３Ａから構成されている。ここでは、他ノードファイル記憶領域２０３Ａには他ノード（試験指示装置１０）から受信した試験対象ソフトウェアが記憶され、他メモリ２０２Ｍには、操作指示情報に対して自ノードで行われた試験結果であるログファイル（node20_result_A.log）が記憶され、試験指示装置１０との通信によりノード間で情報が共有されることが例示されている。
【００２９】
定義情報記憶部２０４は、試験指示装置１０において作成された操作指示情報を各試験実行装置（２０、３０、４０）における実行環境に適合させる定義情報を記憶する記憶装置である。試験実行装置毎に異なる値を設定しなければならない場合や、ＯＳに応じた値を設定する場合に、その対応関係を予め定義しておく。図６は、定義情報記憶部２０４に記憶される定義情報の具体例を説明する図である。ここでは、ノード番号、送信先ノード番号、ＯＳ情報、フォルダ情報が項目として挙げられており、ノード番号が“２０”、ノードのＯＳが“Windows（登録商標）”、試験対象ソフトウェアの格納先が“C:\Folder\”、試験結果の送信先のノードのノード番号が“１０”であることを示している。尚、定義情報の項目は任意に変更できる。例えば、フォルダ情報を複数持たせてもよく、試験指示装置１０側でインストール指示情報の中に定義情報の項目No（定義No）を含めることによりインストール先の指定が可能となる。この場合、各試験実行装置の記憶する定義情報の項目順序を同一とすると好適である。
【００３０】
操作指示情報変換部２０５は、試験指示装置１０から受信した操作指示情報を定義情報記憶部２０４の定義情報に基づいて自ノードの実行環境（ＯＳやフォルダ構成など）に適合した新たな操作指示情報に変換するプログラムである。
【００３１】
実行処理部２０６は、操作指示情報変換部２０５において出力された新たな操作指示情報に基づいて試験指示装置１０から配布された試験対象ソフトウェアの試験を実行し、その試験結果を試験指示装置１０へ出力するプログラムである。また、ノードメモリ部２０２を参照して試験対象ソフトウェアのインストール指示情報が存在する場合には、定義情報を参照して試験対象ソフトウェアのインストールを行う。
【００３２】
図７は、本発明の実施形態１に係るソフトウェア自動試験装置の処理の具体例を示すシーケンス図である。ここでは、説明を簡潔にするため試験指示装置１０と第１の試験実行装置２０との間の処理について説明するが、試験実行装置が第２の試験実行装置３０および第３の試験実行装置４０の場合も同様である。
【００３３】
Ｓ７０１において、試験指示装置１０は、試験対象ソフトウェアをノードファイル記憶部１０６に自ノードファイルとして書込む。  
Ｓ７０２において、試験指示装置１０の同期処理部１０７は、ノードファイル記憶部１０６を参照し、配布処理部１０５で指定された試験対象ソフトウェアを第１の試験実行装置２０に配布する。
【００３４】
Ｓ７０３において、第１の試験実行装置２０の同期処理部２０１は、試験指示装置１０より配布された試験対象ソフトウェアをノードファイル記憶部２０３に書込む。これに伴い、実行処理部２０６は、定義情報とインストール指示情報に基づいて試験対象ソフトウェアをインストールする。  
Ｓ７０４において、試験指示装置１０の操作指示情報作成部１０３は、画面上での操作状況を監視し、操作情報を取得する。操作情報の具体例としては、ユーザが行ったイベントの種別（Click、DoubleClick等）、イベント時のマウスポインタの座標、入力されたコマンドや文字列の情報などが挙げられる。
【００３５】
Ｓ７０５において、試験指示装置１０の操作指示情報作成部１０３は、取得された操作情報を解析し、所定のフォーマットの操作指示情報を作成すると共に、操作指示情報を自ノードメモリ１０４Ｍに書込む。
【００３６】
Ｓ７０６において、試験指示装置１０の同期処理部１０７は、ノードファイル記憶部１０６を参照し、自ノードメモリ１０４Ｍに書込まれた操作指示情報を第１の試験実行装置２０（他ノード）へ送信する。
【００３７】
Ｓ７０７において、第１の試験実行装置２０の同期処理部２０１は、試験指示装置１０より送信された操作指示情報を受信すると、その操作指示情報を試験指示装置１０用の他ノードメモリ２０２Ａに書込む。  
Ｓ７０８において、第１の試験実行装置２０の操作指示情報変換部２０５は、他ノードメモリ２０２Ａに書込まれている試験指示装置１０からの操作指示情報を所定の周期で読込む。
【００３８】
Ｓ７０９において、第１の試験実行装置２０の操作指示情報変換部２０５は、読込んだ操作指示情報を定義情報記憶部２０４に記憶された定義情報に基づいて自ノードの実行環境に適合した新たな操作指示情報に変換する。  
Ｓ７１０において、第１の試験実行装置２０の実行処理部２０６は、変換された操作指示情報を取得し、これに基づいて試験対象ソフトウェアを実行する。
【００３９】
Ｓ７１１において、第１の試験実行装置２０の実行処理部２０６は、操作指示情報に基づく試験対象ソフトウェアの実行結果を自ノードメモリ２０２Ｍに書込む。
【００４０】
Ｓ７１２において、第１の試験実行装置２０の実行処理部２０６は、試験対象ソフトウェアの実行結果に係るログファイルを自ノードファイルとして自ノードファイル記憶領域２０４Ｍに書込む。  
Ｓ７１３において、第１の試験実行装置２０の同期処理部２０１は、自ノードメモリ２０２Ｍおよび自ノードファイル記憶領域２０４Ｍより試験結果に係るデータおよびファイルを抽出し、試験指示装置１０へ送信する。
【００４１】
Ｓ７１４において、試験指示装置１０の同期処理部１０７は、第１の試験実行装置２０から送信された試験結果を受信し、他ノードメモリ１０４Ａおよび他ノードファイル記憶領域１０６Ａにそれぞれ書込む。  
Ｓ７１５において、試験指示装置１０の試験結果処理部１０８は、他ノードメモリ１０４Ａおよび他ノードファイル記憶領域１０６Ａから取得した試験結果を入出部１０２へ出力して画面表示し、処理を終了する。
【００４２】
図８は、配布処理部１０５の処理の具体例を示すフローチャートである。  
Ｓ８０１においては、入出力部１０２においてユーザから入力された配布要求の有無を判定する。ここで、配布要求有りと判定された場合には、Ｓ８０２へ進む。これに対し、配布要求無しと判定された場合には、配布要求があるまで待機状態を維持する。
【００４３】
Ｓ８０２においては、試験対象ソフトウェアをインストールさせ、試験を実行させたい配布先ノードを決定する。  
Ｓ８０３においては、配布先ノードのＯＳ情報を取得する。
【００４４】
Ｓ８０４においては、試験対象ソフトウェアの保存先を決定する。試験指示装置１０における保存先の指定方法の例としては、定義情報中の項目Ｎｏ（定義Ｎｏ）を指定することで行う方法が挙げられる。
【００４５】
Ｓ８０５においては、試験対象ソフトウェアの配布先ノードおよび保存先の情報を含むインストール指示情報を操作指示情報作成部１０３に出力し、自ノードメモリ１０４Ｍに書込む。
【００４６】
Ｓ８０６においては、配布先ノードのＯＳに対応した試験対象ソフトウェアを試験対象ソフトウェア格納部１０１より取得し、自ノードファイルとしてノードファイル記憶部１０６の自ノードファイル記憶領域１０６Ｍ内に書込み、処理を終了する。
【００４７】
図９は、操作指示情報作成部１０３の処理の具体例を示すフローチャートである。
【００４８】
Ｓ９０１においては、試験管理画面（図示省略する）などにおいてユーザにより選択された試験対象ソフトウェアの操作方法（ＧＵＩまたはＣＵＩ）を取得する。
【００４９】
Ｓ９０２においては、選択された試験種別を取得する。ここでは、試験種別は、複数の操作指示情報を定義したシナリオ情報を読込むことにより連続した処理を行うシナリオ試験と、操作指示情報を逐次読込むことで処理を行うリアルタイム試験の二つから選択される。
【００５０】
Ｓ９０３においては、入出力部１０２を介してユーザにより選択された試験対象ソフトウェアを起動する。
【００５１】
Ｓ９０４においては、ユーザによる操作の有無を判定する。ここで、試験対象ソフトウェアに対してユーザが操作（コマンド入力やマウスのクリックなど）を行ったと判定された場合には、Ｓ９０５へ進む。これに対し、ユーザによる操作は無いと判定された場合には、操作があるまで待機状態が維持される。
【００５２】
Ｓ９０５においては、ユーザが試験対象ソフトウェアに対して行った操作情報を取得する。例えば、ユーザが画面内のボタンＡを押下した場合した場合には、そのボタンの識別ＩＤとイベント情報（Ｃｌｉｃｋ）などが操作情報として取得される。
【００５３】
Ｓ９０６においては、操作情報を所定のフォーマットに変更した操作指示情報を作成する。尚、本実施形態では、操作方法および試験種別に係る情報が操作指示情報の中に含まれ、送信対象となるものとする。
【００５４】
Ｓ９０７においては、作成された操作指示情報をノードメモリ部１０４の自ノードメモリ１０４Ｍに書込み、処理を終了する。
【００５５】
図１０は、同期処理部１０７および同期処理部２０１の処理の具体例を示すフローチャートである。ここでは、説明を簡潔にするため、試験指示装置１０を自ノード、第１の試験実行装置２０を他ノードとして説明する。
【００５６】
Ｓ１００１においては、自ノードメモリ１０４Ｍの更新の有無を判定する。ここで、更新有りと判定された場合には、Ｓ１００２へ進む。これに対し、更新無しと判定された場合には、Ｓ１００３へ進む。
【００５７】
Ｓ１００２においては、他ノードへ自ノードメモリ１０４Ｍの更新情報を送信する。
【００５８】
Ｓ１００３においては、自ノードファイル記憶領域１０６Ｍを参照し、未送信の自ノードファイルの有無を判定する。ここで、未送信の自ノードファイル有りと判定された場合には、Ｓ１００４へ進む。これに対し、未送信の自ノードファイル無しと判定された場合には、Ｓ１００５へ進む。
【００５９】
Ｓ１００４においては、他ノードへ自ノードファイルを送信する。
【００６０】
Ｓ１００５においては、他ノードからノードメモリの更新情報の受信があったか否かを判定する。ここで、ノードメモリの更新情報の受信有りと判定された場合には、Ｓ１００６へ進む。これに対し、更新情報の受信無しと判定された場合には、Ｓ１００７へ進む。
【００６１】
Ｓ１００６においては、他ノードより受信した更新情報によって自ノード内の他ノードメモリ１０４Ａの更新を行う。
【００６２】
Ｓ１００７においては、他ノードから他ノードファイルの受信があったか否かを判定する。ここで、他ノードファイルの受信有りと判定された場合には、Ｓ１００８へ進む。これに対し、他ノードファイルの受信無しと判定された場合には、処理を終了する。
【００６３】
Ｓ１００８においては、受信された他ノードファイルを自ノード内の他ノードファイル記憶領域１０６Ａに書き込み、処理を終了する。
【００６４】
図１１は、操作指示情報変換部２０５の処理の具体例を示すフローチャートである。  
Ｓ１１０１においては、所定の周期で試験指示装置１０に係る他ノードメモリ２０２Ａを参照し、未処理の操作指示情報の有無を判定する。ここで、未処理の操作指示情報が有ると判定された場合には、Ｓ１１０２へ進む。これに対し、未処理の操作指示情報が無いと判定された場合には、処理を終了する。  
Ｓ１１０２においては、他ノードメモリ２０２Ａより操作指示情報を１操作ずつ読込む。
【００６５】
Ｓ１１０３においては、読込まれた操作指示情報を解析し、定義情報に基づいて自ノードにおける実行環境に対応する新たな操作指示情報へ変換する。図１２は、操作指示情報変換部２０５における変換処理を説明する図である。ここでは、操作指示情報の種別が“処理”、動作情報が“Ｌｏｇ”、フォルダ情報が“Ｄｅｆ４”、ファイル情報が“def.log”であり、試験実行装置において定義情報“Ｄｅｆ４”で指定されるフォルダ内のファイル“def.log”をログファイルとして出力させる操作指示情報を示している。この場合、操作指示情報内のパスは試験実行装置のＯＳに応じた定義情報に基づいて変換される。例えば、Windows（登録商標）の場合には、“C;\Folder\abc\def.log”、Solaris（登録商標）の場合は“/home/Folder/abc/def.log”と変換されることが示されている。同様に、ＣＵＩ試験においてコマンドを実行させる場合には、操作指示情報内で指定されるコマンド情報を定義情報に基づいてＯＳに特有のコマンドに変換することで、ＯＳの差異を吸収できる。
【００６６】
Ｓ１１０４においては、操作指示情報に基づいて試験種別がシナリオ試験か否かを判定する。ここで、シナリオ試験と判定された場合には、Ｓ１１０５へ進む。これに対し、リアルタイム試験と判定された場合には、Ｓ１１０７へ進む。
【００６７】
Ｓ１１０５においては、変換された操作指示情報をバッファ領域（図示省略する）に蓄積する。
【００６８】
Ｓ１１０６においては、未変換の操作指示情報の有無を判定する。ここで、操作指示情報が有ると判定された場合には、Ｓ１１０２へ戻る。Ｓ１１０２〜Ｓ１１０６の処理は、試験種別がリアルタイム試験の場合を除き、未処理の操作指示情報が無くなるまで繰り返され、Ｓ１１０７へ進む。
【００６９】
Ｓ１１０７においては、変換された操作指示情報を実行処理部２０６へ出力し、処理を終了する。
【００７０】
図１３は、実行処理部２０６の処理の具体例を示すフローチャートである。
【００７１】
Ｓ１３０１においては、試験指示装置１０に係る他ノードメモリ２０２Ａを参照し、操作指示情報の有無を判定する。ここで、操作指示情報有りと判定された場合には、Ｓ１３０２へ進む。これに対して、操作指示情報無しと判定された場合には、処理を終了する。
【００７２】
Ｓ１３０２においては、操作指示情報がインストール指示情報か否かを判定する。ここで、操作指示情報がインストール指示情報であると判定された場合には、Ｓ１３０３へ進む。これに対し、操作指示情報が実行試験に係る操作情報と判定された場合には、Ｓ１３０４へ進む。
【００７３】
Ｓ１３０３においては、インストール指示情報に基づいてノードファイル記憶部２０３から試験対象ソフトウェアを取得し、インストールを行う。
【００７４】
Ｓ１３０４においては、操作指示情報を１操作ずつ読込む。
【００７５】
Ｓ１３０５においては、操作指示情報に基づいて試験対象ソフトウェアを実行する。例えば、操作指示情報が“種別：処理，動作情報：Click，X座標：２１０，Ｙ座標：１５２”の場合には、試験実行装置における表示画面上でマウスポインタが指定座標まで自動で移動し、クリックが行われる。
【００７６】
Ｓ１３０６においては、操作指示情報に基づく試験対象ソフトウェアの試験結果情報を自ノードメモリ２０２Ｍに書込む。
【００７７】
Ｓ１３０７においては、試験対象ソフトウェアの操作方法がＣＵＩか否かを判定する。ここで、操作方法がＣＵＩと判定された場合には、Ｓ１３０８へ進む。これに対し、操作方法がＧＵＩと判定された場合には、Ｓ１３０９へ進む。
【００７８】
Ｓ１３０８においては、試験結果であるログファイルを出力し、ノードファイルとしてノードファイル記憶部２０３に書込み、Ｓ１３０１へ戻る。
【００７９】
Ｓ１３０９においては、試験結果であるキャプチャ画像ファイルを生成し、ノードファイルとしてノードファイル記憶部２０３に書込み、Ｓ１３０１へ戻る。
【００８０】
このように、Ｓ１３０１〜Ｓ１３０９の処理は、全ての操作指示情報の処理が行われるまで繰返し行われる。
【００８１】
上記処理により、試験指示装置１０では、ノード毎の試験結果が対応するノードメモリに配信される。また、ログファイルなどのファイルも、ノード毎に配信されて管理される。そして、試験結果処理部１０８において試験結果が読込まれ、画面表示されることで、ユーザは試験結果を確認することが出来る。
【００８２】
上記のように、本実施形態に係るソフトウェア自動試験装置によれば、以下の効果が奏される。  
（１）動作情報や位置情報を使ってマウス操作を行うことができる。また、コマンド入力をサポートすることにより、コマンド入力によるソフトウェアの試験にも対応できる。これにより、ソフトウェア試験の対象範囲の拡張することが出来る。  
（２）ノードメモリを使うことで試験の操作指示情報が他の計算機に自動で配信されるので、リアルタイム試験とシナリオ試験の双方に対応できる。また、複数台の計算機に操作指示情報を配信することで、試験工数や人員を削減し、試験効率が向上する。  
（３）ＯＳや試験実行装置毎に異なる値などを予め定義情報として設定しておくことで、マルチプラットフォームにも対応出来る。  
（４）ソフトウェアの配布を一元管理することで、バージョンアップにも柔軟に対応出来る。
【００８３】
＜実施形態２＞
以下、実施形態２に係るソフトウェア自動試験装置について図面に基づいて説明する。尚、実施形態１と共通する符号は同一の対象を表すため、説明を省略し、異なる点について詳細に説明する。
【００８４】
図１４は、本発明の実施形態２に係るソフトウェア自動試験装置の全体構成例を示すブロック図である。同図に示されるように、本実施形態に係るソフトウェア自動試験装置は、実施形態１と比較してネットワーク上に試験対象サーバ５０が追加されている点が異なっている。試験対象サーバ５０は、試験指示装置１０から出力された操作指示情報に基づいて第１の試験実行装置２０、第２の試験実行装置３０、および第３の試験実行装置４０から出力される処理要求に基づいて処理を実行し、その処理結果を各試験実行装置へ返すコンピュータである。
【００８５】
図１５は、定義情報記憶部２０４に記憶される定義情報の具体例を説明する図である。ここでは、各試験実行装置に対するネットワーク上のどの装置がサーバノードとなるのかがＯＳ毎に定義されている。このように定義することにより、試験指示装置１０から出力された操作指示情報に基づいて各試験実行装置から試験対象サーバ５０に同時に処理要求を行うことができる。そして、その試験結果が各試験実行装置に返されると、ノードメモリおよびノードファイルの同期処理によって試験指示装置１０で全ノードから試験結果を収集可能となる。
【００８６】
尚、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。すなわち、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【００８７】
例えば、上記実施形態においては、試験指示装置１０と各試験実行装置とをＬＡＮを介して接続する構成としたが、ネットワークの種類に限定はない。図１６は、本発明の他の実施形態に係るソフトウェア自動試験装置の全体構成例を示すブロック図である。同図に示されるように、インターネットを経由して、遠隔地にあるＮ台の試験対象サーバ６０−１〜Ｎに必要なソフトウェアを配信してインストールすることもできる。これにより、試験指示装置１０より、必要な試験操作を行って複数台の試験対象サーバの同時試験を実行することが可能となる。例えば、広範囲なエリアを監視している監視システムにおいて、地域毎に監視サーバを配置しているような場合に適用できる。従来、各地域に監視サーバが配備されている場合には、各監視サーバが正常に動作しているか否か等を確認するためには各地を作業員が巡回する必要があったが、本発明を適用することで、監視サーバの状態を収集するテストコマンドを監視サーバ毎に予め用意しておけば、各地に赴くことなく一斉にテストコマンドを実行することが出来る。尚、インターネットを使用する場合は、セキュリティ面については考慮し、要件に応じてVPNなどを使用すると好適である。
【００８８】
また、定義情報を試験指示装置１０側に記憶する形式とし、試験実行装置のＯＳに適合した試験指示情報を試験対象ソフトウェアと同様に配信しても良い。任意に設計変更可能である。
【符号の説明】
【００８９】
１０…試験指示装置、
２０…第１の試験実行装置、
３０…第２の試験実行装置、
４０…第３の試験実行装置、
１０１…試験対象ソフトウェア格納部、
１０２…入出力部、
１０３…操作指示情報作成部、
１０４…ノードメモリ部、
１０４Ｍ…自ノードメモリ、
１０４Ａ〜Ｃ…他ノードメモリ、
１０５…配布処理部、
１０６…ノードファイル記憶部、
１０６Ｍ…自ノードファイル記憶領域、
１０６Ａ〜Ｃ…他ノードファイル記憶領域、
１０７…同期処理部、
１０８…試験結果処理部、
２０１…同期処理部、
２０２…ノードメモリ部、
２０２Ｍ…自ノードメモリ、
２０２Ａ…他ノードメモリ、
２０３…ノードファイル記憶部、
２０３Ｍ…自ノードファイル記憶領域、
２０３Ａ…他ノードファイル記憶領域、
２０４…定義情報記憶部、
２０５…操作指示情報変換部、
２０６…実行処理部。
【図１】
2010198335.tif 000003
【図２】
2010198335.tif 000004
【図３】
2010198335.tif 000005
【図４】
2010198335.tif 000006
【図５】
2010198335.tif 000007
【図６】
2010198335.tif 000008
【図７】
2010198335.tif 000009
【図８】
2010198335.tif 000010
【図９】
2010198335.tif 000011
【図１０】
2010198335.tif 000012
【図１１】
2010198335.tif 000013
【図１２】
2010198335.tif 000014
【図１３】
2010198335.tif 000015
【図１４】
2010198335.tif 000016
【図１５】
2010198335.tif 000017
【図１６】
2010198335.tif 000018