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