(57)【要約】【課題】ターゲットの状態数が多くなると、状態間の遷移を定義する状態遷移手続の数が状態数の増加と共に膨大になってしまい、ターゲットの動作検証のためのテストシナリオを作成する工数や時間が大幅に増大する。【解決手段】ターゲットの取り得る状態のうち、予め定められた一つの状態を中間状態として規定しておき、遷移元の状態から遷移先の状態に遷移する際、一旦、遷移元から中間状態に遷移させた後、中間状態から遷移先の状態に遷移させる。このため、テストシステムには、遷移元の状態から中間状態に遷移させる中間状態遷移手続及び中間状態から遷移先の状態に遷移させる自状態遷移手続が格納されている。このように中間状態を経由して遷移を行うことにより、直接、遷移元から遷移先に遷移させる場合に比較して、定義する状態遷移手続の数を減少させることができ、また、状態数の変化にも柔軟に対処できる。【選択図】  図２
2005038253.tif 000002
【特許請求の範囲】
【請求項１】
テストされるべきターゲットをコンピュータを用いて検証するテスト方法において、前記ターゲットを第１の検証の終了状態から第２の検証の開始状態に遷移させる際、前記第１の検証から予め定められた中間状態に遷移させる第１の遷移を行った後、当該中間状態から前記第２の検証の開始状態に遷移させる第２の遷移を行うことを特徴とするテスト方法。
【請求項２】
請求項１において、前記第１及び第２の検証を行うための第１及び第２のテストシナリオをそれぞれ格納すると共に、前記中間状態に遷移させる前記第１の遷移を行う手続を規定する中間状態遷移手続及び前記第２の検証の開始状態に遷移させる第２の遷移を行う手続を規定する自状態遷移手続を格納する記憶手段を備え、前記コンピュータ内の中央処理装置では前記中間状態遷移手続及び前記自状態遷移手続を読出し実行することによって、前記第１及び第２の遷移を行うことを特徴とするテスト方法。
【請求項３】
請求項２において、前記ターゲットは複数の状態をとることができ、前記複数の状態の全てを前記第１の遷移によって予め定められた中間状態に遷移させ、前記第２の遷移によって前記第２の検証の開始状態に遷移させることを特徴とするテスト方法。
【請求項４】
テストされるべきターゲットをコンピュータを用いて検証するテストシステムにおいて、前記ターゲットの状態を順次テストする複数のテストシナリオを格納する手段と、前記複数の状態のうち予め定められた状態を中間状態として定めておき、遷移元の状態から前記中間状態に遷移させる中間状態遷移手続及び前記中間状態から他の状態へ遷移させる自状態遷移手続を格納する手段とを備え、前記コンピュータの中央処理装置は、各テストシナリオを実行した後、前記中間状態遷移手続を実行することにより、一旦、前記ターゲットを中間状態に遷移させた後、前記自状態遷移手続を実行することにより、遷移先の状態に遷移させることを特徴とするテストシステム。
【請求項５】
請求項４において、前記中央処理装置は前記各テストシナリオを実行後、各テストシナリオの終了状態と次に実行されるテストシナリオの開始条件状態とを比較し、比較の結果、不一致の場合に、前記ターゲットを中間状態に遷移させることを特徴とするテストシステム。
【請求項６】
遷移元の状態から遷移先の状態に遷移するような状態遷移を行うターゲットをコンピュータを用いて自動的に検証せしめるプログラムにおいて、前記複数の状態のうちの予め定められた一つの状態を中間状態として規定しておき、前記中間状態を経由して前記遷移元から遷移先の状態に遷移させる状態遷移ステップを含むことを特徴とするコンピュータで読取可能なプログラム。
【請求項７】
請求項６において、前記状態遷移ステップは、前記遷移元の状態から前記中間状態に遷移させる中間状態遷移手続を実行するステップと、前記中間状態から前記遷移先の状態に遷移させる自状態遷移手続を実行するステップとを有していることを特徴とするプログラム。
【請求項８】
ターゲットにおける複数の状態間で、遷移元の状態から遷移先の状態に遷移する状態遷移をコンピュータにより自動的に検証するシステムの記憶装置において、前記ターゲットの状態を順次テストする複数のテストシナリオを格納すると共に、前記複数の状態のうち予め定められた状態を中間状態として定めておき、遷移元の状態から前記中間状態に遷移させる中間状態遷移手続及び前記中間状態から他の状態へ遷移させる自状態遷移手続を格納する手段を有していることを特徴とする記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カーオーディオ装置等の電子機器をテストするために使用されるテストシステムに関する。
【背景技術】
【０００２】
一般に、この種の電子機器には、チューナーの他に、ＣＤ、カセットテープ、ＭＤ、ＤＶＤ等、種々の装置ユニットを搭載したものがある。このように、複数の装置ユニットを含む電子機器が製造された場合、各装置ユニットにおける各種の動作が正常に行われるか否かを当該電子機器を出荷する前にテストする必要がある。以下では、テストの対象となる電子機器をターゲット又はターゲットデバイスと呼ぶ。
【０００３】
ところで、複数の装置ユニットを含むターゲットをテストする場合、ユーザが操作する可能性のある全ての操作についてテストしなければならない。このため、ターゲットに含まれる装置ユニットの数が多くなるにしたがって、テストすべき検査項目は膨大になってしまい、実際には、検査に一ヶ月もかかる場合すら見受けられる。
【０００４】
簡単な例を上げると、ターゲットの電源ＯＦＦにする状態をテストする場合、その前提として、当該ターゲットの電源はＯＮの状態であることが前提となる。同様に、ユーザは装置ユニットを構成するカセットテープを再生状態から巻き戻し状態にしたり、早送り状態にしたり、或いは、録音状態にする場合もある。一方、ユーザはカセットテープの聴取を止めて、ＣＤ、ＭＤ、或いは、ＤＶＤ等に切り替える場合等も有り得る。ユーザがカセットテープからＣＤ、ＭＤ、ＤＶＤ等に装置ユニットを切り替えた場合、切り替えられた装置ユニット毎に再生、一時停止、停止、早送り、巻き戻し等の機能を選択する可能性を考慮しておかなければならない。
【０００５】
このように、装置ユニットが複数の機能を有している場合、切り替え前後の装置ユニットの数、及び、各装置ユニットの機能に応じた数だけの機能をテストする必要がある。したがって、ターゲットに含まれる装置ユニットの数並びに各装置ユニットの機能の数が多くなればなるほど、テストの対象となる機能は急激に増大する。
【０００６】
通常、複数の装置ユニットを含むターゲットのテストは、各装置ユニットの選択前後における機能に対応したテストシナリオを記述したプログラムをコンピュータによって実行することによって行われている。この場合、各テストシナリオには、選択前の装置ユニットの機能における所定の状態を開始条件とし、実行後の状態を終了状態としており、各テストシナリオ毎に異なるテスト手順が記述されている。
【０００７】
一方、ターゲットのテストはコンピュータを使って自動的に行われる。この場合、一つの先行テストシナリオから後続する次のテストシナリオに自動的に移行するような制御が行われるが、先行テストシナリオによるターゲットの終了状態と次のテストシナリオによるターゲットの開始条件状態とが相違している場合、先行テストシナリオの終了状態から次のテストシナリオの開始条件状態にターゲットを遷移させる状態遷移手続を行う必要がある。
【０００８】
電子機器に含まれる装置ユニットの数の増大並びに機能の増大と共に、テストシナリオの増加、並びに、開始条件状態及び終了状態の増加を招来する。特に、状態遷移前後の状態が増加すると、テストシナリオの数以上に多くの状態遷移手続が必要となってしまい、ターゲットのテストには一ヶ月程度の時間が掛かってしまう。更に、ターゲットの機能変更等によって、状態遷移前後の状態数が変化すると、テストシナリオだけでなく、多数の状態遷移手続を用意しなければならない。
【０００９】
以下、図９を参照して、上記したテスト方法についてより具体的に説明する。図示されたテストシナリオ１には、開始条件状態Ｓ１、テスト手順、及び、終了状態Ｓ２が記述されており、他方、テストシナリオ２には、開始条件状態Ｓ４、テスト手順、及び、終了状態Ｓ３が記述され、更に、テストシナリオ３には、開始条件状態Ｓ２、テスト手順、及び、終了状態Ｓ４が記述されている。
【００１０】
ここで、テストシナリオ１、２、及び、３が順番に実行されるものとすると、テストシナリオ１がテスト実行部に読み込まれ、テスト手順に従ってテストが実行されると、当該テストシナリオ１の終了状態はＳ２であるから、次に、開始条件Ｓ４のテストシナリオ２を実行するためには、図示されているように、テストシナリオ１の実行後、状態Ｓ２から状態Ｓ４へ遷移する遷移手順をテスト実行部で実行して、状態Ｓ４に遷移させる。この結果、状態Ｓ４になると、テストシナリオ２のテスト手順がテスト実行部で実行され、テスト手順が終了すると終了状態Ｓ３になる。
【００１１】
次に、テストシナリオＳ２の終了状態Ｓ３からテストシナリオ３の開始条件状態Ｓ２にするために、テストシナリオ２の終了状態Ｓ３からテストシナリオ３の開始条件状態Ｓ２への遷移手順をテスト実行部で実行して、テストシナリオ３のテストをテスト手順にしたがって実行し、終了状態Ｓ４になる。
【００１２】
前述したように、テストシナリオを連続して実行する場合、次に実行するテストシナリオの開始条件状態に遷移させる必要があり、この状態遷移は、遷移先が同じ場合でも遷移元が異なれば手続が異なることが多い。このため、遷移元の状態と遷移先の状態によって個別に手続を定義する必要がある。このように、状態数が増加すればするほど、遷移元と遷移先の状態数が増えることになり、状態遷移手続の定義数も増加してしまう。
【００１３】
また、この種のターゲットでは、搭載されるデバイス（装置ユニット）の変更及び増加により、機能が増加し、この結果、テストに使用される状態が増加した場合、既存の状態全てに対して新しい状態への遷移手続を定義しなければならない。更に、テストシナリオを連続して実行する場合、前のテストシナリオを実行した終了状態と、次のテストシナリオの開始条件状態に合わせて状態遷移手順を用意する必要があるため、連続実行手順の実行順番を変更すると、状態遷移手順も変更しなければならない。
【００１４】
いずれにしても、実際に使用されているテスト方法では、テストされるターゲットに含まれる装置ユニットの増加、変更に柔軟に対処できないと言う欠点がある。
【００１５】
一方、特開２００２−１８９６１７号公報（特許文献１）には、マイクロコンピュータを備えると共に、ユーザプログラム及びリアルタイムオペレーティングシステムを実装したユーザシステムをホストコンピュータ（中央処理装置）を用いて評価する評価システム及び評価方法が開示されている。特許文献１では、評価に必要な治具、ＩＣＥ等の特別な装置を用いる必要をなくすことができると云う利点がある。
【００１６】
特開平１０−６３５３２号公報（特許文献２）には、マイクロコンピュータによって動作制御される制御機器の検査項目を生成する検査項目生成装置が開示されている。特許文献２に示された検査項目生成装置は、制御機器からマイクロコンピュータに送信されるイベント情報と、当該イベント情報と制御機器の操作内容とが対応して記述されたイベント操作対応表、マイクロコンピュータから制御機器に送られるアクション情報と制御機器の動作内容とを対応して記述したアクション動作対応表、並びに、状態遷移毎にイベント情報とアクション情報とを対応して記述した状態遷移表を有している。
【００１７】
この構成では、状態遷移表からイベント情報及びアクション情報が抽出されると、イベント操作対応表及びアクション動作対応表に基づいて、制御機器の操作内容及び動作内容が変換され、その変換結果が検査項目として出力されている。
【００１８】
この検査項目生成装置によれば、制御機器の実際の仕様とプログラムの設計仕様との間に不整合があっても、マイクロコンピュータを制御機器に組み込んだ際に行うべき検査項目を実際の仕様に合わせて生成できる。
【特許文献１】特開２００２−１８９６１７号公報
【特許文献２】特開平１０−６３５３２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１９】
しかしながら、ターゲットにおける装置ユニット数の増加に伴うテストシナリオ数の増加、状態遷移手順数の増加等に伴う問題点について、従来技術は何等指摘していない。例えば、特許文献１はターゲットとなるユーザシステムを評価する装置及び方法を開示しているが、ホストコンピュータにおけるテストシナリオについては言及していないし、ターゲットにおける装置ユニットが増減した場合におけるテストシナリオとの関係についても全く示唆していない。
【００２０】
更に、特許文献２はマイクロコンピュータを組み込んだ制御機器における検査項目を生成する装置を開示しているだけであり、外部的にターゲットをテストすることについては何等開示していない。また、特許文献２では、状態遷移情報の増大に伴う問題点についても指摘していない。
【００２１】
本発明の目的はテストされるべきターゲットの機能の変化に伴うテストシナリオの作成工程や作成時間の増加を抑えることができるテストシステム及び方法を提供することである。
【００２２】
本発明の他の目的は上記したテストシステム及びテスト方法に使用されるコンピュータにより実行できるプログラムを提供することである。
【課題を解決するための手段】
【００２３】
本発明の第１の態様によれば、テストされるべきターゲットをコンピュータを用いて検証するテスト方法において、前記ターゲットを第１の検証の終了状態から第２の検証の開始状態に遷移させる際、前記第１の検証から予め定められた中間状態に遷移させる第１の遷移を行った後、当該中間状態から前記第２の検証の開始状態に遷移させる第２の遷移を行うことを特徴とするテスト方法が得られる。
【００２４】
この場合、第１及び第２の検証を行う第１及び第２のテストシナリオのほかに、中間状態に遷移させる第１の遷移を行う手続を規定する中間状態遷移手続及び第２の検証の開始状態に遷移させる第２の遷移を行う手続を規定する自状態遷移手続を格納する記憶手段が備えられている。
【００２５】
本発明の第２の態様によれば、テストされるべきターゲットをコンピュータを用いて検証するテストシステムにおいて、前記ターゲットの状態を順次テストする複数のテストシナリオを格納する手段と、前記複数の状態のうち予め定められた状態を中間状態として定めておき、遷移元の状態から前記中間状態に遷移させる中間状態遷移手続及び前記中間状態から他の状態へ遷移させる自状態遷移手続を格納する手段とを備えたテストシステムが得られる。この場合、コンピュータの中央処理装置は、各テストシナリオを実行した後、前記中間状態遷移手続を実行することにより、一旦、前記ターゲットを中間状態に遷移させた後、前記自状態遷移手続を実行することにより、遷移先の状態に遷移させる動作を実行する。
【００２６】
本発明の第３の態様によれば、複数の状態間で、遷移元の状態から遷移先の状態に遷移する状態遷移を行うようなターゲットをコンピュータにより自動的に検証せしめるプログラムにおいて、前記複数の状態のうちの予め定められた一つの状態を中間状態として規定しておき、前記中間状態を経由して前記遷移元から遷移先の状態に遷移させる状態遷移ステップを含むことを特徴とするコンピュータで読取可能なプログラムが得られる。この場合、状態遷移ステップは、前記遷移元の状態から前記中間状態に遷移させる中間状態遷移手続を実行するステップと、前記中間状態から前記遷移先の状態に遷移させる自状態遷移手続を実行するステップとを有している。
【発明の効果】
【００２７】
本発明は、遷移元の状態から遷移先への状態へ遷移する際、予め定められた中間状態を規定しておき、遷移元の状態を一旦、中間状態に遷移させた後、中間状態から遷移先の状態に遷移させている。このように、中間状態を経て、状態遷移を行うことにより、状態遷移手続の定義数を減少させることができ、状態数の増減等の変更に容易に対応できる。したがって、本発明のテストシステムはテストすべき状態数が多く、且つ、機能変更の多い電子機器をテストを容易に行うことができると共に、テストシナリオの実行順番を変更にも対応できる。
【発明を実施するための最良の形態】
【００２８】
制御対象となる制御システム、即ち、ターゲットを検証（即ち、テスト）する場合、第１の検証の終了後、第２の検証を行う時、第１の検証により遷移した状態から第２の検証を開始する条件の状態に遷移させる必要がある。このようなターゲットを自動的に検証する自動検証装置においては、検証を連続して実行するために、任意の状態から別の状態に遷移する手続を定義している。
【００２９】
本発明では、この任意の状態から別の任意の状態へ状態遷移させる手続を、そのターゲットであらかじめ一つの中間状態を決め、ターゲットが有する全ての状態からその中間状態への遷移手続を定義することにより、遷移元の状態から遷移先の状態への遷移の手順を最短にすることを特徴とする。
【００３０】
具体的に説明すると、例えば、電源ＯＦＦのテストを行う為には、予め電源がＯＮしていなければならない等、通常、テストシナリオを実行することにより、テスト（即ち、検証）を行う場合、テストを行う為の前提条件が存在する。各テストシナリオはこの前提条件を検証開始条件状態としている。まず、検証を行う際、テストシナリオは、開始条件状態として記述されている状態に、検証対象であるターゲットの状態を変更した後、テストを開始する。また、各テストシナリオには、互いに異なる内容を有するテスト手順が記述されると共に、このテスト手順を実行後の状態が終了状態として記述されている。
【００３１】
図１を参照して、上記した条件でターゲットを自動検証する本発明の原理を説明する。ここで、３つのテストシナリオ１、２、３はこの順番で、コンピュータにより実行されるものとする。図示されたテストシナリオ１は、図１に示されているように、開始条件Ｓ１、テスト手順Ｐ１、終了状態Ｓ２を有し、テストシナリオ２は開始条件Ｓ４、テスト手順Ｐ２、終了状態Ｓ３を有し、更に、テストシナリオ３は開始条件Ｓ２、テスト手順Ｐ３、終了状態Ｓ４を有している。これらテストシナリオ１〜３はハードディスク等の記憶装置に格納されている。
【００３２】
本発明では、テストシナリオ１〜３の外に、終了状態Ｓ１から予め定められた中間状態Ｍに遷移する中間状態遷移手続（Ｓ１／Ｍ）及び中間状態Ｍから開始条件状態Ｓ１に遷移する自状態遷移手続（Ｍ／Ｓ１）がメモリ１０に格納されている。同様に、終了条件Ｓ２から予め定められた中間状態Ｍに遷移する中間状態遷移手続（Ｓ２／Ｍ）及び中間状態Ｍから開始条件状態Ｓ２に遷移する自状態遷移手続（Ｍ／Ｓ２）がメモリ１０に格納されている。このように、メモリ１０には、各終了条件Ｓ３、Ｓ４から中間状態Ｍに遷移する中間状態遷移手続（Ｓ／Ｍ）（添字省略）及び中間状態Ｍから各テストシナリオの開始条件状態Ｓに遷移する自状態遷移手続（Ｍ／Ｓ）がメモリ１０に格納されている。ここで、上記した中間状態遷移手続（Ｓ／Ｍ）及び自状態遷移手続（Ｍ／Ｓ）は総称的に状態遷移データと呼ぶものとし、これらの手続を格納したメモリ１０はテストシナリオ１〜３を格納した記憶装置は物理的に別に設けられても良いし、同一の記憶装置でも良い。
【００３３】
本発明の原理に基づいて動作を行う自動検証装置は例えば、カーオーディオ装置等のターゲット（図示せず）に接続され、この状態で、ターゲットのテスト検証が行われる。図示された例では、まず、テストシナリオ１が中央処理装置（ＣＰＵ）に読み込まれ、当該テストシナリオ１の開始条件状態Ｓ１が初期状態と比較され、一致している場合には、テストシナリオ１のテスト手順Ｐ１が実行される。テスト手順Ｐ１が終了すると、ターゲットはテストシナリオ１の終了状態Ｓ２に置かれる。
【００３４】
次に、このテストシナリオ１の終了状態Ｓ２がテストシナリオ２の開始条件状態Ｓ４と比較され、不一致であれば、ＣＰＵは終了状態Ｓ２を中間状態に遷移させる中間状態遷移手続（Ｓ２／Ｍ）にしたがって、ターゲットを終了状態Ｓ２から予め定められた中間状態Ｍに遷移させる。この遷移は第１の遷移と呼んでも良い。ここで、中間状態Ｍとしては、例えば、カーオーディオ装置の場合、チューナー状態を選択することができる。
【００３５】
図示された例では、当該中間状態Ｍからテストシナリオ２の開始条件状態Ｓ４に第２の遷移を行う必要がある。このため、中間状態Ｍからテストシナリオ２の開始条件状態Ｓ４に遷移させる自状態遷移手続（Ｍ／Ｓ４）がＣＰＵにより実行され、この結果、ターゲットはテストシナリオ２の開始条件状態Ｓ４に置かれる。
【００３６】
次に、テストシナリオ２のテスト手順２にしたがってＣＰＵはターゲットを検証し、検証後、ターゲットを終了状態Ｓ３にする。この終了状態Ｓ３が次に実行されるテストシナリオ３の開始条件状態Ｓ２と異なっていると、ＣＰＵは終了状態Ｓ３を中間状態Ｍにする中間状態遷移手続（Ｓ３／Ｍ）を実行して、中間状態Ｍにする第１の遷移を行った後、中間状態Ｍからテストシナリオ３の開始条件状態Ｓ２にする自状態遷移手続（Ｍ／Ｓ２）を実行する。
【００３７】
自状態遷移手続（Ｍ／Ｓ２）の実行によって、ターゲットはテストシナリオ３の開始条件状態Ｓ２になり、この状態で、テストシナリオ３のテスト手順Ｐ３にしたがってターゲットの検証が行われ、検証が終了すると、ターゲットの状態は終了状態Ｓ４になる。
【００３８】
このようにして、３つのテストシナリオ１、２、３が順番に実行されることになる。実際には、同様な手法により、第１の遷移及び第２の遷移を繰り返すことにより、多数のテストシナリオが実行され、ターゲットの状態数に応じた検証を自動的に行うことができる。
【実施例１】
【００３９】
次に、図２及び図３を図１と併せ参照して、本発明の一実施例に係るテストシステムを具体的に説明する。図２には、本発明の一実施例に係るテストシステムが示されており、当該テストシステムは自動検証を行うホストコンピュータ２０と、検証対象となるターゲット２１とによって構成されている。ターゲット２１はカーオーディオ装置のように、チューナー、カセット、ＭＤ、ＣＤ、ＤＶＤ装置等のように、複数の装置ユニットを有しており、ユーザはボタンを操作することによって、各装置ユニット、及び、各装置ユニットの状態を任意に選択でき、選択の結果、ターゲットは選択前の状態から選択後の状態に遷移する。図示されたテストシステムは、ユーザが操作する可能性のある全ての状態をテスト検証するシステムであり、ここでは、ボタン操作前の状態に対応する状態を遷移元の状態、ボタン操作後の状態に対応する状態を遷移先の状態と呼ぶものとする。
【００４０】
図示された検証対象のターゲット２１はホストコンピュータ２０からのデータを送受信する通信部２１１と、通信部２１１で受信したデータを実行するテスト実行部２１２を有している。
【００４１】
一方、ホストコンピュータ２０は図１を参照して説明された動作を行うことができる。図２に示されたホストコンピュータ２０はテストシナリオを格納する記憶装置２５、図１に示されたメモリ１０と同様に、中間状態遷移手続、自状態遷移手続等の状態遷移データを格納したメモリ１０、記憶装置２５からのテストシナリオ及びメモリ１０からの状態遷移データにしたがってターゲット２１のテスト検証を行うＣＰＵ３０を備えている。更に、図示されたホストコンピュータ２０は実行結果及び期待値を保持するレジスタ等のメモリ３５、３６、実行結果を表示する表示装置４０、及び、ターゲット２１との間でテストのための情報を送受する通信部４１とを含んでいる。
【００４２】
図示されたＣＰＵ３０は、その動作に対応して状態比較部３０１、テスト実行部３０２、及び、実行結果比較部３０３によって特徴付けられている。この例では、自動検証の対象となるターゲットの存在し得る全ての状態において、各状態から唯一の中間状態Ｍ（ここでは、チューナー状態）へ遷移させるものとする。
【００４３】
メモリ１０には、図１を参照して説明したように、中間状態遷移手続（Ｓ／Ｍ）と、その中間状態Ｍから自状態に遷移させる自状態遷移手続（Ｍ／Ｓ）を定義した状態遷移データが格納されている。一方、記憶装置２５には、テストの手順を定義したテストシナリオが開始条件状態及び終了状態とが図１に示された形式で格納されている。
【００４４】
図３には、本発明に係るテストを行うプログラムが示されている。図３に示されたテストプログラムをも併せ参照すると、ＣＰＵ３０は、テストが開始されると、ステップＳｔ１においてターゲット２１の現在の状態を取得する一方、ステップＳｔ２において記憶装置２５からテストシナリオを読み込む。ＣＰＵ３０では、状態比較部３０１により、取得した現在の状態と、テストシナリオで要求されている次の状態（例えば、図１の開始条件状態Ｓ1）とを比較し、両者が一致しているか否かを検出する（ステップＳｔ３）。
【００４５】
両者が一致している場合、ステップＳｔ４に示すように、テストシナリオ中のテスト手順をテスト実行部３０２により実行し、実行後、次のテストシナリオが存在するか否かを判定する（ステップＳｔ５）。次のテストシナリオが存在すれば、ステップＳｔ１に戻って、ターゲット２１の現在の状態を読み込み（ステップＳｔ１）、存在しなければテストを終了する。
【００４６】
ステップＳｔ５において、次のテストシナリオが存在し、ステップＳｔ１に戻った状態では、テストシナリオは終了状態にあり、この結果、ターゲット２１もテストシナリオの終了状態にある。
【００４７】
テストシナリオの終了状態と次のテストシナリオの開始条件状態とがステップＳｔ３で比較され、比較の結果、両者が異なることが判明すると、ＣＰＵ３０はメモリ１０にアクセスして、遷移元の中間状態遷移手続を読み込み、この手続は状態比較部３０１からテスト実行部３０２に送られ、テスト実行部３０２で実行される（ステップＳｔ６）。この結果、ターゲット２１は予め定められた中間状態（ここでは、チューナー状態）に遷移する。
【００４８】
続いて、図３のステップＳｔ７に示すように、遷移先の自状態遷移手続がメモリ１０から読み込まれた後、テスト実行部３０２で実行され、実行結果は通信部４１を介してターゲット２１に送信される。この自状態遷移手続（Ｍ／Ｓ）の実行により、ターゲット２１は次のテストシナリオの開始条件状態に置かれ、この状態で、次のテストシナリオがテスト実行部３０２により実行される（ステップＳｔ４）。
【００４９】
以下同様にして、中間状態遷移手続及び自状態遷移手続を経て、テストシナリオが順次実行され、次のテストシナリオが存在しなくなると、テストは終了する。
【００５０】
他方、ターゲット２１のテスト実行部２１２に実行されたテスト結果はその通信部２１１を介して、ホストコンピュータ２０の通信部４１に送られ、当該通信部４１からテスト実行部３０２を介して実行結果を保持するメモリ３５に格納される。
【００５１】
次に、当該メモリ３５に格納された実行結果は、メモリ３６に保存され、テストシナリオの実行の正常な実行結果の内容をあらわす期待値と実行結果比較部３０３で比較され、実行結果比較部３０３の結果は表示する実行結果表示部４０に表示される。
【００５２】
ここで、ＣＰＵ３０の状態比較部３０１及びテスト実行部３０２と、ターゲット２１の通信部２１１及びテスト実行部２１２との間のデータの送受信動作を図２を参照して具体的に説明する。
【００５３】
状態比較部３０１は現在の状態（遷移元の状態）を取得するための手続を、ホストコンピュータ２０側のテスト実行部３０２に送り、ターゲット２１側で実行するデータを作成し、ホスト側の通信部４１を経由して、ターゲット２１側の通信部２１１に送る。ターゲット２１側のテスト実行部２１２は、現在の状態を取得する手続を実行して、実行結果をターゲット２１側の通信部２１１を経由して、ホストコンピュータ２０に送る。
【００５４】
ホストコンピュータ２０側の通信部４１でそのデータを受信して、テスト実行部３０２に送り、状態比較部３０１は、現在の状態として実行結果をテスト実行部から受け取る。受け取った現在の状態とテストシナリオの開始条件状態（遷移先の状態）とを状態比較部で比較する。
【００５５】
比較の結果、両者が異なる場合は、状態遷移データの遷移元の状態の中間状態遷移手続を読み取り、ターゲット２１側で実行する内容(データ)をテスト実行部３０２で作成し、通信部４１を経由して、ターゲット２１側の通信部２１１にデータを送信し、ターゲット２１側のテスト実行部２１２で、その受信したデータを実行して、ターゲット２１側を一旦中間状態に遷移させる。
【００５６】
次に、状態比較部３０１は遷移先の状態の自状態遷移手続を読み取り、テスト実行部３０２で同じようにターゲット２１側で実行するデータを作成し、ターゲット２１のテスト実行部２１２で実行して、遷移先の状態に遷移させることにより、テストシナリオの開始条件状態を成立させ、その後、テストシナリオをホストコンピュータ２０側のテスト実行部３０２で順次実行し、作成したデータを同様にターゲット２１へ送信し、ターゲット２１側のテスト実行部２１２で実行させる。
【００５７】
実行した結果は、ターゲット２１側の通信部２１１からホストコンピュータ２０側の通信部４１に送られ、テスト実行部３０２で受け取り、実行結果として保存され、順次期待値と実行結果比較部３０３で比較され、結果を実行結果表示部４０で表示することにより自動検証が行われる。
【００５８】
図４を参照すると、図２に示されたホストコンピュータ２０のハードウェア構成が示されている。図示されたホストコンピュータ２０はＣＰＵ３０を有し、当該ＣＰＵ３０はバス４５を介して、通信部４１、ディスプレイ装置によって構成された実行結果表示部４０、メインメモリ５０、及び、キーボード等の入力装置４８に接続されている。この例では、テストシナリオ及び中間状態遷移手続及び自状態遷移手続をメインメモリ５０に格納した例が示されている。尚、図４では、メインメモリ５０のテストシナリオを格納した部分を２５で示し、状態遷移データを格納した部分を１０で示している。更に、図示された通信部４１はターゲット２１の通信部２１１に接続されていることは言うまでもない。
【００５９】
図示されたＣＰＵ３０はターゲット２１をテストする際、メモリ１０及び記憶装置２５のテストシナリオ及び状態遷移データを読み込んで、ターゲット２１の自動検証を行う。
【００６０】
次に、図５〜図８を参照して、本発明の効果について説明する。まず、図５では、状態数がＳ１、Ｓ２、Ｓ３、及び、Ｓ４の４つとし、各状態Ｓ１〜Ｓ４のいずれにも遷移することができるものとして説明する。この場合、本発明では、図５に示すように、遷移元の状態Ｓ１〜Ｓ４から中間状態Ｍに遷移し、その後、中間状態Ｍから遷移先の状態Ｓ１〜Ｓ４に遷移する動作が行われる。このため、本発明では、図示されているように、遷移元の状態Ｓ１〜Ｓ４を中間状態Ｍに遷移させる４つの中間状態遷移手続と、中間状態Ｍから遷移先の状態に遷移させる４つの自状態遷移手続とからなる合計８つの状態遷移手続を定義することが必要となる。
【００６１】
このように、中間状態Ｍを設けた場合、状態数の増加、減少、或いは、変更等に柔軟に対応できることについて、図６をも参照して説明する。
【００６２】
図６を参照すると、状態数の数が４から５に増加した場合の例が示されている。図６からも明らかな通り、状態Ｓ５を中間状態Ｍに遷移させる中間状態遷移手続と、中間状態Ｓ５を状態Ｓ５に遷移させる自状態遷移手続の２つを付け加えるだけで、状態数の増加に容易に対応できる。
【００６３】
本発明の上記した効果を明確にするために、比較例として、中間状態Ｍを用いず、直接遷移元から遷移先に状態遷移を行う場合を説明する。
【００６４】
図７を参照すると、図５と同様に、４つの状態間で遷移が行われる場合が示されている。即ち、状態Ｓ１を他の３つの状態Ｓ２、Ｓ３、Ｓ４に遷移させる状態遷移手続を定義すると共に、状態Ｓ２、Ｓ３、Ｓ４についてもそれぞれ３つの状態遷移手続を定義する必要がある。この結果、中間状態を経由することなく、４つの状態間を直接遷移させる場合、合計１２の状態遷移手続を定義することが必要になることが分る。
【００６５】
更に、図８を参照すると、図７の状態数４が状態数５に増加した場合が示されている。この場合、遷移元の状態Ｓ５を遷移先の４つの状態Ｓ１〜Ｓ４に遷移させる４つの遷移手続を新たに追加すると共に、遷移元の各状態Ｓ１〜Ｓ４を状態Ｓ５に遷移させる４つの状態遷移手続をも追加する必要がある。この結果、図８の例では、合計２０の状態遷移手続を定義しなければならない。したがって、中間状態を使用しない場合、状態数の増加と共に、必要となる状態遷移手続は爆発的に増加することになる。
【００６６】
上記したことから、本発明のように、遷移元から遷移先への状態遷移の間に、所定の中間状態を規定しておくことにより、状態遷移手続の定義数を減少させることができることが分る。また、本発明のように、テストシナリオの実行順番を変更することも容易である。
【００６７】
尚、テストシナリオ、中間状態遷移手続、及び、自状態遷移手続は全てコンピュータで実行可能なプログラムであることは言うまでもない。
【産業上の利用可能性】
【００６８】
上記した実施例では、カーオーディオ装置を例に上げて説明したが、本発明は何等これに限定されることなく、複数の装置ユニットを含む他の電子機器のテストにも適用できる。また、電子機器自身のテストにも応用できる。
【図面の簡単な説明】
【００６９】
【図１】本発明の原理を説明するブロック図である。
【図２】本発明の一実施例に係るテストシステムを示すブロック図である。
【図３】図２に示されたテストシステムの動作を説明するフローチャートである。
【図４】本発明に係るホストコンピュータのハードウェア構成を示すブロック図である。
【図５】本発明における４状態間の状態遷移を示す図である。
【図６】本発明における５状態間の状態遷移を示す図である。
【図７】比較例における４状態間の状態遷移を示す図である。
【図８】比較例における５状態間の状態遷移を示す図である。
【図９】実際に行われているテスト方法を説明するブロック図である。
【符号の説明】
【００７０】
２０          ホストコンピュータ
２１            ターゲット
２５            記憶装置
１０            メモリ
３０            ＣＰＵ
３０１          状態比較部
３０２          テスト実行部
３０３          実行結果比較部
３５、３６      メモリ
４１            通信部
４５            バス
５０            メインメモリ
２１１          通信部
２１２          テスト実行部
【図１】
2005038253.tif 000003
【図２】
2005038253.tif 000004
【図３】
2005038253.tif 000005
【図４】
2005038253.tif 000006
【図５】
2005038253.tif 000007
【図６】
2005038253.tif 000008
【図７】
2005038253.tif 000009
【図８】
2005038253.tif 000010
【図９】
2005038253.tif 000011