(57)【要約】【課題】再現テストの工数を削減する。【解決手段】  プログラマブルリモコン３は、テストパターンＡに従いリモートコントロール信号をテレビ２に出力する。テレビ制御部２２は、リモートコントロール信号に従いテレビ２を動作させるとともに、動作履歴であるログをパーソナルコンピュータ４に出力する。パーソナルコンピュータ４は、入力したログとエラーコード記憶部４１に記憶したエラーコードとを比較し、エラーコードが検出された場合には、テスト手順管理部４３を起動する。テスト手順管理部４３は、テストパターンＡの出力の停止と、テストパターンＢの出力の開始を指示するファイルを作成し、プログラマブルリモコン３に出力する。プログラマブルリモコン３のテスト手順変更部３３は、入力したファイルに従いテストパターンＢの出力を開始する。【選択図】図６
2007052734.tif 000002
【特許請求の範囲】
【請求項１】
ある不具合が発生したテスト対象機器に対して所定のテストパターンの制御信号を出力し、上記テスト対象機器の不具合を再現する再現テストを行うテストシステムであって、
上記テスト対象機器に対して制御信号を送信する信号送信部を備えたリモートコントローラと、
上記不具合を示すコードを記憶するコード記憶部と、
上記制御信号に従い上記テスト対象機器が動作したときの動作履歴であるログを取得し、上記ログに上記不具合を示すコードが存在するか否かを監視するログ監視部と、
上記ログ監視部が上記不具合を示すコードを検出したとき、当該再現テストの手順を変更し、変更後のテストの手順を指示するデータを上記リモートコントローラに送信するテスト手順管理部と
を有することを特徴とするテストシステム。
【請求項２】
上記リモートコントローラは、上記所定のテストパターンを記憶するパターン記憶部を備え、
上記信号送信部は、上記パターン記憶部に記憶しているテストパターンに従い自動的に制御信号を出力することを特徴とする請求項１記載のテストシステム。
【請求項３】
上記テスト手順管理部は、上記不具合を示すコードを検出したとき、上記リモートコントローラに対して制御信号の出力停止を指示することを特徴とする請求項１記載のテストシステム。
【請求項４】
上記テスト管理部は、上記不具合を示すコードを検出したとき、上記リモートコントローラに対して制御信号の出力停止の後、他の再現テストの開始を指示することを特徴とする請求項１記載のテストシステム。
【請求項５】
ある不具合が発生したテスト対象機器に対して所定のテストパターンの制御信号を出力し、上記テスト対象機器の不具合を再現する再現テストを行うテスト装置であって、
上記不具合を示すコードを記憶するコード記憶部と、
上記テスト対象機器が動作したときの動作履歴であるログを取得し、上記ログに上記不具合を示すコードが存在するか否かを監視するログ監視部と、
上記ログ監視部が上記不具合を示すコードを検出したとき、当該再現テストの手順を変更するテスト手順管理部とを有することを特徴とするテスト装置。
【請求項６】
ある不具合が発生したテスト対象機器に対して所定のテストパターンの制御信号を出力し、上記テスト対象機器の不具合を再現する再現テストのテスト方法であって、
上記テスト対象機器に対し所定のテストパターンの制御信号を出力する制御信号出力工程と、
上記制御信号に従い上記テスト対象機器が動作したときの動作履歴であるログを取得し、上記ログに上記不具合を示すコードが存在するか否かを監視するログ監視部と、
上記ログ監視部が上記不具合を示すコードを検出したとき、当該再現テストの手順を変更するテスト手順変更工程と
を有することを特徴とするテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、既に発生した不具合を再現させる再現テスト等のテストを実行するテストシステム、テスト装置、及びテスト方法に関する。
【背景技術】
【０００２】
システムコンポやテレビジョン等の電子機器の多くには、制御用のワンチップのマイクロコンピュータやワンボードのマイクロコンピュータが組み込まれている。開発者は、組み込み用マイクロコンピュータに搭載される制御ソフトウェアを完成させると、設計仕様通りに動作するか否かテストする。
【０００３】
従来の動作テストのテスト装置には、テストを順に実行するための表形式のテスト計画を作成し、テスト計画を、時間条件と動作条件とを含めて判断して実行し、テスト結果を含めて評価するテスト装置が存在する（特許文献１）。
【０００４】
【特許文献１】特開平９−９１０３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に示すテスト装置では、製品の出荷前に電子機器が正確に動作するか否かを判断するための動作テストを行っている。しかしながら、製品出荷前の動作テストで全ての不具合を検出するのは不可能である。そのため、製品がユーザの手元に届いた後、予想外の不具合が発生することがある。このような不具合を修正するために、不具合が発生した状況を故意に再現して、不具合の発生した原因を追求する。このようなテストを再現テストという。
【０００６】
再現テストでは、不具合の発生したときのテストパターンを数千回、数万回という単位で繰り返す。そして、テストパターンを繰り返す間、マイコンの動作履歴であるログを収集する。予め設定した回数のテストパターンの実行が完了すると、そのテストパターンのログからエラーの発生した箇所を検索する。
【０００７】
再現テストでは、同じテストパターンを数千回、数万回という単位で繰り返すため、再現テストが長時間になるという問題がある。特許文献１には、動作テストを自動化する技術が記載されている。再現テストも、特許文献１に記載の動作テストのように、自動化できれば、人間の負担も減少すると考えられる。
【０００８】
しかしながら、特許文献１記載の動作テストは、前もって準備したテスト手順に従って自動的にテストを行うが、前もって準備したテスト手順と異なる手順でテストをするときには、人間がテスト対象装置のテスト結果をみて手動でテスト装置を制御する必要がある。これでは、テスト装置自体の制御に人手がかかってしまい。テスト工数の大幅な削減には至らない。
【０００９】
本発明は、上述した課題に鑑みてなされたものであって、テスト工数を削減した再現テストのテストシステム、及びテスト装置、並びに再現テストのテスト方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した目的を達成するため、本発明は、ある不具合が発生したテスト対象機器に対して所定のテストパターンの制御信号を出力し、テスト対象機器の不具合を再現する再現テストを行う際に、テスト対象機器にして制御信号を送信し、テスト対象機器が動作したときの動作履歴であるログを取得し、ログに不具合を示すコードが存在するときには、テスト手順を変更する。
【発明の効果】
【００１１】
本発明によれば、テスト対象機器に制御信号を自動的に送信するとともに、テスト対象機器からの動作履歴であるログを取得する。そして、テスト対象機器の不具合を示すコードがログに存在すると、再現テストの手順を変更する。このように、本発明では、制御信号の出力、テスト対象機器の監視、及びテスト対象機器の状態によるテスト手順の変更を自動的に行うので、テストにかかる負担を大幅に削減することができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して本発明を適用した電子機器テストシステムについて説明する。本発明を適用した電子機器テストシステムは、電子機器の再現テストを行うためのシステムである。
【００１３】
電子機器に不具合が発生すると、ユーザは、どのような環境で、どのような不具合が発生したかという情報を電子機器の製造元に連絡する。このような連絡を受けると、開発者は、ユーザからの情報に基づいて、再現テストのテストパターンを作成する。電子機器テストシステムは、作成されたテストパターンを何千、何万回という単位で繰り返し、不具合を再現する。これが再現テストである。
【００１４】
再現テストでは、再現テストの実行中、ログを収集している。再現テストの実行後、開発者は、収集したログを解析し、不具合の原因を判断する。そして、不具合の原因となる箇所を修正する。
【００１５】
図１に電子機器テストシステム１の外観を示し、図２に電子機器テストシステム１の内部構成を示す。電子機器テストシステム１は、テスト対象機器としてのテレビ２と、テスト手順を管理するパーソナルコンピュータ４と、テスト機器にリモートコントロール信号を送信するプログラマブルリモコン３とを備える。
【００１６】
プログラマブルリモコン３は、例えば、セットトップボックスであり、図２に示すように、リモートコントロール信号のテストパターンを記憶するパターン記憶部３１と、リモートコントロール信号をテレビ２に出力する信号送信部３２と、パーソナルコンピュータ４と接続するためのネットワークアダプタ３４と、パーソナルコンピュータ４からのメッセージに従いテスト手順を変更するテスト手順変更部３３とを備える。
【００１７】
図３に再現テストの一例を示す。図３に示す再現テストでは、Ａ、Ｂ、Ｃ、Ｄの４つの再現テストの内容と、各再現テストの実行回数とが記述されている。今回のテストパターンは、再現テストＡで（ＯＮ→ＯＦＦ→ＯＮ→ＯＦＦ）を１０万回繰り返し、再現テストＢで（ＭＥＮＵ→番組表ボタン→下→右→ＭＥＮＵ）を５万回繰り返し、再現テストＣで（１チャンネルボタン→チャンネル上ボタン→１チャンネルボタン→チャンネル下ボタン）を３万回繰り返すことになっている。再現テストＤで（１チャンネルボタン→２チャンネルボタン）を４万回繰り返し、この繰り返しの途中でエラーが発生すると（３チャンネルボタン→４チャンネルボタン→５チャンネルボタン）を５万回繰り返す。
【００１８】
テレビ２は、リモートコントロール信号を受信する信号受信部２２と、リモートコントロール信号に従いテレビ２を動作させるテレビ制御部２２とを備える。テレビ制御部２２は、図４に示すように、複数のソフトウェアコンポーネント（以下、コンポーネントと記す）と、パーソナルコンピュータ４と接続するためのネットワークアダプタ２３とから構成される。コンポーネントは、協働して１つの処理を実現する。
【００１９】
図４のコンポーネント５１は、リモートコントロール信号を入力すると、２つのコンポーネント５２、５３を起動させる。コンポーネント５２はハードウェア５３を制御し、コンポーネント５２は他のコンポーネント５４を起動させる。
【００２０】
各コンポーネント５１、５２、５５は、自身の担当する機能を実行すると、実行履歴であるログを出力する。図５にログの一例を示す。ログには、プログラムの実行時間、実行内容、実行結果などが記述されている。テレビ制御部２２は、各コンポーネントから出力されたログをパーソナルコンピュータ４に出力する。開発者は、このログを基に、エラーの発生原因を追求する。ログには、実際にエラーが発生するまでの過程が記録されている。
【００２１】
パーソナルコンピュータ４は、エラーコードを記憶するエラーコード記憶部４１と、エラーの発生を監視するログ監視部４２と、発生したエラーに対応してテスト手順を変更するテスト手順管理部４３と、プログラムリモコンと接続するためのネットワークアダプタ４４とを備える。
【００２２】
ログ監視部４２は、テレビ２から入力したログとエラーコード記憶部４１に記憶しているエラーコードとを比較し、エラーコード記憶部４１に記憶しているエラーがログに存在するか否かを監視する。ログ監視部４２がエラーコードを検出すると、テスト手順管理部４３は、検出されたエラーコードに応じて、テスト手順を変更し、プログラマブルリモコン３にメッセージを送信する。プログラマブルリモコン３のテスト手順変更部３３は、このメッセージを基にテスト手順を変更する。テスト手順変更部３３は、再現テストの変更、及び、再現テストで使用するテストパターンの変更を行う。再現テストの変更では、テストパターンＡ→テストパターンＢのように異なる再現テストを開始させる。また、テストパターンの変更の例としては、テストパターンＤがある。テストパターンＤでは、（１チャンネルボタン→２チャンネルボタン）のテストパターンを、エラーの検出により、（３チャンネルボタン→４チャンネルボタン→５チャンネルボタン）のテストパターンに変更する。
【００２３】
次いで、図６を参照して、電子機器テストシステム１の動作を具体的に説明する。この例では、図３に示すテストパターンＡ（ＯＮ→ＯＦＦ→ＯＮ→ＯＦＦ）の繰り返しを１０万回行う。パーソナルコンピュータ４、テレビ２、及びプログラマブルリモコン３に電源を入れ、再現テストの開始を指示すると、プログラマブルリモコン３はパターン記憶部３１に記憶しているテストパターンＡを読み出し、（ＯＮ→ＯＦＦ→ＯＮ→ＯＦＦ）のリモートコントロール信号を繰り返しテレビ２に出力する。テレビ制御部２２は、リモートコントロール信号に従ってテレビ２の起動と停止とを繰り返すと同時に、このとき発生したログをパーソナルコンピュータ４に出力する。
【００２４】
ログ監視部４２は、入力したログとエラーコード記憶部４１に記憶しているエラーとを比較し、ログ中にエラーコードを検出すると、テスト手順管理部４３を起動する。図６の例において、ログ監視部４２は、エラーコード「ＤＳＣＲ」を検出している。
【００２５】
テスト手順管理部４３は、検出したエラーコードに対応したファイルを作成する。ファイルにはメッセージが記載されている。図６の例では、「set dtv_mode；テレビ２のモードボタンのリモート信号を出力する」「send ch_up；チャンネル上ボタンのリモート信号を出力する」「sleep 3000；３０００ｍｓ待機する」「send ch_down；チャンネル下ボタンのリモート信号を出力する」・・・というメッセージが記載されている。テスト手順管理部４３は、作成したファイルをプログラマブルリモコン３に送信する。
【００２６】
プログラマブルリモコン３のテスト手順変更部３３は、パーソナルコンピュータ４から入力したファイルを基に再現テストの手順を変更する。ここでは、テストパターンＡ（ＯＮ→ＯＦＦ→ＯＮ→ＯＦＦ）の繰り返しである再現テストの手順を変更して、「テレビ２のモードボタン」「チャンネル上ボタン」「チャンネル下ボタン」「３０００ｍｓ待機する」「チャンネル下ボタン」・・・という順にリモート信号を出力する。なお、「３０００ｍｓ」の待機時間は、テレビ２の起動時間である。テレビ２は、エラーが発生した場合などには、自動的に再起動する機能を備えている。この再起動に要する時間が「３０００ｍｓ」である。
【００２７】
本発明を適用した電子機器テストシステム１では、再現テストのテストパターンをプログラマブルリモコン３に記憶し、リモートコントロール信号を自動的に出力する。再現テストでは、同じテストパターンを数千回、数万回の単位で繰り返すが、この電子機器テストシステム１では、テストパターンの出力にかかる労力を削減することができる。
【００２８】
図７の表では、従来の再現テストに要する工数と電子機器テストシステム１を使用したときに要する工数との差を示している。電子機器テストシステム１を使用すると、テストパターンＡに要する工数が２９１（人日）から１（人日）に減少し、テストパターンＢに要する工数が８（人日）から１（人日）に減少し、テストパターンＣに要する工数が５（人日）から１（人日）に減少する。なお、ここで使用した工数の単位「人日」は、１人が１日働いて行える仕事量「人×日」である。
【００２９】
上述したように、再現テストでは、同じテストパターンを数千、数万回と繰り返すように設定されているが、実際には、設定回数前にエラーが再現されることがある。設定回数前にエラーが再現されると、エラー再現後のテストが無駄になる。言い換えれば、エラーが再現された時点で再現テストを終了すると、さらに、工数を削減することができる。
【００３０】
また、ある再現テストの終了と、次の再現テストの開始とを自動化すると、人間がテストを監視しなくとも、一晩に複数の再現テストを連続して実行することができる。
【００３１】
図８は、再現テストの連続実行の手順を示すフローチャートである。再現テストを実行する際には、前段階として、再現テストのテストパターンをプログラマブルリモコン３のパターン記憶部３１に設定し、エラーコード記憶部４１に所定のエラーコードを設定し、テスト手順をテスト手順管理部４３に設定する（ステップＳ１１）。
【００３２】
プログラマブルリモコン３は、テストパターンＡの順序でリモートコントロール信号をテレビ２に出力する（ステップＳ１２）。テレビ制御部２２は、リモートコントロール信号に応じてテレビ２のＯＮ、ＯＦＦを繰り返す。この間、テレビ制御部２２は、テレビ２の動作履歴であるログをパーソナルコンピュータ４に出力する。パーソナルコンピュータ４は、入力したログとエラー記憶部に記憶しているエラーコードとを比較する。パーソナルコンピュータ４は、エラーコードと一致する文字列を検出、または、テストパターンの繰り返しが規定の回数に達すると（ステップＳ１３；ＹＥＳ）、ファイルを作成し、プログラマブルリモコン３に送信する。一方、エラーコードが検出されず、テストパターンの繰り返しが規定の回数に満たない場合には（ステップＳ１３；ＮＯ）、テストパターンＡを繰り返す。
【００３３】
プログラマブルリモコン３は、パーソナルコンピュータ４から受信したファイルに従い、テストパターンＡの出力を停止し、テレビ２の電源を停止する。そして、一定時間経過したのち、テレビ２を起動する。次いで、プログラマブルリモコン３は、パターン記憶部３１からテストパターンＢを読み出し、テストパターンＢに従ってリモートコントロール信号を出力する（ステップＳ１４）。
【００３４】
テレビ制御部２２は、テストパターンＢであるＭＥＮＵ、番組表ボタン、下、右、ＭＥＮＵというリモートコントロール信号を受信すると、このリモートコントロール信号に対応した動作を実行する。この間、テレビ制御部２２は、テレビ２の動作履歴であるログをパーソナルコンピュータ４に出力する。パーソナルコンピュータ４は、入力したログとエラー記憶部に記憶しているエラーコードとを比較する。パーソナルコンピュータ４は、エラーコードと一致する文字列を検出、またはテストパターンの繰り返しが規定の回数に達すると（ステップＳ１５；ＹＥＳ）、テストパターンＢの停止と、テストパターンＣの開始とを指示するファイルを作成し、プログラマブルリモコン３に送信する。一方、エラーコードが検出されず、テストパターンの繰り返しが規定の回数に満たない場合には（ステップＳ１５；ＮＯ）、テストパターンＢを繰り返す。
【００３５】
プログラマブルリモコン３は、パーソナルコンピュータ４から受信したファイルに従い、テストパターンＢの出力を停止し、テレビ２の電源を停止する。そして、一定時間経過したのち、テレビ２を起動する。次いで、プログラマブルリモコン３は、パターン記憶部３１からテストパターンＣを読み出し、テストパターンＣに従ってリモートコントロール信号を出力する（ステップＳ１６）。パーソナルコンピュータ４は、入力したログとエラー記憶部に記憶しているエラーコードとを比較する。パーソナルコンピュータ４は、エラーコードと一致する文字列を検出、または、テストパターンの繰り返しが規定の回数に達すると（ステップＳ１７；ＹＥＳ）、テストパターンＣを停止する。一方、エラーコードが検出されず、テストパターンの繰り返しが規定の回数に満たない場合には（ステップＳ１７；ＮＯ）、決められた回数分テストパターンＣを繰り返す。
【００３６】
以上説明したように、本発明を適用した電子機器テストシステム１では、エラーが再現されると、テストパターンの繰り返し回数が設定回数前であっても、再現テストを停止するため、エラー再現後の不要なテストを削減することができる。
【００３７】
また、本発明を適用した電子機器テストシステム１では、ある再現テストの終了と次の再現テストの開始とを自動化しているため、人間がテストを監視しなくとも、複数の再現テストを長時間連続して行うことが可能である。
【００３８】
また、電子機器テストシステム１の変形例として、１つの再現テストのテストパターンを動的に変化させてもよい。例えば、テストパターン（ＯＮ→ＯＦＦ）を繰り返す途中で、音声が出力されないというエラーが発生したときには、テストパターンを（ＯＮ→ボリュームアップさせるリモートコントロール信号→ＯＦＦ）という繰り返しにテストパターンを変更させる。このように、テストパターンを動的に変化させることで、再現テストのバリエーションが広がる。
【００３９】
最後に、図９を参照して本発明を適用した電子機器テストシステムのシステム構成例を説明する。図９（ａ）に示す電子機器テストシステム１０は、テスト対象であるテレビ１１とパーソナルコンピュータ１２とから構成される。このとき、パーソナルコンピュータ１２には、上述した電子機器テストシステム１におけるプログラマブルリモコン３の機能が追加されている。すなわち、パーソナルコンピュータ１１は、リモートコントロール信号のようなテレビを制御する信号を出力する。この信号は、リモートコントロール信号のように赤外線で送信してもよいし、無線や有線で送信してもよい。
【００４０】
図９（ｂ）に示す電子機器テストシステム６０は、テスト対象であるテレビ６１とプログラマブルリモコン６２とから構成されている。このとき、プログラマブルリモコン６２には、上述した電子機器テストシステム１におけるパーソナルコンピュータ４の機能が追加されている。すなわち、プログラマブルリモコン６２は、テレビからログを入力し、ログからエラーコードを検出したときには、テスト手順を変更する機能を備える。
【図面の簡単な説明】
【００４１】
【図１】本発明を適用した電子機器テストシステムの模式図である。
【図２】本発明を適用した電子機器テストシステムの内部構成を示すブロック図である。
【図３】再現テストの一例を示す概念図である。
【図４】テレビ制御部のソフトウェア構成を示す模式図である。
【図５】ログの一例を示す概念図である。
【図６】本発明を適用した電子機器テストシステムの動作を示す模式図である。
【図７】従来のテストシステムと本発明を適用した電子機器テストシステムとの工数の変化を示す概念図である。
【図８】再現テストの連続実行の手順を示すフローチャートである。
【図９】電子機器テストシステムのシステム構成例を示す模式図である。
【符号の説明】
【００４２】
１  電子機器テストシステム、２  テレビ、３  プログラマブルリモコン、４  パーソナルコンピュータ、２１  信号受信部、２２  テレビ制御部、２３  ネットワークアダプタ、３１  パターン記憶部、３２  信号送信部、３３  テスト手順変更部、３４  ネットワークアダプタ、４１  エラーコード記憶部、４２  ログ監視部、４３  テスト手順管理部、４４  ネットワークアダプタ
【図１】
2007052734.tif 000003
【図２】
2007052734.tif 000004
【図３】
2007052734.tif 000005
【図４】
2007052734.tif 000006
【図５】
2007052734.tif 000007
【図６】
2007052734.tif 000008
【図７】
2007052734.tif 000009
【図８】
2007052734.tif 000010
【図９】
2007052734.tif 000011