(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
図1は、実施形態の情報処理装置の一例を示す図である。
図1に示す情報処理装置1は、例えば、ATM(Automated Teller Machine)に搭載されるコンピュータやパーソナルコンピュータなどに接続される周辺機器としてのデバイス6(例えば、通帳の記帳などを行う印刷装置)に対して予め決められた動作を様々な条件の基で正常に行わせることができるか否かを試験するための装置であって、制御部2と、デバイス自動実行試験部3と、記憶部4とを備える。
【0012】
制御部2は、電源制御装置5の動作を制御することにより、情報処理装置1に接続されるデバイス6の電源のON、OFFを制御する。また、制御部2は、記憶部4内のスクリプトファイルに示されるテストプログラム(Test Program(TP)を実行することにより、デバイス自動実行試験部3(例えば、Interactive Function Test(IFT)を行うためのソフトウェア)を起動する。
【0013】
デバイス自動実行試験部3は、制御部2からコマンドファイル実行指示を受け取ると、記憶部4からコマンドファイルを読み出し、そのコマンドファイルをデバイス6へ送信したり、デバイス6から送信されるコマンド実行結果を制御部2へ送ったりする。
【0014】
記憶部4は、上述したスクリプトファイルやコマンドファイルの他に、後述する閾値Cth1、閾値Cth2、カウント値、リトライカウント値、及び待機時間T1〜T6などが示される動作環境ファイルを記憶する。なお、カウント値は、後述する自動実行試験スクリプトの実行回数のカウント値で、自動実行試験スクリプトが1回実行されると1つカウントアップする。また、閾値Cth1は、自動実行試験スクリプトの予定実行回数を示す。また、リトライカウント値は、デバイス自動実行試験部3が起動しているかのリトライした回数をカウントした値で、デバイス自動実行試験部3が起動しているか否かの判断を1回行うと1つカウントアップする。また、閾値Cth2は、デバイス自動実行試験部3が起動しているか否かの判断の予定実行回数を示す。また、閾値Cth1、閾値Cth2、カウント値の初期値、リトライカウント値の初期値、及び待機時間T1〜T6は、ユーザの設定により任意の値に可変可能とする。
【0015】
図2は、制御部2の動作を示すフローチャートである。
まず、制御部2は、デバイス6の電源のON、OFF制御やデバイス自動実行試験部3の動作制御を行うために、記憶部4内の動作環境ファイルに示される自動実行試験スクリプトを実行する(S1)。
【0016】
次に、制御部2は、カウント値及び閾値Cth1を記憶部4の環境動作ファイルから読み出し、カウント値が閾値Cth1以上でないと判断し(S2のNo)、自動実行試験スクリプトが終了していないと判断すると(S3のNo)、電源制御装置5の動作を制御してデバイス6の電源をONさせる(S4)。このとき、制御部2は、例えば、
図3に示す自動実行試験スクリプトの実行時に生成されるログ一覧の上から1行目のように、デバイス6の電源をONさせた旨を示すログとして「2012/12/07 11:33:35:345 (00:00:00:000): 電源ON」を生成し、記憶部4に記憶させる。
【0017】
次に、制御部2は、情報処理装置1のUSBポートなどを監視することにより、そのUSBポートに接続されているデバイス6を認識するためのポーリングを開始し(S5)、待機時間T1以内にデバイス6を認識できなかった場合(S6のNo)、デバイス6を認識できなかった旨のメッセージを、後述する入出力部としてのディスプレイなどに表示させることによりその旨をユーザに通知し(S7)、自動実行試験スクリプトを終了する。このとき、制御部2は、例えば、
図3に示す自動実行試験スクリプトの実行時に生成されるログ一覧の上から2行目のように、ポーリングを開始した旨を示すログとして「2012/12/07 11:33:35:345 (00:00:00:000): ポーリング開始」を生成し、記憶部4に記憶させる。また、制御部2は、例えば、
図3に示す自動実行試験スクリプトの実行時に生成されるログ一覧の上から30行目(下から2行目)のように、待機時間T1以内にデバイス6が認識できなかった旨を示すログとして「2012/12/07 11:35:21:907 (00:00:21:792): ポーリングタイムアウト」を生成し、記憶部4に記憶させる。また、制御部2は、例えば、
図3に示す自動実行試験スクリプトの実行時に生成されるログ一覧の上から31行目(下から1行目)のように、自動実行試験スクリプトが終了した旨を示すログとして「2012/12/07 11:35:21:923 (00:00:00:016): 自動実行試験 終了」を生成し、記憶部4に記憶させる。なお、
図3に示すログ一覧は、自動実行試験スクリプトが3回繰り返された後、4回目の自動実行試験スクリプトの実行中において、ポーリング中にデバイス6が認識できなかった場合を示している。デバイス6が認識されない原因としては、例えば、デバイス6が情報処理装置1に接続されていない状態やデバイス6の電源がONしていない状態であったことが考えられる。
【0018】
また、制御部2は、待機時間T1以内にデバイス6を認識すると(S6のYes)、ポーリングを終了する(S8)。このとき、制御部2は、例えば、
図3に示す自動実行試験スクリプトの実行時に生成されるログ一覧の上から3行目のように、ポーリングを終了した旨を示すログとして「2012/12/07 11:33:37:865 (00:00:02:520): ポーリング終了」を生成し、記憶部4に記憶させる。
【0019】
また、制御部2は、ポーリング終了後(S8)、待機時間T2まで待機して(S9のNo)、待機時間T2(第1の待機時間)経過すると(S9のYes)、デバイス自動実行試験部3を起動するために、記憶部4内のスクリプトファイルに示されるテストプログラムを実行する(S10)。このとき、制御部2は、例えば、
図3に示す自動実行試験スクリプトの実行時に生成されるログ一覧の上から4行目のように、テストプログラムを実行した旨を示すログとして「2012/12/07 11:33:41:892 (00:00:04:027): TP実行」を生成し、記憶部4に記憶させる。
【0020】
次に、制御部2は、待機時間T3まで待機して(S11のNo)、待機時間T3(第2の待機時間)経過後(S11のYes)、デバイス自動実行試験部3が起動しているか否かを判断する(S12)。
【0021】
次に、制御部2は、デバイス自動実行試験部3が起動していないと判断すると(S12のNo)、リトライカウント値及び閾値Cth2を記憶部4の環境動作ファイルから読み出し、リトライカウント値が閾値Cth2以上であるか否かを判断する(S13)。
【0022】
次に、制御部2は、リトライカウント値が閾値Cth2以上でないと判断すると(S13のNo)、待機時間T4まで待機して(S14のNo)、待機時間T4(例えば、20秒)経過後(S14のYes)、リトライカウント値を1つカウントアップして(S15)、記憶部4に記憶するとともに、再度デバイス自動実行試験部3が起動しているか否かを判断する(S12)。
【0023】
また、制御部2は、リトライカウント値が閾値Cth2以上であると判断すると(S13のYes)、デバイス自動実行試験部3が起動していない旨のメッセージを、後述する入出力部としてのディスプレイなどに表示させることによりその旨をユーザに通知し(S16)、自動実行試験スクリプトを終了する。なお、閾値Cth2として、リトライカウント値の初期値以下の値が設定されている場合は、最初にデバイス自動実行試験部3が起動していないと判断された後(S12のNo)、すぐにリトライカウント値が閾値Cth2以上でないと判断される。
【0024】
また、制御部2は、デバイス自動実行試験部3が起動していると判断すると(S12のYes)、コマンドファイル(例えば、デバイス6を起動させ初期動作を行わせるためのコマンドファイルや通帳を記帳させるためのコマンドファイルなど)をデバイス6に実行させるための指示をデバイス自動実行試験部3に送る(S17)。このとき、制御部2は、例えば、
図3に示す自動実行試験スクリプトの実行時に生成されるログ一覧の上から5行目のように、テストプログラムが実行中である旨を示すログとして「2012/12/07 11:33:44:919 (00:00:03:027): TP実行中」を生成し、記憶部4に記憶させる。また、制御部2は、例えば、
図3に示す自動実行試験スクリプトの実行時に生成されるログ一覧の上から6行目のように、コマンドファイルをデバイス6に実行させるための指示をデバイス自動実行試験部3に送った旨を示すログとして「2012/12/07 11:33:44:934 (00:00:00:015): コマンド送信完了」を生成し、記憶部4に記憶させる。
【0025】
次に、制御部2は、デバイス6からデバイス自動実行試験部3へ送信されるコマンドファイルの実行結果を、デバイス自動実行試験部3から受信すると(S18のYes)、そのコマンドファイルの実行結果に応じてコマンドファイルに対するデバイス6の処理が正常に終了したか否かを判断する(S19)。なお、コマンドファイルの実行結果には、例えば、コマンドファイルに対するデバイス6の処理が正常に終了した旨やコマンドファイルに対するデバイス6の処理が異常に終了した旨を示す情報などが示されている。
【0026】
次に、制御部2は、コマンドファイルに対するデバイス6の処理が正常に終了していないと判断すると(S19のNo)、その旨のメッセージを、後述する入出力部としてのディスプレイなどに表示させることによりその旨をユーザに通知し(S20)、自動実行試験スクリプトを終了する。
【0027】
また、制御部2は、コマンドファイルに対するデバイス6の処理が正常に終了したと判断すると(S19のYes)、テストプログラムを終了し(S21)、電源制御装置5の動作を制御してデバイス6の電源をOFFさせる(S22)。このとき、制御部2は、例えば、
図3に示す自動実行試験スクリプトの実行時に生成されるログ一覧の上から7行目のように、コマンドファイルに対するデバイス6の処理が正常に終了したことを示す実行結果を受信した旨を示すログとして「2012/12/07 11:33:47:836 (00:00:02:902): 正常終了受信」を生成し、記憶部4に記憶させる。また、制御部2は、例えば、
図3に示す自動実行試験スクリプトの実行時に生成されるログ一覧の上から8行目のように、テストプログラムが正常に終了した旨を示すログとして「2012/12/07 11:33:47:851 (00:00:00:015): TP実行 正常終了」を生成し、記憶部4に記憶させる。また、制御部2は、例えば、
図3に示す自動実行試験スクリプトの実行時に生成されるログ一覧の上から9行目のように、デバイス6の電源をOFFさせた旨を示すログとして「2012/12/07 11:33:47:867 (00:00:00:016): 電源OFF」を生成し、記憶部4に記憶させる。
【0028】
次に、制御部2は、待機時間T5まで待機して(S23のNo)、待機時間T5経過後(S23のYes)、カウント値を1つカウントアップして(S24)、記憶部4に記憶するとともに、自動実行試験スクリプトを終了し(S25)、S3に戻る。次に、制御部2は、自動実行試験スクリプトが終了していると判断すると(S3のYes)、待機時間T6まで待機して(S26のNo)、待機時間T6経過後(S26のYes)、S1に戻って、再度自動実行試験スクリプトを記憶部4から読み出して実行する。
【0029】
そして、制御部2は、カウント値が閾値Cth1以上であると判断すると(S2のYes)、自動実行試験スクリプトが正常に終了した旨のメッセージを、後述する入出力部としてのディスプレイなどに表示させることによりその旨をユーザに通知し(S27)、自動実行試験スクリプトを終了する。なお、閾値Cth1として、カウント値の初期値よりも1つ大きい値が設定されている場合、デバイス自動実行試験スクリプトは1回のみ実行され、カウント値の初期値よりも2つ以上大きい値が設定されている場合、デバイス自動実行試験スクリプトは2回以上繰り返し実行される。
【0030】
図4は、デバイス自動実行試験部3の動作を示すフローチャートである。なお、
図4に示すフローチャートにおいて、デバイス自動実行試験部3は、すでに起動しているものとする。
【0031】
まず、デバイス自動実行試験部3は、コマンドファイルをデバイス6に送信する旨の指示を制御部2から受け取ると(S41のYes)、コマンドファイルを記憶部4から読み出してデバイス6へ送信する(S42)。
【0032】
そして、デバイス自動実行試験部3は、デバイス6から送信されるコマンドファイル実行結果を受信すると(S43のYes)、その受信したコマンドファイル実行結果を制御部2に送る(S44)。
【0033】
このように、本実施形態の情報処理装置1は、デバイス6の電源をONさせてからデバイス6にコマンドファイルを実行させるまでに、少なくとも待機時間T2、T3の合計時間を経過させている。そのため、デバイス6がコマンドファイルを受信する前に、デバイス6がコマンドファイルを実行することができる状態になっている可能性を高くすることができる。これにより、デバイス6に予め決められた動作(コマンドファイル)を実行させることができなくなることを抑えることができる。
【0034】
また、本実施形態の情報処理装置1は、
図3に示すように、制御部2で行われる各処理でそれぞれ生成されるログを記憶部4に記憶させる構成であるため、各ログに示される時間を参照して、ユーザが待機時間T1〜T6をそれぞれ任意な時間に設定することができる。例えば、待機時間T2、T3の合計時間が、デバイス6の電源がONしてからデバイス6がコマンドファイルを実行することができる状態になるまでにかかる時間と等しくなるように、待機時間T2、T3を設定することができる。これにより、デバイス6がコマンドファイルを受信する前に、デバイス6がコマンドファイルを実行することができる状態になっている可能性をさらに高くすることができるため、デバイス6に予め決められたコマンドファイルを実行させることができなくなることをより抑えることができる。
【0035】
また、本実施形態の情報処理装置1は、待機時間T1〜T4の他に、デバイス6の電源をOFFさせてから次にデバイス6の電源がONさせるまでの時間(少なくとも待機時間T5、T6の合計時間(第3の待機時間)を含む時間)も任意な時間に設定することができる。そのため、制御部2で行われる各処理の実行タイミングをそれぞれ変えることができ、様々な条件の基でデバイス6にコマンドファイルを試験的に実行させることができる。
【0036】
また、本実施形態の情報処理装置1は、待機時間T2、T3を任意に設定することができるため、デバイス6を認識した後のテストプログラムの実行タイミングやデバイス自動実行試験部3が起動しているか否かの判断タイミングの確認を容易に行うことができる。
【0037】
また、本実施形態の情報処理装置1は、デバイス6に予め決められたコマンドファイルを実行させたり、コマンドファイルの実行結果を確認したりする他に、デバイス6の電源のON、OFF制御も行うことができ、デバイス6の動作に関する細やかな制御や確認が可能であるため、品質向上を図ることができる。
【0038】
図5は、情報処理装置1を構成するハードウェアの一例を示す図である。
図5に示すように、情報処理装置1を構成するハードウェアは、制御部501と、記憶部502と、記録媒体読取装置503と、入出力インタフェース504と、通信インタフェース505とを備え、それらがバス506によってそれぞれ接続されている。なお、情報処理装置1を構成するハードウェアは、クラウドなどを用いて実現してもよい。
【0039】
制御部501は、例えば、Central Processing Unit(CPU)、マルチコアCPU、プログラマブルなデバイス(Field Programmable Gate Array(FPGA)、Programmable Logic Device(PLD)など)を用いることが考えられ、
図1に示す制御部2に相当する。
【0040】
記憶部502は、例えばRead Only Memory(ROM)、Random Access Memory(RAM)などのメモリやハードディスクなどが考えられ、
図1に示す記憶部4に相当する。なお、記憶部502には、上述した動作環境ファイル、スクリプトファイル、コマンドファイル、及び自動実行試験スクリプトの実行時に生成されるログ以外のデータを記録してもよい。また、記憶部502は、実行時のワークエリアとして用いてもよい。また、情報処理装置1の外部に他の記憶部を設けてもよい。
【0041】
記録媒体読取装置503は、制御部501の制御により、記録媒体507に記録されるデータを読み出したり、記録媒体507にデータを書き込んだりする。また、着脱可能な記録媒体507は、コンピュータで読み取り可能なnon-transitory(非一時的)な記録媒体であって、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどが考えられる。磁気記録装置は、例えば、ハードディスク装置(HDD)などが考えられる。光ディスクは、例えば、Digital Versatile Disc(DVD)、DVD−RAM、Compact Disc Read Only Memory(CD−ROM)、CD−R(Recordable)/RW(ReWritable)などが考えられる。光磁気記録媒体は、例えば、Magneto-Optical disk(MO)などが考えられる。なお、記憶部502もnon-transitory(非一時的)な記録媒体に含まれる。
【0042】
入出力インタフェース504は、入出力部508が接続され、ユーザにより入出力部508から入力された情報を、バス506を介して制御部501に送る。また、入出力インタフェース504は、制御部501から送られてくる情報を、バス506を介して入出力部508に送る。
【0043】
入出力部508は、例えば、キーボード、ポインティングデバイス(マウスなど)、タッチパネル、Cathode Ray Tube(CRT)ディスプレイ、プリンタなどが考えられる。
【0044】
通信インタフェース505は、Local Area Network(LAN)接続やインターネット接続を行うためのインタフェースである。また、通信インタフェース505は必要に応じ、他のコンピュータとの間のLAN接続やインターネット接続や無線接続を行うためのインタフェースとして用いてもよい。
【0045】
このようなハードウェアを有するコンピュータを用いることによって、情報処理装置1が行う各種処理機能が実現される。この場合、情報処理装置1が行う各種処理機能の内容を記述したプログラムをコンピュータで実行することにより、上記各処理機能(例えば、制御部2やデバイス自動実行試験部3)がコンピュータ上で実現される。各種処理機能の内容を記述したプログラムは、記憶部502や記録媒体507に格納しておくことができる。
【0046】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの記録媒体507が販売される。また、プログラムをサーバコンピュータの記憶装置に記録しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0047】
プログラムを実行するコンピュータは、例えば、記録媒体507に記録されたプログラム、又は、サーバコンピュータから転送されたプログラムを、記憶部502に記憶する。そして、コンピュータは、記憶部502からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、記録媒体507から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0048】
なお、上述の実施の形態は、実施の形態の要旨を逸脱しない範囲内において種々の変更を加えることができる。
さらに、上述の実施の形態は、多数の変形、変更が当業者にとって可能であり、説明した正確な構成および応用例に限定されるものではない。