(57)【要約】  画面操作の再現の自動化による情報システムの動作確認システムの機能を向上させて、該システムの利用を促進する。  画面操作の再現の自動化による情報システムの動作確認システムにおいて、画面又は入力項目の形式変更に対する画面操作データの変換機能、再現対象のプログラムの実行コードを作成する開発言語及び該実行コードの動作モードに応じたクラス名の変換機能、対象プログラムの原始コードを翻訳して中間言語モードの実行コードを直接起動する機能を備える。
2007097014.tif 000002
【特許請求の範囲】
【請求項１】
改変前のハードウェア環境、ソフトウェア環境、及び対象プログラムを用いて、表示装置に対して実行される画面操作を取得した画面操作データを記憶装置に格納し、ハードウェア環境、ソフトウェア環境、又は対象プログラムの何れかの改変後に、記憶装置から該画面操作データを読み出して、表示装置において画面操作を再現する情報システムの動作確認方法において、
上記対象プログラムの作成時又は修正時に、
該対象プログラムの画面に入力項目が追加された場合は、該入力項目のオブジェクト識別子及び項目座標を取得し、新規の項目一意識別子を付与して構成した形式データを第１画面情報に格納する処理、
或いは、入力装置でのショートカットキー押下又は表示装置でのポインティング指定からなる外部指示が発生した場合若しくは該対象プログラムの作成又は修正を終了する場合は、該対象プログラムのすべての入力項目を列挙して、各入力項目について、オブジェクト識別子及び項目座標を取得し、新規の項目一意識別子を付与して構成した形式データを第１画面情報に格納する処理、
の何れか一つの処理又は両方の処理を行い、
上記画面操作の取得時に、取得した画面操作が入力項目を対象とする操作の場合は、該入力項目の項目座標を用いて、上記第１画面情報から一致する項目座標を有する形式データを識別して、該形式データの項目一意識別子を入手し、該入力項目に対する操作の種類を記録区分に記入して構成した画面操作データを上記記憶装置に格納し、
上記画面操作の再現時に、上記記憶装置から読み出した画面操作データの記録区分が入力項目を対象とする操作の場合は、該画面操作データの項目一意識別子を用いて、上記第１画面情報から一致する項目一意識別子を有する形式データを識別し、該形式データから入手した項目座標を比較対象として使用して、上記表示装置に描画された入力項目から一致する項目座標を有する入力項目を識別して、該入力項目を画面操作の再現の対象となる入力項目として特定することを特徴とする情報システムの動作確認方法。
【請求項２】
前記対象プログラムの作成時又は修正時に、入力項目のオブジェクト識別子が変更された場合は、該入力項目の変更前オブジェクト識別子を用いて、前記第１画面情報から一致するオブジェクト識別子を有する形式データを識別し、該形式データのオブジェクト識別子の値を該入力項目の変更後オブジェクト識別子の値に変更し、
前記対象プログラムの作成時又は修正時に、前記外部指示が発生した場合若しくは該対象プログラムの作成又は修正を終了する場合は、該対象プログラムのすべての入力項目を列挙して、各入力項目について、オブジェクト識別子及び項目座標を取得し、取得したオブジェクト識別子と一致するオブジェクト識別子を有する形式データが前記第１画面情報に存在する入力項目の場合は、該形式データの項目座標の値を該入力項目の項目座標の値に変更し、存在しない入力項目の場合は、該入力項目のオブジェクト識別子及び項目座標を取得し、新規の項目一意識別子を付与して構成した形式データを前記第１画面情報に格納することを特徴とする請求項１記載の情報システムの動作確認方法。
【請求項３】
前記第１画面情報の構成要素にクラス名を含む場合において、
前記対象プログラムの作成時又は修正時に、前記追加された入力項目のクラス名又は前記列挙された入力項目のクラス名を、前記第１画面情報に格納される形式データの構成に付加し、
前記画面操作の再現時に、前記記憶装置から読み出した画面操作データの項目一意識別子を用いて、前記第１画面情報から一致する項目一意識別子を有する形式データを識別し、該形式データから入手した項目座標及びクラス名を比較対象として使用して、前記表示装置に描画された入力項目から、一致する項目座標及びクラス名を有する入力項目を識別して、該入力項目を画面操作の再現の対象となる入力項目として特定することを特徴とする請求項１記載の情報システムの動作確認方法。
【請求項４】
前記画面操作データの構成要素にクラス名を含む場合において、
前記画面操作の取得時に、前記取得した画面操作の対象となる入力項目のクラス名を、前記記憶装置に格納される画面操作データの構成に付加し、
前記画面操作の再現時に、前記記憶装置から読み出した画面操作データの項目一意識別子を用いて、前記第１画面情報から一致する項目一意識別子を有する形式データを識別し、該形式データから入手した項目座標及び該画面操作データから入手したクラス名を比較対象として使用して、前記表示装置に描画された入力項目から、一致する項目座標及びクラス名を有する入力項目を識別し、該入力項目を画面操作の再現の対象となる入力項目として特定することを特徴とする請求項１記載の情報システムの動作確認方法。
【請求項５】
前記第１画面情報の構成要素にクラス名を含む場合において、
前記対象プログラムの作成又は修正に用いる開発言語及び該対象プログラムの画面の入力項目毎に、該作成時及び修正時における該入力項目の個別クラス名、及び該対象プログラムの実行コードの片方又は両方の動作モードにおける該入力項目の個別クラス名、及び該入力項目の代表クラス名から構成されるクラス名簿を用いて、
前記対象プログラムの作成時又は修正時に、前記追加された入力項目のクラス名又は前記列挙された入力項目のクラス名を個別クラス名として使用して、該個別クラス名を用いて、上記クラス名簿において、該作成時及び修正時の列から、一致する個別クラス名を有するデータを識別し、該データの代表クラス名を取得して、該代表クラス名を前記第１画面情報に格納される形式データの構成に付加するクラス名として使用し、
前記画面操作の再現時に、前記形式データから入手したクラス名を代表クラス名として使用して、該代表クラス名を用いて、上記クラス名簿において、代表クラス名の列から、一致する代表クラス名を有するデータを識別し、再現時の対象プログラムの実行コードの動作モードの列から、個別クラス名を取得して、該個別クラス名を、前記比較対象として使用するクラス名として使用することを特徴とする請求項３記載の情報システムの動作確認方法。
【請求項６】
前記画面操作データの構成要素にクラス名を含む場合において、
前記対象プログラムの作成又は修正に用いる開発言語及び該対象プログラムの画面の入力項目毎に、該対象プログラムの実行コードの片方又は両方の動作モードにおける入力項目の個別クラス名、及び該入力項目の代表クラス名から構成されるクラス名簿を用いて、
前記画面操作の取得時に、前記取得した画面操作の対象となる入力項目のクラス名を個別クラス名として使用して、該個別クラス名を用いて、上記クラス名簿において、取得時の対象プログラムの実行コードの動作モードの列から、一致する個別クラス名を有するデータを識別し、該データの代表クラス名を取得して、該代表クラス名を、前記記憶装置に格納される画面操作データの構成に付加するクラス名として使用し、
前記画面操作の再現時に、前記画面操作データから入手したクラス名を代表クラス名として使用して、該代表クラス名を用いて、上記クラス名簿において、代表クラス名の列から、一致する代表クラス名を有するデータを識別し、再現時の対象プログラムの実行コードの動作モードの列から、個別クラス名を取得して、該個別クラス名を、前記比較対象として使用するクラス名として使用することを特徴とする請求項４記載の情報システムの動作確認方法。
【請求項７】
前記画面操作の取得時又は再現時に、前記対象プログラムの実行コードを作成する開発言語が未起動の場合は、第１システム固有命令を実行して、第１システム固有領域から該開発言語への経路を取得、及び第２システム固有領域から該対象プログラムの原始コードへの経路を取得して、該開発言語への経路及び該原始コードへの経路を用いて、第２システム固有命令を実行して、該開発言語を起動するように前記ソフトウェア環境に指令し、
起動済みの該開発言語において、該対象プログラムが画面の最前面に表示中に、第３システム固有命令を実行して、該対象プログラムの原始コードを実行コードに翻訳するように前記ソフトウェア環境に指令して、該対象プログラムの実行コードを起動し、前記画面操作の取得時又は再現時に用いる対象プログラムとして使用することを特徴とする請求項１記載の情報システムの動作確認方法。
【請求項８】
前記対象プログラムの作成時又は修正時に、
該対象プログラムに画面が追加された場合は、該画面のオブジェクト識別子及び画面表題を取得し、新規の画面一意識別子を付与して構成した形式データを第２画面情報に格納する処理、
或いは、前記外部指示が発生した場合若しくは該対象プログラムの作成又は修正を終了する場合は、該対象プログラムのすべての画面を列挙して、各画面について、オブジェクト識別子及び画面表題を取得し、新規の画面一意識別子を付与して構成した形式データを第２画面情報に格納する処理、
の何れか一つの処理又は両方の処理を行い、
前記画面操作の取得時に、取得した画面操作が画面を対象とする操作の場合は、該画面の画面表題を用いて、第２画面情報から一致する画面表題を有する形式データを識別して、該形式データの画面一意識別子を入手し、該画面に対する操作の種類を記録区分に記入して構成した画面操作データを前記記憶装置に格納し、
前記画面操作の再現時に、前記記憶装置から読み出した画面操作データの記録区分が画面を対象とする操作の場合は、該画面操作データの画面一意識別子を用いて、第２画面情報から一致する画面一意識別子を有する形式データを識別し、該形式データから入手した画面表題を比較対象として使用して、前記表示装置に描画された画面から一致する画面表題を有する画面を識別して、該画面を画面操作の再現の対象画面として特定することを特徴とする請求項１記載の情報システムの動作確認方法。
【請求項９】
前記対象プログラムの作成時又は修正時に、画面のオブジェクト識別子が変更された場合は、該画面の変更前オブジェクト識別子を用いて、前記第２画面情報から一致するオブジェクト識別子を有する形式データを識別し、該形式データのオブジェクト識別子の値を該画面の変更後オブジェクト識別子の値に変更し、
前記対象プログラムの作成時又は修正時に、前記外部指示が発生した場合若しくは該対象プログラムの作成又は修正を終了する場合は、該対象プログラムのすべての画面を列挙して、各画面について、オブジェクト識別子及び画面表題を取得し、取得したオブジェクト識別子と一致するオブジェクト識別子を有する形式データが前記第２画面情報に存在する画面の場合は、該形式データの画面表題の値を該画面の画面表題の値に変更し、存在しない画面の場合は、該画面のオブジェクト識別子及び画面表題を取得し、新規の画面一意識別子を付与して構成した形式データを前記第２画面情報に格納することを特徴とする請求項８記載の情報システムの動作確認方法。
【請求項１０】
請求項１〜９の何れか一つに記載の情報システムの動作確認方法を実行するための動作確認プログラム。
【請求項１１】
請求項１０に記載の動作確認プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１２】
請求項１０に記載の動作確認プログラムを用いて情報システムの動作確認を行うことを特徴とする動作確認システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面操作の再現の自動化による情報システムの動作確認方法、それを実行するための動作確認プログラム、この動作確認プログラムを記録したコンピュータ読み取り可能な記録媒体、及び、この動作確認プログラムを用いて情報システムの動作確認を行うための動作確認システムに関する。
詳しくは、改変前のハードウェア環境、ソフトウェア環境、及び対象プログラムを用いて、表示装置に対して実行される画面操作を取得した画面操作データを記憶装置に格納し、ハードウェア環境、ソフトウェア環境、又は対象プログラムの何れかの改変後に、記憶装置から該画面操作データを読み出して、表示装置において画面操作を再現する情報システムの動作確認方法、その動作確認プログラム、記録媒体及び動作確認システムに関する。
【背景技術】
【０００２】
従来、この種の情報システムの動作確認方法及び動作確認システムとして、動作確認のために入力される入力キーを格納する入力ログファイルと、正常に動作する所定の動作環境で動作確認を行った結果である標準結果を格納する標準結果ファイルと、他の新たな動作環境で入力ログファイルからの入力キーに基づいて動作確認を実行し、所定の動作段階で標準結果ファイルに格納された該動作段階に該当する標準結果と比較する比較部と、該比較部による比較結果を格納する比較結果格納ファイルとを備えたものがある（例えば、特許文献１参照）。
【特許文献１】特許第２７６５５４９号公報（第１−４頁、図１，２）。  また、この種の動作確認方法及び動作確認システムに類似するその他の製品として、マーキュリー・インタラクティブ・ジャパン株式会社のＱｕｉｃｋＴｅｓｔ  Ｐｒｏｆｅｓｓｉｏｎａｌ（登録商標）や、日本アイ・ビー・エム株式会社のＩＢＭ  Ｒａｔｉｏｎａｌ  Ｒｏｂｏｔ（登録商標）等が存在する。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし乍ら、このような従来の情報システムの動作確認方法及び動作確認システムでは、動作確認の対象となるプログラム（以下、対象プログラムと言う）の画面操作を人手で実行して記録した画面操作データは、該対象プログラムの画面及び入力項目の形式に依存するために、画面又は入力項目の形式に変更が加えられる度に、再度、画面操作を人手で実行して画面操作データを記録し直す必要があり、そのために画面操作データの保守管理が煩雑であるという問題があった。
更に、対象プログラムの実行コードを作成する開発言語の種類によって入力項目のクラス名が異なるので、開発言語を変更したら、変更前に記録した画面操作データを用いて、変更後の開発言語で作成した対象プログラムの画面操作は再現できないので、再度、画面操作を人手で実行して画面操作データを記録し直す必要があり、そのために画面操作データを再利用できないという問題があった。
また、画面操作の取得時や再現時に、該実行コードの動作モードが、中間言語モードと実行可能モードとでは入力項目のクラス名が異なるために、どちらか片方の動作モードで記録した画面操作データを用いて、他方の動作モードでの画面操作は再現できないので、再度、画面操作を人手で実行して画面操作データを記録し直す必要があり、そのために画面操作データを再利用できないという問題があった。
また、対象プログラムの原始コードを翻訳して、中間言語モードの実行コードを直接起動することができないので、対象プログラムの原始コードから、実行可能モードの実行コードを生成してから、改めて該実行コードを起動する必要があり、そのために開発言語から動作確認を即座に実行できず、動作確認システムを機動的に使用できないという問題があった。
以上の理由から、画面操作を何度も人手で実行して画面操作データを記録し直す必要があり、又動作確認システムを機動的に使用できないために、動作確認システムの利用に対する大きな障壁が存在する。【０００４】
本発明のうち請求項１、１０〜１２記載の発明は、入力項目の形式変更に対する画面操作データの変換機能を備えることを目的としたものである。
請求項２、１０〜１２記載の発明は、請求項１に記載の発明の目的に加えて、入力項目のオブジェクト識別子が変更された場合の画面操作データの変換機能を備えることを目的としたものである。
請求項３、１０〜１２記載の発明は、請求項１に記載の発明の目的に加えて、第１画面情報の構成要素にクラス名を含む場合に、画面操作の再現の対象となる入力項目を特定する条件に、クラス名を加えることを目的としたものである。
請求項４、１０〜１２記載の発明は、請求項１に記載の発明の目的に加えて、画面操作データの構成要素にクラス名を含む場合に、画面操作の再現の対象となる入力項目を特定する条件に、クラス名を加えることを目的としたものである。
請求項５、１０〜１２記載の発明は、請求項３に記載の発明の目的に加えて、再現時の対象プログラムの実行コードを作成した開発言語及び該実行コードの動作モードに応じた、クラス名の変換機能を備えることを目的としたものである。
請求項６、１０〜１２記載の発明は、請求項４に記載の発明の目的に加えて、再現時の対象プログラムの実行コードを作成した開発言語及び該実行コードの動作モードに応じた、クラス名の変換機能を備えることを目的としたものである。
請求項７、１０〜１２記載の発明は、請求項１に記載の発明の目的に加えて、対象プログラムの原始コードを翻訳して、中間言語モードの実行コードを直接起動する機能を備えることを目的としたものである。
請求項８、１０〜１２記載の発明は、請求項１に記載の発明の目的に加えて、画面の形式変更に対する画面操作データの変換機能を備えることを目的としたものである。
請求項９、１０〜１２記載の発明は、請求項８に記載の発明の目的に加えて、画面のオブジェクト識別子が変更された場合の画面操作データの変換機能を備えることを目的としたものである。
【課題を解決するための手段】
【０００５】
前述した目的を達成するために、本発明のうち請求項１記載の発明は、
上記対象プログラムの作成時又は修正時に、
該対象プログラムの画面に入力項目が追加された場合は、該入力項目のオブジェクト識別子及び項目座標を取得し、新規の項目一意識別子を付与して構成した形式データを第１画面情報に格納する処理、
或いは、入力装置でのショートカットキー押下又は表示装置でのポインティング指定からなる外部指示が発生した場合若しくは該対象プログラムの作成又は修正を終了する場合は、該対象プログラムのすべての入力項目を列挙して、各入力項目について、オブジェクト識別子及び項目座標を取得し、新規の項目一意識別子を付与して構成した形式データを第１画面情報に格納する処理、
の何れか一つの処理又は両方の処理を行い、
上記画面操作の取得時に、取得した画面操作が入力項目を対象とする操作の場合は、該入力項目の項目座標を用いて、上記第１画面情報から一致する項目座標を有する形式データを識別して、該形式データの項目一意識別子を入手し、該入力項目に対する操作の種類を記録区分に記入して構成した画面操作データを上記記憶装置に格納し、
上記画面操作の再現時に、上記記憶装置から読み出した画面操作データの記録区分が入力項目を対象とする操作の場合は、該画面操作データの項目一意識別子を用いて、上記第１画面情報から一致する項目一意識別子を有する形式データを識別し、該形式データから入手した項目座標を比較対象として使用して、上記表示装置に描画された入力項目から一致する項目座標を有する入力項目を識別して、該入力項目を画面操作の再現の対象となる入力項目として特定することを特徴とする情報システムの動作確認方法である。
ここで言う「ソフトウェア環境」とは、オペレーティングシステムやミドルウェア等の基盤ソフトウェアを表し、「対象プログラム」とは、基盤ソフトウェアの上で動作する業務プログラムやユーティリティやツール等のソフトウェアを表す。
本発明で使用する画面と言う用語は、表示装置の物理的な画面（一般的にスクリーンと称される）の事ではなく、一般的なソフトウェア開発環境で使用される、ウィンドウ又はダイアログボックス等の論理的な画面（一般的にフォームと称される）の事を指すものとする。
「画面操作」とは、入力装置から実行する又は表示装置において実行される、画面又は入力項目に対する操作を表す。
「入力項目」とは、表示装置に描画された対象プログラムの画面上で、テキストボックス、リストボックス、チェックボックス、ボタン、グラフィックス画像等の、ショートカットキー押下又はポインティング指定による、操作の対象となるすべての項目を表す。該操作の内容は、いわゆる入力だけに限定されず、選択や指令等も含めるものとする。本発明では、入力項目を単に項目と記述する場合もある。
「項目一意識別子」（以下、項目ＵＩＤと言う）とは、対象プログラム内で一意となる入力項目の識別子を表す。
「項目座標」とは、表示装置に描画された対象プログラムの画面の入力項目の、画面内での位置（左隅、上隅、右隅、下隅）を表す。
「画面操作データ」とは、画面操作の内容を記述したデータのことで、記録区分により画面操作の種類を識別できる。「画面操作データ」は、従来技術での一般例では、「テストスクリプト」とも呼ばれている。
「項目値」とは、表示装置に描画された対象プログラムの画面の入力項目の、テキスト値、リスト項目値、チェックボックスの選択有無、グラフィックス画像等を表す。
請求項２記載の発明は、請求項１記載の発明の構成に、
前記対象プログラムの作成時又は修正時に、入力項目のオブジェクト識別子が変更された場合は、該入力項目の変更前オブジェクト識別子を用いて、前記第１画面情報から一致するオブジェクト識別子を有する形式データを識別し、該形式データのオブジェクト識別子の値を該入力項目の変更後オブジェクト識別子の値に変更し、
前記対象プログラムの作成時又は修正時に、前記外部指示が発生した場合若しくは該対象プログラムの作成又は修正を終了する場合は、該対象プログラムのすべての入力項目を列挙して、各入力項目について、オブジェクト識別子及び項目座標を取得し、取得したオブジェクト識別子と一致するオブジェクト識別子を有する形式データが前記第１画面情報に存在する入力項目の場合は、該形式データの項目座標の値を該入力項目の項目座標の値に変更し、存在しない入力項目の場合は、該入力項目のオブジェクト識別子及び項目座標を取得し、新規の項目一意識別子を付与して構成した形式データを前記第１画面情報に格納する構成を加えたことを特徴とする。
ここで言う「項目のオブジェクト識別子」（以下、項目ＯＩＤと言う）とは、対象プログラム内で入力項目に付けられたオブジェクトの識別子を表す。
請求項３記載の発明は、請求項１記載の発明の構成に、
前記第１画面情報の構成要素にクラス名を含む場合において、
前記対象プログラムの作成時又は修正時に、前記追加された入力項目のクラス名又は前記列挙された入力項目のクラス名を、前記第１画面情報に格納される形式データの構成に付加し、
前記画面操作の再現時に、前記記憶装置から読み出した画面操作データの項目一意識別子を用いて、前記第１画面情報から一致する項目一意識別子を有する形式データを識別し、該形式データから入手した項目座標及びクラス名を比較対象として使用して、前記表示装置に描画された入力項目から、一致する項目座標及びクラス名を有する入力項目を識別して、該入力項目を画面操作の再現の対象となる入力項目として特定する構成を加えたことを特徴とする。
一般的に「クラス」という用語は、オブジェクト指向技術における「オブジェクト」の概念を、その特性毎に集約した抽象的な上位概念を表し、オブジェクトを抽象化したものがクラスであり、クラスを具現化したものがオブジェクトである。
本発明では「オブジェクト」という用語を、表示装置に描画される画面又は入力項目に限定して使用している。マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）環境では、該オブジェクトは「コントロール」とも呼ばれ、各コントロールは特定のクラスに所属して「クラス名」を所有する。またコントロールは、自らを一意的に識別するための「オブジェクト識別子」を所有する。
請求項４記載の発明は、請求項１記載の発明の構成に、
前記画面操作データの構成要素にクラス名を含む場合において、
前記画面操作の取得時に、前記取得した画面操作の対象となる入力項目のクラス名を、前記記憶装置に格納される画面操作データの構成に付加し、
前記画面操作の再現時に、前記記憶装置から読み出した画面操作データの項目一意識別子を用いて、前記第１画面情報から一致する項目一意識別子を有する形式データを識別し、該形式データから入手した項目座標及び該画面操作データから入手したクラス名を比較対象として使用して、前記表示装置に描画された入力項目から、一致する項目座標及びクラス名を有する入力項目を識別し、該入力項目を画面操作の再現の対象となる入力項目として特定する構成を加えたことを特徴とする。
請求項５記載の発明は、請求項３記載の発明の構成に、
前記第１画面情報の構成要素にクラス名を含む場合において、
前記対象プログラムの作成又は修正に用いる開発言語及び該対象プログラムの画面の入力項目毎に、該作成時及び修正時における該入力項目の個別クラス名、及び該対象プログラムの実行コードの片方又は両方の動作モードにおける該入力項目の個別クラス名、及び該入力項目の代表クラス名から構成されるクラス名簿を用いて、
前記対象プログラムの作成時又は修正時に、前記追加された入力項目のクラス名又は前記列挙された入力項目のクラス名を個別クラス名として使用して、該個別クラス名を用いて、上記クラス名簿において、該作成時及び修正時の列から、一致する個別クラス名を有するデータを識別し、該データの代表クラス名を取得して、該代表クラス名を前記第１画面情報に格納される形式データの構成に付加するクラス名として使用し、
前記画面操作の再現時に、前記形式データから入手したクラス名を代表クラス名として使用して、該代表クラス名を用いて、上記クラス名簿において、代表クラス名の列から、一致する代表クラス名を有するデータを識別し、再現時の対象プログラムの実行コードの動作モードの列から、個別クラス名を取得して、該個別クラス名を、前記比較対象として使用するクラス名として使用する構成を加えたことを特徴とする。
請求項６記載の発明は、請求項４記載の発明の構成に、
前記画面操作データの構成要素にクラス名を含む場合において、
前記対象プログラムの作成又は修正に用いる開発言語及び該対象プログラムの画面の入力項目毎に、該対象プログラムの実行コードの片方又は両方の動作モードにおける入力項目の個別クラス名、及び該入力項目の代表クラス名から構成されるクラス名簿を用いて、
前記画面操作の取得時に、前記取得した画面操作の対象となる入力項目のクラス名を個別クラス名として使用して、該個別クラス名を用いて、上記クラス名簿において、取得時の対象プログラムの実行コードの動作モードの列から、一致する個別クラス名を有するデータを識別し、該データの代表クラス名を取得して、該代表クラス名を、前記記憶装置に格納される画面操作データの構成に付加するクラス名として使用し、
前記画面操作の再現時に、前記画面操作データから入手したクラス名を代表クラス名として使用して、該代表クラス名を用いて、上記クラス名簿において、代表クラス名の列から、一致する代表クラス名を有するデータを識別し、再現時の対象プログラムの実行コードの動作モードの列から、個別クラス名を取得して、該個別クラス名を、前記比較対象として使用するクラス名として使用する構成を加えたことを特徴とする。
請求項７記載の発明は、請求項１記載の発明の構成に、
前記画面操作の取得時又は再現時に、前記対象プログラムの実行コードを作成する開発言語が未起動の場合は、第１システム固有命令を実行して、第１システム固有領域から該開発言語への経路を取得、及び第２システム固有領域から該対象プログラムの原始コードへの経路を取得して、該開発言語への経路及び該原始コードへの経路を用いて、第２システム固有命令を実行して、該開発言語を起動するように前記ソフトウェア環境に指令し、
起動済みの該開発言語において、該対象プログラムが画面の最前面に表示中に、第３システム固有命令を実行して、該対象プログラムの原始コードを実行コードに翻訳するように前記ソフトウェア環境に指令して、該対象プログラムの実行コードを起動し、前記画面操作の取得時又は再現時に用いる対象プログラムとして使用する構成を加えたことを特徴とする。
ここで言う「原始コード」とは、対象プログラムを作成又は修正する時に使用する、編集可能なプログラムコードのことであり、「実行コード」とは、対象プログラムを実行する時に使用するプログラムコードのことである。
「実行コード」には、一般的に、中間言語モードと実行可能モードの２つの動作モードが存在する。「中間言語モード」とは、対象プログラムの原始コードから実行コードを翻訳して作成した実行コードの動作モードであり、「実行可能モード」とは、対象プログラムの原始コードから実行コードを生成した作成した実行コードの動作モードである。
「開発言語」とは、対象プログラムの原始コードを作成又は修正、及び原始コードから実行コードを作成するために使用するプログラム言語のことである。
「レジストリ」とは、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）環境等における、ハードウェアからアプリケーションまでのコンピュータに関するすべての設定情報を集中管理するデータベースのことである。
請求項８記載の発明は、請求項１記載の発明の構成に、
前記対象プログラムの作成時又は修正時に、
該対象プログラムに画面が追加された場合は、該画面のオブジェクト識別子及び画面表題を取得し、新規の画面一意識別子を付与して構成した形式データを第２画面情報に格納する処理、
或いは、前記外部指示が発生した場合若しくは該対象プログラムの作成又は修正を終了する場合は、該対象プログラムのすべての画面を列挙して、各画面について、オブジェクト識別子及び画面表題を取得し、新規の画面一意識別子を付与して構成した形式データを第２画面情報に格納する処理、
の何れか一つの処理又は両方の処理を行い、
前記画面操作の取得時に、取得した画面操作が画面を対象とする操作の場合は、該画面の画面表題を用いて、第２画面情報から一致する画面表題を有する形式データを識別して、該形式データの画面一意識別子を入手し、該画面に対する操作の種類を記録区分に記入して構成した画面操作データを前記記憶装置に格納し、
前記画面操作の再現時に、前記記憶装置から読み出した画面操作データの記録区分が画面を対象とする操作の場合は、該画面操作データの画面一意識別子を用いて、第２画面情報から一致する画面一意識別子を有する形式データを識別し、該形式データから入手した画面表題を比較対象として使用して、前記表示装置に描画された画面から一致する画面表題を有する画面を識別して、該画面を画面操作の再現の対象画面として特定する構成を加えたことを特徴とする。
ここで言う「画面一意識別子」（以下、画面ＵＩＤと言う）とは、対象プログラム内で一意となる画面の識別子を表す。
「画面表題」とは、対象プログラムの実行コードが起動されて、その画面が表示装置に描画された時に、該画面の最上位の位置に表示される画面のタイトルを表す。
「画面位置」とは、対象プログラムの実行コードが起動されて、その画面が表示装置に描画された時の、該画面の表示位置（左隅、上隅）を表す。
請求項９記載の発明は、請求項８記載の発明の構成に、
前記対象プログラムの作成時又は修正時に、画面のオブジェクト識別子が変更された場合は、該画面の変更前オブジェクト識別子を用いて、前記第２画面情報から一致するオブジェクト識別子を有する形式データを識別し、該形式データのオブジェクト識別子の値を該画面の変更後オブジェクト識別子の値に変更し、
前記対象プログラムの作成時又は修正時に、前記外部指示が発生した場合若しくは該対象プログラムの作成又は修正を終了する場合は、該対象プログラムのすべての画面を列挙して、各画面について、オブジェクト識別子及び画面表題を取得し、取得したオブジェクト識別子と一致するオブジェクト識別子を有する形式データが前記第２画面情報に存在する画面の場合は、該形式データの画面表題の値を該画面の画面表題の値に変更し、存在しない画面の場合は、該画面のオブジェクト識別子及び画面表題を取得し、新規の画面一意識別子を付与して構成した形式データを前記第２画面情報に格納する構成を加えたことを特徴とする。
ここで言う「画面のオブジェクト識別子」（以下、画面ＯＩＤと言う）とは、対象プログラム内で画面に付けられたオブジェクトの識別子を表す。
請求項１０記載の発明は、請求項１〜９の何れか一つに記載の情報システムの動作確認方法を実行するための動作確認プログラムである。
請求項１１記載の発明は、請求項１０に記載の動作確認プログラムを記録したコンピュータ読み取り可能な記録媒体である。
請求項１２記載の発明は、請求項１０に記載の動作確認プログラムを用いて情報システムの動作確認を行うことを特徴とする動作確認システムである。
【発明の効果】
【０００６】
本発明のうち請求項１〜２、１０〜１２記載の発明は、対象プログラムの画面の入力項目の形式が変更されても、変更前に記録した画面操作データを変換して、変更後の対象プログラムでの画面操作を再現できるので、再度、画面操作を人手で実行して画面操作データを記録し直す必要がない。従って、一度だけ画面操作データを記録すればよいので、動作確認システムの利用を大きく促進できると共に、画面操作データの保守管理が容易になる。
請求項３〜４、１０〜１２記載の発明は、請求項１の発明の効果に加えて、画面操作データを変換する際に、クラス名を使用することにより、変換の精度を向上させる。
請求項５〜６、１０〜１２の発明は、請求項３〜４の発明の効果に加えて、画面操作の再現時に、対象プログラムの実行コードを作成する開発言語を変更したり、該実行コードの動作モードを変更しても、クラス名を変換して変更後の画面操作を再現できるので、再度、画面操作を人手で実行して画面操作データを記録し直す必要がない。従って、一度だけ画面操作データを記録すればよいので、動作確認システムの利用を大きく促進できると共に、画面操作データを再利用して有効活用することができる。
請求項７、１０〜１２の発明は、請求項１の発明の効果に加えて、対象プログラムの原始コードを翻訳して、中間言語モードの実行コードを直接起動することができるので、開発言語から動作確認を即座に実行できるようになり、動作確認システムの利用を大きく促進できると共に、動作確認システムを機動的に使用することができる。
請求項８〜９、１０〜１２記載の発明は、請求項１の発明の効果に加えて、対象プログラムの画面の形式が変更されても、変更前に記録した画面操作データを変換して、変更後の対象プログラムでの画面操作を再現できるので、再度、画面操作を人手で実行して画面操作データを記録し直す必要がない。従って、一度だけ画面操作データを記録すればよいので、動作確認システムの利用を大きく促進できると共に、画面操作データの保守管理が容易になる。
【発明を実施するための最良の形態】
【０００７】
本発明の情報システムの動作確認方法を実行するために使用する動作確認システム（装置）の代表的な構成図を図１に示す。
図中、符号１はキーボード又はポインティングデバイス等からなる入力装置、符号２はディスプレイ等からなる表示装置、符号３は画面操作データを格納又は読み出すための記憶装置、符号４は上記動作確認方法を実行するための制御装置、符号５は上記動作確認方法を実行するために必要な制御情報を格納するための記録手段である。
なお図示例以外に、上記記憶装置３を、メモリ上の記憶域で代替することも可能である。
上記記録手段５の中には、本発明における第１画面情報、第２画面情報、クラス名簿などが格納される。
なお図示例以外に、上記記録手段５を、上記記憶装置３の中に設置することも可能であり、メモリ上の記憶域で代替することも可能である。
上記入力装置１での「ショートカットキー押下」とは、所定の画面操作を実行するために、キーボードにおいて、ファンクションキーの押下、又はＣｔｒｌキー、Ｓｈｉｆｔキー、Ａｌｔキー等の所定のキーと他のキーとを組合せて押下する操作を表す。
上記表示装置２での「ポインティング指定」とは、マウス、トラックパッド、トラックボール等のポインティングデバイスにより、上記表示装置２において、入力項目の位置や範囲を指定したり、項目値等を選択する操作を表す。
本発明で使用する画面と言う用語は、表示装置の物理的な画面（スクリーンと総称される）の事ではなく、マイクロソフト社のＶｉｓｕａｌ  Ｓｔｕｄｉｏ（登録商標）等の開発環境で使用される、ウィンドウ又はダイアログボックス等の論理的な画面（フォームと総称される）の事を指すものとする。【０００８】
図２に、本発明の一実施例における、情報システムの動作確認システムの機能図を示す。取得時の対象プログラム１１は、改変前のハードウェア環境、ソフトウェア環境、及び対象プログラムにおいて動作する。再現時の対象プログラム１５は、ハードウェア環境、ソフトウェア環境、又は対象プログラムの何れかの改変後において動作する。
画面操作の取得時に、画面操作の取得開始を指示されると、制御部１２は、取得時の対象プログラム１１と取得部１３を結合する。取得部１３は、該対象プログラムで発生するキーボード操作やマウス操作等のイベントを取得して、イベントの種類に応じた記録区分を記入して構成した画面操作データを記憶装置３に格納する。画面操作の取得終了を指示されると、制御部１２は、該対象プログラム１１と取得部１３との結合を切断する。
画面操作の再現時に、画面操作の再現開始を指示されると、制御部１２は、再現部１４を起動する。再現部１４は、記憶装置３から画面操作データを読み出して、再現時の対象プログラム１５の画面において画面操作を実行する。記憶装置３からの画面操作データの読み出しが終了すると、再現部１４は動作を停止する。【０００９】
図１３に、従来技術での一般例における、テストスクリプトの形式を示す。テストスクリプトは、入力項目を対象とする操作の場合は、記録区分、項目値、及び項目座標から構成され、画面を対象とする操作の場合は、記録区分、画面位置、及び画面表題から構成される。記録区分により、画面を対象とする操作か入力項目を対象とする操作かを識別する。【００１０】
図１４に、従来技術での一般例における、画面操作の取得方法をフローチャートで示す。図２の取得部１３は、イベント駆動型で動作しており、取得時の対象プログラム１１で、キーボード操作やマウス操作等のイベントが発生すると起動され、図１４の処理を実行する。
図１４において、画面の初回表示の時は（ステップＳ１０１）、記録区分に「画面表示」と記入して、該画面の画面位置と画面表題を取得して構成したテストスクリプトを記憶装置３に格納して（ステップＳ１０２）、該イベントの処理を終了する。
一方、画面の初回表示以外の時は（ステップＳ１０１）、イベント発生元の画面が推移したかどうかを判定し（ステップＳ１０３）、
画面が推移した時は、推移前の画面の入力項目に入力された項目値の格納が未完の場合には（ステップＳ１０４）、記録区分に「項目値入力」と記入して、入力された項目値と項目座標を取得して構成したテストスクリプトを記憶装置３に格納し（ステップＳ１０５）、（未完でない場合には何も行わずに）続いて、記録区分に「画面表示」と記入して、推移後の画面の画面位置と画面表題を取得して構成したテストスクリプトを記憶装置３に格納して（ステップＳ１０６）、該イベントの処理を終了する。
或いは、画面が推移しない時は（ステップＳ１０３）、イベント発生元の入力項目が推移したかどうかを判定し（ステップＳ１０７）、
イベント発生元の入力項目が推移した時は、推移前の入力項目に入力された項目値の格納が未完の場合には（ステップＳ１０８）、記録区分に「項目値入力」と記入して、入力された項目値と項目座標を取得して構成したテストスクリプトを記憶装置３に格納し（ステップＳ１０９）、（未完でない場合には何も行わずに）続いて、発生したイベントの種類を判定して（ステップＳ１１０）、マウス操作の場合は、記録区分に「マウス操作」と記入し、イベント発生元の入力項目が項目値を有する場合は該項目値を取得し、該入力項目の項目座標を取得して構成したテストスクリプトを記憶装置３に格納して（ステップＳ１１１）、該イベントの処理を終了する。
一方、イベント発生元の入力項目が推移しない時は、発生したイベントの種類を判定して（ステップＳ１１０）、マウス操作の場合は、記録区分に「マウス操作」と記入し、イベント発生元の入力項目が項目値を有する場合は該項目値を取得し、該入力項目の項目座標を取得して構成したテストスクリプトを記憶装置３に格納し（ステップＳ１１１）、該イベントの処理を終了する。【００１１】
図１５に、従来技術での一般例における、画面操作の再現方法をフローチャートで示す。図２の再現部１４は、記憶装置３から、データが無くなるまで（ステップＳ２０２）、テストスクリプトを１件ずつ読み出して（ステップＳ２０１）、以下の処理を行う。
読み出したテストスクリプトの記録区分が「画面表示」の場合は（ステップＳ２０３）、最前面に描画された画面の画面表題を取得して（ステップＳ２０４）、該テストスクリプトの画面表題と一致するかを判定し（ステップＳ２０５）、一致する画面が表示されるまで待機する。
画面表題が一致する画面が表示された時は（ステップＳ２０５）、該テストスクリプトの画面位置を用いて、表示された画面の位置が、画面操作の取得時の画面の位置と同一になるように調整して（ステップＳ２０６）、記憶装置３から次に処理するテストスクリプトを読み出す。
読み出したテストスクリプトの記録区分が「マウス操作」又は「項目値入力」の場合は（ステップＳ２０３）、該テストスクリプトの項目座標を用いて、表示された入力項目から、項目座標が一致する入力項目を識別して、該入力項目を再現の対象となる入力項目として特定する（ステップＳ２０７）。
続いて、読み出したテストスクリプトの記録区分が「マウス操作」の場合は（ステップＳ２０８）、所定のＡＰＩ関数（例えば、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）環境の場合は、ＳｅｎｄＩｎｐｕｔ命令）を実行して、再現の対象となる入力項目に対して、擬似的にマウスを操作する（ステップＳ２０９）。
一方、読み出したテストスクリプトの記録区分が「項目値入力」の場合は（ステップＳ２０８）、所定のＡＰＩ関数（例えば、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）環境の場合は、ＳｅｔＷｉｎｄｏｗＴｅｘｔ命令）を実行して、再現の対象となる入力項目に対して、該テストスクリプトの項目値を入力する（ステップＳ２１０）。【００１２】
図３に、本発明の一実施例における、第１画面情報及び第２画面情報の形式を示す。
第１画面情報に格納される入力項目の形式データは、項目ＵＩＤ、項目ＯＩＤ、及び項目座標から構成され、必要ならば入力項目のクラス名を構成に付加してもよい。同一の画面内では一般的に同一の項目座標は使用しないので、単一画面内では、この構成で再現の対象となる入力項目を特定できる。複数画面では、画面をまたがって再現の対象となる入力項目を特定できるように、必要ならば画面ＵＩＤを構成に付加してもよい。
一方、第２画面情報に格納される画面の形式データは、画面ＵＩＤ、画面ＯＩＤ、及び画面表題から構成される。対象プログラム内では一般的に同一の画面表題は使用しないので、この構成で再現の対象画面を特定できる。
画面ＵＩＤ及び項目ＵＩＤのコード体系を整理して、画面ＵＩＤ及び項目ＵＩＤによって、画面の形式データか入力項目の形式データかを識別できる場合は、第１画面情報と第２画面情報は、構成の形式を調整して、一つに統合することも可能である。【００１３】
図４に、本発明の一実施例における、画面操作データの形式を示す。
入力項目を対象とする操作の場合、画面操作データは、記録区分、項目ＵＩＤ、及び項目値から構成され、必要ならば入力項目のクラス名を構成に付加してもよい。一方、画面を対象とする操作の場合、画面操作データは、記録区分、画面ＵＩＤ、及び画面位置から構成される。記録区分により、画面を対象とする操作か入力項目を対象とする操作かを識別する。【００１４】
図５に、本発明の一実施例における、クラス名簿の形式を示す。クラス名簿は、
第１画面情報の構成要素にクラス名を含む場合は、
対象プログラムの作成又は修正に用いる開発言語及び該対象プログラムの画面の入力項目毎に、該作成時及び修正時における該入力項目の個別クラス名、及び該対象プログラムの実行コードの片方又は両方の動作モード（中間言語モード、実行可能モード）における該入力項目の個別クラス名、及び該入力項目の代表クラス名から構成する。
一方、画面操作データの構成要素にクラス名を含む場合は、
対象プログラムの作成又は修正に用いる開発言語及び該対象プログラムの画面の入力項目毎に、該対象プログラムの実行コードの片方又は両方の動作モードにおける該入力項目の個別クラス名、及び該入力項目の代表クラス名から構成する。
つまり、第１画面情報の構成要素にクラス名を含む場合の例を挙げれば、
該実行コードの片方（中間言語モード）の動作モードの場合には、該作成時及び修正時における個別クラス名Ａと、中間言語モードでの個別クラス名Ａが、開発言語Ａでの構成要素となり、該作成時及び修正時における個別クラス名Ｂと、中間言語モードでの個別クラス名Ｂが、開発言語Ｂでの構成要素となる、
或いは、該実行コードの片方（実行可能モード）の動作モードの場合には、該作成時及び修正時における個別クラス名Ａと、実行可能モードでの個別クラス名Ａが、開発言語Ａでの構成要素となり、該作成時及び修正時における個別クラス名Ｂと、実行可能モードでの個別クラス名Ｂが、開発言語Ｂでの構成要素となる、
一方、該実行コードの両方（中間言語モード及び実行可能モード）の動作モードの場合には、該作成時及び修正時における個別クラス名Ａと、中間言語モード及び実行可能モードでの個別クラス名Ａが、開発言語Ａでの構成要素となり、該作成時及び修正時における個別クラス名Ｂと、中間言語モード及び実行可能モードでの個別クラス名Ｂが、開発言語Ｂでの構成要素となる。
なお、開発言語の特性により、該作成時及び修正時における入力項目の個別クラス名と、該実行コードの動作モードでの入力項目の個別クラス名が同一の場合には、クラス名簿において、該作成時及び修正時における入力項目の個別クラス名と、該動作モードでの入力項目の個別クラス名を、一つに統合することも可能である。
【実施例】
【００１５】
図６に、本発明の一実施例における、画面操作データの変換方法（対象プログラムの作成時又は修正時に、画面又は入力項目が追加された場合、或いは画面ＯＩＤ又は項目ＯＩＤが変更された場合）をフローチャートで示す。
対象プログラムの作成時又は修正時に、画面又は入力項目が追加されるイベント、或いは画面ＯＩＤ又は項目ＯＩＤが変更されるイベントが発生する毎に、図６の処理が起動される。
対象プログラムに画面が追加されると（ステップＳ１１）、該画面の画面ＯＩＤ及び画面表題を取得し、新規の画面ＵＩＤを付与して構成した画面の形式データを、記録手段５中の第２画面情報に格納して（ステップＳ１２）、該イベントの処理を終了する。
対象プログラムの画面に入力項目が追加されると（ステップＳ１３）、該入力項目の項目ＯＩＤ及び項目座標を取得し、新規の項目ＵＩＤを付与して、第１画面情報の構成要素にクラス名を含む場合は該入力項目のクラス名を付加して構成した入力項目の形式データを、記録手段５中の第１画面情報に格納して（ステップＳ１４）、該イベントの処理を終了する。
対象プログラムの画面の画面ＯＩＤが変更されると（ステップＳ１５）、該画面の変更前画面ＯＩＤ及び変更後画面ＯＩＤを取得して、該変更前画面ＯＩＤと一致する画面ＯＩＤを有する形式データを記録手段５中の第２画面情報から識別し、該形式データの画面ＯＩＤを該変更後画面ＯＩＤに変更して（ステップＳ１６）、該イベントの処理を終了する。
対象プログラムの画面の入力項目の項目ＯＩＤが変更されると（ステップＳ１７）、該入力項目の変更前項目ＯＩＤ及び変更後項目ＯＩＤを取得して、該変更前項目ＯＩＤと一致する項目ＯＩＤを有する形式データを記録手段５中の第１画面情報から識別し、該形式データの項目ＯＩＤを該変更後項目ＯＩＤに変更して（ステップＳ１８）、該イベントの処理を終了する。【００１６】
図７に、本発明の一実施例における、画面操作データの変換方法（対象プログラムの作成時又は修正時に、入力装置１でのショートカットキー押下又は表示装置２でのポインティング指定からなる外部指示が発生した場合、或いは対象プログラムの作成又は修正を終了する場合）をフローチャートで示す。
対象プログラムの作成時に、上記外部指示が発生した場合（ステップＳ２１）又は対象プログラムの作成を終了する場合は（ステップＳ２２）、まず最初に、第１画面情報及び第２画面情報に格納されている形式データをすべて削除する（ステップＳ２３）。
続いて、該対象プログラムのすべての画面及び入力項目を列挙し、
画面が列挙された場合は、該画面の画面ＯＩＤ及び画面表題を取得して、新規の画面ＵＩＤを付与して構成した、画面の形式データを、第２画面情報に格納する（ステップＳ２４）。
一方、入力項目が列挙された場合は、該入力項目の項目ＯＩＤ及び項目座標を取得して、新規の項目ＵＩＤを付与して構成した、及び第１画面情報の構成要素にクラス名を含む場合は該入力項目のクラス名を付加して構成した、入力項目の形式データを、第１画面情報に格納する（ステップＳ２４）。
対象プログラムの修正時に、上記外部指示が発生した場合（ステップＳ２５）又は対象プログラムの修正を終了する場合は（ステップＳ２６）、該対象プログラムのすべての画面及び入力項目を列挙し、
画面が列挙された場合は、該画面の画面ＯＩＤ及び画面表題を取得して、取得した画面ＯＩＤと一致する画面ＯＩＤを有する形式データが第２画面情報に存在する画面の場合は（ステップＳ２７）、該画面の画面表題で該形式データの画面表題を更新し（ステップＳ２８）、存在しない画面の場合は（ステップＳ２７）、新規の画面ＵＩＤを付与して構成した、該画面の形式データを、第２画面情報に格納する（ステップＳ２９）。
一方、入力項目が列挙された場合は、該入力項目の項目ＯＩＤ及び項目座標を取得して、取得した項目ＯＩＤと一致する項目ＯＩＤを有する形式データが第１画面情報に存在する入力項目の場合は（ステップＳ２７）、該入力項目の項目座標で該形式データの項目座標を更新し（ステップＳ２８）、存在しない入力項目の場合は（ステップＳ２７）、新規の項目ＵＩＤを付与し、第１画面情報の構成要素にクラス名を含む場合は該入力項目のクラス名を付加して構成した、該入力項目の形式データを、第１画面情報に格納する（ステップＳ２９）。【００１７】
図８に、本発明の一実施例における、画面操作データの変換方法（画面操作の取得時）をフローチャートで示す。図８において、ステップＳ４１からステップＳ４４までの処理は、図１４のステップＳ１０２、ステップＳ１０５、ステップＳ１０６、ステップＳ１０９及びステップＳ１１１の中で実行される。
画面操作の取得時に、図１４において、画面の画面操作データを記憶装置３に格納する
際は（ステップＳ１０２、ステップＳ１０６）、図８において、操作の対象は画面になるので（ステップＳ４１）、該画面の画面表題を用いて第２画面情報から一致する画面表題を有する形式データの画面ＵＩＤを入手し、該画面の画面位置を取得して、記録区分に「画面表示」と記入して構成した画面の画面操作データを、記憶装置３に格納する（ステップＳ４２）。
一方、画面操作の取得時に、図１４において、入力項目の画面操作データを記憶装置３に格納する際は（ステップＳ１０５、ステップＳ１０９、ステップＳ１１１）、図８において、操作の対象は入力項目となるので（ステップＳ４３）、該入力項目の項目座標を用いて、第１画面情報から一致する項目座標を有する形式データの項目ＵＩＤを入手し、該入力項目が項目値を有する場合は該項目値を取得し、画面操作データの構成要素にクラス名を含む場合は該入力項目のクラス名を取得して、記録区分に「マウス操作」又は「項目値入力」と記入して構成した入力項目の画面操作データを、記憶装置３に格納する（ステップＳ４４）。【００１８】
図９に、本発明の一実施例における、画面操作データの変換方法（画面操作の再現時）をフローチャートで示す。図９において、ステップＳ５１からステップＳ５４までの処理は、図１５のステップＳ２０１の中で実行される。
画面操作の再現時に、図１５において、記憶装置３から画面操作データを読み出す際に（ステップＳ２０１）、図９において、
読み出した画面操作データの記録区分が「画面表示」の場合は（ステップＳ５１）、該画面操作データの画面ＵＩＤを用いて、第２画面情報から一致する画面ＵＩＤを有する形式データの画面表題を入手し、該画面表題を比較対象として用いて、表示画面２に描画された画面から一致する画面表題を有する画面を識別して、該画面を再現の対象画面として特定する（ステップＳ５２）。
一方、読み出した画面操作データの記録区分が「マウス操作」又は「項目値入力」からなる「項目操作」の場合において（ステップＳ５３）、
第１画面情報及び画面操作データの構成要素にクラス名を含まない場合は、該画面操作データの項目ＵＩＤを用いて、第１画面情報から一致する項目ＵＩＤを有する形式データの項目座標を入手し、該項目座標を比較対象として用いて、表示装置２に描画された入力項目から一致する項目座標を有する入力項目を識別して、該入力項目を再現の対象となる入力項目として特定する（ステップＳ５４）。
或いは、第１画面情報又は画面操作データの構成要素にクラス名を含む場合は、該画面操作データの項目ＵＩＤを用いて、第１画面情報から一致する項目ＵＩＤを有する形式データの項目座標を入手し、第１画面情報の構成要素にクラス名を含む場合は該形式データからクラス名を入手し、画面操作データの構成要素にクラス名を含む場合は該画面操作データからクラス名を入手して、入手したクラス名及び項目座標を比較対象として用いて、表示装置２に描画された入力項目から一致するクラス名及び項目座標を有する入力項目を識別して、該入力項目を再現の対象となる入力項目として特定する（ステップＳ５４）。【００１９】
図１０に、本発明の一実施例における、対象プログラムの作成時又は修正時、或いは画面操作の取得時に、クラス名簿を用いたクラス名の変換方法をフローチャートで示す。図１０において、ステップＳ６１からステップＳ６３は、図６のステップＳ１４及び図８のステップＳ４４の中で実行される。
対象プログラムの作成時又は修正時に、図６において、入力項目の形式データを第１画面情報に格納する際に（ステップＳ１４）、第１画面情報の構成要素にクラス名を含む場合は、格納される該形式データのクラス名を個別クラス名として使用し、図１０において、該個別クラス名を用いて、クラス名簿において、該作成時及び修正時の列から（ステップＳ６１）、一致する個別クラス名を有するデータを識別し（ステップＳ６２）、該データの代表クラス名を取得して（ステップＳ６３）、該代表クラス名を、上記第１画面情報に格納する形式データのクラス名として使用する。
画面操作の取得時に、図８において、入力項目の画面操作データを記憶装置３に格納する際に（ステップＳ４４）、画面操作データの構成要素にクラス名を含む場合は、格納される該画面操作データのクラス名を個別クラス名として使用し、図１０において、該個別クラス名を用いて、クラス名簿において、取得時の対象プログラムの実行コードの動作モードの列から（ステップＳ６１）、一致する個別クラス名を有するデータを識別し（ステップＳ６２）、該データの代表クラス名を取得して（ステップＳ６３）、該代表クラス名を、上記記憶装置３に格納する画面操作データのクラス名として使用する。
なお、該実行コードの動作モードの識別は、人為的に動作モードを指定するか、クラス名から動作モードを自動識別する。（例えば、マイクロソフト社のＶｉｓｕａｌ  Ｂａｓｉｃ（登録商標）６．０言語の場合は、クラス名にＲＴ６が付加されていれば実行可能モードと判定し、付加されていなければ中間言語モードと判定する。）【００２０】
図１１に、本発明の一実施例における、画面操作の再現時に、クラス名簿を用いたクラス名の変換方法をフローチャートで示す。図１１のステップＳ７１からステップＳ７３は、図９のステップＳ５４の中で実行される。
画面操作の再現時に、図９において、再現の対象となる入力項目を特定する際に（ステップＳ５４）、
画面操作データの構成要素にクラス名を含む場合は、記憶装置３から読み出した画面操作データのクラス名を代表クラスとして使用し、図１１において、該代表クラス名を用いて、クラス名簿において（ステップＳ７１）、一致する代表クラス名を有するデータを識別し（ステップＳ７２）、再現時の対象プログラムの実行コードの動作モードの列から、個別クラス名を取得して（ステップＳ７３）、該個別クラス名を、比較対象のクラス名として使用する。
或いは、第１画面情報の構成要素にクラス名を含む場合は、記憶装置３から読み出した画面操作データの項目ＵＩＤを用いて、第１画面情報から入手した形式データのクラス名を代表クラスとして使用し、図１１において、該代表クラス名を用いて、クラス名簿において（ステップＳ７１）、一致する代表クラス名を有するデータを識別し（ステップＳ７２）、再現時の対象プログラムの実行コードの動作モードの列から、個別クラス名を取得して（ステップＳ７３）、該個別クラス名を、比較対象のクラス名として使用する。
なお、該実行コードの動作モードの識別は、人為的に動作モードを指定するか、クラス名から動作モードを自動識別する。（例えば、マイクロソフト社のＶｉｓｕａｌ  Ｂａｓｉｃ（登録商標）６．０言語の場合は、クラス名にＲＴ６が付加されていれば実行可能モードと判定し、付加されていなければ中間言語モードと判定する。）【００２１】
図１２に、本発明の一実施例における、画面操作の取得時又は再現時に、対象プログラムの原始コードを翻訳して、中間言語モードの実行コードを直接起動する方法をフローチャートで示す。
対象プログラムの実行コードを作成する開発言語が未起動の場合は（ステップＳ８１）、
まず、該開発言語への経路を格納するレジストリ（例えば、マイクロソフト社のＶｉｓｕａｌ  Ｂａｓｉｃ（登録商標）６．０言語の場合は、ＨＫＥＹ＿ＣＬＡＳＳＥＳ＿ＲＯＯＴ￥￥Ａｐｐｌｉｃａｔｉｏｎｓ￥￥ｖｂ６．ｅｘｅ￥￥ｓｈｅｌｌ￥￥ｏｐｅｎ￥￥Ｃｏｍｍａｎｄ）等の第１システム固有領域から、第１システム固有命令（例えば、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）環境の場合は、ＲｅｇＯｐｅｎＫｅｙＥｘ命令）を使用して、該開発言語への経路を取得する（ステップＳ８２）。
次に、対象プログラムの原始コードへの経路を格納するレジストリ（例えば、マイクロソフト社のＶｉｓｕａｌ  Ｂａｓｉｃ（登録商標）６．０言語の場合は、ＨＫＥＹ＿ＣＵＲＲＥＮＴ＿ＵＳＥＲ￥￥Ｓｏｆｔｗａｒｅ￥￥Ｍｉｃｒｏｓｏｆｔ￥￥Ｖｉｓｕａｌ  Ｂａｓｉｃ￥￥６．０￥￥ｒｅｃｅｎｔＦｉｌｅｓ）等の第２システム固有領域から、該第１システム固有命令を使用して、直近で使用された該原始コードへの経路を取得する（ステップＳ８３）。
最後に、該開発言語への経路及び該原始コードへの経路を指定して、第２システム固有命令（例えば、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）環境の場合は、ＳｈｅｌｌＥｘｅｃｕｔｅ命令）により、該開発言語の起動をソフトウェア環境に指令する（ステップＳ８４）。
該開発言語が起動済み（ステップＳ８１）又は起動完了の場合は（ステップＳ８５）、該対象プログラムが画面の最前面に表示中に、第３システム固有命令（例えば、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）環境の場合は、ＳｅｎｄＩｎｐｕｔ命令）により、該原始コードを実行コードに翻訳するように指令すれば（ステップＭ８６）、実行コードへの翻訳が行われ、中間言語モードの実行コードが起動される。
【産業上の利用可能性】
【００２２】
ＩＴ化の進展により、社会基盤としての情報システムの重要性が拡大し、高品質のソフトウェアを開発・保守する能力が求められている。しかし現実には、情報システムの動作確認は、依然として手作業による労働集約的な作業が中心で、その手間暇（工数と時間）が膨大であるが故に、完全に満足の行く動作確認を実施できずに、情報システムの稼動や再稼動が行われ、その結果として数々のトラブルを引き起している。そのため、情報システムの動作確認の自動化に対するニーズは膨大であるが、従来の技術では動作確認システムを利用する際の負担が大きいので、本発明により利用時の負担を軽減して、動作確認システムの利用促進を図る。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施例における、情報システムの動作確認システムの構成を示す図である。
【図２】本発明の一実施例における、情報システムの動作確認システムの機能を示す図である。
【図３】本発明の一実施例における、第１画面情報及び第２画面情報の構造を示す図である。
【図４】本発明の一実施例における、画面操作データの構造を示す図である。
【図５】本発明の一実施例における、クラス名簿の構造を示す図である。
【図６】本発明の一実施例における、画面操作データの変換方法（対象プログラムの作成時又は修正時に、画面又は入力項目が追加された場合、或いは画面又は入力項目のオブジェクト識別子が変更された場合）を示すフローチャートである。
【図７】本発明の一実施例における、画面操作データの変換方法（対象プログラムの作成時又は修正時に、外部指示が発生した場合、又は対象プログラムの作成又は修正を終了する場合）を示すフローチャートである。
【図８】本発明の一実施例における、画面操作データの変換方法（画面操作の取得時）を示すフローチャートである。
【図９】本発明の一実施例における、画面操作データの変換方法（画面操作の再現時）を示すフローチャートである。
【図１０】本発明の一実施例における、クラス名の変換方法（対象プログラムの作成時及び修正時、又は画面操作の取得時）を示すフローチャートである。
【図１１】本発明の一実施例における、クラス名の変換方法（画面操作の再現時）を示すフローチャートである。
【図１２】本発明の一実施例における、対象プログラムの原始コードを翻訳して、中間言語モードの実行コードを直接起動する方法を示すフローチャートである。
【図１３】従来技術での一般例における、テストスクリプトの構造を示す図である。
【図１４】従来技術での一般例における、画面操作の取得方法を示すフローチャートである。
【図１５】従来技術での一般例における、画面操作の再現方法を示すフローチャートである。
【符号の説明】
【００２４】
１  キーボード又はポインティングデバイス等からなる入力装置。
２  ディスプレイ等からなる表示装置。
３  画面操作データを格納又は読み出すための記憶装置。
４  本発明による制御を実行するための制御装置。
５  本発明による制御に必要な制御情報等を格納するための記録手段。
１１  画面操作の取得時の対象プログラム
１２  制御部
１３  取得部
１４  再現部
１５  画面操作の再現時の対象プログラム
【図１】
2007097014.tif 000003
【図２】
2007097014.tif 000004
【図３】
2007097014.tif 000005
【図４】
2007097014.tif 000006
【図５】
2007097014.tif 000007
【図６】
2007097014.tif 000008
【図７】
2007097014.tif 000009
【図８】
2007097014.tif 000010
【図９】
2007097014.tif 000011
【図１０】
2007097014.tif 000012
【図１１】
2007097014.tif 000013
【図１２】
2007097014.tif 000014
【図１３】
2007097014.tif 000015
【図１４】
2007097014.tif 000016
【図１５】
2007097014.tif 000017
【国際調査報告】
2007097014.tif 000018
2007097014.tif 000019
2007097014.tif 000020
2007097014.tif 000021