(57)【特許請求の範囲】
【請求項１】
第１のアプリケーションのテストを実行する情報処理装置と、前記情報処理装置とアプリケーションの実行環境が異なるテスト実行装置であって、第２のアプリケーションのテストを実行する前記テスト実行装置とを備えたテスト実行システムにおいて、
前記情報処理装置は、
前記第１のアプリケーションのテストが実行される際の操作履歴から、前記第１のアプリケーションのテストを実行するための当該第１のアプリケーション内の操作入力を行うための操作オブジェクトに対する操作内容及び操作順番を示す操作情報を生成する操作情報生成手段を備え、
前記テスト実行装置は、
前記第２のアプリケーション内の操作オブジェクトと前記操作オブジェクトの表示位置を示す操作オブジェクト情報を生成する操作オブジェクト情報生成手段と、
前記情報処理装置の前記操作情報生成手段により生成された操作情報と前記操作情報に対応する前記テスト実行装置の前記操作オブジェクト情報生成手段により生成された操作オブジェクト情報とを用いて、前記テスト実行装置において前記第２のアプリケーション内の操作オブジェクトを操作指示して前記第２のアプリケーションのテストを実行するために、前記操作情報の操作順番に基づく操作指示すべく前記操作オブジェクトの表示位置から定まる、ポインティングデバイスの操作を示すカーソルの動きを示すための位置であって、前記操作指示を行うための位置を示す操作位置と操作内容を示す操作指示情報を生成する操作指示情報生成手段とを備えることを特徴とするテスト実行システム。
【請求項２】
前記情報処理装置は、前記生成された操作情報を前記テスト実行装置へ転送する転送手段を備えることを特徴とする請求項１記載のテスト実行システム。
【請求項３】
前記第１のアプリケーションと、前記第２のアプリケーションとは、
動作対応するオペレーティングシステム、表示させる言語、のいずれか、もしくは両方が異なることを特徴とする請求項１又は２記載のテスト実行システム。
【請求項４】
前記情報処理装置と、前記テスト実行装置とは、
用いられるハードウェア、が異なることを特徴とする請求項１乃至３のいずれか１項に記載のテスト実行システム。
【請求項５】
第１のアプリケーションのテストを実行する情報処理装置と、前記情報処理装置とアプリケーションの実行環境が異なるテスト実行装置であって、第２のアプリケーションのテストを実行する前記テスト実行装置とを備えたテスト実行システムにおいて、
前記テスト実行装置は、
前記第２のアプリケーション内の操作入力を行うための操作オブジェクトと前記操作オブジェクトの表示位置を示す操作オブジェクト情報を生成する操作オブジェクト情報生成手段を備え、
前記情報処理装置は、
前記第１のアプリケーションのテストが実行される際の操作履歴から、前記第１のアプリケーションのテストを実行するための当該第１のアプリケーション内の操作オブジェクトに対する操作内容及び操作順番を示す操作情報を生成する操作情報生成手段と、
前記生成された操作情報と前記操作情報に対応する前記生成された操作オブジェクト情報とを用いて、前記テスト実行装置において前記第２のアプリケーション内の操作オブジェクトを操作指示して前記第２のアプリケーションのテストを実行するために、前記操作情報の操作順番に基づく操作指示すべく前記操作オブジェクトの表示位置から定まる、ポインティングデバイスの操作を示すカーソルの動きを示すための位置であって、前記操作指示を行うための位置を示す操作位置と操作内容を示す操作指示情報を生成する操作指示情報生成手段と、
前記生成された操作指示情報を前記テスト実行装置へ転送する転送手段とを備えることを特徴とするテスト実行システム。
【請求項６】
前記テスト実行装置は、前記生成された操作オブジェクト情報を前記情報処理装置へ転送する他の転送手段を備えることを特徴とする請求項５記載のテスト実行システム。
【請求項７】
情報処理装置とアプリケーションの実行環境が異なるテスト実行装置であって、第２のアプリケーションのテストを実行する前記テスト実行装置であって、
第１のアプリケーションのテストを実行した前記情報処理装置によって生成された前記第１のアプリケーションのテストを実行するために必要な操作順番を含む操作情報を取得する取得手段と、
前記第２のアプリケーション内の操作入力を行うための操作オブジェクトと前記操作オブジェクトの表示位置を示す操作オブジェクト情報を生成する操作オブジェクト情報生成手段と、
前記取得した操作情報と前記操作情報に対応する前記生成された操作オブジェクト情報とを用いて、前記テスト実行装置において前記第２のアプリケーション内の操作オブジェクトを操作指示して前記第２のアプリケーションのテストを実行するために、前記操作情報の操作順番に基づく操作指示すべく前記操作オブジェクトの表示位置から定まる、ポインティングデバイスの操作を示すカーソルの動きを示すための位置であって、前記操作指示を行うための位置を示す操作位置と操作内容を示す操作指示情報を生成する操作指示情報生成手段とを備えることを特徴とするテスト実行装置。
【請求項８】
テスト実行環境とアプリケーションの実行環境が異なる情報処理装置であって、
第２のアプリケーションのテストを実行するテスト実行装置によって生成された前記第２のアプリケーション内の操作入力を行うための操作オブジェクトと前記操作オブジェクトの表示位置を示す操作オブジェクト情報を取得する取得手段と、
第１のアプリケーションのテストが実行される際の操作履歴から、前記第１のアプリケーションのテストを実行するための当該第１のアプリケーション内の操作オブジェクトに対する操作内容及び操作順番を示す操作情報を生成する操作情報生成手段と、
前記生成された操作情報と前記操作情報に対応する前記取得した操作オブジェクト情報とを用いて、前記テスト実行装置において前記第２のアプリケーション内の操作オブジェクトを操作指示して前記第２のアプリケーションのテストを実行するために、前記操作情報の操作順番に基づく操作指示すべく前記操作オブジェクトの表示位置から定まる、ポインティングデバイスの操作を示すカーソルの動きを示すための位置であって、前記操作指示を行うための位置を示す操作位置と操作内容を示す操作指示情報を生成する操作指示情報生成手段と、
前記生成された操作指示情報を前記テスト実行装置へ転送する転送手段とを備えることを特徴とする情報処理装置。
【請求項９】
第１のアプリケーションのテストを実行する情報処理装置と、前記情報処理装置とアプリケーションの実行環境が異なるテスト実行装置であって、第２のアプリケーションのテストを実行する前記テスト実行装置とを備えたテスト実行システムを制御するテスト実行方法をコンピュータに実行させるプログラムにおいて、前記テスト実行方法は、
前記情報処理装置において前記第１のアプリケーションのテストを実行して、前記第１のアプリケーションのテストを実行するための当該第１のアプリケーション内の操作入力を行うための操作オブジェクトに対する操作内容及び操作順番を示す操作情報を生成する操作情報生成ステップと、
前記テスト実行装置において前記第２のアプリケーション内の操作オブジェクトと前記操作オブジェクトの表示位置を示す操作オブジェクト情報を生成する操作オブジェクト情報生成ステップと、
前記テスト実行装置において前記情報処理装置により生成された操作情報と前記操作情報に対応する前記操作オブジェクト情報生成ステップにより生成された操作オブジェクト情報とを用いて、前記テスト実行装置において前記第２のアプリケーション内の操作オブジェクトを操作指示して前記第２のアプリケーションのテストを実行するために、前記操作情報の操作順番に基づく操作指示すべく前記操作オブジェクトの表示位置から定まる、ポインティングデバイスの操作を示すカーソルの動きを示すための位置であって、前記操作指示を行うための位置を示す操作位置と操作内容を示す操作指示情報を生成する操作指示情報生成ステップとを有することを特徴とするプログラム。
【請求項１０】
第１のアプリケーションのテストを実行する情報処理装置と、前記情報処理装置とアプリケーションの実行環境が異なるテスト実行装置であって、第２のアプリケーションのテストを実行する前記テスト実行装置とを備えたテスト実行システムを制御するテスト実行方法をコンピュータに実行させるプログラムにおいて、前記テスト実行方法は、
前記テスト実行装置において前記第２のアプリケーション内の操作入力を行うための操作オブジェクトと前記操作オブジェクトの表示位置を示す操作オブジェクト情報を生成する操作オブジェクト情報生成ステップと、
前記情報処理装置において前記第１のアプリケーションのテストが実行される際の操作履歴から、前記第１のアプリケーションのテストを実行するための当該第１のアプリケーション内の操作オブジェクトに対する操作内容及び操作順番を示す操作情報を生成する操作情報生成ステップと、
前記情報処理装置において前記生成された操作情報と前記操作情報に対応する前記生成された操作オブジェクト情報とを用いて、前記テスト実行装置において前記第２のアプリケーション内の操作オブジェクトを操作指示して前記第２のアプリケーションのテストを実行するために、前記操作情報の操作順番に基づく操作指示すべく前記操作オブジェクトの表示位置から定まる、ポインティングデバイスの操作を示すカーソルの動きを示すための位置であって、前記操作指示を行うための位置を示す操作位置と操作内容を示す操作指示情報を生成する操作指示情報生成ステップと、
前記情報処理装置において前記生成された操作指示情報を前記テスト実行装置へ転送する転送ステップとを有することを特徴とするプログラム。
【請求項１１】
第１のアプリケーションのテストを実行する情報処理装置と、前記情報処理装置とアプリケーションの実行環境が異なるテスト実行装置であって、第２のアプリケーションのテストを実行する前記テスト実行装置とを備えたテスト実行システムを制御するテスト実行方法であって、前記テスト実行方法は、
前記第１のアプリケーションのテストを実行して、前記第１のアプリケーションのテストを実行するための当該第１のアプリケーション内の操作入力を行うための操作オブジェクトに対する操作内容及び操作順番を示す操作情報を生成する操作情報生成ステップと、
前記第２のアプリケーション内の操作オブジェクトと前記操作オブジェクトの表示位置を示す操作オブジェクト情報を生成する操作オブジェクト情報生成ステップと、
前記操作情報生成ステップにより生成された操作情報と前記操作情報に対応する前記操作オブジェクト生成ステップにより生成された操作オブジェクト情報とを用いて、前記第２のアプリケーション内の操作オブジェクトを操作指示して前記第２のアプリケーションのテストを実行するために、前記操作情報の操作順番に基づく操作指示すべく前記操作オブジェクトの表示位置から定まる、ポインティングデバイスの操作を示すカーソルの動きを示すための位置であって、前記操作指示を行うための位置を示す操作位置と操作内容を示す操作指示情報を生成する操作指示情報生成ステップとを有することを特徴とするテスト実行方法。
【請求項１２】
請求項９又は１０記載のプログラムを格納することを特徴とするコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テスト実行システム、テスト実行装置、情報処理装置、テスト実行方法、プログラム、及び記憶媒体に関し、特に、ＯＳ（オペレーティングシステム）の種類、ハードウェア、地域と言語（対応言語）が異なる複数のテスト実行環境においてＧＵＩ表示を行うソフトウェア・アプリケーション及びソフトウェア・システムのテスト・評価を行うテスト実行システムに関する。
【背景技術】
【０００２】
ソフトウェア・アプリケーションの開発工程全体におけるテスト・評価の工程は、時間、コストの面で大きなウェイトを占める。また、大規模なソフトウェア・システムになると、テスト・評価の工程に投入される作業工数、人員は比例的に増加し、納期の延期や開発コストの増加に繋がる。テスト・評価が十分に行われずに製品を出荷して、運用時に障害が発生した場合は、それに伴う対応及び修正によって、さらに、人員増加及びコスト増加に繋がる。特に、生活のインフラに直結するようなシステムであれば、障害が発生した場合の影響は計り知れないものになる。
【０００３】
一般に、画面表示装置に表示を行うソフトウェア・アプリケーションのテストの一つとして、主に完成後に、実際にＧＵＩを通してキーボード入力やマウス入力等を行う方法がある。従来、当該テストを行うためには、手作業で多くの工数を要していた。そこで、テスト・評価工程の効率化のために導入されるのがテスト実行システムである。
【０００４】
既存のテスト実行システムの仕組みは、テスト対象アプリケーションでの操作オブジェクトに対する操作（マウス操作、キーボード操作）履歴をテスト・スクリプトと呼ばれる形式に保存する。作成したテスト・スクリプトを実行することで、保存した操作オブジェクトに対する操作履歴を再現し、テスト・評価を効率化すると共に、テスト・評価を資源化することができる。
【０００５】
なお、既存のテスト実行システムはテスト・スクリプトでの操作オブジェクトに対する操作は画面座標を元に生成して、保存する。
【０００６】
また、従来技術として、テスト・スクリプトを部品化することで更なる効率化を実現する方法が提案されている（例えば、特許文献１参照。）。
【特許文献１】特開２００２−１４８４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術では、以下の場合における問題点は解決できていなかった。
【０００８】
通常、ＯＳの種類、ハードウェア、地域と言語といったテスト対象アプリケーションの実行環境が異なる場合には、表示画面上の操作オブジェクト（ボタン、エディットボックス等）の大きさや位置がそれぞれ異なる。
【０００９】
従来技術では、画面座標を元にテスト・スクリプトを生成しているため、テスト・スクリプトを生成した環境と、テストを実行する環境とが異なると、目的とするテスト・評価の実行が行えなくなる場合がある。したがって、テストを行う環境毎にテスト・スクリプトを再構築する必要があった。
【００１０】
例えば、日本語版ＯＳでテスト対象アプリケーション内に配置されているボタンをクリックするテスト・スクリプトを作成する。このテスト・スクリプトを英語版ＯＳ上でテスト対象アプリケーションに対して実行すると、英語版ＯＳでは、例えばボタンのサイズが小さくなってしまうため、ボタンのクリックが行われなくなる場合がある。
【００１１】
本発明の目的は、テスト・評価の工程の低減化・短期化・標準化を図ることができるテスト実行システム、テスト実行装置、情報処理装置、テスト実行方法、プログラム、及び記憶媒体を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、請求項１記載のテスト実行システムは、第１のアプリケーションのテストを実行する情報処理装置と、前記情報処理装置とアプリケーションの実行環境が異なるテスト実行装置であって、第２のアプリケーションのテストを実行する前記テスト実行装置とを備えたテスト実行システムにおいて、前記情報処理装置は、前記第１のアプリケーションのテストが実行される際の操作履歴から、前記第１のアプリケーションのテストを実行するための当該第１のアプリケーション内の操作入力を行うための操作オブジェクトに対する操作内容及び操作順番を示す操作情報を生成する操作情報生成手段を備え、前記テスト実行装置は、前記第２のアプリケーション内の操作オブジェクトと前記操作オブジェクトの表示位置を示す操作オブジェクト情報を生成する操作オブジェクト情報生成手段と、前記情報処理装置の前記操作情報生成手段により生成された操作情報と前記操作情報に対応する前記テスト実行装置の前記操作オブジェクト情報生成手段により生成された操作オブジェクト情報とを用いて、前記テスト実行装置において前記第２のアプリケーション内の操作オブジェクトを操作指示して前記第２のアプリケーションのテストを実行するために、前記操作情報の操作順番に基づく操作指示すべく前記操作オブジェクトの表示位置から定まる、ポインティングデバイスの操作を示すカーソルの動きを示すための位置であって、前記操作指示を行うための位置を示す操作位置と操作内容を示す操作指示情報を生成する操作指示情報生成手段とを備えることを特徴とする。
【００１３】
上記目的を達成するために、請求項５記載のテスト実行装置は、第１のアプリケーションのテストを実行する情報処理装置と、前記情報処理装置とアプリケーションの実行環境が異なるテスト実行装置であって、第２のアプリケーションのテストを実行する前記テスト実行装置とを備えたテスト実行システムにおいて、前記テスト実行装置は、前記第２のアプリケーション内の操作入力を行うための操作オブジェクトと前記操作オブジェクトの表示位置を示す操作オブジェクト情報を生成する操作オブジェクト情報生成手段を備え、前記情報処理装置は、前記第１のアプリケーションのテストが実行される際の操作履歴から、前記第１のアプリケーションのテストを実行するための前記第１のアプリケーション内の操作オブジェクトに対する操作内容及び操作順番を示す操作情報を生成する操作情報生成手段と、前記生成された操作情報と前記操作情報に対応する前記生成された操作オブジェクト情報とを用いて、前記テスト実行装置において前記第２のアプリケーション内の操作オブジェクトを操作指示して前記第２のアプリケーションのテストを実行するために、前記操作情報の操作順番に基づく操作指示すべく前記操作オブジェクトの表示位置から定まる、ポインティングデバイスの操作を示すカーソルの動きを示すための位置であって、前記操作指示を行うための位置を示す操作位置と操作内容を示す操作指示情報を生成する操作指示情報生成手段と、前記生成された操作指示情報を前記テスト実行装置へ転送する転送手段とを備えることを特徴とする。
【００１４】
上記目的を達成するために、請求項７記載のテスト実行装置は、情報処理装置とアプリケーションの実行環境が異なるテスト実行装置であって、第２のアプリケーションのテストを実行する前記テスト実行装置であって、第１のアプリケーションのテストを実行した前記情報処理装置によって生成された前記第１のアプリケーションのテストを実行するために必要な操作順番を含む操作情報を取得する取得手段と、前記第２のアプリケーション内の操作入力を行うための操作オブジェクトと前記操作オブジェクトの表示位置を示す操作オブジェクト情報を生成する操作オブジェクト情報生成手段と、前記取得した操作情報と前記操作情報に対応する前記生成された操作オブジェクト情報とを用いて、前記テスト実行装置において前記第２のアプリケーション内の操作オブジェクトを操作指示して前記第２のアプリケーションのテストを実行するために、前記操作情報の操作順番に基づく操作指示すべく前記操作オブジェクトの表示位置から定まる、ポインティングデバイスの操作を示すカーソルの動きを示すための位置であって、前記操作指示を行うための位置を示す操作位置と操作内容を示す操作指示情報を生成する操作指示情報生成手段とを備えることを特徴とする。
【００１５】
上記目的を達成するために、請求項８記載の情報処理装置は、テスト実行環境とアプリケーションの実行環境が異なる情報処理装置であって、第２のアプリケーションのテストを実行するテスト実行装置によって生成された前記第２のアプリケーション内の操作入力を行うための操作オブジェクトと前記操作オブジェクトの表示位置を示す操作オブジェクト情報を取得する取得手段と、第１のアプリケーションのテストが実行される際の操作履歴から、前記第１のアプリケーションのテストを実行するための当該第１のアプリケーション内の操作オブジェクトに対する操作内容及び操作順番を示す操作情報を生成する操作情報生成手段と、前記生成された操作情報と前記操作情報に対応する前記取得した操作オブジェクト情報とを用いて、前記テスト実行装置において前記第２のアプリケーション内の操作オブジェクトを操作指示して前記第２のアプリケーションのテストを実行するために、前記操作情報の操作順番に基づく操作指示すべく前記操作オブジェクトの表示位置から定まる、ポインティングデバイスの操作を示すカーソルの動きを示すための位置であって、前記操作指示を行うための位置を示す操作位置と操作内容を示す操作指示情報を生成する操作指示情報生成手段と、前記生成された操作指示情報を前記テスト実行装置へ転送する転送手段とを備えることを特徴とする。
【００１６】
上記目的を達成するために、請求項９記載のプログラムは、第１のアプリケーションのテストを実行する情報処理装置と、前記情報処理装置とアプリケーションの実行環境が異なるテスト実行装置であって、第２のアプリケーションのテストを実行する前記テスト実行装置とを備えたテスト実行システムを制御するテスト実行方法をコンピュータに実行させるプログラムにおいて、前記テスト実行方法は、前記情報処理装置において前記第１のアプリケーションのテストを実行して、前記第１のアプリケーションのテストを実行するための当該第１のアプリケーション内の操作入力を行うための操作オブジェクトに対する操作内容及び操作順番を示す操作情報を生成する操作情報生成ステップと、前記テスト実行装置において前記第２のアプリケーション内の操作オブジェクトと前記操作オブジェクトの表示位置を示す操作オブジェクト情報を生成する操作オブジェクト情報生成ステップと、前記テスト実行装置において前記情報処理装置により生成された操作情報と前記操作情報に対応する前記操作オブジェクト情報生成ステップにより生成された操作オブジェクト情報とを用いて、前記テスト実行装置において前記第２のアプリケーション内の操作オブジェクトを操作指示して前記第２のアプリケーションのテストを実行するために、前記操作情報の操作順番に基づく操作指示すべく前記操作オブジェクトの表示位置から定まる、ポインティングデバイスの操作を示すカーソルの動きを示すための位置であって、前記操作指示を行うための位置を示す操作位置と操作内容を示す操作指示情報を生成する操作指示情報生成ステップとを有することを特徴とする。
【００１７】
上記目的を達成するために、請求項１０記載のプログラムは、第１のアプリケーションのテストを実行する情報処理装置と、前記情報処理装置とアプリケーションの実行環境が異なるテスト実行装置であって、第２のアプリケーションのテストを実行する前記テスト実行装置とを備えたテスト実行システムを制御するテスト実行方法をコンピュータに実行させるプログラムにおいて、前記テスト実行方法は、前記テスト実行装置において前記第２のアプリケーション内の操作入力を行うための操作オブジェクトと前記操作オブジェクトの表示位置を示す操作オブジェクト情報を生成する操作オブジェクト情報生成ステップと、前記情報処理装置において前記第１のアプリケーションのテストが実行される際の操作履歴から、前記第１のアプリケーションのテストを実行するための当該第１のアプリケーション内の操作オブジェクトに対する操作内容及び操作順番を示す操作情報を生成する操作情報生成ステップと、前記情報処理装置において前記生成された操作情報と前記操作情報に対応する前記生成された操作オブジェクト情報とを用いて、前記テスト実行装置において前記第２のアプリケーション内の操作オブジェクトを操作指示して前記第２のアプリケーションのテストを実行するために、前記操作情報の操作順番に基づく操作指示すべく前記操作オブジェクトの表示位置から定まる、ポインティングデバイスの操作を示すカーソルの動きを示すための位置であって、前記操作指示を行うための位置を示す操作位置と操作内容を示す操作指示情報を生成する操作指示情報生成ステップと、前記情報処理装置において前記生成された操作指示情報を前記テスト実行装置へ転送する転送ステップとを有することを特徴とする。
【００１８】
上記目的を達成するために、請求項１１記載のテスト実行方法は、第１のアプリケーションのテストを実行する情報処理装置と、前記情報処理装置とアプリケーションの実行環境が異なるテスト実行装置であって、第２のアプリケーションのテストを実行する前記テスト実行装置とを備えたテスト実行システムを制御するテスト実行方法であって、前記テスト実行方法は、前記第１のアプリケーションのテストを実行して、前記第１のアプリケーションのテストを実行するための当該第１のアプリケーション内の操作入力を行うための操作オブジェクトに対する操作内容及び操作順番を示す操作情報を生成する操作情報生成ステップと、前記第２のアプリケーション内の操作オブジェクトと前記操作オブジェクトの表示位置を示す操作オブジェクト情報を生成する操作オブジェクト情報生成ステップと、前記操作情報生成ステップにより生成された操作情報と前記操作情報に対応する前記操作オブジェクト生成ステップにより生成された操作オブジェクト情報とを用いて、前記第２のアプリケーション内の操作オブジェクトを操作指示して前記第２のアプリケーションのテストを実行するために、前記操作情報の操作順番に基づく操作指示すべく前記操作オブジェクトの表示位置から定まる、ポインティングデバイスの操作を示すカーソルの動きを示すための位置であって、前記操作指示を行うための位置を示す操作位置と操作内容を示す操作指示情報を生成する操作指示情報生成ステップとを有することを特徴とする。
【００１９】
上記目的を達成するために、請求項１２記載のコンピュータで読み取り可能な記憶媒体は、請求項９又は１０記載のプログラムを格納することを特徴とする。
【発明の効果】
【００２０】
本発明によれば、テスト対象アプリケーションの実行環境が異なる場合においても、操作者の負担を増やすことなく、テスト・評価の工程の低減化・短期化・標準化を図ることができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００２２】
まず、本発明の第１の実施の形態に係るテスト実行システムについて説明する。
【００２３】
図１は、本実施の形態に係るテスト実行システムのハードウェア構成を概略的に示すブロック図である。
【００２４】
図１において、動作スクリプト生成コンピュータ１０１（情報処理装置）は、ＣＰＵ１０３、ＲＡＭ１０４、プログラム／データＲＯＭ１０５、キーボードコントローラ（ＫＢＣ）１０６、ポイントデバイスコントローラ（ＰＤＣ）１０８、ビデオコントローラ（ＶＣ）１１０、メモリコントローラ（ＭＣ）１１２、及びネットワークコントローラ（ＮＣ）１１４を備え、これらはシステムバス１０２を介して互いに接続されている。
【００２５】
ＣＰＵ１０３は、処理の実行に際して必要なプログラム等をＲＡＭ１０４にロードして、プログラムを実行することで各種動作を実現する。ＲＡＭ１０４は、ＣＰＵ１０３の主メモリ、ワークエリア等として機能する。プログラム／データＲＯＭ１０５或いは外部メモリ（ＨＤＤ）１１３には、ＣＰＵ１０３の制御プログラムであるＢＩＯＳ（Basic Input / Output System）及びオペレーティングシステム（以下、ＯＳと呼ぶ）、並びにコンピュータの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００２６】
ＫＢＣ１０６は、キーボード１０７からの入力を制御する。ＰＤＣ１０８は、マウス１０９やその他のポインティングデバイスからの入力を制御する。ＶＣ１１０は、ディスプレイ１１１等の表示機への表示を制御する。ＭＣ１１２は、ブートプログラム、ブラウザソフトウェア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、及び各種データ等を記憶するハードディスク（ＨＤＤ）、並びにフロッピー（登録商標）ディスク（ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ１１３へのアクセスを制御する。ＮＣ１１４は、ネットワークを介して外部機器と接続・通信して、ネットワークでの通信制御処理を実行する。
【００２７】
テスト実行コンピュータ１１５（テスト実行装置）は、上述した動作スクリプト生成コンピュータ１０１と同様の構成であり、ＮＣ１１４及びＮＣ１２８は互いに通信が可能である。
【００２８】
図２は、本実施の形態に係るテスト実行システムのシステム構成を概略的に示すブロック図である。図２は、本実施の形態に係るテスト実行システムの一例を示しており、テスト実行環境の数、ＯＳの種類、対応言語、及びハードウェアの機種等は、テスト対象アプリケーションの対応状況や実際の実施の形態によって変更可能である。また、以下に詳述する本実施の形態では、テスト対象アプリケーションがスタンドアローン型のアプリケーションであるが、本発明はサーバ・クライアント型のシステムや、ブラウザ等を用いたＷｅｂアプリケーション型のアプリケーションにおいても適用可能である。
【００２９】
図２において、動作スクリプト生成環境２０１に、ＯＳ２０２、テスト対象となる第１のアプリケーション２０３、及び動作スクリプト生成モジュール２０４を配置する。動作スクリプト生成環境２０１は、図１における動作スクリプト生成コンピュータ１０１に該当する。ＯＳ２０２の種類はWindows(登録商標)XPであり、対応言語はJP（日本語）である。第１のアプリケーション２０３及び動作スクリプト生成モジュール２０４は、図１におけるプログラム／データＲＯＭ１０５或いは外部メモリ（ＨＤＤ）１１３に記憶される。動作スクリプト生成モジュール２０４の詳細な処理については、後述する。
【００３０】
また、テスト実行環境Ａ２０６に、ＯＳ２０７、テスト対象となる第２のアプリケーション２０８、及びスクリプト実行モジュール２０９を配置する。テスト実行環境Ａ２０６は、図１におけるテスト実行コンピュータ１１５に該当する。ＯＳ２０７は、上述したＯＳ２０２と同様であるとするが、異なるＯＳであってもよい。第２のアプリケーション２０８及びスクリプト実行モジュール２０９は、図１におけるプログラム／データＲＯＭ１１９或いは外部メモリ（ＨＤＤ）１２７に記憶される。スクリプト実行モジュール２０９の詳細な処理については、後述する。
【００３１】
また、テスト実行環境Ｂ２１０に、ＯＳ２１１、第２のアプリケーション２１２、及びスクリプト実行モジュール２１３を配置し、テスト実行環境Ｃ２１４に、ＯＳ２１５、第２のアプリケーション２１６、及びスクリプト実行モジュール２１７を配置する。なお、第２のアプリケーション２０８、第２のアプリケーション２１２、及び第２のアプリケーション２１６は同一のアプリケーションであり、スクリプト実行モジュール２０９、スクリプト実行モジュール２１３、及びスクリプト実行モジュール２１７は同一のモジュールである。ここで、同一のアプリケーションとは、画面表示させる言語の違い、および／または動作対応するＯＳが異なるが機能的には同じ処理を行うアプリケーションを指す。
【００３２】
テスト実行環境Ａ２０６のＯＳ２０７、テスト実行環境Ｂ２１０のＯＳ２１１、テスト実行環境Ｃ２１４のＯＳ２１５の種類は、Windows（登録商標）XPであり、対応言語はそれぞれJP（日本語）、US（英語（米国））、DE（ドイツ語）である。
【００３３】
なお、本実施の形態においては米国Microsoft社のWindows（登録商標）をＯＳとした構成を用いて説明を行っているが、他のＯＳを用いた構成においても本発明は適用可能である。
【００３４】
動作スクリプト生成環境２０１、テスト実行環境Ａ２０６、テスト実行環境Ｂ２１０、及びテスト実行環境Ｃ２１４はそれぞれネットワーク２０５を介して接続されている。このネットワーク状態は、動作スクリプト生成環境２０１においては、図１におけるＮＣ１１４によって、テスト実行環境Ａ２０６、テスト実行環境Ｂ２１０、テスト実行環境Ｃ２１４においては、図１におけるＮＣ１２８によって実現される。
【００３５】
図３は、図２における動作スクリプト生成モジュール及びスクリプト実行モジュールの機能を説明するための図である。
【００３６】
図３において、動作スクリプト生成モジュール３０１は、図２における動作スクリプト生成モジュール２０４に該当し、スクリプト実行モジュール３０８は、図２におけるスクリプト実行モジュール２０９、スクリプト実行モジュール２１３、スクリプト実行モジュール２１７に該当する。
【００３７】
動作スクリプト生成モジュール３０１において、まず、第１のアプリケーション内の操作オブジェクトに対する操作入力３０２が入力されると、操作解析部３０３が当該操作入力３０２を監視して、操作履歴を解析する。この操作履歴の解析処理の具体例は、後述する。操作解析部３０３は当該操作入力３０２を解析することにより、操作情報３０４を生成する。操作情報３０４は、操作オブジェクトの「画面名」、「オブジェクト種類」、「オブジェクト名」、及び「操作内容」の４項目からなる。ここで、操作入力とは、図２におけるキーボード１０７、マウス１０９やその他のポインティングデバイスからの入力が該当する。また、操作オブジェクトとは、第１のアプリケーション内のボタン、エディットボックス、コンボボックス等が該当する。
【００３８】
次いで、操作情報３０４を元に動作スクリプト生成部３０５によって動作スクリプト３０６を生成する。動作スクリプト生成部３０６は操作情報３０４の項目「画面名」、「オブジェクト種類」、「オブジェクト名」、及び「操作内容」に「操作順番」の項目を追加すると共に、スクリプトの形式に変換して、動作スクリプト３０６の終端レコードに追加する。動作スクリプトのデータ構造は、図１０に示すような構造となる。動作スクリプト生成モジュール３０１の処理の詳細は、後述する。なお、動作スクリプト３０６は、操作情報３０４に「操作順番」を追加してスクリプト形式に変換したものであるとして説明するが、動作スクリプト３０６は操作情報３０４を含んでいるため、後述するように、動作スクリプト３０６がスクリプト実行モジュール３０８に転送されずとも、操作情報３０４が転送されるように構成してもよい。
【００３９】
次いで、生成された動作スクリプト３０６は、動作スクリプト転送部３０７によって、スクリプト実行モジュール３０８へと転送される。すなわち、図２におけるネットワーク２０５を経由して、各テスト実行環境へと転送される。転送された動作スクリプト３０６は、図１におけるスクリプト生成コンピュータ１０１内のプログラム／データＲＯＭ１１９或いは外部メモリ（ＨＤＤ）１２７に記憶される。動作スクリプト転送部３０７の処理の詳細は、後述する。
【００４０】
一方、スクリプト実行モジュール３０８において、まず、操作オブジェクト情報解析部３０９によって第２のアプリケーションの操作オブジェクトの表示位置を示す操作オブジェクト情報３１０を解析する。なぜなら、マウスなどのポインティングデバイスを介する操作によりカーソルを動かして、左クリックなどの操作を行うためには、テスト対象となる第２のアプリケーション内の操作オブジェクト（ボタン、スクロールバー、ラジオボタン、エディットボックスなど）の画面上の座標を調べる必要があるためである。操作オブジェクト情報３１０は、各操作オブジェクトの「画面名」、「オブジェクト種類」、「オブジェクト名」、「左上端のＸ座標」、「左上端のＹ座標」、「幅」、及び「高さ」の７項目である。「左上端のＸ座標」、「左上端のＹ座標」、「幅」、及び「高さ」の単位はピクセル、若しくはセンチ又はインチである。領域スクリプト生成部３１１は、操作オブジェクト情報３１０をスクリプトの形式に変換して、領域スクリプト３１２を生成する。領域スクリプトのデータ構造は、図１１に示すような構造となる。なお、ここでいう領域スクリプト３１２とは、操作オブジェクト情報３１０と同等のものであるが、実行スクリプト生成部３１３が読み込み実行しやすいように、操作オブジェクト情報３１０をスクリプト形式にしたものを領域スクリプト３１２と呼ぶことにする。
【００４１】
次いで、領域スクリプト３１２の生成が終了すると、領域スクリプト３１２（操作オブジェクト情報３１０でもよい）と動作スクリプト転送部３０７によって転送された動作スクリプト３０６（操作情報３０４でもよい）とを元に実行スクリプト生成部３１３は実行スクリプト３１４（操作指示情報と呼ぶ）を生成する。実行スクリプトのデータ構造は、図１１に示すような構造となる。
【００４２】
次いで、生成された実行スクリプト３１４を実行スクリプト実行部３１５が実行して、実行結果３１６を実行結果表示部３１７に表示する。実行結果表示部３１７には、画面に「正常終了」、「エラー内容」等の情報が表示される。スクリプト実行モジュール３０８の処理の詳細は、後述する。
【００４３】
図４は、本実施の形態に係るテスト実行システムが実行するテスト実行処理の手順を示すフローチャートである。
【００４４】
図４において、まず、動作スクリプト生成モジュール３０１は、後述する図５の動作スクリプト生成処理を行い（ステップＳ４０１）、第１のアプリケーションの動作スクリプト（操作情報）を生成する。
【００４５】
次いで、動作スクリプト生成モジュール３０１は、後述する図６の動作スクリプト転送処理を行い（ステップＳ４０２）、ステップＳ４０１で生成した動作スクリプトをテスト実行環境へ転送する。
【００４６】
次に、スクリプト実行モジュール３０８は、後述する図７の領域スクリプト生成処理を行い（ステップＳ４０３）、テスト実行環境における第２のアプリケーションの領域スクリプト（操作オブジェクト情報）を生成する。
【００４７】
次いで、スクリプト実行モジュール３０８は、後述する図８の実行スクリプト生成処理を行い（ステップＳ４０４）、ステップＳ４０２で転送された動作スクリプトとステップＳ４０３で生成された領域スクリプトとを用いて、第２のアプリケーションの実行スクリプト（操作指示情報）を生成する。
【００４８】
続くステップＳ４０５では、ステップＳ４０４で生成された実行スクリプトを実行し、続くステップＳ４０６では、ステップＳ４０５での実行結果を表示して、本処理を終了する。
【００４９】
なお、ステップＳ４０６で表示される実行結果の項目は、「実行件数」、「成功件数」、「エラー件数」、及び「エラー内容」を有し、ステップＳ４０６ではＧＵＩを用いて当該項目を表示すると共に、当該項目の内容をテスター（図示しない）へ通知する。
【００５０】
図５は、図４のステップＳ４０１の動作スクリプト生成処理の手順を示すフローチャートである。
【００５１】
図５において、まず、ステップＳ５０１では、操作オブジェクトに対する操作の監視を開始する。ここで、第１のアプリケーションは予め起動されているものとする。ここでの第１のアプリケーションは図２における第１のアプリケーション２０３が該当する。
【００５２】
次いで、ステップＳ５０２では、第１のアプリケーション内の操作オブジェクトに対する操作を検知し、続くステップＳ５０３では、ステップＳ５０２で操作オブジェクトに対する操作を検知した場合に、操作された操作オブジェクトの操作情報の履歴を解析する。操作情報は、操作された操作オブジェクトが配置されている「画面名」、「オブジェクト種類」、「オブジェクト名」、及び「操作内容」の４項目からなる。
【００５３】
次いで、ステップＳ５０４では、動作スクリプトに登録されている動作レコード数を取得し、続くステップＳ５０５では、ステップＳ５０４で取得した動作レコード数をインクリメントした（１プラスした）数値を「操作順番」として、操作情報に追加する。
【００５４】
次いで、ステップＳ５０６では、操作情報をスクリプトに変換し、続くステップＳ５０７では、ステップＳ５０６で変換されたスクリプトを動作スクリプトの終端レコードに追加する。
【００５５】
次いで、ステップＳ５０８では、操作オブジェクトに対する操作の監視を終了する指示があるか否かを判別し、指示がないときは（ステップＳ５０８でＮＯ）、再び操作オブジェクトに対する操作の監視を続行してステップＳ５０２の処理に戻り、指示があるときは（ステップＳ５０８でＹＥＳ）、操作オブジェクトに対する操作の監視を終了して（ステップＳ５０９）、本処理を終了する。
【００５６】
本処理における動作スクリプトのデータ構造は、図９に示すような構造であり、図１における動作スクリプト生成コンピュータ１０１のプログラム／データＲＯＭ１０５或いは外部メモリ（ＨＤＤ）１１３に記録される。
【００５７】
なお、画面名を取得するＡＰＩは、
int GetWindowText (hWndApp, sWndTitle, cLen)
である。ここで、hWndAppはアプリケーション画面のハンドル、sWndTitleは画面名、cLenは画面名の文字列長を意味している。これにより、操作オブジェクトが配置されている「画面名」が取得される。
【００５８】
また、マウス操作、キーボード操作のWindows（登録商標）メッセージを取得するＡＰＩは、
LRESULT WinProc(hWndApp, Msg, wParam, lParam)
である。ここで、hWndAppはアプリケーション画面のハンドル、Msgは取得したウィンドウメッセージ、wParamはパラメータ1、lParamはパラメータ2を意味している。
【００５９】
例えば、Enterキーの押下であれば、Windows（登録商標）メッセージは、「WM_KEYDOWN」、パラメータに「VK_ENTER」が取得できる。また、マウス操作であれば、右クリックされた場合は、Windows（登録商標）メッセージで「WM_RBUTTONDOWN」が取得できる。これにより、操作オブジェクトに対する「操作内容」が取得される。
【００６０】
また、操作対象のオブジェクトのウィンドウハンドルを取得するＡＰＩは、
HWND GetFocus()
である。戻り値が操作対象のオブジェクトのウィンドウハンドルを意味する。
【００６１】
また、操作対象のオブジェクトの固有値(ID)を取得するＡＰＩは、
int GetDlgCtrlID (hWndFocus)
である。ここで、hWndFocusはGetFocus()で取得したウィンドウハンドルを意味している。これにより、操作された操作オブジェクトを特定する情報が取得される。
【００６２】
図６は、図４のステップＳ４０２の動作スクリプト転送処理の手順を示すフローチャートである。図６の処理は、図３における動作スクリプト転送部３０７の処理に該当する。
【００６３】
図６において、まず、ステップＳ６０１では、動作スクリプトのリストを取得する。ここでの動作スクリプトは、図３における動作スクリプト生成部３０５で生成された動作スクリプト３０６でり、図１における動作スクリプト生成コンピュータ１０１のプログラム／データＲＯＭ１０５或いは外部メモリ（ＨＤＤ）１１３に記録される。
【００６４】
次いで、ステップＳ６０２では、ネットワーク上の動作スクリプトを転送するコンピュータのリストを取得する。ここでのコンピュータは、図２におけるテスト実行環境Ａ２０６、テスト実行環境Ｂ２１０、及びテスト実行環境Ｃ２１４が該当する。
【００６５】
次いで、ステップＳ６０３では、ステップＳ６０１で取得した動作スクリプトのリストとステップＳ６０２で取得したコンピュータのリストとをスクリプト転送画面に反映させて表示する。スクリプト転送画面は、図８に示すような画面であり、詳細は後述する。
【００６６】
次いで、ステップＳ６０４では、スクリプト転送画面から転送する動作スクリプトと該動作スクリプトを転送するコンピュータを選択し、続くステップＳ６０５で転送指示がされると、ステップＳ６０６では、ステップＳ６０４で選択した動作スクリプトをステップＳ６０４で選択したコンピュータへネットワーク経由で転送して、本処理を終了する。ここでのネットワークは、図２におけるネットワーク２０５が該当する。
【００６７】
なお、本実施の形態では、第２のアプリケーション、及びスクリプト実行モジュールが予めテスト実行環境Ａ２０６、テスト実行環境Ｂ２１０、及びテスト実行環境Ｃ２１４に格納されていることを前提とするが、本転送処理と同様に第２のアプリケーション、及びスクリプト実行モジュールをテスト実行環境に転送してもよい。また、ネットワークを介することなく、ＣＤ−ＲＯＭやフロッピー(登録商標)ディスク等の記録媒体により本転送処理を実現してもよい。
【００６８】
図９は、図６におけるステップＳ６０３で表示するスクリプト転送画面の一例である。
【００６９】
図９において、オブジェクト９０１では、保存されている動作スクリプトをリスト形式で表示する。表示される動作スクリプトは図６のステップＳ６０１で取得したリストである。オブジェクト９０２では、ネットワーク上の動作スクリプトを転送するコンピュータリストを表示する。表示されるコンピュータリストは、図６のステップＳ６０２で取得したリストである。オブジェクト９０３では、転送を選択されたコンピュータのリストを表示する。
【００７０】
また、オブジェクト９０４を押下すると、オブジェクト９０２で選択されている項目をオブジェクト９０３に移動し、オブジェクト９０５を押下すると、オブジェクト９０３で選択されている項目をオブジェクト９０２に移動する。これにより、転送するコンピュータの指定を編集することができる。
【００７１】
また、オブジェクト９０６を押下すると、オブジェクト９０１で選択された動作スクリプトをオブジェクト９０３で選択されたコンピュータへ転送し、オブジェクト９０７を押下すると、動作スクリプトの転送をキャンセルする。
【００７２】
図７は、図４のステップＳ４０３の領域スクリプト生成処理の手順を示すフローチャートである。
【００７３】
図７において、まず、第２のアプリケーションは予め起動されているものとする。第２のアプリケーションは、図２における第２のアプリケーション２０８、第２のアプリケーション２１２、及び第２のアプリケーション２１６が該当する。
【００７４】
次いで、ステップＳ７０１では、第２のアプリケーション内の操作オブジェクトの表示位置情報（操作オブジェクト情報）を取得して解析する。操作オブジェクト情報は、操作オブジェクトの配置されている「画面名」、「オブジェクト種類」、「オブジェクト名」、「左上端のＸ座標」、「左上端のＹ座標」、「幅」、及び「高さ」の７項目である。
【００７５】
次いで、ステップＳ７０２では、ステップＳ７０１で解析された操作オブジェクト情報をスクリプトに変換して、続くステップＳ７０３では、ステップＳ７０２で変換されたスクリプトを領域スクリプトに追加する。
【００７６】
次いで、ステップＳ７０４では、第２のアプリケーション内に存在する全てのオブジェクトの操作オブジェクト情報をスクリプトに変換したか否かを判別し、変換していないときは（ステップＳ７０４でＮＯ）、ステップＳ７０１以降の処理を繰り返し、変換したときは（ステップＳ７０４でＹＥＳ）、本処理を終了する。
【００７７】
本処理における領域スクリプトのデータ構造は、図１０に示すような構造である。
【００７８】
なお、画面名を取得するＡＰＩは、
int GetWindowText (hWndApp, sWndTitle, cLen)
である。ここで、hWndAppはアプリケーション画面のハンドル、sWndTitleは画面名、cLenは画面名の文字列長を意味している。これにより、操作オブジェクトが配置されている「画面名」が取得される。
【００７９】
また、アプリケーション内の操作オブジェクト情報を列挙するＡＰＩは、
BOOL EnumChildWindows（登録商標）(hWndApp, lpEnumFunc, lParam)
である。ここで、hWndAppはアプリケーション画面のハンドル、lpEnumFuncはコールバック関数へのポインタ、lParamはコールバック関数へ渡す32ビット値を意味している。LpEnumFuncで指定したコールバック関数内で、オブジェクト名を取得する。
【００８０】
また、アプリケーションの画面の座標を取得するＡＰＩは、
BOOL GetWindow（登録商標）Rect(hWndApp,pRect)
である。ここで、hWndAppはアプリケーション画面のハンドル、pRectはアプリケーションの画面の座標（原点(０，０)は画面左上とする）を意味している。また、pRectは構造体であり、以下の項目を有する。
【００８１】
Left：左上のＸ座標
top：左上のＹ座標
right：右下のＸ座標
bottom：右下のＹ座標
また、操作対象のオブジェクトの座標を取得するＡＰＩは、
BOOL GetClientRect(hWndObj,pRect)
である。ここで、hWndObjは操作対象のオブジェクトのハンドル、pRectは操作対象のオブジェクトの座標（原点(０，０)はアプリケーションの画面の左上とする）を意味している。pRectはGetWindowRectのものと同じ構造体である。pRectから幅と高さを取得する。GetWindowRectで取得したpRectと、GetClientRectで取得したpRectから画面左上を原点(０，０)とした操作対象のオブジェクトの座標を取得する。これにより、操作オブジェクトの配置されている、「左上端のＸ座標」、「左上端のＹ座標」、「幅」、及び「高さ」が取得される。
【００８２】
図８は、図４のステップＳ４０４の実行スクリプト生成処理の手順を示すフローチャートである。
【００８３】
図８において、まず、ステップＳ８０１では、動作スクリプトから「操作順番」順にレコードを順次取得する。動作スクリプトは、図３における動作スクリプト転送部３０７にて転送された動作スクリプトが該当する。動作スクリプトは、図１におけるテスト実行コンピュータ１１５のプログラム／データＲＯＭ１１９或いは外部メモリ（ＨＤＤ）１２７に記憶されている。
【００８４】
次いで、ステップＳ８０２では、ステップＳ８０１で取得した動作スクリプトの「画面名」、「オブジェクト種類」、及び「オブジェクト名」に適応するレコードを領域スクリプトから取得する。
【００８５】
次いで、ステップＳ８０３では、ステップＳ８０１で取得した動作スクリプト及びステップＳ８０２で取得した領域スクリプトを用いてスクリプトを生成し、続くステップＳ８０４では、ステップＳ８０３で生成したスクリプトを実行スクリプトに追加する。実行スクリプトは、「操作順番」、「画面名」、「オブジェクト種類」、「オブジェクト名」、「左上端のＸ座標」、「左上端のＹ座標」、「幅」、「高さ」、及び「操作内容」の９項目であり、データ構成は、図１２に示すような構造である。
【００８６】
次いで、ステップＳ８０５では、動作スクリプト内に未処理のレコードがあるか否かを判別し、未処理のレコードがある場合は、ステップＳ８０１以降の処理を繰り返し、未処理のレコードがない場合は、本処理を終了する。
【００８７】
上述した、図４〜図８の処理によれば、動作スクリプト生成モジュール３０１において生成された第１のアプリケーションの動作スクリプトと、スクリプト実行モジュール３０８において生成された第２のアプリケーションの領域スクリプトとを用いて、スクリプト実行モジュール３０８において第２のアプリケーションの実行スクリプトを生成し、該生成された実行スクリプトをスクリプト実行モジュール３０８において実行すると共に実行結果を表示するので、第２のアプリケーションの実行環境が異なる場合においても、第２のアプリケーションの実行スクリプトを再構築する必要がなく、もって、テスト・評価の工程の低減化・短期化・標準化を図ることができる。
【００８８】
図１０は、動作スクリプトのデータ構造を説明するための図であり、図１１は、領域スクリプトのデータ構造を説明するための図であり、図１２は、実行スクリプトのデータ構造を説明するための図である。
【００８９】
図１０において、動作スクリプトは「操作順番」、「画面名」、「オブジェクト種類」、「オブジェクト名」、及び「操作内容」の５項目からなるリスト形式のデータ構造となり、領域スクリプトは「画面名」、「オブジェクト種類」、「オブジェクト名」、「左上端のＸ座標」、「左上端のＹ座標」、「幅」、及び「高さ」の７項目からなるリスト形式のデータ構造となり、実行スクリプトは「操作順番」、「画面名」、「オブジェクト種類」、「オブジェクト名」、「左上端のＸ座標」、「左上端のＹ座標」、「幅」、「高さ」、及び「操作内容」の９項目からなるリスト形式のデータ構造となる。上記「左上端のＸ座標」、「左上端のＹ座標」、「幅」、「高さ」の単位はピクセル、若しくはセンチ又はインチとする。
【００９０】
図１２に示す実行スクリプトは、図３における実行スクリプト生成部３１３で図１０に示す実行スクリプトと図１１に示す領域スクリプトとを元に生成されるスクリプトである。図１０に示す動作スクリプトの「画面名」、「オブジェクト種類」、「オブジェクト名」と、図１１に示す領域スクリプト「画面名」、「オブジェクト種類」、「オブジェクト名」とが合致する項目を結合して、図１２に示す実行スクリプトを生成する。具体的には、各スクリプトが図１０〜図１２の場合、動作スクリプトＡが領域スクリプトｃと、動作スクリプトＢが領域スクリプトｂと、動作スクリプトＣが領域スクリプトａとそれぞれ合致して、図１２の実行スクリプトを生成する。
【００９１】
次に、本発明の第２の実施の形態に係るテスト実行システムについて説明する。
【００９２】
本実施の形態は、その構成や作用が上述した第１の実施の形態と基本的に同じであり、各テスト実行環境の領域スクリプトを管理する領域スクリプト管理部と、実行スクリプト生成部とを動作スクリプト生成環境に備える点で上述した第１の実施の形態と異なる。
【００９３】
本実施の形態では、動作スクリプト生成環境で各テスト実行環境の実行スクリプトを生成して、該生成した実行スクリプトをスクリプト転送部にて各テスト実行環境に転送し、テスト実行環境で実行スクリプトを実行する。
【００９４】
図１３は、本実施の形態におけるスクリプト生成モジュール及びスクリプト実行モジュールの機能を説明するための図である。
【００９５】
図１３において、スクリプト生成モジュール３２１は図２における動作スクリプト生成環境２０１に該当し、スクリプト実行モジュール３２６は図２におけるテスト実行環境Ａ２０６、テスト実行環境Ｂ２１０、及びテスト実行環境Ｃ２１４に該当する。
【００９６】
スクリプト生成モジュール３２１では、まず、第１のアプリケーションに対する操作オブジェクトに対する操作入力３２２が入力されると、操作情報解析部３２３が当該操作オブジェクトに対する操作入力３２２を監視して、解析する。解析された操作情報を元に動作スクリプト生成部３２４によって動作スクリプトを生成する。生成された動作スクリプトは動作スクリプト管理部３２５において管理される。
【００９７】
一方、スクリプト実行モジュール３２６では、まず、操作オブジェクト情報解析部３２７によって第２のアプリケーションの操作オブジェクト情報を解析し、解析された操作オブジェクト情報を元に領域スクリプト生成部３２８は領域スクリプトを生成する。
【００９８】
スクリプト実行モジュール３２６で生成した領域スクリプトは、スクリプト生成モジュール３２１のテスト実行環境領域スクリプト管理部３２９において管理される。
【００９９】
次いで、実行スクリプト生成部３３０は動作スクリプトと領域スクリプトとを用いて、各テスト実行環境の実行スクリプトを生成する。
【０１００】
そして、生成した実行スクリプトを再び各テスト実行環境に転送して、実行スクリプト記憶部３３１に記憶すると共に、実行スクリプト実行部３３２で実行し、実行結果表示部３３３で実行結果の表示を行う。
【０１０１】
本実施の形態によれば、スクリプト生成モジュール３２１において生成された第１のアプリケーションの動作スクリプトと、スクリプト実行モジュール３２６において生成された第２のアプリケーションの領域スクリプトとを、スクリプト生成モジュール３２１において統合して第２のアプリケーションの実行スクリプトを生成し、該生成した実行スクリプトをスクリプト実行モジュール３２６において実行すると共に実行結果を表示するので、上述した第１の実施の形態と同様の効果を奏することができる。
【０１０２】
また、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した各実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した各実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１０３】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【０１０４】
また、コンピュータが読み出したプログラムコードを実行することにより、上記各実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
【０１０５】
更に、前述した各実施の形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行う場合である。
【図面の簡単な説明】
【０１０６】
【図１】本発明の第１の実施の形態に係るテスト実行システムのハードウェア構成を概略的に示すブロック図である。
【図２】本実施の形態に係るテスト実行システムのシステム構成を概略的に示すブロック図である。
【図３】図２における動作スクリプト生成モジュール及びスクリプト実行モジュールの機能を説明するための図である。
【図４】本実施の形態に係るテスト実行システムが実行するテスト実行処理の手順を示すフローチャートである。
【図５】図４のステップＳ４０１の動作スクリプト生成処理の手順を示すフローチャートである。
【図６】図４のステップＳ４０２の動作スクリプト転送処理の手順を示すフローチャートである。
【図７】図４のステップＳ４０３の領域スクリプト生成処理の手順を示すフローチャートである。
【図８】図４のステップＳ４０４の実行スクリプト生成処理の手順を示すフローチャートである。
【図９】図６におけるステップＳ６０３で表示するスクリプト転送画面の一例である。
【図１０】動作スクリプトのデータ構造を説明するための図である。
【図１１】領域スクリプトのデータ構造を説明するための図である。
【図１２】実行スクリプトのデータ構造を説明するための図である。
【図１３】本発明の第２の実施の形態におけるスクリプト生成モジュール及びスクリプト実行モジュールの機能を説明するための図である。
【符号の説明】
【０１０７】
１０１  動作スクリプト生成コンピュータ
１１５  テスト実行コンピュータ
２０１  動作スクリプト生成環境
２０６  テスト実行環境Ａ
２１０  テスト実行環境Ｂ
２１４  テスト実行環境Ｃ
３０１  動作スクリプト生成モジュール
３０８，３２６  スクリプト実行モジュール
３２１  スクリプト生成モジュール
【図１】
0005038036.tif 000002
【図２】
0005038036.tif 000003
【図３】
0005038036.tif 000004
【図４】
0005038036.tif 000005
【図５】
0005038036.tif 000006
【図６】
0005038036.tif 000007
【図７】
0005038036.tif 000008
【図８】
0005038036.tif 000009
【図９】
0005038036.tif 000010
【図１０】
0005038036.tif 000011
【図１１】
0005038036.tif 000012
【図１２】
0005038036.tif 000013
【図１３】
0005038036.tif 000014