JP5847492B2 - 画像形成装置、システム、テスト方法及びプログラム - Google Patents
画像形成装置、システム、テスト方法及びプログラム Download PDFInfo
- Publication number
- JP5847492B2 JP5847492B2 JP2011187583A JP2011187583A JP5847492B2 JP 5847492 B2 JP5847492 B2 JP 5847492B2 JP 2011187583 A JP2011187583 A JP 2011187583A JP 2011187583 A JP2011187583 A JP 2011187583A JP 5847492 B2 JP5847492 B2 JP 5847492B2
- Authority
- JP
- Japan
- Prior art keywords
- test
- application
- image forming
- forming apparatus
- control module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
また、ローカル端末に接続されたUSBデバイスを、遠隔地にあるクライアント端末から利用する技術がある(特許文献1参照)。
このような環境で実機を用いてデバッグを行う場合はネットワーク経由でデバッグを行うことになる。しかしながら、画像形成装置に接続されたUSBデバイス(ICカードリーダやUSBメモリ等)を利用するアプリケーションのデバッグを行う場合は、画像形成装置と開発PCの間を行き来する必要があり不便であった。
また、遠隔地にある端末からローカルのUSBデバイスを制御する技術を適用することでローカル端末のUSBデバイスを使ったデバッグが可能となるが、事前に画像形成装置にそのような機能を組み込んでおく必要があった。そのため、過去にリリースされた機種では容易に実現できないという問題があった。また、複数の開発者が同じ実機を使って開発を行う環境では、他の人のUSBデバイスが接続されたままになっていて意図しないUSBデバイスを使用してテストを実行してしまうことがあるという問題もあった。
図1は、画像形成装置用アプリケーションのテストシステムのシステム構成の一例を示す図である。画像形成装置101は、スキャナやプリンタを備えた装置であり、様々なアプリケーションをインストールして動作させることが可能である。画像形成装置101上で動作するアプリケーションの中には、画像形成装置101に接続されたUSBデバイス102を利用するアプリケーションが存在する。例えば、USB接続のICカードリーダで認証を行うアプリケーションや、USBメモリにスキャン画像を格納したりするようなアプリケーションが存在する。
このような画像形成装置用アプリケーションの開発を行う場合、通常、開発用PC103にて統合開発環境を動作させてプログラム作成・テスト・デバッグ等を行う。また、アプリケーションのテストを行う場合は、開発用PC103から画像形成装置101にネットワーク100経由でアプリケーションをインストールして画像形成装置101上でアプリケーションを動作させてテストを行う。本実施形態の技術を適用したアプリケーションテストにおいては、画像形成装置101上のアプリケーションが開発用PC103に接続されたUSBデバイス104を制御するように画像形成装置101の内部構成を自動的に更新する。
開発用PC103は、情報処理装置の一例である。
Java(登録商標)VM401は、Javaプログラムを動作させるための仮想マシンである。クラスパス設定管理部402は、JavaVMがロードするライブラリの設定管理を行う。ジョブ制御ライブラリ403は、スキャンジョブやプリントジョブを実行するためのAPIを備えたライブラリである。USB制御ライブラリ404は、USBH I/F制御部205に接続されたUSBデバイス216を制御するためのAPIを備えたライブラリであり、接続されたUSBデバイス情報の取得や、USBデバイスとのデータ送受信等を行うことができる。アプリケーションフレームワーク405は、JavaVM401上で複数のアプリケーションを動作させるためのフレームワークである。アプリ管理サービス406は、アプリケーションフレームワーク405上で動作するアプリケーションの管理を行うためのサービスであり、アプリケーションのインストール・アンインストール・開始・停止等を行う。
JavaVM401は、アプリケーション実行環境の一例である。
テストブローカ407は、開発用PC103から後述する図4Cに示されるテスト用アプリ408を受信してテストを実行したり、テスト結果を開発用PC103に送信したり、テスト完了後にテスト用アプリ408をアンインストールしたりするモジュールである。また、開発用PC103に接続されたUSBデバイス104を利用してアプリケーションのテストを行う場合、テストブローカ407は、後述する図4Cに示される開発用PC103から遠隔USB制御ライブラリ409を受信する。そして、テストブローカ407は、受信した遠隔USB制御ライブラリ409を画像形成装置101内にインストールする。テスト用アプリ408は、ユーザが開発したアプリケーションとテストのためのプログラムが一つにまとめられたテストのためのアプリケーションである。遠隔USB制御ライブラリ409は、USB制御ライブラリ404とAPI互換のライブラリであり、クラスパス設定管理部402がライブラリのロード順を制御することにより、USB制御ライブラリ404よりも優先的にロードされるようになる。テスト用アプリ408は、USB制御ライブラリ404のAPIを呼び出すと遠隔USB制御ライブラリ409のAPIが実行される。遠隔USB制御ライブラリ409のAPIが実行されると開発用PC103にUSB制御要求を出し開発用PC103に接続されたUSBデバイス104を制御する。
USB制御ライブラリ404は、USB制御モジュールの一例である。また、遠隔USB制御ライブラリ409は、遠隔USB制御モジュールの一例である。また、テスト用アプリ408は、テスト用アプリケーションの一例である。
また、アプリケーション開発者がアプリ管理サービス406経由でテストブローカ407をアンインストールすると図4Aの状態に戻すことができる。
アプリ情報管理部702は、アプリケーションからアプリ向けI/F部701が呼び出されたときに呼び出し元のアプリケーションの特定を行う。接続先判定部703は、API呼び出し元のアプリケーションに対応する開発用PC103を特定する。通信制御部704は、接続先判定部703で特定した開発用PC103上で動作するUSBHost制御部505にUSBH制御要求を出してUSBデバイスの制御を行う。
テスト用アプリ408は、アプリケーション801とテストケース802とテストエージェント803とアプリケーション情報804とから構成される。アプリケーション801は、開発者が開発しているアプリケーションの実体である。テストケース802は、アプリケーション801をテストするためのプログラムである。テストエージェント803は、テストブローカ407から指示を受けてテストケース802の実行を行う。アプリケーション情報804は、そのアプリケーションの識別IDやアプリケーション名称やバージョン情報を含む。
プロジェクト表示領域901は、統合開発環境上で開発を行っているプロジェクトについての情報を表示する領域であり、アプリケーションに含まれるクラスやファイルのリストが階層構造で表示される。ソース表示領域902には、プロジェクト表示領域で選択したクラスのソースが表示される。開発者は、プロジェクト表示領域901でテストケースのプロジェクト903を選択して右クリックすることで、テスト実行の指示を行うことができる。テスト実行を指示されると図9Bのダイアログが表示される。
図9Bにおいてテキストフィールド911は、テストを実行する画像形成装置101のホスト名若しくはIPアドレスを入力するためのフィールドである。チェックボックス912は、開発用PCに接続されているUSBデバイスを利用してテストを行う場合にチェックするためのものである。このチェックボックスにチェックが入れられると、開発用PCに接続されたUSBデバイスが制御されるようになり、チェックボックスにチェックを入れずにテストを実行すると画像形成装置101に接続されたUSBデバイスが制御される。OKボタン913は、開発者がテストの実行を指示するためのボタンである。キャンセルボタン914は、開発者がテストの実行を取り消すためのボタンである。OKボタン913が押されると、図9Cのダイアログが表示される。
図9Cのダイアログは、全てのテストケースが実行完了すると自動的にダイアログが閉じられる。テスト実行中に中断したい場合は、開発者は、終了ボタン921を押下することでテストを終了させることができる。
図9Dは、テスト終了時若しくは中断時に表示される画面の一例を示す図である。テスト結果概要表示領域931には、実行されたテストケース数及びテスト失敗数、エラー数及びテスト成功率が表示される。パッケージ情報表示領域932には、アプリケーションのパッケージ毎のテスト結果の一覧が表示される。開発者がパッケージ名933をクリックすることでテストケースごとの細かい結果も表示することができる。
まずステップS1101にてテスト制御部503がテキストフィールド911で指定された画像形成装置101上で動作しているテストブローカ407に対しテスト開始通知を送信する。テスト開始通知にはローカルのUSBデバイスを利用してテストを行うか否かの設定情報(チェックボックス912の状態)及びテスト用アプリの識別子情報が含まれる。
次にステップS1102に進み、テスト制御部503がローカルのUSBデバイスを利用してテストを行うか否かの設定を判定する。もしローカルのUSBデバイスを利用する設定であると判定された場合、ステップS1103に進む。
ステップS1103では、ライブラリ送信部504が遠隔USB制御ライブラリ409をテストブローカ407に送信し、ステップS1104に進む。
一方ステップS1102にてローカルのUSBデバイスを利用する指定がされていないと判定された場合は、ステップS1104に進む。ステップS1104では、ソース管理部501がアプリケーションのソースとテストケースのソースとからテスト用アプリを生成し、生成したテスト用アプリを、テストブローカ407に送信する。
次にステップS1105に進み、テスト制御部503が実行中ダイアログを表示する。
ステップS1107では、テスト制御部503がテストブローカ407からテスト結果を受信する。
次にステップS1108に進み、テスト制御部503がテスト結果表示画面を表示して処理を終了する。
一方ステップS1106にてテスト終了通知を受信していないと判定した場合はステップS1109に進む。ステップS1109では、テスト制御部503が実行中ダイアログ中の終了ボタンが押下されたかどうかを判定する。ステップS1109にて終了ボタンが押下されていないと判定した場合はステップS1106に進み、終了ボタンが押下されたと判定された場合はステップS1110に進む。
ステップS1110では、テスト制御部503がテストブローカ407に対してテスト終了要求を送信し、ステップS1107に進む。それ以降の処理は前述の通りである。
まずステップS1201にて、テストブローカ407は、テスト開始通知に含まれる情報を参照してローカルのUSBを利用してテストを行うべきか否かを判定する。もしローカルのUSBを利用してテストを行うべきと判定した場合はステップS1202に進む。
ステップS1202では統合開発環境から送信された遠隔USB制御ライブラリ409を受信し、ライブラリ制御部602が、ファイルシステムに配置する。
次にステップS1203に進み、接続先管理部603は、テスト開始通知に含まれるアプリケーション識別子とテスト開始通知の送信元との対応情報を図10のように接続先管理テーブルに登録する。
次にステップS1204に進み、ライブラリ制御部602は、クラスパス設定管理部402の設定を参照して遠隔USB制御ライブラリ409が優先的にロードされる設定に変更されているか否かを判定する。
既に設定が変更されていた場合はステップS1206に進む。設定が変更されていないと判定された場合はステップS1205に進む。ステップS1205では、ライブラリ制御部602が、遠隔USB制御ライブラリ409が優先的に利用されるようにクラスパスの設定を変更し、ステップS1206に進む。
次にステップS1207に進み、テスト制御部601は、テストが完了したかどうかを判定する。ここでは、テスト制御部601は、全てのテストケースの実行が完了したか、統合開発環境からテスト終了通知を受信した場合に、テストが完了したとみなす。ステップS1207にてテストが完了していないと判定された場合はステップS1208に進む。
ステップS1208では、テスト制御部601は、まだ実行していないテストケースを実行して結果を蓄積し、ステップS1207に進む。ステップS1207にてテストが完了したと判定された場合はステップS1209に進む。
ステップS1209では、テスト制御部601は、統合開発環境にテスト結果を送信する。次にステップS1210に進む。
ステップS1210では、テスト制御部601は、テスト用アプリの停止及び削除(アンインストール)を行う。
次にステップS1211に進み、接続先管理部603は、接続先管理テーブルからテスト用アプリの情報を削除する。
ステップS1213ではライブラリ制御部602は、遠隔USB制御ライブラリ409を削除し、ステップS1214に進む。
ステップS1214ではライブラリ制御部602は、ステップS1205で変更したクラスパスの設定を元に戻し(復旧し)、処理を終了する。
アプリ向けI/Fが呼び出されると、ステップS1301にてアプリ向けI/F部701は、アプリ情報管理部702に問い合わせて呼び出し元のアプリケーション識別子を取得する。アプリ情報管理部702は、コールスタックから呼び出し元アプリケーションを特定し、そのアプリケーションに含まれるアプリケーション情報を参照することでアプリケーション識別子を取得する。
次にステップS1302に進み、接続先判定部703は、図10の接続先管理テーブルを参照してアプリケーション識別子に対応する接続先を特定する。
次にステップS1303に進み、アプリ向けI/F部701は、通信制御部704を経由してステップS1302で特定した接続先に、呼び出された関数に応じた処理要求を送信する。処理要求の種類としては、接続されているUSBデバイスの情報取得、USBデバイスへのデータ送信、USBデバイスからのデータ受信等がある。また、アプリ向けI/F部701は、接続デバイス数が変化した場合に通知を受けるための要求も行える。
次にステップS1304に進み、アプリ向けI/F部701は、通信制御部704を経由して要求に対する処理結果を受信する。もし結果が受信できればステップS1305に進み、アプリ向けI/F部701は、呼び出し元に対して結果を返して処理を終了する。一方、ステップS1304にて結果が受信できなかった場合はステップS1306に進み、アプリ向けI/F部701は、呼び出し元に対してエラーを返して処理を終了する。
まずステップS1401にて、USBHost制御部505は、要求を受信する。
次にステップS1402に進み、USBHost制御部505は、要求に応じたUSBH制御を行う。
次にステップS1403に進み、USBHost制御部505は、処理結果を送信し処理を終了する。
なお、本実施形態では、開発用PCとテスト用アプリとの対応を管理して複数の開発者が同時にテストを行えるような構成にしているが、このような構成に限られるものではない。例えば、既にテスト用アプリが実行中であれば他の開発用PCからのテスト要求をエラーで返すようにしてもよい。この構成では、テスト用アプリ408が存在するかどうかをテストブローカ407が管理して、テスト要求受信時にテスト用アプリ408が存在した場合にエラーを返す。これにより同時に1つのテスト用アプリしか実行されないことが保証されるため図10のような接続先管理テーブルが不要になり、より単純な構成でローカルのUSBデバイスを用いたテストを行うことが可能となる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
したがって、開発者の利便性を向上させ、また、意図しないUSBデバイスを利用してテストを行ってしまうミスを防ぐことができる。
Claims (7)
- 画像を形成する画像形成装置であって、
情報処理装置に接続されたUSBデバイスを制御する遠隔USB制御モジュールを受信する受信手段と、
前記受信手段で受信された前記遠隔USB制御モジュールを、前記画像形成装置に接続されたUSBデバイスを制御するUSB制御モジュールより優先的に利用されるようにアプリケーション実行環境の設定を変更する変更手段と、
前記USBデバイスを利用するテスト用アプリケーションを前記アプリケーション実行環境で実行する実行手段と、
テストが完了した場合、前記変更手段で変更された前記アプリケーション実行環境の設定を元に戻す復旧手段と、
を有する画像形成装置。 - テストが完了した場合、前記受信手段で受信された前記遠隔USB制御モジュールを削除する削除手段を更に有する請求項1記載の画像形成装置。
- 前記情報処理装置より受信した前記テスト用アプリケーションをインストールするインストール手段を更に有し、
前記実行手段は、前記インストール手段でインストールされた前記テスト用アプリケーションを前記アプリケーション実行環境で実行し、
テストが完了した場合、テスト結果を前記情報処理装置に送信する送信手段と、
テストが完了した場合、前記インストール手段でインストールされた前記テスト用アプリケーションをアンインストールするアンインストール手段と、
を更に有する請求項1又は2記載の画像形成装置。 - 情報処理装置と、画像形成装置と、を含むシステムであって、
前記情報処理装置は、
前記情報処理装置に接続されたUSBデバイスを制御する遠隔USB制御モジュールを前記画像形成装置に送信する送信手段を有し、
前記画像形成装置は、
前記遠隔USB制御モジュールを受信する受信手段と、
前記受信手段で受信された前記遠隔USB制御モジュールを、前記画像形成装置に接続されたUSBデバイスを制御するUSB制御モジュールより優先的に利用されるようにアプリケーション実行環境の設定を変更する変更手段と、
前記USBデバイスを利用するテスト用アプリケーションを前記アプリケーション実行環境で実行する実行手段と、
テストが完了した場合、前記変更手段で変更された前記アプリケーション実行環境の設定を元に戻す復旧手段と、
を有するシステム。 - 画像を形成する画像形成装置が実行するUSBデバイスのテスト方法であって、
情報処理装置に接続されたUSBデバイスを制御する遠隔USB制御モジュールを受信する受信ステップと、
前記受信ステップで受信された前記遠隔USB制御モジュールを、前記画像形成装置に接続されたUSBデバイスを制御するUSB制御モジュールより優先的に利用されるようにアプリケーション実行環境の設定を変更する変更ステップと、
前記USBデバイスを利用するテスト用アプリケーションを前記アプリケーション実行環境で実行する実行ステップと、
テストが完了した場合、前記変更ステップで変更された前記アプリケーション実行環境の設定を元に戻す復旧ステップと、
を含むテスト方法。 - 情報処理装置と、画像形成装置と、を含むシステムにおけるUSBデバイスのテスト方法であって、
前記情報処理装置が、前記情報処理装置に接続されたUSBデバイスを制御する遠隔USB制御モジュールを前記画像形成装置に送信する送信ステップと、
前記画像形成装置が、前記遠隔USB制御モジュールを受信する受信ステップと、
前記画像形成装置が、前記受信ステップで受信された前記遠隔USB制御モジュールを、前記画像形成装置に接続されたUSBデバイスを制御するUSB制御モジュールより優先的に利用されるようにアプリケーション実行環境の設定を変更する変更ステップと、
前記USBデバイスを利用するテスト用アプリケーションを前記アプリケーション実行環境で実行する実行ステップと、
前記画像形成装置が、テストが完了した場合、前記変更ステップで変更された前記アプリケーション実行環境の設定を元に戻す復旧ステップと、
を含むテスト方法。 - コンピュータに、
情報処理装置に接続されたUSBデバイスを制御する遠隔USB制御モジュールを受信する受信ステップと、
前記受信ステップで受信された前記遠隔USB制御モジュールを、前記コンピュータに接続されたUSBデバイスを制御するUSB制御モジュールより優先的に利用されるようにアプリケーション実行環境の設定を変更する変更ステップと、
前記USBデバイスを利用するテスト用アプリケーションを前記アプリケーション実行環境で実行する実行ステップと、
テストが完了した場合、前記変更ステップで変更された前記アプリケーション実行環境の設定を元に戻す復旧ステップと、
を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011187583A JP5847492B2 (ja) | 2011-08-30 | 2011-08-30 | 画像形成装置、システム、テスト方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011187583A JP5847492B2 (ja) | 2011-08-30 | 2011-08-30 | 画像形成装置、システム、テスト方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013050801A JP2013050801A (ja) | 2013-03-14 |
JP5847492B2 true JP5847492B2 (ja) | 2016-01-20 |
Family
ID=48012802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011187583A Expired - Fee Related JP5847492B2 (ja) | 2011-08-30 | 2011-08-30 | 画像形成装置、システム、テスト方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5847492B2 (ja) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07134666A (ja) * | 1993-11-09 | 1995-05-23 | Nippon Steel Corp | プロセス制御用計算機システムの応用ソフトウェアの遠隔実機テストシステム |
JPH09223039A (ja) * | 1996-02-15 | 1997-08-26 | Fuji Facom Corp | オンラインシステムのデバッグ装置 |
JPH1040092A (ja) * | 1996-07-26 | 1998-02-13 | Nec Corp | プログラム開発システム |
US20090019187A1 (en) * | 2005-02-02 | 2009-01-15 | Keiji Okuma | Peripheral Device Using Method, and Peripheral Device Server |
-
2011
- 2011-08-30 JP JP2011187583A patent/JP5847492B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013050801A (ja) | 2013-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7533381B2 (en) | Image forming apparatus and method for operating image forming apparatus by using remote application | |
US20040218208A1 (en) | Image forming apparatus, information processing apparatus, program execution method and program producing method | |
KR101643601B1 (ko) | 원격 어플리케이션 구성 관리 방법 및 장치 | |
US8438567B2 (en) | Information processing device and image processing apparatus | |
US20130074048A1 (en) | System, information processing apparatus and control method thereof, image forming apparatus and control method thereof, and computer-readable medium | |
JP4843386B2 (ja) | 機器、情報処理方法、情報処理プログラム、及び記録媒体 | |
US8789038B2 (en) | Information processing device, information processing method, and computer readable medium with function disabling | |
EP2615545A2 (en) | Apparatus, control method, and storage medium | |
JP2004185595A (ja) | 情報処理装置およびそのプログラム | |
CN109660688B (zh) | 信息处理装置及其控制方法 | |
CN109739447B (zh) | 中间件及其通信方法、中间件层、存储介质及终端设备 | |
JP2004118237A (ja) | 画像形成装置およびアプリケーションインストール方法 | |
JP2007048270A (ja) | 画像形成装置、情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体 | |
JP2009037589A (ja) | プログラム判定装置、プログラム判定方法及びプログラム | |
US20040239713A1 (en) | Error-processing system and method for printers | |
JP2004185593A (ja) | 画像形成装置およびアプリケーション実行方法 | |
JP2004185594A (ja) | 画像形成装置およびプログラム実行方法 | |
JP4523991B2 (ja) | 端末装置、方法、システム、及びプログラム | |
JP5847492B2 (ja) | 画像形成装置、システム、テスト方法及びプログラム | |
JP5565439B2 (ja) | 装置、情報処理方法、情報処理プログラム、及び記録媒体 | |
JP6057740B2 (ja) | 画像形成装置、情報処理方法及びプログラム | |
JP4542180B2 (ja) | 画像形成装置、プログラム、及び記録媒体 | |
JP2009223577A (ja) | ユーザインタフェースエミュレート装置及びユーザインタフェースエミュレートプログラム | |
JP2019070884A (ja) | 情報処理装置 | |
US11909935B2 (en) | Image forming apparatus, and control method for controlling image forming apparatus for remotely performing a setting process on or configuration control of a image forming apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140826 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150618 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150707 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20151027 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151125 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5847492 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |