(57)【要約】【課題】テスト対象装置が操作された際のタイミングを正確にテストシナリオに記録することが可能な自動テストシステムを提供する。【解決手段】テスト対象装置が、複数の操作要素を有する操作出力手段で操作された上記操作要素の識別情報を出力し、出力された操作要素の識別情報を操作要素が操作された第１の操作タイミングの情報と共に第１の記憶手段に記憶し、記憶された操作要素の識別情報及び第１の操作タイミングの情報の読み出しを行い、自動テスト装置が、操作要素の識別情報及び第１の操作タイミングの情報に基づく第２の操作タイミングの情報を第２の記憶手段に記憶し、操作要素の識別情報及び第２の操作タイミングの情報を読み出し、読み出された操作要素の識別情報及び第２の操作タイミングの情報に基づいて、テスト対象装置のテスト操作に基づく操作手順が記述されたテストシナリオを生成する。【選択図】図１
2009116535.tif 000002
【特許請求の範囲】
【請求項１】
テスト対象装置と、このテスト対象装置に接続されて上記テスト対象装置のテストを自動的に行う自動テスト装置とを備える自動テストシステムであって、
上記テスト対象装置は、
複数の操作要素を有し、操作された上記操作要素の識別情報を出力するための第１の操作入力手段と、
上記第１の操作入力手段から出力された操作要素の識別情報を当該操作要素が操作された第１の操作タイミングの情報と共に記憶するための第１の記憶手段と、
上記第１の記憶手段に対して上記操作要素の識別情報及び上記第１の操作タイミングの情報の記憶又は読み出しを行う第１の制御手段とを有し、
上記自動テスト装置は、
上記第１の制御手段により上記第１の記憶手段から読み出された上記操作要素の識別情報及び上記第１の操作タイミングの情報に基づく第２の操作タイミングの情報を記憶するための第２の記憶手段と、
上記操作要素の識別情報及び上記第２の操作タイミングの情報の記憶又は読み出しを上記第２の記憶手段に対して行う第２の制御手段と、
上記第２の制御手段により読み出された上記操作要素の識別情報及び上記第２の操作タイミングの情報に基づいて、上記テスト対象装置のテスト操作に基づく操作手順が記述されたテストシナリオを生成する第１の演算手段とを有する
ことを特徴とする自動テストシステム。
【請求項２】
上記第１の演算手段は、上記第２の制御手段から読み出された上記第２の操作タイミングの情報を補正して第３の操作タイミングの情報を得る時間補正部を有し、上記操作要素の識別情報及び上記第３の操作タイミングの情報に基づいて上記テストシナリオを生成することを特徴とする請求項１記載の自動テストシステム。
【請求項３】
上記第１の演算手段は、上記第１の記憶手段に記憶された上記操作要素の識別情報及び上記第１の操作タイミングの情報と、上記第２の制御手段が上記操作要素の識別情報及び上記第１の操作タイミングの情報を受信した時間とに基づいて、上記テスト対象装置と上記自動テスト装置との間で上記操作要素の識別情報及び上記第１の操作タイミングの情報が伝送される際に生じる反応遅れ時間を算出する遅れ時間算出部を有し、
上記時間補正部は、上記遅れ時間算出部により算出された上記反応遅れ時間に基づいて上記第３の操作タイミングの情報を得ることを特徴とする請求項２記載の自動テストシステム。
【請求項４】
上記テスト対象装置は、
上記第１の操作入力手段から出力された上記操作要素の識別情報を上記第１の制御手段が受信したときに、この操作要素の識別情報の受信時刻と上記操作要素の識別情報の直前に上記第１の制御手段が受信した操作要素の識別情報の受信時刻とから第１の差分時間を算出する第１の差分時間算出部を有し、
上記第１の制御手段は、上記第１の差分時間算出部により算出された上記第１の差分時間を上記第１の操作タイミングの情報として上記第１の記憶手段に記憶することを特徴とする請求項１記載の自動テストシステム。
【請求項５】
上記第１の演算手段は、上記第２の制御手段が上記操作要素の識別情報を受信した時刻と、この操作要素の識別情報の直前に上記第２の制御手段が受信した操作要素の識別情報を受信した時刻とから第２の差分時間を算出する第２の差分時間算出部を有し、
上記第２の制御手段は、上記第２の差分時間算出部により算出された上記第２の差分時間を上記第２の操作タイミングの情報として上記第２の記憶手段に記憶することを特徴とする請求項１記載の自動テストシステム。
【請求項６】
上記自動テスト装置に接続され、上記操作要素の識別情報に基づくスクリプト情報及び上記テスト操作を確認するための期待情報を出力するための第２の操作入力手段をさらに備え、
上記第１の演算手段は、上記操作要素の識別情報に基づくスクリプト情報及び上記期待情報に基づいて上記テストシナリオにシナリオを追加するシナリオ追加部とを有する
ことを特徴とする請求項１記載の自動テストシステム。
【請求項７】
上記第２の記憶手段は、上記第２の操作入力手段から出力された上記操作要素の識別情報に基づくスクリプト情報及び上記期待情報を記憶するための確認シナリオ記憶部を有し、
上記シナリオ追加部は、上記確認シナリオ記憶部から読み出された上記操作要素の識別情報に基づくスクリプト情報及び上記期待情報を上記追加するシナリオとして上記テストシナリオに追加することを特徴とする請求項６記載の自動テストシステム。
【請求項８】
テスト対象装置と、このテスト対象装置に接続されて上記テスト対象装置のテストを自動的に行う自動テスト装置とを備える自動テストシステムにおける自動テスト方法であって、
上記テスト対象装置が、
複数の操作要素を有する操作出力手段で操作された上記操作要素の識別情報を出力する出力工程と、
上記出力された操作要素の識別情報を当該操作要素が操作された第１の操作タイミングの情報と共に第１の記憶手段に記憶する第１の記憶工程と、
上記第１の記憶工程で記憶された上記操作要素の識別情報及び上記第１の操作タイミングの情報の読み出しを行う第１の読み出し工程と、
上記自動テスト装置が、
上記第１の読み出し工程で読み出された上記操作要素の識別情報及び上記第１の操作タイミングの情報に基づく第２の操作タイミングの情報を第２の記憶手段に記憶する第２の記憶工程と、
上記操作要素の識別情報及び上記第２の操作タイミングの情報を読み出す第２の読み出し工程と、
上記第２の読み出し工程で読み出された上記操作要素の識別情報及び上記第２の操作タイミングの情報に基づいて、上記テスト対象装置のテスト操作に基づく操作手順が記述されたテストシナリオを生成する生成工程とを有する
ことを特徴とする自動テスト方法。
【請求項９】
テスト対象装置と、このテスト対象装置に接続されて上記テスト対象装置のテストを自動的に行う自動テスト装置とを備える自動テストシステムにおける自動テスト方法をコンピュータで実行するためのプログラムであって、
上記テスト対象装置が、
複数の操作要素を有する操作出力手段で操作された上記操作要素の識別情報を出力する出力工程と、
上記出力された操作要素の識別情報を当該操作要素が操作された第１の操作タイミングの情報と共に第１の記憶手段に記憶する第１の記憶工程と、
上記第１の記憶工程で記憶された上記操作要素の識別情報及び上記第１の操作タイミングの情報の読み出しを行う第１の読み出し工程と、
上記自動テスト装置が、
上記第１の読み出し工程で読み出された上記操作要素の識別情報及び上記第１の操作タイミングの情報に基づく第２の操作タイミングの情報を第２の記憶手段に記憶する第２の記憶工程と、
上記操作要素の識別情報及び上記第２の操作タイミングの情報を読み出す第２の読み出し工程と、
上記第２の読み出し工程で読み出された上記操作要素の識別情報及び上記第２の操作タイミングの情報に基づいて、上記テスト対象装置のテスト操作に基づく操作手順が記述されたテストシナリオを生成する生成工程とを有する
ことを特徴とする自動テスト方法を実行するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動テストシステム及び自動テスト方法並びにプログラムに関する。
【背景技術】
【０００２】
近年、ソフトウェアが組み込まれた機器のソフトウェア容量が拡大してソフトウェアの複雑度が多様化し、このような機器の機能を拡大するためにテスト対象となる装置（以下、テスト対象装置という。）のテストを自動的に行う装置（以下、自動テスト装置という。）が使用され始めている。この自動テスト装置は、情報処理装置の各状態における入力条件、入力情報に対する出力内容、動作が正しいか否か等を判定するための装置である。
【０００３】
自動テスト装置を動作させるためには、テストシナリオと呼ばれるプログラムが必要となる。テストシナリオの生成方法としては、スクリプトをテキストエディタ等により直接記述する方法、自動テスト装置の表示部であるＬＣＤ（Liquid Crystal Display）等に表示されたＧＵＩ（Graphical User Interface）の釦をマウスやキーボード等で操作する方法、テストの対象となる装置（以下、テスト対象装置という。）が操作されたときの操作内容を簡易プログラムであるスクリプトとしてテストシナリオに記述する方法等が一般的に知られている。
【０００４】
【特許文献１】特開２００２−２１５４１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、テスト対象装置を操作したときの操作内容をスクリプトとしてテストシナリオを記述するための手段は存在したものの、自動テストする目的でテスト対象装置を直接操作してシナリオを記述し、利用する仕組みは存在しなかった。また、ＧＵＩでシナリオを記述する装置は、様々な機器に対応するため、ＧＵＩ画面の作成やＧＵＩとテスト対象装置との間で入力装置毎の関連付け登録が必要であった。さらに、テスト対象装置が操作されたときの操作タイミングをテストシナリオに正確に記述するための装置は存在しなかった。
【０００６】
本発明は、上記課題を解決するものであり、テスト対象装置が操作された際のタイミングをテストシナリオに正確に記述することが可能な自動テストシステム及び自動テスト方法並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために、本発明に係る自動テストシステムは、テスト対象装置と、このテスト対象装置に接続されて上記テスト対象装置のテストを自動的に行う自動テスト装置とを備える自動テストシステムであって、上記テスト対象装置は、複数の操作要素を有し、操作された上記操作要素の識別情報を出力するための第１の操作入力手段と、上記第１の操作入力手段から出力された操作要素の識別情報を当該操作要素が操作された第１の操作タイミングの情報と共に記憶するための第１の記憶手段と、上記第１の記憶手段に対して上記操作要素の識別情報及び上記第１の操作タイミングの情報の記憶又は読み出しを行う第１の制御手段とを有し、上記自動テスト装置は、上記第１の制御手段により上記第１の記憶手段から読み出された上記操作要素の識別情報及び上記第１の操作タイミングの情報に基づく第２の操作タイミングの情報を記憶するための第２の記憶手段と、上記操作要素の識別情報及び上記第２の操作タイミングの情報の記憶又は読み出しを上記第２の記憶手段に対して行う第２の制御手段と、上記第２の制御手段により読み出された上記操作要素の識別情報及び上記第２の操作タイミングの情報に基づいて、上記テスト対象装置のテスト操作に基づく操作手順が記述されたテストシナリオを生成する第１の演算手段とを有することを特徴とする。
【０００８】
また、本発明に係る自動テスト方法は、テスト対象装置と、このテスト対象装置に接続されて上記テスト対象装置のテストを自動的に行う自動テスト装置とを備える自動テストシステムにおける自動テスト方法であって、上記テスト対象装置が、複数の操作要素を有する操作出力手段で操作された上記操作要素の識別情報を出力する出力工程と、上記出力された操作要素の識別情報を当該操作要素が操作された第１の操作タイミングの情報と共に第１の記憶手段に記憶する第１の記憶工程と、上記第１の記憶工程で記憶された上記操作要素の識別情報及び上記第１の操作タイミングの情報の読み出しを行う第１の読み出し工程と、上記自動テスト装置が、上記第１の読み出し工程で読み出された上記操作要素の識別情報及び上記第１の操作タイミングの情報に基づく第２の操作タイミングの情報を第２の記憶手段に記憶する第２の記憶工程と、上記操作要素の識別情報及び上記第２の操作タイミングの情報を読み出す第２の読み出し工程と、上記第２の読み出し工程で読み出された上記操作要素の識別情報及び上記第２の操作タイミングの情報に基づいて、上記テスト対象装置のテスト操作に基づく操作手順が記述されたテストシナリオを生成する生成工程とを有することを特徴とする。
【０００９】
さらに、本発明に係る自動テスト方法を実行するためのプログラムは、テスト対象装置と、このテスト対象装置に接続されて上記テスト対象装置のテストを自動的に行う自動テスト装置とを備える自動テストシステムにおける自動テスト方法をコンピュータで実行するためのプログラムであって、上記テスト対象装置が、複数の操作要素を有する操作出力手段で操作された上記操作要素の識別情報を出力する出力工程と、上記出力された操作要素の識別情報を当該操作要素が操作された第１の操作タイミングの情報と共に第１の記憶手段に記憶する第１の記憶工程と、上記第１の記憶工程で記憶された上記操作要素の識別情報及び上記第１の操作タイミングの情報の読み出しを行う第１の読み出し工程と、上記自動テスト装置が、上記第１の読み出し工程で読み出された上記操作要素の識別情報及び上記第１の操作タイミングの情報に基づく第２の操作タイミングの情報を第２の記憶手段に記憶する第２の記憶工程と、上記操作要素の識別情報及び上記第２の操作タイミングの情報を読み出す第２の読み出し工程と、上記第２の読み出し工程で読み出された上記操作要素の識別情報及び上記第２の操作タイミングの情報に基づいて、上記テスト対象装置のテスト操作に基づく操作手順が記述されたテストシナリオを生成する生成工程とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、テスト対象装置を直接操作テスト対象装置の操作に基づいてテストシナリオを生成する際に機器毎の登録設定が不要となるため、テストシナリオを作成する際の時間を短縮することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明が適用された自動テストシステムについて、図面を参照しながら詳細に説明する。なお、本発明は以下の例に限定されるものではなく、本発明の要旨を逸脱しない範囲で任意に変更可能であることは言うまでもない。
【００１２】
図１は、自動テストシステムの構成を示すブロック図である。本実施形態の自動テストシステム１は、大別するとテスト対象装置１０と自動テスト装置２０とで構成されている。テスト操作を受け付けるテスト対象装置１０は、ユーザの操作に基づいた信号を入力するための入力部１１と、算術的な処理を実行するための演算部１２と、記憶動作を実行するための記憶部１３と、所定の処理が施された電気信号を表示する表示部１４と、信号を送受信するための通信部１５と、画像出力するための画像出力部１６と、記憶部１３等の動作を制御する制御部１７とを備えている。
【００１３】
入力部１１は、キーボードやマウス等からなり、ユーザによる操作に基づいた信号を生成し、この信号を制御部１７に対して出力する。入力部１１は、例えばユーザがテスト対象装置を操作するための複数の操作要素を有し、この操作された操作要素の識別情報を制御部１７に対して出力する。
【００１４】
演算部１２は、演算結果を一時的に保持するためのアキュムレータや演算結果の正負や桁上がり等のプログラムの状態情報を保持するフラグレジスタ等で構成されており、制御部１７から供給された信号に基づいて四則演算、論理処理等の算術的な処理を実行し、演算処理等に基づいて生成した信号を制御部１７に対して出力する。また、演算部１２は、入力部１１から出力された操作要素の識別情報を制御部１７が受信したときに、操作要素の識別情報の受信時刻と、この操作要素の識別情報の直前に制御部１７が受信した操作要素の識別情報の受信時刻とから差分時間を算出する。
【００１５】
記憶部１３は、ＨＤＤ（Hard Disk Drive）、フレキシブルディスク、光磁気ディスク、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等からなり、制御部１７から供給された制御信号に基づいて記憶動作を実行するとともに、この記憶された信号を制御部１７に出力する。例えば記憶部１３は、入力部１１から出力された操作要素の識別情報及び演算部１２により算出された操作タイミングの情報（イベントログ情報）を記憶する。
【００１６】
表示部１４は、ＣＲＴ（Cathode Ray Tube）、ＬＣＤ等で構成され、制御部１７から供給された信号に基づいて、ユーザが認識可能な形状、色、明るさ等でユーザがテスト対象装置１０に対して指示するための選択肢を表示する。
【００１７】
通信部１５は、例えばＵＳＢ（Universal Serial Bus）、ＩＥＥＥ１３９４（Institute of Electrical and Electronic Engineers 1394）等の一定の規格に準拠した有線の通信方式や、電気信号を電波に変換するための無線通信であって、Bluetooth、ＩＥＥＥ８０２．１１ｂ（Institute of Electrical and Electronic Engineers 802.11b）等の無線通信規格に準拠するプロトコルを有し、このプロトコルにしたがって他の機器とデータの送受信を可能にする装置である。通信部１５は、自動テスト装置２０の通信部２５との間で情報を通信し、制御部１７から供給された信号を自動テスト装置２０の通信部２５に対して出力するとともに、自動テスト装置２０の通信部２５から受信した信号を制御部１７に対して供給する。
【００１８】
画像出力部１６は、ビデオ信号端子、Ｓ端子、ＨＤＭＩ端子、Ｄ端子等へ映像を出力する部位であり、制御部１７から供給された信号を自動テスト装置２０の画像取込み部２７に対して出力する。また、画像出力部１６は、制御部１７から表示部１４に出力されて表示部１４に表示された画像と同じ映像信号を外部に接続されたテレビジョン、ＶＴＲ機器等に出力する。
【００１９】
制御部１７は、テスト対象装置１０を制御するためのＣ言語、マシン語、Basic等のプログラム言語で記述されたプログラムを実行する部位であり、テスト対象装置１０の各構成要素に接続され、これら各構成要素と信号を相互に交換することでテスト対象装置１０の動作を制御する。制御部１７は、例えばＯＳ（Operating System）を動作させておき、入力部１１であるキーボードのボタン「Ａ」を押下した際に、「Ａ」の画像形状を記憶部１３のＨＤＤから取出して、表示部１４のＬＣＤに表示させる。
【００２０】
一方、テスト対象装置１０に接続され、このテスト対象装置１０のテストを自動的に行う自動テスト装置２０は、例えばＰＣで構成され、ユーザに対して操作指示を出すとともに、テスト対象装置１０に対して動作指示を与えて動作指示に対するテスト対象装置１０からの応答を確認し、ユーザにその結果を表示する。このような自動テスト装置２０は、ユーザの操作に基づいた信号を入力するための入力部２１と、算術的な処理等を実行するための演算部２２と、記憶動作を実行するための記憶部２３と、所定の処理が施された電気信号を表示する表示部２４と、信号を送受信するための通信部２５と、所定の画像処理を施すための画像処理部２６と、ビデオ信号等の映像信号を画像変換するための画像取込部２７と、記憶部２３等の動作を制御する制御部２８とを備えている。
【００２１】
入力部２１は、例えばユーザの操作に基づいて生成した操作信号を制御部２８に対して出力する。
【００２２】
演算部２２は、アキュムレータやフラグレジスタ等で構成されており、制御部２８から供給された信号に基づいて四則演算、論理処理等の算術的な処理を実行し、演算処理等に基づいて生成した信号を制御部２８に対して出力する。また、演算部２２は、後述するようにテスト対象装置１０のテスト操作に応じた操作手順が記述されたテストシナリオを生成する。さらに、演算部２２は、入力部１１から出力された操作要素の識別情報を制御部２８が受信したときに、制御部２８が操作要素の識別情報を受信した時刻と、この操作要素の識別情報の直前に受信した操作要素の識別情報の受信時刻とから差分時間を算出する。さらにまた、演算部２２は、記憶部１３に記憶された操作要素の識別情報及び操作タイミングの情報と、制御部２８が操作要素の識別情報及び操作タイミングの情報を受信した時間とに基づいて、テスト対象装置１０と自動テスト装置２０との間で操作要素の識別情報及び操作タイミングの情報が伝送される際に生じる反応遅れ時間を算出する。
【００２３】
記憶部２３は、ＨＤＤ、フレキシブルディスク、光磁気ディスク、ＲＡＭ、ＲＯＭ等からなり、制御部２８から供給された制御信号に基づいて記憶動作を実行するとともに、この記憶された信号を制御部２８に出力する。さらに、記憶部１３には、テストシナリオを生成するための制御プログラム等が記憶されている。
【００２４】
表示部２４は、ＣＲＴ、ＬＣＤ等で構成され、制御部２８から供給された信号に基づいて、ユーザが認識可能な形状、色、明るさ等でユーザが自動テスト装置２０に対して指示するための選択肢を表示する。
【００２５】
通信部２５は、例えばテスト対象装置１０の通信部１５との間で情報を通信し、制御部２８から供給された信号をテスト対象装置１０の通信部１５に対して出力するとともに、テスト対象装置１０の通信部１５から受信した信号を制御部２８に対して供給することを可能にする装置である。
【００２６】
画像処理部２６は、例えば画像内における形状、色、輝度等に基づいて特徴を抽出するためのアルゴリズムを適用し、画像内の特定の表示対象を特定又は抽出する装置や形状パターンマッチング等のアルゴリズムを有する装置等で構成されており、具体的にはBitmap、PNG、JPG、Gif等の各種フォーマットの画像や、画像取込部２７から取込まれた画像に対して回転、拡大、縮小等を可能とするとともに、複数の画像間の差分抽出や、所定の画像に対する輝度や色彩のスレッショルドをすることにより、特定の画像を抽出する。また、画像処理部２６は、画像取込部２７から供給された信号や、テスト対象装置１０の制御部２８から出力された信号に対して所定の画像処理を施し、この画像処理を施した信号を制御部２８に対して出力する。
【００２７】
画像取込部２７は、ビデオ信号をデジタル化してメモリ等に記憶するためのフレーム・グラバーや、ビデオの映像をデジタルデータに変換して画像データとして取込むためのビデオキャプチャボード等で構成されており、テスト対象装置１０の表示部１４及び画像出力部１６から出力されたビデオ信号、Ｓ端子映像信号、アナログハイビジョン信号、デジタルハイビジョン信号等の映像信号を１枚の画像に変換する処理を施し、この変換処理が施された画像を画像処理部２６に供給する。
【００２８】
制御部２８は、自動テスト装置を制御するためのＣ言語、マシン語、Basic等のプログラム言語で記述されたプログラムを実行する部位であり、上述した入力部２１、演算部２２、記憶部２３、表示部２４、通信部２５及び画像処理部２６に接続され、種々の信号を相互に交換することでテスト対象装置１０の各構成要素及の動作を制御する。制御部２８は、例えばテスト対象装置１０の入力部１１から出力された操作要素の識別情報及びタイミングと、通信部２５を介して受信したテスト対象装置１０の記憶部１３から読み出された操作要素の識別情報及び操作タイミングの情報を演算部２２に供給する。また制御部２８は、演算部２２により所定の演算処理が施された操作要素の識別情報及び操作タイミングの情報を記憶部２３に記憶する。
【００２９】
図２は、テスト対象装置１０の内部動作を模式的に示す図である。テスト対象装置１０では、例えば入力部１１であるSwitch３０から、High/Lowで示される電気的な信号が制御部１７である例えばマイコン３１のポートへ入力される。このように電気的な信号がマイコン３１のポートに入力されたとき、マイコン３１は、Switch３０から入力された信号に基づいて、マイコン３１の内部で動作するソフトウェアがマイコン３１のポートとは別のポートに接続されている表示部１４である例えばＬＥＤ３２へ電気的な信号を出力してＬＥＤ３２の点灯又は消灯動作を制御する。また、制御部１７であるマイコン３１は、Switch３０から入力された信号をCommunication３３に接続されているＲＡＭ３４に記憶する。ここで、上述したように入力部１１から入力された信号を制御部１７が記憶部１３に記憶する際の内部動作について説明する。
【００３０】
図３は、自動テスト装置２０でテストシナリオを生成するためのスクリプトを記憶部１３に対して記憶する際の動作を模式的に示す図である。テスト対象装置１０の制御部１７の内部で動作するソフトウェアがApplicationとDriverとSYSTEMとに切り分けられている場合に、入力部１１であるSwitch３０から入力された信号が制御部１７であるマイコン３１のポートに入力され、このポートで０と１との２表記により１６進数等の数値に変換される。続いて制御部１７では、ポートで所定の数値変換がなされた信号に対して内部で動作するソフトウェアのSYSTEMによりポーリングや割込み技術等が施され、これらポーリングや割込み技術等が施された信号がDriverに供給される。続いて制御部１７では、その内部で動作するソフトウェアのDriverに供給された信号がDriverを使用しているApplicationに供給される。続いて制御部１７は、その内部のApplicationに供給された信号の内容に応じてDriver及びSYSTEMを経由して表示部１４であるＬＥＤ３２に電気的な信号を出力する。続いて制御部１７は、Switch３０の操作に応じてＬＥＤ３２の点灯・消灯動作等が制御される際に、Input Select３６でソフトウェアの分岐処理１つが行われることにより、Switch３０と通信部１５であるCommunication３３との切り替えが可能となる。このように制御部１７は、Communication３３を介して外部から入力される信号に基づく数値情報等を内部で動作するソフトウェアのSystemで記憶部１３に格納された例えばデータベース３７に記憶する。
【００３１】
図４は、テスト対象装置１０の記憶部１３に記憶される数値情報の記録方式の一例を示す図である。図４に示すテスト対象装置１０のイベントログ情報に関する記録内容は、一般的にはテーブルと呼ばれる記録方式で記録されており、１レコード単位で１行毎に記録されている。このイベントログ情報におけるData１、Data２、Data３は、例えば図３のSYSTEMがSwitch３０から受け取ったデータをDriverへ出力するデータを示している。
【００３２】
図５は、記憶部１３に記憶された取得デバイスリストに関する対応表（以下、テーブルという。）を示す図である。図５に示すテーブルは、テスト対象装置１０の入力部１１に関するデバイスリスト（Device List）と、所定のデバイスが操作された際にテストシナリオに記述されるスクリプト（Script）とがデバイスＩＤであるＮｏ１〜５に対応付けられている。具体的には、デバイスリストであるボタン（Ｎｏ１）、スライドスイッチ（Ｎｏ２）、タッチパネル（Ｎｏ３）、ジョイスティック（Ｎｏ４）、リモコン（Ｎｏ５）と、スクリプトであるCmd_Btn(D1,D2,D3)、Cmd_Sld(D1,D2,D3)、Cmd_TP(D1,D2,D3)、Cmd_Joy(D1,D2,D3)、Cmd_IR(D1,D2,D3)とがデバイスＩＤであるＮｏ１、Ｎｏ２、Ｎｏ３、Ｎｏ４及びＮｏ５にそれぞれ対応付けられている。
【００３３】
一例として、ユーザがテスト対象装置１０の入力部１１であるタッチパネルに対して所定の操作を行うと、このタッチパネルの操作に応じて制御部１７が記憶部１３に対して、図４に示す取得デバイスリストにおけるDevice List欄の「タッチパネル」に該当するＮｏ「３」を図４に示すテーブルのＮｏ１、Ｎｏ２及びＮｏ３のDevice欄に記憶する。また、制御部１７は、入力部１１での所定の操作に基づくData１、Data２及びData３が制御部１７内部のInput Select３６で検出された時刻と、直前に受信したData1〜Data3が制御部１７内部のInput Select３６で検出された時刻とから演算部１２により算出された差分時間を記憶部１３に記憶する。例えば、図４に示すテーブルのＮｏ２のTime〔μsec〕欄には、テーブルのＮｏ１に記録された１、０、３３０というData１〜Data３を受信した時刻と、Ｎｏ２に対応する１、０、２００というData１〜Data３を受信した時刻とに基づいて算出された差分時間１００が記憶されている。
【００３４】
このように、制御部１７は、入力部１１から出力された操作要素の識別情報を記憶部１３に対して記憶する際に、操作要素の識別情報を受信した時刻の全てを記録せずに、演算部１２により算出された操作要素の識別情報と、この操作要素の識別情報の直前に制御部１７が受信した操作要素の識別情報との受信時間の差分時間を操作タイミングの情報として記憶部１３に記憶することにより、記憶部１３に蓄積される情報量を削減することができる。なお、記憶部１３に記憶される数値情報の記録方式としては、上述したようなテーブル方式に限定されるものではなく他の記録方式で記憶されていてもよい。
【００３５】
次に、テスト対象装置１０の記憶部１３に記憶された操作要素の識別情報及び操作タイミングの情報が自動テスト装置２０へ送信され、この送信された操作要素の識別情報が自動テスト装置２０の記憶部２３に記憶される際の自動テストシステム１の処理動作を図６の説明図を参照して説明する。
【００３６】
図６は、テスト対象装置１０から自動テスト装置２０に操作要素の識別情報及び第１の操作タイミングの情報が送信されて記憶部２３に記憶される処理を示す説明図である。先ず製品であるテスト対象装置１０の制御部１７は、ステップＳ１０において、入力部１１から入力された操作信号に基づくイベントログ情報を通信バッファに対して記憶する。このように通信バッファにイベントログ情報を記憶することにより、テスト対象装置１０で発生するイベントが通信処理の時間に間に合わない場合に備えるともに、テスト対象装置１０が自動テスト装置２０と接続していない場合でもテスト対象装置１０でイベントの記録をし続けることが可能となる。
【００３７】
続いて制御部１７は、ステップＳ１１において、通信バッファからイベントログ情報を読み出してイベントを発行し、ＰＣである自動テスト装置２０の通信部２５がイベントログ情報を受信可能であるかどうかを確認するための確認信号を自動テスト装置２０に対して送信する。例えば、制御部１７は、記憶部１３にイベントログ情報が一定量蓄積されたことを確認すると、通信部１５を介して自動テスト装置２０の通信部２５に対して上述した確認信号を送信する。
【００３８】
自動テスト装置２０の制御部２８は、ステップＳ１２において、上述した確認信号を通信部２５から受信したことを認識すると、受信した確認信号に基づいてイベントログ情報を受信可能であるかどうかを判断し、受信可能であると判断した場合には、通信部２５を介してテスト対象装置１０の通信部１５に対してイベントログ情報を取得するための信号を送信する。なお、具体的な受信処理の説明については、後述する。
【００３９】
テスト対象装置１０の制御部１７は、ステップＳ１３において、通信部１５を介して自動テスト装置２０から送信された信号を受信すると、この信号に基づいて記憶部１３に記憶されたイベントログ情報を読み出し、このイベントログ情報を通信部１５を介して自動テスト装置２０に対して送信する。
【００４０】
自動テスト装置２０の制御部２８は、ステップＳ１４において、通信部２５を介してイベントログ情報を受信すると、この受信した操作要素の識別情報及び第１の操作タイミング情報に基づく第２の操作タイミング情報を記憶部２３に対して記憶する。以上のような処理により、テスト対象装置１０の記憶部１３に記憶されたデータが、自動テスト装置２０へ送信されて自動テスト装置２０の記憶部２３に記憶される。
【００４１】
図７は、テスト対象装置１０及び自動テスト装置２０の通信部が未接続の状態である場合のテスト対象装置１０から自動テスト装置２０に操作要素の識別情報及び第１の操作タイミングの情報が送信されて記憶部２３に記憶される処理を示す説明図である。テスト対象装置１０の制御部１７は、ステップＳ２０において、入力部１１から入力された操作信号に基づくイベントログ情報を通信バッファに対して記憶する。続いて制御部１７は、ステップＳ２１において、通信バッファからイベントログ情報を読み出してイベントを発行し、自動テスト装置２０の通信部２５がイベントログ情報を受信可能であるかどうかを確認するための確認信号を自動テスト装置２０に対して送信する。
【００４２】
通信部１５が自動テスト装置２０の通信部２５と未接続である場合には、制御部１７は、ステップＳ２２において、通信部２５と通信部１５との通信が接続されるまで通信バッファに対してイベントログ情報の記録を継続する。続いて制御部１７は、ステップＳ２３において、通信バッファからイベントログ情報を読み出し、通信部１５が自動テスト装置２０の通信部２５と接続されていると判断した場合には、通信部１５を介して自動テスト装置２０の通信部２５に対して上述した確認信号を送信する。
【００４３】
自動テスト装置２０の制御部２８は、ステップＳ２４において、通信部２５が確認信号を受信したことを認識すると、通信部２５を介してテスト対象装置１０に対してイベントログ情報を取得するための信号を送信する。
【００４４】
テスト対象装置１０の制御部１７は、ステップＳ２５において、通信部１５を介して自動テスト装置２０の通信部から送信された信号を受信すると、この信号に基づいて記憶部１３に記憶されたイベントログ情報を読み出し、通信部１５を介してイベントログ情報を自動テスト装置２０に対して送信する。ここで制御部１７は、２回分のデータ、即ち、通信部１５が自動テスト装置２０の通信部２５と接続される前に記憶部１３に記憶されていたイベントログ情報についても通信部１５を介して自動テスト装置２０の通信部２５に対して送信する。
【００４５】
自動テスト装置２０の制御部２８は、ステップＳ２６において、通信部２５を介してイベントログ情報を受信すると、この受信したデータに所定の処理を施して記憶部２３に対して記憶する。ここで、自動テスト装置２０の記憶部２３に記憶されるイベントログ情報について説明する。
【００４６】
図８は、自動テスト装置２０の記憶部２３に記憶される数値情報の記録方式の一例を示す図である。このイベントログテーブルのDate欄には、自動テスト装置２０の制御部２８がイベントログ情報を受信した年月日、Time欄には、制御部２８がイベントログ情報を受信した時刻が記憶されている。例えば、自動テスト装置２０の制御部１８は、通信部１５を介してテスト対象装置１０の通信部２５から送信された日付（Date）、時刻（Time）等に関するイベントログ情報を記憶部２３に対して記憶する。このイベントログテーブルのTime〔μsec〕欄には、制御部２８がテスト対象装置１０からイベントログ情報を受信した時刻と、このイベントログ情報の直前にイベントログ情報を受信した時刻との差分時間が記憶されている。このようにTime、Time〔μsec〕欄には、１つ前のナンバーからの差分時間が記録され続ける。次に、上述したステップＳ１４又はステップＳ２６における自動テスト装置２０の記憶動作について、フローチャートを参照して詳細に説明する。
【００４７】
図９は、自動テスト装置２０で実行されるデータ受信処理を説明するためのフローチャートである。先ずステップＳ３０において、自動テスト装置２０の制御部２８は、テスト対象装置１０の記憶部１３からイベントログ情報を受信するための受信処理を開始する。
【００４８】
ステップＳ３１において、制御部２８は、通信部２５を介してテスト対象装置１０に対して、イベントログ情報の受信処理を開始するための制御信号を出力する。
【００４９】
ステップＳ３２において、制御部２８は、テスト対象装置１０から受信したイベントログ情報が初めて受信したものか否かを判断する。制御部２８は、記憶部２３に格納されたテーブルを参照して、受信したイベントログ情報が初めて受信したものであるか否かを判断し、初めて受信した場合には、ステップＳ３３に進みイニシャル処理を行う。また、２回目以降の受信である場合には、ステップＳ３４に進む。
【００５０】
ステップＳ３３において、制御部２８は、イニシャル処理を開始する。このイニシャル処理とは、上述したステップＳ３１で受信したイベントログ情報が自動テスト装置２０側で初めて受信したイベントログ情報である場合に行う処理であり、記憶部１３に記憶されたイベントログ情報と、制御部２８がこのイベントログ情報をテスト対象装置１０から受信した時間とに基づいて、テスト対象装置１０と自動テスト装置２０との間でイベントログ情報が伝送される際に生じる反応遅れ時間を算出するための補正処理（キャリブレーション処理）である。
【００５１】
図１０は、自動テスト装置２０で実行されるイニシャル処理を説明するためのフローチャートである。先ず、制御部２８は、イニシャル処理を開始し（ステップＳ４０）、モード切替えを行ってモードをキャリブレーションモードに切替える（ステップＳ４１）。続いて、制御部２８は、デバイスリストを参照してキャリブレーションを実行し、受信したイベントログ情報に基づいて算出されたキャリブレーション値を記憶部２３のテーブルに記憶する（ステップＳ４２）。このようにして、制御部２８は、一連のイニシャル処理を終了する（ステップＳ４３）。
【００５２】
続いて再び図９に戻り、ステップＳ３４において、制御部２８は、イベントログ情報の受信処理を開始する。ここで、自動テスト装置２０がテスト対象装置１０からイベントログ情報を受信する際に実行する受信処理の詳細についてフローチャートを参照して説明する。
【００５３】
図１１は、自動テスト装置２０で実行されるシナリオ記録処理を説明するためのフローチャートである。自動テスト装置２０は、テスト対象装置１０からイベントログ情報を受信するための受信処理を開始する（ステップＳ５０）。制御部２８は、通信部２５を介してテスト対象装置１０からイベントログ情報を受信し、この受信したイベントログ情報を記憶部２３に記憶する（ステップＳ５１）。ここで、制御部２８は、受信したイベントログ情報を図８に示すテーブルとして記憶部２３に記憶する。続いて、制御部２８は、記憶部２３のテーブルを参照してデバイスリスト名やキー名等を特定する（ステップＳ５２）。続いて制御部２８は、記憶部２３のテーブルを参照して、Time〔μsec〕欄に記憶される差分時間の値が０であるか否かを判定する（ステップＳ５３）。ここで、制御部２８がデータの時間差分＝０であると判定した場合には、ステップＳ５８に進んでイベントログ情報を受信した時間の補正を行い、時間差分≠０であると判定した場合には、ステップＳ５４に進みテストシナリオの生成を開始する。
【００５４】
図１２は、自動テスト装置２０で生成されるテストシナリオの一例を示す図である。制御部２８は、演算部２２により生成されたテストシナリオを記憶部２３に記録する。具体的に、制御部２８は、連続したデータであることを示すSeries Start（）をテストシナリオの１０行目に記述し（ステップＳ５４）、続いて図５に示す記憶部２３に格納されたテーブルのScript欄の表記に従って、Data1,Data2,Data3を関数の引数に設定してCmd_TP(1,0,330)をテストシナリオの２０行目に記録する（ステップＳ５５）。また、制御部２８は、図８に示す記憶部２３に格納されたテーブルのＮｏ２のTime〔μsec〕欄の１００に基づいて時間差分を示すuWait(100)をテストシナリオの３０行目に記述する。さらに制御部２８は、テストシナリオの４０行目〜８０行目についても同様に記述する。
【００５５】
ステップＳ５６おいて、制御部２８は、テストシナリオに記述している連続したデータが終了したか否かを判定する。制御部２８が連続したデータが終了したと判定した場合には、ステップＳ５７に進み、連続したデータが終了していないと判定した場合には、ステップＳ５５に戻りシナリオの記述を継続する。
【００５６】
ステップＳ５７において、制御部２８は、ステップＳ５５と同じ要領でテストシナリオの８０行目まで記述した後に、連続したデータの終わりを示すSeries End()を９０行目に記述する。このようにして制御部２８は、１つのDeviceの種類毎やテスト対象装置１０の通信バッファに格納されたすべてのイベントログ情報を連続データとして扱い、これらの連続データに基づいてシナリオを記述する。
【００５７】
一方、ステップＳ５８において、制御部２８は、演算部２２によりステップＳ５３の判定で時間差分＝０と判定された場合の処理として、イベントログ情報を受信したときの時刻を補正する。例えば、制御部２８は、テスト対象装置１０から受信した図４に示すイベントログテーブル情報においてTime〔μsec〕欄に０が存在すると判断した場合には、図８に示すようにテスト対象装置１０からイベントログ情報を受信した日付（Date）・時間（Time）に基づいて演算部２２により算出された差分時間である４４９６７００をTime〔μsec〕欄に記憶する。
【００５８】
このようにして制御部２８は、操作要素の識別情報及び操作タイミングの情報を受信した時刻に基づいて演算部２２により算出された新たな差分時関を操作タイミングの情報として記憶部１３に記憶することにより、差分時間＝０と記憶された場合、即ちテスト対象装置１０側で時間差分を操作タイミングの識別情報として記憶できなかった場合でも操作タイミングの情報を記憶することができる。
【００５９】
ステップＳ５９において、制御部２８は、テストシナリオを記録する。具体的には、制御部２８は、図９に示すステップＳ３３のInitial処理で演算部２２により算出されたキャリブレーション処理後の値に基づいて、ステップＳ５８で算出された補正時間と上述した図１１に示す処理で算出された図１３に示すキャリブレーション値をテストシナリオの１２０行目に設定する。ここでは、キャリブレーション値として１００００〔μsec〕を設定する。
【００６０】
このように、制御部２８は、記憶部１３に記憶された操作要素の識別情報及び操作タイミングの情報とテスト対象装置１０から操作要素の識別情報及び操作タイミングの情報を受信した時間とに基づいて、演算部２２によりテスト対象装置１０と自動テスト装置２０との間で操作要素の識別情報及び操作タイミングの情報が伝送される際に生じる遅れ時間を算出し、算出された遅れ時間に基づいて演算部２２により記憶部２３に記憶された操作タイミングの情報を新たな操作タイミングの情報を算出し、操作要素の識別情報及びこの新たな操作タイミングの情報に基づいてテストシナリオを生成することにより、ユーザがテスト対象装置１０を操作したタイミングを正確に記録したテストシナリオを生成することができる。
【００６１】
ステップＳ６０において、制御部２８は、テストシナリオの記述を終了し、図９に示すステップＳ３５に進む。以上の処理により、自動テスト装置２０は、イベントログ情報の受信処理を終了する。なお、ステップＳ３５〜ステップＳ３７の処理については後述する。次に、自動テスト装置２０の制御部２８で実行されるキャリブレーション処理についてさらに詳細に説明する。
【００６２】
図１４は、自動テスト装置２０でシナリオが記述される際に実行されるキャリブレーション処理を示す説明図である。一例として場面１において実行されるキャリブレーション処理について説明する。製品であるテスト対象装置１０の入力部１１で入力操作が実行されると、制御部１７は、記憶部１３から図４に示すイベントログテーブルからイベントログ情報を読み出して、この読み出したイベントログ情報を通信部１５及び通信部２５を介してＰＣである自動テスト装置２０に送信する。ここで、テスト対象装置１０から自動テスト装置２０に信号が送信される際に反応遅れ時間が生じる（ステップＳ７１）。この反応遅れ時間は、通信部におけるデータの通信速度に応じて発生するものである。
【００６３】
演算部２２は、このように発生した反応遅れ時間を補正するためにキャリブレーション処理を行う(ステップＳ７２)。ここで、演算部２２は、以下の（１）式の関係が満たされることを前提として、テスト対象装置１０の入力部１１において操作が行われたタイミングを算出する。なお、図１４では、テスト対象装置１０の通信部１５は、記憶部１３に記憶されたイベントログ情報を図６に示すイベントログテーブルのDevice欄の分類ごとに送信するものと仮定している。
【００６４】
通信を発行する時間〔sec〕＜テスト対象装置１０及び自動テスト装置２０間のデータ伝送時間〔sec〕      （１）
【００６５】
次に、キャリブレーション処理によって反応遅れ時間を算出する方法についてより詳細に説明する。
【００６６】
図１５は、自動テスト装置２０で実行される時間補正処理を示す説明図である。テスト対象装置１０からイベントログ情報を取得するためのデータ要求信号がＰＣである自動テスト装置２０の制御部２８で生成され、この生成されたデータ要求信号が制御部２８から通信部２５及び通信部１５を介してセットであるテスト対象装置１０に送信される（ステップＳ７３）。ここで、自動テスト装置２０からテスト対象装置１０にデータ要求信号が到達するまでに、反応遅れ時間Ｗが遅れ時間として発生する。
【００６７】
続いてテスト対象装置１０は、自動テスト装置２０からから受信したデータ要求信号に基づいて、イベントログ情報を自動テスト装置２０に送信する（ステップＳ７５、ステップＳ７６）。例えば、制御部１７は、自動テスト装置２０の通信部２５から受信した１回目のデータ要求信号に基づいて、記憶部１３からイベントログ情報を読み出し、このイベントログ情報を２回に分けて連続して通信部１５及び通信部２５を介して自動テスト装置２０に送信する。
【００６８】
また、自動テスト装置２０は、テスト対象装置１０から送信された２回目のデータ要求信号を受信する（ステップＳ７４）。この２回目のデータ要求信号は、自動テスト装置２０から送信された１回目のデータ要求信号からａという時間をおいてテスト対象装置１０に送信されている。制御部２８は、受信した２回目のデータ要求信号に基づいて記憶部１３からイベントログ情報を読み出し、このイベントログ情報を例えば２回に分けて連続して通信部１５及び通信部２５を介して自動テスト装置２０に送信する（ステップＳ７７、ステップＳ７８）。
【００６９】
このようにテスト対象装置１０から通信部１５及び通信部２５を介して自動テスト装置２０に送信されたイベントログ情報のうち、最初に２回連続で送信された処理Ｓ７５、処理Ｓ７６に相当するイベントログ情報は、それぞれｖ１、ｖ２という時間に自動テスト装置２０の制御部２８が検出する。ここで、ｖ１及びｖ２のデータ間には、上記（１）に示すように通信部２５及び通信部１５における通信速度に起因した反応遅れ時間Ｖが発生する。また、２回目のデータ要求信号に対応したステップＳ７７、ステップＳ７８に相当するイベントログ情報ついても同様に所定の遅れ時間が発生し、テスト対象装置１０から自動テスト装置２０にそれぞれ送信される。
【００７０】
以上のように、自動テスト装置２０及びテスト対象装置１０の間でデータ要求信号及びイベントログ情報が送受信される際に、イベントログ情報ｖ１とｖ２との差分時間が戻り遅れ時間Ｖであるとした場合に以下の式が成立する。
Ｖ＝ｖ２−ｖ１              （２）
Ｗ＝ｊ−ａ−Ｖ              （３）
【００７１】
ここで、ｎは、任意に設定される値であり、ｖ１、ｖ２はそれぞれ自動テスト装置２０の制御部２８がイベントログ情報を検出した時間であり、ｊは、自動テスト装置２０から送信されるイベントログ情報の差分時間ａと、テスト対象装置１０から自動テスト装置２０にイベントログ情報を送信するときに要する時間と、テスト対象装置１０でｎ個連続のイベントログ情報を送信する時間とからなる。即ちｊは、自動テスト装置２０から送信された所定のデータ要求信号に基づいて通信部２５が最初のイベントログ情報を受信して制御部２８が検出するまでの時間である。また、ａは、自動テスト装置２０で発生させたイベントの差分時間である。さらに、図１５に示すｂは、テスト対象装置１０でｎ回イベントを受信し始めてから受信が終了するまでの差分時間である。テスト対象装置１０でｎ個連続のイベントを送信する時間がＷより十分に小さいときは、（３）式に示すように反応遅れ時間Ｗを算出することができる。
【００７２】
このように、自動テスト装置２０の制御部２８は、データ要求信号に基づいてテスト対象装置１０からｎ回連続して送信されたイベントログ情報を受信するまでの遅れ時間の平均値Ｖを算出し、このＶに基づいて自動テスト装置２０からテスト対象装置１０にデータ要求信号が送信される際の通信部２５における反応遅れ時間Ｗを算出することにより、ユーザがテスト対象装置１０を操作したタイミングを正確に記録したテストシナリオを生成することができる。また、テスト対象装置１０から自動テスト装置２０にｎ回連続でイベントログ情報を送信する際に、例えばｎを５回や１０回としてキャリブレーションの通信を行うことにより、ｎが１回のみで決めるよりも精度がより高い補正データを取得することができる。
【００７３】
図１６は、本実施の形態における自動テスト装置２０で実行される時間補正処理を示す説明図である。ステップＳ７９、ステップＳ８０、ステップＳ８１、ステップＳ８２における処理は、それぞれ図１５のステップＳ７３、ステップＳ７４、ステップＳ７５、ステップＳ７６の処理に相当するものであり、差分時間ａの間に自動テスト装置２０からｎ回連続でテスト対象装置１０にイベントログ情報を送信している点が図１５に示す時間補正処理と異なる。この場合においても、テスト対象装置１０から自動テスト装置２０へデータを送信する際の反応遅れ時間Ｗを算出することができる。
【００７４】
また、ｎ回連続で自動テスト装置２０からテスト対象装置１０にイベントログ情報を送信することにより、精度がより高い補正データを取得することができる。
【００７５】
次に、自動テスト装置２０を操作するテストシナリオを生成する際に、自動テストで確認する内容（以下、確認イベントという。）をシナリオに記述処理について説明する。
【００７６】
図１７は、確認イベントを追加するための構成を示す図である。また、図１８は、自動テスト装置２０の表示部２４に表示されるＧＵＩ画面の一例を示す図である。本実施形態では、図１７に示すようにＰＣである自動テスト装置２０と接続されたテスト対象装置１０とは別の釦４０を設ける方法や、図１８に示すような自動テスト装置２０における表示部２４のＧＵＩ画面上に「期待値取得方法」の釦を表示させる方法により、確認イベントを追加する処理が実行される。ここで、期待値とは、表示部２４で各種表示を実現するため、対象機器内で表示される形状や位置等の正常状態を確認する期待情報をいう。この期待情報は、例えば記憶部２３にリストとして記憶されている。また、期待情報は、テスト対象装置１０の記憶部１３に記憶されていてもよい。この場合には、記憶部１３は、例えばVRAMやFrame Buffer等と呼ばれるメモリ領域からメモリコピーにより自動テスト装置２０へコピーする方法や、記憶部１３のROMに登録された画像ファイルを利用する方法を用いることができる。
【００７７】
図１９は、自動テスト装置２０の演算部２２により生成された確認イベントがシナリオとして追加記述されたテストシナリオの一例を示す図である。ここで、図９に示すフローチャートを再度参照して、確認イベントをテストシナリオに追加する際の処理について説明する。自動テスト装置２０の制御部２８は、演算部２２によりテストシナリオが生成される際に、例えば釦４０の操作に基づいて確認イベントを追加する処理が必要か否かを判断する（ステップＳ３５）。制御部２８は、上述した確認イベントをテストシナリオに追加するための操作に基づいて確認イベントの追加記録が必要であると判断した場合にはステップＳ３６の処理に進み、確認イベントの追加記録が必要でないと判断した場合にはステップＳ３７の処理に進む。制御部２８は、ステップＳ３６において、確認イベントをテストシナリオに追加するための処理を実行する。ここで、制御部２８が実行する確認イベントを追加する処理について説明する。
【００７８】
図２０は、確認イベントを追加する処理を説明するためのフローチャートである。先ず制御部２８は、確認イベントの追加処理を開始し（ステップＳ９０）、上述した図１８に示す表示部２４に表示されたＧＵＩ画面の期待値取得方法において確認イベント追加処理を手動で行うか自動で行うかを入力部２１の操作に基づいて判断する（ステップＳ９１）。制御部２８は、ステップＳ９１の判断の結果、期待値取得方法として「Manual」が選択された場合にはステップＳ４２の処理に進み、期待値取得方法として「Auto」が選択された場合にはステップＳ９４の処理に進む。
【００７９】
ステップＳ９２において、手動により確認イベント追加処理を行うための設定操作が実行される。具体的に制御部２８は、入力部２１での操作に基づいて表示部２４に表示された図１８に示すManual取得のＧＵＩ画面から「Record」が選択されると、確認イベントに関するシナリオの記録を開始する。
【００８０】
ステップＳ９３において、確認イベントに関するシナリオの追加記録が実行される。具体的に制御部２８により図１９に示すテストシナリオの１３０行目にCmd_Btn(2,0,4)が記述されたとき、ユーザによって上述した確認イベントを追加記録するための釦操作がなされると、制御部２８は、自動テストで確認するための内容が図１９に示すテストシナリオの１４０行目のChk_Img(20,100,ICON_1.png)及び１５０目のChk_Img(100,100,MSG_1.png)として記述する。また、制御部２８は、上述した確認イベントをテストシナリオに記述する際に、操作スクリプトを実行履歴として記憶部２３に記述する。また、制御部２８は、同様にしてテストシナリオの１７０行目にはChk_Img(20, 100, ICON_1.png)を、１９０行目にはChk_Data(FF,EE)をそれぞれ記述する。
【００８１】
図２１は、実行履歴として記憶部２３に記憶される操作スクリプトの一例を示す図である。制御部２８は、Operate Scriptとして、Cmd_Bnt(2,0,4)、Cmd_Bnt(2,0,5)及びCmd_Bnt(2,0,6)という操作スクリプトを、ＩＤ１、ＩＤ２及びＩＤ３として記憶する。また、制御部２８は、選択された期待値を期待値履歴として記憶する。
【００８２】
図２２は、期待情報の履歴を示す図である。例えば、期待値の履歴に関するテーブルのTest Script（テストスクリプト）と、期待値ｋ１、期待値ｋ２、期待値ｋ３・・・が、上述した図２１に示す実行履歴におけるＩＤ及びOperate Script（操作スクリプト）に対応付けて記憶部２３に記憶されている。ここで、期待値ｋ１、期待値ｋ２は、例えば後述する図２５のＧＵＩ画面に表示される図２３の画像の左上部分のＸ、Ｙ座標を示す情報である。例えば、ＩＤ１としては、Test Script、期待値ｋ１、期待値ｋ２及び期待値ｋ３の欄にChk_Img(1,2,3)、２０、１００、ICON_1.pngtがそれぞれ図２１に示す実行履歴のCmd_Btn(2,0,4)というOperate Scriptに対応付けられている。同様にＩＤ２としては、Test Script、期待値ｋ１、期待値ｋ２及び期待値ｋ３の欄にChk_Img(1,2,3)、１００、１００、MSG_1.pngがそれぞれ図２１に示すCmd_Btn(2,0,4)というOperate Scriptに対応付けられている。またＩＤ３としては、Test Script、期待値ｋ１、期待値ｋ２及び期待値ｋ３の欄にChk_Img(1,2,3)、２０、１００、ICON_1.pngがそれぞれ図２１に示すCmd_Btn(2,0,5)というOperate Scriptに対応付けられている。さらにＩＤ４としては、Test Script、期待値ｋ１及び期待値ｋ２の欄にChk_Data(1,2)、ＦＦ、ＥＥがそれぞれ図２１に示すCmd_Btn(2,0,6)というOperate Scriptに対応付けられている。
【００８３】
図２３及び図２４は、期待情報として選択された画像の一例を示す図である。この図２３及び図２４に示す画像情報は、記憶部２３に記憶されており、上述した図２４に示す期待値ｋ３の欄のICON_1.png、MSG_1.pngに相当するものである。
【００８４】
図２５は、ＧＵＩ画面の一例を示す図である。この図２５に示すＧＵＩ画面では、例えば上述したステップＳ９２の設定操作が行われる際に、矢印で選択された図２３に示す画像が期待値として記憶部２３に記憶される。
【００８５】
このようにして、自動テストシステム１は、自動テスト装置に接続され、操作要素の識別情報に基づくスクリプト情報及びテスト操作を確認するための期待情報を出力するための入力部を備え、操作要素の識別情報に基づくスクリプト情報及び期待情報に基づいてテストシナリオに確認イベントに関するシナリオを追加することにより、演算部２２が生成した確認イベントを制御部２８が記憶部２３に登録することを容易に行うことができる。したがって、シナリオを作成する際のテストシナリオを作成する際の時間を短縮することができる。
【００８６】
一方、ステップＳ９１で期待値取得方法として「Auto」が選択された場合には、ステップＳ９４の処理において、制御部２８は、上述した図２１及び図２２に示す操作スクリプトや期待値に関する実行履歴を記憶部２３から検索する。
【００８７】
ステップＳ９５において、制御部２８は、記憶部２３から実行履歴を検索した結果、実行履歴が表示された場合にはステップＳ９６の処理に進み、実行履歴を検索した結果実行履歴が表示されなかった場合にはステップＳ９７の処理に進む。
【００８８】
ステップＳ９６において、予め記憶部２３に実行履歴が記憶されている場合には、実行履歴が自動テスト装置２０の表示部２４に表示される。
【００８９】
図２６は、期待値の履歴に基づく候補情報を示す図である。この候補履歴に関するテーブルは、記憶部２３に記憶されている。制御部２８は、演算部２２により上述した図１９に示すテストシナリオが生成される際に、このテストシナリオの１３０行目のCmd_Btn(2,0,4)が記録された時点で実行履歴の中から図２６に示すＩＤ１及びＩＤ２に関するイベントログ情報を記憶部２３から読み出し、読み出したイベントログ情報を表示部２４に履歴候補として表示する。制御部２８は、このように表示部２４に表示された履歴候補から所定の履歴候補が選択されると、この選択操作に応じて記憶部２３から該当するスクリプトを読み出し、演算部２２により図１９に示すテストシナリオの１４０行目にChk_Img(20,100,ICON_1.png)、１５０行目にChk_Img(100,100,MSG_1.png)が自動的に記述される。
【００９０】
このようにして自動テスト装置２０は、制御部２８が演算部２２によりテストシナリオを生成する際に、記憶部２３に記憶された期待値候補リストのテストスクリプト及び期待値を読み出してテストシナリオに追加することにより、操作シナリオ生成時に確認シナリオも同時に生成することができる。したがって、テストシナリオを作成又は編集する際に要する時間を削減することができる。
【００９１】
ここで、上述したように表示部２４に期待値の履歴候補を表示させる場合には、ユーザの利用頻度が最も高いＩＤに関するイベントログ情報を表示させたり、スクリプトの履歴のパターンから、いわゆる漢字変換のアルゴリズムに基づいて履歴候補を表示するためのプログラムを記憶部２３に格納することにより、使用勝手を向上させることが可能となる。以上に説明した処理により、制御部２８は、テスト対象装置１０からのデータ受信処理を終了する（ステップＳ４７）。
【００９２】
なお、テーブルを外部のネットワーク上で管理するようにしてもよく、これにより、あるユーザが追加・修正したシナリオを他の自動テスト装置も参照して使用することができるため、他の複数のユーザも追加・修正されたシナリオを使用することができる。
【図面の簡単な説明】
【００９３】
【図１】本発明の実施の形態における自動テストシステムの構成を示すブロック図である。
【図２】テスト対象装置の内部動作を模式的に示す図である。
【図３】自動テスト装置でテストシナリオを生成するためのスクリプトを記憶部２３に対して記憶する際の動作を模式的に示す図である。
【図４】テスト対象装置の記憶部に記憶された数値情報の記録方式の一例を示す図である。
【図５】記憶部に記憶されたテーブルを示す図である。
【図６】テスト対象装置から自動テスト装置に操作要素の識別情報及び第１の操作タイミングの情報が送信されて記憶部に記憶される処理を示す説明図である。
【図７】テスト対象装置及び自動テスト装置の通信部が未接続の状態である場合のテスト対象装置から自動テスト装置に操作要素の識別情報及び第１の操作タイミングの情報が送信されて記憶部に記憶される処理を示す説明図である。
【図８】自動テスト装置の記憶部に記憶される数値情報の記録方式の一例を示す図である。
【図９】自動テスト装置で実行されるデータ受信処理を説明するためのフローチャートである。
【図１０】自動テスト装置で実行されるイニシャル処理を説明するためのフローチャートである。
【図１１】自動テスト装置で実行されるシナリオ記録処理を説明するためのフローチャートである。
【図１２】自動テスト装置で生成されるテストシナリオの一例を示す図である。
【図１３】キャリブレーション値のテーブルの一例を示す図である。
【図１４】自動テスト装置でシナリオが記録される際に実行されるキャリブレーション処理を示す模式図である。
【図１５】自動テスト装置で実行される時間補正処理を示す説明図である。
【図１６】自動テスト装置で実行される時間補正処理を示す説明図である。
【図１７】確認イベントシナリオを追加するための構成を示す図である。
【図１８】自動テスト装置の表示部におけるＧＵＩ画面を示す図である。
【図１９】自動テスト装置の演算部により生成される確認イベントがシナリオとして追加記述されたテストシナリオの一例を示す図である。
【図２０】確認イベントを追加する処理を説明するためのフローチャートである。
【図２１】実行履歴として記憶部に記憶される操作スクリプトの一例を示す図である。
【図２２】期待情報の履歴を示す図である。
【図２３】期待情報として選択された画像の一例を示す図である。
【図２４】期待情報として選択された画像の一例を示す図である。
【図２５】ＧＵＩ画面の一例を示す図である。
【図２６】期待値情報の履歴に基づく候補情報を示す図である。
【符号の説明】
【００９４】
１０  テスト対象装置、１１，２１  入力部、１２，２２  演算部、１３，２３  記憶部、１４，２４  表示部、１５，２５  通信部、１６  画像出力部、１７，２８  制御部、２０  自動テスト装置、２６  画像処理部、２７  画像取込部
【図１】
2009116535.tif 000003
【図２】
2009116535.tif 000004
【図３】
2009116535.tif 000005
【図４】
2009116535.tif 000006
【図５】
2009116535.tif 000007
【図６】
2009116535.tif 000008
【図７】
2009116535.tif 000009
【図８】
2009116535.tif 000010
【図９】
2009116535.tif 000011
【図１０】
2009116535.tif 000012
【図１１】
2009116535.tif 000013
【図１２】
2009116535.tif 000014
【図１３】
2009116535.tif 000015
【図１４】
2009116535.tif 000016
【図１５】
2009116535.tif 000017
【図１６】
2009116535.tif 000018
【図１７】
2009116535.tif 000019
【図１８】
2009116535.tif 000020
【図１９】
2009116535.tif 000021
【図２０】
2009116535.tif 000022
【図２１】
2009116535.tif 000023
【図２２】
2009116535.tif 000024
【図２３】
2009116535.tif 000025
【図２４】
2009116535.tif 000026
【図２５】
2009116535.tif 000027
【図２６】
2009116535.tif 000028