(57)【特許請求の範囲】
【請求項１】
テスト対象装置が正常に稼動しているか否かを検証するためのテストを行う情報処理装置であって、
テスト対象装置をユーザが操作した場合、前記テスト対象装置の内部で生成される信号と同じ信号を生成するためのデータを、テストデータとして投入するデータ投入部と、
テスト対象装置が投入されたテストデータに伴って出力するデータであって、前記テスト対象装置が正常に稼動している場合、出力されるデータを生成する正常データ生成部と、
前記テストデータが投入されたとき、前記テスト対象装置が実際に出力するデータを取得し、取得したデータを前記正常データ生成部により生成されたデータと比較する比較部と、
前記比較部による比較の結果に基づいて、前記テスト対象装置が正常に稼動したか否かを判定する判定部と、
前記テスト対象装置に投入される一連のテストデータと前記テストデータが投入されたときの比較結果を判定するための判定条件とを対応づけて、シナリオとして記憶するとともに、前記テストにおいて前記シナリオが提供する機能に応じて、前記シナリオを分類して記憶するシナリオデータベースとを備え、
前記テストデータは、前記テスト対象装置に導入された変換ソフトウェアにより前記テスト対象装置の内部で生成される信号と同じ信号に変換される
情報処理装置。
【請求項２】
一端が電源に接続された２つの接続回路の他端が、それぞれ前記テスト対象装置と自分に接続され、前記接続回路に予め設定された信号を出力することで、前記テスト対象装置への電力の供給を制御する
請求項１に記載の情報処理装置。
【請求項３】
テスト対象装置が正常に稼動しているか否かを検証するためのテストを行う情報処理装置の情報処理方法であって、
テスト対象装置をユーザが操作した場合、前記テスト対象装置の内部で生成される信号と同じ信号を生成するためのデータを、テストデータとして投入し、
テスト対象装置が投入されたテストデータに伴って出力するデータであって、前記テスト対象装置が正常に稼動している場合、出力されるデータを生成し、
前記テストデータが投入されたとき、前記テスト対象装置が実際に出力するデータを取得し、
前記取得したデータを前記正常データ生成部により生成されたデータと比較し、
前記比較の結果に基づいて、前記テスト対象装置が正常に稼動したか否かを判定するステップを含み、
前記テスト対象装置に投入される一連のテストデータと前記テストデータが投入されたときの比較結果を判定するための判定条件とが対応づけられて、シナリオとして記憶されるとともに、前記テストにおいて前記シナリオが提供する機能に応じて、前記シナリオが分類されて記憶され、
前記テストデータは、前記テスト対象装置に導入された変換ソフトウェアにより前記テスト対象装置の内部で生成される信号と同じ信号に変換される
情報処理方法。
【請求項４】
コンピュータを、
テスト対象装置が正常に稼動しているか否かを検証するためのテストを行う情報処理装置であって、
テスト対象装置をユーザが操作した場合、前記テスト対象装置の内部で生成される信号と同じ信号を生成するためのデータを、テストデータとして投入するデータ投入部と、
テスト対象装置が投入されたテストデータに伴って出力するデータであって、前記テスト対象装置が正常に稼動している場合、出力されるデータを生成する正常データ生成部と、
前記テストデータが投入されたとき、前記テスト対象装置が実際に出力するデータを取得し、取得したデータを前記正常データ生成部により生成されたデータと比較する比較部と、
前記比較部による比較の結果に基づいて、前記テスト対象装置が正常に稼動したか否かを判定する判定部と、
前記テスト対象装置に投入される一連のテストデータと前記テストデータが投入されたときの比較結果を判定するための判定条件とを対応づけて、シナリオとして記憶するとともに、前記テストにおいて前記シナリオが提供する機能に応じて、前記シナリオを分類して記憶するシナリオデータベースとを備え、
前記テストデータは、前記テスト対象装置に導入された変換ソフトウェアにより前記テスト対象装置の内部で生成される信号と同じ信号に変換される情報処理装置として機能させる
プログラム。
【請求項５】
請求項４に記載のプログラムが記録されている記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法、プログラム、並びに記録媒体に関し、特に、低コストで確実な自動テストを行うことができるようにする情報処理装置および方法、プログラム、並びに記録媒体に関する。
【背景技術】
【０００２】
近年、電子機器の組込ソフトの機能規模が拡大し、組込ソフトが複雑かつ多様化している。例えば、自動車、携帯電話機、情報家電製品などの各領域で、組込みソフトの開発規模が急激に増加している。
【０００３】
組込ソフトが組み込まれた電子機器などの品質を高く保つために、これらの機器が市場に流通するまでに充分なテストを行う必要がる。従来、組込ソフトのテストは、テストを実施する人による操作と、人による判断に基づいて行われていたが、近年では、パーソナルコンピュータ（PC）で動作する組込ソフト向けの自動テストソフトウェアや、テスト用のロボットを使ったシステム、組込ソフトが組み込まれた機器向けに入力装置へ信号を擬似発生させる装置なども開発されている。
【０００４】
また、テスト対象装置の入力装置などを自動操作する技術も提案されている（例えば、特許文献１参照）。さらに、自動テストを実行するスクリプトの作成についての提案もなされている（例えば、特許文献２参照）。
【０００５】
【特許文献１】特開平０９−９１０３１号公報
【０００６】
【特許文献２】特開２００５−１０００６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、実際に、組込ソフトが組み込まれた機器のボタン、スイッチなどを操作し、それらの操作に対応してディスプレイに表示される画像、スピーカから出力される音声などを確認する人の手によるテストと比較すると、例えば、テスト対象の組込ソフト上で稼動する自動テストソフトウェアによるテストでは、ボタン、スイッチなどのハードウェアを介さずに生成された信号やデータが組込ソフトに直接投入され、組込ソフトによる処理結果のデータが検証されるだけなので、従来の自動テストでは、ハードウェアや各種インタフェースの設定内容の不具合など、組込ソフトのプログラム以外の部分に起因する障害を検出できない場合がある。
【０００８】
一方、ロボットを使う自動テストは、ロボット自体のコストが高く、さらにロボットの設置場所の確保、安全性への配慮も必要となり、簡単に導入することができなかった。
【０００９】
また、例えば、ＰＣの組込ソフト向けの自動テストソフトウェアは、ＰＣ以外への機器に応用出来ず、組込ソフトが組み込まれたそれぞれの機器向けに自動テストソフトウェアを開発する必要があり、必然的にテストに係るコストが増大する。
【００１０】
さらに、自動テスト時のテスト対象の機器の動作が適正なものであるか否かを判定する場合、操作の内容に応じて機器の動作が変化することもあり、どのような動作が適正であると判断するかを決めるための効果的なアルゴリズムなどを設定できないため、自動テストのテスト結果が正しく判定されない場合があった。
【００１１】
例えば、携帯電話機などの小型の機器に複雑な処理を行う組込ソフトを導入する場合、操作メニューは階層化される場合が多く、利用する機能に応じて各ボタンの操作に対応して出力されるコマンドなどの意味合いが全く異なったものになる。そのため、例えば、所定のボタンの押下に対応する処理結果を一意に定義することはできず、詳細な場合分けを行って、例外処理や誤操作などの処理結果も考慮して、テストデータと、そのテストに対応する検証データとを作成する必要があり、組込ソフトの機能を正確に検証できるような全てのテストデータと検証データを正しく作成するためには、膨大な時間とコストを費やすことになりかねない。
【００１２】
組込ソフトが組み込まれた機器の入力装置へ擬似的な信号を入力する自動テストは、ハードウェア内部の信号線へ直接信号を送るなどしていたため、完成済みの機器では、テストが出来ない場合があり、また、新しい製品が作成された場合、ハードウェアの修正など大がかりな変更が必要となることもある。
【００１３】
また、組込ソフトが組み込まれた機器の品質をより高めるためには、テスト対象の機器が利用できる周辺装置や、接続ケーブルの状態に変化を与えた場合などのケースも想定して、テストが行われることが望ましいが、従来の自動テストでは、周辺装置やケーブルなども考慮してテストを行うことはできなかった。
【００１４】
本発明はこのような状況に鑑みてなされたものであり、低コストで確実な自動テストを行うことができるようにするものである。
【課題を解決するための手段】
【００１５】
本発明の一側面は、テスト対象装置が正常に稼動しているか否かを検証するためのテストを行う情報処理装置であって、テスト対象装置をユーザが操作した場合、前記テスト対象装置の内部で生成される信号と同じ信号を生成するためのデータを、テストデータとして投入するデータ投入部と、テスト対象装置が投入されたテストデータに伴って出力するデータであって、前記テスト対象装置が正常に稼動している場合、出力されるデータを生成する正常データ生成部と、前記テストデータが投入されたとき、前記テスト対象装置が実際に出力するデータを取得し、取得したデータを前記正常データ生成部により生成されたデータと比較する比較部と、前記比較部による比較の結果に基づいて、前記テスト対象装置が正常に稼動したか否かを判定する判定部と、前記テスト対象装置に投入される一連のテストデータと前記テストデータが投入されたときの比較結果を判定するための判定条件とを対応づけて、シナリオとして記憶するとともに、前記テストにおいて前記シナリオが提供する機能に応じて、前記シナリオを分類して記憶するシナリオデータベースとを備え、前記テストデータは、前記テスト対象装置に導入された変換ソフトウェアにより前記テスト対象装置の内部で生成される信号と同じ信号に変換される情報処理装置である。
【００２０】
一端が電源に接続された２つの接続回路の他端が、それぞれ前記テスト対象装置と自分に接続され、前記接続回路に予め設定された信号を出力することで、前記テスト対象装置への電力の供給を制御するようにすることができる。
【００２１】
本発明の一側面は、テスト対象装置が正常に稼動しているか否かを検証するためのテストを行う情報処理装置の情報処理方法であって、テスト対象装置をユーザが操作した場合、前記テスト対象装置の内部で生成される信号と同じ信号を生成するためのデータを、テストデータとして投入し、テスト対象装置が投入されたテストデータに伴って出力するデータであって、前記テスト対象装置が正常に稼動している場合、出力されるデータを生成し、前記テストデータが投入されたとき、前記テスト対象装置が実際に出力するデータを取得し、前記取得したデータを前記正常データ生成部により生成されたデータと比較し、前記比較の結果に基づいて、前記テスト対象装置が正常に稼動したか否かを判定するステップを含み、前記テスト対象装置に投入される一連のテストデータと前記テストデータが投入されたときの比較結果を判定するための判定条件とが対応づけられて、シナリオとして記憶されるとともに、前記テストにおいて前記シナリオが提供する機能に応じて、前記シナリオが分類されて記憶され、前記テストデータは、前記テスト対象装置に導入された変換ソフトウェアにより前記テスト対象装置の内部で生成される信号と同じ信号に変換される情報処理方法である。
【００２２】
本発明の一側面は、コンピュータを、テスト対象装置が正常に稼動しているか否かを検証するためのテストを行う情報処理装置であって、テスト対象装置をユーザが操作した場合、前記テスト対象装置の内部で生成される信号と同じ信号を生成するためのデータを、テストデータとして投入するデータ投入部と、テスト対象装置が投入されたテストデータに伴って出力するデータであって、前記テスト対象装置が正常に稼動している場合、出力されるデータを生成する正常データ生成部と、前記テストデータが投入されたとき、前記テスト対象装置が実際に出力するデータを取得し、取得したデータを前記正常データ生成部により生成されたデータと比較する比較部と、前記比較部による比較の結果に基づいて、前記テスト対象装置が正常に稼動したか否かを判定する判定部と、前記テスト対象装置に投入される一連のテストデータと前記テストデータが投入されたときの比較結果を判定するための判定条件とを対応づけて、シナリオとして記憶するとともに、前記テストにおいて前記シナリオが提供する機能に応じて、前記シナリオを分類して記憶するシナリオデータベースとを備え、前記テストデータは、前記テスト対象装置に導入された変換ソフトウェアにより前記テスト対象装置の内部で生成される信号と同じ信号に変換される情報処理装置として機能させるプログラムである。
【００２３】
本発明の一側面においては、テスト対象装置をユーザが操作した場合、前記テスト対象装置の内部で生成される信号と同じ信号を生成するためのデータが、テストデータとして投入され、テスト対象装置が投入されたテストデータに伴って出力するデータであって、前記テスト対象装置が正常に稼動している場合、出力されるデータが生成され、前記テストデータが投入されたとき、前記テスト対象装置が実際に出力するデータが取得され、前記取得したデータと前記正常データ生成部により生成されたデータとが比較され、前記比較の結果に基づいて、前記テスト対象装置が正常に稼動したか否かが判定される。また、前記テスト対象装置に投入される一連のテストデータと前記テストデータが投入されたときの比較結果を判定するための判定条件とが対応づけられて、シナリオとして記憶されるとともに、前記テストにおいて前記シナリオが提供する機能に応じて、前記シナリオが分類されて記憶され、前記テストデータは、前記テスト対象装置に導入された変換ソフトウェアにより前記テスト対象装置の内部で生成される信号と同じ信号に変換される。
【発明の効果】
【００２４】
本発明によれば、低コストで確実な自動テストを行うことができる。
【発明を実施するための最良の形態】
【００２５】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２６】
本発明の一側面の情報処理装置は、テスト対象装置が正常に稼動しているか否かを検証するためのテストを行う情報処理装置であって、テスト対象装置（例えば、図１のテスト対象装置１０２）をユーザが操作した場合、前記テスト対象装置の内部で生成される信号と同じ信号を生成するためのデータを、テストデータとして投入するデータ投入部（例えば、図５の読込部５００）と、テスト対象装置（例えば、図１のテスト対象装置１０２）が投入されたテストデータに伴って出力するデータであって、前記テスト対象装置が正常に稼動している場合、出力されるデータを生成する正常データ生成部（例えば、図５のモデル生成部５０１）と、前記テストデータが投入されたとき、前記テスト対象装置が実際に出力するデータを取得し、取得したデータを前記正常データ生成部により生成されたデータと比較する比較部（例えば、図５のパターンマッチング部５０２）と、前記比較部による比較の結果に基づいて、前記テスト対象装置が正常に稼動したか否かを判定する判定部（例えば、図５の判定部５０７）と、前記テスト対象装置に投入される一連のテストデータと前記テストデータが投入されたときの比較結果を判定するための判定条件とを対応づけて、シナリオとして記憶するとともに、前記テストにおいて前記シナリオが提供する機能に応じて、前記シナリオを分類して記憶するシナリオデータベースとを備え、前記テストデータは、前記テスト対象装置に導入された変換ソフトウェアにより前記テスト対象装置の内部で生成される信号と同じ信号に変換される。
【００３０】
本発明の一側面の情報処理方法は、テスト対象装置が正常に稼動しているか否かを検証するためのテストを行う情報処理装置の情報処理方法であって、テスト対象装置（例えば、図１のテスト対象装置１０２）をユーザが操作した場合、前記テスト対象装置の内部で生成される信号と同じ信号を生成するためのデータを、テストデータとして投入し（例えば、図１２のステップS１０１の処理）、テスト対象装置（例えば、図１のテスト対象装置１０２）が投入されたテストデータに伴って出力するデータであって、前記テスト対象装置が正常に稼動している場合、出力されるデータを生成し（例えば、図１２のステップS１０３の処理）、前記テストデータが投入されたとき、前記テスト対象装置が実際に出力するデータを取得し（例えば、図１２のステップS１０４の処理）、前記取得したデータを前記正常データ生成部により生成されたデータと比較し（例えば、図１２のステップS１０５の処理）、前記比較の結果に基づいて、前記テスト対象装置が正常に稼動したか否かを判定する（例えば、図１２のステップS１０６の処理）ステップを含み、前記テスト対象装置に投入される一連のテストデータと前記テストデータが投入されたときの比較結果を判定するための判定条件とが対応づけられて、シナリオとして記憶されるとともに、前記テストにおいて前記シナリオが提供する機能に応じて、前記シナリオが分類されて記憶され、前記テストデータは、前記テスト対象装置に導入された変換ソフトウェアにより前記テスト対象装置の内部で生成される信号と同じ信号に変換される。
【００３１】
以下、図面を参照して、本発明の実施の形態について説明する。
【００３２】
図１は、本発明を適用した自動テストシステム１００の一実施形態に係る構成例を示すブロック図である。
【００３３】
同図において、自動ソフトテスト装置１０１は、テスト対象装置１０２の組込ソフトのテストを自動的に行うことが可能となるようになされている。テスト対象装置１０２は、例えば、自動車に搭載される電子機器、携帯電話機、情報家電製品などの機器とされ、実際に製造され販売される状態の機器とされる。
【００３４】
この例では、テスト対象装置１０２は、例えば、携帯電話機などとして構成され、所定の方式で通信を行う通信部１４１、外部の機器などに画像を表示させるための信号を出力する画像出力部１４２、LCD（Liquid Crystal Display）などのディスプレイとして構成される表示部１４３が設けられている。また、例えば、USB（Universal Serial Bus）、IEEE1394(Institute of Electrical and Electronic Engineers 1394)などの予め定められたインタフェースを有する周辺装置１４４が設けられている。
【００３５】
さらに、テスト対象装置１０２には、操作用のボタンやキーボードなどとして構成され、ユーザの指令などに対応する信号を入力する入力部１４６、CPU(Central Processing Unit)、メモリなどを含む構成とされ、予め定められた方式の演算処理を実行する演算部１４７、メモリやハードディスクなどで構成され、各種のデータを必要に応じて記憶する記憶部１４８が設けられている。
【００３６】
そして、通信部１４１乃至記憶部１４８が制御部１４５を介して相互に接続される構成とされている。
【００３７】
一方、自動ソフトテスト装置１０１には、テスト対象装置１０２とのインタフェースとして機能する、通信部１２５、画像処理部１２６、画像取込部１２７、および周辺装置１２９が設けられている。
【００３８】
通信部１２５は、テスト対象装置１０２の通信部１４１から出力される送信信号を受信し、または、通信部１４１に受信させる信号を送信する。
【００３９】
画像取込部１２７は、画像出力部１４２から出力される信号の取得、または表示部１４３に表示された画像などのキャプチャを行うことが可能となるように構成されており、取得信号またはキャプチャされた画像に対応するデータを画像処理部１２６に供給するようになされている。画像取込部１２７は、ビデオ信号、Ｓ端子映像信号、アナログハイビジョン信号、デジタルハイビジョン信号などの映像信号に基づいて生成される所定のタイミングの画像をデータに変換して取得する機能を有し、例えば、Frame Grabberやキャプチャボード等として構成される。
【００４０】
画像処理部１２６は、画像取込部１２７から供給されたデータに基づいて、テスト対象装置１０２から出力された画像を解析するための画像データを生成し、制御部１２８に出力するようになされている。なお、画像出力部１４２、または表示部１４３を介さずに、テスト対象装置１０２から出力される画像に関する信号、データなどは、画像処理部１２６が、制御部１４５から直接取得するようになされている。
【００４１】
画像処理部１２６は、Bitmap, PNG, JPG, Gifなどの各種のフォーマットの画像に対して、画像の回転、拡大、縮小などの処理を必要に応じて施し、２枚の画像間の差分抽出や、ある画像に対して輝度や色彩のスレッショルドにより、特定の画像を抽出する機能を有する構成とされる。また、画像処理部１２６は、例えば、画像の特徴を抽出する機能を有し、画像内にある、形状、色、輝度などの情報に基づいて、予め設定された特徴抽出のためのアルゴリズムを適用し、画像内の特定の表示物を特定、抽出したり、所定の形状の画像が、画像内に表示されているかどうかを判断するのに、輝度の低い箇所と高い箇所を区別し、特定の表示オブジェクトの輪郭を取り、ある形状の画像と一致するか判定する形状パターンマッチング等を実行したりするようになされている。
【００４２】
周辺装置１２９は、予め設定されたインタフェースにより周辺装置１４４を制御する信号を出力し、また、周辺装置１４４から出力される信号などを取得して制御部１２８に供給する。
【００４３】
制御部１２８は、例えば、キーボードなどで構成されユーザの指令に対応する信号などを入力する入力部１２１から供給されるコマンドに基づいて動作するようになされており、通信部１２５乃至周辺装置１２９から供給される信号またはデータに対して所定の処理を施して、演算部１２２乃至表示部１２４に供給するようになされている。制御部１２８は、CPU、メモリなどを含んで構成され、プログラムなどのソフトウェアを実行できるように構成されている。
【００４４】
演算部１２２は、データベース１０３に記憶されている情報を用いるなどして、制御部１２８から供給されるデータに対して所定の演算を行うことで、テスト対象装置１０２の組込ソフトのテストを実行し、テスト結果を制御部１２８に出力する。演算部１２２は、四則演算や論理演算など算術的な処理を行なう回路や、演算結果などを一時的に保管するアキュムレータや、演算結果の正負や桁上がりなどの状態情報を保管するフラグレジスタなどで構成され、一時記憶のためのメモリ等を構成する装置、CPUなどを含む構成とされる。
【００４５】
記憶部１２３は、メモリやハードディスクなどで構成され、演算部１２２の処理において必要となるデータ、テスト結果のデータなどを必要に応じて記憶する。
【００４６】
表示部１２４は、LCD（Liquid Crystal Display）などのディスプレイとして構成され、演算部１２２による処理の実行に関する情報、テスト結果の情報、または、テスト対象装置１０２から出力される画像などを適宜表示する。
【００４７】
データベース１０３には、テスト対象装置１０２の組込ソフトをテストするにあたって必要となる情報が記憶されている。データベース１０３は、機器情報DB１６１、ログDB１６２、期待値DB１６３、シナリオDB１６４、障害管理DB１６５に分けられて構成されている。
【００４８】
機器情報DB１６１には、例えば、自動ソフトテスト装置によりテストされるテスト対象装置を特定するための情報、または、テスト対象装置の機能や特徴を表す情報などが記憶されている。
【００４９】
ログDB１６２には、自動ソフトテスト装置１０１から出力されるログであって、テスト結果のデータなどを含むログが記憶される。
【００５０】
期待値DB１６３には、自動ソフトテスト装置１０１から出力されたテストデータ（例えば、周辺装置１２９を介して供給されるコマンドなど）に対応して、テスト対象装置１０２の組込ソフトの処理により表示されるべき画像、出力されるべき音声など、テスト対象装置１０２に期待される処理結果を特定するための情報が記憶される。なお、期待値DB１６３の詳細については後述する。
【００５１】
シナリオDB１６４には、自動ソフトテスト装置１０１から出力すべき一連のテストデータを生成するためのシナリオ（テストシナリオ）が記憶される。なお、シナリオの詳細については後述する。
【００５２】
障害管理DB１６５には、自動ソフトテスト装置１０１により実行されたテストの結果発見されたテスト対象装置１０２の組込ソフトの障害に関する情報が記憶される。
【００５３】
図２は、テスト対象装置１０２の制御部１４５の構成例であって、内蔵されるマイコン２１１に供給される信号がRAM２０１により、USBなどのインタフェースに出力される信号形式のデータとして記憶される例を説明する図である。テスト対象装置１０２の入力部１４６を操作すると、マイコン２１１に供給された手動操作による信号情報を、RAM２０１にも記録するようになされている。このようにして、RAM２０１に記録されたデータを、自動ソフトテスト装置１０１が読み取る事で、自動ソフトテスト装置１０１は、人間がテスト対象装置を操作した場合、マイコン２１１に供給される信号に関するデータを記録する。この時、テスト対象装置１０２から得られたデータは、後述するシナリオDB１６４に記録される。
【００５４】
このようにすることで、自動ソフトテスト装置１０１から出力されたテストデータであって、例えば、周辺装置１２９を介して供給されるコマンドなどは、USBなどのインタフェースで周辺装置１４４からテスト対象装置１０２に供給され、RAM２０１により所定の形式の信号に変換されてマイコン２１１に供給されるようにすることができ、マイコン２１１は、自動ソフトテスト装置１０１から送信される信号に基づいて、あたかも入力部１４６が操作されてコマンドが供給されたように動作することが可能となるようになされている。
【００５５】
すなわち、図３に示されるように、自動ソフトテスト装置１０１からテストデータが投入されたとき、テスト対象装置１０２に実装されているソフトウェア３０１がテスト対象装置１０２の組込ソフトのOS３１１に割り込み処理などを投入し、通常、入力部１４６から供給されるコマンドに代えて、USBなどのインタフェースから供給されたコマンドをドライバ３１２、アプリケーションプログラム３１３に供給するようになされている。このようにすることで、自動ソフトテスト装置１０１により、人間がテスト対象装置１０２を操作した場合と同様のテストを、自動的に行うことが可能となる。
【００５６】
なお、ソフトウェア３０１は、自動ソフトテスト装置１０１によるテストの実施に先立って、予めテスト対象装置１０２に実装されるものとし、テストが終了した後は削除されるようにしてもよい。
【００５７】
また、自動ソフトテスト装置１０１から出力されるテストデータは、周辺装置１４４を介さずに、通信部１４１などから供給されるようにしてもよい。さらに、自動ソフトテスト装置１０１と、テスト対象装置１０２との間で送受信されるデータが所定の暗号アルゴリズムにより暗号化または復号されるようにしてもよい。
【００５８】
また、例えば、周辺装置１４４にLED（Light Emitting Diode）を接続し、テストデータの投入に伴ってLEDが発行するようにし、自動テストシステム１００における一連の動作が点滅信号などで示されるようにしてもよい。
【００５９】
図４は、自動テストシステム１００における電力供給の方式を説明する図である。
【００６０】
同図においては、ACコンセント４０１からＡＣアダプタ４０２を介して自動ソフトテスト装置１０１とテスト対象装置１０２とに電力が供給されるようになされている。
【００６１】
接続回路４１１および４１２は、MOSFET（metallic oxide semiconductor field effect transistor）などにより構成されており、接続回路４１１および４１２のそれぞれの端子のうちの一つがそれぞれＡＣアダプタ４０２と接続されている。すなわち、端子４２１ａは、ＡＣアダプタ４０２に接続され、端子４２１ｂはテスト対象装置１０２に接続され、端子４２１ｃは自動ソフトテスト装置１０１に接続されている。また、端子４２２ａは、ＡＣアダプタ４０２に接続され、端子４２２ｂはテスト対象装置１０２に接続され、端子４２２ｃは自動ソフトテスト装置１０１に接続されている。
【００６２】
ACアダプタ４０２には、プラスとマイナスの２本の電力供給線があり、例えば、プラス側を端子４２１ａに接続し、マイナス側を端子４２２ａに接続する。このようにすることで、自動ソフトテスト装置１０１から、電圧値Vcc以上のデジタル信号を送信することでテスト対象装置１０２に対する電力の供給を制御することが可能となる。
【００６３】
例えば、自動ソフトテスト装置１０１から端子４２１ｃに電圧Vcc以上の信号を送信する場合、接続回路４１１のMOSFETがOFF状態となるため、テスト対象装置１０２への電力供給が断たれることになる。また、自動ソフトテスト装置１０１から、端子４２１ｃに電圧0が出力されている場合、接続回路４１１のMOSFETのゲート側に、フォトLEDの発光により電流が流れ、MOSFETのドレインソース間が通電し、その結果、テスト対象装置への電力の供給が行われる。
【００６４】
なお、発光ダイオード４３１と４３２の発光により、ユーザに接続回路４１１と４１２の通電状態を示す点滅信号が生成される。
【００６５】
このように、本発明の自動テストシステム１００においては、テスト対象装置１０２の電源（例えば、コンセントなど）の抜き差しを行うなどすることなく、テスト対象装置１０２に電力を供給したり、または電力の供給を断ったりすることが可能となる。したがって、あたかもテスト対象装置１０２の電源ボタンをON／OFFしたり、コンセントなどを抜き差ししたようなテストを、そのような操作をユーザが行うことなく、自動的に実行することが可能となる。
【００６６】
ここでは、電力供給線を、接続回路４１１および４１２に接続し、テスト対象装置１０２の電源（例えば、コンセントなど）の抜き差しを行うなどすることなく、テスト対象装置１０２に電力を供給したり、または電力の供給を断ったりする例について説明したが、同様の構成で、信号供給線を、接続回路４１１および４１２に接続し、テスト対象装置１０２の信号線を抜き差しするなどの操作を、ユーザが行うことなく、テスト対象装置１０２に所定の信号を供給したり、または信号の供給を断ったりするテストを自動的に実行することも可能である。
【００６７】
次に、自動ソフトテスト装置１０１によるテストとテスト結果の検証について説明する。図５は、自動ソフトテスト装置１０１の制御部１２８において実行されるソフトウェアの機能的構成例を示すブロック図である。
【００６８】
同図において、読込部５００は、データベース１０３からテストに必要となる情報を読み出すとともに、テスト対象装置１０２に対してテストデータの信号を送信する。すなわち、読込部５００は、シナリオＤＢ１６４に記憶されているシナリオと呼ばれるスクリプトを読み出して実行し、テストデータとそのテストデータに対応する信号を生成する。また、読込部５００は、この後行われる各処理で必要となるデータを、データベース１０３から読み出して供給する。
【００６９】
モデル生成部５０１は、読込部５００を介してデータベース１０３から供給される情報（例えば、文字の大きさ（ポイント数・縦倍・横倍など））に基づいてテスト結果の検証に用いる画像となる基準画像の画像データを生成する。ここで基準画像は、例えば、投入されたテストデータに対応して、本来テスト対象装置１０２が表示部１４３などに表示すべき画像であって、テスト対象装置１０２が正常に稼動している場合、表示される画像とされる。
【００７０】
モデル生成部５０１は、データベース１０３の期待値ＤＢ１６３に基づいて基準画像を生成する。図６は、期待値ＤＢ１６３の例を示す図である。
【００７１】
この例では、テスト対象装置１０２が表示する画面を特定する「画面ＩＤ」をキーとして、その画面ＩＤに対応する画面の情報が記述されたレコードとして期待値ＤＢ１６３が構成されている。同図の属性「機能名」には、その画面の機能が「UI」（ユーザーインターフェース）であるか、単なる表示画面「VIEW」であるかを表すデータが格納される。属性「画面種ID」は、その画面の種類を分類するデータが格納され、属性「背景」は背景の色を特定するデータ（例えば、「Blue」）が格納される。
【００７２】
属性「文字色」には、表示する文字色を分類するデータ（例えば、「White」）が格納され、属性「表示エリア」には、その画面が表示されるエリアが平面座標系で例えば、「（X1,Y1)-（X2,Y2））のように記述され、属性「揃え」には、文字揃えが「中央（center）」、または右側（Right）」であることを表すデータが格納される。属性「言語」には。表示される文字列の言語を特定するためのデータが記述される。
【００７３】
また、期待値DB１６３には、表示される画面のGUIとして用いられるボタンの情報が記録されているボタンDBが含まれている。図７は、ボタンDBの構成例を示す図である。この例では、ボタンの「名称」をキーとして、そのボタンに対応する色（color）、状態（state）、デザイン（design）の情報が記述されたレコードとしてボタンＤＢが構成されている。
【００７４】
また、期待値DB１６３には、画面に表示される文字列の情報が記録されている基準画像DBが含まれている。図８は、基準画像DBの構成例を示す図である。この例では、文字列のIDである「STR_ID」をキーとして、その文字列の「名称」、「画像」が記述されたレコードとして基準画像ＤＢが構成されている。ここで、「画像」は、JPEG画像の画像データとして記憶されており、例えば、「STR_ID」が「１」であるレコードの「画像」は、図９に示されるような画像とされる。
【００７５】
図１０は、期待値DB１６３から基準画像が生成される仕組みを説明する図である。同図においては、画面テーブルにより画面IDに対応した「画面名」、「機能ID」、「文字列設定ID」が特定され、画面IDに基づいて、表示されるボタンの画像がボタンDBを参照して生成される。また、「文字列設定ID」に基づいて文字列設定テーブルが検索され、「文字列設定番号」が特定され、基準画像DBが参照されて文字列の画像が生成される。さらに、「文字列位置ID」に基づいて「文字列位置設定テーブル」が検索され、「色ID」に基づいて色テーブルが検索される。また、「言語ID」に基づいて言語テーブルが検索されて「言語名」が特定され、「揃え方法ID」に基づいて揃え位置テーブルが検索され、「揃え位置名称」が特定される。
【００７６】
モデル生成部５０１は、図６の属性「画面名」、「機能名」、「背景」、「表示エリア」・・・に格納されたデータを、シナリオDBに記録されているシナリオに基づいて参照し取得する。
【００７７】
パターンマッチング部５０２は、読込部５００から送信されたテストデータの信号に対応してテスト対象装置１０２が出力する画像であって、例えば、テスト対象装置１０２の表示部１４３に表示された表示画像を、画像処理部１２６を介して取得し、その表示画像を解析するための画像データと、モデル生成部５０１により生成された基準画像の画像データとを比較する処理を行う。
【００７８】
このとき、パターンマッチング部５０２は、例えば、RGBのどの色成分で比較するかの設定、基準画像と表示画像における表示部位ごとの濃淡などを数値として置き換え、数値に基づいて基準画像と表示画像との差分を演算する。また、例えば、比較すべき部分の基準画像における表示色が赤である場合、表示画像の赤成分のみに、２値化処理が施され、表示画像に含まれる、赤色の領域が切り出されて比較される処理が行われるようにしてもよい。
【００７９】
スコア算出部５０３は、基準画像と表示画像の一致度合いを表すスコアを算出する。
【００８０】
また、基準画像と表示画像におけるボタンなどの部品の表示位置の差異を位置特定部５０４が検出する。欠損解析部５０５は、位置特定部５０４による検出結果、基準画像に表示される各部品の重心位置などに基づいて表示画像の欠損を解析し、解析結果を相違点検出部５０６に供給する。相違点検出部５０６は、欠損解析部５０５の解析結果に基づいて、基準画像と表示画像との相違点を検出する。
【００８１】
判定部５０７は、スコア算出部５０３、位置特定部５０４、および相違点検出部５０６から供給される情報に基づいて、テスト結果のOKまたはNGの判定、すなわち、投入されたテストデータに対応して正当な画像（または異常な画像）が表示されたか否かの判定を行う。判定部５０７による判定において、例えば、1画素単位の差異を異常と判定させたり、2画素までの違いは正常と判定させたりするなどの判定方式を、シナリオDB１６４に記憶されているシナリオにより設定可能となるようになされている。
【００８２】
上述した自動ソフトテスト装置１０１によるテストは、シナリオDB１６４に記憶されているシナリオと呼ばれるスクリプトに基づいて実行される。図１１は、シナリオの例を示す図である。すなわち、自動ソフトテスト装置１０１の制御部１２８により、図１１のシナリオが読み込まれて処理が実行される。
【００８３】
同図の10行目の「Dim Result as integer」が実行されることにより、整数型の変数として「Result」という変数宣言を行われる。次に、20行目は空白のため、読み飛ばされ、30行目の「JOB_Report_SetName(“C:\test.log”)」が実行され、シナリオDB１６４から所定の実行処理が呼び出される。この処理では、テスト結果をログとして保存するファイル（C:\test.log）が生成され、ログDB１６２に保存される。
【００８４】
40行目の「JOB_Init_Product(“T-1000”)」が実行されると、シナリオDB１６４から、所定の実行処理が呼び出され、テスト対象装置１０２に対応する製品「T-1000」に関する情報が、例えば、ＳＱＬ文を利用したクエリー検索により、機器情報ＤＢ１６１から検索されて取得される。これにより、テスト対象装置１０２を制御するのに必要な情報などが取得される。
【００８５】
次に、60行目の「JOB_Action_KeyPush(“A”)」が実行され、シナリオDB１６４から所定の実行処理が呼び出され、「A」という種類のGUIを、入力部１４６の操作により押下した場合の処理を、テスト対象装置１０２に実行させる。このとき、製品「T-1000」に関する情報に基づいて「JOB_Action_KeyPush」のスクリプトを実行するために必要な情報が付加される。
【００８６】
このスクリプトの実行により、図２または図３を参照して上述したように、自動ソフトテスト装置１０１から出力された信号が、USBなどのインタフェースでテスト対象装置１０２に供給され、RAM２０１により所定の形式の信号に変換されてマイコン２１１に供給される。すなわち、テスト対象装置１０２に実装されているソフトウェア３０１が、通常、入力部１４６から供給されるコマンドに代えて、USBなどのインタフェースから供給されたコマンドをドライバ３１２、アプリケーションプログラム３１３に供給する。
【００８７】
そして、マイコン２１１は、自動ソフトテスト装置１０１から送信される信号に基づいて、あたかも入力部１４６が操作（いまの場合、「Ａ」というGUIの操作）されてコマンドが供給されたように動作する。
【００８８】
次に、70行目で、先の「JOB_Action_KeyPush(“A”)」の実行に伴ってテスト結果の判定が行われる。このとき、上述したように、判定部５０７による判定が行われることになる。例えば、1画素単位の差異を異常と判定させたり、2画素までの違いは正常と判定させたりするなどの判定方式を、シナリオにより設定する場合、70行目を例えば、「JOB_Init_CheckImage(Hantei=1,0,0,0)」などのように記述し、予め設定された判定条件(Hantei=1,0,0,0)を指定するようにすればよい。
【００８９】
判定部５０７による判定の結果、正常に画像が表示されていると判定された場合、変数「Result」に1が代入される。
【００９０】
次に、90行目で、変数「Result」の値が判定され、１（正常）であれば、100行目が実行され、表示画面の画像データがログDB１６２に保存される。すなわち、ここまでの処理により、ログDB１６２には、例えば、「JOB_Report_Msg(“A Pushed”)」というレコードが記録され、その引数である「A Pushed」は、このレコードがテスト対象装置１０２において、「A」というGUIが正常に押下でき、その反応表示が正常に表示された証拠として記録されることになる。
【００９１】
ここでは、複数の関数の呼び出しを行うシナリオの例について説明したが、シナリオは、例えば、１つの関数の呼び出しだけを行うものであってもよい。また、必要に応じて１つのシナリオから他のシナリオが呼び出されるようにしてもよい。
【００９２】
次に、図１２のフローチャートを参照して、自動ソフトテスト装置１０１により自動テスト処理について説明する。
【００９３】
ステップＳ１０１において、読込部５００は、シナリオＤＢ１６４からシナリオを読み出す。
【００９４】
ステップＳ１０２において、読込部５００は、ステップＳ１０１の処理により読み込まれたシナリオに基づいてテスト対象装置１０２に送信すべき信号（テストデータに対応する信号）を生成し、また、この信号をテスト対象装置１０２に送信する。
【００９５】
ステップＳ１０３において、モデル生成部５０１は、テスト結果を検証するためのデータを生成する。このとき、例えば、上述した基準画像の画像データが生成される。
【００９６】
ステップＳ１０４において、パターンマッチング部５０２は、ステップＳ１０２の処理で生成されたテスト信号に対応して、テスト対象装置１０２から出力される情報を取得する。このとき、例えば、例えば、テスト対象装置１０２の表示部１４３に表示された表示画像が画像処理部１２６を介して取得される。
【００９７】
ステップＳ１０５において、パターンマッチング部５０２は、ステップＳ１０３の処理で生成されたデータと、ステップＳ１０４の処理で取得された情報とを比較する。このとき、例えば、上述した基準画像の画像データと、表示画像の画像データとが比較され、スコア算出部５０３、位置特定部５０４、および相違点検出部５０６から処理結果のデータが判定部５０７に供給される。
【００９８】
ステップＳ１０６において、判定部５０７は、ステップＳ１０５の処理による比較の結果に基づいて、テスト結果がＯＫ（正常）かＮＧ（異常）かを判定する。
【００９９】
ステップＳ１０７において、判定部５０７は、このテストの結果をログＤＢ１６２に記録する。
【０１００】
このようにして自動テスト処理が実行される。
【０１０１】
ところで、シナリオＤＢ１６４に記録されているシナリオは、複数のテストケースで再利用できると便利である。本発明においては、シナリオ（一連のスクリプト）を、用途や機能に応じて分類して記録するようになされている。
【０１０２】
ここでは、シナリオを、「Action」、「Search」、「Analysis」、「Check」、「Initialize」、「Report」、「Exception」の７種類に分類する例について説明する。「Action」は、所定の操作を行う機能を有するシナリオとされ、「Search」は、目的の対象物を探し当てる機能を有するシナリオとされ、「Analysis」は、操作した結果得られた情報を分析・解析する機能を有するシナリオとされる。また、「Check」は、操作した結果得られた情報を判定する機能を有するシナリオとされ、「Initialize」は、テスト対象装置１０２の事前設定を行う機能を有するシナリオとされ、「Report」は、ログなどを記録する機能を有するシナリオとされ、「Exception」は、想定外の状態が発生した時に対処するシナリオとされる。
【０１０３】
例えば、テスト対象装置１０２のタッチパネル上のあるボタンを押下する処理を実行させる関数やシナリオは、「Action」に分類する。テスト対象装置１０２のユーザーインターフェースのメニュー一覧と、その一覧内の項目を１つ指定すると、その画面項目まで、移動するシナリオなどは、「Search」に分類する。また、メニューを操作し、画面遷移を幾つか経て、目的の画面に到着した時に、比較する情報のために、画面すべてを切り出すか、ある部分を抽出するかなどの処理を実行するシナリオ、また、得られたデータを、予め設定されたデータと比較する処理を実行するシナリオなどは、Checkに分類する。そして、Checkに分類されるシナリオにおいて比較と判定の基準などを設定する処理を実行するシナリオなどは、「Analysis」に分類する。
【０１０４】
このように、シナリオを分類して管理することにより、例えば、ある１人のユーザが追加または修正したシナリオＤＢを、他のユーザも利用することが出来る。
【０１０５】
例えば、自動ソフトテスト装置１０１においては、予めシナリオを実行するための雛形として、図１３に示されるようなフローチャートを用意しておき、ユーザがそれぞれのステップに、分類されたシナリオの中から適切なシナリオを組み込んでいくようにすればよい。
【０１０６】
図１３の例では、ステップS２０１の「Initialize」により初期状態が設定され、ステップS２０２の「Search」により目的の状況までテスト対象装置１０２を動作させ、ステップS２０３の処理による判定で正しく目的の状況が作り出せたか否かを判定する。正しく目的の状況が作り出せたと判定された場合、ステップS２０４の「Action」によりテストしたい動作を与え、ステップS２０５の「Analysis」によりその反応結果を分析または解析し、ステップS２０６の「Check」により分析または解析結果に基づいてテスト結果が正常であったか異常であったかの判定を行い、ステップS２０７の「Report」によりテスト結果が記録される。
【０１０７】
なお、ステップS２０３の処理による判定で正しく目的の状況が作り出せなかったと判定された場合、ステップS２０８の「Exception」により例外処理が実行される。
【０１０８】
図１３のフローチャートに示される手順はいかなるテストでも通る共通の手順であり、どのようなテスト対象装置１０２にも利用可能である。このように、シナリオを分類して保存することで、新たにシナリオを作成する場合であっても、過去に作成したシナリオを、分類別に引用して、短時間に効率よくシナリオを作成する事が出来る。
【０１０９】
さらに、図１３のフローチャートに基づいて、個々のステップにシナリオが組み込みこまれて生成されたテストデータが、新たなシナリオとしてシナリオDB１６４に記憶されるようにしてもよい。このようにすることで、生成されたシナリオの再利用をより促進させることが可能となる。
【０１１０】
次に、実際の自動テストについて具体的に説明する。図１４乃至図１７は、ある製品のＧＵＩ操作を行った時の一連の操作結果を説明する図である。この製品において、まず、図１４の「Ｍｅｎｕ」ボタン６０１を押下すると、図１５の画面が表示される。次に、図１５の「Ｆｎｃ３」ボタン６１１を押下すると、図１６の画面が表示される。次に、図１６の「ＯＫ」ボタン６２１を押下すると、図１７の画面が表示され、左上の「Ｉｃｏｎ」表示部６３１に「■●」が表示される。
【０１１１】
なお、上記は、この製品が正常に稼動している場合の操作結果（画面の遷移）である。
【０１１２】
この製品を、テスト対象装置とし、図１４乃至図１７を参照して説明した動作を実行させ、最終的に表示部６３１の表示内容を検証するテストを行う場合、「Initialize」による初期状態の設定のための関数として、例えば、「PowerOn」のような関数を実行させることで、テスト対象装置に電力を供給させる。このとき、図４を参照して上述したように電力の供給が行われることになり、図１４の画面がテスト対象装置の表示部に表示される。
【０１１３】
次に、「Search」に対応する処理として、まず、現在表示されている画面を解析し、GUIボタンがどの位置に表示されているかを判定するなどして、期待値DB１６３内の画面IDを特定する。次に、特定された画面から目的の画面である図１７の画面まで、移動できるボタンを探索する処理を実行する。「Search」に対応する処理としてこのような処理を実行するための関数などからなる既存のシナリオなどが適用される。
【０１１４】
そして、Menuボタン６０１の押下、Fnc3ボタン６１１の押下、ＯＫボタン６２１の押下の処理を実行させる関数などからなるシナリオが「Action」に対応する処理として適用され、表示部６３１の表示内容を調べるため、「Analysis」に対応する処理として、画素位置の誤差許容度などを設定するための関数などからなるシナリオが呼び出され、「Check」に対応する処理として、画面の表示内容の解析結果に基づいて、表示部６３１に「■●」が表示されているか否かの判定を行う関数などからなるシナリオが呼び出される。さらに、「Report」に対応するシナリオの処理によりログDB１６２にテスト結果がログとして記録される。
【０１１５】
このようにして、自動ソフトテスト装置１０１によるテスト対象装置１０２の組込ソフトのテストが行われることになる。
【０１１６】
以上においては、入力されたテストデータに対応してテスト対象装置１０２が出力する画像を検証することにより、テスト対象装置１０２の組込ソフトのテストが行われる例について説明したが、入力されたテストデータに対応してテスト対象装置１０２が出力する音声も検証されるようにしてもよい。このような場合、例えば、期待値DB１６３に、基準となる音声信号を生成するための情報を記憶させ、モデル生成部５０１が基準音声信号を生成し、パターンマッチング部５０２が、基準音声信号と、テスト対象装置１０２から取得される音声信号とを比較する処理などを行うようにすればよい。
【０１１７】
なお、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば、図１８に示されるような汎用のパーソナルコンピュータ５００などに、ネットワークや記録媒体からインストールされる。
【０１１８】
図１８において、CPU（Central Processing Unit）８０１は、ROM（Read Only Memory）８０２に記憶されているプログラム、または記憶部８０８からRAM（Random Access Memory）８０３にロードされたプログラムに従って各種の処理を実行する。RAM８０３にはまた、CPU８０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１１９】
CPU８０１、ROM８０２、およびRAM８０３は、バス８０４を介して相互に接続されている。このバス８０４にはまた、入出力インタフェース８０５も接続されている。
【０１２０】
入出力インタフェース８０５には、キーボード、マウスなどよりなる入力部８０６、CRT(Cathode Ray Tube)、ＬＣＤ(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部８０７、ハードディスクなどより構成される記憶部８０８、モデム、LANカードなどのネットワークインタフェースカードなどより構成される通信部８０９が接続されている。通信部８０９は、インターネットを含むネットワークを介しての通信処理を行う。
【０１２１】
入出力インタフェース８０５にはまた、必要に応じてドライブ８１０が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア８１１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部８０８にインストールされる。
【０１２２】
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、インターネットなどのネットワークや、リムーバブルメディア８１１などからなる記録媒体からインストールされる。
【０１２３】
なお、この記録媒体は、図１８に示される、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フロッピディスク（登録商標）を含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク（MD（Mini-Disk）（登録商標）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア８１１により構成されるものだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM８０２や、記憶部８０８に含まれるハードディスクなどで構成されるものも含む。
【０１２４】
本明細書において上述した一連の処理を実行するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０１２５】
【図１】本発明を適用した自動テストシステムの一実施形態に係る構成例を示すブロック図である。
【図２】テスト対象装置の制御部の構成例を示す図である。
【図３】テスト対象装置のソフトウェアの処理を説明する図である。
【図４】図１の自動テストシステムにおける電力供給の方式を説明する図である。
【図５】自動ソフトテスト装置の制御部で実行されるソフトウェアの機能的構成例を示すブロック図である。
【図６】期待値DBの例を示す図である。
【図７】ボタンDBの例を示す図である。
【図８】基準画像DBの例を示す図である。
【図９】図８の基準画像DBに記録される画像の例を示す図である。
【図１０】期待値DBに基づいて基準画像が生成される仕組みを説明する図である。
【図１１】シナリオの例を示す図である。
【図１２】自動テスト処理を説明するフローチャートである。
【図１３】分類されたシナリオを利用して自動テストを行う場合の雛形の例を示すフローチャートである。
【図１４】テスト対象装置の画面の例を示す図である。
【図１５】テスト対象装置の画面の例を示す図である。
【図１６】テスト対象装置の画面の例を示す図である。
【図１７】テスト対象装置の画面の例を示す図である。
【図１８】パーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０１２６】
１００  自動テストシステム，  １０１  自動ソフトテスト装置，  １０２  テスト対象装置，  １０３  データベース，  １２５  通信部，  １２６  画像処理部，  １２７  画像取込装置，  １２８  制御部，  １２９  周辺装置，  １４１  通信部，  １４２  画像処理部，  １４３  表示部，  １４４  周辺装置，  １６１  機器情報DB，  １６２  ログDB，  １６３  期待値DB，  １６４  シナリオDB，  １６５  障害管理DB，  ４１１  接続回路，  ４１２  接続回路，  ５００  読込部，  ５０１  モデル生成部，  ５０２  パターンマッチング部，  ５０３  スコア算出部，  ５０４  位置特定部，  ５０５  欠損解析部，  ５０６  相違点検出部，  ５０７  判定部
【図１】
0004711138.tif 000002
【図２】
0004711138.tif 000003
【図３】
0004711138.tif 000004
【図４】
0004711138.tif 000005
【図５】
0004711138.tif 000006
【図６】
0004711138.tif 000007
【図７】
0004711138.tif 000008
【図８】
0004711138.tif 000009
【図９】
0004711138.tif 000010
【図１０】
0004711138.tif 000011
【図１１】
0004711138.tif 000012
【図１２】
0004711138.tif 000013
【図１３】
0004711138.tif 000014
【図１４】
0004711138.tif 000015
【図１５】
0004711138.tif 000016
【図１６】
0004711138.tif 000017
【図１７】
0004711138.tif 000018
【図１８】
0004711138.tif 000019