以下、本発明の好適な実施の形態(以下、「実施形態」と言う。)について、図面を用いて詳細に説明する。
[第1の実施形態]
<テスト環境>
本実施形態に係るテスト環境について、評価対象機である複数の画像処理装置200と、テスト実行機である情報処理装置100とを含むソフトウェア動作テストシステム1を例に説明する。
図1は、本実施形態に係るテスト環境の一例を示す図である。
図1には、PC(Personal Computer)などの1台の情報処理装置100と、複合機(MFP:Multifunction Peripheral)などの3台の画像処理装置2001〜2003とが、ネットワークなどの所定のデータ伝送路(非図示)で接続され、双方向データ通信可能なシステム1が示されている。
また、3台の画像処理装置2001〜2003は、タイプA、タイプB、タイプCといったように、機種が異なっている。
本実施形態では、このようなテスト環境において、情報処理装置100(テスト実行機)により、複数の画像処理装置200(評価対象機)を遠隔制御し、画像処理装置200に搭載されるアプリケーションプログラムなどの評価対象ソフトウェアの動作をテストする。
<ハードウェア構成>
次に、上記テスト実行機のハードウェア構成について説明する。
図2は、本実施形態に係る情報処理装置100のハードウェア構成例を示す図である。
図2に示すように、テスト実行機である情報処理装置100は、入力装置101、表示装置102、ドライブ装置103、RAM(Random Access Memory)106、ROM(Read Only Memory)105、CPU107、インタフェース装置108、及びHDD(Hard Disk Drive)109を含むハードウェアを備え、それぞれがバスで相互に接続されている。
入力装置101は、キーボード及びマウスなどを含み、情報処理装置100に各操作信号を入力するのに用いられる。表示装置102は、ディスプレイなどを含み、情報処理装置100による処理結果(例えば「評価・検証結果の情報」)などを表示する。
インタフェース装置108は、情報処理装置100をネットワークなどの所定のデータ伝送路に接続するインタフェースである。よって、情報処理装置100は、インタフェース装置108を介して、画像処理装置200とデータ通信を行うことができる。
HDD109は、各種プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、例えば、情報処理装置100全体を制御する情報処理システム(例えば「Windows(登録商標)」や「UNIX(登録商標)」などの基本ソフトウェアであるOS(Operating System))や、情報処理システム上において各種機能(例えば「ソフトウェア動作テスト機能」)を提供するアプリケーションなどがある。また、HDD109は、格納している上記プログラムやデータを、所定のファイルシステム及び/又はDB(Data Base)により管理している。
ドライブ装置103は、着脱可能な記録媒体104とのインタフェースである。よって、情報処理装置100は、ドライブ装置103を介して、記録媒体104の読み取り及び/又は書き込みを行うことができる。
ROM105は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ(記憶装置)である。ROM105には、情報処理装置100が起動されるときに実行されるBIOS(Basic Input/Output System)、及び情報処理装置100のシステム設定やネットワーク関連の設定などのデータが格納されている。
RAM106は、上記各種記憶装置から読み出されたプログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。
CPU107は、上記RAM106上に読み出したプログラムを実行することにより、情報処理装置100の全体制御や情報処理装置100が搭載する各種機能を動作させる。
このようなハードウェア構成により、情報処理装置100は、例えば、HDD109からRAM106上に読み出したプログラム(ソフトウェア動作テストプログラム)をCPU107により実行し、ソフトウェア動作テスト機能を実現することができる。
<ソフトウェア動作テストの動作例>
ここで、評価対象機に搭載された評価対象ソフトウェアの動作テスト(検証・評価)を、どのような流れで行うのかについて、テスターの操作及び上記システム1内の各機器(評価対象機とテスト実行機)の動作を例に説明する。なお、以下の説明では、画像処理装置200における操作パネルの画面遷移に関するソフトウェアの動作テストを一例として挙げる。
従来では、画面遷移動作の検証・評価を行うテスト工程は、テスターの手作業により行われ、操作パネル上の操作キーを介して動作指示を行った後に、画面遷移が正しく行われるか否かを目視で確認していた。そのため、テスト工程は、テスターにとって負荷の大きい作業であり、煩雑なものであった。このようなテスト工程では、操作手順を記録し、記録した手順に従って作業を再現できれば、テスト品質を維持しながら、作業効率を向上させることができる。
本実施形態に係るソフトウェア動作テストでは、「操作手順の記録」、「記録手順の再生」、「検証・評価」の順に行われる。
《操作手順の記録》
図3は、本実施形態に係るテスターの操作手順を記録するときの動作例を示す図である。まず、テスターUは、評価対象ソフトウェア(図中では「アプリケーションAP」)に動作指示(画面表示を行う動作指示)を行う(ステップS11)。このとき、テスターUは、画像処理装置200が備える操作パネルに表示された操作画面W(UI)を介して、所定の操作を行い、動作を指示する。
画像処理装置200では、操作画面Wから受け付けた動作指示に対応する操作イベントが、操作パネルから、画像処理装置200が備えるコントローラCTに送られる(ステップS12)。
コントローラCTは、受け取った操作イベントをアプリケーションAPに送る(ステップS13)。
アプリケーションAPは、受け取った操作イベントにより動作指示された所定の処理を行い、その後、処理結果や次の操作要求などを表示する遷移後の画面データ(グラフィック部品群)を生成し、コントローラCTに送る(ステップS14)。
コントローラCTは、受け取った画面データを、情報処理装置100で動作するテストツールTに送る(ステップS16)。また、コントローラCTは、ステップS12において受け取った操作イベントをテストツールTに送る(ステップS15)。
テストツールTは、ステップS15において受け取った操作イベントを操作手順のデータとして記録し、記録データを、例えば情報処理装置100が備えるHDD109などの記憶装置の所定の記憶領域に格納する。また、ステップS16において受け取った画面データも、検証・評価時に正しいとする基準画面(正解画面)のデータとして記録する(ステップS17)。また、ステップS17では、上記各データ(操作手順記録データと画面データ)を対応付けて格納する。
一方、画像処理装置200が備えるコントローラCTは、ステップS14において受け取った画面データを操作パネルに送る(ステップS18)。
操作パネルは、受け取った画面データを基に、手動操作による新たな操作画面W(正解画面)を表示し、テスターUに次の操作(次の動作指示)を促す(ステップS19)。
本実施形態では、以上のような動作を繰り返すことにより、テスターUの操作手順をデータ化し記録する。その結果、操作手順記録データが生成される。
《記録した操作手順の再生》
図4は、本実施形態に係る記録した操作手順を再生するときの動作例を示す図である。本実施形態では、上記記録データを基に操作手順を再生し、テスト工程を再現する。
情報処理装置100で動作するテストツールTは、HDD109から操作手順記録データ及び対応付けられた画面データを、記録順に取得する(ステップS21)。続いて、テストツールTは、取得した操作手順記録データを基に、記録された各操作イベント情報(操作手順)を、画像処理装置200が備えるコントローラCTに送る(ステップS22)。
コントローラCTは、受け取った各操作イベント情報(操作手順)に従って、アプリケーションAPに操作イベントを送る(ステップS23)。その結果、アプリケーションAPは、操作パネルから操作イベントを受信したときと同じように動作する。
アプリケーションAPは、受け取った操作イベントにより動作指示された所定の処理を行い、その後、表示する操作画面の画面データ(グラフィック部品群)を生成し、コントローラCTに送る(ステップS24)。
コントローラCTは、受け取った画面データを、情報処理装置100で動作するテストツールTに送る(ステップS25)。
テストツールTは、ステップS25において受け取った画面データを、検証・評価時の正解画面と比較する検証用データとして記録し、HDD109の所定の記憶領域に格納する(ステップS26)。
一方、画像処理装置200が備えるコントローラCTは、ステップS24において受け取った画面データを操作パネルに送る(ステップS27)。
操作パネルは、受け取った画面データを基に、操作手順の再生による新たな操作画面W(検証用画面)を表示し、テスターUに操作手順の実行状態を通知する(ステップS28)。
本実施形態では、以上のような動作を、記録された一連の操作手順に従って(テスト工程の単位で)実行する。これにより、手作業で行っていたテスターUの操作手順を自動化し、テスト工程の各作業を再現する。
《検証・評価》
図5は、本実施形態に係る評価対象ソフトウェアの動作を検証・評価するときの動作例を示す図である。遷移画面動作の検証・評価は、情報処理装置100で動作するテストツールTにより行われる。
テストツールTは、例えば、「操作手順の記録」により得られた正解画面の画面データIMG1と、「記録した操作手順の再生」により得られた検証用画面の画面データIMG2とを比較し、検証・評価結果を得る。その比較方法には、画面データが画像である特性を生かした画像類似度による方法などがある。
このようにして得られた検証・評価の結果は、結果レポートとして所定の形式で出力される。その出力方法には、テストツールTからコントローラCTを介して、画像処理装置200が備える操作パネルに表示させたり、印刷機能(プリンタ機能)を備えた画像処理装置200であれば、用紙に印刷したりする方法がある。
このように、テスターUの手作業により行われていたテスト工程を、「記録」、「再生」、「検証・評価」の各手順により作業を自動化することで、テスターUの作業能力に依存することなく、一定のテスト品質かつ作業効率のよい方法で、評価対象ソフトウェアの動作を検証・評価することができる。
<ソフトウェア動作テスト機能>
本実施形態に係るソフトウェア動作テスト機能について説明する。
本実施形態に係る情報処理装置100は、各テスト環境に対して、テスト工程における作業手順の記録や再生を行う複数の記録・再生部の実行指示を制御することで、各テスト環境に対応する記録・再生機能を並列実行し、各テスト環境から動作結果を得る。その結果、情報処理装置100は、得られた動作結果を検証部により検証し、評価結果を得る。情報処理装置100は、このようなソフトウェア動作テスト機能を有している。
テスト環境には、例えば、評価対象ソフトウェアを搭載した評価対象機や、評価対象機の機能を再現したエミュレータなど、様々な環境が考えられる。また、評価対象機においては、機種が異なれば、同じ評価対象ソフトウェアが搭載された評価対象機であっても、テスト環境には差異がある。
例えば、複合機とプリンタの2台の評価対象機において、操作パネルの画面遷移に関するソフトウェアの動作テストを行う場合、複合機とプリンタでは、搭載する操作パネルが異なることから、たとえ同じ評価対象ソフトウェアであっても、同じ操作手順に従ってテスト工程を再現することはできない。
このように、複数のテスト環境では、異なる機種が混在する場合や評価対象機とエミュレータが混在する場合が考えられ、テスト環境全てが同じ環境とは限らない。
そのため、テスト実行機において、テスト工程における作業手順の記録や再生を行う1つの記録・再生機能部により、複数のテスト環境に対応しようとすると、記録・再生処理を逐次行うこととなり、評価対象の数だけ処理時間がかかってしまう。
そこで、本実施形態では、テスト実行機である情報処理装置100が、テスト工程における作業手順の記録や再生などを並列処理し、各テスト環境から得られた動作結果を検証する。これにより、本実施形態では、複数のテスト環境に対して効率よくテスト工程を実施することができる。
《機能構成》
上記ソフトウェア動作テスト機能の構成について説明する。
図6は、本実施形態に係るソフトウェア動作テスト機能の構成例を示す図である。
図6に示すように、ソフトウェア動作テスト機能は、テスト実行機である情報処理装置100が有する動作テスト部72により実現される。
上記動作テスト部72は、評価対象機である画像処理装置200で動作する評価対象ソフトウェアSW1の検証・評価を行う機能部であり、イベント記録・再生部22、検証部23、及びテスト制御部24を有している。
ここで、評価対象ソフトウェアSW1が動作する評価対象機能部71について説明する。評価対象機能部71は、画像処理装置100が有する機能を実現するために搭載された各種ハード・ソフトウェアである。
(評価対象機能部)
評価対象機能部71は、評価対象ソフトウェアSW1、各種デバイスドライバSW2、及び連携ソフトウェアSW3などの各種ソフトウェア部品を含む。
評価対象ソフトウェアSW1は、検証・評価を行う対象ソフトウェアである。また、各種デバイスドライバSW2は、画像処理装置100が備える各種ハードウェア資源(各種デバイス)のデバイスドライバ機能(ハード・ソフトウェアのインタフェース機能)を実現するソフトウェア群である。また、連携ソフトウェアSW3は、評価対象ソフトウェアSW1と連携して機能を実現するソフトウェアである。
また、評価対象機能部71は、画像処理装置100が備える各種ハードウェア(各種デバイス)HWを含む。
さらに、評価対象機能部71は、各種デバイスドライバSW2、連携ソフトウェアSW3、及び各種ハードウェアHWと、評価対象ソフトウェアSW1との間に、相互間で送受信される各種イベント(例えば「動作指示」など)を取得・発行するイベント・キャプチャ部21を有している。
上記イベント・キャプチャ部21は、「記録」や「再生」などの動作テスト実行時に、後述するイベント記録・再生部22との連係動作により、イベントの取得や発行といったイベント制御を行う。イベント・キャプチャ部21が行う制御の詳細については、各処理手順にて後述する。
(動作テスト部)
上記動作テスト部72は、イベント記録・再生部22、検証部23、及びテスト制御部24を有している。
イベント記録・再生部22は、各テスト環境に対して、テスト工程における作業手順の記録や再生を行う機能部である。つまり、「(A)イベント記録機能」及び「(B)イベント再生機能」の2つの機能を有している。「イベント記録機能」では、上述した評価対象機能部71の評価対象ソフトウェアSW1が送受信するイベントを記録し、「イベント再生機能」では、記録したイベントを再生し、評価対象ソフトウェアSW1を動作させる。
上記イベント記録機能では、イベント記録・再生部22が、評価対象機能部71のイベント・キャプチャ部21を介して、評価対象ソフトウェアSW1が送受信するイベントを取得し記録する。
上記イベント再生機能では、イベント記録・再生部22が、記録したイベントを再生することで、評価対象機能部71のイベント・キャプチャ部21を介して、評価対象ソフトウェアSW1に擬似的なイベントを発行する。これにより、評価対象ソフトウェアSW1が動作する。
また、図6に示すように、動作テスト部72は、複数のイベント記録・再生部221〜22n(N個のイベント記録・再生部)を有しており、各イベント記録・再生部22は、評価対象機である各画像処理装置2001〜200nに対応付けられている。
このような構成により、動作テスト部72は、複数のテスト環境に対するイベント記録及び再生機能の並列処理を実現する。
続いて、検証部23は、イベント再生機能により得られる評価対象ソフトウェアSW1の動作結果を基に、評価対象ソフトウェアSW1が正しく動作しているか否かを検証・評価する機能部であり、「(C)検証・評価機能」を有している。
続いて、テスト制御部24は、上記イベント記録、再生、検証・評価の各機能を制御する機能部である。
テスト制御部24は、イベント記録・再生部22及び検証部23に対して実行を指示し、各機能部の動作を制御する。その結果、テスト制御部24は、各機能部から動作結果(例えば「記録」や「検証」など)を得る。その中で、テスト制御部24は、検証部23より得られた検証結果を、評価結果データ51としてHDD109に格納する。
また、テスト制御部24は、イベント記録・再生部22を制御する際に、複数のイベント記録・再生部22の実行指示を制御することで、イベント記録及び再生機能を並列実行させる。テスト制御部24が行う制御の詳細については、各処理手順にて後述する。
なお、上記各機能は、情報処理装置100にインストールされたソフトウェア動作テストプログラムを、RAM106上に読み出し、CPU107により実行することで実現される機能である。
次に、上記各機能部の詳細や他の機能部との連係動作について説明する。
(A)イベント記録機能
イベント記録・再生部22は、イベント・キャプチャ部21を介して、評価対象ソフトウェアSW1が送受信するイベントを取得し、HDD109に格納する。
評価対象ソフトウェアSW1が送受信するイベントには、評価対象ソフトウェアSW1が、各種デバイスドライバSW2、連携ソフトウェアSW3、及び各種ハードウェアHW(以下、「外部環境」という。)から受信する入力イベント、ならびに評価対象ソフトウェアSW1が送信する出力イベントがある。
入力イベントには、評価対象ソフトウェアSW1への動作指示など、例えば、テスターUが、画像処理装置200が備える操作パネルを介して、テスト工程の作業手順に従った操作を行ったときに受信する操作イベントなどがある。また、出力イベントには、受信した操作イベントに従って動作した評価対象ソフトウェアSW1の動作結果イベントなどがある。これらの各種イベントは、全て、イベント・キャプチャ部21を介して、評価対象ソフトウェアSW1と外部環境との間でやり取りされる。
よって、イベント記録・再生部22は、イベント・キャプチャ部21に対してイベント取得を要求し、上記入出力イベントを取得する。例えば、イベント記録・再生部22は、画面操作時にイベント取得の要求を行った場合、イベント・キャプチャ部21を介して、入力イベントである操作イベント及び出力イベントである動作結果イベントを取得する。イベント記録・再生部22は、取得した操作イベントを操作手順記録データ31としてHDD109に格納する。また、取得した動作結果イベントを、検証用データ41としてHDD109に格納する。
《処理手順》
以下に、イベント記録機能の処理手順について説明する。
(イベント記録機能の制御手順)
図7は、本実施形態に係るイベント記録機能を制御する処理手順例を示すシーケンス図である。
図7に示すように、テスト実行機である情報処理装置100では、動作テスト部72によりイベント記録を実行する場合、まず、テスト制御部24が、評価対象機に対応する複数のイベント記録・再生部221〜22nに記録動作を指示する(ステップS1011〜S101n)。これにより、複数のイベント記録・再生部221〜22nが並列処理を開始する。
各イベント記録・再生部221〜22nは、画像処理装置2001〜200nが有するイベント・キャプチャ部211〜21nと通信を開始し、各イベント・キャプチャ部211〜21nからのイベント(記録対象データ)を受信するまで待つ(ステップS1021〜S102n)。
各イベント記録・再生部221〜22nは、各イベント・キャプチャ部211〜21nからイベントを受信すると、受信イベントを操作手順として評価対象機ごとに記録し、操作手順記録データ311〜31n(N個の記録データ)としてHDD109に格納する(ステップS1031〜S103n)。
また、イベント記録・再生部221〜22nは、各操作手順記録データ311〜31nを格納し終えると、動作要求元のテスト制御部24に各記録結果(例えば「記録が正常に行われたか否か」など)を通知する(ステップS1041〜S104n)。
このように、本実施形態では、テスト制御部24により、評価対象機に対応する複数のイベント記録機能が並列実行される。
(各種イベントの記録手順)
図8は、本実施形態に係るイベントを記録する処理手順例を示すシーケンス図である。つまり、上記ステップS102〜S103における処理手順の詳細を示す図である。
(A)には、外部環境から評価対象ソフトウェアSW1への入力イベントを取得し記録する場合の例が示されている。一方(B)には、評価対象ソフトウェアSW1から外部環境への出力イベントを取得し記録する場合の例が示されている。
・入力イベントの記録
図8(A)に示すように、テスト実行機である情報処理装置100では、まず、イベント・キャプチャ部21が、外部環境から評価対象ソフトウェアSW1への入力イベントを取得する(ステップS201)。続いて、イベント・キャプチャ部21は、取得した入力イベントを、取得要求元のイベント記録・再生部22へ送信する(ステップS202)。
イベント記録・再生部22は、受け取った入力イベントを基に、操作手順記録データ31を生成し、HDD109の所定の記憶領域にデータファイルとして格納する(ステップS203)。
・出力イベントの記録
図8(B)に示すように、テスト実行機である情報処理装置100では、まず、イベント・キャプチャ部21が、評価対象ソフトウェアSW1から外部環境への出力イベントを取得する(ステップS301)。続いて、イベント・キャプチャ部21は、取得した出力イベントを、取得要求元のイベント記録・再生部22へ送信する(ステップS302)。
イベント記録・再生部22は、受け取った出力イベントを基に、検証用データ41を生成し、HDD109の所定の記憶領域にデータファイルとして格納する(ステップS303)。
このように、イベント記録・再生部22は、入力イベントとして取得した操作イベントと、出力イベントとして取得した動作結果イベントとを、異なるファイルデータとして記録し、各記録データをHDD109に格納する。
イベント記録・再生部22は、取得した操作イベントを基に、操作手順を記録したデータファイルである操作手順記録データ31を生成する。例えば、生成される操作手順記録データ31には、操作イベントを識別するイベント識別情報(イベントID)、操作手順による動作指示や動作条件などを示す操作手順情報(外部環境からの動作指示や動作条件)、操作イベントが発行される時間を示すイベント発行時間情報などが含まれている。
また、イベント記録・再生部22は、取得した動作結果イベントを基に、評価対象ソフトウェアSW1が正しく動作しているかを検証・評価するときの基準データである検証用データ41を生成する。例えば、検証用データ41には、動作結果イベントを識別するイベント識別情報(イベントID)、動作結果を示す動作結果情報(入力イベントに応じた外部環境への動作指示)などが含まれている。
このようにして生成されたデータ31及び41は、後述する操作手順再生時に、再生中の操作手順に対応する検証・評価の基準を特定可能なように、互いのデータ31及び41が対応付けられて保存される。また、これらのデータ31及び41は、例えばテスト単位など、記録された操作手順を実行したときに1つのテストが終了するタイミングでHDD109に格納される。
以上のように、イベント記録・再生部22は、イベント・キャプチャ部21と連係して機能することで、テスト工程の中で行われる操作手順と、操作手順に対応する評価対象ソフトウェアSW1の動作結果とを記録する。
(B)イベント再生機能
イベント記録・再生部22は、イベント・キャプチャ部21を介して、評価対象ソフトウェアSW1を動作させ、その動作結果を取得する。つまり、評価対象ソフトウェアSW1の動作テストを行う。
イベント記録・再生部22は、評価対象ソフトウェアSW1に対して、入力イベントである操作イベントを擬似的に発行する。これにより、評価対象ソフトウェアSW1は、外部環境から操作イベントを受信したときと同様に動作する。その結果、イベント記録・再生部22は、評価対象ソフトウェアSW1から外部環境へ送信された出力イベントである動作結果イベントを取得する。
また、イベント記録・再生部22は、HDD109に格納されている操作手順記録データ31を基に上記操作イベントを発行する。
操作手順記録データ31には、イベント記録時に取得した操作イベントに関する情報(イベント識別情報、操作手順情報、及びイベント発行時間情報など。)が、取得順に記録されている。つまり、テスターUが操作を行った順に発行された操作イベントが記録されている。
よって、イベント記録・再生部22は、操作手順記録データ31を構成するデータの順に、イベント・キャプチャ部21に対して操作イベントに関する情報のイベント識別情報を送信する。その結果、イベント・キャプチャ部21は、イベント識別情報を基に、識別情報に該当する操作イベントを評価対象ソフトウェアSW1に送信する。
また、上記操作イベントの送信タイミングは、イベント記録・再生部22により制御される。イベント記録・再生部22は、操作イベントに関する情報のイベント発行時間情報を基に、イベント・キャプチャ部21におけるイベント識別情報の送信を制御する。
以上のように、イベント記録・再生部22は、イベント・キャプチャ部21と連係動作することで、記録しておいた操作手順を基に、テスターUが手作業で行っていた操作を、テスターUの操作と同じタイミングで自動実行する。これにより、動作テストの作業効率の向上を図ることができ、かつ、テスト工程の中で行われる操作手順を忠実に再現することができる。
(C)検証・評価機能
検証部23は、イベント記録・再生部22により、評価対象ソフトウェアSW1から取得した動作結果を基に、正しく動作しているか否か(正常に動作しているか否か)を検証・評価する。
検証部23には、イベント記録・再生部22から、評価対象ソフトウェアSW1の出力イベントである動作結果イベントが送信される。その結果、検証部23は、受信した動作結果イベントと、HDD109に格納されている検証用データ41の各動作結果イベントとを比較することで、動作の検証・評価を行う。
検証用データ41には、操作手順記録データ31と同様に、イベント記録時に取得した動作結果イベントに関する情報(イベント識別情報及び動作結果情報)が、取得順に記録されている。つまり、テスターUが行った操作に従って、評価対象ソフトウェアSW1が動作した順に発行された動作結果イベントが記録されている。
よって、イベント記録・再生部22が、操作手順記録データ31を基に動作テストを実行した場合、評価対象ソフトウェアSW1からは、正しく動作していれば、検証用データ41を構成する各動作結果イベントが得られる。
これにより、検証部23は、動作テスト時にイベント記録・再生部22から送信された動作結果イベントと、検証用データ41からデータ順に従って抽出した動作結果イベントとを比較する。その結果、一致していれば、評価対象ソフトウェアSW1が、操作イベントに従って正しく動作していると判定する。一方、異なっていれば、正しく動作していないと判定する。
以上のように、検証部23は、操作手順に従って動作する評価対象ソフトウェアSW1から取得した動作結果を基に、正しく動作しているか否か(正常に動作しているか否か)を判断し、評価対象ソフトウェアSW1の動作を検証・評価する。
《処理手順》
以下に、イベント再生及び検証・評価機能の処理手順について説明する。
(イベント再生及び検証・評価機能の制御手順)
図9は、本実施形態に係るイベント再生及び検証・評価機能を制御する処理手順例を示すシーケンス図である。
図9に示すように、テスト実行機である情報処理装置100では、動作テスト部72によりイベント再生及び検証・評価機能を実行する場合、まず、テスト制御部24が、評価対象機に対応する複数のイベント記録・再生部221〜22nに再生動作を指示する(ステップS4011〜S401n)。これにより、複数のイベント記録・再生部221〜22nが並列処理を開始する。
続いて、テスト制御部24は、検証部23に対して、検証動作を指示する(ステップS402)。
各イベント記録・再生部221〜22nは、画像処理装置2001〜200nが有するイベント・キャプチャ部211〜21nと通信を開始し、各イベント・キャプチャ部211〜21nを介して、操作イベントを評価対象ソフトウェアSW1に送信し、テスト工程における操作手順を実行する(ステップS4031〜S403n)。
一方、検証部23は、各イベント記録・再生部221〜22nからの動作結果イベント(検証対象データ)を受信するまで待つ(ステップS404)。
各イベント記録・再生部221〜22nは、各イベント・キャプチャ部211〜21nから動作結果イベントを受信すると、受信した動作結果イベントを評価対象ソフトウェアSWごとの動作結果(N個の検証対象データ)として検証部23に送信する(ステップS4051〜S405n)。
これにより、検証部23は、各イベント記録・再生部221〜22nから動作結果イベントを受信すると、受信した動作結果イベントと、HDD109に格納されている検証用データ41とを比較することで、各評価対象ソフトウェアSW1の動作結果を検証(正しく動作したか否かを判定)する(ステップS4061〜S406n)。
その結果、検証部23は、各評価対象ソフトウェアSW1の動作結果を検証し終えると、動作要求元のテスト制御部24に各検証結果を通知する(ステップS407)。
テスト制御部24は、通知された検証結果を基に、評価結果データ51を生成し、HDD109の所定の記憶領域にデータファイルとして格納する(ステップS408)。
このように、本実施形態では、テスト制御部24により、評価対象機に対応する複数のイベント再生機能が並列実行され、各評価対象機から得られた各動作結果を基に検証が行われる。
(イベントの再生手順及び動作結果の検証・評価手順)
図10は、本実施形態に係るイベントを再生及び動作結果を検証・評価する処理手順例を示すシーケンス図である。つまり、上記ステップS403〜S406における処理手順の詳細を示す図である。
図10に示すように、テスト実行機である情報処理装置100では、まず、イベント記録・再生部22が、HDD109に格納されている操作手順記録データ31を取得する(ステップS501)。続いて、イベント記録・再生部22は、取得した操作手順記録データ31を基に、テスターUが手作業で行っていた操作を、テスターUの操作と同じタイミングで自動実行する(ステップS502)。
イベント記録・再生部22は、取得した操作手順記録データ31を構成するデータの順に、操作イベントに関する情報(記録された操作手順数:N)のイベント識別情報及び操作手順情報を、イベント・キャプチャ部21に送信する(ステップS5031〜S503n)。このとき、イベント記録・再生部22は、イベント発行時間情報に基づくタイミングで、イベント識別情報及び操作手順情報を送信する。
続いて、イベント・キャプチャ部21は、受信したイベント識別情報と操作手順情報とを基に、該当する操作イベント(記録された操作手順数:N)を、外部環境からの擬似的な入力イベントとして、評価対象ソフトウェアSW1に送信する(ステップS5041〜S504n)。
これにより、評価対象ソフトウェアSW1は、受信した入力イベントに従って所定の処理を行い(ステップS505)、イベント・キャプチャ部21が、評価対象ソフトウェアSW1から外部環境への出力イベントとして送信された動作結果イベントを取得する(ステップS506)。
イベント・キャプチャ部21は、取得した動作結果イベントを、イベント記録・再生部22へ送信し(ステップS507)、イベント記録・再生部22が検証部23へ送信する(ステップS508)。
続いて、検証部23は、HDD109に格納されている検証用データ41を取得する(ステップS509)。
検証部23は、受信した動作結果イベントと、検証用データ41からデータ順に従って抽出した動作結果イベントとを比較し、評価対象ソフトウェアSW1の動作を検証・評価する(ステップS510)。具体的には、比較結果が一致していれば、評価対象ソフトウェアSW1が、操作イベントに従って正しく動作していると判定する。一方、異なっていれば、正しく動作していないと判定する。
<まとめ>
以上のように、本実施形態によれば、テスト実行機である情報処理装置100は、各テスト環境(評価対象機)に対して、テスト工程における作業手順の記録や再生を行う複数の記録・再生部221〜22nを有している。
情報処理装置100は、制御部24により、上記各機能部221〜22nに対して記録動作を指示することで、複数の記録機能を並列実行する。これにより、テスト工程における作業手順及び検証基準が、テスト環境ごとにデータ(操作手順記録データ31及び検証用データ41)として記録される。
また、情報処理装置100は、制御部24により、上記各機能部221〜22nに対して再生動作を指示することで、複数の再生機能を並列実行する。これにより、データとして記録された作業手順に従って、各テスト環境における評価対象ソフトウェアSW1を動作させ、動作結果が得られる。
その結果、情報処理装置100は、制御部24により、検証部23に対して検証動作を指示することで、得られた動作結果とデータとして記録しておいた検証基準との比較結果を基に検証し、評価結果を得る。
このように、本実施形態では、テスト工程における作業手順の記録や再生などを並列処理し、各テスト環境から得られた動作結果を検証することで、複数のテスト環境に対して効率よくテスト工程を実施することができる。
[第2の実施形態]
図11は、本実施形態に係るテスト環境の一例を示す図である。
図11には、テスト実行機である1台の情報処理装置100と、評価対象機である2台の画像処理装置2001及び2002とが、ネットワークなどの所定のデータ伝送路で接続され、双方向データ通信可能なシステム1が示されている。また、2台の画像処理装置2001及び2002は、ともにタイプAであり、機種が同じである。
本実施形態では、このようなテスト環境において、情報処理装置100(テスト実行機)により、複数の画像処理装置200n(評価対象機)を遠隔制御し、画像処理装置200に搭載される評価対象ソフトウェアSW1の動作をテストする。
このようなテスト環境の場合は、次のような方法で効率よくテスト工程を実施することができる。例えば、評価対象ソフトウェアSW1に対して、作業手順が合計100ステップもあるテスト工程を実施しなければならない場合、上記テスト環境であれば、同じハード・ソフトウェア構成の評価対象機が2台存在することから、作業手順1〜50までと、作業手順51〜100までの各手順(作業群)を各評価対象機で分散させて実施できる。
このように、本実施形態では、テスト環境において、同じハード・ソフトウェア構成(同機種)の評価対象機が複数存在する場合には、テスト工程における作業手順を幾つかの単位に分けて、各評価対象機で分散処理する。
以下に、本実施形態に係るソフトウェア動作テスト機能について説明する。なお、以下には、第1の実施形態と異なる点についてのみ説明する。
<ソフトウェア動作テスト機能>
上記イベント再生機能における分散処理は、動作テスト部72が有するテスト制御部24により、複数のイベント記録・再生部221〜22nに再生動作を指示することで実現される。
《処理手順》
以下に、イベント再生及び検証・評価機能の処理手順について説明する。
(イベント再生及び検証・評価機能の制御手順)
図12は、本実施形態に係るイベント再生及び検証・評価機能を制御する処理手順例を示すシーケンス図である。
図12に示すように、テスト実行機である情報処理装置100では、動作テスト部72によりイベント再生及び検証・評価機能を実行する場合、まず、テスト制御部24が、評価対象機2台に対応する複数のイベント記録・再生部221及び222に再生動作を指示する(ステップS7011及びS7012)。このとき、テスト制御部24は、テスト工程における合計100の作業手順を、作業手順1〜50(以下、「作業手順(その1)」という。)及び作業手順51〜100(以下、「作業手順(その2)」という。)の2つの作業群に分け、各イベント記録・再生部221及び222に分散して、再生動作を指示する。なお、上記作業手順の分け方については、例えば、作業手順の総数を、ソフトウェア動作テストシステム1内に存在する同じテスト環境の総数(例えば「同機種の評価対象機」など)で除算し、算出結果を分割数とする方法がある。
続いて、テスト制御部24は、検証部23に検証動作を指示する(ステップS702)。
これにより、各イベント記録・再生部221及び222は、画像処理装置2001及び2002が有するイベント・キャプチャ部211及び212と通信を開始し、各イベント・キャプチャ部211及び212を介して、操作イベントを評価対象ソフトウェアSW1に送信し、テスト工程における操作手順を実行する(ステップS7031及びS7032)。このとき、イベント記録・再生部221は、テスト制御部24により指示された作業手順(その1)を実行する。また、イベント記録・再生部222は、テスト制御部24により指示された作業手順(その2)を実行する。
このように、テスト工程における作業手順は、同じテスト環境が複数存在した場合、対応するイベント記録・再生部221及び222により分散処理される。
一方、検証部23は、各イベント記録・再生部221及び222からの動作結果イベント(検証対象データ)を受信するまで待つ(ステップS704)。
各イベント記録・再生部221及び222は、各イベント・キャプチャ部211及び212から動作結果イベントを受信すると、受信した動作結果イベントを評価対象ソフトウェアSW1ごとの動作結果(2個の検証対象データ)として検証部23に送信する(ステップS7051及びS7052)。
これにより、検証部23は、各イベント記録・再生部221及び222から動作結果イベントを受信すると、受信した動作結果イベントと、HDD109に格納されている検証用データ41とを比較することで、各評価対象ソフトウェアSW1の動作結果を検証(正しく動作したか否かを判定)する(ステップS7061及びS7062)。
その結果、検証部23は、各評価対象ソフトウェアSW1の動作結果を検証し終えると、動作要求元のテスト制御部24に各検証結果を通知する(ステップS707)。
テスト制御部24は、通知された検証結果を基に、評価結果データ51を生成し、HDD109の所定の記憶領域にデータファイルとして格納する(ステップS708)。
このように、本実施形態では、テスト制御部24により、同機種の評価対象機に対応する複数のイベント再生機能が並列実行され、テスト工程における作業手順が分散処理される。その後、各評価対象機から得られた各動作結果を基に検証が行われる。
<まとめ>
以上のように、本実施形態によれば、情報処理装置100は、各テスト環境(評価対象機)に対して、テスト工程における作業手順の記録や再生を行う複数の記録・再生部221〜22nを有している。
情報処理装置100は、制御部24により、上記各機能部221〜22nに対して記録動作を指示することで、複数の記録機能を並列実行する。これにより、テスト工程における作業手順及び検証基準が、テスト環境ごとにデータ(操作手順記録データ31及び検証用データ41)として記録される。
また、情報処理装置100は、制御部24により、上記各機能部221〜22nに対して再生動作を指示することで、複数の再生機能を並列実行する。これにより、データとして記録された作業手順に従って、各テスト環境における評価対象ソフトウェアSW1を動作させ、動作結果が得られる。
このとき、制御部24は、同じテスト環境が複数存在した場合、テスト工程における作業手順を幾つかの作業群に分け、各機能部221〜22nに対して作業群ごとの再生動作を指示することで、作業手順を分散処理させる。
その結果、情報処理装置100は、制御部24により、検証部23に対して検証動作を指示することで、得られた動作結果とデータとして記録しておいた検証基準との比較結果を基に検証し、評価結果を得る。
このように、本実施形態では、第1の実施形態と同じ効果を奏するとともに、同じテスト環境に対するテスト工程の作業の効率化を図ることができる。
[第3の実施形態]
図13は、本実施形態に係るテスト環境の一例を示す図である。
図13には、テスト実行機である1台の情報処理装置100と、評価対象機である3台の画像処理装置2001〜2003とが、ネットワークなどの所定のデータ伝送路で接続され、双方向データ通信可能なシステム1が示されている。
また、3台の画像処理装置2001〜2003のうち、画像処理装置2001及び2002は、ともにタイプAで機種が同じである。一方、画像処理装置2003は、タイプBであり機種が異なる。
本実施形態では、このようなテスト環境において、情報処理装置100(テスト実行機)により、複数の画像処理装置200n(評価対象機)を遠隔制御し、画像処理装置200に搭載されるアプリケーションプログラムなどの評価対象ソフトウェアの動作をテストする。
このようなテスト環境の場合に、効率よくテスト工程を実施するためには、次のような方法が考えられる。まず、画像処理装置2001及び2002と、画像処理装置2003とは、テスト環境が異なることから、それぞれのテスト環境に応じたテスト工程が並列処理されるように制御する。また、画像処理装置2001及び2002は、同じテスト環境であることから、テスト工程が分散処理されるように制御する。
このように、本実施形態では、テスト環境に応じて、テスト工程をどのように実施するのかを制御する。
以下に、本実施形態に係るソフトウェア動作テスト機能について説明する。なお、以下には、上記各実施形態と異なる点についてのみ説明する。
<ソフトウェア動作テスト機能>
上記イベント再生機能における制御処理は、動作テスト部72が有するテスト制御部24により、複数のイベント記録・再生部221〜22nに再生動作を指示することで実現される。
《機能構成》
図14は、本実施形態に係るソフトウェア動作テスト機能の構成例を示す図である。
図14に示すように、本実施形態では、動作テスト部72が環境構成データ61を有している。環境構成データ61は、例えば評価対象機の機種情報、評価対象機が搭載するハードウェアの構成情報、及びソフトウェアの構成情報などの各種データを含む。また、環境構成データ61は、例えば情報処理装置100が備えるHDD109などの記憶装置の所定の記憶領域に格納されている。環境構成データ61の更新は、ソフトウェア動作テストシステム1に評価対象機が接続された際に、所定のデータ伝送路を介して機器から取得した機器情報を基に更新する。
これにより、テスト制御部24は、各イベント記録・再生部221〜22nに対して、再生動作を指示するときに、HDD109に格納されている環境構成データ61を参照し、各評価対象機がどのようなテスト環境かを判断する。
具体的には、評価対象機が同じハード・ソフトウェア構成を有する環境であるか否かを判定する。このとき、同じハード・ソフトウェア構成を有する環境であると判定された場合には、同機種の評価対象機と判断され、一方、異なるハードウェア及びソフトウェア構成を有する環境であると判定された場合には、異機種の評価対象機と判断される。
テスト制御部24は、上記判断結果を基に、各テスト環境においてテスト工程をどのように実施するのかを制御する。
具体的には、環境構成データ61から異機種の評価対象機が存在すると判断された場合に、並列処理によりテスト工程を実施するように、イベント記録・再生部22に再生動作を指示する。さらに、同機種の評価対象機が複数存在すると判断された場合には、作業手順を幾つかの作業群に分け、分散処理によりテスト工程を実施するように、イベント記録・再生部22に再生動作を指示する。
つまり、テスト制御部24は、異なるテスト環境に対して、並列処理によりテスト工程を実施するように制御し、同じテスト環境に対して、分散処理によりテスト工程を実施するように制御する。
《処理手順》
以下に、イベント再生及び検証・評価機能の処理手順について説明する。
(イベント再生及び検証・評価機能の制御手順)
図15は、本実施形態に係るイベント再生及び検証・評価機能を制御する処理手順例を示すシーケンス図である。
図15に示すように、テスト実行機である情報処理装置100では、動作テスト部72によりイベント再生及び検証・評価機能を実行する場合、まず、テスト制御部24が、HDD109に格納されている環境構成データ61を取得する(ステップS801)。
続いて、テスト制御部24は、取得した環境構成データ61を参照し、ソフトウェア動作テストシステム1内の各画像処理装置2001〜2003の環境を確認する(ステップS802)。このとき、テスト制御部24は、評価対象機である画像処理装置200が同機種か異機種かなどを判断する。すなわち、評価対象機が同じハードウェア及びソフトウェア構成を有する環境であるか否かを判定する。
その結果、テスト制御部24は、上記判断結果を基に、評価対象機3台に対応する複数のイベント記録・再生部221〜223に対して、再生動作を指示する(ステップS8031〜S8033)。このとき、テスト制御部24は、異機種と判断された画像処理装置2001及び2002に対応するイベント記録・再生部221及び222と、画像処理装置2003に対応するイベント記録・再生部223とに、それぞれのテスト環境に応じたテスト工程の実施を並列処理するように再生動作を指示する。また、テスト制御部24は、同機種と判断された画像処理装置2001及び2002に対応する各イベント記録・再生部221及び222に、テスト工程における作業手順を2つに分けた作業群(作業手順(その1)及び(その2))を、分散処理するように再生動作を指示する。
続いて、テスト制御部24は、検証部23に検証動作を指示する(ステップS804)。
これにより、各イベント記録・再生部221〜223は、画像処理装置2001〜2003が有するイベント・キャプチャ部211〜213と通信を開始し、各イベント・キャプチャ部211〜213を介して、操作イベントを評価対象ソフトウェアSW1に送信し、テスト工程における操作手順を実行する(ステップS8051〜S8053)。このとき、イベント記録・再生部221は、テスト制御部24により指示された作業手順(その1)を実行する。また、イベント記録・再生部222は、テスト制御部24により指示された作業手順(その2)を実行する。
このように、テスト工程における作業手順は、異なるテスト環境が存在した場合、対応するイベント記録・再生部221及び222と223とにより並列処理される。また、同じテスト環境が複数存在した場合、対応するイベント記録・再生部221及び222により分散処理される。
一方、検証部23は、各イベント記録・再生部221〜223からの動作結果イベント(検証対象データ)を受信するまで待つ(ステップS806)。
各イベント記録・再生部221〜223は、各イベント・キャプチャ部211〜213から動作結果イベントを受信すると、受信した動作結果イベントを評価対象ソフトウェアSW1ごとの動作結果(3個の検証対象データ)として検証部23に送信する(ステップS8071〜S8073)。
これにより、検証部23は、各イベント記録・再生部221〜223から動作結果イベントを受信すると、受信した動作結果イベントと、HDD109に格納されている検証用データ41とを比較することで、各評価対象ソフトウェアSW1の動作結果を検証(正しく動作したか否かを判定)する(ステップS8081〜S8083)。
その結果、検証部23は、各評価対象ソフトウェアSW1の動作結果を検証し終えると、動作要求元のテスト制御部24に各検証結果を通知する(ステップS809)。
テスト制御部24は、通知された検証結果を基に、評価結果データ51を生成し、HDD109の所定の記憶領域にデータファイルとして格納する(ステップS810)。
このように、本実施形態では、テスト制御部24により、異機種の評価対象機に対応する複数のイベント再生機能が並列実行され、同機種の評価対象機に対応するテスト工程の作業手順が分散処理される。その後、各評価対象機から得られた各動作結果を基に検証が行われる。
<まとめ>
以上のように、本実施形態によれば、情報処理装置100は、各テスト環境(評価対象機)に対して、テスト工程における作業手順の記録や再生を行う複数の記録・再生部221〜22nを有している。
情報処理装置100は、制御部24により、上記各機能部221〜22nに対して記録動作を指示することで、複数の記録機能を並列実行する。これにより、テスト工程における作業手順及び検証基準が、テスト環境ごとにデータ(操作手順記録データ31及び検証用データ41)として記録される。
また、情報処理装置100は、制御部24により、上記各機能部221〜22nに対して再生動作を指示することで、複数の再生機能を並列実行する。これにより、データとして記録された作業手順に従って、各テスト環境における評価対象ソフトウェアSW1を動作させ、動作結果が得られる。
このとき、制御部24は、環境構成データ61を基に、テスト環境に応じて、テスト工程をどのように実施するのかを制御する。制御部24は、異なるテスト環境が存在した場合、各テスト環境に対応する各機能部221〜22nに対して再生動作を指示することで、作業手順を並列処理させる。
また、同じテスト環境が複数存在した場合には、テスト工程における作業手順を幾つかの作業群に分け、各機能部221〜22nに対して作業群ごとの再生動作を指示することで、作業手順を分散処理させる。
その結果、情報処理装置100は、制御部24により、検証部23に対して検証動作を指示することで、得られた動作結果とデータとして記録しておいた検証基準との比較結果を基に検証し、評価結果を得る。
このように、本実施形態では、上記各実施形態と同じ効果を奏するとともに、テスト環境に応じたテスト工程の作業の効率化を図ることができる。
<変形例>
上記各実施形態では、評価対象ソフトウェアSW1が動作する環境が実機であることを想定して説明を行った。以下に、テスト環境の変形例について説明する。
《エミュレータによるテスト環境》
図16は、各実施形態に係るソフトウェア動作テスト機能構成の変形例(その1)を示す図である。図16には、テスト実行機である情報処理装置100をエミュレータとした場合のソフトウェア動作テスト機能の構成例を示している。
ここで、機能構成を説明する前に「エミュレータ」について簡単に説明する。エミュレータ(Emulator)とは、機械の模倣装置、あるいは模倣ソフトウェアのことである。ある機械部品やソフトウェアを動作させるのに、オリジナルのシステムを用意するのが難しい場合に、オリジナルと同じ動作を行う簡便なシステムを用意することがある。この装置をエミュレータと言う。これにより、エミュレータ上で、動作させたいソフトウェアや機械部品をオリジナルと同じように機能させることができる。
本変形例では、模倣対象を評価対象機である画像処理装置200とし、画像処理装置200と同じ動作を行うシステムをテスト実行機である情報処理装置100において動作させる。つまり、情報処理装置100が画像処理装置200のエミュレータとなる。
具体的には、図16に示すように、画像処理装置200が搭載するハード・ソフトウェアによる各種機能が擬似的に再現された(エミュレートされた)ソフトウェア73(以下、「評価対象機再現部」という。)が動作している。
このように、本変形例では、評価対象機再現部73により再現された環境で動作する評価対象ソフトウェアSW1に対してテストを行う構成となっている。
(評価対象機再現部)
評価対象機再現部73は、評価対象ソフトウェアSW1、連携ソフトウェアSW3、及びハードウェアエミュレーションツールHETなどの各種ソフトウェア部品を含む。
上記ハードウェアエミュレーションツールHETは、評価対象機が備える各種ハードウェア資源(各種デバイス)をエミュレートするソフトウェア部品である。
また、評価対象ソフトウェアSW1と、連携ソフトウェアSW3及びハードウェアエミュレーションツールHETとの間には、イベント・キャプチャ部21が配置される構成となっている。
上記イベント・キャプチャ部21は、「記録」や「再生」などの動作テスト実行時に、イベント記録・再生部22との連係処理により、イベントの取得や発行といったイベント制御を行う。制御の詳細は、上記各実施形態と同じであることから説明を省略する。
上記ハードウェアエミュレーションツールHETは、ハードウェアエミュレータHE及びエミュレートするエミュレーションドライバEDを有している。ハードウェアエミュレータHEは、評価対象ソフトウェアSW1の動作時に使用される各種ハードウェア資源をエミュレートするソフトウェア部品である。また、エミュレーションドライバEDは、各種ハードウェア資源のデバイスドライバ機能(ハードウェアとソフトウェアとの間のインタフェース機能)をエミュレートするソフトウェア部品である。
ハードウェアエミュレーションツールHETは、このような各種ソフトウェア部品により、評価対象機に依存するハードウェア資源を擬似的に再現している。
本変形例では、このような構成により、評価対象ソフトウェアSW1がエミュレータで動作するテスト環境を実現している。
(仮想PC上で動作する評価対象機再現部)
また、本変形例では、図16に示すように、複数の評価対象再現部731〜73nが仮想PC81上で動作する。仮想PC81とは、1台のコンピュータ上で仮想的に複数台のコンピュータが動作しているように見せかけることができる仕組みである。例えば、テスト実行機である1台の情報処理装置100において仮想PC81を構築すると、同じコンピュータ上に複数のテスト環境を実現できる。
このように、本変形例では、評価対象機再現部73を仮想PC91上で動作させる構成とすることで、各テスト環境を、同じコンピュータ上に再現することができる。また、再現する評価対象機におけるテスト環境の変更や追加などを容易に行うことができる。
本変形例に係る情報処理装置100では、上記評価対象機再現部73を搭載することで、同じコンピュータ上で評価対象ソフトウェアSW1の動作テストを実施することができる。つまり、評価対象機である画像処理装置200を接続することなく、評価対象ソフトウェアSW1の動作テストを実施することができる。なお、画像処理装置100に対して行う動作テストと同一の操作手順記録データ31及び検証用データ41が使用可能である点については言うまでもない。
《評価対象機とエミュレータとの組み合わせによるテスト環境》
図17は、各実施形態に係るソフトウェア動作テスト機能構成の変形例(その2)を示す図である。図17には、評価対象機である画像処理装置2001及び評価対象機を再現したエミュレータである情報処理装置100nを含むテスト環境に対して、ソフトウェア動作テストを実施する場合の機能構成例が示されている。
テスト実行機である情報処理装置100は、動作テスト部72のみで構成され、評価対象機やエミュレータとは、所定のデータ伝送路(非図示)で接続されている。
このように、テスト実行機である情報処理装置100は、評価対象機とエミュレータとの組み合わせによるテスト環境に対しても、動作テスト部72の機能構成を変更することなく、評価対象ソフトウェアSW1の動作テストを実施することができる。
ここまで、上記各実施形態について説明を行ってきたが、上記各実施形態に係るソフトウェア動作テスト機能は、動作環境(プラットフォーム)にあったプログラミング言語でコード化したプログラムをコンピュータで実行することにより実現される。
上記プログラムは、コンピュータが読み取り可能な記録媒体104に格納することができる。記録媒体104には、例えばフロッピー(登録商標)ディスク、CD(Compact Disc)、DVD(Digital Versatile Disk)などがある。
よって、上記プログラムは、記録媒体104を読み取り可能なドライブ装置103を介して、情報処理装置100にインストールすることができる。
なお、記録媒体104は、SDメモリカード(Secure Digital memory card)やUSB(Universal Serial Bus)メモリなどの外部記憶装置であってもよい。この場合、情報処理装置100へ上記プログラムをインストールするには、これらの外部記憶装置を読み取り可能な所定のI/F(非図示)を介して行う。
また、情報処理装置100は、ネットワークなどのデータ伝送路(非図示)に接続可能なインタフェース装置108を備えていることから、電気通信回線から上記プログラムをダウンロードし、インストールすることもできる。
最後に、上記各実施形態に挙げた形状や構成に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。