(57)【要約】      （修正有）【課題】評価対象機とエミュレータの両方の環境において、機器に搭載されるソフトウェアの動作を検証・評価することが可能な情報処理装置、画像処理装置、ソフトウェア動作テスト方法、ソフトウェア動作テストプログラム、及びそのプログラムを記録した記録媒体を提供する。【解決手段】情報処理装置は、評価対象機が搭載するソフトウェアＳＷ及び／又はハードウェアＨＷにより提供される各種機能を擬似的に再現する評価対象機再現手段１１を有する装置であって、評価対象機再現手段１１に対して、評価対象ソフトウェアＳＷ１と、評価対象ソフトウェアＳＷ１以外のソフトウェアＳＷ及び／又はハードウェアＨＷとの間で送受信されるイベントを制御するイベント制御手段２２と、イベント制御手段２２によりイベントの取得及び／又は発行を制御し、評価対象ソフトウェアＳＷ１の動作をテストする動作テスト手段１２とを有する。【選択図】図５
2010020561.tif 000002
【特許請求の範囲】
【請求項１】
評価対象機が搭載するソフトウェア及び／又はハードウェアにより提供される各種機能を擬似的に再現する評価対象機再現手段を有する情報処理装置であって、
前記評価対象機再現手段に対して、評価対象ソフトウェアと、前記評価対象ソフトウェア以外のソフトウェア及び／又はハードウェアとの間で送受信されるイベントを制御するイベント制御手段と、
前記イベント制御手段によりイベントの取得及び／又は発行を制御し、前記評価対象ソフトウェアの動作をテストする動作テスト手段とを有することを特徴とする情報処理装置。
【請求項２】
前記イベント制御手段は、
前記評価対象機再現手段が有する、評価対象ソフトウェアと、前記評価対象ソフトウェア以外のソフトウェア及び／又はハードウェアとの間で送受信されるイベントの通信経路であるソフトウェア部品の動作を制御することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記動作テスト手段は、
前記イベント制御手段を制御し取得した前記イベントを記録する記録手段と、
前記記録手段により記録されたイベントに基づき、前記評価対象ソフトウェアの動作テストを実行する実行手段と、
前記実行手段により実行された動作テストの動作結果に基づき、前記評価対象ソフトウェアの動作を検証・評価する検証・評価手段とを有することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記記録手段は、
前記イベント制御手段を制御し取得した、前記評価対象ソフトウェア以外のソフトウェア及び／又はハードウェアから前記評価対象ソフトウェアへ送信された入力イベントを、前記動作テストを行うときの操作手順データとして記録するとともに、
前記入力イベントに応じて前記評価対象ソフトウェアから前記評価対象ソフトウェア以外のソフトウェア及び／又はハードウェアへ送信された出力イベントを、前記評価対象ソフトウェアの動作を検証・評価するときの検証データとして記録することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記実行手段は、
前記記録手段により記録された操作手順データの記録データ順に従って、前記操作手順データ内の各入力イベントに関する情報に基づき、前記イベント制御手段により前記入力イベントの発行を制御し、前記評価対象ソフトウェアの動作テストを実行することを特徴とする請求項３又は４に記載の情報処理装置。
【請求項６】
前記検証・評価手段は、
前記実行手段により動作テストを実行したときに、前記イベント制御手段を制御し取得した前記出力イベントと、前記記録手段により記録された検証データから記録データ順に抽出した各出力イベントとを比較し、その比較結果に基づき、前記評価対象ソフトウェアの動作を検証・評価することを特徴とする請求項３ないし５のいずれか一項に記載の情報処理装置。
【請求項７】
前記検証・評価手段は、
検証・評価時に正常な出力イベントであると判断する出力イベントデータの許容範囲を示す評価基準の有無を判定する評価基準有無判定手段を有し、
前記評価基準有無判定手段により、前記評価基準を有していると判定された場合に、
前記評価基準に基づき、前記評価対象ソフトウェアの動作を検証・評価することを特徴とする請求項３ないし６のいずれか一項に記載の情報処理装置。
【請求項８】
当該情報処理装置は、
前記評価基準を、前記出力イベントに対応付けて設定する評価基準設定手段を有することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記評価基準有無判定手段は、
前記イベント制御手段を制御し取得した前記出力イベントの識別情報に基づき、前記出力イベントに対応付けて設定された評価基準の有無を判定することを特徴とする請求項７又は８に記載の情報処理装置。
【請求項１０】
前記記録手段は、
前記イベント制御手段を制御し取得した前記イベントを、当該情報処理装置が備える記憶装置及び／又は着脱可能な記憶媒体に格納し記録することを特徴とする請求項３ないし９のいずれか一項に記載の情報処理装置。
【請求項１１】
評価対象機である当該画像処理装置が搭載するソフトウェア及び／又はハードウェアにより各種機能を提供する評価対象機能提供手段を有する画像処理装置であって、
前記評価対象機能提供手段に対して、評価対象ソフトウェアと、前記評価対象ソフトウェア以外のソフトウェア及び／又はハードウェアとの間で送受信されるイベントを制御するイベント制御手段と、
前記イベント制御手段によりイベントの取得及び／又は発行を制御し、前記評価対象ソフトウェアの動作をテストする動作テスト手段とを有することを特徴とする画像処理装置。
【請求項１２】
前記イベント制御手段は、
前記評価対象機再現手段が有する、評価対象ソフトウェアと、前記評価対象ソフトウェア以外のソフトウェア及び／又はハードウェアとの間で送受信されるイベントの通信経路であるソフトウェア部品の動作を制御することを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記動作テスト手段は、
前記イベント制御手段を制御し取得した前記イベントを記録する記録手段と、
前記記録手段により記録されたイベントに基づき、前記評価対象ソフトウェアの動作テストを実行する実行手段と、
前記実行手段により実行された動作テストの動作結果に基づき、前記評価対象ソフトウェアの動作を検証・評価する検証・評価手段とを有することを特徴とする請求項１１又は１２に記載の画像処理装置。
【請求項１４】
評価対象機が搭載するソフトウェア及び／又はハードウェアにより提供される各種機能を擬似的に再現する評価対象機再現手段を有する情報処理装置、又は、評価対象機である当該画像処理装置が搭載するソフトウェア及び／又はハードウェアにより各種機能を提供する評価対象機能提供手段を有する画像処理装置におけるソフトウェア動作テスト方法であって、
前記評価対象機再現手段又は前記評価対象機能提供手段に対して、評価対象ソフトウェアと、前記評価対象ソフトウェア以外のソフトウェア及び／又はハードウェアとの間で送受信されるイベントを制御するイベント制御手順と、
前記イベント制御手順によりイベントの取得及び／又は発行を制御し、前記評価対象ソフトウェアの動作をテストする動作テスト手順とを有することを特徴とするソフトウェア動作テスト方法。
【請求項１５】
評価対象機が搭載するソフトウェア及び／又はハードウェアにより提供される各種機能を擬似的に再現する評価対象機再現手段を有する情報処理装置、又は、評価対象機である当該画像処理装置が搭載するソフトウェア及び／又はハードウェアにより各種機能を提供する評価対象機能提供手段を有する画像処理装置におけるソフトウェア動作テストプログラムであって、
コンピュータを、
前記評価対象機再現手段又は前記評価対象機能提供手段に対して、評価対象ソフトウェアと、前記評価対象ソフトウェア以外のソフトウェア及び／又はハードウェアとの間で送受信されるイベントを制御するイベント制御手段と、
前記イベント制御手段によりイベントの取得及び／又は発行を制御し、前記評価対象ソフトウェアの動作をテストする動作テスト手段として機能させるソフトウェア動作テストプログラム。
【請求項１６】
請求項１５に記載のプログラムを記憶した、コンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、画像処理装置、ソフトウェア動作テスト方法、ソフトウェア動作テストプログラム、及びそのプログラムを記録した記録媒体に係り、特に、機器が搭載するソフトウェア部品の動作を検証・評価する技術に関するものである。
【背景技術】
【０００２】
情報通信技術の高度化に伴い、多機能な電子機器製品が市場に供給されるようになった。
【０００３】
このような機器の開発環境では、ソフトウェア開発が複雑となり、システム規模が増大する一方で、これらの製品サイクルは短く、１世代前の製品から新たな世代の製品を市場投入までの期間（製品リリース間隔）を短縮する傾向にある。
【０００４】
このようなことから、機器の製造元（メーカー）では、機器の品質を、製品として市場投入しても問題ないレベルまで、短期間に向上させなければならない。
【０００５】
しかし、多機能な機器の場合、動作するソフトウェア部品が数多く存在し、機器の動作を検証・評価するテスト工程における作業負荷もそれに伴って増大する。
【０００６】
特に、機器と利用者とのインタフェース機能を実現する操作受付・情報通知部のテスト工程では、手作業による動作検証や、目視確認による動作評価など、テストを行う担当者（以下、「テスター」と言う。）に依存する作業が多く、テスターへの負担が大きい。その結果、テスト工程の作業効率も悪い。
【０００７】
そのため、テスト工程において、テスト品質を維持しながら作業効率の向上を図る必要がある。
【０００８】
そこで、従来では、入力デバイスを介して人間が行った操作を記録し、かつ入力デバイスの操作を人間に代わって計算機で行うことを可能としたことにより、人間の操作を擬似的に自動実行することができる入力イベント記録／再生装置が提案されている（例えば「特許文献１」を参照）。
【特許文献１】特開平０７−２３４８０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に開示される従来の入力イベント記録／再生装置は、外部機器からの入力イベントを記録する機能と、外部機器に対して仮想入力イベントを出力する機能で構成されており、手作業の操作を自動化することは可能であるが、この装置を用いて動作の検証・評価を行う場合には、評価対象（テスト対象）ソフトウェアが搭載された機器（以下、「評価対象機」と言う。）そのものが必要となる。
【００１０】
そのため、例えば、テスト工程の作業効率を向上させるために、複数のテスト項目を同時に行う場合には、用いる入力イベント記録／再生装置の台数分だけ評価対象機を用意しなければならないが、開発途中の評価対象機は絶対数少ないことから、作業効率が向上するほどの台数を用意することは困難である。
【００１１】
このように、従来の入力イベント記録／再生装置では、手作業を自動化することで、テスターの負担を軽減し、かつテスト品質を維持することができても、評価対象機を用いたテスト環境を前提としているため、必ずしも作業効率の向上に結びつくものではなかった。
【００１２】
また、機器の特性（例えば「形状」や「大きさ」など）によっては、物理的に評価対象機を用意できない場合もあり、さらには、最終的なハードウェア設計が完了する前にソフトウェアの動作を検証・評価したい場合や、小規模にカスタマイズされたソフトウェアの動作を検証・評価したい場合など、評価対象機のない状態でテストを行いたい場面も考えられる。
【００１３】
また、製造元としては、市場供給後の製品保守を行うための評価対象機を維持するコストを軽減したい。
【００１４】
このように、従来の入力イベント記録／再生装置では、前述した様々なケースに対応することができない。
【００１５】
また、前述した様々なケースに対応する場合には、評価対象機とエミュレータとの両方の環境で、異なる動作テスト機能の実装や、それぞれの仕様に合わせた異なるテストデータの管理など、テストを実施するための準備作業が煩雑となることが考えられる。
【００１６】
本発明では、上記従来技術の問題点を鑑み、評価対象機とエミュレータの両方の環境において、機器に搭載されるソフトウェアの動作を検証・評価することが可能な情報処理装置、画像処理装置、ソフトウェア動作テスト方法、ソフトウェア動作テストプログラム、及びそのプログラムを記録した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記目的を達成するため、本発明の情報処理装置は、評価対象機が搭載するソフトウェア及び／又はハードウェアにより提供される各種機能を擬似的に再現する評価対象機再現手段を有する情報処理装置であって、前記評価対象機再現手段に対して、評価対象ソフトウェアと、前記評価対象ソフトウェア以外のソフトウェア及び／又はハードウェアとの間で送受信されるイベントを制御するイベント制御手段と、前記イベント制御手段によりイベントの取得及び／又は発行を制御し、前記評価対象ソフトウェアの動作をテストする動作テスト手段とを有することを特徴とする。
【００１８】
また、上記目的を達成するため、本発明の情報処理装置は、前記イベント制御手段が、前記評価対象機再現手段が有する、評価対象ソフトウェアと、前記評価対象ソフトウェア以外のソフトウェア及び／又はハードウェアとの間で送受信されるイベントの通信経路であるソフトウェア部品の動作を制御することを特徴とする。
【００１９】
また、上記目的を達成するため、本発明の情報処理装置は、前記動作テスト手段が、前記イベント制御手段を制御し取得した前記イベントを記録する記録手段と、前記記録手段により記録されたイベントに基づき、前記評価対象ソフトウェアの動作テストを実行する実行手段と、前記実行手段により実行された動作テストの動作結果に基づき、前記評価対象ソフトウェアの動作を検証・評価する検証・評価手段とを有することを特徴とする。
【００２０】
このような構成によって、本発明の情報処理装置は、評価対象機が搭載するハード・ソフトウェアによる各種機能を擬似的に再現する評価対象機再現部と、評価対象機再現部上が再現したシステム上で動作する評価対象ソフトウェアに対して動作テストを行う動作テスト部とを有し、動作テスト部が、評価対象機再現部で評価対象ソフトウェアの送受信イベントを制御するソフトウェア部品を介して、操作手順の記録及び再生（実行）を行い、評価対象ソフトウェアの動作を検証・評価する。
【００２１】
また、上記目的を達成するため、本発明の情報処理装置は、前記記録手段が、前記イベント制御手段を制御し取得した、前記評価対象ソフトウェア以外のソフトウェア及び／又はハードウェアから前記評価対象ソフトウェアへ送信された入力イベントを、前記動作テストを行うときの操作手順データとして記録するとともに、前記入力イベントに応じて前記評価対象ソフトウェアから前記評価対象ソフトウェア以外のソフトウェア及び／又はハードウェアへ送信された出力イベントを、前記評価対象ソフトウェアの動作を検証・評価するときの検証データとして記録することを特徴とする。
【００２２】
また、上記目的を達成するため、本発明の情報処理装置は、前記実行手段が、前記記録手段により記録された操作手順データの記録データ順に従って、前記操作手順データ内の各入力イベントに関する情報に基づき、前記イベント制御手段により前記入力イベントの発行を制御し、前記評価対象ソフトウェアの動作テストを実行することを特徴とする。
【００２３】
また、上記目的を達成するため、本発明の情報処理装置は、前記検証・評価手段が、前記実行手段により動作テストを実行したときに、前記イベント制御手段を制御し取得した前記出力イベントと、前記記録手段により記録された検証データから記録データ順に抽出した各出力イベントとを比較し、その比較結果に基づき、前記評価対象ソフトウェアの動作を検証・評価することを特徴とする。
【００２４】
また、上記目的を達成するため、本発明の情報処理装置は、前記検証・評価手段が、検証・評価時に正常な出力イベントであると判断する出力イベントデータの許容範囲を示す評価基準の有無を判定する評価基準有無判定手段を有し、前記評価基準有無判定手段により、前記評価基準を有していると判定された場合に、前記評価基準に基づき、前記評価対象ソフトウェアの動作を検証・評価することを特徴とする。
【００２５】
また、上記目的を達成するため、本発明の情報処理装置は、前記評価基準を、前記出力イベントに対応付けて設定する評価基準設定手段を有することを特徴とする。
【００２６】
また、上記目的を達成するため、本発明の情報処理装置は、前記評価基準有無判定手段が、前記イベント制御手段を制御し取得した前記出力イベントの識別情報に基づき、前記出力イベントに対応付けて設定された評価基準の有無を判定することを特徴とする。
【００２７】
また、上記目的を達成するため、本発明の情報処理装置は、前記記録手段が、前記イベント制御手段を制御し取得した前記イベントを、当該情報処理装置が備える記憶装置及び／又は着脱可能な記憶媒体に格納し記録することを特徴とする。
【００２８】
これによって、本発明の情報処理装置は、評価対象機とエミュレータの両方の環境において、機器に搭載されるソフトウェアの動作を検証・評価することができる。
【００２９】
また、上記目的を達成するため、本発明の画像処理装置は、評価対象機である当該画像処理装置が搭載するソフトウェア及び／又はハードウェアにより各種機能を提供する評価対象機能提供手段を有する画像処理装置であって、前記評価対象機能提供手段に対して、評価対象ソフトウェアと、前記評価対象ソフトウェア以外のソフトウェア及び／又はハードウェアとの間で送受信されるイベントを制御するイベント制御手段と、前記イベント制御手段によりイベントの取得及び／又は発行を制御し、前記評価対象ソフトウェアの動作をテストする動作テスト手段とを有することを特徴とする。
【００３０】
また、上記目的を達成するため、本発明の画像処理装置は、前記イベント制御手段が、前記評価対象機再現手段が有する、評価対象ソフトウェアと、前記評価対象ソフトウェア以外のソフトウェア及び／又はハードウェアとの間で送受信されるイベントの通信経路であるソフトウェア部品の動作を制御することを特徴とする。
【００３１】
また、上記目的を達成するため、本発明の画像処理装置は、前記動作テスト手段が、前記イベント制御手段を制御し取得した前記イベントを記録する記録手段と、前記記録手段により記録されたイベントに基づき、前記評価対象ソフトウェアの動作テストを実行する実行手段と、前記実行手段により実行された動作テストの動作結果に基づき、前記評価対象ソフトウェアの動作を検証・評価する検証・評価手段とを有することを特徴とする。
【００３２】
上記目的を達成するため、本発明のソフトウェア動作テスト方法は、評価対象機が搭載するソフトウェア及び／又はハードウェアにより提供される各種機能を擬似的に再現する評価対象機再現手段を有する情報処理装置、又は、評価対象機である当該画像処理装置が搭載するソフトウェア及び／又はハードウェアにより各種機能を提供する評価対象機能提供手段を有する画像処理装置におけるソフトウェア動作テスト方法であって、前記評価対象機再現手段又は前記評価対象機能提供手段に対して、評価対象ソフトウェアと、前記評価対象ソフトウェア以外のソフトウェア及び／又はハードウェアとの間で送受信されるイベントを制御するイベント制御手順と、前記イベント制御手順によりイベントの取得及び／又は発行を制御し、前記評価対象ソフトウェアの動作をテストする動作テスト手順とを有することを特徴とする。
【００３３】
このような手順によって、本発明のソフトウェア動作テスト方法は、評価対象機再現部により再現されたシステム、又は評価対象機能提供部により提供されたシステム上で動作する評価対象ソフトウェアに対して動作テストを行う動作テスト部が、評価対象機再現部で評価対象ソフトウェアの送受信イベントを制御するソフトウェア部品を介して、操作手順の記録及び再生（実行）を行い、評価対象ソフトウェアの動作を検証・評価する機能を実現する。
【００３４】
これによって、本発明の画像処理方法は、評価対象機とエミュレータの両方の環境において、機器に搭載されるソフトウェアの動作を検証・評価する機能を提供できる。
【００３５】
上記目的を達成するため、本発明のソフトウェア動作テストプログラムは、評価対象機が搭載するソフトウェア及び／又はハードウェアにより提供される各種機能を擬似的に再現する評価対象機再現手段を有する情報処理装置、又は、評価対象機である当該画像処理装置が搭載するソフトウェア及び／又はハードウェアにより各種機能を提供する評価対象機能提供手段を有する画像処理装置におけるソフトウェア動作テストプログラムであって、コンピュータを、前記評価対象機再現手段又は前記評価対象機能提供手段に対して、評価対象ソフトウェアと、前記評価対象ソフトウェア以外のソフトウェア及び／又はハードウェアとの間で送受信されるイベントを制御するイベント制御手段と、前記イベント制御手段によりイベントの取得及び／又は発行を制御し、前記評価対象ソフトウェアの動作をテストする動作テスト手段として機能させる。
【発明の効果】
【００３６】
本発明によれば、ソフトウェア動作テスト機能を実現するソフトウェア構成を、評価対象機に搭載される場合とエミュレータに搭載される場合とで同一の構成にすることで、評価対象機とエミュレータの両方の環境において、機器に搭載されるソフトウェアの動作を検証・評価することができる。
【発明を実施するための最良の形態】
【００３７】
以下、本発明の好適な実施の形態（以下、「実施形態」という。）について、図面を用いて詳細に説明する。
【００３８】
［第１の実施形態］
まず、評価対象機に搭載された評価対象ソフトウェアの動作の検証・評価を、どのような流れで行うのかについて、テスターの操作とそれに対応する評価対象機内の動作を例に説明する。なお、以下に説明では、操作パネルの画面遷移に関するソフトウェアのテスト工程を一例として挙げる。画面遷移動作の検証・評価を行うテスト工程は、テスターの手作業により行われ、従来では、操作パネル上の操作キーを介して動作指示を行った後に、画面遷移が正しく行われるか否かを目視で確認していたため、テスターにとって負荷の大きい作業であった。このようなテスト工程に対して、操作手順を記録し、記録した手順に従って作業を再現できれば、テスト品質を維持しながら、作業効率を向上させることができる。
【００３９】
＜ソフトウェア動作テストの動作例＞
ソフトウェア動作テストは、「操作手順の記録」、「記録手順の再生」、「検証・評価」の順に行われる。
【００４０】
《操作手順の記録》
図１は、本発明の第１の実施形態に係るテスターの操作手順を記録するときの動作例を示す図である。まず、テスターＵは、評価対象機が備える操作パネルに表示された操作画面Ｗ（ＵＩ）を介して、評価対象ソフトウェア（図中では「アプリケーションＡＰ」）への動作指示（画面表示を行う動作指示）などの所定のパネル操作を行う（ステップＳ１１）。
【００４１】
評価対象機では、操作画面Ｗから受け付けた動作指示に対応する操作イベントが、操作パネルからコントローラＣＴＬへ送られ（ステップＳ１２）、コントローラＣＴＬが、受け取った操作イベントを、該当するアプリケーションＡＰに送る（ステップＳ１３）。また、コントローラＣＴＬは、ステップＳ１２において受け取った操作イベントをテストツールＴに送る（ステップＳ１５）。
【００４２】
また、アプリケーションＡＰは、受け取った操作イベントにより動作指示された所定の処理を行った後に、処理結果や次の操作要求などの操作画面遷移後の画面データ（画像データを含むグラフィック部品群）を生成し、コントローラＣＴＬに送り（ステップＳ１４）、コントローラＣＴＬが、受け取った画面データをテストツールＴに送る（ステップＳ１６）。
【００４３】
テストツールＴは、ステップＳ１５において受け取った操作イベントを、例えば評価対象機が備えるハードディスクＨＤなどの記憶装置の所定の記憶領域に格納し、操作手順データとして記録する。また、ステップＳ１６において受け取った画面データも、検証・評価時に正しいとする基準画面（正解画面）として記録する（ステップＳ１７）。また、ステップＳ１７では、上記各情報（操作手順データと画面データ）を対応付けて記録する。
【００４４】
また、コントローラＣＴＬは、ステップＳ１４において受け取った画面データを操作パネルへ送り（ステップＳ１８）、操作パネルが、受け取った画面データを基に、手動操作による新たな操作画面Ｗ（正解画面）を表示し、テスターＵに次の操作（次の動作指示）を促す（ステップＳ１９）。
【００４５】
本実施形態では、以上のような動作を繰り返すことにより、テスターＵの操作手順をデータ化し記録する。
【００４６】
《記録した操作手順の再生》
図２は、本発明の第１の実施形態に係る記録した操作手順を再生するときの動作例を示す図である。本実施形態では、前述した記録データを基に操作手順を再生し、テスト工程を再現する。
【００４７】
テストツールＴは、ハードディスクＨＤから操作手順データと対応する画面データとを、記録された順に取得し（ステップＳ２１）、取得した操作手順データをコントローラＣＴＬへ送る（ステップＳ２２）。
【００４８】
コントローラＣＴＬは、受け取った操作手順データを基に、記録された各操作イベント情報に従って、該当するアプリケーションＡＰへ擬似的に操作イベントを送り（ステップＳ２３）、アプリケーションＡＰが、受け取った操作イベントにより動作指示された所定の処理を行った後に、そのとき表示する操作画面Ｗの画面データ（グラフィック部品群）を生成し、コントローラＣＴＬに送り（ステップＳ２４）、コントローラＣＴＬが、受け取った画面データをテストツールＴに送る（ステップＳ２５）。
【００４９】
テストツールＴは、ステップＳ２５において受け取った画面データを、ハードディスクＨＤの所定の記憶領域に格納し、検証・評価時の正解画面と比較する検証用画面として記録する（ステップＳ２６）。
【００５０】
また、コントローラＣＬＴは、ステップＳ２４において受け取った画面データを操作パネルへ送り（ステップＳ２７）、操作パネルが、受け取った画面データを基に、操作手順の再生による新たな操作画面Ｗ（検証用画面）を表示し、テスターＵに操作手順の実行状態を通知する（ステップＳ２８）。
【００５１】
本実施形態では、以上のような動作を、記録された一連の操作手順に従って（テスト工程の単位で）実行することにより、手作業で行っていたテスターＵの操作手順を自動化し、テスト工程の各作業を再現する。
【００５２】
《検証・評価》
図３は、本発明の第１の実施形態に係る評価対象ソフトウェアの動作を検証・評価するときの動作例を示す図である。遷移画面動作の検証・評価は、テストツールＴにより行われる。例えば、テストツールＴでは、前述した「操作手順の記録」により得られた正解画面の画面データＩＭＧ１と「記録した操作手順の再生」により得られた検証用画面の画面データＩＭＧ２とを比較し、検証・評価結果を得る。その比較方法には、画面データが画像である特性を生かし画像類似度による方法などが挙げられる。
【００５３】
このようにして得られた検証・評価の結果は、結果レポートとして所定の形式で出力される。その出力方法としては、テストツールＴからコントローラＣＴＬを介して、操作パネルに表示させたり、印刷機能（プロッタ）を備えた評価対象機であれば、用紙に印刷したりする方法が挙げられる。
【００５４】
このように、従来、テスターＵの手作業により行われていたテスト工程も、前述した「記録」、「再生」、「検証・評価」の各手順により、作業を自動化し、テスターＵの作業能力に依存することなく、一定のテスト品質かつ作業効率の良い方法で、評価対象ソフトウェアの動作を検証・評価することが可能となる。
【００５５】
では、前述した動作例を踏まえ、本実施形態に係る「ソフトウェア動作テスト機能」について詳細に説明する。
【００５６】
＜ハードウェア構成＞
まず、ソフトウェア動作テスト機能を搭載する本実施形態に係る情報処理装置のハードウェア構成について説明する。図４は、本発明の第１の実施形態に係る情報処理装置１００のハードウェア構成例を示す図である。
【００５７】
図４に示すように、情報処理装置１００は、入力装置１０１と、表示装置１０２と、ドライブ装置１０３と、ＲＡＭ（Random Access Memory）１０４と、ＲＯＭ（Read Only Memory）１０５と、ＣＰＵ（Central Processing Unit）１０６と、インタフェース装置１０７と、ハードディスク１０８とから構成され、それぞれバスで相互に接続されている。
【００５８】
入力装置１０１は、キーボード及びマウスなどで構成され、情報処理装置１００に各操作信号を入力するのに用いられる。表示装置１０２は、ディスプレイなどで構成され、情報処理装置１００による処理結果などを表示する。
【００５９】
インタフェース装置１０７は、情報処理装置１００をネットワークなどのデータ伝送路（非図示）に接続するインタフェースである。情報処理装置１００は、インタフェース装置１０７を介して外部機器（非図示）とのデータ通信を行う。
【００６０】
ハードディスク１０８は、情報処理装置１００全体を制御し情報処理システムを提供するプログラムやデータ、情報処理システムにおいて各種機能（例えば「文書・画像編集やデータ通信」など）を提供するアプリケーションのプログラムやデータなどを格納している記憶装置である。また、ハードディスク１０８は、格納しているプログラムやデータを、所定のファイルシステムやＤＢ（Data Base）により管理している。
【００６１】
なお、上記プログラムやデータは、例えばＣＤ（Compact Disk）などの記録媒体１０３ａによって情報処理装置１００に提供されるか、ネットワークなどのデータ伝送路からインタフェース装置１０７を介してダウンロードされる。例えば、記録媒体１０３ａから提供される場合は、記録媒体１０３ａを読み取り可能なドライブ装置１０３を介してハードディスク１０８にインストールされる。
【００６２】
ＲＯＭ１０５は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１０５には、情報処理装置１００が起動されるときに実行されるＢＩＯＳ（Basic Input/Output System）や、情報処理装置１００のシステム設定やネットワーク関連の設定などのデータを格納している。
【００６３】
ＲＡＭ１０４は、上記各種記憶装置から読み出されたプログラムやデータを一時保持する。ＣＰＵ１０６は、ＲＡＭ１０４上に読み出されたプログラムを実行する。
【００６４】
情報処理装置１００は、このようなハードウェア構成により、例えば、ハードディスク１０８からＲＡＭ１０４上に読み出されたアプリケーションのプログラムをＣＰＵ１０６により実行し、文書や画像データの閲覧・編集を行ったり、インタフェース装置１０７を介して外部機器とのデータ通信を行ったりすることができる。
【００６５】
＜ソフトウェア動作テスト機能＞
本実施形態に係るソフトウェア動作テスト機能では、評価対象機に搭載される場合と、エミュレータに搭載される場合とで、機能を実現するソフトウェア構成を同一の構成とすることで、評価対象機とエミュレータの両方の環境に容易に対応でき（容易に導入でき）、また、評価対象機とエミュレータの両方の環境で、同一の操作手順記録データと検証用データとを用いて、評価対象ソフトウェアの動作を検証・評価することができる。
【００６６】
以降に説明するソフトウェア動作テストは、情報処理装置１００に１つのアプリケーションとしてインストールされたソフトウェア動作テストプログラムを、ＲＡＭ１０４上に読み出し、ＣＰＵ１０６により実行することで実現される機能である。
【００６７】
では、その機能構成と動作について説明する。
【００６８】
《機能構成》
図５は、本発明の第１の実施形態に係るソフトウェア動作テスト機能の構成例を示す図である。図５には、エミュレータに搭載されたソフトウェア動作テスト機能の構成例が示されている。まず、機能構成を説明する前に「エミュレータ」について簡単に触れておく。
【００６９】
エミュレータ（Emulator）とは、機械の模倣装置、あるいは模倣ソフトウェアのことである。ある機械部品やソフトウェアを動作させるのに、オリジナルのシステムを用意するのが難しい場合に、オリジナルと同じ動作を行う簡便なシステムを用意することがある。この装置をエミュレータと言う。これにより、エミュレータ上で、動作させたいソフトウェアや機械部品をオリジナルと同じように機能させることができる。
【００７０】
本実施形態では、模倣対象を評価対象機とし、評価対象機と同じ動作を行うシステムを情報処理装置１００で動作させる。つまり、情報処理装置１００がエミュレータとなる。
【００７１】
よって、情報処理装置１００では、評価対象機が搭載するハード・ソフトウェアによる各種機能が擬似的に再現された（エミュレートされた）システム（以下、「評価対象機再現部」と言う。）上で動作する評価対象ソフトウェアＳＷ１に対して動作テストを行う。
【００７２】
このように、本実施形態では、主に、評価対象機再現部１１により再現された環境で動作する評価対象ソフトウェアＳＷ１に対して検証・評価を行う動作テスト部１２とから構成される。
【００７３】
（評価対象機再現部）
評価対象機再現部１１は、評価対象ソフトウェアＳＷ１と、評価対象ソフトウェアＳＷ１と連携して機能提供を実現する連携ソフトウェアＳＷ３と、評価対象機が備える各種ハードウェア資源（各種デバイス）をエミュレートするハードウェアエミュレーションツールＨＥＴとを有し、評価対象ソフトウェアＳＷ１と、連携ソフトウェアＳＷ３又はハードウェアエミュレーションツールＨＥＴの少なくとも１つとの間には、相互間で送受信される各種イベント（例えば「動作指示」など）の通信経路となるイベント・キャプチャ部２１が配置される構成となっている。
【００７４】
上記ハードウェアエミュレーションツールＨＥＴは、評価対象ソフトウェアＳＷ１が実現する機能により使用される各種ハードウェア資源をエミュレートするハードウェアエミュレータＨＥと、各種ハードウェア資源のデバイスドライバ機能（ハードウェアとソフトウェアとのインタフェース機能）をエミュレートするエミュレーションドライバＥＤとから構成され、評価対象機に依存するハードウェア資源の提供機能を擬似的に再現している。
【００７５】
また、上記イベント・キャプチャ部２１は、「記録」や「再生」などの動作テスト実行時に、後述するイベント記録・再生部２２との連携処理により、イベントの取得や発行と言ったイベント制御が可能となっている。この制御の詳細な説明については、イベント記録・再生部２２の説明にて行う。
【００７６】
このような評価対象機再現部１１により、評価対象ソフトウェアＳＷ１は、情報処理装置１００において、評価対象機に搭載されたときと同じ動作を行うことが可能となる。
【００７７】
例えば、「テスターＵが、評価対象機の操作パネルを介して、テスト工程の作業手順に従った操作を行い、評価対象機に搭載されるアプリケーションＡＰを動作させる」場合、情報処理装置１００では、上記評価対象機再現部１１のハードウェアエミュレーションツールＨＥＴにより、入力装置１０１を介したテスターＵからの動作指示を受け付け、受け付けた動作指示を、イベント・キャプチャ部２１を介して、評価対象ソフトウェアＳＷ１に送り、評価対象ソフトウェアＳＷ１が、動作指示に従って処理を実行することで再現することができる。
【００７８】
続いて、ソフトウェア動作テスト機能である動作テスト部１２について説明する。
【００７９】
（動作テスト部）
動作テスト部１２は、イベント記録・再生部２２及び検証部２３により構成される。
【００８０】
イベント記録・再生部２２は、「（Ａ）イベント記録機能」と「（Ｂ）イベント再生機能」との２つの機能を有している。「イベント記録機能」では、前述した評価対象機再現部１１の評価対象ソフトウェアＳＷ１が送受信するイベントを記録し、「イベント再生機能」では、記録したイベントを再生し、評価対象ソフトウェアＳＷ１を動作させる。
【００８１】
また、イベント記録・再生部２２は、上記イベント記録及び再生機能を、評価対象機再現部１１のイベント・キャプチャ部２１と連携動作することで実現する。
【００８２】
検証部２３は、「（Ｃ）検証・評価機能」を有し、上記イベント再生機能により得られる評価対象ソフトウェアＳＷ１の動作結果を基に、評価対象ソフトウェアＳＷ１が正しく動作しているか否かを検証・評価する。
【００８３】
以下に、上記各機能部の詳細や他の機能部との連携動作について説明する。
【００８４】
（Ａ）イベント記録機能
イベント記録・再生部２２は、イベント・キャプチャ部２１を介して、評価対象ソフトウェアＳＷ１が送受信するイベントを取得し、ハードディスク１０８の所定の記憶領域に格納する。
【００８５】
評価対象ソフトウェアＳＷ１が送受信するイベントには、評価対象ソフトウェアＳＷ１が、ハードウェアエミュレーションツールＨＥＴ又は連携ソフトウェアＳＷ３の少なくとも１つを含むリソース環境（以下、「外部環境」と言う。）から受信する入力イベントと、評価対象ソフトウェアＳＷ１が送信する出力イベントに大別される。
【００８６】
入力イベントには、評価対象ソフトウェアＳＷ１への動作指示など、例えば、テスターＵが、入力装置１０１を介して、テスト工程の作業手順に従った操作を行ったときに受信する操作イベントなどが含まれる。また、出力イベントには、受信した操作イベントに従って動作した評価対象ソフトウェアＳＷ１の動作結果イベントなどが含まれる。
【００８７】
これらの各種イベントは、全て、イベント・キャプチャ部２１を介して、評価対象ソフトウェアＳＷ１と外部環境との間でやり取りされる。
【００８８】
よって、イベント記録・再生部２２は、イベント・キャプチャ部２１に対してイベント取得を要求し、上記入出力イベントを取得する。例えば、イベント記録・再生部２２は、画面操作時に上記イベント取得の要求を行った場合、イベント・キャプチャ部２１を介して、入力イベントである操作イベントと、出力イベントとして動作結果イベントを取得する。
【００８９】
《処理手順》
図６は、本発明の第１の実施形態に係るイベント記録機能の処理手順例を示すシーケンス図である。（Ａ）には、外部環境から評価対象ソフトウェアＳＷ１への入力イベントを取得し記録する場合、一方（Ｂ）には、評価対象ソフトウェアＳＷ１から外部環境への出力イベントを取得し記録する場合のそれぞれの例が示されている。
【００９０】
・入力イベントの記録
図６（Ａ）に示すように、情報処理装置１００が有するイベント記録機能は、まず、イベント・キャプチャ部２１が、外部環境から評価対象ソフトウェアＳＷ１への入力イベントを取得し（ステップＳ１０１）、取得した入力イベントを、取得要求元のイベント記録・再生部２２へ送信する（ステップＳ１０２）。
【００９１】
イベント記録・再生部２２は、受け取った入力イベントを基に、操作手順記録データ３１を生成し、ハードディスク１０８の所定の記憶領域にデータファイルとして格納する（ステップＳ１０３）。
【００９２】
・出力イベントの記録
図６（Ｂ）に示すように、情報処理装置１００が有するイベント記録機能は、まず、イベント・キャプチャ部２１が、評価対象ソフトウェアＳＷ１から外部環境への出力イベントを取得し（ステップＳ２０１）、取得した出力イベントを、取得要求元のイベント記録・再生部２２へ送信する（ステップＳ２０２）。
【００９３】
イベント記録・再生部２２は、受け取った出力イベントを基に、検証用データ４１を生成し、ハードディスク１０８の所定の記憶領域にデータファイルとして格納する（ステップＳ２０３）。
【００９４】
このように、イベント記録・再生部２２は、入力イベントとして取得した操作イベントと、出力イベントとして取得した動作結果イベントとを、異なるイベント情報としてハードディスク１０８に格納し、各情報で構成されたファイルデータを生成する。
【００９５】
イベント記録・再生部２２は、取得した操作イベントを基に、操作手順を記録したデータファイルである操作手順記録データ３１を生成する。例えば、生成される操作手順記録データ３１は、操作イベントを識別するイベント識別情報（イベントＩＤ）、操作手順による動作指示や動作条件などを示す操作手順情報（外部環境からの動作指示や動作条件）、操作イベントが発行される時間を示すイベント発行時間情報などから構成されている。
【００９６】
また、イベント記録・再生部２２は、取得した動作結果イベントを基に、評価対象ソフトウェアＳＷ１が正しく動作しているかを検証・評価するときの基準データである検証用データ４１を生成する。例えば、検証用データ４１は、動作結果イベントを識別するイベント識別情報（イベントＩＤ）、動作結果を示す動作結果情報（入力イベントに応じた外部環境への動作指示や動作条件）などから構成されている。
【００９７】
このようにして生成されたデータファイル３１及び４１は、後述する操作手順再生時に、再生中の操作手順に対応する検証・評価の基準が一意に特定可能なように、互いのデータ３１及び４１が対応付けられて保存される。
【００９８】
また、これらのデータ３１及び４１は、例えばテスト単位など、記録された操作手順を実行したときに１つのテストが終了する単位でファイル化され保存される。
【００９９】
以上のように、イベント記録・再生部２２は、イベント・キャプチャ部２１と連携して機能することで、テスト工程の中で行われる操作手順と、操作手順に対応する評価対象ソフトウェアＳＷ１の動作結果とを記録する。
【０１００】
（Ｂ）イベント再生機能
イベント記録・再生部２２は、イベント・キャプチャ部２１を介して、評価対象ソフトウェアＳＷ１を動作させ、その動作結果を取得する。つまり、評価対象ソフトウェアＳＷ１の動作テストを行う。
【０１０１】
イベント記録・再生部２２は、評価対象ソフトウェアＳＷ１に対して、入力イベントである操作イベントを擬似的に送信し、外部環境から操作イベントを受信したときと同様の動作をさせる。その結果、評価対象ソフトウェアＳＷ１から外部環境へ送信された出力イベントである動作結果イベントを取得する。
【０１０２】
また、イベント記録・再生部２２は、ハードディスク１０８に保存されている操作手順記録データ３１を基に上記操作イベントを送信する。
【０１０３】
操作手順記録データ３１には、イベント記録時に取得した操作イベントに関する情報（イベント識別情報、操作手順情報、及びイベント発行時間情報など。）が、取得した順に記録されている。つまり、テスターＵが行った操作順に発行された操作イベントが記録されている。
【０１０４】
よって、イベント記録・再生部２２は、操作手順記録データ３１を構成するデータの順（記録データ順）に、イベント・キャプチャ部２１に対して操作イベントに関する情報のイベント識別情報を送信する。その結果、イベント・キャプチャ部２１が、イベント識別情報を基に、識別情報に該当する操作イベントを、評価対象ソフトウェアＳＷ１へ送信する。
【０１０５】
また、上記イベント・キャプチャ部２１における操作イベントの送信タイミングは、イベント記録・再生部２２により制御される。
【０１０６】
イベント記録・再生部２２は、操作イベントに関する情報のイベント発行時間情報を基に、イベント・キャプチャ部２１に対してイベント識別情報の送信を制御する。その結果、イベント・キャプチャ部２１における操作イベントの送信が制御される。
【０１０７】
以上のように、イベント記録・再生部２２は、イベント・キャプチャ部２１と連携して機能することで、記録しておいた操作手順を基に、テスターＵが手作業で行っていた操作を、テスターＵの操作と同じタイミングで自動実行する。これにより、動作テストの作業効率の向上を図ることができ、かつ、テスト工程の中で行われる操作手順を忠実に再現することが可能となる。
【０１０８】
（Ｃ）検証・評価機能
続いて、検証部２３は、イベント記録・再生部２２がイベント再生機能により、評価対象ソフトウェアＳＷ１から取得した動作結果を基に、正しく動作しているか否か（正常に動作しているか否か）を検証・評価する。
【０１０９】
検証部２３には、イベント記録・再生部２２から、評価対象ソフトウェアＳＷ１の出力イベントである動作結果イベントが送信される。その結果、検証部２３は、受け取った動作結果イベントと、ハードディスク１０８に保存されている検証用データ４１の各動作結果イベントとを比較することで、動作の検証・評価を行う。
【０１１０】
検証用データ４１には、イベント記録時に取得した動作結果イベントに関する情報（イベント識別情報及び動作結果情報）が、取得した順に記録されている。つまり、テスターＵが行った操作に対応して、評価対象ソフトウェアＳＷ１が動作した順に発行された動作結果イベントが記録されている。
【０１１１】
よって、イベント記録・再生部２２がイベント再生機能により、操作手順記録データ３１を基に動作テストを実行していることから、評価対象ソフトウェアＳＷ１が正しく動作していれば、評価対象ソフトウェアＳＷ１からは、検証用データ４１を構成する各動作結果イベントが得られる。
【０１１２】
これにより、検証部２３は、イベント再生時に、イベント記録・再生部２２から送信された動作結果イベントと、検証用データ４１からデータ順（記録データ順）に従って抽出した動作結果イベントとを比較し、一致していれば、評価対象ソフトウェアＳＷ１が、操作イベントの受信に従って正しく動作していると判定する。一方、異なっていれば、正しく動作していないと判定する。
【０１１３】
以上のように、検証部２３は、イベント記録・再生部２２により、動作テストの操作手順に従って実行された評価対象ソフトウェアＳＷ１から取得した動作結果を基に、正しく動作しているか否か（正常に動作しているか否か）を判断し、評価対象ソフトウェアＳＷ１の動作を検証・評価する。
【０１１４】
《処理手順》
図７は、本発明の第１の実施形態に係るイベント再生及び検証・評価機能の処理手順例を示すシーケンス図である。
【０１１５】
図７に示すように、情報処理装置１００が有するイベント再生及び検証・評価機能は、まず、イベント記録・再生部２２が、ハードディスク１０８に保存されている操作手順記録データ３１を取得し（ステップＳ３０１）、取得した操作手順記録データ３１を基に、テスターＵが手作業で行っていた操作を、テスターＵの操作と同じタイミングで自動実行する（ステップＳ３０２）。
【０１１６】
イベント記録・再生部２２は、取得した操作手順記録データ３１を構成するデータの順に、イベント・キャプチャ部２１に対して操作イベントに関する情報（記録された操作手順数：Ｎ）のイベント識別情報と操作手順情報を、イベント発行時間情報に従ったタイミングで送信する（ステップＳ３０３ｎ）。
【０１１７】
イベント・キャプチャ部２１は、受け取ったイベント識別情報と操作手順情報とを基に、該当する操作イベント（記録された操作手順数：Ｎ）を、外部環境からの入力イベントとして、評価対象ソフトウェアＳＷ１へ送信する（ステップＳ３０４ｎ）。
【０１１８】
評価対象ソフトウェアＳＷ１は、受け取った入力イベントに従って（要求された）所定の処理を行い（ステップＳ３０５）、イベント・キャプチャ部２１が、評価対象ソフトウェア２１から外部環境への出力イベントとして送信された動作結果イベントを取得する（ステップＳ３０６）。
【０１１９】
イベント・キャプチャ部２１は、取得した動作結果イベントを、イベント記録・再生部２２へ送信し（ステップＳ３０７）、イベント記録・再生部２２が検証部２３へ送信する（ステップＳ３０８）。
【０１２０】
その結果、検証部２３は、ハードディスク１０８に保存されている検証用データ４１を取得し（ステップＳ３０９）、受け取った動作結果イベントと、検証用データ４１からデータ順に従って抽出した動作結果イベントとを比較し、一致していれば、評価対象ソフトウェアＳＷ１が、操作イベントの受信に従って正しく動作していると判定する。一方、異なっていれば、正しく動作していないと判定する。すなわち、評価対象ソフトウェアＳＷ１の動作を検証・評価する（ステップＳ３１０）。
【０１２１】
＜まとめ＞
以上のように、本発明の第１の実施形態によれば、本実施形態に係る情報処理装置１００は、評価対象機が搭載するハード・ソフトウェアによる各種機能を擬似的に再現する評価対象機再現部１１と、評価対象機再現部１１上が再現したシステム上で動作する評価対象ソフトウェアＳＷ１に対して動作テストを行う動作テスト部１２とを有している。
【０１２２】
このような構成において、動作テスト部１２が、評価対象機再現部１１で評価対象ソフトウェアＳＷ１の送受信イベントを制御するソフトウェア部品２１を介して、操作手順の記録及び再生（実行）を行い、評価対象ソフトウェアＳＷ１の動作を検証・評価する。すなわち、上記ソフトウェア部品２１と動作テスト部１２とが協調動作し、評価対象ソフトウェアＳＷ１の動作を検証・評価する。
【０１２３】
これによって、情報処理装置１００では、評価対象機に搭載される場合と、エミュレータに搭載される場合とで、機能を実現するソフトウェア構成を同一の構成とすることで、評価対象機とエミュレータの両方の環境に容易に対応できる（容易に導入できる）。また、評価対象機とエミュレータの両方の環境で、同一の操作手順記録データ３１と検証用データ４１とを用いて、評価対象ソフトウェアＳＷ１の動作を検証・評価することができる（テストデータを共通化することができる）。
【０１２４】
よって、情報処理装置１００は、評価対象機とエミュレータの両方の環境において、機器に搭載されるソフトウェアの動作を検証・評価することができる。
【０１２５】
［第２の実施形態］
ソフトウェアの動作を検証・評価するときに、この検証・評価を自動化することは、テスト工程における作業効率（ソフトウェア評価の効率）を向上する上で効果的である。
【０１２６】
しかし、実際に評価対象ソフトウェアから取得される動作結果には、評価対象とは別の要因により微小な差異が含まれる場合がある。従来は、テスターが検証・評価を行っていたことから問題はなかったが、自動化した場合には、誤った評価の原因となりうる。
【０１２７】
上記微小な差異には、例えば、画面遷移動作のテストを行ったときに、出力画面に連携する他のソフトウェアやシステムからの情報が動作結果に含まれる場合などである。このような場合、同じ操作手順に従ってテストを行ったとしても、動作結果が異なることとなる。
【０１２８】
また、演算精度の違いや演算アルゴリズムの違いなどによって、評価対象機上とエミュレータ上で、微小な差異が生じることも考えられる。
【０１２９】
これでは、評価対象機とエミュレータの両方の環境で、同一の操作手順記録データと検証用データとを用いて、評価対象ソフトウェアの動作を検証・評価することが困難となり、評価対象ソフトウェアの動作結果に含まれる差異により、テスト工程におけるソフトウェア評価が誤って行われ、テスト品質を低下させてしまう。その結果、ソフトウェアの品質に悪影響を及ぼすことになる。
【０１３０】
そこで、本実施形態では、予め、イベント種ごとに許容可能な差異の範囲を決めておき、この許容可能な範囲を基に、評価対象ソフトウェアの動作を検証・評価する検証・評価機能を有することで、上記問題点を解決するものである。つまり、本実施形態では、検証・評価時の評価基準を、イベント種ごとにカスタマイズ可能な（柔軟に変更可能な）構成となっている。
【０１３１】
以下に、上記本実施形態に係る「評価基準をカスタマイズ可能な検証・評価機能」について説明するが、本実施形態と第１の実施形態との違いは、上記検証・評価機能のみであることから、それ以外の技術的事項については、第１の実施形態と同一の図面と参照符号を用いて、その説明を省略する。
【０１３２】
＜ソフトウェア動作テスト機能＞
第１の実施形態において説明したように、ソフトウェア動作テスト機能は、主に、評価対象機再現部１１と動作テスト部１２とから構成され、以下に説明する検証・評価機能は、上記動作テスト部１２が有する検証部２３により実現される。
【０１３３】
《機能構成》
図８は、本発明の第２の実施形態に係る本発明の第２の実施形態に係る評価基準をカスタマイズ可能な検証・評価機能の構成例を示す図である。
【０１３４】
図８に示すように、検証部２３は、イベント記録・再生部２２がイベント再生機能により、評価対象ソフトウェアＳＷ１から取得した動作結果を基に、正しく動作しているか否か（正常に動作しているか否か）を検証・評価する。
【０１３５】
その中で、検証部２３は、同機能部が有する比較部５１により、イベント記録・再生部２２から受け取った動作結果イベントと、ハードディスク１０８に保存されている検証用データ４１の各動作結果イベントとを比較することで、動作の検証・評価を行う。
【０１３６】
そこで、本実施形態では、比較部５１において、動作結果イベントの比較を行うときに、イベント種ごとにそれぞれの評価基準を設定可能な構成としている。より具体的には、動作結果イベントの比較を行うときに、イベントごとに評価関数６１ｎを追加可能となっている。
【０１３７】
上記イベント種とは、動作結果イベントの中で取り扱われるデータ種（複数のデータ種の組み合わせを含む）から分類されるイベントの種類である。ここで言うデータ種とは、例えば、整数値や浮動小数点などの数値データ、またイメージデータなどである。
【０１３８】
さらに上記評価関数６１ｎとは、取得した動作結果が正しい動作結果にどの程度近似しているかを評価し、その結果をソフトウェア評価とする関数である。
【０１３９】
《処理手順》
図９は、本発明の第２の実施形態に係る評価基準を基に検証・評価を行う検証・評価機能の処理手順を示すフローチャートである。
【０１４０】
図９に示すように、検証・評価機能は、検証部２３の比較部５１が、イベント記録・再生部２２から受け取った動作結果イベント（評価対象イベント）に対応する評価関数６１ｎを検索（追加されているか否かを判定）する（ステップＳ４０１）。
【０１４１】
比較部５１は、該当する評価関数６１ｎがある場合には（ステップＳ４０１；ＹＥＳ）、評価関数６１ｎに所定の評価パラメータを入力し、評価基準を基に評価値を算出し（ステップＳ４０２）、評価対象ソフトウェアＳＷ１の評価結果を得る（ステップＳ４０４）。
【０１４２】
一方、該当する評価関数６１ｎがない場合には（ステップＳ４０５：ＹＥＳ）、イベント記録・再生部２２から受け取った動作結果イベントと、検証用データ４１からデータ順に従って抽出した動作結果イベントとを比較し（ステップＳ４０５）、比較結果を得る（ステップＳ４０６）。
【０１４３】
このように、比較部５１では、イベント記録・再生部２２から受け取った動作結果イベントを基に検証・評価を行うときに、評価関数６１ｎに所定の評価パラメータを入力し、評価基準を基に出力された（所定の計算式により算出された）評価対象ソフトウェアの評価値が得られる。また、このとき比較部５１は、例えば、イベント記録・再生部２２から受け取った動作結果イベントのイベント識別情報（例えば「イベントＩＤ」など）を基に、イベントに対応する評価関数６１ｎが、比較部５１に追加されているか否かを判定し、追加されていれば、該当する評価関数６１ｎを用いて評価値を算出する。
【０１４４】
ここで、評価関数６１ｎについてさらに説明する。
【０１４５】
（評価関数）
評価関数６１ｎでは、例えば、以下に示すデータ種ごとの評価基準（許容可能な範囲）を基に、評価対象ソフトウェアＳＷ１を評価する。このように、動作結果イベントの中で取り扱われるデータ種（複数のデータ種の組み合わせを含む）によって、イベント種に対応する評価基準を決定する。
（データ種）        ：  （評価基準（許容可能な範囲））
・数値データ        ：  数値の許容差や許容割合（％）
・イメージデータ    ：  誤差率［誤り画素数／全画素数］
・イメージデータ    ：  有効座標範囲［評価対象外エリアを除外］
・イベント発生時刻  ：  時間の許容差（秒）
評価関数６１ｎには、２つの評価パラメータを入力可能であり、これらの評価パラメータは、イベント記録・再生部２２から受け取った動作結果イベントと、ハードディスク１０８に保存されている検証用データ４１から抽出した動作結果イベントとである。
【０１４６】
また、評価関数６１ｎは、動作結果イベントのイベント識別情報に対応付けて比較部５１に追加可能である。よって、評価関数６１ｎは、イベントごとに一意に特定することができる。
【０１４７】
このように、検証部２３は、比較部５１にイベントごとに追加されている評価関数６１ｎから得られる評価結果から、評価対象ソフトウェアＳＷ１の動作を検証・評価する。
【０１４８】
以上のように、検証部２３は、同機能部内の比較部５１により、動作テストの操作手順に従って実行された評価対象ソフトウェアＳＷ１から取得した動作結果を評価パラメータとする評価関数６１ｎの評価基準を基に、正しく動作しているか否か（正常に動作しているか否か）を判断し、評価対象ソフトウェアＳＷ１の動作を検証・評価する。
【０１４９】
＜まとめ＞
以上のように、本発明の第２の実施形態によれば、本実施形態に係る情報処理装置１００は、第１の実施形態において説明を行った各機能部に構成されており、動作テスト部１２が、評価対象機再現部１１で評価対象ソフトウェアＳＷ１の送受信イベントを制御するソフトウェア部品２１を介して、操作手順の記録及び再生（実行）を行い、評価対象ソフトウェアＳＷ１の動作を検証・評価する。
【０１５０】
さらに、本実施形態では、評価対象ソフトウェアＳＷ１の動作を検証・評価する検証・評価機能において、動作テストの操作手順に従って実行された評価対象ソフトウェアＳＷ１から取得した動作結果を評価パラメータとする評価関数６１ｎの評価基準を基に、正しく動作しているか否かを判断し、評価対象ソフトウェアＳＷ１の動作を検証・評価する。また、本実施形態では、上記評価基準の調整を、評価関数６１ｎの追加／削除により行え、イベント種ごとにカスタマイズ可能な（柔軟に変更可能な）構成となっている。
【０１５１】
これによって、情報処理装置１００では、評価対象ソフトウェアＳＷ１から取得される動作結果に、評価対象とは別の要因による微小な差異が含まれている場合であっても、評価関数６１ｎの追加により調整された評価基準により、テスト動作が自動実行時における上記微小な差異による誤ったソフトウェア評価を防ぎ、安定したテスト品質を維持することができる。
【０１５２】
よって、情報処理装置１００は、第１の実施形態と同様の効果を奏するとともに、安定したテスト品質を維持することにより、ソフトウェアの品質も維持することができる。
【０１５３】
＜機能構成の変形例＞
上記各実施形態では、主にエミュレータである情報処理装置１００において動作するソフトウェア動作テスト機能について説明を行った。
【０１５４】
ここからは、評価対象機や、評価対象機とテスト実行機との組み合わせなど、ソフトウェア動作テスト機能を他の形態に実装した場合について説明する。
【０１５５】
《評価対象機》
図１０は、本発明の各実施形態に係るソフトウェア動作テスト機能構成の変形例（その１）を示す図である。図１０には、評価対象機２００にソフトウェア動作テスト機能を実装した場合の機能構成例が示されている。
【０１５６】
情報処理装置１００の場合には、評価対象機２００が備える各種ハードウェア資源（各種デバイス）をエミュレートするハードウェアエミュレーションツールＨＥＴを有していたが、評価対象機２００の場合には、エミュレートする必要がないことから、評価対象ソフトウェアＳＷ１と、連携ソフトウェアＳＷ３、各種ハードウェアＨＷ、又は各種デバイスドライバＳＷ２の少なくとも１つとの間に、相互間で送受信される各種イベントの通信経路となるイベント・キャプチャ部２１を配置する構成となっている。
【０１５７】
これにより、評価対象機２００においても、エミュレータで動作する動作テスト部１２の構成をそのまま用いることが可能となり、上記各実施形態において説明を行った情報処理装置１００の機能構成を同一の構成によりソフトウェア動作テストを行うことができる。また、情報処理装置１００と評価対象機２００との両方のテスト環境において、同一の操作手順記録データ３１及び検証用データ４１とが共通して使用できることは言うまでもない。
【０１５８】
《評価対象機とテスト実行機》
図１１は、本発明の各実施形態に係るソフトウェア動作テスト機能構成の変形例（その２）を示す図である。図１１には、評価対象機２００とテスト実行機１００とに、ソフトウェア動作テスト機能を実装した場合の機能構成例が示されている。
【０１５９】
テスト実行機１００は、情報処理装置であり、動作テスト部１２のみで構成される。また、上記評価対象機２００には、評価対象ソフトウェアＳＷ１と、連携ソフトウェアＳＷ３、各種ハードウェアＨＷ、又は各種デバイスドライバＳＷ２の少なくとも１つとの間に、相互間で送受信される各種イベントの通信経路となるイベント・キャプチャ部２１を配置する構成となっている。
【０１６０】
このような構成から、評価対象機２００とテスト実行機１００とを、所定のデータ伝送路で接続することにより、評価対象機２００のイベント・キャプチャ部２１と、テスト実行機１００のイベント記録・再生部２２との協調動作が可能となる。
【０１６１】
ここまで、上記各実施形態に基づき本発明の説明を行ってきたが、上記各実施形態において、図を用いて説明を行った各処理手順は、処理手順が実行される動作環境（プラットフォーム）にあったプログラミング言語でコード化したプログラムとしてコンピュータで実行される。これにより前述したソフトウェア動作テスト機能を実現することができる。よって、上記プログラムは、コンピュータが読み取り可能な記録媒体１０３ａに格納することができる。
【０１６２】
よって、上記プログラムは、フロッピー（登録商標）ディスク、ＣＤ、ＤＶＤ（Digital Versatile Disk）などの記録媒体１０３ａに記憶させることによって、これらの記録媒体１０３ａを読み取り可能なドライブ装置１０３を介して、情報処理装置１００や評価対象機２００にインストールすることができる。また、情報処理装置１００や評価対象機２００には、ネットワークなどのデータ伝送路に接続可能なインタフェース装置１０７を備えていることから、インターネットなどの電気通信回線を用いて上記プログラムを装置内部にダウンロードし、インストールすることもできる。
【０１６３】
また、上記実施形態において、イベント記録・再生部２２が、操作手順記録データ３１や検証用データ４１を記録するときに、同機能部が動作する装置が備えた記憶装置に格納する例を挙げたが、例えば、ドライブ装置１０３を介して、着脱可能な記録媒体１０３ａに格納し記録しても良い。
【０１６４】
また、上記実施形態において、イベント記録・再生部２２によって、イベント記録機能とイベント再生機能とを１つのソフトウェア部品が実現する構成例を挙げたが、イベント記録機能はイベント記録部、また、イベント再生機能はイベント再生部と言ったように、機能ごとに別のソフトウェア部品による構成としても良い。
【０１６５】
最後に、上記実施形態に挙げた形状や構成に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【図面の簡単な説明】
【０１６６】
【図１】本発明の第１の実施形態に係るテスターの操作手順を記録するときの動作例を示す図である。
【図２】本発明の第１の実施形態に係る記録した操作手順を再生するときの動作例を示す図である。
【図３】本発明の第１の実施形態に係る評価対象ソフトウェアの動作を検証・評価するときの動作例を示す図である。
【図４】本発明の第１の実施形態に係る情報処理装置のハードウェア構成例を示す図である。
【図５】本発明の第１の実施形態に係るソフトウェア動作テスト機能の構成例を示す図である。
【図６】本発明の第１の実施形態に係るイベント記録機能の処理手順例を示すシーケンス図である。
【図７】本発明の第１の実施形態に係るイベント再生及び検証・評価機能の処理手順例を示すシーケンス図である。
【図８】本発明の第２の実施形態に係る評価基準をカスタマイズ可能な検証・評価機能の構成例を示す図である。
【図９】本発明の第２の実施形態に係る評価基準を基に検証・評価を行う検証・評価機能の処理手順を示すフローチャートである。
【図１０】本発明の各実施形態に係るソフトウェア動作テスト機能構成の変形例（その１）を示す図である。
【図１１】本発明の各実施形態に係るソフトウェア動作テスト機能構成の変形例（その２）を示す図である。
【符号の説明】
【０１６７】
１１      評価対象機再現部
１２      動作テスト部
２１      イベント・キャプチャ部
２２      イベント記録・再生部
２３      検証部
３１      操作手順記録データ
４１      検証用データ
５１      比較部
６１      評価関数
１００    情報処理装置（テスト実行機）
１０１    入力装置
１０２    表示装置
１０３    ドライブ装置（ａ：記録媒体）
１０４    ＲＡＭ
１０５    ＲＯＭ
１０６    ＣＰＵ
１０７    インタフェース装置
１０８    ハードディスク（情報処理装置側）
２００    評価対象機
ＡＰ      アプリケーション
ＣＴＬ    コントローラ
ＥＤ      エミュレーションドライバ
ＨＤ      ハードディスク（評価対象機側）
ＨＥ      ハードウェアエミュレータ
ＨＥＴ    ハードウェアエミュレーションツール
ＨＷ      ハードウェア
ＩＭＧ    画面データ（１：正解画面，２：検証用画面）
Ｒ        結果レポート
ＳＷ      ソフトウェア（１：評価対象，２：ドライバ，３：連携）
Ｔ        テストツール
Ｕ        テスター
Ｗ        操作画面（ＵＩ）
【図１】
2010020561.tif 000003
【図２】
2010020561.tif 000004
【図３】
2010020561.tif 000005
【図４】
2010020561.tif 000006
【図５】
2010020561.tif 000007
【図６】
2010020561.tif 000008
【図７】
2010020561.tif 000009
【図８】
2010020561.tif 000010
【図９】
2010020561.tif 000011
【図１０】
2010020561.tif 000012
【図１１】
2010020561.tif 000013