(57)【特許請求の範囲】
【請求項１】
第１期待値および前記第１期待値の各ビットを反転して得られる第２期待値を順にテスト対象装置に通知する実行部と、
前記テスト対象装置から送信される、複数ビットのテスト対象シグナルを一部に含むメッセージを順次受信する通信部と、
前記実行部が前記第２期待値を前記テスト対象装置へ渡すまでの第１期間に前記通信部により受信されたメッセージに含まれるテスト対象シグナルの値を前記第１期待値と照合し、前記実行部が前記第２期待値を前記テスト対象装置へ渡した後の第２期間に前記通信部により受信されたメッセージに含まれるテスト対象シグナルの値を、前記第２期待値と照合し、両方の照合結果に基づいて、前記テスト対象装置のテストの合否を判定する判定部と
を備えるテスト装置。
【請求項２】
テスト対象シグナルの初期値を前記第１期待値に決定し、前記初期値の各ビットを反転して得られる値を演算し、演算結果を前記第２期待値に決定する決定部をさらに備える請求項１に記載のテスト装置。
【請求項３】
テスト対象装置から送信される、複数ビットのテスト対象シグナルを一部に含むメッセージを順次受信する通信部と、
前記通信部により第１期間に受信されたメッセージに含まれるテスト対象シグナルの値を第１期待値と照合し、前記通信部により前記第１期間とは異なる第２期間に受信されたメッセージに含まれるテスト対象シグナルの値を、前記第１期待値の各ビットを反転して得られる第２期待値と照合し、両方の照合結果に基づいて、前記テスト対象装置のテストの合否を判定する判定部と、
テスト対象シグナルの初期値を前記第１期待値に決定し、前記初期値の各ビットを反転して得られる値を演算し、演算結果を前記第２期待値に決定する決定部と
を備え、
前記決定部は、前記初期値および前記演算結果の少なくともいずれかがテスト対象シグナルの値域外である場合、前記値域内の、前記初期値とは異なる値である第１設定値を前記第１期待値に決定し、前記値域内の、前記第１設定値の各ビットを反転して得られる第２設定値を前記第２期待値に決定するテスト装置。
【請求項４】
テスト対象装置から送信される、複数ビットのテスト対象シグナルを一部に含むメッセージを順次受信する通信部と、
前記通信部により第１期間に受信されたメッセージに含まれるテスト対象シグナルの値を第１期待値と照合し、前記通信部により前記第１期間とは異なる第２期間に受信されたメッセージに含まれるテスト対象シグナルの値を、前記第１期待値の各ビットを反転して得られる第２期待値と照合し、両方の照合結果に基づいて、前記テスト対象装置のテストの合否を判定する判定部と
を備え、
前記判定部は、前記通信部により受信されたメッセージにおいてテスト対象シグナルに隣接するシグナルの値を第３期待値と照合し、テスト対象シグナルの値の照合結果と、テスト対象シグナルに隣接するシグナルの値の照合結果とに基づいて、前記テスト対象装置のテストの合否を判定するテスト装置。
【請求項５】
テスト対象装置から送信される、複数ビットのテスト対象シグナルを一部に含むメッセージを順次受信する通信部と、
前記通信部により第１期間に受信されたメッセージに含まれるテスト対象シグナルの値を第１期待値と照合し、前記通信部により前記第１期間とは異なる第２期間に受信されたメッセージに含まれるテスト対象シグナルの値を、前記第１期待値の各ビットを反転して得られる第２期待値と照合し、両方の照合結果に基づいて、前記テスト対象装置のテストの合否を判定する判定部と
を備え、
テスト対象シグナルを含むメッセージには、テスト対象シグナルの値の更新有無を示すアップデートビットが含まれ、
前記判定部は、前記通信部により受信されたメッセージに含まれるアップデートビットの値を第４期待値と照合し、テスト対象シグナルの値の照合結果と、アップデートビットの値の照合結果とに基づいて、前記テスト対象装置のテストの合否を判定するテスト装置。
【請求項６】
テスト対象装置から送信される、複数ビットのテスト対象シグナルを一部に含むメッセージを順次受信する通信部と、
前記通信部により第１期間に受信されたメッセージに含まれるテスト対象シグナルの値を第１期待値と照合し、前記通信部により前記第１期間とは異なる第２期間に受信されたメッセージに含まれるテスト対象シグナルの値を、前記第１期待値の各ビットを反転して得られる第２期待値と照合し、両方の照合結果に基づいて、前記テスト対象装置のテストの合否を判定する判定部と
を備え、
前記テスト対象装置から送信されるメッセージには、テスト対象シグナルと他の１つ以上のシグナルとが個別の周期ごとに含まれ、
テスト対象シグナルの周期は、他のいずれのシグナルの周期とも異なるテスト装置。
【請求項７】
テスト対象シグナルの周期は、他のいずれのシグナルの周期よりも短い請求項６に記載のテスト装置。
【請求項８】
前記通信部は、前記テスト対象装置のテストの実施中、他のいずれのシグナルも少なくとも１回ずつ受信する請求項６または７に記載のテスト装置。
【請求項９】
テスト装置が、第１期待値および前記第１期待値の各ビットを反転して得られる第２期待値を順にテスト対象装置に通知し、
テスト対象装置が、複数ビットのテスト対象シグナルを一部に含むメッセージを順次送信し、
テスト装置が、前記テスト対象装置から送信されるメッセージを順次受信し、
前記テスト装置が、前記テスト装置が前記第２期待値を前記テスト対象装置へ渡すまでの第１期間に受信したメッセージに含まれるテスト対象シグナルの値を前記第１期待値と照合し、前記テスト装置が前記第２期待値を前記テスト対象装置へ渡した後の第２期間に受信したメッセージに含まれるテスト対象シグナルの値を、前記第２期待値と照合し、両方の照合結果に基づいて、前記テスト対象装置のテストの合否を判定するテスト方法。
【請求項１０】
コンピュータに、
第１期待値および前記第１期待値の各ビットを反転して得られる第２期待値を順にテスト対象装置に通知する処理と、
前記テスト対象装置から送信される、複数ビットのテスト対象シグナルを一部に含むメッセージを順次受信する処理と、
前記通知する処理部が前記第２期待値を前記テスト対象装置へ渡すまでの第１期間に受信されたメッセージに含まれるテスト対象シグナルの値を前記第１期待値と照合し、前記通知する処理部が前記第２期待値を前記テスト対象装置へ渡した後の第２期間に受信されたメッセージに含まれるテスト対象シグナルの値を、前記第２期待値と照合し、両方の照合結果に基づいて、前記テスト対象装置のテストの合否を判定する処理と
を実行させるテストプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テスト装置、テスト方法およびテストプログラムに関するものである。
【背景技術】
【０００２】
自動車および船舶には、エンジンの点火時期およびステアリングモータの制御を行うＥＣＵが搭載されている。「ＥＣＵ」は、Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔの略語である。ＥＣＵに実装されるソフトウェアは、アプリケーションとＰＦとによって階層的に構成されている。ＰＦが通信機能およびウォッチドッグ機能等、ＥＣＵ間で共通の汎用的な機能を担い、アプリケーションのＥＣＵ間の移植性および再利用性を向上させている。「ＰＦ」は、ＰｌａｔＦｏｒｍの略語である。近年、このＰＦとしては、ＡＵＴＯＳＡＲ（登録商標）が業界標準仕様として広く利用されている。「ＡＵＴＯＳＡＲ」は、ＡＵＴｏｍｏｔｉｖｅ  Ｏｐｅｎ  Ｓｙｓｔｅｍ  ＡＲｃｈｉｔｅｃｔｕｒｅの略語である。【０００３】
ＡＵＴＯＳＡＲ（登録商標）を搭載するＥＣＵの開発では、まず、ＡＵＴＯＳＡＲ（登録商標）製品に対して車両全体またはあるネットワークに接続される全ＥＣＵに共通するシステム情報が記載されたシステム情報ファイルを読み込ませる。システム情報としては、ＥＣＵ間でやり取りするメッセージおよびシグナル等の長さおよび配置の情報等がある。次に、アプリケーションに適した設定を施してコードを自動生成する。そして、ＡＵＴＯＳＡＲ（登録商標）製品をアプリケーションと接続してＥＣＵへ実装する。【０００４】
自動運転支援システム等、制御の高度化に伴ってＥＣＵの機能は複雑化している。ＥＣＵの動作に不具合があった場合、その原因究明が困難になっている。そのため、アプリケーションを接続する前にＡＵＴＯＳＡＲ（登録商標）のようなＰＦのみをテストすることでＰＦおよびシステム情報ファイルの不具合を発見し、アプリケーションに含まれる不具合との切り分けを容易にすることが求められている。【０００５】
ここで、ＰＦまたはシステム情報ファイルの不具合としては、図１７に示すメッセージに対する全シグナルの位置ずれ、および、図１８に示す特定のシグナルのみの位置ずれがある。前者はＰＦ内部のシグナル配置処理における不具合が主な原因である。後者はシステム情報ファイル作成時に含まれるシグナル開始位置設定の不具合が主な原因である。【０００６】
ＡＵＴＯＳＡＲ（登録商標）では、テストに関してＡＵＴＯＳＡＲ（登録商標）製品の受け入れテスト仕様を定めている。ＡＵＴＯＳＡＲ（登録商標）の通信機能に対するテスト仕様では、図１９に示すようなテスト構成を用いてＰＦの機能を確認するためのテストステップと判定基準とがテストシナリオとして定められている。例えば、非特許文献１では、通信を開始した後に周期送信設定されたテスト対象のシグナルが周期通りに送信されること、および、テスト対象シグナルの値を更新して送信し、バス上に流れるシグナル値がその更新した値となっていることを確認することが定められている。【０００７】
しかし、このテスト対象シグナルを更新する場合の値については、初期値以外とするという規定以外は設けられていない。そのため、適切な値で更新しなければ、前述の２種類の不具合を検出できない可能性がある。不具合を検出できた場合であっても、シグナルの位置ずれに関する不具合であるのかどうか識別することが困難である。シグナルの位置ずれであっても、全シグナルの位置ずれであるのか、特定のシグナルの位置ずれなのか識別することが困難である。特定のシグナルの位置ずれであっても、特定のシグナルのうちテスト対象シグナルの位置ずれなのか、他のシグナルの位置ずれによるテスト対象シグナルへの重複なのかまでは識別することが困難である。【０００８】
通常、ＰＦの受け入れテストでは、受け入れテスト用のＰＦの設定を行い、テストを行う。しかし、ＰＦの複雑化に伴い、ＰＦに不具合があっても受け入れテスト用の設定では不具合は検出されず、製品出荷用の設定を行ったことで不具合が顕在化するような場合がある。製品出荷用の設定を行ってＰＦをアプリケーションと組み合わせた後で不具合が検出された場合、アプリケーションの不具合かＰＦの不具合かという原因の切り分け作業に工数がかかってしまう。【０００９】
不具合を検出するテストデータの決定方法として、特許文献１では、カウンタ値に対して排他論理和による演算を施し、前回のテストデータ値とのハミング距離が常に（ビット数−１）となるテストデータを算出する方法が開示されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１０−１１７３１６号公報
【非特許文献】
【００１１】
【非特許文献１】ＡＵＴＯＳＡＲ、“Ａｃｃｅｐｔａｎｃｅ  Ｔｅｓｔ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｏｆ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｏｎ  ＣＡＮ  ｂｕｓ  Ｒｅｌｅａｓｅ  １．１．０”、ｐｐ．  １２−１３、［ｏｎｌｉｎｅ］、ＡＵＴＯＳＡＲ、［２０１７年１月２０日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ａｕｔｏｓａｒ．ｏｒｇ／ｆｉｌｅａｄｍｉｎ／ｆｉｌｅｓ／ｓｔａｎｄａｒｄｓ／ｔｅｓｔｓ／ｔｃ−１−１／ｓｐｅｃｉｆｉｃａｔｉｏｎｓ＿ａｕｘｉｌｉａｒｙ／ＡＵＴＯＳＡＲ＿ＡＴＳ＿ＣｏｍｍｕｎｉｃａｔｉｏｎＣａｎ．ｐｄｆ＞
【発明の概要】
【発明が解決しようとする課題】
【００１２】
特許文献１に開示されている技術では、１つのテスト対象シグナルに対してカウンタ値回数分のテストデータが代入される。そのため、全テスト対象シグナルに対するテスト実施工数が増大する。すなわち、不具合を効率的に検出することができない。また、アプリケーションから入力可能な信号の値域が考慮されない。そのため、浮動小数点型の無限大を表す値が算出されることがある。すなわち、テスト用アプリケーションでテスト対象シグナルの値として格納できないシグナル型値域外の値が算出されることがある。さらに、不具合を検出できたとしても、その検出した不具合の原因を識別することはできない。【００１３】
本発明は、不具合を効率的に検出することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の一態様に係るテスト装置は、
テスト対象装置から送信される、複数ビットのテスト対象シグナルを一部に含むメッセージを順次受信する通信部と、
前記通信部により第１期間に受信されたメッセージに含まれるテスト対象シグナルの値を第１期待値と照合し、前記通信部により前記第１期間とは異なる第２期間に受信されたメッセージに含まれるテスト対象シグナルの値を、前記第１期待値の各ビットを反転して得られる第２期待値と照合し、両方の照合結果に基づいて、前記テスト対象装置のテストの合否を判定する判定部とを備える。
【発明の効果】
【００１５】
本発明では、第１期待値と、第１期待値の各ビットを反転して得られる第２期待値との両方を用いてテストを実施することで、メッセージに対する全シグナルの位置ずれ、および、特定のシグナルのみの位置ずれの両方を検出することができる。すなわち、前述の２種類の不具合を効率的に検出することが可能になる。
【図面の簡単な説明】
【００１６】
【図１】実施の形態１に係るテスト装置の構成を示すブロック図。
【図２】実施の形態１に係るテスト装置の抽出部の動作を示すフローチャート。
【図３】実施の形態１に係るテスト装置の決定部の動作を示すフローチャート。
【図４】実施の形態１に係るテスト装置の実行部、判定部および出力部の動作を示すフローチャート。
【図５】実施の形態１に係るＣＡＮメッセージ内のテスト対象シグナルの配置例を示す図。
【図６】実施の形態１に係るＣＡＮメッセージ内の、全シグナルの位置ずれ時におけるテスト対象シグナルの配置例を示す図。
【図７】実施の形態１に係るＣＡＮメッセージ内の、他のシグナルの位置ずれ時におけるテスト対象シグナルの配置例を示す図。
【図８】実施の形態２に係るテスト装置の抽出部の動作を示すフローチャート。
【図９】実施の形態２に係るテスト装置の実行部の動作を示すフローチャート。
【図１０】実施の形態２に係るテスト装置の実行部の動作を示すフローチャート。
【図１１】実施の形態２に係るテスト装置の判定部および出力部の動作を示すフローチャート。
【図１２】実施の形態２に係るテスト装置の判定部および出力部の動作を示すフローチャート。
【図１３】実施の形態２に係るＣＡＮメッセージ内のテスト対象シグナルおよびアップデートビットの配置例を示す図。
【図１４】実施の形態２に係るＣＡＮメッセージ内の、全シグナルの位置ずれ時におけるテスト対象シグナルおよびアップデートビットの配置例を示す図。
【図１５】実施の形態２に係るＣＡＮメッセージ内の、テスト対象シグナルの位置ずれ時におけるテスト対象シグナルおよびアップデートビットの配置例を示す図。
【図１６】実施の形態２に係るＣＡＮメッセージ内の、他のシグナルの位置ずれ時におけるテスト対象シグナルおよびアップデートビットの配置例を示す図。
【図１７】ＰＦまたはシステム情報ファイルの不具合の例を示す図。
【図１８】ＰＦまたはシステム情報ファイルの不具合の例を示す図。
【図１９】ＡＵＴＯＳＡＲ（登録商標）受け入れテスト仕様におけるテスト構成を示すブロック図。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。なお、本発明は、以下に説明する実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。例えば、以下に説明する実施の形態のうち、２つ以上の実施の形態が組み合わせられて実施されても構わない。あるいは、以下に説明する実施の形態のうち、１つの実施の形態または２つ以上の実施の形態の組み合わせが部分的に実施されても構わない。
【００１８】
実施の形態１．
本実施の形態について、図１から図７を用いて説明する。
【００１９】
＊＊＊構成の説明＊＊＊
図１を参照して、本実施の形態に係るテスト装置１００の構成を説明する。
【００２０】
テスト装置１００は、接続しているＥＣＵ２００と通信を行いながらテスト対象装置であるＥＣＵ２００に実装されているＰＦをテストする装置である。なお、ＥＣＵ２００は、複数ビットのテスト対象シグナルを一部に含むメッセージを順次送信する装置であれば、任意の装置に置き換えることができる。すなわち、テスト装置１００は、ＥＣＵ２００に限らない任意の装置をテストする装置であってよい。
【００２１】
テスト装置１００は、コンピュータである。テスト装置１００は、プロセッサ１０１を備えるとともに、メモリ１０２、ＣＡＮ通信装置１０３、シリアル通信装置１０４および入出力装置１０５といった他のハードウェアを備える。「ＣＡＮ」は、Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略語である。プロセッサ１０１は、内部バス１０６を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００２２】
テスト装置１００は、機能要素として、抽出部１１１と、決定部１１２と、実行部１１３と、判定部１１４と、出力部１１５と、通信部１１６とを備える。抽出部１１１、決定部１１２、実行部１１３、判定部１１４、出力部１１５および通信部１１６の機能は、ソフトウェアにより実現される。
【００２３】
プロセッサ１０１は、各種処理を行うＩＣである。「ＩＣ」は、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略語である。プロセッサ１０１は、例えば、ＣＰＵである。「ＣＰＵ」は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略語である。
【００２４】
メモリ１０２は、例えば、フラッシュメモリまたはＲＡＭである。「ＲＡＭ」は、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略語である。
【００２５】
ＣＡＮ通信装置１０３およびシリアル通信装置１０４は、外部のＥＣＵ２００と接続される。ＣＡＮ通信装置１０３は通信プロトコルＣＡＮ、シリアル通信装置１０４はＪＴＡＧ規格に従って動作する。「ＪＴＡＧ」は、Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐの略語である。ＣＡＮ通信装置１０３およびシリアル通信装置１０４は、通信部１１６によってＥＣＵ２００との通信を行うために用いられる。ＣＡＮ通信装置１０３およびシリアル通信装置１０４は、例えば、通信チップまたはＮＩＣである。「ＮＩＣ」は、Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄの略語である。
【００２６】
図示していないが、入出力装置１０５は、テスト装置１００に接続されるディスプレイおよびキーボード等の外部装置と接続される。入出力装置１０５は、出力部１１５によってテスト結果を表示するために用いられる。
【００２７】
メモリ１０２には、抽出部１１１、決定部１１２、実行部１１３、判定部１１４、出力部１１５および通信部１１６の機能を実現するプログラムであるテストプログラムが記憶されている。テストプログラムは、プロセッサ１０１に読み込まれ、プロセッサ１０１によって実行される。メモリ１０２には、ＯＳも記憶されている。「ＯＳ」は、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍの略語である。プロセッサ１０１は、ＯＳを実行しながら、テストプログラムを実行する。なお、テストプログラムの一部または全部がＯＳに組み込まれていてもよい。
【００２８】
テストプログラムおよびＯＳは、補助記憶装置に記憶されていてもよい。補助記憶装置は、例えば、フラッシュメモリまたはＨＤＤである。「ＨＤＤ」は、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略語である。補助記憶装置に記憶されているテストプログラムおよびＯＳは、メモリ１０２にロードされ、プロセッサ１０１によって実行される。
【００２９】
テスト装置１００は、プロセッサ１０１を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、テストプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ１０１と同じように、各種処理を行うＩＣである。
【００３０】
抽出部１１１、決定部１１２、実行部１１３、判定部１１４、出力部１１５および通信部１１６の処理の結果を示す情報、データ、信号値および変数値は、メモリ１０２、補助記憶装置、または、プロセッサ１０１内のレジスタまたはキャッシュメモリに記憶される。
【００３１】
テストプログラムは、磁気ディスクおよび光ディスクといった可搬記録媒体に記憶されてもよい。
【００３２】
＊＊＊動作の説明＊＊＊
図１を参照して、本実施の形態に係るテスト装置１００の動作の概要を説明する。テスト装置１００の動作は、本実施の形態に係るテスト方法に相当する。
【００３３】
抽出部１１１は、ＥＣＵ２００が送受信するメッセージおよびシグナルに関する情報を含むシステム情報ファイルから必要な情報を読み込む。
【００３４】
決定部１１２は、抽出部１１１が読み込んだ情報を基に、テストに使用するテストデータを決定する。
【００３５】
実行部１１３は、抽出部１１１が抽出した情報と、決定部１１２が決定したテストデータとを用いてテストシナリオを実行する。実行部１１３は、ＥＣＵ２００の動作のトリガ、および、テストに使用する更新値を通信部１１６を介してＥＣＵ２００へ渡す等の処理を行う。
【００３６】
判定部１１４は、通信部１１６を介してＥＣＵ２００から受け取ったシグナルに基づき、実行部１１３が実行したテストの合否、すなわち、テスト結果が「ＰＡＳＳ」か「ＦＡＩＬ」かを判定する。
【００３７】
出力部１１５は、判定部１１４によるテスト結果をディスプレイ等へ出力する。
【００３８】
通信部１１６は、実行部１１３から受け取った値をＥＣＵ２００へ渡すためにシリアル通信処理を行う。通信部１１６は、ＥＣＵ２００から受け取ったＣＡＮメッセージに含まれるシグナルから値を取り出して判定部１１４へ渡すためのＣＡＮ通信処理を行う。
【００３９】
テスト装置１００を用いた、ＥＣＵ２００に実装されているＰＦのテストの概要を説明する。
【００４０】
ＥＣＵ２００のソフトウェアは、ＰＦとテストアプリケーションとで構成されている。ＰＦは、システム情報ファイルに従って動作するように設定されている。
【００４１】
システム情報ファイルには、あらかじめカーメーカ等によりＥＣＵ２００製品用にＥＣＵ２００が送受信するシグナルのメッセージ内への配置の情報と、シグナルの型およびシグナルの長さ等の情報とが含まれている。
【００４２】
テスト装置１００は、システム情報ファイルを読み込む。テスト装置１００は、テストに用いるシグナルであるテスト対象シグナルと、テスト内容およびテスト対象シグナルに適したテストデータを決定する。そして、テスト装置１００は、テストシナリオに従ってテストを実行する。
【００４３】
本実施の形態のテストシナリオでは、周期送信されるＣＡＮメッセージがシステム情報ファイルで定められた周期に従って周期送信されることが確認される。ＣＡＮメッセージに含まれるテスト対象シグナルの値が、テスト開始後、テスト装置１００がＥＣＵ２００へ更新値を渡すまでは初期値であることが確認される。ＣＡＮメッセージに含まれるテスト対象シグナルの値が、テスト装置１００が更新値を渡した後はその値に更新されることが確認される。また、本実施の形態のテストシナリオでは、初期値と更新値としては異なるものを用いることが定められている。
【００４４】
ＥＣＵ２００のＰＦは、ＥＣＵ２００のテストアプリケーションがテスト装置１００によって実行をトリガされると、システム情報ファイルで定められた初期値を用いてテスト対象シグナルを含むＣＡＮメッセージの送信を開始する。ＣＡＮメッセージ内のテスト対象シグナルの位置もシステム情報ファイルには定められている。ＰＦは、その情報に従ってＣＡＮメッセージ内にテスト対象シグナルを配置する。ＰＦは、テストアプリケーションがテスト装置１００から更新値を受信するまで、初期値を用いてテスト対象シグナルを含むＣＡＮメッセージの送信を継続する。テストアプリケーションは、テスト装置１００が更新値をテストアプリケーションへ渡すと、その更新値をＰＦへ渡す。ＰＦは、ＣＡＮメッセージ内のテスト対象シグナルを更新値で更新して送信する。テスト装置１００は、ＣＡＮメッセージを受信すると、格納されているテスト対象シグナルの値が、テストアプリケーションへ更新値を渡す前には初期値と一致し、テストアプリケーションへ更新値を渡した後にはその更新値と一致するか否かを確認する。テスト装置１００は、一致すればテスト結果を「ＰＡＳＳ」、不一致であればテスト結果を「ＦＡＩＬ」と判定する。なお、ＥＣＵ２００が送信するシグナルは、テスト対象シグナルを除きテスト実行中は初期値に固定されているものとする。
【００４５】
図２から図４を参照して、本実施の形態に係るテスト装置１００の動作の詳細を説明する。
【００４６】
抽出部１１１の動作を、図２を用いて説明する。
【００４７】
ステップＳ１１において、抽出部１１１は、システム情報ファイルに含まれるシグナルのリストから、テストシナリオの条件に一致するシグナルをテスト対象シグナルとして選択する。本実施の形態におけるテストシナリオでは、テスト対象シグナルとして周期送信されるＣＡＮメッセージに含まれるシグナルが選択される。続いてステップＳ１２の処理が行われる。
【００４８】
ステップＳ１２において、抽出部１１１は、選択したテスト対象シグナルを識別するシグナルＩＤ、シグナル型、シグナル長および初期値をシステム情報ファイルから抽出する。続いてステップＳ１３の処理が行われる。
【００４９】
ステップＳ１３において、抽出部１１１は、抽出した情報をシグナル関連情報としてメモリ１０２に格納し、動作を終了する。
【００５０】
決定部１１２の動作を、図３を用いて説明する。
【００５１】
ステップＳ２１において、決定部１１２は、抽出部１１１がメモリ１０２に格納したシグナル関連情報からシグナル長および初期値の情報を用いて、シグナル長が同じ、初期値をビット反転させた値Ｖ１を導出する。続いてステップＳ２２の処理が行われる。
【００５２】
ステップＳ２２において、決定部１１２は、値Ｖ１がシグナル型で表現可能な値域外であるかを判定する。値域外である場合には、ステップＳ２３の処理が行われる。値域内である場合には、ステップＳ２５の処理が行われる。
【００５３】
ステップＳ２３において、決定部１１２は、シグナル型で表現可能な値域内の最小値を値Ｖ２とし、シグナル長が同じ、値Ｖ２をビット反転させた値を値Ｖ３とする。続いてステップＳ２４の処理が行われる。
【００５４】
ステップＳ２４において、決定部１１２は、テストデータ値を値Ｖ２および値Ｖ３として動作を終了する。
【００５５】
ステップＳ２５において、決定部１１２は、テストデータ値を初期値および値Ｖ１として動作を終了する。
【００５６】
実行部１１３、判定部１１４および出力部１１５の処理を、図４を用いて説明する。
【００５７】
ステップＳ３１において、実行部１１３は、抽出部１１１が抽出したシグナル関連情報からシグナルＩＤを用いてテスト対象シグナルを識別する。続いてステップＳ３２の処理が行われる。
【００５８】
ステップＳ３２において、実行部１１３は、決定部１１２が決定した２つのテストデータ値に、テスト対象シグナルの初期値が含まれているか確認する。含まれている場合にはステップＳ３３の処理が行われる。含まれていない場合にはステップＳ３４の処理が行われる。
【００５９】
ステップＳ３３において、実行部１１３は、テストデータ値のうち初期値でない値を更新値とする。続いてステップＳ３５の処理が行われる。
【００６０】
ステップＳ３４において、実行部１１３は、テストシナリオを２回実行することを決定する。実行部１１３は、２つのテストデータ値をそれぞれ１回目および２回目のテストシナリオ実行における更新値とする。続いてステップＳ３５の処理が行われる。
【００６１】
ステップＳ３５において、実行部１１３は、テストシナリオに従って、テスト対象シグナルと更新値とを用いて、通信部１１６を介してテストの実行を開始する。ステップＳ３４にてテストシナリオを２回実行することを決定した場合には、テストが２回実行される。続いてステップＳ３６の処理が行われる。
【００６２】
ステップＳ３６において、判定部１１４は、通信部１１６を介してＥＣＵ２００が送信するＣＡＮメッセージに含まれるテスト対象シグナルを受信する。続いてステップＳ３７の処理が行われる。なお、ステップＳ３５におけるテスト実行の開始後は、テストシナリオの実行と、ステップＳ３６におけるシグナルの受信とが並行して行われる。
【００６３】
ステップＳ３７において、判定部１１４は、テストシナリオに従ってテスト判定を行う。続いてステップＳ３８の処理が行われる。
【００６４】
ステップＳ３８において、出力部１１５は、判定部１１４でのテストの判定結果を出力し、動作を終了する。
【００６５】
上記のように、ステップＳ３６において、通信部１１６は、テスト対象装置であるＥＣＵ２００から送信される、複数ビットのテスト対象シグナルを一部に含むメッセージを順次受信する。ステップＳ３７において、判定部１１４は、通信部１１６により第１期間に受信されたメッセージに含まれるテスト対象シグナルの値を第１期待値と照合する。判定部１１４は、通信部１１６により第１期間とは異なる第２期間に受信されたメッセージに含まれるテスト対象シグナルの値を、第１期待値の各ビットを反転して得られる第２期待値と照合する。そして、判定部１１４は、両方の照合結果に基づいて、ＥＣＵ２００のテストの合否を判定する。
【００６６】
ステップＳ２１において、決定部１１２は、テスト対象シグナルの初期値の各ビットを反転して得られる値Ｖ１を演算する。ステップＳ２５において、決定部１１２は、初期値を第１期待値に決定し、演算結果である値Ｖ１を第２期待値に決定する。
【００６７】
ステップＳ２２において、値Ｖ１がテスト対象シグナルの値域外である場合、ステップＳ２４において、決定部１１２は、値域内の、初期値とは異なる値である第１設定値Ｖ２を第１期待値に決定し、値域内の、第１設定値Ｖ２の各ビットを反転して得られる第２設定値Ｖ３を第２期待値に決定する。なお、本実施の形態では、初期値が値域内であることを想定しているが、初期値が値域外であってもよい。すなわち、決定部１１２は、初期値および値Ｖ１の少なくともいずれかが値域外である場合に、第１設定値Ｖ２を第１期待値に決定し、第２設定値Ｖ３を第２期待値に決定してもよい。
【００６８】
本実施の形態では、決定部１１２により決定された第１期待値および第２期待値が、ステップＳ３５で実行部１１３よりＥＣＵ２００に通知されるが、テスト装置１００とＥＣＵ２００との間の通信が開始される前から、あらかじめ決定された第１期待値および第２期待値がＥＣＵ２００により保持されていてもよい。
【００６９】
具体例を用いてテスト装置１００の動作を説明する。
【００７０】
例１では、システム情報ファイルに、周期送信されるＣＡＮメッセージと、それに含まれる６ビット長、初期値３（００００１１ｂ）の符号なし整数型シグナルとが存在する。したがって、テスト装置１００の抽出部１１１は、テストシナリオの条件に一致するテスト対象シグナルとして、このシグナルを選択する。抽出部１１１は、シグナル関連情報をメモリ１０２に格納する。続いて決定部１１２は、シグナル関連情報から値Ｖ１を算出する。値Ｖ１は、６ビット長、初期値３、符号なし整数型であることから、１１１１００ｂとなる。１１１１００ｂは６０であり、符号なし整数型の値として表現可能である。よって、初期値３と値６０とがテストデータ値となる。実行部１１３は、テスト対象シグナル用のテストデータ値（３，６０）が初期値３を含むことから、初期値でない値６０を更新値としてテストシナリオを１回実行する。テストシナリオの実行により、ＥＣＵ２００は、テスト対象シグナルに初期値３を格納してＣＡＮメッセージの周期送信を開始する。実行部１１３が時刻ｔ０から時刻ｔ１の間に更新値６０をテストアプリケーションへ渡すと、テストアプリケーションはＰＦへこれを渡す。ＰＦは、ＣＡＮメッセージに含まれるテスト対象シグナルの値を更新して周期送信を継続する。判定部１１４は、実行部１１３が時刻ｔ０から時刻ｔ１の間に更新値６０をＥＣＵ２００へ渡すまでは、受信したテスト対象シグナルの値が初期値３と一致するかの判定を行う。判定部１１４は、実行部１１３がＥＣＵ２００へ更新値６０を渡した後は、受信したテスト対象シグナルの値が更新値６０と一致するか判定を行う。常に一致していれば、テストデータに関するテストの判定結果は「ＰＡＳＳ」となり、動作が終了する。なお、判定のタイミングはこれに限定するものではない。判定部１１４は、受信したテスト対象シグナルを一度メモリ１０２へ格納しておき、テスト実行完了後に、初期値と更新値とをそれぞれ格納した値と比較してもよい。
【００７１】
上記の動作にて、ＰＦおよびシステム情報ファイルが正常である場合に、テスト装置１００が受信するＣＡＮメッセージに含まれるテスト対象シグナルの値を、図５を用いて説明する。
【００７２】
判定部１１４は、テスト対象シグナルとして時刻ｔ０に値３を受信する。時刻ｔ０からｔ１の間に実行部１１３が更新値をＥＣＵ２００へ渡したことで値が更新される。判定部１１４は、時刻ｔ１以降は値６０を受信する。判定部１１４が初期値と更新値とを受信できていることから、テスト結果は「ＰＡＳＳ」と判定される。
【００７３】
ＰＦまたはシステム情報ファイルに不具合があり、ＣＡＮメッセージに含まれる全シグナルの位置が１ビットずつずれている場合を、図６を用いて説明する。図中の「テスト対象シグナル」は、テスト装置１００がテスト対象シグナルとして受信する値を示す。
【００７４】
判定部１１４は、テスト対象シグナルの初期値として時刻ｔ０に値Ｘ０００１ｂを受信する。判定部１１４は、実行部１１３から更新値を受け取ったＥＣＵ２００が値を更新した時刻ｔ１以降は値Ｘ１１１１０ｂを受信する。Ｘは、各シグナルまたは予約ビットの初期値である。すなわち、Ｘは、テストシナリオ実行を通して０か１のいずれか固定の値である。判定部１１４が期待値である初期値３および更新値６０以外の値を受信することになるため、テスト結果は「ＦＡＩＬ」であると判定することができる。
【００７５】
このように、１つのテスト対象シグナルに対して、初期値と更新値という互いにビット反転させた２つの値を用いてテストを実行することで、ＰＦまたはシステム情報ファイルに含まれるテスト対象シグナルの配置に関わる処理の不具合を検出することができる。その配置のずれ幅も推定することができる。仮に、初期値０（００００００ｂ）と、ビット反転させていない更新値１（０００００１ｂ）とを用いてテストを行うと、テスト対象シグナルとしてテスト装置１００は時刻ｔ０に値Ｘ０００００ｂ、時刻ｔ１にＸ０００００ｂを受信することになる。Ｘの値が０である場合には、テスト装置１００は時刻ｔ０でも時刻ｔ１以降でも常にテスト対象シグナルの値として０を受信することになる。よって、テスト装置１００は、シグナル配置のずれによって時刻ｔ１に受信した値が異常であるのか、あるいは、値を更新したにも関わらず別の不具合によって値が更新されなかったのかを判断することができない。テスト装置１００は、シグナル配置のずれであってもどれだけのずれが生じているのかを判断することもできない。よって、原因を解析するのに時間を要することになる。
【００７６】
ここではＣＡＮメッセージ含まれる全シグナルの位置ずれがある場合について説明したが、ＰＦまたはシステム情報ファイルの不具合によって、テスト対象シグナルのみ位置がずれてしまっている場合についても同様に不具合として検出できる。
【００７７】
ＰＦまたはシステム情報ファイルに不具合があり、テスト対象シグナルとは別のシグナルの配置がずれ、テスト対象シグナルに重複している場合を、図７を用いて説明する。
【００７８】
判定部１１４は、テスト対象シグナルの初期値として、時刻ｔ０に値００００１Ｘｂを受信する。判定部１１４は、実行部１１３から更新値を受け取ったＥＣＵ２００が値を更新した時刻ｔ１以降は値１１１１０Ｘｂを受信する。Ｘは、別シグナルの初期値の先頭１ビットである。すなわち、Ｘは、テストシナリオ実行を通して０か１のいずれか固定の値である。判定部１１４が期待値である初期値３および更新値６０以外の値を受信することになるため、テスト結果は「ＦＡＩＬ」と判定される。
【００７９】
このように、１つのテスト対象シグナルに対して、初期値と更新値という互いにビット反転させた２つの値を用いてテストを実行することで、ＰＦまたはシステム情報ファイルに含まれるテスト対象シグナルに重複してきた別のシグナルの配置に関わる処理の不具合を検出することができる。その配置のずれ幅も推定することができる。仮に、初期値０（００００００ｂ）と、ビット反転させていない更新値３２（１０００００ｂ）とを用いてテストを行うと、テスト対象シグナルとしてテスト装置１００は時刻ｔ０に値０００００Ｘｂ、時刻ｔ１に１００００Ｘｂを受信することになる。Ｘの値が０である場合には、テスト装置１００は別シグナルが重複しているにも関わらずテスト対象シグナルとして初期値と更新値とを正しく受信していると判断する。すなわち、テスト装置１００は不具合を検出できなくなる。その結果、テスト装置１００は、実際に使用するアプリケーションを組み合わせて機能テストを実行する段階になって異常な値を受信する。よって、不具合がアプリケーションの不具合であるのか、ＰＦの不具合であるのかの切り分け作業と、ＰＦの再テスト等の手戻りとが発生する。そのため、テスト工数が増大する。
【００８０】
本実施の形態では、ＰＦがＣＡＮメッセージをシグナルへ書き込む順番がテスト対象シグナル、別シグナルの順であることを想定している。別シグナル、テスト対象シグナルという逆の順で書き込まれた場合には、重複による不具合を検出することができない。そこで、このような場合も不具合が存在することを検出するために、別シグナルもテスト装置１００による判定対象としてもよい。受信時にテスト対象のシグナルが更新値に一致していることに加えて、別シグナルの値がシステム情報ファイルから取得した初期値に一致していることを確認することで、不具合の検出率を向上させることができる。なお、この別シグナルの値は初期値固定であって、実行部１１３では更新値を与える等の処理は必要ない。
【００８１】
上記のように、判定部１１４は、通信部１１６により受信されたメッセージにおいてテスト対象シグナルに隣接するシグナルの値を第３期待値と照合してもよい。そして、判定部１１４は、テスト対象シグナルの値の照合結果と、テスト対象シグナルに隣接するシグナルの値の照合結果とに基づいて、ＥＣＵ２００のテストの合否を判定してもよい。具体的には、判定部１１４は、第１期間のテスト対象シグナルの値を第１期待値と、第２期間のテスト対象シグナルの値を第２期待値と、第１期間または第２期間のテスト対象シグナルに隣接するシグナルの値を第３期待値とそれぞれ照合した結果に基づいて、ＥＣＵ２００のテストの合否を判定してもよい。
【００８２】
例２では、システム情報ファイルに、周期送信されるＣＡＮメッセージと、それに含まれる３２ビット長、初期値０（００・・・００ｂ）の浮動小数点型シグナルとが存在する。したがって、テスト装置１００の抽出部１１１は、テストシナリオの条件に一致するテスト対象シグナルとして、このシグナルを選択する。抽出部１１１は、シグナル関連情報をメモリ１０２に格納する。続いて決定部１１２は、シグナル関連情報から値Ｖ１を算出する。値Ｖ１は、３２ビット長、初期値０、浮動小数点型であることから、０ｘＦＦＦＦＦＦＦＦとなる。しかし、この値は浮動小数点型ではＮａＮとして扱われる値である。「ＮａＮ」は、Ｎｏｔ  ａ  Ｎｕｍｂｅｒの略語である。ＮａＮとして扱われる値は、テストアプリケーションで扱うことができない。動作が不定となり、ＰＦによっては表現可能な最大値等に自動で修正する等の措置が取られてテストが正しく実行できない可能性がある。そこで、決定部１１２は、浮動小数点型で表現可能な最小値として１．１７５４９４４・・・Ｅ−３８（０ｘ００８０００００）を導出し、値Ｖ２とする。決定部１１２は、さらにこの値をビット反転させた−３．４０２８２３５Ｅ＋３８（０ｘＦＦ７ＦＦＦＦＦ）を値Ｖ３とする。決定部１１２は、値Ｖ２と値Ｖ３とをテストデータ値として用いる。実行部１１３は、テストデータ値に初期値０が含まれていないことから、テストシナリオを２回実行する。決定部１１２は、１つ目のテストシナリオでは初期値０および更新値１．１７５４９４４・・・Ｅ−３８（０ｘ００８０００００）、２つ目のテストシナリオでは初期値０および更新値−３．４０２８２３５Ｅ＋３８（０ｘＦＦ７ＦＦＦＦＦ）としてテストを実行する。その後の動作および不具合の検出方法は、２回のテストシナリオ実行の各更新値と、各更新後に受信する各テスト対象シグナルの受信値とを比較することで不具合を検出することを除き例１と同じである。よって、説明は省略する。
【００８３】
このように、テストデータ値がシグナル型の値域外とならないようにすることで、テストを確実に実行できるようにし、上述の不具合を検出できる。
【００８４】
＊＊＊実施の形態の効果の説明＊＊＊
本実施の形態では、第１期待値と、第１期待値の各ビットを反転して得られる第２期待値との両方を用いてテストを実施することで、メッセージに対する全シグナルの位置ずれ、および、特定のシグナルのみの位置ずれの両方を検出することができる。
【００８５】
本実施の形態では、製品出荷用設定を施したＰＦを対象として２つのテストデータ値を用いてテストを実行することで、ＰＦおよびシステム情報ファイルのシグナル配置処理およびシグナル配置情報に関する不具合を検出可能となる。不具合の３つの原因も識別可能となる。よって、テスト実施工数とテスト結果を用いた不具合解析工数とを削減することができる。
【００８６】
つまり、本実施の形態によれば、製品出荷用設定を施したＰＦに対して、ＰＦおよびシステム情報ファイルに含まれているＰＦの製品出荷用設定によって顕在化するようなシグナル配置処理およびシグナル配置情報に関する不具合を、配置に関する不具合が存在しているとして検出することができる。不具合の原因として、全シグナルの位置ずれであるのか、特定のシグナルの位置ずれなのかを識別することが可能である。さらには特定のシグナルのうちテスト対象シグナルの位置ずれなのか、他のシグナルの位置ずれによるテスト対象シグナルへの重複なのかを識別することが可能である。よって、シグナル配置処理およびシグナル配置情報に関する不具合を従来技術と比較して少ないテスト実施工数で検出することができる。その上、検出した不具合の原因解析にかかる工数も削減することができる。
【００８７】
本実施の形態では、互いにビット反転させた２つの値を用いてテストを実行することで、ＰＦまたはシステム情報ファイルに含まれるテスト対象シグナルの配置に関わる処理の不具合を、配置に関する不具合であるとして検出することができる。さらに配置のずれ幅も推定することができる。これにより、アプリケーション結合後に不具合を検出する場合、および、他の不具合との切り分けができない場合と比較してテスト工程全体の工数を削減することができる。
【００８８】
本実施の形態では、初期値を反転させた値を更新値として使用することができる場合には、１つのテストの実行中に不具合を検出可能である。よって、テスト実行にかかる時間を削減することができる。
【００８９】
本実施の形態では、シグナルの型と長さとに基づいてシグナルで表現可能な値域内でテストデータ値を選択することで、確実にテストを実行可能である。
【００９０】
本実施の形態の変形例では、ＰＦによるシグナルの書き込み順序を考慮し、テスト対象シグナルと同時に送信される別のシグナルの値も監視対象とすることで、シグナル配置の処理に関わる不具合を検出可能である。
【００９１】
本実施の形態では、製品出荷用のシステム情報ファイルを用いてテストシナリオに適合するシグナルをテスト対象シグナルとして選択し、テストデータを決定することで、テストシナリオ用に新たにテスト対象シグナルおよびメッセージを作成する場合と比較して、テスト用にＰＦ設定を行う工数が不要になる。さらに、製品出荷用のシステム情報ファイルを用い、製品出荷用の設定を施したＰＦをテスト対象とすることで、製品出荷用のＰＦ設定でのみ顕在化するシグナル配置に関わる処理の不具合が検出可能となる。テストシナリオ用にのみテスト対象シグナルおよびメッセージを作成してテストを実行するよりも、製品出荷時の不具合の混入率を低減することができる。
【００９２】
＊＊＊他の構成＊＊＊
本実施の形態では、ＥＣＵ２００とテスト装置１００との間の通信としてＣＡＮとＪＴＡＧとを用いているが、他の通信プロトコルを用いてもよい。
【００９３】
本実施の形態では、決定部１１２が、テストデータ値として、初期値とそのビット反転値か、あるいは初期値以外の互いにビット反転した２つの値を求めるが、テストシナリオに応じてテストデータ値として採るべきでない特定の値が存在する場合には、その値を除いた値となるようにテストデータ値を決定してもよい。
【００９４】
本実施の形態では、決定部１１２が、初期値のビット反転値がシグナルの型の表現値域外である場合には、値域の最小値とそのビット反転値とをテストデータ値として求めるが、値域内の値となるまで、初期値とそのビット反転値との同じ位置にある任意のビットを反転させてもよい。すなわち、決定部１１２は、テストデータ値として求めた２つの値の少なくとも１つがシグナルの型の表現値域外である場合には、値域内の値となるまで、それら２つの値の同じ位置にある任意のビットを反転させてもよい。
【００９５】
本実施の形態では、実行部１１３が、テスト装置１００からテストアプリケーションへ、テストアプリケーションからＰＦへ、そしてＰＦからテスト装置１００へ更新値を渡していくテストシナリオを使用しているが、逆のテストシナリオを使用してもよい。すなわち、実行部１１３は、ＰＦが受信したシグナルをテストアプリケーションへ渡し、テストアプリケーションが受け取った値をテスト判定に使用するテストシナリオを使用してもよい。
【００９６】
本実施の形態では、抽出部１１１、決定部１１２、実行部１１３、判定部１１４、出力部１１５および通信部１１６の機能がソフトウェアにより実現されるが、変形例として、抽出部１１１、決定部１１２、実行部１１３、判定部１１４、出力部１１５および通信部１１６の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、抽出部１１１、決定部１１２、実行部１１３、判定部１１４、出力部１１５および通信部１１６の機能の一部が専用の電子回路により実現され、残りがソフトウェアにより実現されてもよい。
【００９７】
専用の電子回路は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＦＰＧＡまたはＡＳＩＣである。「ＧＡ」は、Ｇａｔｅ  Ａｒｒａｙの略語である。「ＦＰＧＡ」は、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略語である。「ＡＳＩＣ」は、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略語である。
【００９８】
プロセッサ１０１、メモリ１０２および専用の電子回路を、総称して「プロセッシングサーキットリ」という。つまり、抽出部１１１、決定部１１２、実行部１１３、判定部１１４、出力部１１５および通信部１１６の機能がソフトウェアにより実現されるか、ソフトウェアとハードウェアとの組み合わせにより実現されるかに関わらず、抽出部１１１、決定部１１２、実行部１１３、判定部１１４、出力部１１５および通信部１１６の機能は、プロセッシングサーキットリにより実現される。
【００９９】
テスト装置１００の「装置」を「方法」に読み替え、抽出部１１１、決定部１１２、実行部１１３、判定部１１４、出力部１１５および通信部１１６の「部」を「工程」に読み替えてもよい。あるいは、テスト装置１００の「装置」を「プログラム」、「プログラムプロダクト」または「プログラムを記録したコンピュータ読取可能な媒体」に読み替え、抽出部１１１、決定部１１２、実行部１１３、判定部１１４、出力部１１５および通信部１１６の「部」を「手順」または「処理」に読み替えてもよい。
【０１００】
実施の形態２．
本実施の形態について、主に実施の形態１との差異を、図８から図１６を用いて説明する。
【０１０１】
＊＊＊構成の説明＊＊＊
本実施の形態に係るテスト装置１００の構成は、図１に示した実施の形態１のものと同じである。
【０１０２】
＊＊＊動作の説明＊＊＊
図８から図１２を参照して、本実施の形態に係るテスト装置１００の動作を説明する。テスト装置１００の動作は、本実施の形態に係るテスト方法に相当する。
【０１０３】
抽出部１１１の動作を、図８を用いて説明する。
【０１０４】
ステップＳ４１において、抽出部１１１は、システム情報ファイルに含まれるシグナルのリストから、テストシナリオの条件に一致し、かつ、アップデートビットを持ち、かつ、送信周期が少なくとも１つの他のシグナルの送信周期よりも短いシグナルをテスト対象シグナルとして選択する。アップデートビットは、関連付けられたシグナルと同じＣＡＮメッセージ内で送信され、かつ、そのシグナルの値が更新されたときに１にセットされ、更新されなかった場合には０にクリアされて送信されるフラグである。続いてステップＳ４２の処理が行われる。
【０１０５】
ステップＳ４２において、抽出部１１１は、選択したテスト対象シグナルと同じＣＡＮメッセージに格納される全シグナルの送信周期の最小公倍数を受信継続時間として算出する。続いてステップＳ４３の処理が行われる。
【０１０６】
ステップＳ４３において、抽出部１１１は、選択したテスト対象シグナルを識別するシグナルＩＤ、シグナル型、シグナル長、初期値、および、テスト対象シグナルに関連付けられるアップデートビットのＣＡＮメッセージ内の位置情報をシステム情報ファイルから抽出する。続いてステップＳ４４の処理が行われる。
【０１０７】
ステップＳ４４において、抽出部１１１は、ステップＳ４２で算出した受信継続時間とステップＳ４３で抽出したシグナル関連情報とをメモリ１０２に格納して動作を終了する。
【０１０８】
決定部１１２の動作については実施の形態１と同じであるため、説明は省略する。
【０１０９】
実行部１１３の動作を、図９および図１０を用いて説明する。
【０１１０】
ステップＳ５１において、実行部１１３は、抽出部１１１が抽出したシグナル関連情報からシグナルＩＤを用いてテスト対象シグナルを識別する。続いてステップＳ５２の処理が行われる。
【０１１１】
ステップＳ５２において、実行部１１３は、決定部１１２が決定した２つのテストデータ値に、テスト対象シグナルの初期値が含まれているか確認する。含まれている場合にはステップＳ５３の処理が行われる。含まれていない場合にはステップＳ５４の処理が行われる。
【０１１２】
ステップＳ５３において、実行部１１３は、テストデータ値のうち初期値でない値を更新値とする。続いてステップＳ５５の処理が行われる。
【０１１３】
ステップＳ５４において、実行部１１３は、テストシナリオを２回実行することを決定する。実行部１１３は、２つのテストデータ値をそれぞれ１回目および２回目のテストシナリオ実行における更新値とする。続いてステップＳ５５の処理が行われる。
【０１１４】
ステップＳ５５において、実行部１１３は、全てのテストシナリオを実行したか確認する。実行していないテストシナリオが存在する場合にはステップＳ５６の処理が行われる。全てのテストシナリオの実行が完了している場合には動作が終了する。
【０１１５】
ステップＳ５６の処理は、以下の手順で行われる。
【０１１６】
ステップＳ６１において、実行部１１３は、未実行のテストシナリオを選択する。続いてステップＳ６２の処理が行われる。
【０１１７】
ステップＳ６２において、実行部１１３は、テストシナリオに従って、テスト対象シグナルと更新値とを用いて、通信部１１６を介してテストの実行を開始する。続いてステップＳ６３の処理が行われる。
【０１１８】
ステップＳ６３において、実行部１１３は、判定部１１４が通信部１１６を介してＥＣＵ２００が送信するＣＡＮメッセージに含まれるテスト対象シグナルを受信するまで待機する。受信すると、ステップＳ６４の処理が行われる。
【０１１９】
ステップＳ６４において、実行部１１３は、タイマを開始する。続いてステップＳ６５の処理が行われる。
【０１２０】
ステップＳ６５において、実行部１１３は、タイマを使用して、受信継続時間が経過するまで待機する。これにより、判定部１１４が、初期値のテスト対象シグナルを格納したＣＡＮメッセージを受信継続時間の間受信できる。受信継続時間が経過すると、ステップＳ６６の処理が行われる。
【０１２１】
ステップＳ６６において、実行部１１３は、ＥＣＵ２００へ通信部１１６を介して更新値を渡す。続いてステップＳ６７の処理が行われる。
【０１２２】
ステップＳ６７において、実行部１１３は、タイマをリセットして再開する。続いてステップＳ６８の処理が行われる。
【０１２３】
ステップＳ６８において、実行部１１３は、タイマを使用して、再度受信継続時間が経過するまで待機する。これにより、判定部１１４が、更新値のテスト対象シグナルを格納したＣＡＮメッセージを受信継続時間の間受信できる。受信継続時間が経過すると、実行部１１３は、テストシナリオの実行を完了する。
【０１２４】
ステップＳ５６の処理の後、再びステップＳ５５の処理が行われる。
【０１２５】
判定部１１４および出力部１１５の動作を、図１１および図１２を用いて説明する。テスト判定には、テストシナリオに応じて、受信するＣＡＮメッセージの時間間隔等を判定する部分等が含まれる場合があるが、ここではシグナルの値に関する判定部分のみ示す。
【０１２６】
ステップＳ７１において、判定部１１４は、実行部１１３の動作の開始から終了まで、通信部１１６を介してＥＣＵ２００が送信するＣＡＮメッセージに含まれるテスト対象シグナルおよびアップデートビットを受信する。テスト実行が完了すると、ステップＳ７２の処理が行われる。
【０１２７】
ステップＳ７２において、判定部１１４は、受信したテスト対象シグナルの全値が期待値と一致するか確認を行う。一致していればステップＳ７３の処理が行われる。一致しない受信値がある場合には、ステップＳ７５の処理が行われる。
【０１２８】
ステップＳ７３において、判定部１１４は、テスト対象シグナルの値の判定結果を「ＰＡＳＳ」とする。続いてステップＳ７４の処理が行われる。
【０１２９】
ステップＳ７４において、出力部１１５は、判定部１１４でのテストの判定結果を出力し、動作を終了する。
【０１３０】
ステップＳ７５の処理は、以下の手順で行われる。
【０１３１】
ステップＳ８１において、判定部１１４は、アップデートビットの確認を行う。アップデートビットの値が、テスト対象シグナルが更新される前は０、更新後最初の受信で１、その後０になっていれば、判定部１１４は、アップデートビットは正常であると判定する。続いてステップＳ８２の処理が行われる。そうでなければ、ステップＳ８７の処理が行われる。
【０１３２】
ステップＳ８２において、判定部１１４は、実行部１１３でテストシナリオが２回実行されたか確認する。２回の場合はステップＳ８３の処理が行われる。１回の場合はステップＳ８６の処理が行われる。
【０１３３】
ステップＳ８３において、判定部１１４は、２つのテストシナリオのそれぞれで、実行部１１３による更新値送信後の受信値が少なくとも１回は期待値と一致しているか判定する。一致している場合はステップＳ８４の処理が行われる。一致していない場合はステップＳ８５の処理が行われる。
【０１３４】
ステップＳ８４において、判定部１１４は、テスト対象シグナルの値の判定結果を「ＦＡＩＬ」、「ＦＡＩＬ」原因を他のシグナルの位置ずれの可能性とする。続いてステップＳ７４の処理が行われる。
【０１３５】
ステップＳ８５において、判定部１１４は、テスト対象シグナルの値の判定結果を「ＦＡＩＬ」、「ＦＡＩＬ」原因をテスト対象シグナルの位置ずれの可能性とする。続いてステップＳ７４の処理が行われる。
【０１３６】
ステップＳ８６において、判定部１１４は、実行部１１３による更新値送信前の受信値が少なくとも１回は初期値と一致しており、かつ、送信後の受信値も少なくとも１回は更新値と一致しているか判定する。一致している場合にはステップＳ８４の処理が行われる。一致していない場合にはステップＳ８５の処理が行われる。
【０１３７】
ステップＳ８７において、判定部１１４は、テスト対象シグナルの値もアップデートビットの値も異常であるため、全シグナルの配置が異常であると判定する。そして、判定部１１４は、テスト対象シグナルの判定結果を「ＦＡＩＬ」、「ＦＡＩＬ」原因を全シグナルの位置ずれの可能性とする。続いてステップＳ７４の処理が行われる。
【０１３８】
上記のように、ステップＳ５６において、通信部１１６は、テスト対象装置であるＥＣＵ２００から送信される、複数ビットのテスト対象シグナルを一部に含むメッセージを順次受信する。ステップＳ７２において、判定部１１４は、通信部１１６により第１期間に受信されたメッセージに含まれるテスト対象シグナルの値を第１期待値と照合する。判定部１１４は、通信部１１６により第１期間とは異なる第２期間に受信されたメッセージに含まれるテスト対象シグナルの値を、第１期待値の各ビットを反転して得られる第２期待値と照合する。ステップＳ７３およびステップＳ７５において、判定部１１４は、両方の照合結果に基づいて、ＥＣＵ２００のテストの合否を判定する。
【０１３９】
本実施の形態では、テスト対象シグナルを含むメッセージに、テスト対象シグナルの値の更新有無を示すアップデートビットが含まれる。ステップＳ８１において、判定部１１４は、通信部１１６により受信されたメッセージに含まれるアップデートビットの値を第４期待値と照合する。ステップＳ７３およびステップＳ７５において、判定部１１４は、テスト対象シグナルの値の照合結果と、アップデートビットの値の照合結果とに基づいて、ＥＣＵ２００のテストの合否を判定する。具体的には、判定部１１４は、第１期間のテスト対象シグナルの値を第１期待値と、第２期間のテスト対象シグナルの値を第２期待値と、第１期間および第２期間のアップデートビットの値を第４期待値とそれぞれ照合した結果に基づいて、ＥＣＵ２００のテストの合否を判定する。
【０１４０】
本実施の形態では、ＥＣＵ２００から送信されるメッセージには、テスト対象シグナルと他の１つ以上のシグナルとが個別の周期ごとに含まれる。テスト対象シグナルの周期は、他のいずれのシグナルの周期とも異なる。具体的には、テスト対象シグナルの周期は、他のいずれのシグナルの周期よりも短い。ステップＳ５６において、通信部１１６は、ＥＣＵ２００のテストの実施中、他のいずれのシグナルも少なくとも１回ずつ受信する。
【０１４１】
具体例を用いてテスト装置１００の動作を説明する。テストシナリオは、実施の形態１の説明に用いた例と同じであるとする。
【０１４２】
この例では、システム情報ファイルに、周期送信されるＣＡＮメッセージと、それに含まれる６ビット長、初期値３（００００１１ｂ）の符号なし整数型シグナルＳａとが存在する。また、このシグナルＳａに関連付けられているアップデートビットが存在する。さらに、シグナルＳａに隣接するシグナルとして、周期が異なるシグナルＳｂとシグナルＳｃとが存在する。このシグナルＳａを含むＣＡＮメッセージの送信ごとの構成を図１３に示す。図中、「Ｕ」はアップデートビットの位置を指す。本実施の形態では、アップデートビットは、テスト対象シグナルと隣接しているが、隣接していなくてもよい。図１３に示す通り、シグナルＳａは毎周期送信される。すなわち、シグナルＳａの周期は１である。シグナルＳｂの周期は２、シグナルＳｃの周期は４である。抽出部１１１は、テスト対象シグナルとして、最短周期のシグナルＳａを抽出する。受信継続時間は、最小公倍数である周期４に相当する時間となる。シグナルＳａに対するテストデータの決定方法およびテスト実行方法は実施の形態１と同じである。よって、初期値３に対して更新値６０が決定される。テスト実行では、周期４であることから、テスト結果が正常であれば、テスト対象シグナルは、ＣＡＮメッセージ４回分は初期値で送信され、その後テスト実行が完了するまでは更新値で送信される。
【０１４３】
この例において、ＰＦおよびシステム情報ファイルが正常である場合の判定部１１４の動作は実施の形態１と同じであるため説明を省略する。
【０１４４】
ＰＦ内部のシグナルのＣＡＮメッセージへの配置処理に不具合があり、ＣＡＮメッセージに含まれる全シグナルの位置が１ビットずつずれている場合を、図１４を用いて説明する。
【０１４５】
テスト対象シグナルおよびアップデートビットの位置がずれていることにより、初期値および更新値の受信継続時間中、判定部１１４が受信するテスト対象シグナルの値およびアップデートビットの値は期待値と異なる。そのため、判定部１１４は、テスト結果を「ＦＡＩＬ」、「ＦＡＩＬ」原因を全シグナルの位置ずれの可能性と判定して動作を終了する。
【０１４６】
このように、アップデートビットと関連付けられているシグナルＳａをテスト対象シグナルとして選択し、テスト時にテスト対象シグナルの値とアップデートビットの値とを判定に使用することで、不具合の原因が全シグナルの位置ずれの可能性が高いと判断することができる。
【０１４７】
システム情報ファイルに不具合があり、テスト対象シグナルのＣＡＮメッセージ内での位置が１ビットずれている場合を、図１５を用いて説明する。
【０１４８】
初期値および更新値の受信継続時間中、テスト対象シグナルの値は期待値と異なるが、アップデートビットの値は正常である。そのため、判定部１１４は、初期値として受信したテスト対象シグナルの値と、更新値として受信したテスト対象シグナルの値とのそれぞれが、少なくとも１回は期待値である初期値３および更新値６０と一致しているか判定する。ここで、図１５中、Ｘは０か１に固定の値である。Ｘが０の場合、初期値の受信継続時間中に初期値として受信する値は常に１となり、期待値の３となることがない。すなわち、テスト対象シグナルの値は正常値となることがない。したがって、条件を満たさないため、判定部１１４は、テスト結果を「ＦＡＩＬ」、「ＦＡＩＬ」原因をテスト対象シグナルの位置ずれの可能性と判定して動作を終了する。
【０１４９】
システム情報ファイルに不具合があり、シグナルＳｂのＣＡＮメッセージ内での位置が１ビットずれてテスト対象シグナルの最後１ビットに重複している場合を、図１６を用いて説明する。
【０１５０】
初期値および更新値の受信継続時間中、テスト対象シグナルの値は期待値と異なるが、アップデートビットの値は正常である。そのため、判定部１１４は、初期値として受信したテスト対象シグナルの値と、更新値として受信したテスト対象シグナルの値とのそれぞれが、少なくとも１回は期待値である初期値３および更新値６０と一致しているか判定する。ここで、シグナルＳｃの先頭１ビットは０か１に固定の値である。この値が１であるとすると、初期値の受信継続時間中に初期値として受信する値は常に３となり、期待値と一致する。すなわち、テスト対象シグナルの値は正常値と一致する。更新値の受信継続時間中は、期待値６０（１１１１００ｂ）に対して時刻ｔ５では受信値は６１（１１１１０１ｂ）、それ以外の時刻では受信値は６０（１１１１００ｂ）となる。よって、両受信継続時間中とも、少なくとも１回は受信値が期待値と一致している。したがって、判定部１１４は、テスト結果を「ＦＡＩＬ」、「ＦＡＩＬ」原因を他のシグナルの位置ずれの可能性と判定して動作を終了する。
【０１５１】
このように、同一ＣＡＮメッセージに含まれる送信周期が異なるシグナルＳａ、シグナルＳｂおよびシグナルＳｃからテスト対象シグナルを選択することにより、不具合の原因がテスト対象シグナルの位置ずれなのか、他のシグナルの位置ずれによるテスト対象シグナルへの重複なのかを識別することができる。さらに、最短周期のシグナルＳａをテスト対象シグナルとして選択することにより、他のシグナルの位置ずれによる不具合の検出率を高めることができる。
【０１５２】
本実施の形態では、受信継続時間を各シグナル周期の最小公倍数に設定することで、テスト実行中に各シグナルが少なくとも１回は送信されるため、他のシグナルの位置ずれによる不具合検出率を上げることができる。
【０１５３】
なお、上記の例では、テストシナリオが１回だけ実行され、初期値と更新値とが互いにビット反転されているが、テストシナリオが２回実行され、その更新値が互いにビット反転されている場合についても同様の判定が可能である。
【０１５４】
＊＊＊実施の形態の効果の説明＊＊＊
本実施の形態では、テスト対象シグナルとしてアップデートビットと関連付けられているシグナルを選択し、テスト対象シグナルに加えてアップデートビットも監視対象としてテストを実行することで、テスト結果から不具合の原因が全シグナルの位置ずれであるか、より確実に判定できる。全シグナルの位置ずれの可能性が高いことがわかった場合、ＰＦのシグナル配置に関わる処理に不具合があると推測して解析を行うことができる。これにより、不具合原因の究明時間を削減することができ、開発工数を削減することができる。
【０１５５】
本実施の形態では、テスト対象シグナルとして複数周期のシグナルを含むＣＡＮメッセージの中からシグナルを選択することにより、テスト結果から不具合の原因がテスト対象シグナルの位置ずれなのか、他のシグナルの位置ずれによるテスト対象シグナルへの重複なのかを識別する確率を高めることができる。そのような位置ずれの可能性が高いことがわかった場合、システム情報ファイルのシグナル配置情報に不具合があると推測して解析を行うことができる。これにより、不具合原因の究明時間を削減することができ、開発工数を削減することができる。
【０１５６】
本実施の形態では、複数周期のシグナルのうち、最短周期のシグナルを選択することにより、他のシグナルの位置ずれを検出する確率をさらに高めることができる。
【０１５７】
本実施の形態では、テスト対象シグナルと同じＣＡＮメッセージで送信される全シグナルが少なくとも１回は送信されるようにテストを実行することで、他のシグナルの位置ずれによるテスト対象シグナルへの重複の検出率を高めることができる。
【０１５８】
＊＊＊他の構成＊＊＊
本実施の形態では、抽出部１１１が、受信継続時間として、シグナル周期の最小公倍数を用いているが、送信開始までのオフセット時間が存在する場合にはこれを考慮して受信継続時間を決定してもよい。
【符号の説明】
【０１５９】
１００  テスト装置、１０１  プロセッサ、１０２  メモリ、１０３  ＣＡＮ通信装置、１０４  シリアル通信装置、１０５  入出力装置、１０６  内部バス、１１１  抽出部、１１２  決定部、１１３  実行部、１１４  判定部、１１５  出力部、１１６  通信部、２００  ＥＣＵ。
【図１】
0006580279.tif 000002
【図２】
0006580279.tif 000003
【図３】
0006580279.tif 000004
【図４】
0006580279.tif 000005
【図５】
0006580279.tif 000006
【図６】
0006580279.tif 000007
【図７】
0006580279.tif 000008
【図８】
0006580279.tif 000009
【図９】
0006580279.tif 000010
【図１０】
0006580279.tif 000011
【図１１】
0006580279.tif 000012
【図１２】
0006580279.tif 000013
【図１３】
0006580279.tif 000014
【図１４】
0006580279.tif 000015
【図１５】
0006580279.tif 000016
【図１６】
0006580279.tif 000017
【図１７】
0006580279.tif 000018
【図１８】
0006580279.tif 000019
【図１９】
0006580279.tif 000020