(57)【要約】【課題】外部デバイス接続用のインタフェースモジュールに対する信頼性試験の精度を向上すること。【解決手段】コンピュータ装置１０は、試験用アプリケーション１５を有する。試験用アプリケーション１５は、設定ファイル読込部１５１と、テスト実行部１５２とを有する。設定ファイル読込部１５１は、記憶部１０１に記憶された設定ファイルを記憶部１０１から読み込む。設定ファイルには、コンピュータ装置１０が備えるＵＳＢインタフェースモジュールを介して試験用デバイス２０へ送信されるコマンドの種類、コマンドの発行タイミング、及び、試験用デバイス２０との間で送信または受信されるテストデータのパケットサイズが設定されている。テスト実行部１５２は、設定ファイル読込部１５１によって読み込まれた設定ファイルに基づいてコマンドを発行する。【選択図】図２
2017134741.tif 000002
【特許請求の範囲】
【請求項１】
外部デバイスの接続用のインタフェースモジュールを介して前記外部デバイスへ送信されるコマンドの種類、コマンドの発行タイミング、及び、前記外部デバイスとの間で送信または受信されるテストデータのパケットサイズが設定された設定ファイルを読み込み、
読み込んだ前記設定ファイルに基づいてコマンドを発行する、
処理をコンピュータ装置に実行させるインタフェース試験用アプリケーションプログラム。
【請求項２】
読み込んだ前記設定ファイルに基づいて、コントロール転送コマンド、バルクイン転送コマンド、ウェイトコマンド、バルクアウト転送コマンド、デバイスリセットコマンドの順で各コマンドを発行する、
処理を前記コンピュータ装置に実行させる請求項１に記載のインタフェース試験用アプリケーションプログラム。
【請求項３】
外部デバイスの接続用のインタフェースモジュールを介して前記外部デバイスへ送信されるコマンドの種類、コマンドの発行タイミング、及び、前記外部デバイスとの間で送信または受信されるテストデータのパケットサイズが設定された設定ファイルを読み込み、
読み込んだ前記設定ファイルに基づいてコマンドを発行する、
インタフェース試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インタフェース試験用アプリケーションプログラム及びインタフェース試験方法に関する。
【背景技術】
【０００２】
ＵＳＢ（Universal  Serial  Bus）ポートを備えるコンピュータ装置には、ＵＳＢポートを介して様々な外部デバイスが接続される。外部デバイスの一例として、キーボード、ディスプレイ、プリンタ、スキャナ等が挙げられる。コンピュータ装置は、一般に、複数のＵＳＢポートを有するＵＳＢインタフェースモジュールを備える。
【０００３】
従来、コンピュータ装置が備えるＵＳＢインタフェースモジュールに対する信頼性試験（以下では「ＵＳＢインタフェース試験」と呼ぶことがある）は、例えば、コンピュータ装置と、ＵＳＢポートに接続された外部記憶媒体との間でファイルのリード及びライトが実行されることにより行われていた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２８５０３６号公報
【特許文献２】特開２００７−０１８２２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来のＵＳＢインタフェース試験では、ファイルのリード及びライト等の固定的な限られた処理しか試験対象にできなかったため、ＵＳＢインタフェース試験の精度が低かった。
【０００６】
開示の技術は、上記に鑑みてなされたものであって、外部デバイス接続用のインタフェースモジュールに対する信頼性試験の精度を向上することを目的とする。
【課題を解決するための手段】
【０００７】
開示の態様では、インタフェース試験用アプリケーションプログラムは、外部デバイスの接続用のインタフェースモジュールを介して前記外部デバイスへ送信されるコマンドの種類、コマンドの発行タイミング、及び、前記外部デバイスとの間で送信または受信されるテストデータのパケットサイズが設定された設定ファイルを読み込み、読み込んだ前記設定ファイルに基づいてコマンドを発行する処理をコンピュータ装置に実行させる。
【発明の効果】
【０００８】
開示の態様によれば、外部デバイス接続用のインタフェースモジュールに対する信頼性試験の精度を向上することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１のインタフェース試験システムの構成例を示す図である。
【図２】図２は、実施例１のインタフェース試験システムの構成例を示す機能ブロック図である。
【図３】図３は、実施例１のインタフェース試験システムの処理シーケンスの一例を示す図である。
【図４】図４は、実施例１のインタフェース試験システムの処理シーケンスの一例を示す図である。
【図５】図５は、実施例１のインタフェース試験システムの処理シーケンスの一例を示す図である。
【図６】図６は、実施例１のオープンエラー画面の表示例を示す図である。
【図７】図７は、実施例１のコントロール転送エラー画面の表示例を示す図である。
【図８】図８は、実施例１のバルクイン転送エラー画面の表示例を示す図である。
【図９】図９は、実施例１のバルクアウト転送エラー画面の表示例を示す図である。
【図１０】図１０は、実施例１のリセットエラー画面の表示例を示す図である。
【図１１】図１１は、実施例１の正常終了画面の表示例を示す図である。
【図１２】図１２は、実施例２のコンピュータ装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示するインタフェース試験用アプリケーションプログラム及びインタフェース試験方法の実施例を図面に基づいて説明する。なお、この実施例により本願の開示するインタフェース試験用アプリケーションプログラム及びインタフェース試験方法が限定されるものではない。また、以下では、ハードウェアインタフェースの一例として、ＵＳＢインタフェースを挙げて説明する。つまり、以下では、インタフェース試験の一例として、ＵＳＢインタフェース試験を挙げて説明する。しかし、開示の技術は、IEEE  1394（FireWire/i.LINK）、Serial  ATA（SATA）、InfiniBand、PCI  Express、Serial  Attached  SCSI、Fibre  Channel等、ＵＳＢインタフェース以外のハードウェアインタフェースにも適用可能である。また、以下では、インタフェース試験を単に「テスト」と呼ぶことがある。また、以下の実施例において、同一の構成、及び、同一の処理を行うステップには同一の符号を付し、重複する説明を省略する。
【００１１】
［実施例１］
＜インタフェース試験システムの構成＞
図１は、実施例１のインタフェース試験システムの構成例を示す図である。図１において、インタフェース試験システム１は、コンピュータ装置１０と、試験用デバイス２０−１〜２０−３と、キーボード３０と、ディスプレイ４０とを有する。コンピュータ装置１０は、ＵＳＢポート１１−１〜１１−５と、記憶部１０１とを有する。ＵＳＢポート１１−１〜１１−５は、コンピュータ装置１０が備えるＵＳＢインタフェースモジュール（図示省略）に備えられるものである。ＵＳＢポート１１−１にはキーボード３０が、ＵＳＢポート１１−２にはディスプレイ４０が、ＵＳＢポート１１−３〜１１−５には試験用デバイス２０−１〜２０−３がそれぞれ接続されている。よって、試験用デバイス２０−１〜２０−３は、ＵＳＢポート１１−３〜１１−５を備えるＵＳＢインタフェースモジュール（図示省略）を介してコンピュータ装置１０と通信可能である。キーボード３０、ディスプレイ４０、及び、試験用デバイス２０−１〜２０−３は、コンピュータ装置１０が備えるＵＳＢインタフェースモジュール（図示省略）に接続される外部デバイスの一例である。つまり、コンピュータ装置１０が備えるＵＳＢインタフェースモジュール（図示省略）は、外部デバイス接続用のインタフェースモジュールの一例である。
【００１２】
以下では、試験用デバイス２０−１〜２０−３を区別しない場合には、試験用デバイス２０と総称することがある。試験用デバイス２０の一例として、オーバヘッド型のスキャナが挙げられる。また、以下では、ＵＳＢポート１１−１〜１１−５を区別しない場合には、ＵＳＢポート１１と総称することがある。また、コンピュータ装置１０が備えるＵＳＢインタフェースモジュール（図示省略）に備えられるＵＳＢポートの数は５個に限定されない。また、コンピュータ装置１０に接続される試験用デバイス２０の数は３個に限定されない。
【００１３】
キーボード３０は、コンピュータ装置１０のユーザの操作入力を受け付ける。ユーザは、ＵＳＢインタフェース試験を行う前に、ディスプレイ４０に表示されえる入力受付画面を見ながら、キーボード３０を用いて、ＵＳＢインタフェース試験に用いる、コマンドの種類、コマンドの発行タイミング、テストデータのパケットサイズ、試験回数Ｎ、試験用デバイス２０のシリアル番号等を任意に組み合わせた「試験パターン」をコンピュータ装置１０に設定する。ユーザにより設定された試験パターンは「設定ファイル」として記憶部１０１に記憶される。試験用デバイス２０のシリアル番号は、試験用デバイス２０の識別子の一例である。
【００１４】
図２は、実施例１のインタフェース試験システムの構成例を示す機能ブロック図である。
【００１５】
コンピュータ装置１０では、ソフトウェアは、インタフェース試験用アプリケーション（以下では単に「試験用アプリケーション」と呼ぶことがある）１５と、試験用デバイス２０に専用のドライバ（以下では単に「専用ドライバ」と呼ぶことがある）１６と、コンピュータ装置１０で利用されるオペレーティングシステム（以下では「ＯＳ」と呼ぶことがある）に予め組み込まれているドライバ（以下では「標準ドライバ」と呼ぶことがある）１７との３階層の構造を採る。コンピュータ装置１０で利用されるＯＳの一例として、Windows（登録商標）が挙げられる。
【００１６】
試験用アプリケーション１５には、設定ファイル読込部１５１と、テスト実行部１５２と、通信対象デバイス選択部１５３と、画面表示制御部１５４と、シリアル番号比較部１５５とが含まれる。
【００１７】
専用ドライバ１６は、コンピュータ装置１０が標準ドライバ１７を介して試験用デバイス２０とＵＳＢ規格に従った通信を行うためのものである。専用ドライバ１６には、シリアル番号送信指示部１６１と、テスト実行指示部１６２と、テストデータ送信部１６５と、成否判定部１６３と、テストデータ比較部１６４とが含まれる。専用ドライバ１６は、標準ドライバ１７を介して、試験用デバイス２０と通信する。
【００１８】
試験用アプリケーション１５と、専用ドライバ１６と、標準ドライバ１７とにそれぞれ対応する各プログラムが記憶部１０１に記憶され、コンピュータ装置１０が有するプロセッサ（図示省略）によって各プログラムが記憶部１０１から読み出されて実行される。すなわち、記憶部１０１には、試験用アプリケーション１５に対応する「インタフェース試験用アプリケーションプログラム」と、専用ドライバ１６に対応する「専用ドライバプログラム」と、標準ドライバ１７に対応する「標準ドライバプログラム」とが記憶されている。
【００１９】
一方で、試験用デバイス２０は、ソフトウェアとして、ファームウェア２１を有する。ファームウェア２１には、シリアル番号送信部２１１と、通知部２１２と、デバイス情報送信部２１３と、テストデータ送信部２１４と、テストデータ比較部２１５と、再起動部２１６とが含まれる。ファームウェア２１に対応するプログラム（以下では「ファームウェアプログラム」と呼ぶことがある）が、試験用デバイス２０が有する記憶部（図示省略）に記憶され、試験用デバイス２０が有するプロセッサ（図示省略）によって、ファームウェアプログラムが記憶部から読み出されて実行される。
【００２０】
＜インタフェース試験システムの処理＞
図３，図４及び図５は、実施例１のインタフェース試験システムの処理シーケンスの一例を示す図である。図３，図４及び図５において、各種のコマンドが、コンピュータ装置１０が備えるＵＳＢインタフェースモジュール（図示省略）を介してコンピュータ装置１０から試験用デバイス２０へ送信される。
【００２１】
ＵＳＢインタフェース試験の実行開始の指示がユーザによってコンピュータ装置１０に対して為されると、図３において、まず、設定ファイル読込部１５１が、記憶部１０１から設定ファイルを読み込み、読み込んだ設定ファイルをテスト実行部１５２及び通信対象デバイス選択部１５３へ出力する（ステップＳＴ３０１）。設定ファイルには、上記のように、ＵＳＢインタフェース試験に用いる、コマンドの種類、コマンドの発行タイミング、テストデータのパケットサイズ、試験回数Ｎ、試験用デバイス２０のシリアル番号等をユーザが任意に組み合わせた試験パターンが設定されている。
【００２２】
次いで、通信対象デバイス選択部１５３が、試験用デバイス２０−１〜２０−３の中から、設定ファイルに設定されている試験用デバイス２０のシリアル番号に従って、コンピュータ装置１０の通信対象となる試験用デバイス２０を選択する（ステップＳＴ３０３）。
【００２３】
通信対象デバイス選択部１５３は、コンピュータ装置１０の通信対象となる試験用デバイス２０を選択後、選択した試験用デバイス２０のシリアル番号をシリアル番号比較部１５５へ出力するとともに、デバイスオープンコマンドをシリアル番号送信指示部１６１へ出力する（ステップＳＴ３０５）。ここでは、例えば、試験用デバイス２０−１のシリアル番号「００１」が設定ファイルに設定されており、通信対象デバイス選択部１５３は、試験用デバイス２０−１〜２０−３の中から試験用デバイス２０−１を選択したものとする。
【００２４】
次いで、通信対象デバイス選択部１５３からデバイスオープンコマンドを入力されたシリアル番号送信指示部１６１は、シリアル番号送信指示を標準ドライバ１７へ出力し（ステップＳＴ３０９）、標準ドライバ１７は、シリアル番号送信指示を含むバルク転送（イン）コマンドを試験用デバイス２０−１へ送信する（ステップＳＴ３１１）。バルク転送（イン）コマンドは、試験用デバイス２０−１のファームウェア２１に含まれるシリアル番号送信部２１１によって受信される。
【００２５】
シリアル番号送信指示を含むバルク転送（イン）コマンドを受信したシリアル番号送信部２１１は、試験用デバイス２０−１のシリアル番号と、デバイスオープンコマンドに対する結果通知（以下では「デバイスオープン結果通知」と呼ぶことがある）とをコンピュータ装置１０へ送信する（ステップＳＴ３１３）。
【００２６】
試験用デバイス２０−１のシリアル番号と、デバイスオープン結果通知とを受信した標準ドライバ１７は、これらのシリアル番号及び結果通知を成否判定部１６３へ出力する（ステップＳＴ３１５）。
【００２７】
次いで、成否判定部１６３は、デバイスオープン結果通知に基づいて、デバイスオープンの成否を判定する（ステップＳＴ３１７）。そして、成否判定部１６３は、ステップＳＴ３１７での成否判定の結果（つまり「ＯＫ」または「ＮＧ」）を画面表示制御部１５４及びテスト実行部１５２へ出力し、試験用デバイス２０−１のシリアル番号をシリアル番号比較部１５５へ出力する（ステップＳＴ３１９）。
【００２８】
次いで、画面制御部１５４は、ステップＳＴ３１９で入力された判定結果が「ＯＫ」か「ＮＧ」かを判定し、判定結果をシリアル番号比較部１５５へ出力する（ステップＳＴ３２１）。また、画面制御部１５４は、判定結果が「ＮＧ」であるときは（ステップＳＴ３２１：Ｎｏ）、オープンエラー画面をディスプレイ４０に表示させる（ステップＳＴ３２２）。図６は、実施例１のオープンエラー画面の表示例を示す図である。
【００２９】
一方で、シリアル番号比較部１５５は、画面制御部１５４での判定結果が「ＯＫ」であるときは（ステップＳＴ３２１：Ｙｅｓ）、ステップＳＴ３０５で通信対象デバイス選択部１５３から入力されたシリアル番号と、ステップＳＴ３１９で成否判定部１６３から入力されたシリアル番号とを比較し、比較結果（つまり「一致」または「不一致」）を画面表示制御部１５４及びテスト実行部１５２へ出力する（ステップＳＴ３２３）。例えば、ステップＳＴ３０３で選択された試験用デバイス２０が、実際にはコンピュータ装置１０のＵＳＢポート１１に接続されていない場合には、ステップＳＴ３２３での比較結果が「不一致」となることがある。
【００３０】
次いで、画面表示制御部１５４は、ステップＳＴ３２３での比較結果が「一致」か「不一致」かを判定し（ステップＳＴ３２４）、判定結果が「不一致」であるときは（ステップＳＴ３２４：Ｎｏ）、オープンエラー画面をディスプレイ４０に表示させる（ステップＳＴ３２２）。
【００３１】
また、テスト実行部１５２は、ステップＳＴ３２３での比較結果が「一致」か「不一致」かを判定し（ステップＳＴ３２４）、判定結果が「一致」であるときは（ステップＳＴ３２４：Ｙｅｓ）、試験用デバイス２０−１を通信対象にするとともに、カウンタｎを初期値の「０」にセットする（ステップＳＴ３２５）。
【００３２】
ここで、ステップＳＴ３０１で読み込まれた設定ファイルには、例えば、以下の内容の試験パターンが設定されているものとする。すなわち、「コントロール転送→バルクイン転送（１４ＭＢ）→ウェイト（１０００ｍｓ）→バルクアウト転送（１４ＭＢ）→デバイスリセット，試験回数Ｎ＝１００回」の試験パターンが設定ファイルに設定されているものとする。この試験パターンにおいて、「→」は、コントロール転送、バルクイン転送、ウェイト、バルクアウト転送、デバイスリセットの５種類のコマンドが順に発行されることを示し、「１４ＭＢ」は試験用デバイス２０との間で送信または受信されるテストデータのパケットサイズを示し、「１０００ｍｓ」はバルクイン転送コマンドの発行からバルクアウト転送コマンドの発行までの待ち時間を示す。つまり、「ウェイト（１０００ｍｓ）」を設定することは、コマンドの発行タイミングを設定することに相当する。なお、ユーザは、試験パターンに含めるコマンドの種類として、コントロール転送、バルクイン転送、ウェイト、バルクアウト転送及びデバイスリセット以外のコマンドも設定ファイルに設定可能である。
【００３３】
テスト実行部１５２は、設定ファイルに設定された試験パターンに従って、まず、コントロール転送コマンドをテスト実行指示部１６２に対して発行する（ステップＳＴ３２７）。
【００３４】
次いで、コントロール転送コマンドを発行されたテスト実行指示部１６２は、デバイス情報取得の指示を含むVenderReqを標準ドライバ１７へ出力する（ステップＳＴ３２９）。
【００３５】
次いで、テスト実行指示部１６２からVenderReqを入力された標準ドライバ１７は、デバイス情報取得の指示を含むコントロール転送コマンドを試験用デバイス２０−１へ送信する（ステップＳＴ３３１）。ステップＳＴ３３１で試験用デバイス２０−１へ送信されるコントロール転送コマンドは、ステップＳＴ３２７でテスト実行部１５２によって発行されたコントロール転送コマンドに対応する。つまり、ステップＳＴ３２７でテスト実行部１５２によって発行されたコントロール転送コマンドに従って、ステップＳＴ３２７で、コントロール転送コマンドが、コンピュータ装置１０が備えるＵＳＢインタフェースモジュール（図示省略）を介してコンピュータ装置１０から試験用デバイス２０−１へ送信される。試験用デバイス２０−１へ送信されたコントロール転送コマンドは、試験用デバイス２０−１のファームウェア２１に含まれるデバイス情報送信部２１３によって受信される。
【００３６】
コントロール転送コマンドを受信したデバイス情報送信部２１３は、試験用デバイス２０−１のベンダーの識別子等を含むデバイス情報をコンピュータ装置１０へ送信する（ステップＳＴ３３３）。
【００３７】
ステップＳＴ３３３でのデバイス情報を受信した標準ドライバ１７は、受信したデバイス情報を成否判定部１６３へ出力する（ステップＳＴ３３５）。
【００３８】
次いで、成否判定部１６３は、試験用デバイス２０−１からのデバイス情報の受信の成否を判定する（ステップＳＴ３３７）。例えば、成否判定部１６３は、所定の満了時間を有するタイマをステップＳＴ３２９でのVenderReqの出力時に起動させ、このタイマが満了するまでにデバイス情報を受け取った場合は、試験用デバイス２０−１からのデバイス情報の受信が成功したと判定する（つまり「ＯＫ」と判定する）一方で、このタイマが満了するまでにデバイス情報を受け取らなかった場合は、試験用デバイス２０−１からのデバイス情報の受信が失敗したと判定する（つまり「ＮＧ」と判定する）。そして、成否判定部１６３は、ステップＳＴ３３７での成否判定の結果（つまり「ＯＫ」または「ＮＧ」）を画面表示制御部１５４及びテスト実行部１５２へ出力する（ステップＳＴ３３９）。
【００３９】
次いで、画面制御部１５４は、ステップＳＴ３３９で入力された判定結果が「ＯＫ」か「ＮＧ」かを判定し（ステップＳＴ３４１）、判定結果が「ＮＧ」であるときは（ステップＳＴ３４１：Ｎｏ）、コントロール転送エラー画面をディスプレイ４０に表示させる（ステップＳＴ３４３）。図７は、実施例１のコントロール転送エラー画面の表示例を示す図である。
【００４０】
また、テスト実行部１５２は、ステップＳＴ３３９で入力された判定結果が「ＯＫ」か「ＮＧ」かを判定し（ステップＳＴ３４１）、判定結果が「ＯＫ」であるときは（ステップＳＴ３４１：Ｙｅｓ）、図４のステップＳＴ３４５へ処理を進める。
【００４１】
図４のステップＳＴ３４５において、テスト実行部１５２は、設定ファイルに設定された試験パターンに従って、次いで、１４ＭＢのテストデータの送信指示を含むバルクイン転送コマンドをテスト実行指示部１６２に対して発行する。
【００４２】
次いで、バルクイン転送コマンドを発行されたテスト実行指示部１６２は、１４ＭＢのテストデータの送信指示を含むテストデータ転送要求を標準ドライバ１７へ出力する（ステップＳＴ３４７）。
【００４３】
次いで、テストデータ転送要求を入力された標準ドライバ１７は、１４ＭＢのテストデータの送信指示を含むバルク転送（イン）コマンドを試験用デバイス２０−１へ送信する（ステップＳＴ３４９）。ステップＳＴ３４９で試験用デバイス２０−１へ送信されるバルク転送（イン）コマンドは、ステップＳＴ３４５でテスト実行部１５２によって発行されたバルクイン転送コマンドに対応する。つまり、ステップＳＴ３４５でテスト実行部１５２によって発行されたバルクイン転送コマンドに従って、ステップＳＴ３４９で、バルク転送（イン）コマンドが、コンピュータ装置１０が備えるＵＳＢインタフェースモジュール（図示省略）を介してコンピュータ装置１０から試験用デバイス２０へ送信される。試験用デバイス２０−１へ送信されたバルク転送（イン）コマンドは、試験用デバイス２０−１のファームウェア２１に含まれるテストデータ送信部２１４によって受信される。
【００４４】
バルク転送（イン）コマンドを受信したテストデータ送信部２１４は、１４ＭＢのテストデータをコンピュータ装置１０へ送信する（ステップＳＴ３５１）。このテストデータは、試験用デバイス２０が有する記憶部（図示省略）に予め記憶されている。また、試験用デバイス２０が有する記憶部（図示省略）に記憶されたテストデータと同一のテストデータが、コンピュータ装置１０が有する記憶部１０１に予め記憶されている。
【００４５】
ステップＳＴ３５１でのテストデータを受信した標準ドライバ１７は、受信したテストデータをテストデータ比較部１６４へ出力する（ステップＳＴ３５３）。
【００４６】
次いで、テストデータ比較部１６４は、記憶部１０１に記憶されているテストデータと、標準ドライバ１７から入力されたテストデータ（つまり、試験用デバイス２０から受信されたテストデータ）とを比較し、両者のテストデータが一致するか否かを判定する（ステップＳＴ３５５）。例えば、コンピュータ装置１０が備えるＵＳＢインタフェースモジュール（図示省略）に何らかの障害が発生した場合には、両者のテストデータが一致しなくなることがある。そして、テストデータ比較部１６４は、ステップＳＴ３５５での比較の結果（つまり「一致」または「不一致」）を画面表示制御部１５４及びテスト実行部１５２へ出力する（ステップＳＴ３５７）。
【００４７】
次いで、画面制御部１５４は、ステップＳＴ３５７で入力された比較結果が「一致」か「不一致」かを判定し（ステップＳＴ３５９）、比較結果が「不一致」であるときは（ステップＳＴ３５９：Ｎｏ）、バルクイン転送エラー画面をディスプレイ４０に表示させる（ステップＳＴ３６１）。図８は、実施例１のバルクイン転送エラー画面の表示例を示す図である。
【００４８】
また、テスト実行部１５２は、ステップＳＴ３５７で入力された比較結果が「一致」か「不一致」かを判定し（ステップＳＴ３５９）、比較結果が「一致」であるときは（ステップＳＴ３５９：Ｙｅｓ）、ステップＳＴ３６３へ処理を進める。
【００４９】
ステップＳＴ３６３では、テスト実行部１５２は、設定ファイルに設定された試験パターンに従って、ステップＳＴ３４５でのバルクイン転送コマンドの発行から１０００ｍｓ経過するまでウェイトコマンドを発行し続けてバルクアウト転送コマンドの発行を待機する。
【００５０】
ステップＳＴ３４５でのバルクイン転送コマンドの発行から１０００ｍｓ経過後、テスト実行部１５２は、ウェイトコマンドの発行を停止し、設定ファイルに設定された試験パターンに従って、１４ＭＢのテストデータの送信指示を含むバルクアウト転送コマンドをテストデータ送信部１６５に対して発行する（ステップＳＴ３６５）。
【００５１】
次いで、バルクアウト転送コマンドを発行されたテストデータ送信部１６５は、１４ＭＢのテストデータを記憶部１０１から取得して標準ドライバ１７へ出力する（ステップＳＴ３６７）。
【００５２】
次いで、１４ＭＢのテストデータを入力された標準ドライバ１７は、１４ＭＢのテストデータを含むバルク転送（アウト）コマンドを試験用デバイス２０−１へ送信する（ステップＳＴ３６９）。ステップＳＴ３６９で試験用デバイス２０−１へ送信されるバルク転送（アウト）コマンドは、ステップＳＴ３６５でテスト実行部１５２によって発行されたバルクアウト転送コマンドに対応する。つまり、ステップＳＴ３６５でテスト実行部１５２によって発行されたバルクアウト転送コマンドに従って、ステップＳＴ３６９で、バルク転送（アウト）コマンドが、コンピュータ装置１０が備えるＵＳＢインタフェースモジュール（図示省略）を介してコンピュータ装置１０から試験用デバイス２０へ送信される。試験用デバイス２０−１へ送信されたバルク転送（アウト）コマンドは、試験用デバイス２０−１のファームウェア２１に含まれるテストデータ比較部２１５によって受信される。
【００５３】
１４ＭＢのテストデータを含むバルク転送（アウト）コマンドを受信したテストデータ比較部２１５は、バルク転送（アウト）コマンドを受信したことを通知部２１２へ知らせ、この知らせに従って、通知部２１２は、バルク転送（アウト）コマンドの受信通知をコンピュータ装置１０へ送信する（ステップＳＴ３７１）。
【００５４】
ステップＳＴ３７１での受信通知を受信した標準ドライバ１７は、受信した受信通知をテストデータ送信部１６５へ出力する（ステップＳＴ３７３）。
【００５５】
次いで、標準ドライバ１７から受信通知を入力されたテストデータ送信部１６５は、テストデータの比較指示を標準ドライバ１７へ出力する（ステップＳＴ３７５）。
【００５６】
次いで、テストデータの比較指示を入力された標準ドライバ１７は、テストデータの比較指示を含むコントロール転送コマンドを試験用デバイス２０−１へ送信する（ステップＳＴ３７７）。試験用デバイス２０−１へ送信されたコントロール転送コマンドは、試験用デバイス２０−１のファームウェア２１に含まれるテストデータ比較部２１５によって受信される。
【００５７】
テストデータの比較指示を含むコントロール転送コマンドを受信したテストデータ比較部２１５は、ステップＳＴ３６９で受信したバルク転送（アウト）コマンドからテストデータを取得し、取得したテストデータと、試験用デバイス２０が有する記憶部（図示省略）に予め記憶されているテストデータとを比較し、両者のテストデータが一致するか否かを判定する（ステップＳＴ３７９）。そして、テストデータ比較部２１５は、ステップＳＴ３７９での比較の結果（つまり「一致」または「不一致」）を通知部２１２を介してコンピュータ装置１０へ送信する（ステップＳＴ３８１）。
【００５８】
ステップＳＴ３８１での比較結果を受信した標準ドライバ１７は、受信した比較結果を成否判定部１６３へ出力し（ステップＳＴ３８３）、成否判定部１６３は、標準ドライバ１７から入力された比較結果を画面表示制御部１５４及びテスト実行部１５２へ出力する（ステップＳＴ３８５）。
【００５９】
次いで、画面制御部１５４は、ステップＳＴ３８５で入力された比較結果が「一致」か「不一致」かを判定し（ステップＳＴ３８７）、比較結果が「不一致」であるときは（ステップＳＴ３８７：Ｎｏ）、バルクアウト転送エラー画面をディスプレイ４０に表示させる（ステップＳＴ３８９）。図９は、実施例１のバルクアウト転送エラー画面の表示例を示す図である。
【００６０】
また、テスト実行部１５２は、ステップＳＴ３８５で入力された比較結果が「一致」か「不一致」かを判定し（ステップＳＴ３８７）、比較結果が「一致」であるときは（ステップＳＴ３８７：Ｙｅｓ）、図５のステップＳＴ３９１へ処理を進める。
【００６１】
図５のステップＳＴ３９１において、テスト実行部１５２は、設定ファイルに設定された試験パターンに従って、次いで、デバイスリセットコマンドをテスト実行指示部１６２に対して発行する。
【００６２】
次いで、デバイスリセットコマンドを発行されたテスト実行指示部１６２は、ハードウェアのリセット指示を含むVenderReqを標準ドライバ１７へ出力する（ステップＳＴ３９３）。
【００６３】
次いで、テスト実行指示部１６２からVenderReqを入力された標準ドライバ１７は、ハードウェアのリセット指示を含むコントロール転送コマンドを試験用デバイス２０−１へ送信する（ステップＳＴ３９５）。ステップＳＴ３９５で試験用デバイス２０−１へ送信されるコントロール転送コマンドは、ステップＳＴ３９１でテスト実行部１５２によって発行されたデバイスリセットコマンドに対応する。つまり、ステップＳＴ３９１でテスト実行部１５２によって発行されたデバイスリセットコマンドに従って、ステップＳＴ３９５で、ハードウェアのリセット指示を含むコントロール転送コマンドが、コンピュータ装置１０が備えるＵＳＢインタフェースモジュール（図示省略）を介してコンピュータ装置１０から試験用デバイス２０へ送信される。試験用デバイス２０−１へ送信されたコントロール転送コマンドは、試験用デバイス２０−１のファームウェア２１に含まれる再起動部２１６によって受信される。
【００６４】
コントロール転送コマンドを受信した再起動部２１６は、コントロール転送コマンドを受信したことを通知部２１２へ知らせ、この知らせに従って、通知部２１２は、コントロール転送コマンドの受信通知をコンピュータ装置１０へ送信する（ステップＳＴ３９７）。
【００６５】
ステップＳＴ３９７での受信通知を受信した標準ドライバ１７は、受信した受信通知を成否判定部１６３へ出力する（ステップＳＴ３９９）。
【００６６】
次いで、コントロール転送コマンドを受信した再起動部２１６は、受信したコントロール転送コマンドに含まれるハードウェアのリセット指示に従って、試験用デバイス２０を再起動させる（ステップＳＴ４０１）。試験用デバイス２０の再起動後、再起動部２１６は、再接続要求を通知部２１２を介してコンピュータ装置１０へ送信する（ステップＳＴ４０３）。
【００６７】
ステップＳＴ４０３での再接続要求を受信した標準ドライバ１７は、試験用デバイス２０のファームウェア２１との間で、ＰｎＰ(Plug  and  Play)シーケンスを実行する（ステップＳＴ４０５）。ＰｎＰシーケンスの実行により、コンピュータ装置１０と試験用デバイス２０との間の通信が再び接続される。
【００６８】
コンピュータ装置１０と試験用デバイス２０との間の通信が再び接続されると、標準ドライバ１７は、再接続通知を成否判定部１６３へ出力する（ステップＳＴ４０７）。
【００６９】
次いで、成否判定部１６３は、試験用デバイス２０の再起動の成否を判定する（ステップＳＴ４０９）。例えば、成否判定部１６３は、所定の満了時間を有するタイマをステップＳＴ３９３でのVenderReqの出力時に起動させ、このタイマが満了するまでにステップＳＴ３９９での受信通知及びステップＳＴ４０７での再接続通知の双方を受け取った場合は、試験用デバイス２０−１の再起動が成功したと判定する（つまり「ＯＫ」と判定する）一方で、このタイマが満了するまでにステップＳＴ３９９での受信通知またはステップＳＴ４０７での再接続通知を受け取らなかった場合は、試験用デバイス２０−１の再起動が失敗したと判定する（つまり「ＮＧ」と判定する）。そして、成否判定部１６３は、ステップＳＴ４０９での成否判定の結果（つまり「ＯＫ」または「ＮＧ」）を画面表示制御部１５４及びテスト実行部１５２へ出力する（ステップＳＴ４１１）。
【００７０】
次いで、画面制御部１５４は、ステップＳＴ４１１で入力された判定結果が「ＯＫ」か「ＮＧ」かを判定し（ステップＳＴ４１３）、判定結果が「ＮＧ」であるときは（ステップＳＴ４１３：Ｎｏ）、リセットエラー画面をディスプレイ４０に表示させる（ステップＳＴ４１５）。図１０は、実施例１のリセットエラー画面の表示例を示す図である。
【００７１】
また、テスト実行部１５２は、ステップＳＴ４１１で入力された判定結果が「ＯＫ」か「ＮＧ」かを判定し（ステップＳＴ４１３）、判定結果が「ＯＫ」であるときは（ステップＳＴ４１３：Ｙｅｓ）、カウンタｎをインクリメントする（ステップＳＴ４１７）。
【００７２】
次いで、テスト実行部１５２は、カウンタｎが試験回数Ｎに達したか否かを判定する（ステップＳＴ４１９）。カウンタｎが試験回数Ｎに達していない場合は（ステップＳＴ４１９：Ｎｏ）、処理は図３のステップＳＴ３２７へ戻る。
【００７３】
一方で、カウンタｎが試験回数Ｎに達したときは（ステップＳＴ４１９：Ｙｅｓ）、画面制御部１５４は、正常終了画面をディスプレイ４０に表示させる（ステップＳＴ４２１）。図１１は、実施例１の正常終了画面の表示例を示す図である。
【００７４】
［実施例２］
コンピュータ装置１０は、例えば、次のようなハードウェア構成により実現することができる。図１２は、実施例２のコンピュータ装置のハードウェア構成例を示す図である。図１２に示すように、コンピュータ装置１０は、ハードウェアの構成要素として、プロセッサ１０ａと、メモリ１０ｂと、ＵＳＢインタフェースモジュール１０ｃとを有する。プロセッサ１０ａの一例として、ＣＰＵ（Central  Processing  Unit），ＤＳＰ（Digital  Signal  Processor），ＦＰＧＡ（Field  Programmable  Gate  Array）等が挙げられる。また、コンピュータ装置１０は、プロセッサ１０ａと周辺回路とを含むＬＳＩ（Large  Scale  Integrated  circuit）を有してもよい。メモリ１０ｂの一例として、ＳＤＲＡＭ（Synchronous  Dynamic  Random  Access  Memory）等のＲＡＭ（Random  Access  Memory），ＲＯＭ（Read  Only  Memory）、フラッシュメモリ等が挙げられる。
【００７５】
そして、コンピュータ装置１０での上記説明における各処理は、各処理に対応するプログラムがプロセッサ１０ａに実行させることによって実現される。例えば、上記説明における各処理に対応するプログラムがメモリ１０ｂに記憶され、プログラムがプロセッサ１０ａによってメモリ１０ｂから読み出されて実行される。
【００７６】
以上、実施例１，２について説明した。
【００７７】
以上説明したように、開示の技術では、コンピュータ装置１０は、試験用アプリケーション１５を有する。試験用アプリケーション１５は、設定ファイル読込部１５１と、テスト実行部１５２とを有する。設定ファイル読込部１５１は、記憶部１０１に記憶された設定ファイルを記憶部１０１から読み込む。設定ファイルには、コンピュータ装置１０が備えるＵＳＢインタフェースモジュールを介して試験用デバイス２０へ送信されるコマンドの種類、コマンドの発行タイミング、及び、試験用デバイス２０との間で送信または受信されるテストデータのパケットサイズが設定されている。テスト実行部１５２は、設定ファイル読込部１５１によって読み込まれた設定ファイルに基づいてコマンドを発行する。
【００７８】
こうすることで、コマンドの種類、コマンドの発行タイミング、及び、テストデータのパケットサイズの様々な組合せパターンに従ってＵＳＢインタフェースモジュールに対する信頼性試験を行うことができるため、ＵＳＢインタフェースモジュールに対する信頼性試験の精度を向上することができる。
【００７９】
また、開示の技術では、テスト実行部１５２は、設定ファイル読込部１５１によって読み込まれた設定ファイルに基づいて、コントロール転送コマンド、バルクイン転送コマンド、ウェイトコマンド、バルクアウト転送コマンド、デバイスリセットコマンドの順で各コマンドを発行する、
【００８０】
こうすることで、ＵＳＢインタフェースモジュールに対する信頼性試験を効率良く行うことができる。
【符号の説明】
【００８１】
１  インタフェース試験システム
１０  コンピュータ装置
１１−１〜１１−５  ＵＳＢポート
１５  試験用アプリケーション
１６  専用ドライバ
１７  標準ドライバ
２０−１〜２０−３  試験用デバイス
２１  ファームウェア
【図１】
2017134741.tif 000003
【図２】
2017134741.tif 000004
【図３】
2017134741.tif 000005
【図４】
2017134741.tif 000006
【図５】
2017134741.tif 000007
【図６】
2017134741.tif 000008
【図７】
2017134741.tif 000009
【図８】
2017134741.tif 000010
【図９】
2017134741.tif 000011
【図１０】
2017134741.tif 000012
【図１１】
2017134741.tif 000013
【図１２】
2017134741.tif 000014