(57)【要約】【課題】アプリケーションの提供が開始された後に、そのアプリケーションのテストを効率良く実現する。【解決手段】携帯端末２０００はサーバ装置３０００に対して動作環境情報を送信する。サーバ装置３０００は、受信した動作環境情報及び第１判定情報を用いて、携帯端末２０００においてアプリケーション１０のテストが必要であるかどうかを判定する。第１判定情報は、各動作環境においてアプリケーション１０のテストが必要であるか否かを表す情報である。サーバ装置３０００は、上記判定の結果を携帯端末２０００へ送信する。受信した判定結果が「アプリケーション１０のテストが必要である」ということを示す場合、携帯端末２０００は、アプリケーション１０のテストを実行する。一方、受信した判定結果が「アプリケーション１０のテストが必要ない」ということを示す場合、携帯端末２０００は、アプリケーション１０のテスト以外の処理を実行する。【選択図】図１
2018160047.tif 000002
【特許請求の範囲】
【請求項１】
携帯端末であって、
当該携帯端末における所定プログラムの動作環境を示す動作環境情報をサーバ装置へ送信する送信手段と、
前記動作環境情報の送信に応じて、前記サーバ装置から、前記所定プログラムのテストが必要であるか否かを示す第１判定結果を受信する受信手段と、
前記第１判定結果が前記所定プログラムのテストが必要であることを示す場合に、前記所定プログラムをテストする第１処理を実行する第１処理実行手段と、
前記第１判定結果が前記所定プログラムのテストが必要でないことを示す場合に、前記第１処理以外の前記所定プログラムの処理である第２処理を実行する第２処理実行手段と、を有する携帯端末。
【請求項２】
前記動作環境情報は、前記携帯端末の機種の情報、及び前記携帯端末で動作しているオペレーティングシステムの情報を含む、請求項１に記載の携帯端末。
【請求項３】
前記第１処理実行手段によって実行されたテストの結果を前記サーバ装置へ送信する第２送信手段と、
前記テストの結果の送信に応じて、前記サーバ装置から、前記所定プログラムの実行を許可するか否かを示す情報を受信する第２受信手段と、を有し、
前記第２処理実行手段は、前記第２受信手段によって受信された情報が、前記所定プログラムの実行を許可することを示す場合に、前記第２処理を実行する、請求項１又は２に記載の携帯端末。
【請求項４】
前記第１処理実行手段は、当該携帯端末に設けられているカメラによって撮像されたコードを復号して識別子を算出し、
前記第２送信手段は、前記算出された識別子を前記テストの結果として前記サーバ装置へ送信する、請求項３に記載の携帯端末。
【請求項５】
携帯端末であって、
所定プログラムをダウンロードするダウンロード手段と、
前記ダウンロードした所定プログラムを実行する実行手段と、を有し、
前記所定プログラムは、
テスト画面を当該携帯端末のディスプレイ装置に表示させ、
前記ディスプレイ装置において前記テスト画面が正常に表示されているか否かを示す情報の入力を受け付け、
前記入力された情報をサーバ装置へ送信する、携帯端末。
【請求項６】
携帯端末から、所定プログラムの動作環境を示す動作環境情報を受信する受信手段と、
各動作環境情報において前記所定プログラムをテストする必要があるか否かを表す第１判定情報を用いて、前記携帯端末において前記所定プログラムのテストが必要であるか否かを判定する判定手段と、
前記判定の結果である第１判定結果を前記携帯端末へ送信する送信手段と、を有するサーバ装置。
【請求項７】
前記携帯端末から前記所定プログラムのテストの結果を受信する第２受信手段と
前記テストの結果に基づいて、前記携帯端末において前記所定プログラムの実行を許可するか否かを判定する第２判定手段と、
前記第２判定手段による判定の結果である第２判定結果を前記携帯端末へ送信する第２送信手段と、を有する請求項６に記載のサーバ装置。
【請求項８】
前記携帯端末は、前記テストにおいて、前記携帯端末に設けられているカメラによって撮像されたコードを復号して識別子を算出し、前記算出した識別子を当該サーバ装置へ送信し、
前記第２受信手段は、前記送信された識別子を受信し、
前記第２判定手段は、前記受信した識別子が正しい場合に、前記携帯端末において前記所定プログラムの実行を許可すると判定する、請求項７に記載のサーバ装置。
【請求項９】
動作環境が同じである複数の各前記携帯端末において行われた前記所定プログラムのテストの結果に基づいて、所定数以上又は所定割合以上の前記携帯端末について、前記所定プログラムの実行を許可すると判定された場合に、その動作環境の各前記携帯端末において前記所定プログラムのテストが必要ないことを表すように前記第１判定情報を更新する更新手段を有する、請求項６乃至８いずれか一項に記載のサーバ装置。
【請求項１０】
携帯端末及びサーバ装置を有する情報処理システムであって、
前記携帯端末は、
当該携帯端末における所定プログラムの動作環境を示す動作環境情報をサーバ装置へ送信する送信手段と、
前記動作環境情報の送信に応じて、前記サーバ装置から、前記所定プログラムのテストが必要であるか否かを示す第１判定結果を受信する受信手段と、
前記第１判定結果が前記所定プログラムのテストが必要であることを示す場合に、前記所定プログラムをテストする第１処理を実行する第１処理実行手段と、
前記第１判定結果が前記所定プログラムのテストが必要でないことを示す場合に、前記第１処理以外の前記所定プログラムの処理である第２処理を実行する第２処理実行手段と、を有し、
前記サーバ装置は、
前記携帯端末から前記動作環境情報を受信する受信手段と、
各動作環境情報において前記所定プログラムをテストする必要があるか否かを表す第１判定情報を用いて、前記携帯端末において前記所定プログラムのテストが必要であるか否かを判定する判定手段と、
前記判定の結果である前記第１判定結果を前記携帯端末へ送信する送信手段と、を有する、情報処理システム。
【請求項１１】
前記携帯端末は、前記第１処理実行手段によって実行されたテストの結果を前記サーバ装置へ送信する第２送信手段を有し、
前記サーバ装置は、
前記テストの結果を受信する第２受信手段と
前記テストの結果に基づいて、前記携帯端末において前記所定プログラムの実行を許可するか否かを判定する第２判定手段と、
前記第２判定手段による判定の結果である第２判定結果を前記携帯端末へ送信する第２送信手段と、を有し、
前記携帯端末は、前記第２判定結果を受信する第２受信手段を有し、
前記第２処理実行手段は、前記第２判定結果が前記所定プログラムの実行を許可することを示す場合に、前記第２処理を実行する、請求項１０に記載の情報処理システム。
【請求項１２】
前記第１処理実行手段は、前記携帯端末に設けられているカメラによって撮像されたコードを復号して識別子を算出し、
前記第２送信手段は、前記算出された識別子を前記テストの結果として前記サーバ装置へ送信し、
前記第２受信手段は、前記送信された識別子を受信し、
前記第２判定手段は、前記受信した識別子が正しい場合に、前記携帯端末において前記所定プログラムの実行を許可すると判定する、請求項１１に記載の情報処理システム。
【請求項１３】
携帯端末によって実行される制御方法であって、
前記携帯端末における所定プログラムの動作環境を示す動作環境情報をサーバ装置へ送信する送信ステップと、
前記動作環境情報の送信に応じて、前記サーバ装置から、前記所定プログラムのテストが必要であるか否かを示す第１判定結果を受信する受信ステップと、
前記第１判定結果が前記所定プログラムのテストが必要であることを示す場合に、前記所定プログラムをテストする第１処理を実行する第１処理実行ステップと、
前記第１判定結果が前記所定プログラムのテストが必要でないことを示す場合に、前記第１処理以外の前記所定プログラムの処理である第２処理を実行する第２処理実行ステップと、を有する制御方法。
【請求項１４】
携帯端末によって実行される制御方法であって、
サーバ装置から所定プログラムをダウンロードするダウンロードステップと、
前記ダウンロードした所定プログラムを実行する実行ステップと、を有し、
前記所定プログラムは、
テスト画面を当該携帯端末のディスプレイ装置に表示させ、
前記ディスプレイ装置において前記テスト画面が正常に表示されているか否かを示す情報の入力を受け付け、
前記入力された情報をサーバ装置へ送信する、制御方法。
【請求項１５】
サーバ装置によって実行される制御方法であって、
携帯端末から、所定プログラムの動作環境を示す動作環境情報を受信する受信ステップと、
各動作環境情報において前記所定プログラムをテストする必要があるか否かを表す第１判定情報を用いて、前記携帯端末において前記所定プログラムのテストが必要であるか否かを判定する判定ステップと、
前記判定の結果である第１判定結果を前記携帯端末へ送信する送信ステップと、を有する制御方法。
【請求項１６】
携帯端末及びサーバ装置を有する情報処理システムにおいて実行される制御方法であって、
前記携帯端末が、前記携帯端末における所定プログラムの動作環境を示す動作環境情報を前記サーバ装置へ送信する送信手段と、
前記サーバ装置が、前記携帯端末から前記動作環境情報を受信するステップと、
前記サーバ装置が、各動作環境情報において前記所定プログラムをテストする必要があるか否かを表す第１判定情報を用いて、前記携帯端末において前記所定プログラムのテストが必要であるか否かを判定するステップと、
前記サーバ装置が、前記判定の結果である第１判定結果を前記携帯端末へ送信するステップと、
前記携帯端末が、前記サーバ装置から前記第１判定結果を受信するステップと、
前記携帯端末が、前記第１判定結果が前記所定プログラムのテストが必要であることを示す場合に、前記所定プログラムをテストする第１処理を実行するステップと、
前記携帯端末が、前記第１判定結果が前記所定プログラムのテストが必要でないことを示す場合に、前記第１処理以外の前記所定プログラムの処理である第２処理を実行するステップと、を有する制御方法。
【請求項１７】
請求項１３又は１４に記載の制御方法の各ステップを携帯端末に実行させるプログラム。
【請求項１８】
請求項１５に記載の制御方法の各ステップをサーバ装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はアプリケーションのテストに関する。
【背景技術】
【０００２】
携帯端末において、様々なアプリケーションが利用されている。ここで一般に、アプリケーションは、開発者などによってテストされ、正しく動作することが確認された上でユーザに提供される。そこで、このようなアプリケーションのテストに利用するシステムが開発されている。
【０００３】
例えば特許文献１は、携帯端末におけるアプリケーションのテストを自動化するアプリケーション検査装置を開示している。アプリケーション検査装置は、テスト対象の携帯端末においてテスト画面を表示させ、そのテスト画面の入力インタフェースに対する操作を自動的に行わせる。その際、アプリケーション検査装置は、携帯端末の表示画面に表示されるテスト画面のレイアウトが携帯端末の仕様に応じて異なることを考慮し、携帯端末の表示画面に表示されたテスト画面をキャプチャして、入力インタフェースの位置を特定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−２０４４６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
携帯端末においてアプリケーションが正しく動作するか否かは、動作環境に依存する。例えば動作環境には、携帯端末の機種、又は携帯端末で動作している OS（Operating System）の種類やバージョンなどがある。
【０００６】
アプリケーションの提供を開始する前に全ての動作環境で予めテストを行うことは難しい。これには、１）アプリケーションの動作環境が多岐に渡ること、及び２）OS などのソフトウエアはアプリケーションの提供が開始された後にもバージョンアップされ続けるといった理由がある。
【０００７】
本発明は、以上の課題に鑑みてなされたものである。本発明の目的の一つは、アプリケーションの提供が開始された後に、そのアプリケーションのテストを効率良く実現するための技術を提供することである。
【課題を解決するための手段】
【０００８】
本発明の第１の携帯端末は、１）当該携帯端末における所定プログラムの動作環境を示す動作環境情報をサーバ装置へ送信する送信手段と、２）前記動作環境情報の送信に応じて、前記サーバ装置から、前記所定プログラムのテストが必要であるか否かを示す第１判定結果を受信する受信手段と、３）前記第１判定結果が前記所定プログラムのテストが必要であることを示す場合に、前記所定プログラムをテストする第１処理を実行する第１処理実行手段と、４）前記第１判定結果が前記所定プログラムのテストが必要でないことを示す場合に、前記第１処理以外の前記所定プログラムの処理である第２処理を実行する第２処理実行手段と、を有する。
【０００９】
本発明の第２の携帯端末は、１）サーバ装置から所定プログラムをダウンロードするダウンロード手段と、２）前記ダウンロードした所定プログラムを実行する実行手段と、を有する。
前記所定プログラムは、１）テスト画面を当該携帯端末のディスプレイ装置に表示させ、２）前記ディスプレイ装置において前記テスト画面が正常に表示されているか否かを示す情報の入力を受け付け、３）前記入力された情報をサーバ装置へ送信する。
【００１０】
本発明のサーバ装置は、１）携帯端末から、所定プログラムの動作環境を示す動作環境情報を受信する受信手段と、２）各動作環境情報において前記所定プログラムをテストする必要があるか否かを表す第１判定情報を用いて、前記携帯端末において前記所定プログラムのテストが必要であるか否かを判定する判定手段と、３）前記判定の結果である第１判定結果を前記携帯端末へ送信する送信手段と、を有する。
【００１１】
本発明の情報処理システムは、携帯端末及びサーバ装置を有する。
前記携帯端末は、１）当該携帯端末における所定プログラムの動作環境を示す動作環境情報をサーバ装置へ送信する送信手段と、２）前記動作環境情報の送信に応じて、前記サーバ装置から、前記所定プログラムのテストが必要であるか否かを示す第１判定結果を受信する受信手段と、３）前記第１判定結果が前記所定プログラムのテストが必要であることを示す場合に、前記所定プログラムをテストする第１処理を実行する第１処理実行手段と、４）前記第１判定結果が前記所定プログラムのテストが必要でないことを示す場合に、前記第１処理以外の前記所定プログラムの処理である第２処理を実行する第２処理実行手段と、を有する。
前記サーバ装置は、１）前記携帯端末から前記動作環境情報を受信する受信手段と、２）各動作環境情報において前記所定プログラムをテストする必要があるか否かを表す第１判定情報を用いて、前記携帯端末において前記所定プログラムのテストが必要であるか否かを判定する判定手段と、３）前記判定の結果である前記第１判定結果を前記携帯端末へ送信する送信手段と、を有する。
【００１２】
本発明の第１の制御方法は、携帯端末によって実行される。当該制御方法は、１）前記携帯端末における所定プログラムの動作環境を示す動作環境情報をサーバ装置へ送信する送信ステップと、２）前記動作環境情報の送信に応じて、前記サーバ装置から、前記所定プログラムのテストが必要であるか否かを示す第１判定結果を受信する受信ステップと、３）前記第１判定結果が前記所定プログラムのテストが必要であることを示す場合に、前記所定プログラムをテストする第１処理を実行する第１処理実行ステップと、４）前記第１判定結果が前記所定プログラムのテストが必要でないことを示す場合に、前記第１処理以外の前記所定プログラムの処理である第２処理を実行する第２処理実行ステップと、を有する。
【００１３】
本発明の第２の制御方法は、携帯端末によって実行される制御方法である。当該制御方法は、１）サーバ装置から所定プログラムをダウンロードするダウンロードステップと、２）前記ダウンロードした所定プログラムを実行する実行ステップと、を有する。
前記所定プログラムは、１）テスト画面を当該携帯端末のディスプレイ装置に表示させ、２）前記ディスプレイ装置において前記テスト画面が正常に表示されているか否かを示す情報の入力を受け付け、３）前記入力された情報をサーバ装置へ送信する。
【００１４】
本発明の第３制御方法は、サーバ装置によって実行される。当該制御方法は、１）携帯端末から、所定プログラムの動作環境を示す動作環境情報を受信する受信ステップと、２）各動作環境情報において前記所定プログラムをテストする必要があるか否かを表す第１判定情報を用いて、前記携帯端末において前記所定プログラムのテストが必要であるか否かを判定する判定ステップと、３）前記判定の結果である第１判定結果を前記携帯端末へ送信する送信ステップと、を有する。
【００１５】
本発明の第４の制御方法は、携帯端末及びサーバ装置を有する情報処理システムにおいて実行される。当該制御方法は、１）前記携帯端末が、前記携帯端末における所定プログラムの動作環境を示す動作環境情報を前記サーバ装置へ送信する送信手段と、２）前記サーバ装置が、前記携帯端末から前記動作環境情報を受信するステップと、３）前記サーバ装置が、各動作環境情報において前記所定プログラムをテストする必要があるか否かを表す第１判定情報を用いて、前記携帯端末において前記所定プログラムのテストが必要であるか否かを判定するステップと、４）前記サーバ装置が、前記判定の結果である第１判定結果を前記携帯端末へ送信するステップと、５）前記携帯端末が、前記サーバ装置から前記第１判定結果を受信するステップと、６）前記携帯端末が、前記第１判定結果が前記所定プログラムのテストが必要であることを示す場合に、前記所定プログラムをテストする第１処理を実行するステップと、７）前記携帯端末が、前記第１判定結果が前記所定プログラムのテストが必要でないことを示す場合に、前記第１処理以外の前記所定プログラムの処理である第２処理を実行するステップと、を有する。
【００１６】
本発明の第１のプログラムは、本発明の第１の制御方法又は本発明の第２の制御方法の各ステップを携帯端末に実行させる。
【００１７】
本発明の第１のプログラムは、本発明の第３の制御方法の各ステップをサーバ装置に実行させる。
【発明の効果】
【００１８】
本発明によれば、アプリケーションの提供が開始された後に、そのアプリケーションのテストを効率良く実現するための技術が提供される。
【図面の簡単な説明】
【００１９】
【図１】実施形態１の情報処理システムを例示する図である。
【図２】情報処理システムの機能構成を例示する図である。
【図３】携帯端末を実現するための計算機を例示する図である。
【図４】サーバ装置を実現するための計算機を例示する図である。
【図５】実施形態１の情報処理システムにおいて実行される処理の流れを例示するシーケンス図である。
【図６】動作環境情報の構成をテーブル形式で例示する図である。
【図７】実施形態２の情報処理システムを例示するブロック図である。
【図８】実施形態２の情報処理システムによって行われる処理の流れを例示するフローチャートである。
【図９】実施形態３の情報処理システムを例示するブロック図である。
【図１０】資産管理アプリケーションが動作している様子を例示する図である。
【図１１】資産管理アプリケーションを提供している Web サイトの Web ページを例示する図である。
【図１２】第１テストを例示する図である。
【図１３】第２テストを例示する図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また各ブロック図において、特に説明がない限り、各ブロックは、ハードウエア単位の構成ではなく機能単位の構成を表している。
【００２１】
［実施形態１］
図１は、実施形態１の情報処理システム４０００を例示する図である。なお、図１は情報処理システム４０００の動作の理解を容易にするための図であり、情報処理システム４０００の動作を限定するものではない。
【００２２】
情報処理システム４０００は、携帯端末２０００及びサーバ装置３０００を有する。携帯端末２０００は、アプリケーション１０を動作させる。携帯端末２０００は、アプリケーション１０を動作させるにあたり、サーバ装置３０００を利用して、アプリケーション１０のテストを実行する必要があるか否かを特定する。そして、アプリケーション１０のテストを実行する必要がある場合、携帯端末２０００は、アプリケーション１０のテストを実行する。一方、アプリケーション１０のテストを実行する必要がない場合、携帯端末２０００は、アプリケーション１０のテスト以外の処理（例えば、アプリケーション１０のメインの処理）を実行する。
【００２３】
ここで、サーバ装置３０００は、携帯端末２０００におけるアプリケーション１０の動作環境を表す情報（以下、動作環境情報）を利用して、携帯端末２０００においてアプリケーション１０のテストが必要であるかどうかを判定する。そのために、携帯端末２０００はサーバ装置３０００に対して動作環境情報を送信する。
【００２４】
サーバ装置３０００は、受信した動作環境情報を用いて、携帯端末２０００においてアプリケーション１０のテストが必要であるかどうかを判定する。具体的には、サーバ装置３０００は、第１判定情報を用いて、携帯端末２０００においてアプリケーション１０のテストが必要であるか否かを判定する。第１判定情報は、各動作環境においてアプリケーション１０のテストが必要であるか否かを表す情報である。第１判定情報は、サーバ装置３０００からアクセス可能な任意の記憶装置に記憶させておく。
【００２５】
サーバ装置３０００は、上記判定の結果を携帯端末２０００へ送信する。受信した判定結果が「アプリケーション１０のテストが必要である」ということを示す場合、携帯端末２０００は、アプリケーション１０のテストを実行する。一方、受信した判定結果が「アプリケーション１０のテストが必要ない」ということを示す場合、携帯端末２０００は、アプリケーション１０のテストを実行せず、テスト以外の処理を実行する。
【００２６】
本実施形態の情報処理システム４０００によれば、携帯端末２０００におけるアプリケーション１０の動作環境に応じて、携帯端末２０００においてアプリケーション１０のテストが必要であるか否かが判定される。そして、テストが必要ない動作環境の携帯端末２０００では、テストが行われずに、アプリケーション１０の他の処理（例えばメインの処理）が実行される。このように、本実施形態の情報処理システム４０００によれば、テストが必要ない動作環境ではアプリケーション１０のテストを省略できるため、アプリケーション１０がユーザに提供された後の状況におけるアプリケーション１０のテストを効率化できる。
【００２７】
一方、テストが必要である動作環境の携帯端末２０００では、アプリケーション１０のテストが行われる。よって、アプリケーション１０がユーザに提供された後の状況において、アプリケーション１０のテストを効率化しつつも、テストが必要な動作環境では確実にアプリケーション１０のテストを行って、アプリケーション１０が正しく動作することを確認することができる。
【００２８】
以下、本実施形態についてさらに詳細を述べる。
【００２９】
＜機能構成の例＞
図２は、情報処理システム４０００の機能構成を例示する図である。情報処理システム４０００は、携帯端末２０００及びサーバ装置３０００を有する。携帯端末２０００は、送信部２０２０、受信部２０４０、第１処理実行部２０６０、及び第２処理実行部２０８０を有する。送信部２０２０は、携帯端末２０００におけるアプリケーション１０の動作環境情報をサーバ装置３０００へ送信する。受信部２０４０は、動作環境情報の送信に応じて、サーバ装置３０００から、アプリケーション１０のテストが必要であるか否かの判定結果（以下、第１判定結果）を受信する。第１処理実行部２０６０は、アプリケーション１０のテストが必要であることを第１判定結果が示す場合に、アプリケーション１０のテストを行う第１処理を実行する。第２処理実行部２０８０は、アプリケーション１０のテストが必要でないことを第１判定結果が示す場合に、第１処理以外のアプリケーション１０の処理（以下、第２処理）を実行する。
【００３０】
サーバ装置３０００は、受信部３０２０、判定部３０３０、及び送信部３０４０を有する。受信部３０２０は、携帯端末２０００からアプリケーション１０の動作環境情報を受信する。判定部３０３０は、受信した動作環境情報及び第１判定情報を用いて、携帯端末２０００においてアプリケーション１０のテストが必要であるか否かを判定する。送信部３０４０は、その結果を示す第１判定結果を携帯端末２０００へ送信する。
【００３１】
＜携帯端末２０００のハードウエア構成の例＞
携帯端末２０００の各機能構成部は、各機能構成部を実現するハードウエア（例：ハードワイヤードされた電子回路など）で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ（例：電子回路とそれを制御するプログラムの組み合わせなど）で実現されてもよい。以下、携帯端末２０００の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
【００３２】
図３は、携帯端末２０００を実現するための計算機１０００を例示する図である。計算機１０００は、例えばスマートフォンやタブレット端末などである。計算機１０００は、携帯端末２０００を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
【００３３】
計算機１０００は、バス１０２０、プロセッサ１０４０、メモリ１０６０、ストレージデバイス１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０を有する。バス１０２０は、プロセッサ１０４０、メモリ１０６０、ストレージデバイス１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０が、相互にデータを送受信するためのデータ伝送路である。プロセッサ１０４０は、CPU（Central Processing Unit）や GPU（Graphics Processing Unit）などの演算処理装置である。メモリ１０６０は、RAM（Random Access Memory）などで実現される主記憶装置である。入出力インタフェース１１００は、計算機１０００と入出力デバイスとを接続するためのインタフェースである。
【００３４】
ネットワークインタフェース１１２０は、通信網に接続するためのインタフェースである。計算機１０００は、ネットワークインタフェース１１２０を介して、サーバ装置３０００を実現するための計算機（後述する計算機５０００）と接続されている（図示せず）。
【００３５】
ストレージデバイス１０８０は、メモリカード、ROM（Read Only Memory）、ハードディスク、又は SSD（Solid State Drive）などで実現される補助記憶装置である。ストレージデバイス１０８０は携帯端末２０００の各機能を実現するプログラムモジュールを記憶している。例えばこれらのプログラムモジュールは、アプリケーション１０に含まれる。プロセッサ１０４０は、これら各プログラムモジュールをメモリ１０６０に読み出して実行することで、そのプログラムモジュールに対応する各機能を実現する。
【００３６】
計算機１０００のハードウエア構成は図３に示した構成に限定されず、他の様々な構成をとりうる。例えば、プロセッサ１０４０などを互いに接続する方法は、バス接続に限定されない。
【００３７】
図４は、サーバ装置３０００を実現するための計算機５０００を例示する図である。計算機５０００は、据え置き型の計算機（デスクトップコンピュータ）であってもよいし、可搬型の計算機（ラップトップコンピュータや、スマートフォンタブレット端末などの携帯端末）であってもよい。計算機５０００は、サーバ装置３０００を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
【００３８】
計算機５０００は、バス５０２０、プロセッサ５０４０、メモリ５０６０、ストレージデバイス５０８０、入出力インタフェース５１００、及びネットワークインタフェース５１２０を有する。以下で説明する点を除き、これらのハードウエアはそれぞれ、計算機１０００が有するバス１０２０、プロセッサ１０４０、メモリ１０６０、ストレージデバイス１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０と同様のハードウエアである。
【００３９】
ストレージデバイス５０８０はサーバ装置３０００の各機能を実現するプログラムモジュールを記憶している。プロセッサ５０４０は、これら各プログラムモジュールをメモリ５０６０に読み出して実行することで、そのプログラムモジュールに対応する各機能を実現する。
【００４０】
計算機５０００は、ネットワークインタフェース５１２０を介して、計算機１０００と通信可能に接続される（図示せず）。
【００４１】
＜処理の流れ＞
図５は、実施形態１の情報処理システム４０００において実行される処理の流れを例示するシーケンス図である。送信部２０２０は、携帯端末２０００におけるアプリケーション１０の動作環境情報をサーバ装置３０００へ送信する（Ｓ１０２）。
【００４２】
受信部３０２０は、動作環境情報を受信する（Ｓ１０４）。判定部３０３０は、受信した動作環境情報及び第１判定情報を用いて、携帯端末２０００においてアプリケーション１０のテストが必要か否かを示す判定する（Ｓ１０６）。送信部３０４０は、第１判定結果を携帯端末２０００へ送信する（Ｓ１０８）。
【００４３】
受信部２０４０は、サーバ装置３０００から、上記判定結果を受信する（Ｓ１１０）。アプリケーション１０のテストが必要であることを第１判定結果が示す場合（Ｓ１１２：ＹＥＳ）、第１処理実行部２０６０は、アプリケーション１０のテストを行う（Ｓ１１４）。アプリケーション１０のテストが必要でないことを第１判定結果が示す場合（Ｓ１１２：ＮＯ）、第１処理実行部２０６０は第２処理（アプリケーション１０のテスト以外の処理）を実行する（Ｓ１１６）。
【００４４】
＜動作環境情報について＞
動作環境情報は、携帯端末２０００におけるアプリケーション１０の動作環境を表す情報である。前述したように、動作環境情報は、例えば携帯端末２０００の機種や、携帯端末２０００においてアプリケーション１０の動作に利用される OS に関する情報である。機種に関する情報は、例えば、携帯端末２０００を実現する計算機１０００の製造メーカや型番などを示す。OS に関する情報は、例えば、OS の種類（Android（登録商標）や iOS（登録商標）など）やバージョンなどを示す。
【００４５】
図６は、動作環境情報の構成をテーブル形式で例示する図である。図６のテーブルをテーブル２００と表記する。テーブル２００は、機種情報２０２及び OS 情報２０４という２つの列を有する。機種情報２０２は、メーカ名２０６及び型番２０８を含む。OS 情報２０４は、種類２１０及びバージョン２１２を含む。
【００４６】
なお、動作環境情報が示す情報は、前述した機種に関する情報と OS に関する情報に限定されない。例えば動作環境情報は、携帯端末２０００を実現する計算機１０００に搭載されている各ハードウエアに関する情報（CPU やメモリの製造メーカや型番）や、アプリケーション１０の動作に利用されるミドルウェアに関する情報（ミドルウェアの種類やバージョン）などを含んでもよい。
【００４７】
送信部２０２０は、動作環境情報を送信するために、前述した携帯端末２０００の機種に関する情報や、携帯端末２０００で動作している OS に関する情報などを取得する。これらの情報を取得する技術には、既存の技術を利用することができる。
【００４８】
ここで送信部２０２０は、サーバ装置３０００に対してどのような動作環境情報を送信すべきか、すなわち動作環境情報にどのような情報を含めるべきかを把握する必要がある。これを把握する方法は様々である。例えば、動作環境情報にどのような情報を含めるべきかを、送信部２０２０に予め設定しておく。その他にも例えば、動作環境情報にどのような情報を含めるべきかを示す情報を、送信部２０２０からアクセス可能な記憶装置（例えばストレージデバイス１０８０）に予め記憶させておく。その他にも例えば、送信部２０２０は、動作環境情報を送信する前にサーバ装置３０００へアクセスし、動作環境情報にどのような情報を含めるべきかを示す情報をサーバ装置３０００から取得してもよい。
【００４９】
＜動作環境情報の送信：Ｓ１０２＞
送信部２０２０は、サーバ装置３０００に対して動作環境情報を送信する（Ｓ１０２）。ここで、携帯端末２０００とサーバ装置３０００とは、任意のネットワークを介して接続される。サーバ装置３０００に対して動作環境情報を送信するために、携帯端末２０００は、ネットワーク上におけるサーバ装置３０００の所在（例えばドメイン名、IP（Internet Protocol）アドレス、又はメールアドレス）を把握する必要がある。以下、ネットワーク上におけるサーバ装置３０００の所在を、サーバ装置３０００のネットワークアドレスと呼ぶ。
【００５０】
サーバ装置３０００のネットワークアドレスは、携帯端末２０００に予め設定されていてもよいし、携帯端末２０００からアクセス可能な記憶装置（例えばストレージデバイス１０８０）に記憶されていてもよい。例えばサーバ装置３０００のネットワークアドレスは、アプリケーション１０を計算機１０００にインストールする際に、アプリケーション１０と共にストレージデバイス１０８０に格納される。
【００５１】
＜テスト要否の判定：Ｓ１０６＞
送信部３０４０は、動作環境情報及び第１判定情報を用いて、携帯端末２０００においてアプリケーション１０のテストが必要であるか否かを判定する（Ｓ１０６）。その判定方法は、第１判定情報が示す情報によって異なる。以下、いくつかの具体例を挙げて説明する。
【００５２】
例えば第１判定情報は、アプリケーション１０のテストが必要ない動作環境を表す動作環境情報の一覧を示すリストである。この場合、判定部３０３０は、携帯端末２０００から受信した動作環境情報が、第１判定情報に含まれているか否かを判定する。受信した動作環境情報が第１判定情報に含まれる場合、判定部３０３０は、携帯端末２０００においてアプリケーション１０のテストが必要ないと判定する。一方、受信した動作環境情報が第１判定情報に含まれない場合、判定部３０３０は、携帯端末２０００においてアプリケーション１０のテストが必要であると判定する。
【００５３】
その他にも例えば、第１判定情報は、動作環境情報に対応づけて、その動作環境情報が表す動作環境においてアプリケーション１０のテストが必要であるか否かを示す。この場合、判定部３０３０は、第１判定情報から、受信した動作環境情報に対応づけられている情報を取得する。取得した情報が「アプリケーション１０のテストが必要である」ということを示している場合、判定部３０３０は、携帯端末２０００においてアプリケーション１０のテストが必要であると判定する。一方、取得した情報が「アプリケーション１０のテストが必要でない」ということを示している場合、判定部３０３０は、携帯端末２０００においてアプリケーション１０のテストが必要でないと判定する。
【００５４】
＜＜第１判定情報の生成方法＞＞
第１判定情報の生成方法は様々である。例えば、予め人手で第１判定情報を生成しておく。例えばこのテスト作業は、アプリケーション１０の提供者によって行われる。この場合、作業者は、種々の動作環境で予めアプリケーション１０のテストを行い、それらの動作環境においてアプリケーション１０のテストが必要ないことを示す第１判定情報を生成しておく。
【００５５】
この場合、アプリケーション１０のユーザが、予めテストが行われている動作環境でアプリケーション１０を利用する場合には、アプリケーション１０のテストを行う必要がなくなる。一方で、テストが行われていない動作環境では、アプリケーション１０の利用に先立ち、アプリケーション１０のテストが行われるようになる。こうすることで、テスト済みの動作環境においてアプリケーション１０を利用する際にテストの手間を削減できるようにしつつ、テストが行われていない環境ではアプリケーション１０のテストが確実に行われるようにすることで、アプリケーション１０の誤動作を防ぐことができる。
【００５６】
なお、第１判定情報の生成方法は、上述した方法に限定されない。その他の方法については、後述の他の実施形態で例示する。
【００５７】
＜一連の処理を行う契機＞
情報処理システム４０００が図５に示す一連の処理を行う契機は様々である。例えば、携帯端末２０００においてアプリケーション１０がインストールされたことを契機として、携帯端末２０００がサーバ装置３０００へ動作環境情報を送信することにより、一連の処理が実行される。その他にも例えば、携帯端末２０００においてアプリケーション１０が起動されたことを契機として、携帯端末２０００がサーバ装置３０００へ動作環境情報を送信することにより、一連の処理が実行されてもよい。
【００５８】
なお、アプリケーション１０が起動されたことを契機として携帯端末２０００が動作環境情報を送信する場合、その処理は、アプリケーション１０がインストール後に初めて起動された時のみ行われてもよいし、アプリケーション１０が起動される度に行われてもよい。
【００５９】
［実施形態２］
図７は、実施形態２の情報処理システム４０００を例示するブロック図である。以下で説明する点を除き、実施形態２の情報処理システム４０００は、実施形態１の情報処理システム４０００と同様の機能を有する。
【００６０】
実施形態の情報処理システム４０００では、携帯端末２０００においてアプリケーション１０のテストが行われた場合（第１処理が実行された場合）に、そのテストの結果に応じて、携帯端末２０００においてアプリケーション１０を実行してよいかどうかが判定される。そのために、実施形態２の携帯端末２０００は、第２送信部２１００及び第２受信部２１２０を有する。また、実施形態３のサーバ装置３０００は、第２受信部３０８０、第２判定部３１００、及び第２送信部３１２０を有する。
【００６１】
第２送信部２１００は、第１処理の結果（以下、テスト結果）をサーバ装置３０００へ送信する。第２受信部３０８０は、テスト結果を受信する。第２判定部３１００は、受信したテスト結果に基づいて、携帯端末２０００においてアプリケーション１０の実行を許可するか否かを判定する。第２送信部３１２０は、第２判定部３１００による判定の結果（以下、第２判定結果）を携帯端末２０００へ送信する。
【００６２】
第２受信部２１２０は、第２判定結果を受信する。第２処理実行部２０８０は、第２判定結果がアプリケーション１０の実行を許可することを示している場合に、第２処理を実行する。一方、第２判定結果がアプリケーション１０の実行を許可しないことを示している場合、第２処理実行部２０８０は第２処理を実行しない。
【００６３】
本実施形態の情報処理システム４０００によれば、携帯端末２０００によって行われたテストの結果に応じ、アプリケーション１０の実行の可否がサーバ装置３０００によって自動的に判定される。こうすることで、アプリケーション１０が正しく動作する動作環境でのみアプリケーション１０が実行できるようにすることができる。
【００６４】
＜処理の流れ＞
図８は、実施形態２の情報処理システム４０００によって行われる処理の流れを例示するフローチャートである。図８に示す一連の処理は、Ｓ１１４（第１処理の実行）の後に実行される。
【００６５】
第２送信部２１００は、テスト結果をサーバ装置３０００へ送信する（Ｓ２０２）。第２受信部３０８０は、テスト結果を受信する（Ｓ２０４）。第２判定部３１００は、受信したテスト結果に基づいて、携帯端末２０００においてアプリケーション１０の実行を許可するか否かを判定する（Ｓ２０６）。第２送信部３１２０は、第２判定結果を携帯端末２０００へ送信する（Ｓ２０８）。第２受信部２１２０は、第２判定結果を受信する（Ｓ２１０）。
【００６６】
第２判定結果がアプリケーション１０の実行を許可することを示している場合（Ｓ２１２：ＹＥＳ）、第２処理実行部２０８０が第２処理を実行する（Ｓ２１４）。一方、第２判定結果がアプリケーション１０の実行を許可しないことを示している場合（Ｓ２１２：ＮＯ）、図８の処理は終了する。
【００６７】
＜テスト結果に基づく判定の方法：Ｓ２０６＞
第２判定部３１００は、携帯端末２０００から受信するテスト結果に基づいて、携帯端末２０００においてアプリケーション１０の実行を許可するか否かを判定する。具体的には、第２判定部３１００は、テスト結果が所定の基準を満たしている場合に、携帯端末２０００においてアプリケーション１０の実行を許可すると判定する。一方、第２判定部３１００は、テスト結果が所定の基準を満たしていない場合に、携帯端末２０００においてアプリケーション１０の実行を許可しないと判定する。
【００６８】
ここで、上述の所定の基準には、テストの態様に応じて様々なものを採用することができる。例えばテストがスコアを算出するものである場合、「スコアが基準値以上である」という基準を採用できる。その他にも例えば、テストが「成功又は失敗」や「正しい又は誤り」という結果を出すものである場合、「テスト結果が成功を示すこと」や「テスト結果が正しいこと」などといった基準を採用できる。
【００６９】
ここで、テストに複数の項目がある場合、例えば、「複数のスコアの統計値が基準値以上である」や「成功や正しいという結果が所定数以上ある」などといった基準を採用することができる。
【００７０】
＜ハードウエア構成＞
実施形態２の携帯端末２０００を実現する計算機のハードウエア構成は、実施形態１と同様に、例えば図２によって表される。ただし、本実施形態の携帯端末２０００を実現する計算機１０００のストレージデバイス１０８０には、本実施形態の携帯端末２０００の機能を実現するプログラムモジュールがさらに記憶される。
【００７１】
実施形態２のサーバ装置３０００を実現する計算機のハードウエア構成は、実施形態１と同様に、例えば図２によって表される。ただし、本実施形態のサーバ装置３０００を実現する計算機５０００のストレージデバイス５０８０には、本実施形態のサーバ装置３０００の機能を実現するプログラムモジュールがさらに記憶される。
【００７２】
＜変形例＞
テストの結果によってアプリケーション１０の実行を許可するか否かの判定は、サーバ装置３０００ではなく、携帯端末２０００において行われてもよい。この場合、携帯端末２０００は第２送信部２１００を有さなくてよい。また、サーバ装置３０００は、第２受信部３０８０、第２判定部３１００、及び第２送信部３１２０を有さなくてもよい。
【００７３】
例えば携帯端末２０００は、第１処理実行部２０６０によって実行されたテストの結果が正しいか否か（所定の基準を満たしているか否か）を表す入力を、携帯端末２０００のユーザから受け付ける。テストの結果が正しいことを示す入力を携帯端末２０００が受け付けた場合、第２処理実行部２０８０は第２処理を実行する。一方、テストの結果が正しくないことを示す入力を携帯端末２０００が受け付けた場合、第２処理実行部２０８０は第２処理を実行しない。つまり、携帯端末２０００においてアプリケーション１０の実行を許可するか否かは、携帯端末２０００のユーザによって判断されることとなる。ここで、「テストの結果が正しいか否かを示す入力」は、「アプリケーション１０の実行を許可するか否かを示す入力」とも表現できる。
【００７４】
その他にも例えば、前述した第２判定部３１００の機能を携帯端末２０００に持たせてもよい。すなわち、携帯端末２０００は、第１処理実行部２０６０によって実行されたテストの結果が所定の基準を満たしているか否かを判定する。テスト結果が所定の基準を満たしている場合、携帯端末２０００は、アプリケーション１０の実行を許可すると判定する。よって、第２処理実行部２０８０によって第２処理が実行される。一方、テスト結果が所定の基準を満たしていない場合、携帯端末２０００は、アプリケーション１０の実行を許可しないと判定する。よって、第２処理実行部２０８０によって第２処理が行われない。なお、上記所定の基準は、予め携帯端末２０００からアクセス可能な記憶装置に記憶されていてもよいし、携帯端末２０００がサーバ装置３０００から取得するようにしてもよい。
【００７５】
［実施形態３］
図９は、実施形態３の情報処理システム４０００を例示するブロック図である。以下で説明する点を除き、実施形態３の情報処理システム４０００は、実施形態２の情報処理システム４０００と同様の機能を有する。なお、実施形態３の携帯端末２０００は実施形態２の携帯端末２０００と同様であるため、図９において携帯端末２０００の内部構成が省略されている。
【００７６】
実施形態３のサーバ装置３０００は、第２判定部３１００による判定の結果（第２判定結果）に基づいて、第１判定情報を更新する。そのために、実施形態３のサーバ装置３０００は更新部３１４０を有する。
【００７７】
更新部３１４０は、動作環境情報が同じである複数の携帯端末２０００それぞれについての第２判定結果を用いて、その動作環境情報に対応する第１判定情報を更新する。例えば更新部３１４０は、動作環境情報が同じである複数の携帯端末２０００のうち、所定数以上又は所定割合以上の携帯端末２０００についての第２判定結果が「アプリケーション１０の実行を許可する」という結果を示す場合に、その動作環境情報によって表される動作環境においてアプリケーション１０の実行を許可することを示すように、第１判定情報を更新する。
【００７８】
ここで、サーバ装置３０００は、各携帯端末２０００について得られる第２判定結果を記憶装置に記憶させておく。この記憶装置は、サーバ装置３０００からアクセス可能な任意の記憶装置（例えばストレージデバイス５０８０）である。
【００７９】
更新部３１４０の処理が実行される契機は様々である。例えば更新部３１４０は、第２判定部３１００によって新たな第２判定結果が得られた場合に、対象となっている動作環境情報と同じ動作環境情報を持つ各携帯端末２０００について得られた第２判定結果を記憶装置から取得する。そして、更新部３１４０は、新たに得られた第２判定結果及び記憶装置から取得した第２判定結果に基づいて、第１判定情報を更新するか否かを判定する。
【００８０】
その他にも例えば、更新部３１４０は、定期的に（例えば一日に一回の周期で）、第１判定情報を更新するか否かを判定してもよい。
【００８１】
＜作用効果＞
本実施形態の情報処理システム４０００によれば、携帯端末２０００において行われたテストの結果に応じて、その携帯端末２０００と同じ動作環境においてアプリケーション１０のテストが必要であるかどうかを示す第１判定情報が更新される。つまり、様々な携帯端末２０００においてアプリケーション１０が実行されることにより、様々な動作環境について第１判定情報が自動的に生成されていく。よって、様々な動作環境においてアプリケーション１０が正しくどうかするかをアプリケーション１０の提供者などが手動でチェックしなければならないケースと比較し、アプリケーション１０の提供者などにかかる負担が軽減される。
【００８２】
［実施例］
実施例を用いて、情報処理システム４０００の動作をより具体的に説明する。以下で説明する実施例は、あくまで例示であり、情報処理システム４０００の機能を何ら限定するものではない。
【００８３】
＜想定環境＞
アプリケーション１０は、資産管理対象の物品（以下、資産）の管理に利用されるアプリケーションである。資産管理対象の物品としては、例えば、オフィスのパソコンやプリンタ、店舗の什器、又は工場の機械設備など、様々なものを扱える。資産には、資産識別子（資産に固有の識別子）が符号化されたバーコードが付されているとする。この識別子は、数値であってもよいし文字列であってもよい。なお、文字列を構成する文字には数字が含まれてもよい。以下、本実施例におけるアプリケーション１０を、資産管理アプリケーションと表記する。
【００８４】
図１０は、資産管理アプリケーションが動作している様子を例示する図である。資産管理アプリケーションは、携帯端末２０００のカメラを動作させて、資産７０の資産識別子を読み取る。そして資産管理アプリケーションは、読み取った資産識別子に対応する資産７０の情報を、携帯端末２０００に設けられている表示画面４０に表示させる。
【００８５】
資産管理アプリケーションは、テスト処理を実行するモード（以下、テストモード）と、前述した資産管理のための処理を実行するモード（以下、メインモード）という２つのモードのいずれかで動作する。テストモードで実行される処理は、前述した第１処理に相当する。メインモードで実行される処理は、前述した第２処理に相当する。
【００８６】
ここで、資産管理アプリケーションは、１）バーコード３０を正しく読み取ることができる、及び２）バーコード３０の読み取り結果が正しく表示画面４０に表示される、という２つの条件を満たす動作環境において利用される必要がある。そこで、本実施例の情報処理システム４０００において、第１判定情報は、上記２つの条件が満たされることが確認されている動作環境を表す動作環境情報を示す。つまり、携帯端末２０００の動作環境情報が第１判定情報に示されている場合、携帯端末２０００において資産管理アプリケーションのテストが必要ない。一方、携帯端末２０００の動作環境情報が第１判定情報に示されていない場合、携帯端末２０００において資産管理アプリケーションのテストが必要となる。
【００８７】
＜資産管理アプリケーションのインストール＞
まず、資産管理アプリケーションを初めて利用するユーザは、資産管理アプリケーションを携帯端末にインストールする。このインストールは、例えば、QR コード（登録商標）を利用して行われる。資産管理アプリケーションを初めて利用するユーザは、まず、他のコンピュータ（例えばパソコン）を利用して、資産管理アプリケーションを提供している Web サイトにアクセスする。
【００８８】
図１１は、資産管理アプリケーションを提供している Web サイトの Web ページ１２０を例示する図である。図１１において、Web ページ１２０は表示画面８０に表示されている。表示画面８０は、携帯端末２０００のユーザが利用するパソコンに接続されているディスプレイ装置の表示画面である。この Web ページ１２０には、インストール用コード１１０が含まれる。
【００８９】
ユーザは、携帯端末１３０のカメラでインストール用コード１１０を読み取ることで、携帯端末１３０に資産管理アプリケーションをダウンロードさせ、携帯端末１３０に資産管理アプリケーションをインストールさせる。その結果、携帯端末１３０が本実施形態の携帯端末２０００として機能するようになる。なお、QR コード（登録商標）などのコードを利用して携帯端末にアプリケーションをインストールする技術には、既存の技術を利用することができる。
【００９０】
＜動作の流れ＞
上述した想定環境において情報処理システム４０００が動作する流れを説明する。まず前述したように、ユーザは、資産管理アプリケーションを携帯端末１３０にインストールする。ユーザは、携帯端末１３０を操作して、資産管理アプリケーションを起動する。資産管理アプリケーションは、携帯端末１３０において初めて起動されたことを認識すると、動作環境情報を生成し、その動作環境情報をサーバ装置３０００へ送信する。
【００９１】
サーバ装置３０００は、受信した動作環境情報が第１判定情報に含まれるか否かを判定する。ここで、本実施例の携帯端末１３０の動作環境情報が第１判定情報に含まれていなかったとする。この場合、サーバ装置３０００は、携帯端末１３０において資産管理アプリケーションのテストが必要であると判定し、その判定結果（第１判定結果）を携帯端末１３０へ送信する。この第１判定結果を受信した資産管理アプリケーションは、テストモードへ遷移する。
【００９２】
＜資産管理アプリケーションのテスト＞
資産管理アプリケーションのテストは、１）バーコード３０を正しく読み取ることができるかどうかのテスト（以下、第１テスト）、及び２）バーコード３０の読み取り結果が正しく表示画面４０に表示されるかどうかのテスト（以下、第２テスト）という２つを含む。
【００９３】
図１２は、第１テストを例示する図である。第１テストにおいて、ユーザは、携帯端末１３０のカメラに、テスト用のバーコード３０を撮像させる。テスト用のバーコード３０は、前述した Web ページ１２０に表示されている。資産管理アプリケーションは、携帯端末１３０に設けられているカメラによって撮像されたバーコード３０を復号することで、バーコード３０によって表される識別子を特定する。資産管理アプリケーションは、この特定した識別子をサーバ装置３０００へ送信する。
【００９４】
サーバ装置３０００は、資産管理アプリケーションから受信した識別子が正しいか否かを判定する。具体的には、サーバ装置３０００は、受信した識別子と、前述した Web ページ１２０に含まれるテスト用のバーコード３０によって表される資産識別子とが一致するかどうかを判定する。これらが一致する場合、サーバ装置３０００は、「携帯端末１３０においてバーコード３０を正しく読み取ることができる」と判定する。一方、これらが一致しない場合、サーバ装置３０００は、「携帯端末１３０においてバーコード３０を正しく読み取ることができない」と判定する。
【００９５】
なお、第１テストに利用されるバーコード３０の数は、１つであってもよいし、複数であってもよい。図１２の例では、２つのバーコード３０（バーコード３０−１及びバーコード３０−２）が利用される。そのため、サーバ装置３０００は、携帯端末１３０がバーコード３０−１から読み取った識別子とバーコード３０−２から読み取った識別子の双方が正しい場合に、「携帯端末１３０においてバーコード３０を正しく読み取ることができる」と判定する。一方、上記の識別子のいずれか一方又は双方が正しくない場合、サーバ装置３０００は、「携帯端末１３０においてバーコード３０を正しく読み取ることができない」と判定する。
【００９６】
図１３は、第２テストを例示する図である。第２テストは、第１テストの後に行われる。資産管理アプリケーションは、第１テストにおいてバーコード３０を読み取った結果を含む画面１４０を生成し、携帯端末１３０の表示画面４０に表示させる。画面１４０は、表示エリア１４２と選択ボタン（ＯＫボタン１４４及びＮＧボタン１４６）を含む。表示エリア１４２は、バーコード３０の読み取り結果が表示されるエリアである。
【００９７】
ここで、前述した Web ページ１２０には、表示画面４０に表示されるべき読み取り結果を表すサンプル画像１５０が表示されている。ユーザは、表示エリア１４２とサンプル画像１５０を比較することで、表示エリア１４２が正しいか否かを判断する。具体的には、ユーザは、表示エリア１４２において表示崩れなどが起こっていないかどうかを判断する。
【００９８】
ユーザは、判断結果に対応する選択ボタンを押下する。表示エリア１４２において読み取り結果が正しく表示されていると判断した場合、ユーザは、ＯＫボタン１４４を押す。一方、表示エリア１４２において読み取り結果が正しく表示されていないと判断した場合、ユーザは、ＮＧボタン１４６を押す。資産管理アプリケーションは、第２テストの結果（ユーザによる判断の結果）を示す情報をサーバ装置３０００へ送信する。
【００９９】
サーバ装置３０００は、第１テストの結果及び第２テストの結果に基づいて、携帯端末１３０において資産管理アプリケーションのメイン処理の実行を許可するか否かを判定する。具体的には、１）第１テストにおいて、バーコード３０を正しく読み取ることができると判定し、なおかつ２）第２テストにおいて、ＯＫボタン１４４が押された場合、サーバ装置３０００は、携帯端末１３０において資産管理アプリケーションのメイン処理の実行を許可すると判定する。一方、１）第１テストにおいて、バーコード３０を正しく読み取ることができないと判定したか、又は２）第２テストにおいて、ＮＧボタン１４６が押された場合、サーバ装置３０００は、携帯端末１３０において資産管理アプリケーションのメイン処理の実行を許可しないと判定する。サーバ装置３０００は、この判定結果（第２判定結果）を資産管理アプリケーションへ送信する。
【０１００】
資産管理アプリケーションは、サーバ装置３０００から送信された第２判定結果を受信する。第２判定結果が、資産管理アプリケーションのメイン処理の実行を許可することを示す場合、資産管理アプリケーションはメインモードに遷移する。よって、資産管理アプリケーションにおいてメイン処理が実行される。一方、第２判定結果が、資産管理アプリケーションのメイン処理の実行を許可しないことを示す場合、資産管理アプリケーションはメインモードに遷移しない。例えばこの場合、資産管理アプリケーションは終了する。
【０１０１】
なお、１）第１テストにおいて、バーコード３０を正しく読み取ることができないと判定されたか、又は２）第２テストにおいて、ＮＧボタン１４６が押された場合、携帯端末１３０の動作環境においてアプリケーション１０が正しく動作していないことを意味する。よって、アプリケーション１０が正しく動作しない原因を究明し、アプリケーション１０を改修する必要がある。そこでこの場合、サーバ装置３０００は、携帯端末１３０の動作環境、第１テストの結果、及び第２テストの結果を示す情報（以下、不具合情報）を生成することが好適である。この不具合情報は、アプリケーション１０の改修作業に活用することができる。
【０１０２】
さらに、上記不具合情報に基づくアプリケーション１０の改修作業が完了した場合、不具合情報に示される動作環境ではアプリケーション１０が正しく動作するようになったことが保証されると言える。そこで、例えばアプリケーションの改修を行った作業者は、携帯端末１３０の動作環境においてアプリケーション１０のテストが必要ないことを示すように、第１判定情報を更新してもよい。本実施例の場合、携帯端末１３０の動作環境情報を第１判定情報に追加することで、その動作環境情報によって表される動作環境においてアプリケーション１０のテストが必要ないことが表される。
【０１０３】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記各実施形態の組み合わせ、又は上記以外の様々な構成を採用することもできる。
【０１０４】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
１．  携帯端末であって、
当該携帯端末における所定プログラムの動作環境を示す動作環境情報をサーバ装置へ送信する送信手段と、
前記動作環境情報の送信に応じて、前記サーバ装置から、前記所定プログラムのテストが必要であるか否かを示す第１判定結果を受信する受信手段と、
前記第１判定結果が前記所定プログラムのテストが必要であることを示す場合に、前記所定プログラムをテストする第１処理を実行する第１処理実行手段と、
前記第１判定結果が前記所定プログラムのテストが必要でないことを示す場合に、前記第１処理以外の前記所定プログラムの処理である第２処理を実行する第２処理実行手段と、を有する携帯端末。
２．  前記動作環境情報は、前記携帯端末の機種の情報、及び前記携帯端末で動作しているオペレーティングシステムの情報を含む、１．に記載の携帯端末。
３．  前記第１処理実行手段によって実行されたテストの結果を前記サーバ装置へ送信する第２送信手段と、
前記テストの結果の送信に応じて、前記サーバ装置から、前記所定プログラムの実行を許可するか否かを示す情報を受信する第２受信手段と、を有し、
前記第２処理実行手段は、前記第２受信手段によって受信された情報が、前記所定プログラムの実行を許可することを示す場合に、前記第２処理を実行する、１．又は２．に記載の携帯端末。
４．  前記第１処理実行手段は、当該携帯端末に設けられているカメラによって撮像されたコードを復号して識別子を算出し、
前記第２送信手段は、前記算出された識別子を前記テストの結果として前記サーバ装置へ送信する、３．に記載の携帯端末。
５．  携帯端末であって、
サーバ装置から所定プログラムをダウンロードするダウンロード手段と、
前記ダウンロードした所定プログラムを実行する実行手段と、を有し、
前記所定プログラムは、
テスト画面を当該携帯端末のディスプレイ装置に表示させ、
前記ディスプレイ装置において前記テスト画面が正常に表示されているか否かを示す情報の入力を受け付け、
前記入力された情報をサーバ装置へ送信する、携帯端末。
【０１０５】
６．  携帯端末から、所定プログラムの動作環境を示す動作環境情報を受信する受信手段と、
各動作環境情報において前記所定プログラムをテストする必要があるか否かを表す第１判定情報を用いて、前記携帯端末において前記所定プログラムのテストが必要であるか否かを判定する判定手段と、
前記判定の結果である第１判定結果を前記携帯端末へ送信する送信手段と、を有するサーバ装置。
７．  前記携帯端末から前記所定プログラムのテストの結果を受信する第２受信手段と
前記テストの結果に基づいて、前記携帯端末において前記所定プログラムの実行を許可するか否かを判定する第２判定手段と、
前記第２判定手段による判定の結果である第２判定結果を前記携帯端末へ送信する第２送信手段と、を有する６．に記載のサーバ装置。
８．  前記携帯端末は、前記テストにおいて、前記携帯端末に設けられているカメラによって撮像されたコードを復号して識別子を算出し、前記算出した識別子を当該サーバ装置へ送信し、
前記第２受信手段は、前記送信された識別子を受信し、
前記第２判定手段は、前記受信した識別子が正しい場合に、前記携帯端末において前記所定プログラムの実行を許可すると判定する、７．に記載のサーバ装置。
９．  動作環境が同じである複数の各前記携帯端末において行われた前記所定プログラムのテストの結果に基づいて、所定数以上又は所定割合以上の前記携帯端末について、前記所定プログラムの実行を許可すると判定された場合に、その動作環境の各前記携帯端末において前記所定プログラムのテストが必要ないことを表すように前記第１判定情報を更新する更新手段を有する、６．乃至８．いずれか一つに記載のサーバ装置。
【０１０６】
１０．  携帯端末及びサーバ装置を有する情報処理システムであって、
前記携帯端末は、
当該携帯端末における所定プログラムの動作環境を示す動作環境情報をサーバ装置へ送信する送信手段と、
前記動作環境情報の送信に応じて、前記サーバ装置から、前記所定プログラムのテストが必要であるか否かを示す第１判定結果を受信する受信手段と、
前記第１判定結果が前記所定プログラムのテストが必要であることを示す場合に、前記所定プログラムをテストする第１処理を実行する第１処理実行手段と、
前記第１判定結果が前記所定プログラムのテストが必要でないことを示す場合に、前記第１処理以外の前記所定プログラムの処理である第２処理を実行する第２処理実行手段と、を有し、
前記サーバ装置は、
前記携帯端末から前記動作環境情報を受信する受信手段と、
各動作環境情報において前記所定プログラムをテストする必要があるか否かを表す第１判定情報を用いて、前記携帯端末において前記所定プログラムのテストが必要であるか否かを判定する判定手段と、
前記判定の結果である前記第１判定結果を前記携帯端末へ送信する送信手段と、を有する、情報処理システム。
１１．  前記携帯端末は、前記第１処理実行手段によって実行されたテストの結果を前記サーバ装置へ送信する第２送信手段を有し、
前記サーバ装置は、
前記テストの結果を受信する第２受信手段と
前記テストの結果に基づいて、前記携帯端末において前記所定プログラムの実行を許可するか否かを判定する第２判定手段と、
前記第２判定手段による判定の結果である第２判定結果を前記携帯端末へ送信する第２送信手段と、を有し、
前記携帯端末は、前記第２判定結果を受信する第２受信手段を有し、
前記第２処理実行手段は、前記第２判定結果が前記所定プログラムの実行を許可することを示す場合に、前記第２処理を実行する、１０．に記載の情報処理システム。
１２．  前記第１処理実行手段は、前記携帯端末に設けられているカメラによって撮像されたコードを復号して識別子を算出し、
前記第２送信手段は、前記算出された識別子を前記テストの結果として前記サーバ装置へ送信し、
前記第２受信手段は、前記送信された識別子を受信し、
前記第２判定手段は、前記受信した識別子が正しい場合に、前記携帯端末において前記所定プログラムの実行を許可すると判定する、１１．に記載の情報処理システム。
【０１０７】
１３．  携帯端末によって実行される制御方法であって、
前記携帯端末における所定プログラムの動作環境を示す動作環境情報をサーバ装置へ送信する送信ステップと、
前記動作環境情報の送信に応じて、前記サーバ装置から、前記所定プログラムのテストが必要であるか否かを示す第１判定結果を受信する受信ステップと、
前記第１判定結果が前記所定プログラムのテストが必要であることを示す場合に、前記所定プログラムをテストする第１処理を実行する第１処理実行ステップと、
前記第１判定結果が前記所定プログラムのテストが必要でないことを示す場合に、前記第１処理以外の前記所定プログラムの処理である第２処理を実行する第２処理実行ステップと、を有する制御方法。
１４．  前記動作環境情報は、前記携帯端末の機種の情報、及び前記携帯端末で動作しているオペレーティングシステムの情報を含む、１３．に記載の制御方法。
１５．  前記第１処理実行ステップにおいて実行されたテストの結果を前記サーバ装置へ送信する第２送信ステップと、
前記テストの結果の送信に応じて、前記サーバ装置から、前記所定プログラムの実行を許可するか否かを示す情報を受信する第２受信ステップと、を有し、
前記第２受信ステップにおいて受信された情報が、前記所定プログラムの実行を許可することを示す場合に、前記第２処理を実行する、１３．又は１４．に記載の制御方法
１６．  前記第１処理実行ステップにおいて、当該携帯端末に設けられているカメラによって撮像されたコードを復号して識別子を算出し、
前記第２送信ステップにおいて、前記算出された識別子を前記テストの結果として前記サーバ装置へ送信する、１５．に記載の制御方法。
１７．  携帯端末によって実行される制御方法であって、
サーバ装置から所定プログラムをダウンロードするダウンロードステップと、
前記ダウンロードした所定プログラムを実行する実行ステップと、を有し、
前記所定プログラムは、
テスト画面を当該携帯端末のディスプレイ装置に表示させ、
前記ディスプレイ装置において前記テスト画面が正常に表示されているか否かを示す情報の入力を受け付け、
前記入力された情報をサーバ装置へ送信する、制御方法。
【０１０８】
１８．  サーバ装置によって実行される制御方法であって、
携帯端末から、所定プログラムの動作環境を示す動作環境情報を受信する受信ステップと、
各動作環境情報において前記所定プログラムをテストする必要があるか否かを表す第１判定情報を用いて、前記携帯端末において前記所定プログラムのテストが必要であるか否かを判定する判定ステップと、
前記判定の結果である第１判定結果を前記携帯端末へ送信する送信ステップと、を有する制御方法。
１９．  前記携帯端末から前記所定プログラムのテストの結果を受信する第２受信ステップと
前記テストの結果に基づいて、前記携帯端末において前記所定プログラムの実行を許可するか否かを判定する第２判定ステップと、
前記第２判定ステップによる判定の結果である第２判定結果を前記携帯端末へ送信する第２送信ステップと、を有する１８．に記載の制御方法。
２０．  前記携帯端末は、前記テストにおいて、前記携帯端末に設けられているカメラによって撮像されたコードを復号して識別子を算出し、前記算出した識別子を当該サーバ装置へ送信し、
前記第２受信ステップにおいて、前記送信された識別子を受信し、
前記第２判定ステップにおいて、前記受信した識別子が正しい場合に、前記携帯端末において前記所定プログラムの実行を許可すると判定する、１９．に記載の制御方法。
２１．  動作環境が同じである複数の各前記携帯端末において行われた前記所定プログラムのテストの結果に基づいて、所定数以上又は所定割合以上の前記携帯端末について、前記所定プログラムの実行を許可すると判定された場合に、その動作環境の各前記携帯端末において前記所定プログラムのテストが必要ないことを表すように前記第１判定情報を更新する更新ステップを有する、１８．乃至２０．いずれか一つに記載の制御方法。
【０１０９】
２２．  携帯端末及びサーバ装置を有する情報処理システムにおいて実行される制御方法であって、
前記携帯端末が、前記携帯端末における所定プログラムの動作環境を示す動作環境情報を前記サーバ装置へ送信する送信手段と、
前記サーバ装置が、前記携帯端末から前記動作環境情報を受信するステップと、
前記サーバ装置が、各動作環境情報において前記所定プログラムをテストする必要があるか否かを表す第１判定情報を用いて、前記携帯端末において前記所定プログラムのテストが必要であるか否かを判定するステップと、
前記サーバ装置が、前記判定の結果である第１判定結果を前記携帯端末へ送信するステップと、
前記携帯端末が、前記サーバ装置から前記第１判定結果を受信するステップと、
前記携帯端末が、前記第１判定結果が前記所定プログラムのテストが必要であることを示す場合に、前記所定プログラムをテストする第１処理を実行するステップと、
前記携帯端末が、前記第１判定結果が前記所定プログラムのテストが必要でないことを示す場合に、前記第１処理以外の前記所定プログラムの処理である第２処理を実行するステップと、を有する制御方法。
２３．  前記携帯端末が、前記テストの結果を前記サーバ装置へ送信するステップと、
前記サーバ装置が、前記テストの結果を受信するステップと、
前記サーバ装置が、前記テストの結果に基づいて、前記携帯端末において前記所定プログラムの実行を許可するか否かを判定するステップと、
前記サーバ装置が、前記テストの結果に基づく判定の結果である第２判定結果を前記携帯端末へ送信するステップと、
前記携帯端末が、前記第２判定結果を受信するステップと、
前記携帯端末が、前記第２判定結果が前記所定プログラムの実行を許可することを示す場合に、前記第２処理を実行するステップと、を有する２２．に記載の制御方法。
２４．  前記テストにおいて、前記携帯端末は、前記携帯端末に設けられているカメラによって撮像されたコードを復号して識別子を算出し、
前記テストの結果は前記算出された識別子であり、
前記サーバ装置は、前記受信した識別子が正しい場合に、前記携帯端末において前記所定プログラムの実行を許可すると判定する、２３．に記載の制御方法。
【０１１０】
２５．  １３．乃至１７．いずれか一つに記載の制御方法の各ステップを携帯端末に実行させるプログラム。
２６．  １８．乃至２１．いずれか一つに記載の制御方法の各ステップをサーバ装置に実行させるプログラム。
【符号の説明】
【０１１１】
１０  アプリケーション
３０  バーコード
４０  表示画面
７０  資産
８０  表示画面
１１０  インストール用コード
１２０  Web ページ
１３０  携帯端末
１４０  画面
１４２  表示エリア
１４４  ＯＫボタン
１４６  ＮＧボタン
１５０  サンプル画像
２００  テーブル
２０２  機種情報
２０４  情報
２０６  メーカ名
２０８  型番
２１０  種類
２１２  バージョン
１０００  計算機
１０２０  バス
１０４０  プロセッサ
１０６０  メモリ
１０８０  ストレージデバイス
１１００  入出力インタフェース
１１２０  ネットワークインタフェース
２０００  携帯端末
２０２０  送信部
２０４０  受信部
２０６０  第１処理実行部
２０８０  第２処理実行部
２１００  第２送信部
２１２０  第２受信部
３０００  サーバ装置
３０２０  受信部
３０３０  判定部
３０４０  送信部
３０８０  第２受信部
３１００  第２判定部
３１２０  第２送信部
３１４０  更新部
４０００  情報処理システム
５０００  計算機
５０２０  バス
５０４０  プロセッサ
５０６０  メモリ
５０８０  ストレージデバイス
５１００  入出力インタフェース
５１２０  ネットワークインタフェース
【図１】
2018160047.tif 000003
【図２】
2018160047.tif 000004
【図３】
2018160047.tif 000005
【図４】
2018160047.tif 000006
【図５】
2018160047.tif 000007
【図６】
2018160047.tif 000008
【図７】
2018160047.tif 000009
【図８】
2018160047.tif 000010
【図９】
2018160047.tif 000011
【図１０】
2018160047.tif 000012
【図１１】
2018160047.tif 000013
【図１２】
2018160047.tif 000014
【図１３】
2018160047.tif 000015