(57)【要約】【課題】複数のテストモジュールをインストールしておく必要がなく、顧客環境を利用して、更新されたアプリケーションの動作確認を適切に行えるようにする。【解決手段】情報処理装置は、アプリケーションプログラム２１を新バージョンに更新する更新処理部５１と、履歴情報２２に記録されている設定値に基づいて生成されるテストデータ５７を取得するテストデータ取得部５２と、更新処理部５１によってアプリケーションプログラム２１が更新された場合に更新されたアプリケーションプログラム２１に対応する第２のアプリケーション４２を起動させ、第２のアプリケーション４２にテストデータ５７を入力して第２のアプリケーション５７及びアプリケーション連携部３２のそれぞれが所定の条件下において正常動作するか否かを検証する動作確認部５５と、を備える。【選択図】図６
2020170984.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムを記憶する記憶手段と、
前記記憶手段に記憶されている前記アプリケーションプログラムを実行することによって第１のアプリケーションを起動するアプリケーション起動手段と、
前記アプリケーション起動手段によって前記第１のアプリケーションが起動されている状態のとき、前記第１のアプリケーションによって指定される設定値を反映させると共に、予め定められた条件下において前記設定値を反映させた状態で前記第１のアプリケーションによって指定される処理を実行するアプリケーション連携手段と、
前記アプリケーション連携手段によって処理が実行されることに伴い、前記設定値を履歴情報として記録する履歴記録手段と、
前記アプリケーションプログラムの更新用プログラムを取得し、前記更新用プログラムを実行することにより前記アプリケーションプログラムを更新する更新手段と、
前記更新手段によって前記アプリケーションプログラムが更新された場合に、前記履歴情報に記録されている前記設定値に基づいて生成されるテストデータを取得するテストデータ取得手段と、
前記更新手段によって前記アプリケーションプログラムが更新された場合に、前記アプリケーション起動手段に前記アプリケーションプログラムを実行させることによって第２のアプリケーションを起動させ、前記第２のアプリケーションに前記テストデータを入力して前記第２のアプリケーション及び前記アプリケーション連携手段のそれぞれが前記条件下において正常動作するか否かを検証する動作確認手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記テストデータ取得手段は、前記更新手段によって前記アプリケーションプログラムが更新された場合に、前記履歴情報を所定のサーバーに送信して前記テストデータの生成を要求し、前記サーバーから前記テストデータを取得することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記テストデータ取得手段は、
前記履歴情報に記録されている前記設定値を抽出する設定値抽出手段と、
前記設定値抽出手段によって抽出される前記設定値に基づいて前記テストデータを生成するテストデータ生成手段と、
を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記設定値抽出手段は、前記履歴情報に記録されている複数の前記設定値のうち、所定回数以上の使用履歴がある前記設定値を抽出することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記設定値抽出手段は、前記履歴情報に記録されている複数の前記設定値のうち、所定期間内に記録された前記設定値を抽出することを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記履歴記録手段は、前記設定値を前記履歴情報に記録するとき、前記第１のアプリケーションに対して前記設定値を指示したユーザーに関する情報を付加し、
前記設定値抽出手段は、前記履歴情報に記録されている複数の前記設定値のうち、特定のユーザーによって指示された前記設定値を抽出することを特徴とする請求項３に記載の情報処理装置。
【請求項７】
前記テストデータ生成手段は、前記更新手段によって前記更新用プログラムが取得されることに伴い、前記第２のアプリケーションに対して予め行われたテストにおいて使用されたテスト済み設定値に関する情報を取得し、前記設定値抽出手段によって抽出される前記設定値と、前記テスト済み設定値との差分をとり、当該差分に基づいて前記テストデータを生成することを特徴とする請求項３乃至６のいずれかに記載の情報処理装置。
【請求項８】
前記テストデータ生成手段は、前記設定値抽出手段によって抽出される前記設定値が特定のサーバーにアクセスするためのユーザーアカウント情報を含む場合、アクセス先のサーバーを前記特定のサーバーからテスト用サーバーに書き換えると共に、前記ユーザーアカウント情報をテスト用アカウント情報に書き換えることを特徴とする請求項３乃至７のいずれかに記載の情報処理装置。
【請求項９】
前記テストデータ生成手段は、前記設定値抽出手段によって抽出される前記設定値が外部装置へ送信する画像データの指定を含む場合、前記テストデータにおいて前記画像データのデータ量と同等のダミーデータを送信することを指定することを特徴とする請求項３乃至８のいずれかに記載の情報処理装置。
【請求項１０】
前記テストデータ生成手段は、アプリケーションの機能とテスト項目とが予め対応付けられたテスト項目情報を管理しており、前記テスト項目情報に基づいて前記第２のアプリケーションの機能に対応するテスト項目を特定し、前記設定値抽出手段によって抽出される複数の前記設定値のうちから、特定したテスト項目に対応する前記設定値に基づいて前記テストデータを生成することを特徴とする請求項３乃至９のいずれかに記載の情報処理装置。
【請求項１１】
前記動作確認手段は、前記第２のアプリケーションに前記テストデータを入力して前記第２のアプリケーション及び前記アプリケーション連携手段のそれぞれが前記条件下において正常動作した場合、ネットワークを介して接続されている他の情報処理装置に対して動作確認不要であることを通知することを特徴とする請求項１乃至１０のいずれかに記載の情報処理装置。
【請求項１２】
前記更新手段は、前記動作確認手段によって前記アプリケーション連携手段が前記条件下において正常動作しないことが確認された場合、前記アプリケーションプログラムを更新前の状態に戻すことを特徴とする請求項１乃至１１のいずれかに記載の情報処理装置。
【請求項１３】
前記動作確認手段は、前記第２のアプリケーション及び前記アプリケーション連携手段のそれぞれが前記条件下において正常動作しないことを確認した場合、ユーザーに対して前記条件の変更を促す通知を行うことを特徴とする請求項１乃至１２のいずれかに記載の情報処理装置。
【請求項１４】
請求項１乃至１３のいずれかに記載の情報処理装置と、
前記アプリケーション連携手段によって指定される印刷データに基づいて印刷出力を行う印刷手段と、
を備える画像処理装置であって、
前記動作確認手段は、前記第２のアプリケーションが前記アプリケーション連携手段を介して前記印刷手段に印刷出力を行わせる機能を有している場合、前記第２のアプリケーションに前記テストデータを入力し、前記アプリケーション連携手段を介して前記印刷手段にテスト印刷を行わせることを特徴とする画像処理装置。
【請求項１５】
前記動作確認手段は、前記印刷手段にテスト印刷を行わせた後、特定のユーザーに対してテスト印刷を行ったことを通知し、該ユーザーからの指示に基づいて前記第２のアプリケーション及び前記アプリケーション連携手段のそれぞれが正常動作しているか否かを判断することを特徴とする請求項１４に記載の画像処理装置。
【請求項１６】
前記印刷手段によって印刷出力が行われることに伴い課金処理を行う課金手段、
を更に備え、
前記動作確認手段は、前記印刷手段にテスト印刷を行わせた場合、前記課金手段に課金処理を行わせないことを特徴とする請求項１４又は１５に記載の画像処理装置。
【請求項１７】
前記動作確認手段は、前記印刷手段にテスト印刷を行わせるとき、シートの所定位置にテスト印刷であることを示す情報を印刷させることを特徴とする請求項１４乃至１６のいずれかに記載の画像処理装置。
【請求項１８】
請求項１乃至１３のいずれかに記載の情報処理装置と、
前記アプリケーション連携手段によって指定される印刷データに基づいて印刷出力を行う印刷手段と、
を備える画像処理装置であって、
前記動作確認手段は、前記第２のアプリケーションが前記アプリケーション連携手段を介して前記印刷手段に印刷出力を行わせる機能を有している場合、前記第２のアプリケーションに前記テストデータを入力して前記アプリケーション連携手段を動作させるとき、前記印刷手段にテスト印刷を行わせず、前記アプリケーション連携手段に出力イメージ画像を生成させ、前記出力イメージ画像を所定の出力先へ出力させることを特徴とする画像処理装置。
【請求項１９】
画像を表示する表示手段と、
ユーザーの操作を受け付ける操作入力手段と、
を更に備え、
前記動作確認手段は、前記アプリケーション連携手段に前記出力イメージ画像を前記表示手段で表示させ、前記操作入力手段に対して入力される情報に基づいて前記第２のアプリケーション及び前記アプリケーション連携手段のそれぞれが正常動作しているか否かを判断することを特徴とする請求項１８に記載の画像処理装置。
【請求項２０】
前記動作確認手段は、前記アプリケーション連携手段に前記出力イメージ画像を予め指定された外部装置へ出力させ、前記外部装置から受信する情報に基づいて前記第２のアプリケーション及び前記アプリケーション連携手段のそれぞれが正常動作しているか否かを判断することを特徴とする請求項１８に記載の画像処理装置。
【請求項２１】
画像を解析する画像解析手段を更に備え、
前記動作確認手段は、前記アプリケーション連携手段に、前記出力イメージ画像を前記画像解析手段へ出力させ、前記画像解析手段における解析結果に基づいて前記第２のアプリケーション及び前記アプリケーション連携手段のそれぞれが正常動作しているか否かを判断することを特徴とする請求項１８に記載の画像処理装置。
【請求項２２】
アプリケーションプログラムを記憶する記憶手段と、
前記記憶手段に記憶されている前記アプリケーションプログラムを実行することによって第１のアプリケーションを起動するアプリケーション起動手段と、
前記アプリケーション起動手段によって前記第１のアプリケーションが起動されている状態のとき、前記第１のアプリケーションによって指定される設定値を反映させると共に、予め定められた条件下において前記設定値を反映させた状態で前記第１のアプリケーションによって指定される処理を実行するアプリケーション連携手段と、
前記アプリケーション連携手段によって処理が実行されることに伴い、前記設定値を履歴情報として記録する履歴記録手段と、
を備える情報処理装置において実行されるプログラムであって、前記情報処理装置に、
前記アプリケーションプログラムの更新用プログラムを取得し、前記更新用プログラムを実行することにより前記アプリケーションプログラムを更新する更新ステップと、
前記更新ステップによって前記アプリケーションプログラムが更新された場合に、前記履歴情報に記録されている前記設定値に基づいて生成されるテストデータを取得するテストデータ取得ステップと、
前記更新ステップによって前記アプリケーションプログラムが更新された場合に、前記アプリケーション起動手段に前記アプリケーションプログラムを実行させることによって第２のアプリケーションを起動させ、前記第２のアプリケーションに前記テストデータを入力して前記第２のアプリケーション及び前記アプリケーション連携手段のそれぞれが前記条件下において正常動作するか否かを検証する動作確認ステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、画像処理装置及びプログラムに関し、特にアプリケーションの更新に伴って動作確認を行う技術に関する。
【背景技術】
【０００２】
ＭＦＰ（Multifunction Peripherals）などの画像処理装置は、様々なアプリケーションをインストールすることが可能である。例えば、クラウド上のサーバーにアクセスしてサーバーに保存されている文書一覧を表示し、ユーザーが文書一覧の中から所望の文書を選択すると、サーバーから文書をダウンロードしてプリント機能を動作させるようにしたアプリケーションなどがある。この種のアプリケーションは、ユーザーの操作性向上や新機能の追加に伴い、逐次バージョンアップされる。
【０００３】
従来、画像処理装置にインストールされているアプリケーションのバージョンがアップデートされた場合には、カスタマーエンジニアが顧客先を訪問して手作業でアプリケーションを最新バージョンに更新するのが一般的であった。しかし、近年では、クラウド技術の発展などもあり、クラウド上のサーバーでアプリケーションが新バージョンにアップデートされると、画像処理装置がそれを検知してアプリケーションを最新バージョンに自動更新することが可能である。
【０００４】
新バージョンのアプリケーションは、通常、リリースされる前に、提供者によって事前にテストされており、一定の品質が保証されている。しかしながら、顧客環境に設置されている画像処理装置に新バージョンのアプリケーションをインストールすると、画像処理装置のファームウェアのバージョンやネットワーク設定などの顧客環境特有の設定状態など、顧客先の条件によっては、新バージョンのアプリケーションが正常に動作しないことがある。そのため、画像処理装置がアプリケーションのバージョンを自動更新したとしても、新しいアプリケーションが正常に動作しない場合には、ユーザーが手動操作で旧バージョンのアプリケーションに戻さなければならない。
【０００５】
一方、従来、画像処理装置がアップデート管理対象とする第１のソフトウェア（例えばファームウェア）と、アップデート管理対象としない第２のソフトウェア（例えばサードパーティーによって提供されるアプリケーション）とが画像処理装置にインストールされている場合に、第１のソフトウェアがアップデートされると、テストモジュールを起動して第２のソフトウェアの動作確認テストを行うことが提案されている（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−２５０９１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１のような従来技術の場合、第２のソフトウェアの動作確認テストを適切に行うため、第２のソフトウェアに対応したテストモジュールを予め作成しておく必要がある。上述のように画像処理装置には、様々なアプリケーションがインストール可能である。そのため、個々のアプリケーションに対応したテストモジュールを個別に作成することは非効率であり、開発コストの上昇を招く要因となる。また、画像処理装置に複数のアプリケーションがインストールされる場合には、それら複数のアプリケーションのそれぞれに対応した複数のテストモジュールを予め画像処理装置にインストールしておかなければならず、画像処理装置の記録領域におけるテストモジュールの占有率が高くなり、ジョブ実行時のパフォーマンスを低下させる要因となる。
【０００８】
そこで本発明は、上記課題を解決するためになされたものであり、複数のテストモジュールをインストールする必要がなく、顧客環境を利用して、更新されたアプリケーションの動作確認を行えるようにした情報処理装置、画像処理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、請求項１に係る発明は、情報処理装置であって、アプリケーションプログラムを記憶する記憶手段と、前記記憶手段に記憶されている前記アプリケーションプログラムを実行することによって第１のアプリケーションを起動するアプリケーション起動手段と、前記アプリケーション起動手段によって前記第１のアプリケーションが起動されている状態のとき、前記第１のアプリケーションによって指定される設定値を反映させると共に、予め定められた条件下において前記設定値を反映させた状態で前記第１のアプリケーションによって指定される処理を実行するアプリケーション連携手段と、前記アプリケーション連携手段によって処理が実行されることに伴い、前記設定値を履歴情報として記録する履歴記録手段と、前記アプリケーションプログラムの更新用プログラムを取得し、前記更新用プログラムを実行することにより前記アプリケーションプログラムを更新する更新手段と、前記更新手段によって前記アプリケーションプログラムが更新された場合に、前記履歴情報に記録されている前記設定値に基づいて生成されるテストデータを取得するテストデータ取得手段と、前記更新手段によって前記アプリケーションプログラムが更新された場合に、前記アプリケーション起動手段に前記アプリケーションプログラムを実行させることによって第２のアプリケーションを起動させ、前記第２のアプリケーションに前記テストデータを入力して前記第２のアプリケーション及び前記アプリケーション連携手段のそれぞれが前記条件下において正常動作するか否かを検証する動作確認手段と、を備えることを特徴とする構成である。
【００１０】
請求項２に係る発明は、請求項１の情報処理装置において、前記テストデータ取得手段は、前記更新手段によって前記アプリケーションプログラムが更新された場合に、前記履歴情報を所定のサーバーに送信して前記テストデータの生成を要求し、前記サーバーから前記テストデータを取得することを特徴とする構成である。
【００１１】
請求項３に係る発明は、請求項１の情報処理装置において、前記テストデータ取得手段は、前記履歴情報に記録されている前記設定値を抽出する設定値抽出手段と、前記設定値抽出手段によって抽出される前記設定値に基づいて前記テストデータを生成するテストデータ生成手段と、を備えることを特徴とする構成である。
【００１２】
請求項４に係る発明は、請求項３の情報処理装置において、前記設定値抽出手段は、前記履歴情報に記録されている複数の前記設定値のうち、所定回数以上の使用履歴がある前記設定値を抽出することを特徴とする構成である。
【００１３】
請求項５に係る発明は、請求項３の情報処理装置において、前記設定値抽出手段は、前記履歴情報に記録されている複数の前記設定値のうち、所定期間内に記録された前記設定値を抽出することを特徴とする構成である。
【００１４】
請求項６に係る発明は、請求項３の情報処理装置において、前記履歴記録手段は、前記設定値を前記履歴情報に記録するとき、前記第１のアプリケーションに対して前記設定値を指示したユーザーに関する情報を付加し、前記設定値抽出手段は、前記履歴情報に記録されている複数の前記設定値のうち、特定のユーザーによって指示された前記設定値を抽出することを特徴とする構成である。
【００１５】
請求項７に係る発明は、請求項３乃至６のいずれかの情報処理装置において、前記テストデータ生成手段は、前記更新手段によって前記更新用プログラムが取得されることに伴い、前記第２のアプリケーションに対して予め行われたテストにおいて使用されたテスト済み設定値に関する情報を取得し、前記設定値抽出手段によって抽出される前記設定値と、前記テスト済み設定値との差分をとり、当該差分に基づいて前記テストデータを生成することを特徴とする構成である。
【００１６】
請求項８に係る発明は、請求項３乃至７のいずれかの情報処理装置において、前記テストデータ生成手段は、前記設定値抽出手段によって抽出される前記設定値が特定のサーバーにアクセスするためのユーザーアカウント情報を含む場合、アクセス先のサーバーを前記特定のサーバーからテスト用サーバーに書き換えると共に、前記ユーザーアカウント情報をテスト用アカウント情報に書き換えることを特徴とする構成である。
【００１７】
請求項９に係る発明は、請求項３乃至８のいずれかの情報処理装置において、前記テストデータ生成手段は、前記設定値抽出手段によって抽出される前記設定値が外部装置へ送信する画像データの指定を含む場合、前記テストデータにおいて前記画像データのデータ量と同等のダミーデータを送信することを指定することを特徴とする構成である。
【００１８】
請求項１０に係る発明は、請求項３乃至９のいずれかの情報処理装置において、前記テストデータ生成手段は、アプリケーションの機能とテスト項目とが予め対応付けられたテスト項目情報を管理しており、前記テスト項目情報に基づいて前記第２のアプリケーションの機能に対応するテスト項目を特定し、前記設定値抽出手段によって抽出される複数の前記設定値のうちから、特定したテスト項目に対応する前記設定値に基づいて前記テストデータを生成することを特徴とする構成である。
【００１９】
請求項１１に係る発明は、請求項１乃至１０のいずれかの情報処理装置において、前記動作確認手段は、前記第２のアプリケーションに前記テストデータを入力して前記第２のアプリケーション及び前記アプリケーション連携手段のそれぞれが前記条件下において正常動作した場合、ネットワークを介して接続されている他の情報処理装置に対して動作確認不要であることを通知することを特徴とする構成である。
【００２０】
請求項１２に係る発明は、請求項１乃至１１のいずれかの情報処理装置において、前記更新手段は、前記動作確認手段によって前記アプリケーション連携手段が前記条件下において正常動作しないことが確認された場合、前記アプリケーションプログラムを更新前の状態に戻すことを特徴とする構成である。
【００２１】
請求項１３に係る発明は、請求項１乃至１２のいずれかの情報処理装置において、前記動作確認手段は、前記第２のアプリケーション及び前記アプリケーション連携手段のそれぞれが前記条件下において正常動作しないことを確認した場合、ユーザーに対して前記条件の変更を促す通知を行うことを特徴とする構成である。
【００２２】
請求項１４に係る発明は、請求項１乃至１３のいずれかに記載の情報処理装置と、前記アプリケーション連携手段によって指定される印刷データに基づいて印刷出力を行う印刷手段と、を備える画像処理装置であって、前記動作確認手段は、前記第２のアプリケーションが前記アプリケーション連携手段を介して前記印刷手段に印刷出力を行わせる機能を有している場合、前記第２のアプリケーションに前記テストデータを入力し、前記アプリケーション連携手段を介して前記印刷手段にテスト印刷を行わせることを特徴とする構成である。
【００２３】
請求項１５に係る発明は、請求項１４の画像処理装置において、前記動作確認手段は、前記印刷手段にテスト印刷を行わせた後、特定のユーザーに対してテスト印刷を行ったことを通知し、該ユーザーからの指示に基づいて前記第２のアプリケーション及び前記アプリケーション連携手段のそれぞれが正常動作しているか否かを判断することを特徴とする構成である。
【００２４】
請求項１６に係る発明は、請求項１４又は１５の画像処理装置において、前記印刷手段によって印刷出力が行われることに伴い課金処理を行う課金手段、を更に備え、前記動作確認手段は、前記印刷手段にテスト印刷を行わせた場合、前記課金手段に課金処理を行わせないことを特徴とする構成である。
【００２５】
請求項１７に係る発明は、請求項１４乃至１６のいずれかの画像処理装置において、前記動作確認手段は、前記印刷手段にテスト印刷を行わせるとき、シートの所定位置にテスト印刷であることを示す情報を印刷させることを特徴とする構成である。
【００２６】
請求項１８に係る発明は、請求項１乃至１３のいずれかに記載の情報処理装置と、前記アプリケーション連携手段によって指定される印刷データに基づいて印刷出力を行う印刷手段と、を備える画像処理装置であって、前記動作確認手段は、前記第２のアプリケーションが前記アプリケーション連携手段を介して前記印刷手段に印刷出力を行わせる機能を有している場合、前記第２のアプリケーションに前記テストデータを入力して前記アプリケーション連携手段を動作させるとき、前記印刷手段にテスト印刷を行わせず、前記アプリケーション連携手段に出力イメージ画像を生成させ、前記出力イメージ画像を所定の出力先へ出力させることを特徴とする構成である。
【００２７】
請求項１９に係る発明は、請求項１８の画像処理装置において、画像を表示する表示手段と、ユーザーの操作を受け付ける操作入力手段と、を更に備え、前記動作確認手段は、前記アプリケーション連携手段に前記出力イメージ画像を前記表示手段で表示させ、前記操作入力手段に対して入力される情報に基づいて前記第２のアプリケーション及び前記アプリケーション連携手段のそれぞれが正常動作しているか否かを判断することを特徴とする構成である。
【００２８】
請求項２０に係る発明は、請求項１８の画像処理装置において、前記動作確認手段は、前記アプリケーション連携手段に前記出力イメージ画像を予め指定された外部装置へ出力させ、前記外部装置から受信する情報に基づいて前記第２のアプリケーション及び前記アプリケーション連携手段のそれぞれが正常動作しているか否かを判断することを特徴とする構成である。
【００２９】
請求項２１に係る発明は、請求項１８の画像処理装置において、画像を解析する画像解析手段を更に備え、前記動作確認手段は、前記アプリケーション連携手段に、前記出力イメージ画像を前記画像解析手段へ出力させ、前記画像解析手段における解析結果に基づいて前記第２のアプリケーション及び前記アプリケーション連携手段のそれぞれが正常動作しているか否かを判断することを特徴とする構成である。
【００３０】
請求項２２に係る発明は、アプリケーションプログラムを記憶する記憶手段と、前記記憶手段に記憶されている前記アプリケーションプログラムを実行することによって第１のアプリケーションを起動するアプリケーション起動手段と、前記アプリケーション起動手段によって前記第１のアプリケーションが起動されている状態のとき、前記第１のアプリケーションによって指定される設定値を反映させると共に、予め定められた条件下において前記設定値を反映させた状態で前記第１のアプリケーションによって指定される処理を実行するアプリケーション連携手段と、前記アプリケーション連携手段によって処理が実行されることに伴い、前記設定値を履歴情報として記録する履歴記録手段と、を備える情報処理装置において実行されるプログラムであって、前記情報処理装置に、前記アプリケーションプログラムの更新用プログラムを取得し、前記更新用プログラムを実行することにより前記アプリケーションプログラムを更新する更新ステップと、前記更新ステップによって前記アプリケーションプログラムが更新された場合に、前記履歴情報に記録されている前記設定値に基づいて生成されるテストデータを取得するテストデータ取得ステップと、前記更新ステップによって前記アプリケーションプログラムが更新された場合に、前記アプリケーション起動手段に前記アプリケーションプログラムを実行させることによって第２のアプリケーションを起動させ、前記第２のアプリケーションに前記テストデータを入力して前記第２のアプリケーション及び前記アプリケーション連携手段のそれぞれが前記条件下において正常動作するか否かを検証する動作確認ステップと、を実行させることを特徴とする構成である。
【発明の効果】
【００３１】
本発明によれば、複数のテストモジュールをインストールしておく必要がなく、顧客環境を利用して、更新されたアプリケーションの動作確認を効率的に行うことができるようになる。
【図面の簡単な説明】
【００３２】
【図１】画像処理システムの構成概念を示す図である。
【図２】画像処理装置のハードウェア構成の一例を示すブロック図である。
【図３】制御部の機能構成の一例を示すブロック図である。
【図４】アプリケーションとアプリケーション連携部との連携動作の一例を示す図である。
【図５】履歴情報の一例を示す図である。
【図６】更新制御部の詳細な機能構成の一例を示すブロック図である。
【図７】設定値抽出部及びテストデータ生成部の動作の概念を示す図である。
【図８】テスト項目情報の一例を示す情報である。
【図９】動作確認部による動作確認の概念を示す図である。
【図１０】更新制御部によって行われる処理手順の一例を示すフローチャートである。
【図１１】テストデータ生成処理の詳細な処理手順の一例を示すフローチャートである。
【図１２】設定値抽出処理の詳細な処理手順の一例を示すフローチャートである。
【図１３】動作確認処理の第１の処理手順の一例を示すフローチャートである。
【図１４】テスト印刷で出力される印刷物の一例を示す図である。
【図１５】動作確認処理の第２の処理手順の一例を示すフローチャートである。
【図１６】動作確認処理の第３の処理手順の一例を示すフローチャートである。
【図１７】動作確認処理の第４の処理手順の一例を示すフローチャートである。
【図１８】ブラウザ機能に関する動作確認の概要を示す図である。
【発明を実施するための形態】
【００３３】
以下、本発明に関する好ましい実施形態について図面を参照しつつ詳細に説明する。尚、以下に説明する実施形態において互いに共通する要素には同一符号を付しており、それらについての重複する説明は省略する。
【００３４】
図１は、本発明の一実施形態である画像処理システム１の構成概念を示す図である。この画像処理システム１は、複数の画像処理装置３と、パーソナルコンピュータ（ＰＣ）などで構成される情報機器５と、ＬＡＮ（Local Area Network）などのネットワーク６と、複数のサーバー７，８とを備える構成である。複数の画像処理装置３、情報機器５及びネットワーク６は、顧客先のローカル環境２ａに設置される。すなわち、複数の画像処理装置３及び情報機器５は、ローカル環境２ａ内においてネットワーク６を介して相互にデータ通信可能である。ネットワーク６は、図示を省略するルーターなどのネットワーク接続装置を介してインターネットなどのクラウド２ｂに接続されている。クラウド２ｂには、複数のサーバー７，８が設置されている。そのため、ローカル環境２ａに設置されている複数の画像処理装置３は、ネットワーク６を介してクラウド２ｂに設置されている複数のサーバー７，８のそれぞれと通信を行うことが可能である。尚、図１では、ローカル環境２ａに３台の画像処理装置３が設置される場合を例示しているが、ローカル環境２ａに設置される画像処理装置３の数は３台に限られるものではなく、１台であっても良いし、２台以上であっても良い。また、ローカル環境２ａに設置される情報機器５の数も１台に限られるものではない。
【００３５】
ローカル環境２ａに設置される画像処理装置３は、例えばＭＦＰなどで構成され、スキャン機能、プリント機能、コピー機能及びＦＡＸ機能などの複数の機能を備えており、ユーザーによって指定されたジョブを実行することができる。例えば、画像処理装置３は、情報機器５から送信される印刷ジョブを受信すると、その印刷ジョブに基づく印刷出力を行うことができる。この画像処理装置３は、情報処理装置４としての機能を備えている。情報処理装置４は、画像処理装置３において各種の情報処理を行うものである。
【００３６】
このような画像処理装置３には、様々なアプリケーションをインストールすることが可能である。そのようなアプリケーションには、例えばＷｅｂページを閲覧するためのブラウザ機能を画像処理装置３に付与するアプリケーションや、クラウド２ｂに設けられているサーバーと連携してジョブを実行させるアプリケーション、操作パネルに表示する操作画面をカスタマイズしてユーザーが操作しやすい操作画面を提供するアプリケーションなどがある。これらのアプリケーションがユーザーにとって使いやすいユーザーインタフェースを提供することにより、画像処理装置３の操作性及び利便性を向上させることができる。尚、画像処理装置３にインストールされるアプリケーションは、画像処理装置３の製造業者によって提供されるものであっても良いし、サードパーティーによって提供されるものであっても良い。
【００３７】
クラウド２ｂに設けられるサーバー７は、例えば画像処理装置３にインストールされるアプリケーションを提供するサーバーである。このサーバー７には、画像処理装置３においてアプリケーションを起動させるためのアプリケーションプログラムが保存されている。そのため、画像処理装置３は、アプリケーションをインストールするとき、ネットワーク６を介してサーバー７にアクセスし、アプリケーションプログラムをサーバー７からダウンロードしてインストールする。これにより、画像処理装置３においてアプリケーションを起動させることができるようになる。尚、この種のサーバー７は、クラウド２ｂ上に多数存在しており、画像処理装置３に対して様々なアプリケーションを提供している。
【００３８】
サーバー７に保存されているアプリケーションプログラムは、ユーザーの操作性向上や新機能の追加に伴い、逐次バージョンアップされる。画像処理装置３は、サーバーに保存されているアプリケーションプログラムがバージョンアップされることに伴い、アプリケーションプログラムを更新するための更新用プログラムをダウンロードして実行し、新バージョンのアプリケーションプログラムをインストールする。これにより、画像処理装置３において起動されるアプリケーションのバージョンが更新される。
【００３９】
画像処理装置３がアプリケーションのバージョンアップを検知する手法としては、いくつかの手法がある。例えば、画像処理装置３が定期的にサーバー７にアクセスしてサーバー７に保存されているアプリケーションのバージョンを確認する手法である。またこの他にも、例えば、サーバー７において保存されているアプリケーションのバージョンが更新された場合、サーバー７が画像処理装置３に対してバージョンアップ通知を送信するようにしても良い。
【００４０】
また、クラウド２ｂに設けられるサーバー８は、例えば画像処理装置３の製造業者によって提供されるサーバーであり、ローカル環境２ａの画像処理装置３と連携してアプリケーションの動作確認を行うように構成される。
【００４１】
上記のように構成される画像処理システム１において、画像処理装置３にインストールされているアプリケーションが新バージョンに更新された場合、画像処理装置３は、その新たなアプリケーションが正常に動作するか否かを検証するための動作確認を行う。このとき、画像処理装置３は、旧バージョンのアプリケーションが使用されていたときの履歴情報に基づいて新バージョンのアプリケーションを動作させるためのテストデータを自動取得し、そのテストデータを新バージョンのアプリケーションに投入して動作させる。つまり、画像処理装置３は、アプリケーションが新バージョンに更新されることに伴って自動的に動作確認を開始するのである。このような動作確認は、ローカル環境２ａに設定されている画像処理装置３において実行されるため、新バージョンのアプリケーションが顧客先の条件下において正常動作するか否かを適切に確認することができる。以下、このような画像処理装置３について詳しく説明する。
【００４２】
図２は、画像処理装置３のハードウェア構成の一例を示すブロック図である。画像処理装置３は、そのハードウェア構成として、制御部１０と、通信インタフェース１６と、操作パネル１７と、記憶部２０と、スキャナ部２５と、プリンタ部２６と、ＦＡＸ部２７と、画像解析部２８と、課金処理部２９とを備えており、これらが内部バス２４を介して相互にデータの入出力を行うことができる構成である。制御部１０、通信インタフェース１６、操作パネル１７及び記憶部２０は、画像処理装置３において情報処理装置４として機能する情報処理ユニット４ａである。
【００４３】
制御部１０は、ＣＰＵ１１と、ＲＡＭ１２と、ＲＯＭ１３とを備えており、各部の動作を統括的に制御するものである。ＲＡＭ１２は、各種データを記憶する揮発性メモリである。ＲＯＭ１３は、ファームウェア１４や設定情報１５などを記憶する書き換え可能な不揮発性メモリである。
【００４４】
ファームウェア１４は、画像処理装置３の上述した各種のハードウェアを動作させるためのソフトウェアである。画像処理装置３に電源が投入されると、ＣＰＵ１１がＲＯＭ１３に記憶されているファームウェア１４を読み出して実行することにより、制御部１０においてファームウェア１４を起動させる。また、ＲＯＭ１３に記憶されているファームウェア１４のバージョンは、適宜更新されることがある。
【００４５】
設定情報１５は、画像処理装置３の基本的な動作条件などが予め定義された情報であり、例えば、ローカル環境２ａに適合したネットワーク設定、画像処理装置３の各種機能を動作させるときの動作条件を定めた設定、管理者によって設定される管理者設定などを含む情報である。画像処理装置３は、この設定情報１５において予め定められている条件下で各種機能を動作させ、ユーザーによって指定されたジョブを実行する。
【００４６】
通信インタフェース１６は、画像処理装置３をネットワーク６に接続し、情報機器５やサーバー７，８などの外部装置と通信を行うためのものである。
【００４７】
操作パネル１７は、ユーザーが画像処理装置３を使用する際のユーザーインタフェースとなるものである。操作パネル１７は、各種画像を表示する表示部１８と、ユーザーの操作を検知する操作入力部１９とを備えている。例えば表示部１８は、カラー液晶ディスプレイで構成され、操作入力部１９は、表示部１８の画面上に配置されるタッチパネルセンサによって構成される。
【００４８】
記憶部２０は、例えばハードディスクドライブ（ＨＤＤ）又はソリッドステートドライブ（ＳＳＤ）などで構成される不揮発性の大容量記憶デバイスである。この記憶部２０には、例えば画像処理装置３に予めインストールされているアプリケーションプログラム２１が記憶される。アプリケーションプログラム２１は、制御部１０のＣＰＵ１１によって実行されるプログラムである。このアプリケーションプログラム２１のバージョンは、適宜更新されることがある。また、記憶部２０には、履歴情報２２が記憶されている。履歴情報２２は、例えばユーザーによって設定された各設定項目の設定値を記録しておくための情報である。さらに、記憶部２０には、更新制御プログラム２３が予めインストールされている。この更新制御プログラム２３も、制御部１０のＣＰＵ１１によって実行されるプログラムである。
【００４９】
スキャナ部２５は、ユーザーによってセットされる原稿を光学的に読み取って画像データを生成するものである。例えば、画像処理装置３においてスキャンジョブ、コピージョブ又はＦＡＸ送信ジョブが実行されるとき、スキャナ部２５は、原稿を読み取り、画像データを生成する。
【００５０】
プリンタ部２６は、指定された画像データに基づく画像を印刷用紙などのシートに印刷して出力するものである。例えば、画像処理装置３において印刷ジョブ、コピージョブ又はＦＡＸ受信ジョブが実行されるとき、プリンタ部２６は、入力する画像データに基づいて印刷出力を行う。
【００５１】
ＦＡＸ部２７は、図示を省略する公衆電話網を介してＦＡＸデータの送受信を行うものである。
【００５２】
画像解析部２８は、入力する画像データに基づいて画像解析を行い、その解析結果を出力するものである。例えば、画像解析部２８は、入力画像に罫線が含まれる場合にその罫線の途切れや擦れなどを検知することができる。
【００５３】
課金処理部２９は、ジョブの実行に伴い、課金処理を行う処理部である。例えば、課金処理部２９は、ユーザーによって指定された印刷ジョブが実行されることに伴い、当該ユーザー又は当該ユーザーが所属する部署に対して印刷ジョブに応じた課金処理を行う。
【００５４】
図３は、制御部１０の機能構成の一例を示すブロック図である。図３に示すように、制御部１０は、ＣＰＵ１１がファームウェア１４を実行することにより、アプリケーション起動部３１、アプリケーション連携部３２及び履歴記録部３４として機能する。
【００５５】
アプリケーション起動部３１は、記憶部２０の所定の記憶領域２０ａに格納されているアプリケーションプログラム２１を読み出してＣＰＵ１１に実行させることにより、制御部１０においてアプリケーションを起動させる処理部である。図３の例では、制御部１０において第１のアプリケーション４１が起動した状態を示している。
【００５６】
制御部１０において第１のアプリケーション４１が起動すると、第１のアプリケーション４１は、例えばユーザーが操作可能な操作画面を生成する。このとき、第１のアプリケーション４１は、画像処理装置３に搭載されている複数の機能のうち、第１のアプリケーション４１が利用する特定の機能に応じた操作画面を生成する。例えば、操作画面は、特定の機能を動作させる際の各種設定項目に対してユーザーが所望の設定値を入力することができる画面構成を有している。そして第１のアプリケーション４１は、操作パネル１７の表示部１８に操作画面を表示し、操作入力部１９に対して行われるユーザーの操作を受け付ける。第１のアプリケーション４１は、ユーザーによる操作を受け付けると、ユーザーによって行われた操作内容を示す操作情報をアプリケーション連携部３２に対して出力する。
【００５７】
アプリケーション連携部３２は、制御部１０において起動されるアプリケーションと連携して各種の処理を行う処理部である。アプリケーション連携部３２は、ジョブ制御部３３を備えている。ジョブ制御部３３は、制御部１０において起動されるアプリケーションと連携してジョブの設定や実行などを制御するものである。図３に示すように、制御部１０において第１のアプリケーション４１が起動している場合、アプリケーション連携部３２は、第１のアプリケーション４１から出力される操作情報に基づいてジョブの設定を行う。
【００５８】
図４は、第１のアプリケーション４１とアプリケーション連携部３２との連携動作の一例を示す図である。第１のアプリケーション４１は、画像処理装置３の特定の機能を利用するため、アプリケーション連携部３２において設定可能な複数の設定項目Ａ，Ｂ，Ｃに対するユーザーの操作を受け付ける。ユーザーによって設定項目Ａに対して設定値ａ１が指定され、設定項目Ｂに対して設定値ｂ１が指定され、さらに設定項目Ｃに対して設定値ｃ１が指定された場合、第１のアプリケーション４１は、アプリケーション連携部３２に対して各設定項目Ａ，Ｂ，Ｃの設定値ａ１，ｂ１，ｃ１を出力する。そのため、アプリケーション連携部３２は、第１のアプリケーション４１を介して設定項目Ａ，Ｂ，Ｃのそれぞれに対して設定値ａ１，ｂ１，ｃ１を設定する。
【００５９】
そしてアプリケーション連携部３２は、第１のアプリケーション４１からジョブの実行開始が指示されると、第１のアプリケーション４１から指定された設定値ａ１，ｂ１，ｃ１を反映させた状態で、スキャナ部２５、プリンタ部２６及びＦＡＸ部２７のそれぞれを駆動させることにより、ユーザーによって指定されたジョブの実行を制御する。つまり、アプリケーション連携部３２は、第１のアプリケーション４１によって指定される設定値を反映させると共に、画像処理装置３の設定情報１５などで予め定められている条件下においてそれらの設定値を反映させた状態で第１のアプリケーション４１によって指定される処理を実行するのである。また、アプリケーション連携部３２は、ジョブの実行開始に伴い、必要に応じて画像解析部２８及び課金処理部２９のそれぞれを動作させる。
【００６０】
履歴記録部３４は、アプリケーション連携部３２によってジョブの実行が行われた場合にそのジョブの実行履歴を履歴情報２２に記録して保存する処理部である。図５は、履歴情報２２の一例を示す図である。例えば履歴情報２２には、ジョブを実行したユーザー名と、ジョブ実行時に使用されたアプリケーションと、アプリケーションによって各設定項目に設定された設定値と、操作日時とが記録される。履歴記録部３４は、画像処理装置３においてジョブが実行される度に、ユーザー名と、アプリケーションと、各設定項目の設定値と、操作日時とを履歴情報２２に記録する。このような履歴情報２２を参照すれば、画像処理装置３において起動されるアプリケーション（例えば第１のアプリケーション４１）を介してユーザーにより設定された各設定項目の設定値を特定することができる。
【００６１】
図３に戻り、制御部１０は、ＣＰＵ１１が記憶部２０に記憶されている更新制御プログラム２３を読み出して実行することにより、更新制御部５０として機能する。例えば、ＣＰＵ１１は、画像処理装置３に対する電源投入に伴ってファームウェア１４を起動した後、更新制御プログラム２３を自動的に読み出して実行する。そのため、更新制御部５０は、制御部１０に常駐する状態で起動される。この更新制御部５０は、画像処理装置３にインストールされているアプリケーションプログラム２１を新バージョンに更新し、新バージョンのアプリケーションが画像処理装置３において正常動作するか否かの動作確認を行う処理部である。
【００６２】
図６は、更新制御部５０の詳細な機能構成の一例を示すブロック図である。更新制御部５０は、更新処理部５１と、テストデータ取得部５２と、動作確認部５５とを備えている。
【００６３】
更新処理部５１は、記憶部２０に記憶されているアプリケーションプログラム２１を更新する処理部である。この更新処理部５１は、上述した手法でサーバー７に保存されているアプリケーションプログラム２１がバージョンアップされたか否かを検知する。そしてサーバー７に保存されているアプリケーションプログラム２１のバージョンが更新されていることを検知すると、更新処理部５１は、新バージョンのアプリケーションプログラム２１ｂを含む更新用プログラムをダウンロードし、その更新用プログラムを実行することで画像処理装置３に新バージョンのアプリケーションプログラム２１ｂをインストールする。このとき、更新処理部５１は、記憶部２０の所定の記憶領域２０ａにインストールされていた旧バージョンのアプリケーションプログラム２１ａを所定の記憶領域２０ａから別の記憶領域２０ｂに移動させる。そして所定の記憶領域２０ａを空き領域にした後、更新処理部５１は、新バージョンのアプリケーションプログラム２１ｂを所定の記憶領域２０ａへ保存する。所定の記憶領域２０ａは、ＣＰＵ１１の読み出し対象となるパスが予め設定された記憶領域である。そのため、新バージョンのアプリケーションプログラム２１ｂが所定の記憶領域２０ａに保存されると、ＣＰＵ１１による実行対象となるアプリケーションプログラム２１は、旧バージョンのアプリケーションプログラム２１ａから新バージョンのアプリケーションプログラム２１ｂに変更される。
【００６４】
テストデータ取得部５２及び動作確認部５５は、更新処理部５１によって新バージョンのアプリケーションプログラム２１ｂがダウンロードされ、所定の記憶領域２０ａに保存された場合に機能する。そしてテストデータ取得部５２及び動作確認部５５は、新バージョンのアプリケーションプログラム２１ｂが画像処理装置３において正常動作するか否かを検証する。
【００６５】
テストデータ取得部５２は、動作確認を行うためのテストデータを取得する処理部である。図６に示すテストデータ取得部５２は、設定値抽出部５３及びテストデータ生成部５４を備えている。設定値抽出部５３は、履歴情報２２を読み出し、履歴情報２２に記録されている各設定項目の設定値を抽出する処理部である。例えば、設定値抽出部５３は、履歴情報２２に記録されている各種設定項目のうちから、旧バージョンのアプリケーションプログラム２１ａに対応する第１のアプリケーション４１で設定された設定項目の設定値だけを抽出するようにしても良い。ただし、これに限られず、設定値抽出部５３は、履歴情報２２に記録されている各種設定項目の全ての設定値を抽出するようにしても良い。
【００６６】
また、設定値抽出部５３は、履歴情報２２に記録されている複数の設定値のうち、所定回数以上の使用履歴がある設定値を抽出するようにしても良い。例えば、同一の設定項目について複数種類の設定値が使用された履歴がある場合、設定値抽出部５３は、その設定項目について所定回数以上の使用履歴がある設定値を優先的に抽出するようにしても良い。この場合、ユーザーによる使用回数の多い設定値を用いてテストデータを生成することができるため、ユーザーの使用状況に適した動作確認を行うことができるという利点がある。
【００６７】
また、設定値抽出部５３は、履歴情報２２に記録されている複数の設定値のうち、所定期間内に記録された設定値を抽出するようにしても良い。例えば、同一の設定項目について複数種類の設定値が使用された履歴がある場合、設定値抽出部５３は、直近の１ヶ月間など所定期間内での使用履歴がある設定値を優先的に抽出するようにしても良い。この場合、ユーザーによって最近使用された設定値を用いてテストデータを生成することができるため、ユーザーの最近の使用状況に適した動作確認を行うことができるという利点がある。
【００６８】
また、設定値抽出部５３は、履歴情報２２に記録されている複数の設定値のうち、特定のユーザーによって設定された設定値を抽出するようにしても良い。例えば、同一の設定項目について複数種類の設定値が使用された履歴がある場合、設定値抽出部５３は、例えば管理者や部署代表者などの特定のユーザーによって設定された設定値を優先的に抽出するようにしても良い。この場合、全てのユーザーではなく、特定のユーザーによって使用された設定値だけを用いてテストデータを生成することができるため、動作確認を効率的に行うことができるという利点がある。
【００６９】
そしてテストデータ生成部５４は、設定値抽出部５３によって抽出された設定値に基づいて動作確認のためのテストデータを生成する。
【００７０】
図７は、設定値抽出部５３及びテストデータ生成部５４の動作の概念を示す図である。例えば、図７（ａ）に示すように、テストデータ生成部５４は、テスト項目情報５４ａを保持している。テスト項目情報５４ａは、アプリケーションによって利用される機能ごとにテスト項目が予め定められた情報である。そのため、テストデータ生成部５４は、アプリケーションの機能に基づいてテスト項目を特定することができる。そしてテストデータ生成部５４は、設定値抽出部５３によって履歴情報２２から複数の設定項目の設定値が抽出されると、それら複数の設定項目のうちからテスト項目に合致する設定項目の設定値に基づいてテストデータ５７を生成する。
【００７１】
図８は、テスト項目情報５４ａの一例を示す情報である。図８に示すように、テスト項目情報５４ａは、アプリケーションの機能（例えばプリント機能、スキャン機能、ＦＡＸ機能、通信機能、ブラウザ機能など）に応じて動作確認のためのテスト項目が定義された情報である。テストデータ生成部５４は、このようなテスト項目情報５４ａを参照することにより、新バージョンのアプリケーションプログラム２１ｂによって起動されるアプリケーションの機能に応じたテスト項目を特定し、その特定したテスト項目に対応する設定値に基づいてテストデータ５７を生成する。これにより、テストデータ５７は、ユーザーによって過去にジョブが実行された際に、そのジョブに反映された設定値を含むデータとして生成される。
【００７２】
また、図７（ｂ）に示すように、テストデータ生成部５４は、サーバー７からテスト済み情報６０を取得し、そのテスト済み情報６０に基づいてテストデータ５７を生成するようにしても良い。サーバー７には、新バージョンのアプリケーションプログラム２１ｂがリリースされる前に行われたテストに関するテスト済み情報６０が保存されていることがある。そのようなテスト済み情報６０には、テスト済みの設定値を示すテスト済み設定値６１と、新バージョンのアプリケーションプログラム２１ｂを起動させたときのファームウェアのバージョンを示すファームウェア情報６２とが含まれる。そのため、テストデータ生成部５４は、制御部１０において起動されるファームウェア１４のバージョンと、リリース前に行われたテスト時のファームウェアのバージョンとが一致するのであれば、テスト済み設定値６１と同じ設定値をテストする必要がないと判断し、テスト済み設定値６１と同じ設定項目をテスト項目から除外してテストデータ５７を生成するようにしても良い。すなわち、テストデータ生成部５４は、設定値抽出部５３によって抽出される設定値と、テスト済み設定値６１との差分をとり、その差分に基づいてテストデータ５７を生成するようにしても良い。
【００７３】
また、テストデータ生成部５４は、設定値抽出部５３によって抽出される設定値が特定のサーバーにアクセスするためのユーザーアカウント情報を含む場合、アクセス先のサーバーを特定のサーバーからテスト用のサーバー８に書き換えると共に、ユーザーアカウント情報をテスト用アカウント情報に書き換えるようにしても良い。例えば、特定のサーバーがユーザーからのアクセスに応じた課金処理を行う場合、動作確認のために画像処理装置３が自動的に特定のサーバーにアクセスしてしまうと、ユーザーの意図しない課金処理が行われてしまう可能性がある。そのような事態を防止するため、テストデータ生成部５４は、動作確認のためのアクセス先をテスト用のサーバー８に書き換えると共に、ユーザーアカウント情報をテスト用アカウント情報に書き換えるのである。これにより、動作確認時に画像処理装置３がアクセスするサーバーをテスト用のサーバー８に切り替えることができる。
【００７４】
また、設定値抽出部５３によって抽出される設定値に、外部装置（情報機器５、サーバー７，８を含む）へ送信する画像データの指定が含まれている場合、テストデータ生成部５４は、テストデータ５７を生成するとき、その指定された画像データのデータ量と同等のダミーデータを生成し、外部装置へ送信するデータとして、そのダミーデータを指定した設定値に書き換える。これにより、例えば画像データに機密情報が含まれている場合であっても、動作確認時に機密情報を含む画像データが外部装置へ送信されてしまうことを防止することができるようになる。また、実際の画像データを外部装置へ送信しなくても、その画像データとデータ量が同等であるダミーデータを外部装置へ送信することで、動作確認時に実際の画像データを送信する場合と同様の通信負荷テストを行うことができるようになる。
【００７５】
テストデータ取得部５２は、上記のようにしてテストデータ生成部５４によって生成されるテストデータ５７を取得する。そしてテストデータ取得部５２は、テストデータ５７を動作確認部５５に対して出力する。尚、テストデータ取得部５２は、上記のように自身でテストデータ５７を生成するものに限られない。例えば、テストデータ取得部５２は、記憶部２０から履歴情報２２を読み出し、その履歴情報２２をサーバー７又はサーバー８へ送信することによってテストデータ５７の生成を要求し、サーバー７又はサーバー８で生成されるテストデータ５７を取得するようにしても良い。
【００７６】
動作確認部５５は、新バージョンのアプリケーションプログラム２１ｂを起動させ、テストデータ取得部５２によって取得されたテストデータ５７を用いて新バージョンのアプリケーションプログラム２１ｂが正常に動作するか否かの動作確認を行う。図９は、動作確認部５５による動作確認の概念を示す図である。動作確認部５５は、まず、制御部１０のＣＰＵ１１に、所定の記憶領域２０ａに記憶されている新バージョンのアプリケーションプログラム２１ｂを実行させる。これにより、制御部１０において新バージョンのアプリケーション４２が起動する。制御部１０において第２のアプリケーション４２が起動すると、動作確認部５５は、テストデータ５７を第２のアプリケーション４２に投入し、第２のアプリケーション４２が画像処理装置３において正常動作するか否かを検証する。
【００７７】
例えば、動作確認部５５は、第２のアプリケーション４２において設定可能な各設定項目に対してテストデータ５７に含まれる設定値を設定させ、その設定値が第２のアプリケーション４２からアプリケーション連携部３２に対して正常に設定されるか否かを検証する。第２のアプリケーション４２が動作可能なファームウェアのバージョンと、画像処理装置３にインストールされているファームウェア１４のバージョンとが異なる場合、アプリケーション連携部３２は、第２のアプリケーション４２から出力される設定値を正常に反映させることができず、第２のアプリケーション４２又はアプリケーション連携部３２においてエラーが発生する可能性がある。また、第２のアプリケーション４２がネットワーク６を介して外部装置と通信を行う際、画像処理装置３のネットワーク設定に適合しない形態で通信を行うと、正常に通信を行うことができず、第２のアプリケーション４２又はアプリケーション連携部３２においてエラーが発生する。動作確認部５５は、第２のアプリケーション４２に対してテストデータ５７を投入することに伴い、第２のアプリケーション４２又はアプリケーション連携部３２においてエラーが発生するか否かを検証する。
【００７８】
また、第２のアプリケーション４２が画像処理装置３にジョブを実行させる機能を有している場合、動作確認部５５は、第２のアプリケーション４２にテストデータ５７を入力し、アプリケーション連携部３２を介してジョブの実行を行わせる。このとき、動作確認部５５は、アプリケーション連携部３２に対して実際にスキャナ部２５、プリンタ部２６又はＦＡＸ部２７を動作させることを許可し、ジョブが実際に行われるようにしても良い。第２のアプリケーション４２が画像処理装置３の動作条件に合致しない条件でジョブを実行させようとすると、エラーが発生することがある。そのため、動作確認部５５は、第２のアプリケーション４２を介してジョブを実行させることに伴い、エラーが発生するか否かを検証する。
【００７９】
また、第２のアプリケーション４２がアプリケーション連携部３２を介してプリンタ部２６に印刷出力を行わせる機能を有している場合、動作確認部５５は、第２のアプリケーション４２にテストデータ５７を入力し、アプリケーション連携部３２を介してプリンタ部２６にテスト印刷を行わせるようにしても良い。動作確認中に印刷出力が行われる場合、第２のアプリケーション４２及びアプリケーション連携部３２においてエラーが発生することなく、ジョブの実行が正常に終了しても、出力される印刷物に画像不良が生じることがある。そのため、動作確認部５５は、動作確認中に、プリンタ部２６によってテスト印刷が行われた場合、管理者などの特定のユーザーに対してテスト印刷を行ったことを通知する。この通知は、例えば、特定のユーザーの電子メールアドレスに対して電子メールを送信することにより行われる。このような通知により、特定のユーザーは、画像処理装置３においてテスト印刷が行われたことを把握し、画像処理装置３の設置場所まで移動してテスト印刷によって出力された印刷物を確認する。そして印刷物において画像不良が生じていない場合、特定のユーザーは、操作パネル１７を介して正常な印刷物が出力されたことを入力する。また、印刷物において画像不良が生じている場合、特定のユーザーは、操作パネル１７を介して正常な印刷物が出力されていないことを入力する。動作確認部５５は、そのような特定のユーザーの指示に基づいて第２のアプリケーション４２及びアプリケーション連携部３２のそれぞれが正常に動作したか否かを判断する。
【００８０】
また、動作確認部５５は、テスト印刷が行われるとき、アプリケーション連携部３２に対してシートの所定位置にテスト印刷であることを示す情報を印刷させるように制御する。所定位置は、シートの裏面であっても良いし、シートの表面の隅であっても良い。テスト印刷であることを示す情報を印刷しておくことにより、特定のユーザーとは異なるユーザーが画像処理装置３から出力された印刷物を取得した場合でも、テスト印刷による印刷物であることを把握することができるようになる。
【００８１】
また、動作確認部５５は、テスト印刷が行われる場合、課金処理部２９に課金処理を行わせないようにする。つまり、テスト印刷は、第２のアプリケーション４２の動作確認のために行われる印刷出力であるため、テスト印刷によって特定のユーザー又は特定の部署に対する課金が行われないようにするのである。
【００８２】
また、第２のアプリケーション４２がアプリケーション連携部３２を介してプリンタ部２６に印刷出力を行わせる機能を有している場合であっても、動作確認部５５は、第２のアプリケーション４２にテストデータ５７を入力してアプリケーション連携部３２を動作させるとき、プリンタ部２６にテスト印刷を行わせず、アプリケーション連携部３２に出力イメージ画像を生成させ、その出力イメージ画像を予め指定された出力先へ出力させるようにしても良い。出力イメージ画像の出力先として、例えば操作パネル１７の表示部１８を指定しておくことにより、画像処理装置３に印刷出力を行わせることなく、ユーザーに出力イメージ画像を確認してもらうことができる。この場合、動作確認部５５は、操作パネル１７の操作入力部１９に対して行われるユーザーの入力情報に基づき、第２のアプリケーション４２及びアプリケーション連携部３２のそれぞれが正常に動作しているか否かを判断することができる。
【００８３】
また、出力イメージ画像の出力先として、例えば管理者などの特定のユーザーが使用する情報機器５を予め指定しておいても良い。この場合、動作確認部５５は、画像処理装置３に印刷出力を行わせることなく、特定のユーザーに出力イメージ画像を確認させることができる。そして動作確認部５５は、情報機器５から受信する情報に基づいて第２のアプリケーション４２及びアプリケーション連携部３２のそれぞれが正常に動作しているか否かを判断することができる。
【００８４】
また、出力イメージ画像の出力先として、画像解析部２８を予め指定しておいても良い。この場合、動作確認部５５は、アプリケーション連携部３２に対して出力イメージ画像を画像解析部２８へ出力するように指示し、画像解析部２８に出力イメージ画像の解析を要求する。これに伴い、画像解析部２８は、アプリケーション連携部３２から取得する出力イメージ画像を解析し、出力イメージ画像に罫線が含まれている場合にその罫線の途切れや擦れなどを検知する処理を行う。そして画像解析部２８は、その解析結果を、動作確認部５５へ出力する。動作確認部５５は、画像解析部２８から取得する解析結果に基づき、第２のアプリケーション４２及びアプリケーション連携部３２のそれぞれが正常に動作しているか否かを判断することができる。このような画像解析部２８による解析は、例えば、第２のアプリケーション４２が所定のテンプレート画像に一又は複数の画像を合成して印刷出力を行うような場合に自動で合成不良を検知することができるという点で特に有効である。
【００８５】
動作確認部５５は、上記のようにテストデータ５７を用いて第２のアプリケーション４２を動作させることにより、第２のアプリケーション４２及びアプリケーション連携部３２のそれぞれが画像処理装置３の設定情報１５などで予め定められている条件下において正常に動作するか否かを判断する。その結果、第２のアプリケーション４２及びアプリケーション連携部３２のそれぞれが正常動作した場合、動作確認部５５は、画像処理装置３において第２のアプリケーション４２を利用可能であると判断する。
【００８６】
動作確認部５５は、画像処理装置３において第２のアプリケーション４２を利用可能であると判断した場合、別の記憶領域２０ｂに保存しておいた旧バージョンのアプリケーションプログラム２１ａを削除する。つまり、動作確認部５５は、新バージョンのアプリケーション４２を旧バージョンのアプリケーション４１に戻す必要がないため、旧バージョンのアプリケーションプログラム２１ａを削除するのである。
【００８７】
また、動作確認部５５は、画像処理装置３において第２のアプリケーション４２を利用可能であると判断した場合、ネットワーク６を介して接続されている他の画像処理装置３に対して動作確認不要であることを通知するようにしても良い。これにより、他の画像処理装置３において新バージョンのアプリケーションプログラム２１ｂがインストールされたときには、他の画像処理装置３において動作確認を行う必要がなくなるという利点がある。
【００８８】
一方、動作確認中において第２のアプリケーション４２及びアプリケーション連携部３２の少なくとも一方が正常動作しないことを確認した場合、動作確認部５５は、更新処理部５１に対して第２のアプリケーションが利用できないことを通知する。更新処理部５１は、この通知を受けると、記憶部２０のアプリケーションプログラム２１を更新前の状態に戻す。すなわち、更新処理部５１は、所定の記憶領域２０ａから新バージョンのアプリケーションプログラム２１ｂを削除し、別の記憶領域２０ｂに保存しておいた旧バージョンのアプリケーションプログラム２１ａを所定の記憶領域２０ａに戻すのである。これにより、画像処理装置３は、制御部１０において第１のアプリケーション４１が起動する状態に戻る。そのため、ユーザーは第１のアプリケーション４１を利用してジョブの設定や実行などを継続して行うことができる。
【００８９】
また、動作確認部５５は、動作確認中において第２のアプリケーション４２及びアプリケーション連携部３２の少なくとも一方が正常動作しないことを確認した場合、管理者などの特定のユーザーに対し、設定情報１５などで定められている画像処理装置３の動作条件の変更を促す通知を行うようにしても良い。例えば、この通知は、特定のユーザーの電子メールアドレスに対して電子メールを送信することによって行われるものであっても良いし、また操作パネル１７の表示部１８に所定の通知画面を表示することによって行われるものであっても良い。そして特定のユーザーによって設定情報１５が変更されれば、画像処理装置３の動作条件が変わるため、第２のアプリケーション４２を利用することができるようになる。
【００９０】
次に更新制御部５０によって行われる第１の処理手順について説明する。図１０乃至図１３は、更新制御部５０によって行われる第１の処理手順を示すフローチャートである。この第１の処理手順では、動作確認時にテスト印刷を行う手順を例示している。更新制御部５０は、この処理を開始すると、図１０に示すように、サーバー７に保持されているアプリケーションプログラム２１のバージョンが更新されているか否かを判断する（ステップＳ１０）。例えば、サーバー７に保持されているアプリケーションプログラム２１のバージョンが更新されていると、サーバー７には、新バージョンのアプリケーションプログラム２１ｂをダウンロードしてインストールするための更新用プログラムが記憶されている。更新制御部５０は、そのような更新用プログラムが存在するか否かを確認することで、新バージョンのアプリケーションプログラム２１ｂが提供されているか否かを判断する。
【００９１】
サーバー７に更新用プログラムが記憶されている場合（ステップＳ１０でＹＥＳ）、更新制御部５０は、その更新用プログラムをサーバー７からダウンロードする（ステップＳ１１）。そして更新制御部５０は、旧バージョンのアプリケーションプログラム２１ａを所定の記憶領域２０ａから別の記憶領域２０ｂへ保存し（ステップＳ１２）、更新用プログラムの実行を開始して（ステップＳ１３）、新バージョンのアプリケーションプログラム２１ｂを所定の記憶領域２０ａに保存する（ステップＳ１４）。
【００９２】
続いて更新制御部５０は、他の画像処理装置３から新バージョンのアプリケーションプログラム２１ｂに関する動作確認不要通知を受信しているか否かを判断する（ステップＳ１５）。他の画像処理装置３から動作確認不要通知を受信している場合（ステップＳ１５でＹＥＳ）、新バージョンのアプリケーションプログラム２１ｂが正常動作することが他の画像処理装置３において既に検証されていることになる。そのため、更新制御部５０は、自機において動作確認を行う必要がないと判断する。この場合、更新制御部５０は、別の記憶領域２０ｂへ保存した旧バージョンのアプリケーションプログラム２１ａを削除し（ステップＳ１６）、処理を終了させる。
【００９３】
これに対し、動作確認不要通知を受信していない場合（ステップＳ１５でＮＯ）、更新制御部５０は、新バージョンのアプリケーションプログラム２１ｂの動作確認を行うためにステップＳ１７以降の処理を開始する。更新制御部５０は、動作確認のための処理を開始すると、まずテストデータ生成処理を実行する（ステップＳ１７）。
【００９４】
図１１は、テストデータ生成処理（ステップＳ１７）の詳細な処理手順の一例を示すフローチャートである。更新制御部５０は、この処理を開始すると、履歴情報２２を読み出し（ステップＳ３０）、その履歴情報２２に記録されている各設定項目の設定値を抽出するための設定値抽出処理を行う（ステップＳ３１）。
【００９５】
図１２は、その設定値抽出処理（ステップＳ３１）の詳細な処理手順の一例を示すフローチャートである。更新制御部５０は、設定値抽出処理を開始すると、設定値の抽出対象ユーザーとして特定のユーザーのみが対象となっているか否かを判断する（ステップＳ５０）。特定のユーザーのみが対象となっている場合（ステップＳ５０でＹＥＳ）、更新制御部５０は、履歴情報２２から特定のユーザーの履歴情報（設定値）を抽出する（ステップＳ５１）。また、特定のユーザーのみが対象となっていない場合（ステップＳ５０でＮＯ）、更新制御部５０は、履歴情報２２から全てのユーザーの履歴情報（設定値）を抽出する（ステップＳ５２）。
【００９６】
次に更新制御部５０は、所定回数以上の使用履歴がある設定値が抽出対象であるか否かを判断する（ステップＳ５３）。所定回数以上の使用履歴がある設定値が抽出対象である場合（ステップＳ５３でＹＥＳ）、更新制御部５０は、ステップＳ５１又はＳ５２で抽出された設定値のうちから、所定回数以上の使用履歴がある設定値をテストデータ５７の候補として抽出する（ステップＳ５４）。また、所定回数以上の使用履歴がある設定値が抽出対象でない場合（ステップＳ５３でＮＯ）、更新制御部５０は、所定期間内に記録された設定値が抽出対象であるか否かを判断する（ステップＳ５５）。所定期間内に記録された設定値が抽出対象である場合（ステップＳ５５でＹＥＳ）、更新制御部５０は、ステップＳ５１又はＳ５２で抽出された設定値のうちから、所定期間内に使用された設定値をテストデータ５７の候補として抽出する（ステップＳ５６）。これに対し、所定期間内に記録された設定値が抽出対象でない場合（ステップＳ５５でＮＯ）、更新制御部５０は、ステップＳ５１又はＳ５２で抽出された全ての設定値をテストデータ５７の候補として抽出する（ステップＳ５７）。
【００９７】
次に更新制御部５０は、サーバー７にテスト済み情報６０が保存されているか否かを判断する（ステップＳ５８）。サーバー７にテスト済み情報６０が保存されている場合（ステップＳ５８でＹＥＳ）、更新制御部５０は、そのテスト済み情報６０をサーバー７から取得し（ステップＳ５９）、テストデータ５７の候補として抽出した設定値と、テスト済み情報６０に含まれるテスト済み設定値６１との差分をとり、その差分に含まれる設定値をテストデータ５７の候補として抽出する（ステップＳ６０）。尚、サーバー７にテスト済み情報６０が保存されていない場合（ステップＳ５８でＮＯ）、ステップＳ５９，Ｓ６０の処理はスキップする。また、テスト済み情報６０のファームウェア情報６２に記録されているファームウェアのバージョンと、制御部１０のファームウェア１４のバージョンとが一致しない場合にも、ステップＳ５９，Ｓ６０の処理はスキップする。以上のようにして履歴情報２２に記録されている設定値の中から、テストデータ５７の候補となる設定値が抽出される。
【００９８】
図１１に戻り、更新制御部５０は、設定値抽出処理（ステップＳ３１）を終了すると、次に新バージョンのアプリケーションプログラム２１ｂによって起動される第２のアプリケーション４２の機能を特定し（ステップＳ３２）、テスト項目情報５４ａを参照する（ステップＳ３３）。そして更新制御部５０は、第２のアプリケーション４２の機能とテスト項目情報５４ａとに基づき、動作確認を行う際のテスト項目を特定する（ステップＳ３４）。さらに更新制御部５０は、設定値抽出処理（ステップＳ３１）で抽出された設定値のうちから、テスト項目に合致する設定項目の設定値を抽出し、テストデータ５７を生成する（ステップＳ３５）。
【００９９】
次に更新制御部５０は、テストデータ５７の設定値に、特定のサーバーへアクセスするためのユーザーアカウント情報が含まれるか否かを判断する（ステップＳ３６）。特定のサーバーへアクセスするためのユーザーアカウント情報が含まれる場合（ステップＳ３６でＹＥＳ）、更新制御部５０は、アクセス先を特定のサーバーからテスト用のサーバー８に書き換え（ステップＳ３７）、さらにユーザーアカウント情報をテスト用アカウント情報に書き換える（ステップＳ３８）。尚、テストデータ５７の設定値に、ユーザーアカウント情報が含まれない場合（ステップＳ３６でＮＯ）、ステップＳ３７，Ｓ３８の処理はスキップする。
【０１００】
次に更新制御部５０は、テストデータ５７の設定値に、外部装置へ送信する画像データの指定が含まれているか否かを判断する（ステップＳ３９）。画像データの指定が含まれている場合（ステップＳ３９でＹＥＳ）、更新制御部５０は、指定されている画像データのデータ量と同等のダミーデータを生成し（ステップＳ４０）、外部装置へ送信するデータをダミーデータに差し替える（ステップＳ４１）。尚、テストデータ５７の設定値に、画像データの指定が含まれない場合（ステップＳ３９でＮＯ）、ステップＳ４０，Ｓ４１の処理はスキップする。以上で、テストデータ生成処理（ステップＳ１７）が終了する。
【０１０１】
図１０のフローチャートに戻り、更新制御部５０は、テストデータ生成処理（ステップＳ１７）を終了すると、制御部１０のＣＰＵ１１に新バージョンのアプリケーションプログラム２１ｂを実行させ、第２のアプリケーション４２を起動させる（ステップＳ１８）。そして更新制御部５０は、動作確認処理を開始する（ステップＳ１９）。
【０１０２】
図１３は、動作確認処理（ステップＳ１９）の詳細な処理手順の一例を示すフローチャートである。更新制御部５０は、動作確認処理を開始すると、テスト印刷の対象となるデータに対してテスト印刷情報を付加する（ステップＳ７０）。そして更新制御部５０は、テスト印刷に伴う課金処理が行われないようにするため、課金処理部２９に対する課金禁止設定を行う（ステップＳ７１）。そして更新制御部５０は、第２のアプリケーション４２に対してテストデータ５７を投入し（ステップＳ７２）、第２のアプリケーション４２をテストデータ５７に基づいて動作させることにより動作確認を開始する（ステップＳ７３）。
【０１０３】
動作確認を開始すると、更新制御部５０は、テスト印刷のための印刷出力が完了したか否かを判断する（ステップＳ７４）。印刷出力が完了していない場合（ステップＳ７４でＮＯ）、更新制御部５０は、エラー発生などの動作不良を検知したか否かを判断する（ステップＳ７５）。更新制御部５０は、動作確認中にエラー発生などの動作不良を検知した場合（ステップＳ７５でＹＥＳ）、動作確認処理を終了する。また、動作不良を検知することなく、印刷出力が完了した場合（ステップＳ７４でＹＥＳ）、更新制御部５０は、管理者などの特定のユーザーに対してテスト印刷が完了したことを通知する（ステップＳ７６）。その後、更新制御部５０は、特定のユーザーからの指示があるまで待機し（ステップＳ７７）、特定のユーザーからの指示を検知すると、動作確認処理を終了する。
【０１０４】
図１４は、テスト印刷で出力される印刷物Ｄ１の一例を示す図である。印刷物Ｄ１には、シートの所定位置に、テスト印刷情報に応じたメッセージＭ１が付加されている。そのため、特定のユーザーは、画像処理装置３において複数の印刷物が出力されている場合であっても、テスト印刷によって出力された印刷物Ｄ１を識別することができ、テスト印刷が正常に行われているか否かを判別することが可能である。尚、印刷物Ｄ１は、シートの表面にメッセージＭ１を印刷したものに限られず、シートの裏面に印刷されたものであっても構わない。また、メッセージＭ１は、確認後に破棄すべきであることを示すメッセージを含むことにより、特定のユーザーに確認後速やかに破棄すべきであることを伝えることができる。
【０１０５】
図１０に戻り、動作確認処理（ステップＳ１９）が終了すると、更新制御部５０は、動作確認中において第２のアプリケーション４２及びアプリケーション連携部３２のそれぞれが正常に動作したか否かを判断する（ステップＳ２０）。例えば、動作確認中にテスト印刷が完了した場合、更新制御部５０は、特定のユーザーによって入力された指示に基づき、正常な印刷出力が行われたか否かを判断する。第２のアプリケーション４２及びアプリケーション連携部３２のそれぞれが正常に動作した場合（ステップＳ２０でＹＥＳ）、更新制御部５０は、別の記憶領域２０ｂに保存した旧バージョンのアプリケーションプログラム２１ａを削除し（ステップＳ２１）、他の画像処理装置３に対して動作確認不要通知を送信する（ステップＳ２２）。
【０１０６】
これに対し、第２のアプリケーション４２及びアプリケーション連携部３２のいずれかが正常に動作していないと判断した場合（ステップＳ２０でＮＯ）、更新制御部５０は、旧バージョンのアプリケーションプログラム２１ａを復元する処理を行う（ステップＳ２３）。すなわち、更新制御部５０は、所定の記憶領域２０ａに保存した新バージョンのアプリケーションプログラム２１ｂを削除し、別の記憶領域２０ｂに保存している旧バージョンのアプリケーションプログラム２１ａを所定の記憶領域２０ａに戻すことにより、旧バージョンである第１のアプリケーション４１を起動できる状態に戻す。そして更新制御部５０は、管理者などの特定のユーザーに対し、設定情報１５など定められている画像処理装置３の動作条件の変更を促す通知を行う（ステップＳ２４）。以上で、第１の処理手順が終了する。
【０１０７】
次に更新制御部５０によって行われる第２の処理手順について説明する。この第２の処理手順では、テスト印刷を行わず、出力イメージ画像を生成して特定のユーザーに出力イメージ画像を確認してもらう手順を例示する。第２の処理手順が第１の処理手順と異なる点は、動作確認処理（ステップＳ１９）の詳細な処理手順である。そのため、以下においては、動作確認処理（ステップＳ１９）の詳細について説明する。
【０１０８】
図１５は、第２の処理手順における動作確認処理（ステップＳ１９）の詳細な処理手順の一例を示すフローチャートである。更新制御部５０は、この動作確認処理を開始すると、アプリケーション連携部３２に対して出力イメージ画像の生成を指示する（ステップＳ８０）。これにより、アプリケーション連携部３２は、第２のアプリケーション４２から入力する印刷対象データに基づいて出力イメージ画像を生成するようになる。そして更新制御部５０は、第２のアプリケーション４２に対してテストデータ５７を投入し（ステップＳ８１）、第２のアプリケーション４２をテストデータ５７に基づいて動作させることにより動作確認を開始する（ステップＳ８２）。
【０１０９】
動作確認を開始すると、更新制御部５０は、アプリケーション連携部３２によって出力イメージ画像の生成処理が完了したか否かを判断する（ステップＳ８３）。出力イメージ画像の生成が完了していない場合（ステップＳ８３でＮＯ）、更新制御部５０は、エラー発生などの動作不良を検知したか否かを判断する（ステップＳ８４）。更新制御部５０は、動作確認中にエラー発生などの動作不良を検知した場合（ステップＳ８４でＹＥＳ）、動作確認処理を終了する。また、動作不良を検知することなく、出力イメージ画像の生成が完了した場合（ステップＳ８３でＹＥＳ）、更新制御部５０は、管理者などの特定のユーザーに対して出力イメージ画像を送信する（ステップＳ８５）。これにより、管理者は、自身の情報機器５で出力イメージ画像を確認することができるようになる。その後、更新制御部５０は、特定のユーザーからの指示があるまで待機し（ステップＳ８６）、特定のユーザーからの指示を検知すると、動作確認処理を終了する。このように更新制御部５０は、テスト印刷を行うことなく、出力イメージ画像を特定のユーザーに送信することで、動作確認中に、印刷用紙などのシートが消費されてしまうことを防止することができるという利点がある。
【０１１０】
次に更新制御部５０によって行われる第３の処理手順について説明する。この第３の処理手順では、テスト印刷を行わず、出力イメージ画像を生成して画像解析部２８へ出力する手順を例示する。第３の処理手順が第１の処理手順と異なる点は、動作確認処理（ステップＳ１９）の詳細な処理手順である。そのため、以下においては、動作確認処理（ステップＳ１９）の詳細について説明する。
【０１１１】
図１６は、第３の処理手順における動作確認処理（ステップＳ１９）の詳細な処理手順の一例を示すフローチャートである。更新制御部５０は、この動作確認処理を開始すると、アプリケーション連携部３２に対して出力イメージ画像の生成を指示する（ステップＳ９０）。これにより、アプリケーション連携部３２は、第２のアプリケーション４２から入力する印刷対象データに基づいて出力イメージ画像を生成するようになる。そして更新制御部５０は、第２のアプリケーション４２に対してテストデータ５７を投入し（ステップＳ９１）、第２のアプリケーション４２をテストデータ５７に基づいて動作させることにより動作確認を開始する（ステップＳ９２）。
【０１１２】
動作確認を開始すると、更新制御部５０は、アプリケーション連携部３２によって出力イメージ画像の生成処理が完了したか否かを判断する（ステップＳ９３）。出力イメージ画像の生成が完了していない場合（ステップＳ９３でＮＯ）、更新制御部５０は、エラー発生などの動作不良を検知したか否かを判断する（ステップＳ９４）。更新制御部５０は、動作確認中にエラー発生などの動作不良を検知した場合（ステップＳ９４でＹＥＳ）、動作確認処理を終了する。また、動作不良を検知することなく、出力イメージ画像の生成が完了した場合（ステップＳ９３でＹＥＳ）、更新制御部５０は、アプリケーション連携部３２において生成された出力イメージ画像を画像解析部２８へ出力し、画像解析部２８に画像解析を依頼する（ステップＳ９５）。これにより、画像解析部２８は、出力イメージ画像に含まれる罫線に途切れや擦れなどが生じていないかどうかを解析し、途切れや擦れなどが生じている場合に画像不良と判断する。そして画像解析部２８は、出力イメージ画像の解析結果を更新制御部５０に対して出力する。更新制御部５０は、画像解析部２８に対して画像解析を依頼した後、画像解析部２８から解析結果を取得するまで待機し（ステップＳ９６）、解析結果を取得すると（ステップＳ９６でＹＥＳ）、動作確認処理を終了する。このように更新制御部５０は、テスト印刷を行うことなく、出力イメージ画像を画像解析部２８に解析させることで、動作確認中に印刷用紙などのシートが消費されてしまうことを防止することができると共に、特定のユーザーを煩わせることなく動作確認を行うことができるという利点がある。
【０１１３】
次に更新制御部５０によって行われる第４の処理手順について説明する。この第４の処理手順では、第２のアプリケーション４２のブラウザ機能を動作確認するための手順を例示する。この第４の処理手順が第１の処理手順と異なる点は、動作確認処理（ステップＳ１９）の詳細な処理手順である。そのため、以下においては、動作確認処理（ステップＳ１９）の詳細について説明する。
【０１１４】
図１７は、第４の処理手順における動作確認処理（ステップＳ１９）の詳細な処理手順の一例を示すフローチャートである。更新制御部５０は、この動作確認処理を開始すると、第２のアプリケーション４２に対してテストデータ５７を投入し（ステップＳ１００）、第２のアプリケーション４２をテストデータ５７に基づいて動作させることにより第２のアプリケーション４２の動作確認を開始する（ステップＳ１０１）。これにより、第２のアプリケーション４２は、テストデータ５７で定められたＵＲＬ（Uniform Resource Locator）にアクセスし、Ｗｅｂページを取得して操作パネル１７の表示部１８に表示する処理を開始する。更新制御部５０は、動作確認を開始すると、第２のアプリケーション４２によるブラウザ表示が完了したか否かを判断する（ステップＳ１０２）。ブラウザ表示が完了していない場合（ステップＳ１０２でＮＯ）、更新制御部５０は、通信不良などの動作不良を検知したか否かを判断する（ステップＳ１０３）。更新制御部５０は、動作確認中に通信不良などの動作不良を検知した場合（ステップＳ１０３でＹＥＳ）、動作確認処理を終了する。また、動作不良を検知することなく、第２のアプリケーション４２によるブラウザ表示が完了した場合（ステップＳ１０２でＹＥＳ）、更新制御部５０は、表示部１８におけるＷｅｂページの表示状態を記憶する（ステップＳ１０４）。
【０１１５】
次に更新制御部５０は、制御部１０のＣＰＵ１１に別の記憶領域２０ｂに保存しているアプリケーションプログラム２１ａを実行させ、制御部１０において第１のアプリケーション４１を起動させる（ステップＳ１０５）。そして更新制御部５０は、第１のアプリケーション４１に対してテストデータ５７を投入し（ステップＳ１０６）、第１のアプリケーション４１をテストデータ５７に基づいて動作させることにより第１のアプリケーション４１の動作確認を開始する（ステップＳ１０７）。これにより、第１のアプリケーション４１は、テストデータ５７で定められたＵＲＬ（Uniform Resource Locator）にアクセスし、Ｗｅｂページを取得して操作パネル１７の表示部１８に表示する処理を開始する。更新制御部５０は、動作確認を開始すると、第１のアプリケーション４１によるブラウザ表示が完了するまで待機し（ステップＳ１０８）、ブラウザ表示が完了すると（ステップＳ１０８でＹＥＳ）、表示部１８におけるＷｅｂページの表示状態を記憶する（ステップＳ１０９）。
【０１１６】
次に更新制御部５０は、第２のアプリケーション４２によるＷｅｂページの表示状態と、第１のアプリケーション４１による同じＷｅｂページの表示状態とを比較し（ステップＳ１１１）、第１のアプリケーション４１によって表示されている画像の中に、第２のアプリケーション４２によって表示されていない画像があるか否かを判断する（ステップＳ１１２）。その結果、第２のアプリケーション４２では表示されない画像の存在を検知すると（ステップＳ１１２でＹＥＳ）、更新制御部５０は、第２のアプリケーション４２の動作不良と判断する（ステップＳ１１３）。これに対し、第２のアプリケーション４２で表示されない画像が存在しない場合（ステップＳ１１２でＮＯ）、更新制御部５０は、第２のアプリケーション４２が正常動作していると判断する（ステップＳ１１４）。以上で、動作確認処理が終了する。
【０１１７】
図１８は、ブラウザ機能に関する動作確認の概要を示す図である。図１８（ａ）は、第１のアプリケーション４１のブラウザ機能によって表示部１８に表示されるブラウザ画面を例示しており、図１８（ｂ）は、第２のアプリケーション４２のブラウザ機能によって表示部１８に表示されるブラウザ画面を例示している。例えば図１８（ａ）に示すように、旧バージョンである第１のアプリケーション４１は、Ｗｅｂページのコンテンツ表示領域Ｒ１に含まれる画像を正常に表示することができる。これに対し、新バージョンである第２のアプリケーション４２は、同じＷｅｂページのコンテンツ表示領域Ｒ１に含まれる画像を正常に表示することができていない。このような場合、２つの表示状態を比較すると、第２のアプリケーション４２によって表示されるブラウザ画面では、第１のアプリケーション４１によって表示されていた画像が正常に表示されていないことになる。したがって、この場合には、更新制御部５０が第２のアプリケーション４２の動作不良と判断することになる。更新制御部５０によって第２のアプリケーション４２が動作不良であると判断されると、画像処理装置３において起動されるアプリケーションが旧バージョンの第１のアプリケーション４１に戻るため、ユーザーは、旧バージョンの第１のアプリケーション４１を利用して従前通りにＷｅｂページを閲覧することができる。
【０１１８】
以上のように本実施形態の画像処理装置３は、アプリケーションプログラム２１を記憶する記憶部２０と、記憶部２０に記憶されているアプリケーションプログラム２１を実行することによって第１のアプリケーション４１を起動するアプリケーション起動部３１と、アプリケーション起動部３１によって第１のアプリケーション４１が起動されている状態で第１のアプリケーション４１によって指定される設定値を反映させると共に、予め定められた条件下においてその設定値を反映させた状態で第１のアプリケーション４１によって指定される処理を実行するアプリケーション連携部３２と、アプリケーション連携部３２によって処理が実行されることに伴い、設定値を履歴情報２２として記録する履歴記録部３４と、アプリケーションプログラム２１の更新用プログラムを取得し、その更新用プログラムを実行することによってアプリケーションプログラム２１を更新する更新処理部５１と、更新処理部５１によってアプリケーションプログラム２１が更新された場合に、履歴情報２２に記録されている設定値に基づいて生成されるテストデータ５７を取得するテストデータ取得部５２と、更新処理部５１によってアプリケーションプログラム２１が更新された場合に、アプリケーション起動部３１にアプリケーションプログラム２１を実行させることによって第２のアプリケーション４２を起動させ、第２のアプリケーション４２にテストデータ５７を入力して第２のアプリケーション４２及びアプリケーション連携部３２のそれぞれが予め定められた条件下において正常動作するか否かを検証する動作確認部５５と、を備える構成である。
【０１１９】
このような構成によれば、画像処理装置３は、従来のように複数のテストモジュールを予めインストールしておく必要がなく、テストモジュールの開発に要するコストの上昇を抑えることができると共に、記憶部２０においてテストモジュールの占有率が高くなることを抑制することもできる。すなわち、本実施形態の画像処理装置３は、アプリケーションを更新して動作確認を行うためのプログラムとして、１つの更新制御プログラム２３だけを記憶しておけば良い。
【０１２０】
また、上記構成によれば、ユーザーによって過去に使用された設定値を用いてテストデータ５７を自動作成して第２のアプリケーション４２の動作確認を自動的に行うことが可能であり、画像処理装置３が設置されている顧客環境をそのまま利用して第２のアプリケーション４２が正常動作するか否かを速やかに確認することができるという利点もある。
【０１２１】
以上、本発明に関する好ましい実施形態について説明した。しかし、本発明は、上記実施形態において説明した内容のものに限られるものではなく、種々の変形例が適用可能である。
【０１２２】
例えば、上記実施形態では、画像処理装置３においてアプリケーションが更新された場合に動作確認を自動的に行う例を説明した。しかし、上述した動作確認技術を適用可能な装置は、画像処理装置３には限られない。例えば、パーソナルコンピュータ（ＰＣ）やタブレット端末などの情報処理装置においてアプリケーションが更新された場合にも、上述した動作確認技術は適用可能である。したがって、本発明は、上述した情報処理装置４として機能する構成を有していれば良い。
【０１２３】
また、上記実施形態では、制御部１０を更新制御部５０として機能させるための更新制御プログラム２３が予め記憶部２０にインストールされている場合を例示した。しかし、更新制御プログラム２３は、例えば通信インタフェース１６などを介して記憶部２０にインストールされるものであっても構わない。この場合、更新制御プログラム２３は、インターネットなどを介してダウンロード可能な態様で提供される。また、これに限らず、更新制御プログラム２３は、ＣＤ−ＲＯＭやＵＳＢメモリなどのコンピュータ読み取り可能な記録媒体に記録された態様で提供されるものであっても構わない。
【符号の説明】
【０１２４】
３  画像処理装置
４  情報処理装置
１０  制御部
１７  操作パネル
１８  表示部（表示手段）
１９  操作入力部（操作入力手段）
２０  記憶部（記憶手段）
２６  プリンタ部（印刷手段）
２８  画像解析部（画像解析手段）
２９  課金処理部（課金手段）
３１  アプリケーション起動部（アプリケーション起動手段）
３２  アプリケーション連携部（アプリケーション連携手段）
３４  履歴記録部（履歴記録手段）
５０  更新制御部
５１  更新処理部（更新手段）
５２  テストデータ取得部（テストデータ取得手段）
５３  設定値抽出部（設定値抽出手段）
５４  テストデータ生成部（テストデータ生成手段）
５５  動作確認部（動作確認手段）
【図１】
2020170984.tif 000003
【図２】
2020170984.tif 000004
【図３】
2020170984.tif 000005
【図４】
2020170984.tif 000006
【図５】
2020170984.tif 000007
【図６】
2020170984.tif 000008
【図７】
2020170984.tif 000009
【図８】
2020170984.tif 000010
【図９】
2020170984.tif 000011
【図１０】
2020170984.tif 000012
【図１１】
2020170984.tif 000013
【図１２】
2020170984.tif 000014
【図１３】
2020170984.tif 000015
【図１４】
2020170984.tif 000016
【図１５】
2020170984.tif 000017
【図１６】
2020170984.tif 000018
【図１７】
2020170984.tif 000019
【図１８】
2020170984.tif 000020