(57)【要約】【課題】既知のエラー前ログを予め登録しなくても、テスト対象装置のエラー原因を早期に特定する情報を得ることができること。【解決手段】テスト対象機器の動作をテストするテスト装置おいて、前記テスト対象機器が出力したログを取得するログ取得部と、前記テスト対象機器のエラーを検出するエラー検出部と、前記エラー検出部がエラーを検出する前に前記ログ取得部が取得したログであるエラー前ログを特定してエラー前ログ記憶部に記憶するエラー前ログ特定部と、前記テスト対象機器が出力するログから前記エラー前ログ記憶部が記憶するエラー前ログと同一のログを検出するエラー前ログ検出部と、前記エラー前ログ検出部がエラー前ログと同一のログを検出すると、デバッグを開始するデバッグ部とを備える。【選択図】図２
2009277060.tif 000002
【特許請求の範囲】
【請求項１】
テスト対象機器の動作をテストするテスト装置おいて、
前記テスト対象機器が出力したログを取得するログ取得部と、
前記テスト対象機器のエラーを検出するエラー検出部と、
前記エラー検出部がエラーを検出する前に前記ログ取得部が取得したログであるエラー前ログを特定してエラー前ログ記憶部に記憶するエラー前ログ特定部と、
前記テスト対象機器が出力するログから前記エラー前ログ記憶部が記憶するエラー前ログと同一のログを検出するエラー前ログ検出部と、
前記エラー前ログ検出部がエラー前ログと同一のログを検出すると、デバッグを開始するデバッグ部と
を備えるテスト装置。
【請求項２】
前記デバッグ部が開始するデバックは、前記テスト対象機器の動作を停止させることであることを特徴とする請求項１に記載のテスト装置。
【請求項３】
前記デバッグ部が開始するデバックは、前記テスト対象機器の状態に関する情報を取得することであることを特徴とする請求項１乃至請求項２に記載のテスト装置。
【請求項４】
前記エラー検出部が検出するエラーは、テスト対象機器が停止することであることを特徴とする請求項１乃至請求項３のいずれか１の項に記載のテスト装置。
【請求項５】
テスト対象機器の動作をテストするテスト方法おいて、
前記テスト対象機器が出力したログを取得する第１の過程と、
前記テスト対象機器のエラーを検出する第２の過程と、
前記エラーを検出する前に取得したログであるエラー前ログを特定して記憶する第３の過程と、
前記テスト対象機器が出力するログから第３の過程にて記憶したエラー前ログと同一のログを検出する第４の過程と、
前記エラー前ログと同一のログを検出すると、デバッグを開始する第５の過程と
を有するテスト方法。
【請求項６】
テスト対象機器の動作をテスト装置のコンピュータに、
前記テスト対象機器が出力したログを取得する手段、
前記テスト対象機器のエラーを検出する手段、
前記エラーを検出する前に取得したログであるエラー前ログを特定してエラー前ログ記憶部に記憶する手段、
前記テスト対象機器が出力するログから前記エラー前ログ記憶部が記憶するエラー前ログと同一のログを検出する手段、
前記エラー前ログと同一のログを検出すると、デバッグを開始する手段
として機能させるテストプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器のテスト装置、テスト方法、及びテストプログラムに関する。
【背景技術】
【０００２】
近年、電子機器の多機能化、複雑化により、市場出荷前に電子機器の評価試験を人手で行うには、膨大なる手間と時間とを要するようになっている。そこで、電子機器の評価試験をコンピュータ等で行う自動化が試みられている。特許文献１には、不具合を示すコードを予め記憶し、テスト対象機器が出力したログ中の不具合を示すコードを検出すると、実行中の特定のテストケースをさらに繰り返すことなく、中断して別のテストケースを開始するべく、テストの手順を変更するテスト装置が記載されている。
【特許文献１】特開２００７−５２７３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述した従来のテスト装置では、既知の異常（エラー）を示すコード（エラー発生直前のログ、以下、エラー前ログという）を予め登録しなければならない。よって、該テスト装置には、エラー前ログが不明な場合、既知のエラー前ログが誤っていた場合、エラー前ログが存在しない場合には、ログからエラーを検出できないという欠点がある。
例えば、テスト対象機器が大規模な開発によって開発された場合、納期の制約等により、エラー前ログの仕様が十分に共有されず、エラー前ログが不明確となる。また、プログラムミスによりエラーログを誤り、既知のエラーログが誤ったコードとなる。さらに、テスト対象機器の設計時に予期せぬエラーなど、全てのエラーに対応するために十分なエラー前ログを出力していない場合、エラーログが存在しない。これらの場合には、エラーを検出できない。
また、上述した従来のテスト装置では、開発者は、収集したログを解析してエラーの原因を判断する。しかし、ログの情報は、原因を特定する情報が少なく、また、予め決めたタイミングで出力されるので膨大な量のログから原因を特定しなければならないことがあり、エラーの原因を早期に特定できないことも多い。
さらに、上述した従来のテスト装置では、装置が停止する異常が発生すると、ログの出力ができず、異常の原因を判断する情報を得ることができないという欠点もある。
【０００４】
本発明は上記の点に鑑みてなされたものであり、その目的は、既知のエラー前ログを予め登録しなくても、テスト対象装置のエラー原因を早期に特定する情報を得ることができるテスト装置を提供することにある。
【課題を解決するための手段】
【０００５】
（１）本発明は上記の課題を解決するためになされたものであり、その一態様は、テスト対象機器の動作をテストするテスト装置おいて、前記テスト対象機器が出力したログを取得するログ取得部と、前記テスト対象機器のエラーを検出するエラー検出部と、前記エラー検出部がエラーを検出する前に前記ログ取得部が取得したログであるエラー前ログを特定してエラー前ログ記憶部に記憶するエラー前ログ特定部と、前記テスト対象機器が出力するログから前記エラー前ログ記憶部が記憶するエラー前ログと同一のログを検出するエラー前ログ検出部と、前記エラー前ログ検出部がエラー前ログと同一のログを検出すると、デバッグを開始するデバッグ部とを備える。
上記構成によると、エラー検出部がエラーを検出し、エラー前ログ特定部が前記エラー前ログを特定し、エラー前ログ検出部が、テスト対象機器が出力するログからエラー前ログと同一のログを検出するので、テスト装置は、既知のエラー前ログを予め登録しなくても、ログからエラー発生直前の状態を検出することができる。よって、テスト装置は、エラー前ログが不明な場合、既知のエラー前ログが誤っていた場合、エラー前ログが存在しない場合でも、エラー発生直前の状態を検出することができる。
また、エラー前ログ検出部が、エラー前ログと同一のログを検出すると、デバッグ部がデバッグ、例えば、テスト対象機器を停止し、テスト対象機器の状態に関する情報を取得する。これにより、テスト装置は、テスト対象装置のエラーの原因を特定するために必要な詳細情報を、エラーの原因特定に有益なエラー発生直前のタイミングで取得することができ、エラーの原因を早期に特定することができる。
【０００６】
（２）また、本発明の一態様は、前記デバッグ部が開始するデバックは、前記テスト対象機器の動作を停止させることである。
上記構成によると、エラーが発生する直前のエラー前ログを特定し、エラー前ログを検出した時点で、テスト対象機器を停止するので、テスト対象機器がエラーを発生する直前の状態を保存することができる。
【０００７】
（３）また、本発明の一態様は、前記デバッグ部が開始するデバックは、前記テスト対象機器の状態に関する情報を取得することである。
上記構成によると、エラーが発生する直前のエラー前ログを特定し、エラー前ログを検出した時点で、テスト対象機器の状態に関する情報を取得するので、エラーが発生する直前のタイミングでテスト対象器の詳細情報を得ることができる。
【０００８】
（４）また、本発明の一態様は、前記エラー検出部が検出するエラーは、テスト対象機器が停止することである。
上記構成によると、テスト対象機器が停止するエラー（ハングアップ）が発生する前のエラー前ログを特定し、該ログと同一のログを検出、つまり、ハングアップが発生する前に、テスト対象器の動作を停止させているので、テスト対象機器が停止して、テストを中断せざるを得ない状況を回避することができる。
【０００９】
（５）また、本発明の一態様は、テスト対象機器の動作をテストするテスト方法おいて、
前記テスト対象機器が出力したログを取得する第１の過程と、前記テスト対象機器のエラーを検出する第２の過程と、前記エラーを検出する前に取得したログであるエラー前ログを特定して記憶する第３の過程と、前記テスト対象機器が出力するログから第３の過程にて記憶したエラー前ログと同一のログを検出する第４の過程と、前記エラー前ログと同一のログを検出すると、デバッグを開始する第５の過程とを有する。
【００１０】
（６）また、本発明の一態様は、テスト対象機器の動作をテスト装置のコンピュータに、前記テスト対象機器が出力したログを取得する手段、前記テスト対象機器のエラーを検出する手段、前記エラーを検出する前に取得したログであるエラー前ログを特定してエラー前ログ記憶部に記憶する手段、前記テスト対象機器が出力するログから前記エラー前ログ記憶部が記憶するエラー前ログと同一のログを検出する手段、前記エラー前ログと同一のログを検出すると、デバッグを開始する手段として機能させる。
【発明の効果】
【００１１】
本発明によれば、エラーを検出してエラーを検出する前のログであるエラー前ログを特定して記憶しておき、テスト対象機器が出力するログからエラー前ログと同一のログを検出すると、デバッグを開始するので、既知のエラーログを予め登録しなくても、テスト対象装置のエラー原因を特定するために必要な詳細情報を得ることができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して本発明の実施形態について詳しく説明する。図１は、本実施形態に係る電子機器のテストシステムの構成装置を示す模式図である。
【００１３】
テストシステムは、パーソナルコンピュータ（ＰＣ：Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）１（テスト装置）、テレビジョン受像機２（テスト対象機器）、テレビジョン受像機２のアイス（ＩＣＥ：Ｉｎ−Ｃｉｒｃｕｉｔ  Ｅｍｕｌａｔｏｒ、インサーキットエミュレータ)３（デバッグ機器）、ＩＲ（ＩｎｆｒａＲｅｄ、赤外線）送信機４（学習リモコン）、マイク５、及びＷＥＢカメラ６を含んで構成される。パーソナルコンピュータ１と各装置とは、ＲＳ−２３２Ｃケーブル、ＵＳＢケーブルマイクケーブルといった各種ケーブルで接続されている。
【００１４】
パーソナルコンピュータ１は、後述するテストを実行する自動テストプログラムと、アイス３を制御するデバッグ機器(アイス)制御プログラムを実行する。パーソナルコンピュータ１は、ＩＲ送信機４、ＷＥＢカメラ６等の各装置を制御してテレビジョン受像機２のテストを実行する。また、パーソナルコンピュータ１は、テスト対象機器２のアイス３を介して、テレビジョン受像機２を制御する。
【００１５】
アイス３は、テレビジョン受像機２の動作を制御する。また、アイス３は、テレビジョン受像機２のデバッグを行う際、テレビジョン受像機２の動作を停止させる。
【００１６】
ＩＲ送信機４は、テレビのテスト内容に応じて、テレビジョン受像機２にテレビ放送用チャネルを切り替えさせ、又は、メニューを表示させる等の操作を実行させる赤外線リモコン信号を送信する。マイク５は、テレビジョン受像機２をテストする際、テレビスピーカーが発する音響を録音し、音響データとして取得する。ＷＥＢカメラ６は、テレビジョン受像機２の画面を撮像し、画像データとして取得する。
【００１７】
図２は、本実施形態に係るテストシステムを示す概略的ブロック図である。テストシステムは、パーソナルコンピュータ１、テレビジョン受像機２、アイス３、ＩＲ送信機４、マイク５、及びＷＥＢカメラ６を含んで構成される。
パーソナルコンピュータ１に含んで構成されるシナリオ実行・制御部１１、シナリオ記憶部１１１、シナリオ実行結果記憶部１１２、エラー検出部１１３、音響取得・判定部１１３１、画像取得・判定部１１３２、テスト実行部１１４、リモコン信号送信部１２、ログ取得部１３、エラー前ログ特定部１４、エラー前ログ記憶部１５、及びエラー前ログ検出部１６は、テストを実行する自動テストプログラムを実行することで機能する。
また、パーソナルコンピュータ１に含んで構成されるデバッグ部１７は、デバッグ機器(アイス)制御プログラムを実行することで機能する。
【００１８】
ここで、シナリオとは、テレビジョン受像機２を操作するコマンドの手順、テレビジョン受像機２の異常を判定するコマンドの手順を記録したファイルを意味する。例えば、電源を切る→電源を入れる→１０秒待つ→メニューキー押下等の各コマンドが手順に従ってデータファイルに記憶されている（図４〜７）。
【００１９】
シナリオ実行・制御部１１は、エラー検出部１１３とテスト実行部１１４を含んで構成される。例えば、後述するように、テスト実行部１１４はメインシナリオ、エラー検出部１１３はハングアップ判定シナリオをそれぞれ読み出してシナリオ中のコマンドを順次実行する。
また、シナリオ実行・制御部１１は、シナリオの実行結果を実行結果記憶部１１２に記憶させる。
シナリオ実行・制御部１１は、シナリオ中のコマンドを実行した結果である、コマンドの実行時間、コマンドの内容、変数の値、後述する撮像した画像データのファイル名、及び、画像データ・音響データ等を、シナリオ実行履歴データとしてシナリオ実行結果記憶部１１２に記録する。該シナリオ実行履歴データは、テキストファイルなどのファイルとして保存してもよい。
【００２０】
シナリオ実行・制御部１１は、エラー前ログ検出部１６がエラー前ログと同一のログを検出すると、テストの中断や再開等の制御を行う。
また、シナリオ実行・制御部１１は、テレビジョン受像機２が停止するエラー（以下、「ハングアップ」という）が発生すると、テストを中断する。そして、シナリオ実行・制御部１１は、例えば、テレビジョン受像機２の電源を切り、再度、電源を入れることにより、テレビジョン受像機２をテスト可能な状態に戻して、シナリオ中の前記ハングアップが発生して中断した次のコマンドから実行する。
なお、ハングアップとは、例えば、テレビジョン受像機２のリモコンを操作してテレビジョン受像機２に動作命令をしても、テレビジョン受像機２が動作しないような場合のエラーである。また、シナリオ実行・制御部１１は、ハングアップが発生してテストを中断した場合、他のシナリオ呼び出して実行することにより、別のテスト内容を実施してもよい。
【００２１】
リモコン信号送信部１２は、シナリオ実行・制御部１１から入力された前記操作コマンドに従い、リモコン信号データをＩＲ送信機４へ送信する。ＩＲ送信機４はリモコン信号データを受けると、赤外線信号をテレビジョン受像機２に送信する。具体的に、リモコン信号送信部１２は、例えば、赤外線信号により、テレビジョン受像機２の画面に、テレビジョン受像機２の機能一覧であるメニュー画像を表示させ、または、テレビ放送用チャンネルを変更させる等を行わせる。
【００２２】
エラー検出部１１３は、音響取得・判定部１１３１と画像取得・判定部１１３２とを含んで構成され、テレビジョン受像機２のエラーを検出する。ここで、エラーとは、テスト機器が想定される正常な動作以外の動作をした状態をいう。すなわち、テスト機器が予め決めた正常な動作をしなかった状態や、テスト機器が予め決めた異常な動作をした状態をいう。
そして、エラー検出部１１３は、エラーを検出すると、エラー前ログ特定部１４にエラーを検出した旨の情報であるエラー検出情報を出力する。
【００２３】
音響取得・判定部１１３１は、音響取得コマンドを実行して、テスト対象機器２の発する音響をマイクから音響データとして取得し、保存する。そして、音響取得・判定部１１３１は、音量判定コマンドを実行して取得した音響データから音量を計測して平均し、シナリオ記憶部１１２が記憶する期待音量と大きさを比較して判定をする。例えば、音響取得・判定部１１３１は、テレビジョン受像機２の発する音響の音量が期待音量より小さい場合をエラーとし、テレビジョン受像機２の異常を検出する。
【００２４】
画像取得・判定部１１３２は、画像取得コマンドを実行して、テレビジョン受像機２の画面をＷＥＢカメラ６で撮像し、画像（以下、取得画像という）データとして保存する。そして、画像取得・判定部１１３２は、画像判定コマンドを実行して取得画像データとシナリオ記憶部１１２が記憶する期待値画像データと比較をする。
【００２５】
例えば、画像取得・判定部１１３２は、前記期待値画像データに含まれる画像判定を行う領域を表わす矩形領域情報、期待値画像、及び比較判定に使用する閾値を判定に用いる。
図３は、本実施形態に係る画像判定を説明する説明図である。この図は、テレビジョン受像機２の画面の一部を撮像等した画像であり、前記矩形領域情報は、図中の判定範囲を示す。画像取得・判定部１１３２は、期待値画像と取得画像との判定範囲について、位置が対応する画素毎にＹ（輝度）成分、Ｃｂ（青色の色差）成分、Ｃｒ（赤色の色差）成分の値について差分を取る。そして、画像取得・判定部１１３２は、判定範囲に含まれる全ての画素について、Ｙ成分、Ｃｂ成分、Ｃｒ成分の値の差分を、成分毎に平均し、前記閾値と比較をして判定する。
【００２６】
具体的に、図３の左に示す期待値画像と図３の右に示す取得画像との前記判定範囲にそれぞれ、横軸ｘと縦軸ｙをとって、画素を単位とした位置座標を考える。期待値画像の前記判定範囲にある座標（ｘ，ｙ）の画素のＹ成分、Ｃｂ成分、Ｃｒ成分をそれぞれ Ｙｒ（ｘ，ｙ）、Ｃｂｒ（ｘ，ｙ）、Ｃｒｒ（ｘ，ｙ）とし、取得画像の対応する画素のＹ成分、Ｃｂ成分、Ｃｒ成分をそれぞれ Ｙ（ｘ，ｙ）、Ｃｂ（ｘ，ｙ）、Ｃｒ（ｘ，ｙ）とする。
例えば、図３の左に示す期待値画像の画素の各成分は、Ｙｒ（１，１）、Ｃｂｒ（１，１）、Ｃｒｒ（１，１）であり、図３の右に示す取得画像の対応する画素は、Ｙ（１，１）、Ｃｂ（１，１）、Ｃｒ（１，１）である。
画像取得・判定部１１３２は、期待値画像と取得画像との判定範囲にある画素のＹ成分、Ｃｂ成分、Ｃｒ成分、及び、Ｙ成分、Ｃｂ成分、Ｃｒ成分の前記閾値を用いて、以下の式１〜式３によりエラーを検出する。すなわち、期待値画像と取得画像との各成分の差分を、判定範囲の領域にある画素について全て取ったものの平均値が、各成分の閾値より小さいという式１〜式３を用いて判定する。
【００２７】
【数１】
2009277060.tif 000003
【００２８】
【数２】
2009277060.tif 000004
【００２９】
【数３】
2009277060.tif 000005
【００３０】
画像取得・判定部１１３２は、式１、式２、式３が１つでも満たされなかった場合には、エラーとし、テレビジョン受像機２の異常を検出する。
エラー検出部１１３は、音響取得・判定部１１３１、又は画像取得・判定部１１３２がエラーを検出すると、エラー前ログ特定部１４にエラー検出情報を出力する。
【００３１】
ログ取得部１３は、テレビジョン受像機２のシリアルポートに接続されたＲＳ−２３２Ｃケーブルを介して、テレビジョン受像機２の動作結果（動作時刻を含む）や、状態に関する情報を表わすログデータを取得する。ログ取得部１３は、取得したログデータを順次、ログファイルに記憶する（図１０）。
【００３２】
エラー前ログ特定部１４は、エラー検出部１１３がエラーを検出する前にログ取得部１３が取得したログであるエラー前ログを特定してエラー前ログ記憶部１５に記憶する。
具体的に、エラー前ログ特定部１４は、エラー検出部１１３からエラー検出情報が入力されると、ログ取得部１３が記憶するログファイルから最新のログデータを特定する。
つまり、ハングアップが発生すると、テレビジョン受像機２はログを出力しないことから、前記ログファイルの最新のログデータが、エラーを検出する前のログデータとなる。（以下、特定したログデータをエラー前ログデータという）。そして、エラー前ログ特定部１４は特定したエラー前ログデータをエラー前ログ記憶部１５に記憶する。
【００３３】
なお、本実施形態では、ハングアップを検出した際にログファイルに記憶する最新のログデータをエラー前ログデータとしている。しかし、本発明はこれに限らず、例えば、エラー前ログ特定部１４にエラーを検出した旨の情報として、エラー検出をした時刻を出力し、該時刻より前の時刻に出力されたログデータをエラー前ログデータとして特定してもよい。これによれば、ハングアップ以外のエラーでもエラー前ログを特定することができる。
また、エラー前ログ特定部１４が特定するログデータは、最新の１つのログデータであっても、最新の複数のログデータであってもよい。
【００３４】
エラー前ログ検出部１６は、テレビジョン受像機２が出力するログからエラー前ログ記憶部１５が記憶するエラー前ログと同一のログを検出する。
具体的に、エラー前ログ検出部１６は、ログ取得部１３が取得するログデータとエラー前ログ記憶部１５が記憶するエラー前ログとを比較し、同一であるログデータを検出する。なお、エラー前ログ検出部１６は、該比較の際、エラー前ログが最新の複数のログデータである場合には、テレビジョン受像機２がログデータを出力する順序、つまり、ログ取得部１３がログデータを取得する順序も含めて比較をしてもよい。
エラー前ログ検出部１６は、テレビジョン受像機２が出力するログからエラー前ログ記憶部１５が記憶するエラー前ログと同一のログを検出すると、デバッグ部１７とシナリオ実行・制御部１１に、該検出をした旨の情報である同一ログ検出情報を出力する。
【００３５】
デバッグ部１７は、エラー前ログ検出部１６がエラー前ログと同一のログを検出すると、デバッグを開始する。例えば、デバッグ部１７が開始するデバックは、テレビジョン受像機２の動作を停止させることである。また、例えば、デバッグ部１７が開始するデバックは、テレビジョン受像機２の状態に関する情報を取得することである。
具体的には、デバッグ部１７は、エラー前ログ検出部１６から同一ログ検出情報が入力されると、アイス３にテレビジョン受像機２の動作を停止させる命令を出力する。アイス３は、デバッグ部１７から、テレビジョン受像機２の動作を停止させる命令が入力されると、テレビジョン受像機２の動作を停止する。
また、デバッグ部１７は、エラー前ログ検出部１６から同一ログ検出情報が入力されると、テレビジョン受像機２にデバッグコマンドを出力する。テレビジョン受像機２は、デバッグ部１７から入力されたデバッグコマンドに従い、テレビジョン受像機２の中央演算処理装置が保持するレジスタ値や各種変数の値、また、テレビジョン受像機２のメインメモリが保持するデータ等を、ログ取得部１３に出力する。
【００３６】
以下、具体的なシナリオとエラー前ログの検出方法について説明をする。
図４〜７は、本実施形態に係るシナリオを示す説明図である。
本実施形態に係るシナリオには、メインシナリオ（図４）、ハングアップ判定シナリオ（図５）、メニューバー表示判定シナリオ（図６）、入力切替メニュー表示判定シナリオ（図７）がある。ここでは、パーソナルコンピュータ１は、エラー検出部１１３の画像取得・判定部１１３２の判定により、ハングアップを検出する。具体的に、画像取得・判定部１１３２は、テレビジョン受像機２の画面に表示するメニューバー（図８）と入力切替メニュー（図９）との画像判定に基づいてハングアップを検出する。
【００３７】
テスト実行部１１４はメインシナリオ、エラー検出部１１３はハングアップ判定シナリオ、画像取得・判定部１１３２はメニューバー表示判定シナリオと入力切替メニュー表示判定シナリオとを、それぞれ読み出してシナリオ中のコマンドを順次実行する。
【００３８】
図４は、本実施形態に係るメインシナリオを示す説明図である。
シナリオ実行・制御部１１のテスト実行部１１４は、シナリオ記憶部１１１が記憶するメインシナリオを読み出してシナリオ中のコマンドを順次実行する。
テスト実行部１１４は、まず、ＰＯＷＥＲ（ＯＦＦ）コマンドを実行し、テレビジョン受像機２の電源を切る（電源をオフ）。次に、ＰＯＷＥＲ（ＯＮ）コマンドを実行し、テレビジョン受像機２の電源を入れる（電源をオン）。具体的には、テレビジョン受像機２の電源ケーブルをＡＣ（Ａｌｔｅｒｎａｔｉｎｇ  Ｃｕｒｒｅｎｔ）電源制御装置に接続し（図示せず）、テスト実行部１１４がＡＣ電源制御装置を制御することで、電源をオン、オフする。次に、テスト実行部１１４は、ＷＡＩＴ（１０ｓ）コマンドを実行し、１０秒待つ。
【００３９】
次に、テスト実行部１１４は、以下の処理を１０００００回繰り返す（ＦＯＲ（１０００００））。
まず、テスト実行部１１４は、ＢＵＴＴＯＮ（メニュー）コマンドを実行し、リモコン信号送信部１２にメニューキーの押下を意味する操作コマンド（以下、メニュー操作コマンドという）を出力する。リモコン信号送信部１２は、メニュー操作コマンドが入力されると、テレビジョン受像機２の画面にメニューバーを表示させる赤外線信号を、ＩＲ送信機４をして、テレビジョン受像機２に送信させる。
次に、テスト実行部１１４は、ＢＵＴＴＯＮ（右）コマンドを実行し、リモコン信号送信部１２に十字キーの右方向キーの押下を意味する操作コマンド（以下、右移動操作コマンドという）を出力する。リモコン信号送信部１２は、右移動操作コマンドが入力されると、テレビジョン受像機２の画面のカーソルを右に移動させる赤外線信号を、ＩＲ送信機４をして、テレビジョン受像機２に送信させる。
【００４０】
図８は、本実施形態に係るメニューバーが表示されたテレビジョン受像機２の画面の概略図である。この図は、上記コマンドを実行した際に表示される画面であり、メニュー１、メニュー２、メニュー３、メニュー４からなるメニューバーが表示されている。また、この図では、メニューバーを表示した初期状態にメニュー１にあったカーソルを右、つまり、メニュー２に移動させ、メニュー２の詳細メニューであるメニュー２−１、メニュー２−２、メニュー２−３が表示されている。
【００４１】
次に、テスト実行部１１４は、ＢＵＴＴＯＮ（メニュー）コマンドを実行する。なお、テレビジョン受像機２は、メニューバーを表示している際に、メニュー操作コマンドに基づく赤外線信号が入力されると、表示しているメニューバーを終了させ、非表示にさせる。
次に、テスト実行部１１４は、ＢＵＴＴＯＮ（チャンネルアップ）コマンドを実行し、リモコン信号送信部１２にテレビ放送用チャンネルの番号を上げるキーの押下を意味する操作コマンド（以下、チャンネルアップ操作コマンドという）を出力する。リモコン信号送信部１２は、チャンネルアップ操作コマンドが入力されると、テレビジョン受像機２が表示するテレビ放送用チャンネルの番号を上げさせる赤外線信号を、ＩＲ送信機４をして、テレビジョン受像機２に送信させる。なお、テレビ放送用チャンネルの番号は、各テレビ放送局が送信する電波の周波数に対して、割り当てられている番号である。
【００４２】
次に、テスト実行部１１４は、ＩＳ＿ＨＡＮＧＵＰ（）シナリオ、つまり、図５のハングアップ判定シナリオを呼び出して実行する。そして、テスト実行部１１４は、ハングアップ判定シナリオが「ＴＲＵＥ」、つまり、後述するようにハングアップを検出したと判定した場合（ＩＦ（ＩＳ＿ＨＡＮＧＵＰ（））＝＝ＴＲＵＥ）、シナリオの実行を停止（ＳＴＯＰ）する。
ハングアップを検出しない場合には、テスト実行部１１４は、以上の処理を１０００００回繰り返したときにメインシナリオを完了する。
【００４３】
図５は、本実施形態に係るハングアップ判定シナリオを示す説明図である。
ハングアップ判定シナリオは、ハングアップを検出するシナリオである。シナリオ実行・制御部１１のエラー検出部１１３は、シナリオ記憶部１１１が記憶するハングアップ判定シナリオを読み出してシナリオ中のコマンドを順次実行する。
メインシナリオから呼び出されたハングアップ判定シナリオ（ＦＵＮＣＴＩＯＮ  ＩＳ＿ＨＡＮＧＵＰ（））は、ＩＳ＿ＭＥＮＵＢＡＲ＿ＤＩＳＰＬＡＹＥＤ（）シナリオ、つまり、図６のメニューバー表示判定シナリオを呼び出して実行する。そして、エラー検出部１１３は、メニューバー表示判定シナリオが「ＴＲＵＥ」と判定した場合（ＩＦ（ＩＳ＿ＭＥＮＵＢＡＲ＿ＤＩＳＰＬＡＹＥＤ（））＝＝ＴＲＵＥ）、つまり、メニューバーの画像判定においてエラーを検出しない場合、図７の入力切替メニュー表示判定シナリオ（ＩＳ＿ＩＮＰＵＴＭＥＮＵ＿ＤＩＳＰＬＡＹＥＤ（））を呼び出して実行する。エラー検出部１１３は、メニューバー表示判定シナリオが「ＴＲＵＥ」と判定しない場合、つまり、メニューバーの画像判定においてエラーを検出した場合は、「ＴＲＵＥ」、つまり、ハングアップ判定シナリオでハングアップを検出したと判定する。
【００４４】
また、エラー検出部１１３は、入力切替メニュー表示判定シナリオが「ＴＲＵＥ」と判定した場合（ＩＦ（ＩＳ＿ＭＥＮＵＢＡＲ＿ＤＩＳＰＬＡＹＥＤ（））＝＝ＴＲＵＥ）、つまり、入力切替メニューの画像判定においてエラーを検出しない場合、「ＦＡＬＳＥ」、つまり、ハングアップ判定シナリオでハングアップを検出しないと判定をする。エラー検出部１１３は、入力切替メニュー表示判定シナリオが「ＴＲＵＥ」と判定しない場合、つまり、入力切替メニューの画像判定においてエラーを検出した場合は、「ＴＲＵＥ」、つまり、ハングアップ判定シナリオでハングアップを検出したと判定する。
【００４５】
図６は、本実施形態に係るメニューバー表示判定シナリオを示す説明図である。
メニューバー表示判定シナリオは、画像判定に基づきメニューバーのエラーを検出するシナリオである。シナリオ実行・制御部１１の画像取得・判定部１１３２は、シナリオ記憶部１１１が記憶するメニューバー表示判定シナリオを読み出してシナリオ中のコマンドを順次実行する。
画像取得・判定部１１３２は、ＢＵＴＴＯＮ（終了）コマンドを実行し、リモコン信号送信部１２に終了キーの押下を意味する操作コマンド（以下、終了操作コマンドという）を出力する。
リモコン信号送信部１２は、終了操作コマンドが入力されると、テレビジョン受像機２の画面にメニューバーや入力切替メニューが表示されていた場合でも、メニューバーや入力切替メニューを終了させ、非表示にさせる赤外線信号を、ＩＲ送信機４をして、テレビジョン受像機２に送信させる。
【００４６】
次に、画像取得・判定部１１３２は、ＢＵＴＴＯＮ（メニュー）コマンドを実行する。次に、画像取得・判定部１１３２は、ＣＯＭＰＡＲＥ（メニューバー期待値画像、取得画像）コマンド実行し、メニューバーについての画像取得コマンド、及び、画像判定コマンドを実行する。
画像取得・判定部１１３２は、メニューバーについての画像取得コマンド、及び、画像判定コマンドを実行すると、上述のように、ＷＥＢカメラ６から画像（取得画像、図８参照）データを取得し、期待値画像データであるメニューバー期待値画像と比較して画像判定をする。画像取得・判定部１１３２は、画像判定の結果、式１、式２、式３が全て満された場合、「ＴＲＵＥ」（エラーを検出しない）とし、式１、式２、式３が１つでも満されなかった場合、「ＦＡＬＳＥ」（エラーを検出した）とする。
【００４７】
画像取得・判定部１１３２は、前記画像判定の結果が「ＦＡＬＳＥ」である場合（図６中の６行目のＩＦ（＄＿＝＝ＦＡＬＳＥ））、再度、ＢＵＴＴＯＮ（メニュー）コマンド、ＣＯＭＰＡＲＥ（メニューバー期待値画像、取得画像）コマンドを実行する。画像取得・判定部１１３２は、該ＣＯＭＰＡＲＥ（メニューバー期待値画像、取得画像）コマンド（図６中の８行目）による２回目の画像判定の結果が「ＦＡＬＳＥ」である場合（図６中の９行目のＩＦ（＄＿＝＝ＦＡＬＳＥ））、さらに、同様の処理を繰り返す。画像取得・判定部１１３２は、該処理のＣＯＭＰＡＲＥ（メニューバー期待値画像、取得画像）コマンド（図６中の１１行目）による３回目の画像判定の結果が「ＦＡＬＳＥ」である場合（図６中の１２行目のＩＦ（＄＿＝＝ＦＡＬＳＥ））、メニューバー表示判定シナリオが「ＦＡＬＳＥ」（エラーを検出した）と判定したとする。
なお、図６中の「＄＿」は、直前のコマンドの実行結果の値を意味し、この図では、ＣＯＭＰＡＲＥ（メニューバー期待値画像、取得画像）コマンドによる画像判定の結果である「ＴＲＵＥ」又は「ＦＡＬＳＥ」である。
一方、画像取得・判定部１１３２は、前記画像判定の結果が「ＦＡＬＳＥ」でない場合、メニューバー表示判定シナリオが「ＴＲＵＥ」（エラーを検出しない）と判定したとする。
【００４８】
図７は、本実施形態に係る入力切替メニュー表示判定シナリオを示す説明図である。
入力切替メニュー表示判定シナリオは、画像判定に基づき入力切替メニューのエラーを検出するシナリオである。シナリオ実行・制御部１１の画像取得・判定部１１３２は、シナリオ記憶部１１１が記憶する入力切替メニュー表示判定シナリオを読み出してシナリオ中のコマンドを順次実行する。
図７の入力切替メニュー表示判定シナリオと図６のメニューバー表示判定シナリオを比較すると、ＢＵＴＴＯＮ（入力切替）とＣＯＭＰＡＲＥ（入力切替メニュー，取得画像）とが異なる。しかし、他のコマンドは同じであるので、説明は省略する。
【００４９】
画像取得・判定部１１３２は、ＢＵＴＴＯＮ（終了）コマンドを実行し、リモコン信号送信部１２に終了操作コマンドを出力する。
リモコン信号送信部１２は、終了操作コマンドが入力されると、テレビジョン受像機２の画面にメニューバーや入力切替メニューが表示されていた場合でも、メニューバーや入力切替メニューを終了させ、非表示にさせる赤外線信号を、ＩＲ送信機４をして、テレビジョン受像機２に送信させる。
【００５０】
次に、画像取得・判定部１１３２は、ＢＵＴＴＯＮ（入力切替）コマンドを実行し、リモコン信号送信部１２に入力切替キーの押下を意味する操作コマンド（以下、入力切替操作コマンドという）を出力する。リモコン信号送信部１２は、入力切替操作コマンドが入力されると、テレビジョン受像機２の画面に入力切替メニューを表示させる赤外線信号を、ＩＲ送信機４をして、テレビジョン受像機２に送信する。
【００５１】
図９は、本実施形態に係る入力切替メニューが表示されたテレビ画面の概略図である。この図は、入力切替操作コマンドを実行した場合に表示されることが期待される画面である。画面には、入力１、入力２、入力３、入力４からなる入力切替メニューが表示されている。ここで、例えば、入力１はテレビ画像入力であり、入力２はビデオ画像入力であり、入力３はゲームソフト入力であり、入力４はＤＶＤ入力である。
【００５２】
画像取得・判定部１１３２は、ＣＯＭＰＡＲＥ（入力切替メニュー期待値画像、取得画像）コマンド実行し、画像取得・判定部１１３２に入力切替メニューについての画像取得コマンド、及び、画像判定コマンドを実行する。
画像取得・判定部１１３２は、入力切替メニューについての画像取得コマンド、及び、画像判定コマンドを実行すると、上述のように、ＷＥＢカメラ６から画像（取得画像、図９参照）データを取得し、期待値画像データである入力切替メニュー期待値画像と比較して画像判定をする。画像取得・判定部１１３２は、画像判定の結果、式１、式２、式３が全て満された場合、「ＴＲＵＥ」（エラーを検出しない）とし、式１、式２、式３が１つでも満されなかった場合、「ＦＡＬＳＥ」（エラーを検出した）とする。
【００５３】
画像取得・判定部１１３２は、前記画像判定の結果が「ＦＡＬＳＥ」である場合（図７中の６行目のＩＦ（＄＿＝＝ＦＡＬＳＥ））、再度、ＢＵＴＴＯＮ（メニュー）コマンド、ＣＯＭＰＡＲＥ（入力切替メニュー期待値画像、取得画像）コマンドを実行する。画像取得・判定部１１３２は、該ＣＯＭＰＡＲＥ（入力切替メニュー期待値画像、取得画像）コマンド（図７中の８行目）による２回目の画像判定の結果が「ＦＡＬＳＥ」である場合（図７中の９行目のＩＦ（＄＿＝＝ＦＡＬＳＥ））、さらに、同様の処理を繰り返す。画像取得・判定部１１３２は、該処理のＣＯＭＰＡＲＥ（入力切替メニュー期待値画像、取得画像）コマンド（図７中の１１行目）による３回目の画像判定の結果が「ＦＡＬＳＥ」である場合（図７中の１２行目のＩＦ（＄＿＝＝ＦＡＬＳＥ））、入力切替メニュー表示判定シナリオが「ＦＡＬＳＥ」（エラーを検出した）と判定したとする。
なお、図７中の「＄＿」は、直前のコマンドの実行結果の値を意味し、この図では、ＣＯＭＰＡＲＥ（入力切替メニュー期待値画像、取得画像）コマンドによる画像判定の結果である「ＴＲＵＥ」又は「ＦＡＬＳＥ」である。
一方、画像取得・判定部１１３２は、前記画像判定の結果が「ＦＡＬＳＥ」でない場合、メニューバー表示判定シナリオが「ＴＲＵＥ」（エラーを検出しない）と判定したとする。
【００５４】
図１０は、本実施形態に係るハングアップを検出した際のログファイルの一例を示す図である。
図１０のログファイルには４つのログデータが記憶されており、各ログデータは、ログデータを出力した時刻と、テレビジョン受像機２の動作結果、又は、状態に関する情報からなる。例えば、「１０：４９：０１  Ｍｅｎｕ＿Ｏｆｆ」は、１０時４９分０１秒に、メニューバーを非表示としたことを示す。
また、例えば、ログデータ「１０：４９：０４  ＶｉｄｅｏＤＳＰ  Ｒｅｇ００：ｆｆｆｆｆ０」を出力後、ハングアップとなってテレビジョン受像機２が停止し、ログデータが出力されていない。
よって、エラー前ログ特定部１４は、最新のログデータ「１０：４９：０４  ＶｉｄｅｏＤＳＰ  Ｒｅｇ００：ｆｆｆｆｆ０」、又は、該ログデータ以前の複数のログデータをエラー前ログデータとして特定する。
そして、例えば、エラー前ログ記憶部１５は、「ＶｉｄｅｏＤＳＰ  Ｒｅｇ００：ｆｆｆｆｆ０」、又は、「ＶｉｄｅｏＤＳＰ  Ｒｅｇ００：ｆｆｆｆｆ０」と「Ｃｈａｎｎｅｌ＿ＵＰ」を記憶し、エラー前ログ検出部１６は、「ＶｉｄｅｏＤＳＰ  Ｒｅｇ００：ｆｆｆｆｆ０」、又は、「ＶｉｄｅｏＤＳＰ  Ｒｅｇ００：ｆｆｆｆｆ０」と「Ｃｈａｎｎｅｌ＿ＵＰ」と同一のログデータを検出すると、デバッグ部１７とシナリオ実行・制御部に、該検出をした旨の情報を出力する。
【００５５】
図１１は、本実施形態に係るパーソナルコンピュータ１の動作を示すフロー図である。
シナリオ実行・制御部１１のテスト実行部１１４は、シナリオを読み出してシナリオ中のコマンドを順次実行し、テレビジョン受像機２のテストを実施する（Ｓ１０１）。テスト実行部１１４は、エラー検出部１１３がエラー（ハングアップ）を検出したか否かを判断する（Ｓ１０２）。テスト実行部１１４は、エラー検出部１１３がエラーを検出しない場合、Ｓ１０１の処理に戻る。
一方、エラー検出部１１３がエラーを検出した場合、エラー検出部１１３は、エラー前ログ特定部１４にエラー検出情報を出力する。エラー前ログ特定部１４は、エラー前ログ特定部１４からエラー検出情報が入力されると、エラー前ログデータを特定する（Ｓ１０３）。エラー前ログ特定部１４は、該特定したエラー前ログデータをエラー前ログ記憶部１５に記憶する（Ｓ１０４）。
【００５６】
シナリオ実行・制御部１１は、ハングアップが検出されたテレビジョン受像機２をテスト可能な状態に戻して、テストを再開する（Ｓ１０５）。エラー前ログ検出部１６は、テレビジョン受像機２が出力するログからエラー前ログ記憶部１５が記憶するエラー前ログと同一のログであるか否かを判定する（Ｓ１０６）。エラー前ログ検出部１６は、ログ取得部１３が取得するログデータとエラー前ログ記憶部１５が記憶するエラー前ログとを比較し、同一であるか否かを判断する（Ｓ１０７）。エラー前ログ検出部１６が、Ｓ１０７の判断の結果、同一でないと判断した場合、Ｓ１１０の処理に進む。
一方、エラー前ログ検出部１６が、Ｓ１０７の判断の結果、同一と判断した場合、エラー前ログ検出部１６は、エラー前ログ検出部１６がエラー前ログと同一ログ検出情報をデバッグ部１７に出力する。デバッグ部１７は、エラー前ログ検出部１６から同一ログ検出情報が入力されると、テレビジョン受像機２の動作を停止させる（Ｓ１０８）。また、デバッグ部１７は、テレビジョン受像機２の状態に関する情報を取得する（Ｓ１０９）。
テスト実行部１１４は、シナリオ中のコマンドの実行が完了したか、つまり、テストが終了したかを判断する（Ｓ１１０）。テスト実行部１１４は、テストが終了していないと判断した場合、次のコマンドを実行し、Ｓ１０６の処理に進む。
テスト実行部１１４は、テストが終了したと判断した場合、処理を終了する。
【００５７】
以下、図４〜６の各シナリオについて、フロー図を用いて説明する。
図１２は、本実施形態に係るテストを説明するフロー図である。なお、図１２のフロー図は、図４のメインシナリオに対応する。
まず、テスト実行部１１４は、テレビジョン受像機２の電源をオフにする（Ｓ２０１）。テスト実行部１１４は、テレビジョン受像機２の電源をオンにする（Ｓ２０２）。テスト実行部１１４は、計時して１０秒経過したか否かを判断する（Ｓ２０３）。テスト実行部１１４は、１０秒経過していない場合、Ｓ２０３の判断に進む。
【００５８】
一方、１０秒経過した場合、リモコン信号送信部１２は、メニューキーの押下を意味する赤外線信号をテレビジョン受像機２に送信する（Ｓ２０４）。リモコン信号送信部１２は、十字キーの右方向キーの押下を意味する赤外線信号をテレビジョン受像機２に送信する（Ｓ２０５）。リモコン信号送信部１２は、メニューキーの押下を意味する赤外線信号をテレビジョン受像機２に送信する（Ｓ２０６）。リモコン信号送信部１２は、テレビ放送用チャンネルの番号を上げるキーの押下を意味する赤外線信号をテレビジョン受像機２に送信する（Ｓ２０７）。
【００５９】
次に、テスト実行部１１４は、ハングアップ判定シナリオを呼び出してハングアップ判定をする（Ｓ２０８）。テスト実行部１１４は、該判定によりハングアップを検出したか否かを判断する（Ｓ２０９）。テスト実行部１１４は、ハングアップを検出しないと判断した場合、Ｓ２１１の判断に進む。
一方、テスト実行部１１４は、ハングアップを検出したと判断した場合、シナリオのコマンド実行、つまり、テストを中断する（Ｓ２１０）。
次に、テスト実行部１１４は、上記処理を１０００００回繰り返したか否かを判断する（Ｓ２１１）。テスト実行部１１４は、上記処理を１０００００回繰り返していないと判断した場合、Ｓ２０４の処理に進む。一方、テスト実行部１１４は、上記処理を１０００００回繰り返したと判断した場合、処理を終了する。
【００６０】
図１３は、本実施形態に係るハングアップ判定を説明するフロー図である。なお、図１３のフロー図は、図５のハングアップ判定シナリオに対応する。
まず、エラー検出部１１３は、メニューバー表示判定シナリオを呼び出して画像判定をする（Ｓ３０１）。エラー検出部１１３は、該判定によりエラーを検出したか否かを判断する（Ｓ３０２）。エラー検出部１１３は、エラーを検出したと判断した場合、Ｓ３０５の判断に進む。
一方、エラー検出部１１３は、エラーを検出しないと判断した場合、入力切替メニュー表示判定シナリオを呼び出して画像判定をする（Ｓ３０３）。エラー検出部１１３は、該判定によりエラーを検出したか否かを判断する（Ｓ３０４）。エラー検出部１１３は、エラーを検出したと判断した場合、Ｓ３０５の判断に進む。
【００６１】
エラー検出部１１３は、エラーを検出しないと判断した場合、ハングアップが発生していないと判定する（Ｓ３０６）。
一方、エラー検出部１１３は、メニューバー表示判定、又は、入力切替メニュー表示判定でエラーを検出したと判断した場合、ハングアップが発生した判定する（Ｓ３０６）。エラー検出部１１３は、ハングアップが発生したか否かの判定をすると、処理を終了する。
【００６２】
図１４は、本実施形態に係るメニューバー表示判定を説明するフロー図である。なお、図１４のフロー図は、図６のメニューバー表示判定シナリオに対応する。また、図７の入力切替メニュー判定シナリオも同様のフローである。
まず、リモコン信号送信部１２は、終了キーの押下を意味する赤外線信号をテレビジョン受像機２に送信する（Ｓ４０１）。リモコン信号送信部１２は、メニューキーの押下を意味する赤外線信号をテレビジョン受像機２に送信する（Ｓ４０２）。画像取得・判定部１１３２は、メニューバーについて画像判定を行う（Ｓ４０３）。画像取得・判定部１１３２は、該判定によりエラーを検出したか否かを判断する（Ｓ４０４）。画像取得・判定部１１３２は、エラーを検出しない判断した場合、Ｓ４１３の処理に進む。
【００６３】
一方、画像取得・判定部１１３２がエラーを検出したと判断した場合、リモコン信号送信部１２と画像取得・判定部１１３２は、上記処理（Ｓ４０１〜Ｓ４０４）と同じ処理をする（Ｓ４０５〜Ｓ４０８）。画像取得・判定部１１３２は、エラーを検出しない判断した場合、Ｓ４１３の処理に進む。
一方、画像取得・判定部１１３２がエラーを検出したと判断した場合、リモコン信号送信部１２と画像取得・判定部１１３２は、上記処理（Ｓ４０１〜Ｓ４０４）と同じ処理をする（Ｓ４０９〜Ｓ４１２）。画像取得・判定部１１３２は、エラーを検出しない判断した場合、Ｓ４１３の処理に進む。
【００６４】
画像取得・判定部１１３２は、エラーを検出したと判断した場合、エラーを検出したと判定する（Ｓ４１４）。
一方、画像取得・判定部１１３２は、いずれかの画像判定（Ｓ４０３、Ｓ４０７、Ｓ４０８）でエラーを検出しないと判断した場合、エラーを検出しないと判定する（Ｓ４１３）。画像取得・判定部１１３２は、エラーを検出したか否かの判定をすると、処理を終了する。
【００６５】
このように、本実施形態によれば、エラー検出部１１３がエラーを検出し、エラー前ログ特定部１４が該エラーを検出する前のログであるエラー前ログを特定し、エラー前ログ検出部１６が、テレビジョン受像機２が出力するログからエラー前ログと同一のログを検出することができる。これにより、パーソナルコンピュータ１は、既知のエラー前ログを予め登録しなくても、ログからエラー発生直前の状態を検出することができる。よって、パーソナルコンピュータ１は、エラー前ログが不明な場合、既知のエラー前ログが誤っていた場合、エラー前ログが存在しない場合でも、エラー発生直前の状態を検出することができる。
【００６６】
また、本実施形態によれば、エラー前ログ検出部１６が、エラー前ログと同一のログを検出すると、デバッグ部１７がデバッグ、つまり、テレビジョン受像機２を停止し、テレビジョン受像機２の状態に関する情報を取得する。これにより、パーソナルコンピュータ１は、テスト対象装置のエラーの原因を特定するために必要な詳細情報を、エラーの原因特定に有益なエラー発生直前のタイミングで取得することができ、エラーの原因を早期に特定することができる。
テレビジョン受像機２の評価において、テレビジョン受像機２の詳細情報を得ること、及び、該詳細情報を得るタイミングは、早期にエラー原因を特定するために重要な要素であり、エラーが発生する直前のテスト対象器の詳細情報は、エラー原因の特定に有益な情報が多い。本実施形態では、エラーが発生する直前のエラー前ログを特定し、エラー前ログを検出した時点で、テレビジョン受像機２を停止している。これにより、テレビジョン受像機２がエラーを発生する直前の状態を保存することができる。また、エラー前ログを検出した時点で、テレビジョン受像機２の状態に関する情報を取得するので、エラーが発生する直前のタイミングでテスト対象器の詳細情報を得ることができ、早期にエラー原因を特定することができる。
【００６７】
また、本実施形態において、テレビジョン受像機２が停止するエラー（ハングアップ）が発生する前のエラー前ログを特定し、該ログと同一のログを検出、つまり、ハングアップが発生する前に、テスト対象器の動作を停止させている。これにより、テレビジョン受像機２が停止して、テストを中断せざるを得ない状況を回避することができる。
【００６８】
なお、本実施形態において、テレビジョン受像機２は、赤外線によるリモコン信号に従い動作し、操作装置であるＩｒ送信機４は赤外線によるリモコン信号を送信するとして説明したが、Ｉｒ送信機４は、赤外線以外の電波などでリモコン信号を送信し、該信号をテレビジョン受像機２が受信するようにしてもよいし、Ｉｒ送信機４は、通信ケーブルによりテレビジョン受像機２と接続されており、該通信ケーブルによりコマンドを表す信号を送信し、該信号をテレビジョン受像機２が受信するようにしてもよい。また、Ｉｒ送信機４は、リモコン信号を送信するのではなく、テレビジョン受像機２の操作ボタンを直接操作する機構を備えたロボットであってもよい。
【００６９】
なお、エラー前ログ記憶部１５等の記憶部は、ハードディスク装置や光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、ＣＤ−ＲＯＭ等の読み出しのみが可能な記憶媒体、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような揮発性のメモリ、あるいはこれらの組み合わせにより構成されるものとする。
【００７０】
また、以上説明した実施形態において、パーソナルコンピュータ１の各部の機能又はこれらの機能の一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより移動局装置や基地局装置の制御を行っても良い。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【００７１】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【図面の簡単な説明】
【００７２】
【図１】本実施形態に係るテストシステムを示す概略構成図である。
【図２】本実施形態に係るテストシステムを示す概略的ブロック図である。
【図３】本実施形態に係る画像判定を説明する説明図である。
【図４】本実施形態に係るメインシナリオを示す説明図である。
【図５】本実施形態に係るハングアップ判定シナリオを示す説明図である。
【図６】本実施形態に係るメニューバー表示判定シナリオを示す説明図である。
【図７】本実施形態に係る入力切替メニュー表示判定シナリオを示す説明図である。
【図８】本実施形態に係るメニューバーが表示されたテレビ画面の概略図である。
【図９】本実施形態に係る入力切替メニューが表示されたテレビ画面の概略図である。
【図１０】本実施形態に係るハングアップを検出した際のログファイルの一例を示す図である。
【図１１】本実施形態に係るテスト装置の動作を示すフロー図である。
【図１２】本実施形態に係るテストを説明するフロー図である。
【図１３】本実施形態に係るハングアップ判定を説明するフロー図である。
【図１４】本実施形態に係るメニューバー表示判定を説明するフロー図である。
【符号の説明】
【００７３】
１・・・パーソナルコンピュータ（テスト装置）、２・・・テレビジョン受像機（テスト対象機器）、3・・・アイス（デバッグ機器）、４・・・ＩＲ送信機（学習リモコン）、５・・・マイク、６・・・ＷＥＢカメラ、１１・・・シナリオ実行・制御部、１１１・・・シナリオ記憶部、１１２・・・シナリオ実行結果記憶部、１１３・・・テスト実行部、１２・・・リモコン信号送信部
１１３・・・エラー検出部、１１３１・・・音響取得・判定部、１１３２・・・画像取得・判定部、１３・・・ログ取得部、１４・・・エラー前ログ特定部、１５・・・エラー前ログ記憶部、１６・・・エラー前ログ検出部、１７・・・デバッグ部
【図１】
2009277060.tif 000006
【図２】
2009277060.tif 000007
【図３】
2009277060.tif 000008
【図４】
2009277060.tif 000009
【図５】
2009277060.tif 000010
【図６】
2009277060.tif 000011
【図７】
2009277060.tif 000012
【図８】
2009277060.tif 000013
【図９】
2009277060.tif 000014
【図１０】
2009277060.tif 000015
【図１１】
2009277060.tif 000016
【図１２】
2009277060.tif 000017
【図１３】
2009277060.tif 000018
【図１４】
2009277060.tif 000019