(57)【特許請求の範囲】
【請求項１】
デバイスと試験対象処理を実行する装置とを接続または切断するスイッチと、
プロセッサとを有し、
前記プロセッサは、
前記装置に前記試験対象処理を複数回繰り返し実行させ、
前記装置において前記試験対象処理が実行される都度、異なるタイミングで、前記スイッチにより前記装置から前記デバイスを切断する切断動作、または、前記スイッチにより前記装置に前記デバイスを接続する接続動作を実行させる
ことを特徴とする試験装置。
【請求項２】
前記各試験対象処理の実行中に前記スイッチによる前記切断動作または前記接続動作を実行するタイミングを規定する初期時間と刻み時間とを格納するメモリをさらに有し、
前記プロセッサは、
１回目の前記試験対象処理の実行中に前記スイッチによる前記切断動作または前記接続動作を実行するタイミングとして、前記初期時間を用い、
２回目以降の各試験対象処理の実行中に前記スイッチによる前記切断動作または前記接続動作を実行するタイミングとして、前回のタイミングと前記刻み時間とを加算した時間を用いる
ことを特徴とする、請求項１に記載の試験装置。
【請求項３】
前記試験対象処理は、前記装置のＢＩＯＳ（Basic Input Output System）が実行する、前記装置の内蔵デバイスおよび前記装置に外付けされる前記デバイスについてのデバイスリコネクト処理であり、
前記プロセッサは、前記スイッチによる前記切断動作または前記接続動作を、前記試験対象処理毎に前記異なるタイミングで実行させることにより、前記装置において、前記デバイスリコネクト処理による前記デバイスの第１切断処理または第１接続処理と、前記スイッチによる前記切断動作または前記接続動作に伴い前記ＢＩＯＳが実行する第２切断処理または第２接続処理とを競合させる
ことを特徴とする、請求項２に記載の試験装置。
【請求項４】
前記デバイスリコネクト処理は、全ての前記内蔵デバイスおよび前記デバイスの切断処理を行なった後、全ての前記内蔵デバイスおよび前記デバイスの接続処理を行なう場合、前記内蔵デバイスの数と前記デバイスの数との合計をｎ（ｎは２以上の自然数）、前記デバイスリコネクト処理における前記デバイスの前記第１切断処理の実行順をｍ番目（ｍは自然数かつ１＜ｍ＜ｎ）、前記デバイスリコネクト処理に要する処理時間をａ、前記デバイスリコネクト処理における一デバイス当たりに要する処理時間をｂ（＝ａ／(ｎ×２)）、試験すべき時間間隔を示す時間幅をｃ（ｂ＜ｃ＜ａ）とすると、切断処理用の前記初期時間Ｔｄは、
Ｔｄ＝ｍ×ｂ−ｃ／２
によって与えられるとともに、前記刻み時間ｋは、
ｋ＝ｂ／(２以上の値)
によって与えられる
ことを特徴とする、請求項３に記載の試験装置。
【請求項５】
前記デバイスリコネクト処理は、全ての前記内蔵デバイスおよび前記デバイスの切断処理を行なった後、全ての前記内蔵デバイスおよび前記デバイスの接続処理を行なう場合、前記内蔵デバイスの数と前記デバイスの数との合計をｎ（ｎは２以上の自然数）、前記デバイスリコネクト処理における前記デバイスの前記第１切断処理の実行順をｍ番目（ｍは自然数かつ１＜ｍ＜ｎ）、前記デバイスリコネクト処理に要する処理時間をａ、前記デバイスリコネクト処理における一デバイス当たりに要する処理時間をｂ（＝ａ／(ｎ×２)）、試験すべき時間間隔を示す時間幅をｃ（ｂ＜ｃ＜ａ）とすると、接続処理用の前記初期時間Ｔｃは、
Ｔｃ＝ｍ×ｂ−ｃ／２＋ａ／２
によって与えられるとともに、前記刻み時間ｋは、
ｋ＝ｂ／(２以上の値)
によって与えられる
ことを特徴とする、請求項３または請求項４に記載の試験装置。
【請求項６】
デバイスと試験対象処理を実行する装置とを接続または切断するスイッチを用いて、プロセッサにより前記試験対象処理の試験を行なう方法であって、
前記装置に前記試験対象処理を複数回繰り返し実行し、
前記装置において前記試験対象処理が実行される都度、異なるタイミングで、前記スイッチにより前記装置から前記デバイスを切断する切断動作、または、前記スイッチにより前記装置に前記デバイスを接続する接続動作を実行する
ことを特徴とする試験方法。
【請求項７】
デバイスと試験対象処理を実行する装置とを接続または切断するスイッチを用いて前記試験対象処理の試験を行なうプロセッサに、
前記装置に前記試験対象処理を複数回繰り返し実行させ、
前記装置において前記試験対象処理が実行される都度、異なるタイミングで、前記スイッチにより前記装置から前記デバイスを切断する切断動作、または、前記スイッチにより前記装置に前記デバイスを接続する接続動作を実行させる
処理を実行させることを特徴とする試験プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、試験装置，試験方法および試験プログラムに関する。
【背景技術】
【０００２】
図９は、外付けデバイス４０を接続されるサーバ３０の構成を示すブロック図である。図９に示すサーバ３０は、ＢＩＯＳ（Basic Input Output System）３１，ポート３２，キーボード３４および表示部３５を有している。ポート３２には、サーバ３０に接続される外付けデバイス４０のコネクタ４２が挿入され、コネクタ４２およびケーブル４１を介して外付けデバイス４０が接続される。サーバ３０には、オペレータによって操作され各種情報を入力するキーボード３４と、各種情報を表示してオペレータに通知する表示部３５とがそなえられている。
【０００３】
ＢＩＯＳ３１が立ち上がった後に、サーバ３０に外付けデバイス４０が接続された場合、ＢＩＯＳ３１は、外付けデバイス４０の接続を検知し、デバイス４０のコネクト処理（接続処理）を行なう。コネクト処理は、デバイス４０とＢＩＯＳ３１がもつデバイスドライバとの関連付けを行なう処理である。
【０００４】
また、サーバ３０に外付けデバイス４０が接続されデバイス４０のコネクト処理が行なわれた後で外付けデバイス４０がサーバ３０から切断された場合、ＢＩＯＳ３１は、デバイス４０の切断を検知し、デバイス４０のディスコネクト処理（切断処理）を行なう。ディスコネクト処理は、デバイス４０とＢＩＯＳ３１がもつデバイスドライバとの関連付けを解消する処理である。
【０００５】
上述のような外付けデバイス４０のサーバ３０に対する接続／切断動作に伴って実行されるコネクト処理およびディスコネクト処理は、ＢＩＯＳ３１が通常行なうデバイス認識処理であり、後述するデバイスリコネクト処理時にも実行される。
図９に示すようなサーバ３０においては、リコネクトコマンドに応じＢＩＯＳ３１によってデバイスリコネクト処理が実行される。
【０００６】
デバイスリコネクト処理は、ＢＩＯＳ３１側の処理、つまりＢＩＯＳ３１によって実行される処理である。デバイスリコネクト処理とは、サーバ３０に内蔵されたデバイスやサーバ３０に接続された外付けデバイス４０とＢＩＯＳ３１がもつデバイスドライバとの関連付けを解消するディスコネクト処理を行なってから、再び、これらのデバイスとデバイスドライバとを関連付けるコネクト処理を行なうことをいう。なお、以下、サーバ３０に内蔵されたデバイスを「内蔵デバイス」という。このようなデバイスリコネクト処理をサーバ３０の内蔵デバイスやサーバ３０に接続された外付けデバイス４０の全てについて実行させるコマンドが、リコネクトコマンドである。
【０００７】
デバイスリコネクト処理は、例えば、サーバ３０においてサポートすべきデバイスが新規に設定された場合に、デバイスとデバイスドライバとの関連付けをやり直すために実行される。デバイスリコネクト処理は、例えば、オペレータがキーボード３４等を操作してリコネクトコマンドを入力することにより実行される。
【０００８】
図１０は、ｎ個の内蔵デバイスｄ1〜ｄnを有するサーバ３０において、１回のリコネクトコマンドに応じて実行される、ＢＩＯＳ３１によるデバイスリコネクト処理の手順を説明するタイミングチャートである。なお、ｎは２以上の自然数である。ここで、サーバ３０に外付けデバイス４０は接続されていないものとする。このとき、ＢＩＯＳ３１は、リコネクトコマンドを受けデバイスリコネクト処理を開始すると、図１０に示すように、まず、内蔵デバイスｄ1から内蔵デバイスｄnまでのディスコネクト処理を順に行なう。ついで、ＢＩＯＳ３１は、内蔵デバイスｄ1から内蔵デバイスｄnまでのコネクト処理を順に行なう。
【０００９】
図１１は、内蔵デバイスｄ1〜ｄm-1およびｄm+1〜ｄnを有するとともに外付けデバイス４０を予め接続されたサーバ３０において、１回のリコネクトコマンドに応じて実行される、ＢＩＯＳ３１によるデバイスリコネクト処理の手順を説明するタイミングチャートである。ｍは、１よりも大きくｎ未満の自然数であり、外付けデバイス４０のディスコネクト処理またはコネクト処理は、外付けデバイス４０を含むｎ個のデバイスのディスコネクト処理またはコネクト処理の中でｍ番目に実行される。サーバ３０における各デバイス（内蔵デバイスや外付けデバイス４０）はＢＩＯＳ３１によってツリー形式で管理されており、このツリー形式における外付けデバイス４０の位置に従ってｍの値は決まる。このとき、ＢＩＯＳ３１は、リコネクトコマンドを受けデバイスリコネクト処理を開始すると、図１１に示すように、まず、内蔵デバイスｄ1〜ｄm-1，外付けデバイス４０および内蔵デバイスｄm+1〜ｄnのディスコネクト処理を順に行なう。ついで、ＢＩＯＳ３１は、内蔵デバイスｄ1〜ｄm-1，外付けデバイス４０および内蔵デバイスｄm+1〜ｄnのコネクト処理を順に行なう。
【００１０】
ところで、ＢＩＯＳ３１によるデバイスリコネクト処理の実行中に、オペレータによって外付けデバイス４０のサーバ３０に対する接続／切断操作が行なわれることがある。その際、デバイスリコネクト処理による外付けデバイス４０のディスコネクト処理またはコネクト処理と、オペレータによる外付けデバイス４０の接続／切断操作に伴いＢＩＯＳ３１が実行するディスコネクト処理またはコネクト処理とが競合する場合がある。
【００１１】
このような競合が生じると、サーバ３０において資源の取り合いが起きハングアップ等の障害が発生することがある。このため、ＢＩＯＳ３１によるデバイスリコネクト処理の実行中に上述のような競合を発生させ、障害（エラー）が発生するか否かを調べる、デバイスリコネクト処理（試験対象処理）の試験が時間をかけて行なわれている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００８−２４９３３０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
１つの側面では、本件は、試験対象処理の試験に要する時間を短縮することを目的とする。
【課題を解決するための手段】
【００１４】
本件の試験装置は、デバイスと試験対象処理を実行する装置とを接続または切断するスイッチと、プロセッサとを有する。前記プロセッサは、前記装置に前記試験対象処理を複数回繰り返し実行させ、前記装置において前記試験対象処理が実行される都度、異なるタイミングで、前記スイッチにより前記装置から前記デバイスを切断する切断動作、または、前記スイッチにより前記装置に前記デバイスを接続する接続動作を実行させる。
【００１５】
また、本件の試験方法は、デバイスと試験対象処理を実行する装置とを接続または切断するスイッチを用いプロセッサにより前記試験対象処理の試験を行なう方法であって、前記装置に前記試験対象処理を複数回繰り返し実行し、前記装置において前記試験対象処理が実行される都度、異なるタイミングで、前記スイッチにより前記装置から前記デバイスを切断する切断動作、または、前記スイッチにより前記装置に前記デバイスを接続する接続動作を実行する。
【００１６】
さらに、本件の試験プログラムは、デバイスと試験対象処理を実行する装置とを接続または切断するスイッチを用い前記試験対象処理の試験を行なうプロセッサに、前記装置に前記試験対象処理を複数回繰り返し実行させ、前記装置において前記試験対象処理が実行される都度、異なるタイミングで、前記スイッチにより前記装置から前記デバイスを切断する切断動作、または、前記スイッチにより前記装置に前記デバイスを接続する接続動作を実行させる、処理を実行させる。
【発明の効果】
【００１７】
一実施形態によれば、試験対象処理の試験に要する時間が短縮される。
【図面の簡単な説明】
【００１８】
【図１】一実施形態の試験装置のハードウエア構成を示すブロック図である。
【図２】図１に示す試験装置を成すテスト用コンピュータの機能構成を示すブロック図である。
【図３】図２に示すテスト用コンピュータのテーブルに保持されるデータを示す図である。
【図４】図１に示す試験装置を成す接続／切断機構（スイッチ）の構成を示すブロック図である。
【図５】本実施形態の試験装置によりコネクト処理の競合を発生させる際の手順を示すタイミングチャートである。
【図６】本実施形態の試験装置によりディスコネクト処理の競合を発生させる際の手順を示すタイミングチャートである。
【図７】本実施形態の試験装置によりコネクト処理の競合を発生させる際の、テスト用コンピュータの動作を説明するフローチャートである。
【図８】本実施形態の試験装置によりディスコネクト処理の競合を発生させる際の、テスト用コンピュータの動作を説明するフローチャートである。
【図９】外付けデバイスを接続されるサーバの構成を示すブロック図である。
【図１０】ｎ個の内蔵デバイスを有するサーバにおける、ＢＩＯＳによるデバイスリコネクト処理の手順を説明するタイミングチャートである。
【図１１】内蔵デバイスを有するとともに外付けデバイスを予め接続されたサーバにおける、ＢＩＯＳによるデバイスリコネクト処理の手順を説明するタイミングチャートである。
【図１２】図９に示すサーバにおいてディスコネクト処理の競合を発生させる際の手順を説明するフローチャートである。
【図１３】図９に示すサーバにおいてディスコネクト処理の競合が発生した状態を示すタイミングチャートである。
【図１４】図９に示すサーバにおいてコネクト処理の競合を発生させる際の手順を説明するフローチャートである。
【図１５】図９に示すサーバにおいてコネクト処理の競合が発生した状態を示すタイミングチャートである。
【発明を実施するための形態】
【００１９】
以下、図面を参照して実施の形態を説明する。
〔１〕デバイスリコネクト処理の試験
デバイスリコネクト処理の試験は、例えば、以下のような手順で行なわれる。つまり、ＢＩＯＳ３１が立ち上がった状態で、オペレータは、キーボード３４からリコネクトコマンドを投入し、ＢＩＯＳ３１にデバイスリコネクト処理を実行させる。そして、オペレータは、デバイスリコネクト処理と並行し、コネクタ４２をポート３２に対し適当なタイミングで接続または切断する。オペレータは、外付けデバイス４０（コネクタ４２）の接続または切断のタイミングを変えながら、上述の処理を繰り返し行なうことにより、長時間かけ、ディスコネクト処理またはコネクト処理の競合を発生させている。このような試験と同じ手法は、運用中にデバイスリコネクト処理の障害が発生した場合に当該障害を再現して検証する際にも用いられる。
【００２０】
デバイスリコネクト処理の試験では、以下の２種類の競合（１）および（２）を発生させて、障害（エラー）の発生を検証する必要がある。
（１）リコネクトコマンドによる外付けデバイス４０のディスコネクト処理と、外付けデバイス４０の切断の検知による外付けデバイス４０のディスコネクト処理との競合。
（２）リコネクトコマンドによる外付けデバイス４０のコネクト処理と、外付けデバイス４０の接続の検知による外付けデバイス４０のコネクト処理との競合。
【００２１】
図１２に示すフローチャート（ステップＳ１１〜Ｓ１６）に従って、ＢＩＯＳ３１によるデバイスリコネクト処理の実行中にディスコネクト処理の競合を発生させる際の手順について説明する。
オペレータは、外付けデバイス４０のコネクタ４２をサーバ３０のポート３２に挿し込み（ステップＳ１１）、キーボード３４を通じてサーバ３０にリコネクトコマンドを入力して、ＢＩＯＳ３１にデバイスリコネクト処理を実行させる（ステップＳ１２）。オペレータは、リコネクトコマンド投入後、デバイスリコネクト処理で外付けデバイス４０のディスコネクト処理が実行されると考えられる適当なタイミングで、人手でコネクタ４２をポート３２から引き抜く（ステップＳ１３）。これにより外付けデバイス４０がサーバ３０から切断される。
【００２２】
切断操作に伴い、ＢＩＯＳ３１は、外付けデバイス４０の切断を検知し、外付けデバイス４０のディスコネクト処理を実行する。この後、オペレータは、リコネクトコマンドが終了するまで待機し（ステップＳ１４）、何らかのエラー、例えばハングアップ等の障害が発生した場合（ステップＳ１５のＹＥＳルート）、当該エラーの調査を行なう（ステップＳ１６）。
【００２３】
一方、エラーが発生しない場合（ステップＳ１５のＮＯルート）、オペレータは、ステップＳ１１に戻り同様の処理を繰り返し実行する。その際、オペレータは、ディスコネクト処理の競合を起こすことを意図し、ステップＳ１３において、タイミングを変えながら外付けデバイス４０の切断を人手で行なう。ステップＳ１１〜Ｓ１４の処理を所定回数繰り返してもエラーが発生しない場合、オペレータは、ディスコネクト処理の競合によるエラーが発生しないと判断し、試験を終了する。
【００２４】
図１３は、ＢＩＯＳ３１によるデバイスリコネクト処理の実行中に、図１２のステップＳ１３の処理に応じて、ディスコネクト処理の競合が発生した状態を示すタイミングチャートである。この図１３では、１回のリコネクトコマンドに応じて実行されるデバイスリコネクト処理と外付けデバイス４０の切断の検知によるディスコネクト処理との実行タイミングが示されている。
【００２５】
図１４に示すフローチャート（ステップＳ２１〜Ｓ２６）に従って、ＢＩＯＳ３１によるデバイスリコネクト処理の実行中にコネクト処理の競合を発生させる際の手順について説明する。
オペレータは、外付けデバイス４０のコネクタ４２をサーバ３０のポート３２から引き抜き（ステップＳ２１）、キーボード３４を通じてサーバ３０にリコネクトコマンドを入力して、ＢＩＯＳ３１にデバイスリコネクト処理を実行させる（ステップＳ２２）。オペレータは、リコネクトコマンド投入後、デバイスリコネクト処理で外付けデバイス４０のコネクト処理が実行されると考えられる適当なタイミングで、人手でコネクタ４２をポート３２に挿し込む（ステップＳ２３）。これにより外付けデバイス４０がサーバ３０に接続される。
【００２６】
接続操作に伴い、ＢＩＯＳ３１は、外付けデバイス４０の接続を検知し、外付けデバイス４０のコネクト処理を実行する。この後、オペレータは、リコネクトコマンドが終了するまで待機し（ステップＳ２４）、何らかのエラー、例えばハングアップ等の障害が発生した場合（ステップＳ２５のＹＥＳルート）、当該エラーの調査を行なう（ステップＳ２６）。
【００２７】
一方、エラーが発生しない場合（ステップＳ２５のＮＯルート）、オペレータは、ステップＳ２１に戻り同様の処理を繰り返し実行する。その際、オペレータは、コネクト処理の競合を起こすことを意図し、ステップＳ２３において、タイミングを変えながら外付けデバイス４０の接続を人手で行なう。ステップＳ２１〜Ｓ２４の処理を所定回数繰り返してもエラーが発生しない場合、オペレータは、コネクト処理の競合によるエラーが発生しないと判断し、試験を終了する。
【００２８】
図１５は、ＢＩＯＳ３１によるデバイスリコネクト処理の実行中に、図１４のステップＳ２３の処理に応じて、コネクト処理の競合が発生した状態を示すタイミングチャートである。この図１５では、１回のリコネクトコマンドに応じて実行されるデバイスリコネクト処理と外付けデバイス４０の接続の検知によるコネクト処理との実行タイミングが示されている。
【００２９】
なお、外付けデバイス４０をサーバ３０から切断した状態では、デバイスリコネクト処理において、外付けデバイス４０のディスコネクト処理もコネクト処理も実行されない。しかし、図１４および図１５に示すように、外付けデバイス４０をサーバ３０から切断した状態でデバイスリコネクト処理を開始し適当なタイミングで外付けデバイス４０をサーバ３０に接続した場合、外付けデバイス４０の接続タイミングで当該接続を検知したことに伴うコネクト処理が実行される。また、当該接続の検知に伴い、所定の順番（例えばｍ番目）でリコネクトコマンドによる外付けデバイス４０のコネクト処理が実行される。
【００３０】
上述したデバイスリコネクト処理の試験では、エラーが起きたか否かはコマンド実行結果（ステップＳ１５，Ｓ２５の判定結果）により判明するが、競合が起きたか否かについてはコマンド実行結果で示されない。しかし、オペレータの接続／切断操作の実行タイミングに依存するが、図１３や図１５に示したように、デバイスリコネクト処理の実行中にコネクト処理またはディスコネクト処理の競合を発生させることは可能である。ただし、コネクト処理またはディスコネクト処理の競合が発生することを保証するには、オペレータは、外付けデバイス４０の接続／切断のタイミングを変えつつ試験を繰り返し長時間に亘り行なうことが必須である。なぜならば、コネクト処理またはディスコネクト処理の競合を起こすタイミングを事前に見積ることはできるものの、見積もりの精度や人手によるタイミングのばらつきなどの不確定要素を考慮しなければならないからである。
【００３１】
特に、上述したデバイスリコネクト処理の試験では、人手で外付けデバイス４０のコネクタ４２の抜き挿しを行なうことで外付けデバイス４０の接続や切断を実現しているため、外付けデバイス４０の接続や切断のタイミングのばらつきが大きくなる。したがって、ＢＩＯＳ３１によるデバイスリコネクト処理の試験の確実性を高めるためには時間がかかるほか、同様に、ＢＩＯＳ３１によるデバイスリコネクト処理の障害を確実に再現するためには時間がかかる。
【００３２】
〔２〕実施形態
〔２−１〕試験装置の構成
図１は、一実施形態の試験装置１のハードウエア構成を示すブロック図である。
図１に示す試験装置１は、サーバ（装置）３０に搭載されたＢＩＯＳ３１が実行する、サーバ３０の内蔵デバイスおよびサーバ３０に外付けされるデバイス４０についてのデバイスリコネクト処理を試験対象処理としている。特に、試験装置１では、後述するテスト用コンピュータ１０および接続／切断機構２０を用いて、ディスコネクト処理／コネクト処理の競合が実現される。ここで、ディスコネクト処理／コネクト処理の競合とは、前述した通り、デバイスリコネクト処理による外付けデバイス４０の第１切断処理／第１接続処理と、外付けデバイス４０の接続／切断動作に伴いＢＩＯＳ３１が実行する第２切断処理／第２接続処理との競合である。
【００３３】
試験装置１は、テスト用コンピュータ１０および接続／切断機構２０を有している。
テスト用コンピュータ１０には、同コンピュータ１０から引き出された制御ケーブル１５を介して接続／切断機構２０が接続される。制御ケーブル１５は例えばＵＳＢ（Universal Serial Bus）ケーブルである。このＵＳＢケーブル１５のＵＳＢコネクタ１６を接続／切断機構２０側のＵＳＢポート２４ｃに挿し込むことにより、コンピュータ１０と接続／切断機構２０とが接続される。
【００３４】
また、テスト用コンピュータ１０には、同コンピュータ１０から引き出された通信ケーブル１７を介してサーバ３０が接続される。通信ケーブル１７は例えばシリアルケーブルである。このシリアルケーブル１７のシリアルコネクタ１８をサーバ３０側のシリアルポート３３に挿し込むことにより、コンピュータ１０とサーバ３０とが接続される。
【００３５】
接続／切断機構２０は、外付けデバイス４０と試験対象処理であるデバイスリコネクト処理を実行するサーバ３０とを接続または切断するスイッチで、デバイスリコネクト処理の試験を行なう際、サーバ３０と外付けデバイス４０との間に介装される。
つまり、デバイスリコネクト処理の試験を行なう際、接続／切断機構２０には、接続／切断機構２０から引き出された接続ケーブル２１を介してサーバ３０が接続される。接続ケーブル２１は例えばＵＳＢケーブルである。このＵＳＢケーブル２１のＵＳＢコネクタ２２をサーバ３０側のＵＳＢポート３２に挿し込むことにより、接続／切断機構２０とサーバ３０とが接続される。
【００３６】
また、デバイスリコネクト処理の試験を行なう際、接続／切断機構２０には、接続ケーブル４１を介して外付けデバイス４０が接続される。接続ケーブル４１は、例えばＵＳＢケーブルで、外付けデバイス４０から引き出されている。このＵＳＢケーブル４１のＵＳＢコネクタ４２を接続／切断機構２０側のＵＳＢポート２３に挿し込むことにより、接続／切断機構２０と外付けデバイス４０とが接続される。
【００３７】
図４は、図１に示す試験装置１を成す接続／切断機構２０の構成を示すブロック図である。図４に示すように、接続／切断機構２０は、上述したＵＳＢケーブル２１，ＵＳＢコネクタ２２およびＵＳＢポート２３のほかにＵＳＢリレーユニット２４を有している。ＵＳＢリレーユニット２４は、ＵＳＢインターフェース２４ａ，リレー２４ｂおよびＵＳＢポート２４ｃを有している。ＵＳＢポート２４ｃは、上述したように、ＵＳＢケーブル１５のＵＳＢコネクタ１６を挿し込まれることによりコンピュータ１０と接続され、コンピュータ１０からの接続指示／切断指示を受信する。
【００３８】
リレー２４ｂは、一方の側をＵＳＢケーブル２１およびＵＳＢコネクタ２２を介しサーバ３０に接続されるとともに、他方の側をＵＳＢポート２３を介し外付けデバイス４０に接続される。リレー２４ｂは、サーバ３０と外付けデバイス４０との間を接続状態および切断状態のいずれか一方に切り換える機構である。ＵＳＢインターフェース２４ａは、ＵＳＢポート２４ｃを通じコンピュータ１０から受信した接続指示／切断指示に応じて、リレー２４ｂを接続状態または切断状態に切り換える。
【００３９】
本実施形態では、制御ケーブル１５や接続ケーブル２１，４１がＵＳＢケーブルであり通信ケーブル１７がシリアルケーブルである場合について説明しているが、本発明は、これに限定されるものでない。例えば、サーバ３０が通信ポートとしてＬＡＮ（Local Area Network）ポートを有している場合、通信ケーブル１７としてＬＡＮケーブルが用いられる。また、サーバ３０が外付けデバイス４０との接続ポートとしてＩＥＥＥ１３９４ポートを有している場合、接続ケーブル２１，４１としてＩＥＥＥ１３９４ケーブルが用いられる。
【００４０】
次に、図２を参照しながら、テスト用コンピュータ１０の機能構成について説明する。図２は、図１に示す試験装置１を成すテスト用コンピュータ１０の機能構成を示すブロック図である。
コンピュータ１０は、処理部１１，メモリ１２，入力部１３および表示部１４を有している。処理部１１，メモリ１２，入力部１３および表示部１４は、バス１９を介して相互に通信可能に接続されている。
【００４１】
処理部１１は、ＣＰＵ（Central Processing Unit）等のプロセッサである。処理部１１は、試験プログラムを実行することにより、後述するテスト制御部１１１，タイマ１１２，タイマ制御部１１３，接続／切断機構制御部１１４および通信制御部１１５としての機能を果たす。処理部１１は、当該機能を用い、サーバ３０（ＢＩＯＳ３１）にデバイスリコネクト処理を複数回繰り返し実行させる。さらに、処理部１１は、サーバ３０においてデバイスリコネクト処理が実行される都度、異なるタイミングで、接続／切断機構２０による切断動作または接続動作を実行させることにより、ディスコネクト処理／コネクト処理の競合を起こす（図５や図６参照）。ここで、切断動作は、接続／切断機構２０によりサーバ３０から外付けデバイス４０を切断する動作であり、接続動作は、接続／切断機構２０によりサーバ３０に外付けデバイス４０を接続する動作である。
【００４２】
メモリ１２は、図３を参照しながら後述するテーブル１２１や、試験プログラムを格納する。メモリ１２は、ＲＡＭ（Random Access Memory），ＨＤＤ（Hard Disk Drive），ＳＳＤ（Solid State Drive）等の内部記憶装置であってもよいし、外部記憶装置であってもよい。
【００４３】
入力部１３は、オペレータによって操作され各種情報を入力するキーボード，マウス等である。入力部１３から入力される各種情報は、例えば、テーブル１２１に設定されるデータ（後述）、あるいは、テーブル１２１に設定されるデータを算出するために必要な値である。
表示部１４は、各種情報を表示してオペレータに通知する。表示部１４に表示される各種情報は、例えば、後述する実行番号や、後述する試験結果（正常終了／エラー通知）である。
【００４４】
テスト制御部１１１は、タイマ制御部１１３，接続／切断機構制御部１１４および通信制御部１１５を制御することにより、図５〜図８を参照しながら後述するごとく、サーバ３０に搭載されたＢＩＯＳ３１によるデバイスリコネクト処理の試験を実行する。テスト制御部１１１は、各デバイスリコネクト処理をサーバ３０に実行させる際、サーバ３０にリコネクトコマンドを送信するよう通信制御部１１５を制御する。
【００４５】
タイマ１１２は、タイマ制御部１１３によって制御され、タイマ制御部１１３によってタイミング値を設定される。タイマ１１２は、通信制御部１１５がリコネクトコマンドをサーバ３０に送信すると計時を開始し、設定されたタイミング値に対応する時間の計時を行なう。
タイマ制御部１１３は、テスト制御部１１１によって制御され、タイマ１１２を制御する。タイマ制御部１１３は、デバイスリコネクト処理毎に異なるタイミング値をタイマ１１２に設定し、タイミング値の設定後に、通信制御部１１５がリコネクトコマンドをサーバ３０に送信するとタイマ１１２による計時を開始させる。タイマ制御部１１３は、タイマ１１２がタイミング値に対応する時間の計時を完了すると、その旨をテスト制御部１１１に通知する。テスト制御部１１１は、計時完了通知を受けると、接続／切断機構２０に切断動作または接続動作を実行させるよう接続／切断機構制御部１１４を制御する。
【００４６】
接続／切断機構制御部１１４は、テスト制御部１１１によって制御され、テスト制御部１１１からの指示に応じて、ＵＳＢケーブル１５を介し接続／切断機構２０による接続動作／切換動作を制御する。
通信制御部１１５は、テスト制御部１１１によって制御され、シリアルケーブル１７を介しコンピュータ１０とサーバ３０との間の通信を行なう。通信制御部１１５は、テスト制御部１１１からの指示に応じて、リコネクトコマンドをコンピュータ１０からサーバ３０へ送信する。
【００４７】
テスト制御部１１１は、試験の制御に必要なデータ（定数や変数）をメモリ１２のテーブル１２１に記録・更新し、テーブル１２１のデータを参照しながら、デバイスリコネクト処理の試験の制御を行なう。ここで、図３を参照しながら、テーブル１２１に保持されるデータについて説明する。テーブル１２１に保持されるデータは、例えば、図３に示すように、指定回数，タイミング値，刻み時間および実行番号である。これらの値は、オペレータが入力部１３から入力してもよいし、オペレータが入力部１３から入力した値に基づきコンピュータ１０内で算出されてもよい。
【００４８】
「指定回数」は、デバイスリコネクト処理の繰り返し実行回数、つまり、外付けデバイス４０の接続動作または切断動作の実行回数であり、その値は試験実行に先立って与えられる定数である。指定回数は、後述する実行回数ｙによって与えられる。
「実行番号」は、繰り返し実行されるデバイスリコネクト処理の個々を区別するための番号であり、初期値として１を設定され、デバイスリコネクト処理を実行する都度、１ずつ加算される変数である。
【００４９】
「刻み時間」は、タイミング値の増分であり、その値は試験実行に先立って与えられる定数である。刻み時間は、後述するｋによって与えられる。
「タイミング値」は、リコネクトコマンドを発行してから外付けデバイス４０を接続または切断するまでの待ち時間である。タイミング値としては、試験実行に先立って初期時間が与えられ、デバイスリコネクト処理（外付けデバイス４０の接続／切断動作）を実行する都度、前回のタイミング値に刻み時間を加算した値が設定される。なお、初期時間としては、後述するディスコネクト処理用の初期時間Ｔｄと、後述するコネクト処理用の初期時間Ｔｃとの２種類が設定される。
【００５０】
〔２−２〕試験装置の動作
次に、上述のごとく構成された本実施形態の試験装置１の具体的な動作について、図５〜図８を参照しながら説明する。
図５は、本実施形態の試験装置１において、スイッチ２０により外付けデバイス４０の接続を行なうことでコネクト処理の競合を発生させる際の手順を示すタイミングチャートである。図６は、本実施形態の試験装置１において、スイッチ２０により外付けデバイス４０の切断を行なうことでディスコネクト処理の競合を発生させる際の手順を示すタイミングチャートである。
【００５１】
ここで、図５および図６において、Ｄ1〜Ｄm-1およびＤm+1〜Ｄnはサーバ３０の内蔵デバイスを表し、Ｄmは外付けデバイス４０を表し、ｔ1〜ｔyはそれぞれ外付けデバイス４０の接続または切断のタイミング（タイミング値）を表す。図５に示すごとくコネクト処理の競合を発生させる際、試験実行に先立ちテーブル１２１には、指定回数としてｙ（２以上の自然数）が与えられ、初期タイミング値ｔ1としてコネクト処理用の初期時間Ｔｃが与えられ、刻み時間としてｋが与えられる。また、図６に示すごとくディスコネクト処理の競合を発生させる際、試験実行に先立ちテーブル１２１には、指定回数としてｙが与えられ、初期タイミング値ｔ1としてディスコネクト処理用の初期時間Ｔｄが与えられ、刻み時間としてｋが与えられる。
【００５２】
図５に示す１回目〜ｙ回目の試験Ｅ１〜Ｅｙのそれぞれでは、以下のような処理が行なわれる。１回目の試験Ｅ１では、外付けデバイス４０をサーバ３０から切断した状態でデバイスリコネクト処理を開始した後にタイミングｔ1（＝Ｔｃ）だけ経過した時点で、スイッチ２０により外付けデバイス４０がサーバ３０に接続される。２回目の試験Ｅ２では、外付けデバイス４０をサーバ３０から切断した状態でデバイスリコネクト処理を開始した後にタイミングｔ2（＝Ｔｃ＋ｋ）だけ経過した時点で、スイッチ２０により外付けデバイス４０がサーバ３０に接続される。以下同様に、ｘ回目の試験Ｅｘでは、外付けデバイス４０をサーバ３０から切断した状態でデバイスリコネクト処理を開始した後にタイミングｔx（＝Ｔｃ＋ｋ・(ｘ-1)）だけ経過した時点で、スイッチ２０により外付けデバイス４０がサーバ３０に接続される。なお、ｘはｙ未満の自然数である。このような試験の繰り返しは、コネクト処理の競合が発生して何らかのエラーが発生した時点、もしくは、指定回数ｙだけ試験が繰り返された時点で終了される。
【００５３】
ここで、図５に示す試験においてコネクト処理の競合を確実に発生させるための初期時間Ｔｃ，刻み時間ｋおよび指定回数ｙは、以下のように算出・決定され、テーブル１２１に設定される。なお、初期時間Ｔｃ，刻み時間ｋおよび指定回数ｙは、オペレータによって入力部１３から入力されてもよいし、コンピュータ１０によって算出されてもよい。
【００５４】
ｎは、サーバ３０における、内蔵デバイスの数と外付けデバイス４０の数との合計（ｎは２以上の自然数）とする。なお、本実施形態では、外付けデバイス４０の数は１である。
ｍは、デバイスリコネクト処理における外付けデバイス４０のディスコネクト処理の実行順（ｍは自然数かつ１＜ｍ＜ｎ）とする。実行順を示すｍは、サーバ３０のデバイスツリーにおいてデバイスＤ1から数えた外付けデバイス４０（Ｄm）の位置を表す。
【００５５】
ａは、デバイスリコネクト処理に要する処理時間の実測値［秒］とする。
ｂは、デバイスリコネクト処理における、ディスコネクト処理またはコネクト処理の、一デバイス当たりに要する処理時間の概算値［秒］とする。この処理時間の概算値ｂは、ｂ＝ａ／(ｎ×２)によって与えられる。
ｃは、試験すべき時間間隔を示す時間幅（見積もり幅）［秒；ｂ＜ｃ＜ａ］とする。
【００５６】
このとき、コネクト処理用の初期時間Ｔｃは、
Ｔｃ＝ｍ×ｂ−ｃ／２＋ａ／２［秒］
によって与えられるとともに、刻み時間ｋは、
ｋ＝ｂ／(２以上の値)［秒］
によって与えられる。なお、上式によって算出されたＴｃが負の値の場合、Ｔｃ＝０とする。
また、デバイスリコネクト処理の実行回数ｙは、ｙ＝ｃ／ｋによって与えられる。ただし、ｃ／ｋが整数でない場合、ｃ／ｋの整数部の値、もしくはｃ／ｋの整数部＋１の値が実行回数ｙとして用いられる。
【００５７】
このように算出・決定されたコネクト処理用の初期時間Ｔｃ，刻み時間ｋおよび実行回数ｙがテーブル１２１に格納され、図５に示すような試験が繰り返し実行される。これにより、デバイスリコネクト処理において外付けデバイス４０のコネクト処理が行なわれると考えられるタイミング（ａ／２＋ｍ×ｂ）を中心とする時間幅ｃ内において、一デバイス当たりの処理時間ｂの半分以下の刻み時間ｋ毎に、外付けデバイス４０の接続動作に伴うコネクト処理が行なわれる。このため、図５に示すように、コネクト処理の競合を確実に発生させることが可能になる。
【００５８】
図６に示す１回目〜ｙ回目の試験Ｅ１〜Ｅｙのそれぞれでは、以下のような処理が行なわれる。１回目の試験Ｅ１では、外付けデバイス４０をサーバ３０から接続した状態でデバイスリコネクト処理を開始した後にタイミングｔ1（＝Ｔｄ）だけ経過した時点で、スイッチ２０により外付けデバイス４０がサーバ３０から切断される。２回目の試験Ｅ２では、外付けデバイス４０をサーバ３０から接続した状態でデバイスリコネクト処理を開始した後にタイミングｔ2（＝Ｔｄ＋ｋ）だけ経過した時点で、スイッチ２０により外付けデバイス４０がサーバ３０から切断される。以下同様に、ｘ回目の試験Ｅｘでは、外付けデバイス４０をサーバ３０から接続した状態でデバイスリコネクト処理を開始した後にタイミングｔx（＝Ｔｄ＋ｋ・(ｘ-1)）だけ経過した時点で、スイッチ２０により外付けデバイス４０がサーバ３０に接続される。このような試験の繰り返しは、ディスコネクト処理の競合が発生して何らかのエラーが発生した時点、もしくは、指定回数ｙだけ試験が繰り返された時点で終了される。
【００５９】
ここで、図６に示す試験においてディスコネクト処理の競合を確実に発生させるための初期時間Ｔｄ，刻み時間ｋおよび指定回数ｙは、以下のように算出・決定され、テーブル１２１に設定される。なお、初期時間Ｔｄ，刻み時間ｋおよび指定回数ｙは、オペレータによって入力部１３から入力されてもよいし、コンピュータ１０によって算出されてもよい。ここでは、値ｎ，ｍ，ａ，ｂ，ｃは上述したものと同様であるので、その説明は省略するとともに、刻み時間ｋおよび指定回数ｙは上述と同様に算出・決定されるので、その説明は省略する。
【００６０】
このとき、ディスコネクト処理用の初期時間Ｔｄは、
Ｔｄ＝ｍ×ｂ−ｃ／２［秒］
によって与えられる。なお、上式によって算出されたＴｄが負の値の場合、Ｔｄ＝０とする。
【００６１】
このように算出・決定されたディスコネクト処理用の初期時間Ｔｄ，刻み時間ｋおよび実行回数ｙがテーブル１２１に格納され、図６に示すような試験が繰り返し実行される。これにより、デバイスリコネクト処理において外付けデバイス４０のディスコネクト処理が行なわれると考えられるタイミング（ｍ×ｂ）を中心とする時間幅ｃ内において、一デバイス当たりの処理時間ｂの半分以下の刻み時間ｋ毎に、外付けデバイス４０の切断動作に伴うディスコネクト処理が行なわれる。このため、図６に示すように、ディスコネクト処理の競合を確実に発生させることが可能になる。
【００６２】
次に、図７に示すフローチャート（ステップＳ１０１〜Ｓ１１４）に従って、本実施形態の試験装置１によりコネクト処理の競合を発生させる際の、テスト用コンピュータ１０の動作について説明する。つまり、テスト用コンピュータ１０は、デバイスリコネクト処理を実行する都度、外付けデバイス４０とサーバ３０との接続のタイミングを作り出し、接続／切断機構２０を制御して外付けデバイス４０とサーバ３０との接続動作を行なっている。このため、外付けデバイス４０とサーバ３０との接続を人手で行なうことがない。
【００６３】
まず、オペレータは、入力部１３から、上述のごとく決定された刻み時間ｋ，指定回数ｙおよびコネクト処理用初期時間Ｔｃを入力しメモリ１２におけるテーブル１２１の所定フィールドに格納する（ステップＳ１０１）。このとき、オペレータは、入力部１３から、例えば値ｎ，ｍ，ａを入力し、これらの値ｎ，ｍ，ａに基づきコンピュータ１０において刻み時間ｋ，指定回数ｙおよびコネクト処理用初期時間Ｔｃを算出・決定してテーブル１２１に格納してもよい。
【００６４】
テスト制御部１１１は、テーブル１２１の実行番号フィールドに初期値１を格納する（ステップＳ１０２）。そして、テスト制御部１１１は、実行番号フィールドの内容と指定回数フィールドの内容とを比較し、実行番号が指定回数ｙ以下か否かを判定する（ステップＳ１０３）。
【００６５】
実行番号が指定回数ｙを超えている場合（ステップＳ１０３のＮＯルート）、テスト制御部１１１は、表示部１４に正常終了した旨を表示させ（ステップＳ１１４）、試験を終了する。つまり、テスト制御部１１１は、サーバ３０において、接続／切断機構２０による接続動作に伴う競合エラーが発生することなくデバイスリコネクト処理の試験を正常に終了したことを、表示部１４を通じてオペレータに通知する。
【００６６】
実行番号が指定回数ｙ以下である場合（ステップＳ１０３のＹＥＳルート）、テスト制御部１１１は、表示部１４に今回の実行番号を表示してオペレータに通知する（ステップＳ１０４）。そして、テスト制御部１１１は、接続／切断機構制御部１１４を通じて接続／切断機構２０に対し外付けデバイス４０の切断を指示し（ステップＳ１０５）、外付けデバイス４０をサーバ３０から切り離した状態にする。この後、テスト制御部１１１は、通信制御部１１５を通じてサーバ３０に対しリコネクトコマンドを送信する（ステップＳ１０６）。
【００６７】
テスト制御部１１１は、リコネクトコマンドの送信と同時またはほぼ同時、もしくは送信の直後に、タイマ制御部１１３を通じてタイマ１１２にテーブル１２１から読み出したタイミング値を設定し、当該タイミング値に応じた時間の経過を待機する（ステップＳ１０７）。タイミング値は、実行番号が１（ｘ＝１）のときコネクト処理用初期時間Ｔｃであり、実行番号が２〜ｙのとき前回のタイミング値に刻み時間ｋを加算した値である（図５およびステップＳ１１２参照）。
【００６８】
リコネクトコマンドの実行後つまりデバイスリコネクト処理開始後、タイマ１１２がタイミング値に応じた時間の経過を計時・検知すると、テスト制御部１１１は、接続／切断機構制御部１１４を通じて接続／切断機構２０に対し外付けデバイス４０の接続を指示する（ステップＳ１０８）。そして、テスト制御部１１１は、通信制御部１１５を通じて、サーバ３０からのリコネクトコマンド（デバイスリコネクト処理）の終了通知を待機する（ステップＳ１０９）。
【００６９】
テスト制御部１１１は、サーバ３０から終了通知を受けると、デバイスリコネクト処理の結果を判定する（ステップＳ１１０）。デバイスリコネクト処理でサーバ３０においてハングアップ等のエラーが発生している場合（ステップＳ１１０の“エラー”ルート）、テスト制御部１１１は、表示部１４にエラーが発生した旨を表示させ（ステップＳ１１１）、試験を終了する。つまり、テスト制御部１１１は、サーバ３０において、接続／切断機構２０による接続動作に伴う競合エラーが発生したことを、表示部１４を通じてオペレータに通知する。
【００７０】
一方、デバイスリコネクト処理が正常に終了している場合（ステップＳ１１０の“正常”ルート）、テスト制御部１１１は、テーブル１２１からタイミング値および刻み時間ｋを読み出し、読み出したタイミング値に刻み時間ｋを加算した値を、次のタイミング値としてテーブル１２１に上書き格納する（ステップＳ１１２）。さらに、テスト制御部１１１は、テーブル１２１から実行番号を読み出し、読み出した実行番号に１を加算した値を、次のタイミング値としてテーブル１２１に上書き格納する（ステップＳ１１３）。この後、テスト制御部１１１は、ステップＳ１０３の処理に戻り、同様の処理を、ステップＳ１０３でＮＯ判定となるまで、もしくは、ステップＳ１１０でエラー判定となるまで、繰り返し実行する。ステップＳ１０３でＮＯ判定となるまでステップＳ１０３〜Ｓ１１３の処理を繰り返した場合、図５に示す試験Ｅ１〜Ｅｙが実行されることになる。
【００７１】
次に、図８に示すフローチャート（ステップＳ２０１〜Ｓ２１４）に従って、本実施形態の試験装置１によりディスコネクト処理の競合を発生させる際の、テスト用コンピュータ１０の動作について説明する。つまり、テスト用コンピュータ１０は、デバイスリコネクト処理を実行する都度、外付けデバイス４０とサーバ３０との切断のタイミングを作り出し、接続／切断機構２０を制御して外付けデバイス４０とサーバ３０との切断動作を行なっている。このため、外付けデバイス４０とサーバ３０との切断を人手で行なうことがない。
【００７２】
まず、オペレータは、入力部１３から、上述のごとく決定された刻み時間ｋ，指定回数ｙおよびディスコネクト処理用初期時間Ｔｄを入力してメモリ１２におけるテーブル１２１の所定フィールドに格納する（ステップＳ２０１）。このとき、オペレータは、入力部１３から、例えば値ｎ，ｍ，ａを入力し、これらの値ｎ，ｍ，ａに基づきコンピュータ１０において刻み時間ｋ，指定回数ｙおよびディスコネクト処理用初期時間Ｔｄを算出・決定してテーブル１２１に格納してもよい。
【００７３】
テスト制御部１１１は、テーブル１２１の実行番号フィールドに初期値１を格納する（ステップＳ２０２）。そして、テスト制御部１１１は、実行番号フィールドの内容と指定回数フィールドの内容とを比較し、実行番号が指定回数ｙ以下か否かを判定する（ステップＳ２０３）。
【００７４】
実行番号が指定回数ｙを超えている場合（ステップＳ２０３のＮＯルート）、テスト制御部１１１は、表示部１４に正常終了した旨を表示させ（ステップＳ２１４）、試験を終了する。つまり、テスト制御部１１１は、サーバ３０において、接続／切断機構２０による切断動作に伴う競合エラーが発生することなくデバイスリコネクト処理の試験を正常に終了したことを、表示部１４を通じてオペレータに通知する。
【００７５】
実行番号が指定回数ｙ以下である場合（ステップＳ２０３のＹＥＳルート）、テスト制御部１１１は、表示部１４に今回の実行番号を表示してオペレータに通知する（ステップＳ２０４）。そして、テスト制御部１１１は、接続／切断機構制御部１１４を通じて接続／切断機構２０に対し外付けデバイス４０の接続を指示し（ステップＳ２０５）、外付けデバイス４０をサーバ３０と接続した状態にする。この後、テスト制御部１１１は、通信制御部１１５を通じてサーバ３０に対しリコネクトコマンドを送信する（ステップＳ２０６）。
【００７６】
テスト制御部１１１は、リコネクトコマンドの送信と同時またはほぼ同時、もしくは送信の直後に、タイマ制御部１１３を通じてタイマ１１２にテーブル１２１から読み出したタイミング値を設定し、当該タイミング値に応じた時間の経過を待機する（ステップＳ２０７）。タイミング値は、実行番号が１（ｘ＝１）のときディスコネクト処理用初期時間Ｔｄであり、実行番号が２〜ｙのとき前回のタイミング値に刻み時間ｋを加算した値である（図６およびステップＳ２１２参照）。
【００７７】
リコネクトコマンドの実行後つまりデバイスリコネクト処理開始後、タイマ１１２がタイミング値に応じた時間の経過を計時・検知すると、テスト制御部１１１は、接続／切断機構制御部１１４を通じて接続／切断機構２０に対し外付けデバイス４０の切断を指示する（ステップＳ２０８）。そして、テスト制御部１１１は、通信制御部１１５を通じて、サーバ３０からのリコネクトコマンド（デバイスリコネクト処理）の終了通知を待機する（ステップＳ２０９）。
【００７８】
テスト制御部１１１は、サーバ３０から終了通知を受けると、デバイスリコネクト処理の結果を判定する（ステップＳ２１０）。デバイスリコネクト処理でサーバ３０においてハングアップ等のエラーが発生している場合（ステップＳ２１０の“エラー”ルート）、テスト制御部１１１は、表示部１４にエラーが発生した旨を表示させ（ステップＳ２１１）、試験を終了する。つまり、テスト制御部１１１は、サーバ３０において、接続／切断機構２０による切断動作に伴う競合エラーが発生したことを、表示部１４を通じてオペレータに通知する。
【００７９】
一方、デバイスリコネクト処理が正常に終了している場合（ステップＳ２１０の“正常”ルート）、テスト制御部１１１は、テーブル１２１からタイミング値および刻み時間ｋを読み出し、読み出したタイミング値に刻み時間ｋを加算した値を、次のタイミング値としてテーブル１２１に上書き格納する（ステップＳ２１２）。さらに、テスト制御部１１１は、テーブル１２１から実行番号を読み出し、読み出した実行番号に１を加算した値を、次のタイミング値としてテーブル１２１に上書き格納する（ステップＳ２１３）。この後、テスト制御部１１１は、ステップＳ２０３の処理に戻り、同様の処理を、ステップＳ２０３でＮＯ判定となるまで、もしくは、ステップＳ２１０でエラー判定となるまで、繰り返し実行する。ステップＳ２０３でＮＯ判定となるまでステップＳ２０３〜Ｓ２１３の処理を繰り返した場合、図６に示す試験Ｅ１〜Ｅｙが実行されることになる。
【００８０】
上述した本実施形態の試験装置１によれば、外付けデバイス４０とサーバ３０との接続や切断は、テスト用コンピュータ１０により制御される接続／切断機構２０を用いて行なわれる。このため、外付けデバイス４０のコネクタ４２の抜き挿し作業を人手で行なう必要がなくなる。また、外付けデバイス４０とサーバ３０との接続や切断のタイミングは、テスト用コンピュータ１０によって作り出されるので、外付けデバイス４０の接続や切断のタイミングのばらつきがなくなる。
【００８１】
外付けデバイス４０の接続や切断のタイミングのばらつきが大きい場合、ＢＩＯＳ３１によるデバイスリコネクト処理の試験の確実性を高めるために、デバイスリコネクト処理の試験に要する時間がかかっていた。これに対し、本実施形態の試験装置１によれば、上述したように外付けデバイス４０の接続や切断のタイミングのばらつきがなくなり、デバイスリコネクト処理の試験中にコネクト処理またはディスコネクト処理の競合を確実に発生させることができる。したがって、確実性の高いデバイスリコネクト処理の試験を、短時間で行なうことができる。同様に、ＢＩＯＳ３１によるデバイスリコネクト処理の障害の再現、つまりコネクト処理またはディスコネクト処理の競合の発生再現を、短時間で確実に行なうことができる。
【００８２】
また、デバイスリコネクト処理において外付けデバイス４０のコネクト処理が行なわれると考えられるタイミングを中心とする所定の時間幅内において、所定の刻み時間毎に、外付けデバイス４０の接続動作に伴うコネクト処理が行なわれる。このとき、所定の刻み時間としては、例えば、一デバイス当たりの処理時間ｂの半分以下の時間（ｂ／(２以上の値)）が設定される。これにより、リコネクトコマンドによる外付けデバイス４０のコネクト処理と、外付けデバイス４０の接続動作の検知に伴う外付けデバイス４０のコネクト処理との競合を確実に発生させることができる。
【００８３】
同様に、デバイスリコネクト処理において外付けデバイス４０のディスコネクト処理が行なわれると考えられるタイミングを中心とする所定の時間幅内において、所定の刻み時間毎に、外付けデバイス４０の切断動作に伴うディスコネクト処理が行なわれる。このとき、所定の刻み時間としては、例えば、一デバイス当たりの処理時間ｂの半分以下の時間（ｂ／(２以上の値)）が設定される。これにより、リコネクトコマンドによる外付けデバイス４０のディスコネクト処理と、外付けデバイス４０の切断動作の検知に伴う外付けデバイス４０のディスコネクト処理との競合を確実に発生させることができる。
【００８４】
〔３〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
例えば、試験対象処理がデバイスリコネクト処理である場合について説明したが、本発明はこれに限定されるものではない。
【００８５】
上述したテスト制御部１１１，タイマ１１２，タイマ制御部１１３，接続／切断機構制御部１１４および通信制御部１１５としての機能の全部もしくは一部は、コンピュータ（ＣＰＵ，情報処理装置，各種端末を含む）が所定のアプリケーションプログラム（試験プログラム）を実行することによって実現される。
【００８６】
そのプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷなど），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷなど），ブルーレイディスク等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。
【００８７】
ここで、コンピュータとは、ハードウエアとＯＳ（オペレーティングシステム）とを含む概念であり、ＯＳの制御の下で動作するハードウエアを意味している。また、ＯＳが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウエアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取る手段とをそなえている。上記試験プログラムは、上述のようなコンピュータに、上述したテスト制御部１１１，タイマ１１２，タイマ制御部１１３，接続／切断機構制御部１１４および通信制御部１１５の機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくＯＳによって実現されてもよい。
【００８８】
〔４〕付記
以上の本実施形態を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
デバイスと試験対象処理を実行する装置とを接続または切断するスイッチと、
プロセッサとを有し、
前記プロセッサは、
前記装置に前記試験対象処理を複数回繰り返し実行させ、
前記装置において前記試験対象処理が実行される都度、異なるタイミングで、前記スイッチにより前記装置から前記デバイスを切断する切断動作、または、前記スイッチにより前記装置に前記デバイスを接続する接続動作を実行させる
ことを特徴とする試験装置。
【００８９】
（付記２）
前記各試験対象処理の実行中に前記スイッチによる前記切断動作または前記接続動作を実行するタイミングを規定する初期時間と刻み時間とを格納するメモリをさらに有し、
前記プロセッサは、
１回目の前記試験対象処理の実行中に前記スイッチによる前記切断動作または前記接続動作を実行するタイミングとして、前記初期時間を用い、
２回目以降の各試験対象処理の実行中に前記スイッチによる前記切断動作または前記接続動作を実行するタイミングとして、前回のタイミングと前記刻み時間とを加算した時間を用いる
ことを特徴とする、付記１に記載の試験装置。
【００９０】
（付記３）
前記プロセッサは、前記スイッチによる前記切断動作または前記接続動作に伴い前記装置においてエラーが発生した場合、エラー通知を行なうとともに、前記装置による前記試験対象処理の実行を終了させる
ことを特徴とする、付記２に記載の試験装置。
【００９１】
（付記４）
前記メモリは、前記試験対象処理の実行回数を格納し、
前記プロセッサは、前記装置において、前記スイッチによる前記切断動作または前記接続動作に伴いエラーが発生することなく前記試験対象処理が前記実行回数だけ実行された場合、前記試験対象処理に対する試験の正常終了を通知する
ことを特徴とする、付記２または付記３に記載の試験装置。
【００９２】
（付記５）
前記試験対象処理は、前記装置のＢＩＯＳ（Basic Input Output System）が実行する、前記装置の内蔵デバイスおよび前記装置に外付けされる前記デバイスについてのデバイスリコネクト処理であり、
前記プロセッサは、前記スイッチによる前記切断動作または前記接続動作を、前記試験対象処理毎に前記異なるタイミングで実行させることにより、前記装置において、前記デバイスリコネクト処理による前記デバイスの第１切断処理または第１接続処理と、前記スイッチによる前記切断動作または前記接続動作に伴い前記ＢＩＯＳが実行する第２切断処理または第２接続処理とを競合させる
ことを特徴とする、付記２または付記３に記載の試験装置。
【００９３】
（付記６）
前記デバイスリコネクト処理は、全ての前記内蔵デバイスおよび前記デバイスの切断処理を行なった後、全ての前記内蔵デバイスおよび前記デバイスの接続処理を行なう場合、前記内蔵デバイスの数と前記デバイスの数との合計をｎ（ｎは２以上の自然数）、前記デバイスリコネクト処理における前記デバイスの前記第１切断処理の実行順をｍ番目（ｍは自然数かつ１＜ｍ＜ｎ）、前記デバイスリコネクト処理に要する処理時間をａ、前記デバイスリコネクト処理における一デバイス当たりに要する処理時間をｂ（＝ａ／(ｎ×２)）、試験すべき時間間隔を示す時間幅をｃ（ｂ＜ｃ＜ａ）とすると、切断処理用の前記初期時間Ｔｄは、
Ｔｄ＝ｍ×ｂ−ｃ／２
によって与えられるとともに、前記刻み時間ｋは、
ｋ＝ｂ／(２以上の値)
によって与えられる
ことを特徴とする、付記５に記載の試験装置。
【００９４】
（付記７）
前記デバイスリコネクト処理は、全ての前記内蔵デバイスおよび前記デバイスの切断処理を行なった後、全ての前記内蔵デバイスおよび前記デバイスの接続処理を行なう場合、前記内蔵デバイスの数と前記デバイスの数との合計をｎ（ｎは２以上の自然数）、前記デバイスリコネクト処理における前記デバイスの前記第１切断処理の実行順をｍ番目（ｍは自然数かつ１＜ｍ＜ｎ）、前記デバイスリコネクト処理に要する処理時間をａ、前記デバイスリコネクト処理における一デバイス当たりに要する処理時間をｂ（＝ａ／(ｎ×２)）、試験すべき時間間隔を示す時間幅をｃ（ｂ＜ｃ＜ａ）とすると、接続処理用の前記初期時間Ｔｃは、
Ｔｃ＝ｍ×ｂ−ｃ／２＋ａ／２
によって与えられるとともに、前記刻み時間ｋは、
ｋ＝ｂ／(２以上の値)
によって与えられる
ことを特徴とする、付記５または付記６に記載の試験装置。
【００９５】
（付記８）
前記メモリは、前記試験対象処理の実行回数ｙとしてｙ＝ｃ／ｋを格納し、
前記プロセッサは、前記装置において、前記スイッチによる前記切断動作または前記接続動作に伴うエラーが発生することなく前記試験対象処理が前記実行回数ｙだけ実行された場合、前記試験対象処理の試験を正常に終了したことを通知する
ことを特徴とする、付記６または付記７に記載の試験装置。
【００９６】
（付記９）
デバイスと試験対象処理を実行する装置とを接続または切断するスイッチを用いて、プロセッサにより前記試験対象処理の試験を行なう方法であって、
前記装置に前記試験対象処理を複数回繰り返し実行し、
前記装置において前記試験対象処理が実行される都度、異なるタイミングで、前記スイッチにより前記装置から前記デバイスを切断する切断動作、または、前記スイッチにより前記装置に前記デバイスを接続する接続動作を実行する
ことを特徴とする試験方法。
【００９７】
（付記１０）
１回目の前記試験対象処理の実行中に前記スイッチによる前記切断動作または前記接続動作を実行するタイミングとして、メモリに格納された、前記各試験対象処理の実行中に前記スイッチによる前記切断動作または前記接続動作を実行するタイミングを規定する初期時間が用いられ、
２回目以降の各試験対象処理の実行中に前記スイッチによる前記切断動作または前記接続動作を実行するタイミングとして、前回のタイミングと、前記メモリに格納された、前記タイミングを規定する刻み時間とを加算した時間が用いられる
ことを特徴とする、付記９に記載の試験方法。
【００９８】
（付記１１）
前記スイッチによる前記切断動作または前記接続動作に伴い前記装置においてエラーが発生した場合、エラー通知を行なうとともに、前記装置による前記試験対象処理の実行を終了する
ことを特徴とする、付記１０に記載の試験方法。
【００９９】
（付記１２）
前記装置において、前記スイッチによる前記切断動作または前記接続動作に伴いエラーが発生することなく前記試験対象処理が前記メモリに格納された前記試験対象処理の実行回数だけ実行された場合、前記試験対象処理に対する試験の正常終了を通知する
ことを特徴とする、付記１０または付記１１に記載の試験方法。
【０１００】
（付記１３）
前記試験対象処理は、前記装置のＢＩＯＳ（Basic Input Output System）が実行する、前記装置の内蔵デバイスおよび前記装置に外付けされる前記デバイスについてのデバイスリコネクト処理であり、
前記スイッチによる前記切断動作または前記接続動作を、前記試験対象処理毎に前記異なるタイミングで実行することにより、前記装置において、前記デバイスリコネクト処理による前記デバイスの第１切断処理または第１接続処理と、前記スイッチによる前記切断動作または前記接続動作に伴い前記ＢＩＯＳが実行する第２切断処理または第２接続処理とを競合させる
ことを特徴とする、付記１０または付記１１に記載の試験方法。
【０１０１】
（付記１４）
デバイスと試験対象処理を実行する装置とを接続または切断するスイッチを用いて前記試験対象処理の試験を行なうプロセッサに、
前記装置に前記試験対象処理を複数回繰り返し実行させ、
前記装置において前記試験対象処理が実行される都度、異なるタイミングで、前記スイッチにより前記装置から前記デバイスを切断する切断動作、または、前記スイッチにより前記装置に前記デバイスを接続する接続動作を実行させる
処理を実行させることを特徴とする試験プログラム。
【０１０２】
（付記１５）
１回目の前記試験対象処理の実行中に前記スイッチによる前記切断動作または前記接続動作を実行するタイミングとして、メモリに格納された、前記各試験対象処理の実行中に前記スイッチによる前記切断動作または前記接続動作を実行するタイミングを規定する初期時間が用いられ、
２回目以降の各試験対象処理の実行中に前記スイッチによる前記切断動作または前記接続動作を実行するタイミングとして、前回のタイミングと、前記メモリに格納された、前記タイミングを規定する刻み時間とを加算した時間が用いられる
ことを特徴とする、付記１４に記載の試験プログラム。
【０１０３】
（付記１６）
前記プロセッサは、前記スイッチによる前記切断動作または前記接続動作に伴い前記装置においてエラーが発生した場合、エラー通知を行なうとともに、前記装置による前記試験対象処理の実行を終了させる
処理を、前記プロセッサに実行させることを特徴とする、付記１５に記載の試験プログラム。
【０１０４】
（付記１７）
前記装置において、前記スイッチによる前記切断動作または前記接続動作に伴いエラーが発生することなく前記試験対象処理が前記メモリに格納された前記試験対象処理の実行回数だけ実行された場合、前記試験対象処理に対する試験の正常終了を通知する
処理を、前記プロセッサに実行させることを特徴とする、付記１５または付記１６に記載の試験プログラム。
【０１０５】
（付記１８）
前記試験対象処理は、前記装置のＢＩＯＳ（Basic Input Output System）が実行する、前記装置の内蔵デバイスおよび前記装置に外付けされる前記デバイスについてのデバイスリコネクト処理であり、
前記スイッチによる前記切断動作または前記接続動作を、前記試験対象処理毎に前記異なるタイミングで実行させることにより、前記装置において、前記デバイスリコネクト処理による前記デバイスの第１切断処理または第１接続処理と、前記スイッチによる前記切断動作または前記接続動作に伴い前記ＢＩＯＳが実行する第２切断処理または第２接続処理とを競合させる
処理を、前記プロセッサに実行させることを特徴とする、付記１５または付記１６に記載の試験プログラム。
【０１０６】
（付記１９）
前記デバイスリコネクト処理は、全ての前記内蔵デバイスおよび前記デバイスの切断処理を行なった後、全ての前記内蔵デバイスおよび前記デバイスの接続処理を行なう場合、前記内蔵デバイスの数と前記デバイスの数との合計をｎ（ｎは２以上の自然数）、前記デバイスリコネクト処理における前記デバイスの前記第１切断処理の実行順をｍ番目（ｍは自然数かつ１＜ｍ＜ｎ）、前記デバイスリコネクト処理に要する処理時間をａ、前記デバイスリコネクト処理における一デバイス当たりに要する処理時間をｂ（＝ａ／(ｎ×２)）、試験すべき時間間隔を示す時間幅をｃ（ｂ＜ｃ＜ａ）とすると、切断処理用の前記初期時間Ｔｄは、
Ｔｄ＝ｍ×ｂ−ｃ／２
によって与えられるとともに、前記刻み時間ｋは、
ｋ＝ｂ／(２以上の値)
によって与えられる
ことを特徴とする、付記１８に記載の試験プログラム。
【０１０７】
（付記２０）
前記デバイスリコネクト処理は、全ての前記内蔵デバイスおよび前記デバイスの切断処理を行なった後、全ての前記内蔵デバイスおよび前記デバイスの接続処理を行なう場合、前記内蔵デバイスの数と前記デバイスの数との合計をｎ（ｎは２以上の自然数）、前記デバイスリコネクト処理における前記デバイスの前記第１切断処理の実行順をｍ番目（ｍは自然数かつ１＜ｍ＜ｎ）、前記デバイスリコネクト処理に要する処理時間をａ、前記デバイスリコネクト処理における一デバイス当たりに要する処理時間をｂ（＝ａ／(ｎ×２)）、試験すべき時間間隔を示す時間幅をｃ（ｂ＜ｃ＜ａ）とすると、接続処理用の前記初期時間Ｔｃは、
Ｔｃ＝ｍ×ｂ−ｃ／２＋ａ／２
によって与えられるとともに、前記刻み時間ｋは、
ｋ＝ｂ／(２以上の値)
によって与えられる
ことを特徴とする、付記１８または付記１９に記載の試験プログラム。
【符号の説明】
【０１０８】
１    試験装置
１０    テスト用コンピュータ
１１    処理部（プロセッサ）
１１１    テスト制御部
１１２    タイマ
１１３    タイマ制御部
１１４    接続／切断機構制御部
１１５    通信制御部
１２    メモリ
１２１    テーブル
１３    入力部
１４    表示部
１５    ＵＳＢケーブル（制御ケーブル）
１６    ＵＳＢコネクタ
１７    シリアルケーブル（通信ケーブル）
１８    シリアルコネクタ
１９    バス
２０    接続／切断機構（スイッチ）
２１    ＵＳＢケーブル（接続ケーブル）
２２    ＵＳＢコネクタ
２３    ＵＳＢポート
２４    ＵＳＢリレーユニット
２４ａ    ＵＳＢインターフェース
２４ｂ    リレー
２４ｃ    ＵＳＢポート
３０    サーバ（装置）
３１    ＢＩＯＳ
３２    ＵＳＢポート
３３    シリアルポート
３４    キーボード
３５    表示部
４０    外付けデバイス（デバイス）
４１    ＵＳＢケーブル（接続ケーブル）
４２    ＵＳＢコネクタ
【図１】
0005810998.tif 000002
【図２】
0005810998.tif 000003
【図３】
0005810998.tif 000004
【図４】
0005810998.tif 000005
【図５】
0005810998.tif 000006
【図６】
0005810998.tif 000007
【図７】
0005810998.tif 000008
【図８】
0005810998.tif 000009
【図９】
0005810998.tif 000010
【図１０】
0005810998.tif 000011
【図１１】
0005810998.tif 000012
【図１２】
0005810998.tif 000013
【図１３】
0005810998.tif 000014
【図１４】
0005810998.tif 000015
【図１５】
0005810998.tif 000016