(57)【特許請求の範囲】
【請求項１】
アプリケーションのテストを複数の端末で行うアプリケーションテストシステムにおいて、
アプリケーションをテストするために操作する操作端末の操作状況及び該操作端末の操作に連動してリモートで操作される被操作端末の操作状況を管理する管理サーバーを備え、
該管理サーバーは、
テスト対象のアプリケーションに該操作端末の操作をモニタする端末操作モニタプログラムが注入された処理済アプリケーションがインストールされた該操作端末より、該端末操作モニタプログラムによってモニタされた該操作端末の操作情報を受信する操作情報受信手段と、
該テスト対象のアプリケーション及び該操作情報に基づいて該被操作端末を操作する操作プログラムがインストールされた該被操作端末に該操作情報を送信する操作情報送信手段と
を有することを特徴とするアプリケーションテストシステム。
【請求項２】
アプリケーションのテストを複数の端末で行うアプリケーションテストシステムにおいて、
アプリケーションをテストするために操作する操作端末の操作状況及び該操作端末の操作に連動してリモートで操作される被操作端末の操作状況を管理する管理サーバーを備え、
該管理サーバーは、
テスト対象のアプリケーションを受信するアプリケーション受信手段と、
該テスト対象のアプリケーションに該操作端末の操作をモニタする端末操作モニタプログラムが注入された処理済アプリケーションを送信する処理済アプリケーション送信手段と、
該処理済アプリケーションがインストールされた該操作端末より該端末操作モニタプログラムによってモニタされた該操作端末の操作情報を受信する操作情報受信手段と、
該テスト対象のアプリケーション及び該操作情報に基づいて該被操作端末を操作する操作プログラムがインストールされた該被操作端末に該操作情報を送信する操作情報送信手段と
を有することを特徴とするアプリケーションテストシステム。
【請求項３】
アプリケーションのテストを複数の端末で行うアプリケーションテストシステムにおいて、
アプリケーションをテストするために操作する操作端末の操作に連動してリモートで操作される被操作端末と、
該操作端末及び該被操作端末の操作状況を管理する管理サーバーとを備え、
該管理サーバーは、
テスト対象のアプリケーションに該操作端末の操作をモニタする端末操作モニタプログラムが注入された処理済アプリケーションがインストールされた該操作端末より、該端末操作モニタプログラムによってモニタされた該操作端末の操作情報を受信する操作情報受信手段と、
該テスト対象のアプリケーション及び該操作情報に基づいて該被操作端末を操作する操作プログラムがインストールされた該被操作端末に該操作情報を送信する操作情報送信手段とを有し、
該被操作端末は、
該管理サーバーより該操作情報を受信する操作情報受信手段と、
該操作情報に基づいて該操作プログラムを実行する操作プログラム制御手段と
を有することを特徴とするアプリケーションテストシステム。
【請求項４】
アプリケーションのテストを複数の端末で行うアプリケーションテストシステムにおいて、
アプリケーションをテストするために操作する操作端末と、
該操作端末の操作に連動してリモートで操作される被操作端末と、
該操作端末及び該被操作端末の操作状況を管理する管理サーバーとを備え、
該管理サーバーは、
テスト対象のアプリケーションに該操作端末の操作をモニタする端末操作モニタプログラムが注入された処理済アプリケーションがインストールされた該操作端末より、該端末操作モニタプログラムによってモニタされた該操作端末の操作情報を受信する操作情報受信手段と、
該テスト対象のアプリケーション及び該操作情報に基づいて該被操作端末を操作する操作プログラムがインストールされた該被操作端末に該操作情報を送信する操作情報送信手段とを有し、
該操作端末は、
操作されることによって該端末操作モニタプログラムに基づいて該操作情報を作成する操作情報作成手段と、
該操作情報を該管理サーバーに送信する操作情報送信手段とを有し、
該被操作端末は、
該管理サーバーより該操作情報を受信する操作情報受信手段と、
該操作情報に基づいて該操作プログラムを実行する操作プログラム制御手段と
を有することを特徴とするアプリケーションテストシステム。
【請求項５】
請求項１又は２に記載のアプリケーションテストシステムであって、
該管理サーバーは、
該被操作端末より該被操作端末の操作状況に関する動画データを受信する動画データ受信手段と、
該動画データを該被操作端末の操作状況を表示する操作表示端末に送信する動画データ送信手段と
をさらに有することを特徴とするアプリケーションテストシステム。
【請求項６】
請求項３又は４に記載のアプリケーションテストシステムであって、
該被操作端末は、
該被操作端末の操作状況に関する動画データを作成する動画データ作成手段と、
該動画データを該管理サーバーに送信する動画データ送信手段とを有し、
該管理サーバーは、
該被操作端末から該動画データを受信する動画データ受信手段と、
該動画データを該被操作端末の操作状況を表示する操作表示端末に送信する動画データ送信手段と
をさらに有することを特徴とするアプリケーションテストシステム。
【請求項７】
請求項３又は４に記載のアプリケーションテストシステムであって、
該被操作端末の操作状況を表示する操作表示端末をさらに備え、
該被操作端末は、
該被操作端末の操作状況に関する動画データを作成する動画データ作成手段と、
該動画データを該管理サーバーに送信する動画データ送信手段とを有し、
該管理サーバーは、
該被操作端末から該動画データを受信する動画データ受信手段と、
該動画データを該操作表示端末に送信する動画データ送信手段とを有し、
該操作表示端末は、
該管理サーバーから該動画データを受信する動画データ受信手段と、
該動画データを表示する動画データ表示手段と
をさらに有することを特徴とするアプリケーションテストシステム。
【請求項８】
請求項５乃至７いずれかに記載のアプリケーションテストシステムであって、
該管理サーバーは、該動画データを記録した動画ファイルを作成する動画ファイル作成手段をさらに有することを特徴とするアプリケーションテストシステム。
【請求項９】
請求項１乃至８いずれかに記載のアプリケーションテストシステムであって、
該管理サーバーは、該操作情報を記録した操作記録ファイルを作成する操作記録ファイル作成手段をさらに有することを特徴とするアプリケーションテストシステム。
【請求項１０】
アプリケーションのテストを複数の端末で行うアプリケーションテストシステムにおけるアプリケーションテスト方法であって、
該アプリケーションテストシステムは、アプリケーションをテストするために操作する操作端末の操作状況及び該操作端末の操作に連動してリモートで操作される被操作端末の操作状況を管理する管理サーバーを備え、
該管理サーバーが、
テスト対象のアプリケーションに該操作端末の操作をモニタする端末操作モニタプログラムが注入された処理済アプリケーションがインストールされた該操作端末より、該端末操作モニタプログラムによってモニタされた該操作端末の操作情報を受信する操作情報受信ステップと、
該テスト対象のアプリケーション及び該操作情報に基づいて該被操作端末を操作する操作プログラムがインストールされた該被操作端末に該操作情報を送信する操作情報送信ステップと
を実行することを特徴とするアプリケーションテスト方法。
【請求項１１】
コンピュータを、
アプリケーションのテストを複数の端末で行うアプリケーションテストシステムとして機能させるためのプログラムであって、
該アプリケーションテストシステムは、アプリケーションをテストするために操作する操作端末の操作状況及び該操作端末の操作に連動してリモートで操作される被操作端末の操作状況を管理する管理サーバーを備え、
該管理サーバーは、
テスト対象のアプリケーションに該操作端末の操作をモニタする端末操作モニタプログラムが注入された処理済アプリケーションがインストールされた該操作端末より、該端末操作モニタプログラムによってモニタされた該操作端末の操作情報を受信する操作情報受信手段と、
該テスト対象のアプリケーション及び該操作情報に基づいて該被操作端末を操作する操作プログラムがインストールされた該被操作端末に該操作情報を送信する操作情報送信手段とを有する、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションテストシステム、方法及びプログラムに関する。
【背景技術】
【０００２】
近年、スマートフォンやタブレット、ＰＣ等の端末では（以下、「端末」という）、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のアップデートが多く、様々なバージョンのＯＳが存在するとともに、これらＯＳに対応した機種の数も多い。このため、アプリケーションの開発者は（以下、「テスト実行者」という）、様々なＯＳ、対応機種ごとにアプリケーションのテストを行わなければならず、テスト作業が煩雑化するという問題があった。
【０００３】
そこで、このような問題を解決しようとするものとして、アプリケーションのテストをブラウザから行うアプリケーションテストシステムが知られている（非特許文献１参照）。
【０００４】
この非特許文献１に記載されているアプリケーションテストシステムは、様々なバージョンのＯＳがインストールされた複数の端末を、予めサーバー上で仮想化しておき、この仮想化された端末をブラウザ上で操作することで、アプリケーションテストを行うというものである。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】”スマホアプリ・サイト検証の自動化プラットフォーム”、[online]、〔平成２６年１月１４日検索〕、インターネット＜URL:http://www.scirocco-cloud.com/＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、非特許文献１に記載されているアプリケーションテストシステムにおいて、テスト操作する端末は、あくまで仮想化された端末であり、実際の端末（実機）ではない。そのため、非特許文献１に記載されているアプリケーションテストシステムでは、実機でのアプリケーションの動作を確認することができず、正確なアプリケーションテストを行うことができない（仮想端末と実機では動作環境が異なることから、仮想端末上での操作が実機上で確実に保証されるものとはいえないため）。
【０００７】
また、非特許文献１に記載されているアプリケーションテストシステムは、一機種ごとにテストを行うものであることから、様々なバージョンのＯＳがインストールされた複数の端末を同時に検証することができず、効率的にアプリケーションテストを行うことができない（テスト工数が膨らむ問題がある）。
【０００８】
そこで、本発明は、上記点に鑑みてなされたものであり、様々なバージョンのＯＳがインストールされた複数の端末を、同時に検証することで、テスト工数を大幅に削減し、実機を用いてテスト操作を行うことで、正確なアプリケーションテストの実現を可能にするアプリケーションテストシステム、方法及びプログラムを提供することを目的とするものである。
【課題を解決するための手段】
【０００９】
請求項１の発明に係るアプリケーションテストシステムは、アプリケーションのテストを複数の端末で行うアプリケーションテストシステムにおいて、アプリケーションをテストするために操作する操作端末の操作状況及び該操作端末の操作に連動してリモートで操作される被操作端末の操作状況を管理する管理サーバーを備え、該管理サーバーは、テスト対象のアプリケーションに該操作端末の操作をモニタする端末操作モニタプログラムが注入された処理済アプリケーションがインストールされた該操作端末より、該端末操作モニタプログラムによってモニタされた該操作端末の操作情報を受信する操作情報受信手段と、該テスト対象のアプリケーション及び該操作情報に基づいて該被操作端末を操作する操作プログラムがインストールされた該被操作端末に該操作情報を送信する操作情報送信手段とを有することを特徴とする。
【００１０】
請求項２の発明に係るアプリケーションテストシステムは、アプリケーションのテストを複数の端末で行うアプリケーションテストシステムにおいて、アプリケーションをテストするために操作する操作端末の操作状況及び該操作端末の操作に連動してリモートで操作される被操作端末の操作状況を管理する管理サーバーを備え、該管理サーバーは、テスト対象のアプリケーションを受信するアプリケーション受信手段と、該テスト対象のアプリケーションに該操作端末の操作をモニタする端末操作モニタプログラムが注入された処理済アプリケーションを送信する処理済アプリケーション送信手段と、該処理済アプリケーションがインストールされた該操作端末より該端末操作モニタプログラムによってモニタされた該操作端末の操作情報を受信する操作情報受信手段と、該テスト対象のアプリケーション及び該操作情報に基づいて該被操作端末を操作する操作プログラムがインストールされた該被操作端末に該操作情報を送信する操作情報送信手段とを有することを特徴とする。
【００１１】
請求項３の発明に係るアプリケーションテストシステムは、アプリケーションのテストを複数の端末で行うアプリケーションテストシステムにおいて、アプリケーションをテストするために操作する操作端末の操作に連動してリモートで操作される被操作端末と、該操作端末及び該被操作端末の操作状況を管理する管理サーバーとを備え、該管理サーバーは、テスト対象のアプリケーションに該操作端末の操作をモニタする端末操作モニタプログラムが注入された処理済アプリケーションがインストールされた該操作端末より、該端末操作モニタプログラムによってモニタされた該操作端末の操作情報を受信する操作情報受信手段と、該テスト対象のアプリケーション及び該操作情報に基づいて該被操作端末を操作する操作プログラムがインストールされた該被操作端末に該操作情報を送信する操作情報送信手段とを有し、該被操作端末は、該管理サーバーより該操作情報を受信する操作情報受信手段と、該操作情報に基づいて該操作プログラムを実行する操作プログラム制御手段とを有することを特徴とする。
【００１２】
請求項４の発明に係るアプリケーションテストシステムは、アプリケーションのテストを複数の端末で行うアプリケーションテストシステムにおいて、アプリケーションをテストするために操作する操作端末と、該操作端末の操作に連動してリモートで操作される被操作端末と、該操作端末及び該被操作端末の操作状況を管理する管理サーバーとを備え、該管理サーバーは、テスト対象のアプリケーションに該操作端末の操作をモニタする端末操作モニタプログラムが注入された処理済アプリケーションがインストールされた該操作端末より、該端末操作モニタプログラムによってモニタされた該操作端末の操作情報を受信する操作情報受信手段と、該テスト対象のアプリケーション及び該操作情報に基づいて該被操作端末を操作する操作プログラムがインストールされた該被操作端末に該操作情報を送信する操作情報送信手段とを有し、該操作端末は、操作されることによって該端末操作モニタプログラムに基づいて該操作情報を作成する操作情報作成手段と、該操作情報を該管理サーバーに送信する操作情報送信手段とを有し、該被操作端末は、該管理サーバーより該操作情報を受信する操作情報受信手段と、該操作情報に基づいて該操作プログラムを実行する操作プログラム制御手段とを有することを特徴とする。
【００１４】
請求項５の発明に係るアプリケーションテストシステムは、請求項１又は２に記載のアプリケーションテストシステムであって、該管理サーバーは、該被操作端末より該被操作端末の操作状況に関する動画データを受信する動画データ受信手段と、該動画データを該被操作端末の操作状況を表示する操作表示端末に送信する動画データ送信手段とをさらに有することを特徴とする。
【００１５】
請求項６の発明に係るアプリケーションテストシステムは、請求項３又は４に記載のアプリケーションテストシステムであって、該被操作端末は、該被操作端末の操作状況に関する動画データを作成する動画データ作成手段と、該動画データを該管理サーバーに送信する動画データ送信手段とを有し、該管理サーバーは、該被操作端末から該動画データを受信する動画データ受信手段と、該動画データを該被操作端末の操作状況を表示する操作表示端末に送信する動画データ送信手段とをさらに有することを特徴とする。
【００１６】
請求項７の発明に係るアプリケーションテストシステムは、請求項３又は４に記載のアプリケーションテストシステムであって、該被操作端末の操作状況を表示する操作表示端末をさらに備え、該被操作端末は、該被操作端末の操作状況に関する動画データを作成する動画データ作成手段と、該動画データを該管理サーバーに送信する動画データ送信手段とを有し、該管理サーバーは、該被操作端末から該動画データを受信する動画データ受信手段と、該動画データを該操作表示端末に送信する動画データ送信手段とを有し、該操作表示端末は、該管理サーバーから該動画データを受信する動画データ受信手段と、該動画データを表示する動画データ表示手段とをさらに有することを特徴とする。
【００１７】
請求項８の発明に係るアプリケーションテストシステムは、請求項５乃至７いずれかに記載のアプリケーションテストシステムであって、該管理サーバーは、該動画データを記録した動画ファイルを作成する動画ファイル作成手段をさらに有することを特徴とする。
【００１８】
請求項９の発明に係るアプリケーションテストシステムは、請求項１乃至８いずれかに記載のアプリケーションテストシステムであって、該管理サーバーは、該操作情報を記録した操作記録ファイルを作成する操作記録ファイル作成手段をさらに有することを特徴とする。
【００１９】
請求項１０の発明に係るアプリケーションテスト方法は、アプリケーションのテストを複数の端末で行うアプリケーションテストシステムにおけるアプリケーションテスト方法であって、該アプリケーションテストシステムは、アプリケーションをテストするために操作する操作端末の操作状況及び該操作端末の操作に連動してリモートで操作される被操作端末の操作状況を管理する管理サーバーを備え、該管理サーバーが、テスト対象のアプリケーションに該操作端末の操作をモニタする端末操作モニタプログラムが注入された処理済アプリケーションがインストールされた該操作端末より、該端末操作モニタプログラムによってモニタされた該操作端末の操作情報を受信する操作情報受信ステップと、該テスト対象のアプリケーション及び該操作情報に基づいて該被操作端末を操作する操作プログラムがインストールされた該被操作端末に該操作情報を送信する操作情報送信ステップとを実行することを特徴とする。
【００２０】
請求項１１の発明に係るプログラムは、コンピュータを、アプリケーションのテストを複数の端末で行うアプリケーションテストシステムとして機能させるためのプログラムであって、該アプリケーションテストシステムは、アプリケーションをテストするために操作する操作端末の操作状況及び該操作端末の操作に連動してリモートで操作される被操作端末の操作状況を管理する管理サーバーを備え、該管理サーバーは、テスト対象のアプリケーションに該操作端末の操作をモニタする端末操作モニタプログラムが注入された処理済アプリケーションがインストールされた該操作端末より、該端末操作モニタプログラムによってモニタされた該操作端末の操作情報を受信する操作情報受信手段と、該テスト対象のアプリケーション及び該操作情報に基づいて該被操作端末を操作する操作プログラムがインストールされた該被操作端末に該操作情報を送信する操作情報送信手段とを有することを特徴とする。
【発明の効果】
【００２１】
請求項１乃至４、１０及び１１に記載の発明では、操作端末の操作に連動して、リモートで被操作端末を操作することができることから、様々なバージョンのＯＳがインストールされた複数の端末を同時に検証することが可能であり、テスト工数を大幅に削減することができる（効率的なアプリケーションテストを実現する）。また、これらの発明では、操作端末及び被操作端末に実機を用いることができ、仮想端末では検証できない実機特有のアプリケーションの動作状況を確認することができる（実機特有の操作を含めた正確なアプリケーションテストの実現を可能にする）。
【００２２】
請求項５乃至７に記載の発明では、管理サーバーが、被操作端末の操作状況に関する動画データを受信し、係る動画データを被操作端末の操作状況を表示する操作表示端末に送信する手段を有することから、テスト実行者は、操作表示端末を通じて、アプリケーションテストの状況（被操作端末の操作状況）をリアルタイムで確認することができる。これにより、テスト実行者は、操作端末を操作しながら複数の被操作端末の操作状況を直接確認する必要がなく、操作表示端末を通じて、複数の被操作端末の操作状況を一覧的に確認することができることから、本発明では効率的にアプリケーションテストを行うことができる。
【００２３】
請求項８に記載の発明では、管理サーバーは、被操作端末の操作状況に関する動画データを記録した動画ファイルを作成する手段を有することから、テスト実行者は、アプリケーションテスト終了後に再度、被操作端末の操作状況を確認することができる（被操作端末の操作状況をリプレイ動画で確認する）。これにより、本発明では、実機による一連のテスト操作をした後に被操作端末の操作状況を確認することができる。
【００２４】
請求項９に記載の発明では、管理サーバーは、操作端末の操作情報を記録した操作記録ファイルを作成する手段を有することから、テスト実行者は、アプリケーションテストを再テストする際、再度、操作端末を操作することなく、操作記録ファイルに記録された操作情報に基づいて被操作端末を操作することができる（テストの自動化が可能となる）。これにより、本発明では、同様のアプリケーションテストを繰り返し行うことができることから、効率的かつ漏れのない正確なアプリケーションテストを行うことができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施例１に係るアプリケーションテストシステムの全体構成を示す図である。
【図２】本発明の実施例１に係るアプリケーションテストシステムの管理サーバーのハードウェア構成を示す図である。
【図３】本発明の実施例１に係るアプリケーションテストシステムの構成を示すブロック図である。
【図４】本発明の実施例１に係るアプリケーションテストシステムにおいて、被操作端末を操作端末の操作に連動してリモートで操作するための手順を示すフローチャートである。
【図５】本発明の実施例１に係るアプリケーションテストシステムにおいて、被操作端末の操作状況に関する動画データを操作表示端末で表示するための手順を示すフローチャートである。
【図６】本発明の実施例１に係るアプリケーションテストシステムにおいて、被操作端末の操作状況に関するリプレイ動画を操作表示端末で表示するための手順を示すフローチャートである。
【図７】本発明の実施例１に係るアプリケーションテストシステムにおいて、アプリケーションテストを自動で再テストするための手順を示すフローチャートである。
【図８】本発明の実施例１に係るアプリケーションテストシステムの操作表示端末に被操作端末の操作状況に関する動画データが表示された際の画面表示を示す図である。
【発明を実施するための形態】
【００２６】
以下、添付図面を参照しながら本発明を実施するための形態について詳細に説明する。
【実施例１】
【００２７】
図１は、本発明の実施例１に係るアプリケーションテストシステムの全体構成を示す図である。
【００２８】
本アプリケーションテストシステムは、操作端末３０の操作状況及び被操作端末２０の操作状況を管理する管理サーバー１０と、アプリケーションをテストするために操作する操作端末３０と、操作端末３０の操作に連動してリモートで操作される被操作端末２０（被操作端末２０は、１台〜ｎ台（ｎは１以上の整数）で構成される）と、被操作端末２０の操作状況を表示する操作表示端末４０とから構成される。
【００２９】
管理サーバー１０は、操作端末３０及び操作表示端末４０とインターネット網を介して接続されており、被操作端末２０は、ケーブル等の有線又は近距離無線等の無線により管理サーバー１０に接続される。
【００３０】
なお、本アプリケーションテストシステムでは、操作端末３０及び操作表示端末４０に対して、アプリケーションテストサービスを提供する場合、管理サーバー１０及び被操作端末２０からみて、操作端末３０及び操作表示端末４０の使用者を顧客（本アプリケーションテストサービスを利用するテスト実行者。以下、「テスト実行者」という）と呼ぶことができ、テスト実行者からみて管理サーバー１０及び被操作端末２０を使用する者をサービス提供者と呼ぶことができる。
【００３１】
次に、管理サーバー１０、被操作端末２０、操作端末３０及び操作表示端末４０のハードウェア構成について説明する。図２は、本発明の実施例１に係るアプリケーションテストシステムの管理サーバーのハードウェア構成を示す図である。
【００３２】
管理サーバー１０は、制御部１１１、メモリ１１２、キーボード等の入力部１１３、ディスプレイ等の出力部１１４、ハードディスク１１５、ＣＤ−ＲＯＭドライブ１１６及び通信部１１８を備える。通信部１１８は、被操作端末２０、操作端末３０及び操作表示端末４０と情報の送受信を行う。
【００３３】
被操作端末２０及び操作端末３０は、ネットワーク接続機能を有するスマートフォン、タブレット端末又は小型のパーソナルコンピュータ（ＰＣ）等のハードウェアから構成される（図示略）。また、操作表示端末４０は、ネットワーク接続機能を有するパーソナルコンピュータ（ＰＣ）より構成される（図示略）。
【００３４】
続いて、上述のように構成されたアプリケーションテストシステムの動作について説明する。
【００３５】
まず、図３及び図４に基づいて、被操作端末２０を操作端末３０の操作に連動してリモートで操作するための動作について説明する。図３は本発明の実施例１に係るアプリケーションテストシステムの構成を示すブロック図であり、図４は本発明の実施例１に係るアプリケーションテストシステムにおいて、被操作端末２０を操作端末３０の操作に連動してリモートで操作するための手順を示すフローチャートである。
【００３６】
まず、ステップＳ１では、管理サーバー１０は、インターネットを介して通信部１１８によって、テスト対象アプリケーション１を受信する（テスト対象アプリケーション受信手段１１）。具体的には、管理サーバー１０は、テスト実行者側にある端末（例えば、操作表示端末４０）から送信されたテスト対象アプリケーション１を受信し、これをハードディスク１１５に記憶する。
【００３７】
ステップＳ２では、管理サーバー１０は、通信部１１８によって、テスト対象アプリケーション１を被操作端末２０に送信する。ステップＳ３では、被操作端末２０は、管理サーバー１０より送信されたテスト対象アプリケーション１を受信する。受信したテスト対象アプリケーション１は、被操作端末２０のメモリ（図示略）に記憶される。
【００３８】
ステップＳ４では、被操作端末２０は、メモリに記憶されているテスト対象アプリケーション１をインストールする。このとき、予め、被操作端末２０に自動インストールプログラムをインストールしておき、被操作端末２０のメモリにテスト対象アプリケーション１が記憶された段階で、テスト対象アプリケーション１を被操作端末２０に自動的にインストールするようにするとよい。
【００３９】
ステップＳ５では、管理サーバー１０は、操作端末３０の操作をモニタして端末がどのように操作されたかを示す操作情報を作成する端末操作モニタプログラム３をテスト対象アプリケーション１に注入する（テスト対象アプリケーション１に端末操作モニタプログラム３が注入されたアプリケーションを、以下、「処理済アプリケーション」という）。具体的には、テスト対象アプリケーション１のコードに端末操作モニタプログラム３のコードを追加するようにする。このとき、端末操作モニタプログラム３をテスト対象アプリケーション１に依存しないコードで構成しておくとよい。テスト対象アプリケーション１のコードに端末操作モニタプログラム３のコードを形式的に追加することで、係る注入作業を迅速に行うためである。なお、このとき、端末操作モニタプログラム３を、予め、管理サーバー１０のハードディスク１１５に格納しておくとよい。
【００４０】
ステップＳ６では、管理サーバー１０は、通信部１１８によって、処理済アプリケーション２を操作端末３０に送信する（処理済アプリケーション送信手段１２）。ステップＳ７では、操作端末３０は、管理サーバー１０より送信された処理済アプリケーション２を受信する。受信した処理済アプリケーション２は、操作端末３０のメモリ（図示略）に記憶される。ステップＳ８では、テスト実行者は、処理済アプリケーション２を操作端末３０にインストールする。
【００４１】
ステップＳ９では、テスト実行者は、テスト対象アプリケーション１のテストを行うべく、操作端末３０の操作を実行する。ここで、操作端末３０の操作とは、テスト対象アプリケーション１の起動やテスト対象アプリケーション１内の各種機能の操作のことをいう。なお、操作端末３０にインストールされているアプリケーションは、処理済アプリケーション２であるが、処理済アプリケーション２は、上述のとおり、テスト対象アプリケーション１に端末操作モニタプログラム３が注入されたアプリケーションのことであるから、テスト実行者が操作端末３０を通じて操作を行うのは、実質的にテスト対象アプリケーション１となる（端末操作モニタプログラム３は、操作端末３０の操作をモニタすることを目的とするのみであり、テスト対象アプリケーション１のプログラム内容に変更を加えるものではないため）。
【００４２】
ステップＳ１０では、操作端末３０は、テスト実行者の操作端末３０の操作に従い、操作情報を作成する（操作情報作成手段３１）。より詳しくは、テスト実行者が、操作端末３０を通じてテスト対象アプリケーション１を操作すると、係る操作の内容は、テスト対象アプリケーション１に注入されている端末操作モニタプログラム３に基づいて、操作情報として操作端末３０のメモリに記憶される。例えば、操作端末３０がスマートフォンである場合、テスト実行者が、表示画面（図示略）上のテスト対象アプリケーション１のアイコンをタップしたときには（テスト対象アプリケーション１の起動）、このアイコンをタップしたという情報が端末操作モニタプログラム３に基づいて、操作情報として操作端末３０のメモリに記憶されることになる。また、テスト実行者がテスト対象アプリケーション１内にある各種機能（例えば、スケジュール管理アプリケーションであれば、スケジュールやタスクの入力更新機能等）を発揮させるためにタップ、フリック等のタッチパネル操作、操作端末３０の姿勢傾斜操作などを行った場合にも、これら操作の情報は端末操作モニタプログラム３に基づいて、操作情報として操作端末３０のメモリに記憶される。
【００４３】
ステップＳ１１では、操作端末３０は、メモリに記憶されている操作情報を管理サーバー１０に送信する（操作情報送信手段３２）。ステップＳ１２では、管理サーバー１０は、通信部１１８によって、操作端末３０より操作情報を受信する（操作情報受信手段１３）。管理サーバー１０は、受信した操作情報をメモリ１１２に記憶する。
【００４４】
ステップＳ１３では、管理サーバー１０は、通信部１１８によって、被操作端末２０に操作プログラム４を送信する。ここで、操作プログラムとは、操作端末３０が作成した操作情報に基づいて被操作端末２０を操作するためのプログラムをいう。なお、操作プログラム４は、予め、管理サーバー１０のハードディスク１１５に格納しておくとよい。
【００４５】
ステップＳ１４では、被操作端末２０は、管理サーバー１０より操作プログラム４を受信する。受信した操作プログラム４は、被操作端末２０のメモリに記憶される。ステップＳ１５では、被操作端末２０は、メモリに記憶されている操作プログラム４をインストールする。このとき、予め、被操作端末２０に自動インストールプログラムをインストールしておき、被操作端末２０のメモリに操作プログラム４が記憶された段階で、操作プログラム４を被操作端末２０に自動的にインストールするようにするとよい。
【００４６】
ステップＳ１６では、管理サーバー１０は、通信部１１８によって、被操作端末２０に操作情報を送信する（操作情報送信手段１４）。ステップＳ１７では、被操作端末２０は、管理サーバー１０より操作情報を受信する（操作情報受信手段２１）。受信した操作情報は、被操作端末２０のメモリに記憶される。
【００４７】
ステップＳ１８では、被操作端末２０は、メモリに記憶された操作情報に基づいて操作プログラム４を実行すべく、操作プログラム４の制御を開始する（操作プログラム制御手段２２）。具体的には、操作プログラム４が実行されると、被操作端末２０の制御部（図示略）は、該操作情報の内容（操作端末３０の操作内容）と同様の内容の操作を行うよう被操作端末２０全体を制御する。例えば、操作端末３０がスマートフォンである場合、テスト実行者が、操作端末３０の表示画面（図示略）上のテスト対象アプリケーション１のアイコンをタップしたとき（テスト対象アプリケーション１の起動）、このアイコンをタップしたという情報（操作情報）は、操作端末３０から管理サーバー１０を介して被操作端末２０に送信される（ステップＳ１１、ステップＳ１６、ステップＳ１７）。そして、該操作情報を受信した被操作端末２０が、該操作情報に基づいて操作プログラム４を実行すると、被操作端末２０の制御部は、該操作情報の内容（操作端末３０でテスト対象アプリケーション１のアイコンがタップされたという内容）と同様の内容の操作を行うべく、被操作端末２０全体の制御を開始し、被操作端末２０上では、操作端末３０で行われた操作と同じ操作が行われる（被操作端末２０は、操作端末３０の操作に連動してリモートで操作されることになる。ステップＳ１９）。なお、テスト実行者が操作端末３０上で、テスト対象アプリケーション１内にある各種機能（例えば、スケジュール管理アプリケーションであれば、スケジュールやタスクの入力更新機能等）を発揮させるためにタップ、フリック等の操作を行った場合にも、上記同様の手順が繰り返される。
【００４８】
次に、図３、図５及び図８に基づいて、被操作端末２０の操作状況に関する動画データを操作表示端末４０に表示するための動作について説明する。図５は本発明の実施例１に係るアプリケーションテストシステムにおいて、被操作端末の操作状況に関する動画データを操作表示端末で表示するための手順を示すフローチャートである。また、図８は本発明の実施例１に係るアプリケーションテストシステムの操作表示端末に被操作端末の操作状況に関する動画データが表示された際の画面表示を示す図である。
【００４９】
ステップＳ２０では、被操作端末２０は、被操作端末２０の操作状況（操作端末３０の操作に連動してリモートで操作されている状況）に関する動画データを作成する（動画データ作成手段２３）。具体的には、まず、被操作端末２０の操作状況に関する動画データを作成するための動画データ作成プログラムを、予め、被操作端末２０にインストールしておく。そして、被操作端末２０は、操作端末３０の操作に連動してリモートで操作されている状況（被操作端末２０の表示部である画面（図示略）に表示されている被操作端末２０の操作状況の内容）を、順次、動画データ作成プログラムに基づいて、動画データとしてメモリに記憶していく。
【００５０】
ステップＳ２１では、被操作端末２０は、ステップＳ２０でメモリに記憶した動画データを、管理サーバー１０に送信する（動画データ送信手段２４）。ステップＳ２２では、管理サーバー１０は、被操作端末２０より送信される動画データを、通信部１１８によって受信する（動画データ受信手段１５）。なお、受信した動画データは、管理サーバー１０のメモリ１１２に記憶される。ステップＳ２３では、管理サーバー１０は、通信部１１８によって、動画データを操作表示端末４０に送信する（動画データ送信手段１６）。
【００５１】
ステップＳ２４では、操作表示端末４０は、管理サーバー１０より送信された動画データを受信する（動画データ受信手段４１）。該動画データは、操作表示端末４０のメモリ（図示略）に記憶される。ステップＳ２５では、操作表示端末４０は、メモリに記憶された動画データを操作表示端末４０の表示部（ディスプレイ。図示略）に表示する（図８参照  動画データ表示手段４２）。ステップＳ２６では、テスト実行者は、操作表示端末４０の表示部（ディスプレイ）を通じて、被操作端末２０の操作状況（被操作端末２０が操作端末３０の操作に連動してリモートで操作されている状況）を確認する。
【００５２】
なお、上述のステップＳ２０からステップＳ２５までの一連の流れ（動画データの作成から動画データの表示まで）について、ライブストリーミング方式（動画データをリアルタイムでエンコードし、そのままストリーミング配信する方式）を採用すれば、テスト実行者は、被操作端末２０の操作状況をリアルタイムで確認することができる。
【００５３】
続いて、図３及び図６に基づいて、被操作端末２０の操作状況に関するリプレイ動画を操作表示端末４０に表示するための動作について説明する。図６は本発明の実施例１に係るアプリケーションテストシステムにおいて、被操作端末の操作状況に関するリプレイ動画を操作表示端末で表示するための手順を示すフローチャートである。
【００５４】
ステップＳ２７では、管理サーバー１０は、ステップＳ２２でメモリ１１２に記憶した動画データに基づいて、動画ファイルを作成する（動画ファイル作成手段１７）。ここで、動画ファイルとは、被操作端末２０のアプリケーションテストの全工程における一連の操作状況に関する動画データをファイル形式で記録したものである。係る動画ファイルは、管理サーバー１０のハードディスク１１５に記憶される。
【００５５】
ステップＳ２８では、テスト実行者は、サービス提供者に対し、ステップＳ２７で管理サーバー１０が作成した動画ファイルの取得申請を行う。例えば、テスト実行者は、操作表示端末４０から管理サーバー１０に動画ファイル取得申請情報を送信する。
【００５６】
ステップＳ２９において、管理サーバー１０がテスト実行者より、通信部１１８によって、動画ファイル取得申請情報を受信した場合には、管理サーバー１０は、通信部１１８によって、係る動画ファイルを操作表示端末４０に送信する（ステップＳ３０）。
【００５７】
ステップＳ３１では、操作表示端末４０は、管理サーバー１０より送信された動画ファイルを受信する。係る動画ファイルは操作表示端末４０のメモリに記憶される。
【００５８】
ステップＳ３２では、操作表示端末４０は、メモリに記憶された動画ファイルを操作表示端末４０の表示部（ディスプレイ）に表示する（図８と同様の画面表示がなされる）。ステップＳ３３において、テスト実行者は、操作表示端末４０の表示部（ディスプレイ）を通じて、被操作端末２０のアプリケーションテストの全工程における一連の操作状況を再度確認する（被操作端末２０の操作状況に関するリプレイ動画の確認）。
【００５９】
最後に、図３及び図７に基づいて、テスト対象アプリケーション１のテストを自動で再テストするための動作について説明する。図７は本発明の実施例１に係るアプリケーションテストシステムにおいて、アプリケーションテストを自動で再テストするための手順を示すフローチャートである。
【００６０】
ステップＳ３４では、管理サーバー１０は、ステップＳ１２においてメモリ１１２に記憶した操作情報に基づいて操作記録ファイルを作成する（操作記録ファイル作成手段１８）。ここで、操作記録ファイルとは、操作端末３０のアプリケーションテストの全工程における一連の操作内容をファイル形式で記録したものである。係る操作記録ファイルは、管理サーバー１０のハードディスク１１５に記憶される。
【００６１】
ステップＳ３５では、テスト実行者は、サービス提供者に対し、アプリケーションテストの再テスト申請を行う。例えば、テスト実行者は、操作表示端末４０から管理サーバー１０にアプリケーションテストの再テスト申請情報を送信する。
【００６２】
ステップＳ３６において、管理サーバー１０がテスト実行者より、通信部１１８によって、アプリケーションテストの再テスト申請情報を受信した場合には、管理サーバー１０は、ハードディスク１１５に記憶してある操作記録ファイルから操作情報を出力する（ステップＳ３７）。
【００６３】
ステップＳ３８では、管理サーバー１０は、操作記録ファイルから出力した操作情報を通信部１１８によって、被操作端末２０に送信する（操作情報送信手段１４）。以後は、ステップＳ１７からの手順と同様の手順を繰り返すことで、被操作端末２０を係る操作情報に基づいて操作する。これにより、被操作端末２０は、操作記録ファイルに記録された操作情報に基づいて操作されることから、テスト対象アプリケーション１のテストを自動で再テストすることが可能となる。
【００６４】
このように、本発明では、上記構成を採用することで、操作端末３０の操作に連動して、リモートで被操作端末２０を操作することができることから、様々なバージョンのＯＳがインストールされた複数の端末を同時に検証することが可能であり、テスト工数を大幅に削減することができる（効率的なアプリケーションテストを実現する）。また、本発明では、操作端末３０及び被操作端末２０に実機を用いることができ、仮想端末では検証できない実機特有のアプリケーションの動作状況を確認することができる（実機特有の操作を含めた正確なアプリケーションテストの実現を可能にする）。
【００６５】
また、本発明では、管理サーバー１０が、被操作端末２０の操作状況に関する動画データを受信し（動画データ受信手段１５）、係る動画データを操作表示端末４０に送信する手段（動画データ送信手段１６）を有することから、テスト実行者は、操作表示端末４０を通じて、アプリケーションテストの状況（被操作端末２０の操作状況）をリアルタイムで確認することができる。これにより、テスト実行者は、操作端末３０を操作しながら複数の被操作端末２０の操作状況を直接確認する必要がなく、操作表示端末４０を通じて、複数の被操作端末２０の操作状況を一覧的に確認することができる（効率的なアプリケーションテストが可能になる）。
【００６６】
さらに、本発明では、管理サーバー１０は、被操作端末２０の操作状況に関する動画データを記録した動画ファイルを作成する手段（動画ファイル作成手段１７）を有することから、テスト実行者は、アプリケーションテスト終了後に再度、操作表示端末４０を通じて、被操作端末２０の操作状況を確認することができる（被操作端末２０の操作状況をリプレイ動画で確認する）。これにより、本発明では、漏れのない正確なアプリケーションテストを行うことができる。
【００６７】
加えて、本発明では、管理サーバー１０は、操作端末３０の操作情報を記録した操作記録ファイルを作成する手段（操作記録ファイル作成手段１８）を有することから、テスト実行者は、アプリケーションテストを再テストする際、再度、操作端末３０を操作することなく、操作記録ファイルに記録された操作情報に基づいて被操作端末２０を操作することができる（テストの自動化が可能となる）。これにより、本発明では、同様のアプリケーションテストを繰り返し行うことができることから、効率的かつ漏れのない正確なアプリケーションテストを行うことができる。
【００６８】
なお、本実施例では、管理サーバー１０及び被操作端末２０からみて、操作端末３０及び操作表示端末４０の使用者を顧客（テスト実行者）とし、テスト実行者からみて管理サーバー１０及び被操作端末２０を使用する者をサービス提供者としているが、管理サーバー１０、被操作端末２０、操作端末３０及び操作表示端末４０のすべてをテスト実行者又はサービス提供者側におくものとしてもよい。このとき、被操作端末２０、操作端末３０及び操作表示端末４０を、それぞれ、管理サーバー１０とケーブル等の有線又は近距離無線等の無線により接続しておくとよい。また、管理サーバー１０のみをサービス提供者側におき、被操作端末２０、操作端末３０及び操作表示端末４０をテスト実行者側におくものとしてもよい。このとき、被操作端末２０、操作端末３０及び操作表示端末４０のそれぞれをインターネット網を介して管理サーバー１０に接続しておくとよい。
【００６９】
また、本実施例では、管理サーバー１０は、テスト実行者側にある端末（例えば、操作表示端末４０）からテスト対象アプリケーション１を受信するものとしているが、例えば、これをテスト対象アプリケーション１が格納されたＣＤ−ＲＯＭ１１７をＣＤ−ＲＯＭドライブ１１６から管理サーバー１０に入力するようにしてもよい。
【００７０】
さらに、本実施例では、被操作端末２０は、管理サーバー１０よりテスト対象アプリケーション１及び操作プログラム４を受信するものとしているが、例えば、これをテスト対象アプリケーション１及び操作プログラム４が格納された記録媒体（ＣＤ−ＲＯＭやＵＳＢメモリ等）により被操作端末２０に入力するようにしてもよい。また、本実施例では、テスト対象アプリケーション１及び操作プログラム４を被操作端末２０に自動的にインストールするものとしているが、係るインストール作業をサービス提供者（被操作端末２０がテスト実行者側におかれる場合はテスト実行者）が行うようにしてもよい。
【００７１】
加えて、本実施例では、管理サーバー１０は、端末操作モニタプログラム３をテスト対象アプリケーション１に注入（テスト対象アプリケーション１のコードに端末操作モニタプログラム３のコードを追加する）するものとしているが、これをテスト実行者側で行うものとしてもよい。例えば、テスト対象アプリケーション１は、テスト実行者側で開発されたものであることから、テスト実行者側の端末（例えば、操作表示端末４０）に格納されているため、管理サーバー１０は、端末操作モニタプログラム３のみをテスト実行者側にある操作表示端末４０に送信する（端末操作モニタプログラム３が格納された記録媒体（ＣＤ−ＲＯＭ等）により、端末操作モニタプログラム３を操作表示端末４０に入力するようにしてもよい。）。そして、テスト実行者は、操作表示端末４０上で端末操作モニタプログラム３をテスト対象アプリケーション１に注入し、処理済アプリケーション２を作成した上で、これを操作端末３０に入力する。このとき、操作端末３０を操作表示端末４０に、ケーブル等の有線又は近距離無線等の無線により接続しておくとよい。
【００７２】
本実施例では、管理サーバー１０は、通信部１１８によって、処理済アプリケーション２を操作端末３０に送信するものとしているが、これを操作表示端末４０に送信するものとしてもよい。このとき、処理済アプリケーション２は、操作表示端末４０を介して、操作端末３０に入力される。なお、この場合、操作端末３０を操作表示端末４０に、ケーブル等の有線又は近距離無線等の無線により接続しておくとよい。
【００７３】
また、本実施例では、管理サーバー１０は、通信部１１８によって、処理済アプリケーション２を操作端末３０に送信するものとしているが、例えば、これを処理済アプリケーション２が格納された記録媒体（ＣＤ−ＲＯＭやＵＳＢメモリ等）により操作端末３０に入力するようにしてもよい。
【００７４】
本実施例では、管理サーバー１０は、端末操作モニタプログラム３をテスト対象アプリケーション１に注入することで処理済アプリケーション２を作成するものとしているが、例えば、この構成に変えて、テスト対象アプリケーション１と端末操作モニタプログラム３を別々に操作端末３０上で機能させるよう構成してもよい（処理済アプリケーション２の作成を行わない）。この場合、操作端末３０には、テスト対象アプリケーション１と端末操作モニタプログラム３が別々に入力される（例えば、操作端末３０は、テスト対象アプリケーション１と端末操作モニタプログラム３を別々に管理サーバー１０から受信する又はこれらが格納された記録媒体（ＣＤ−ＲＯＭやＵＳＢメモリ等）より操作端末３０に入力する等）。
【００７５】
最後に、本実施例のアプリケーションテストシステムは、アプリケーションテスト方法であってもよいし、コンピュータをアプリケーションテストシステム又は方法として機能させるためのプログラムでも実現される。このプログラムは、コンピュータで読み取り可能な記録媒体に格納されていてもよい。なお、上記記録媒体は、本実施例のアプリケーションテストシステムのＲＯＭそのものや、外部記憶装置（ＣＤ−ＲＯＭドライブ等）に挿入することで読み取り可能なＣＤ−ＲＯＭ、磁気テープ、カセットテープ、フレキシブルディスク、ハードディスク、ＭＯ／ＭＤ／ＤＶＤ等、又は半導体メモリであってもよい。
【００７６】
このように、本実施例では、本発明の趣旨を逸脱しない範囲で種々の変更が可能であることはいうまでもない。
【符号の説明】
【００７７】
１    テスト対象アプリケーション
２    処理済アプリケーション
３    端末操作モニタプログラム
４    操作プログラム
１０  管理サーバー
２０  被操作端末
３０  操作端末
４０  操作表示端末
１１１  制御部
１１２  メモリ
１１３  入力部
１１４  出力部
１１５  ハードディスク
１１６  ＣＤ−ＲＯＭドライブ
１１７  ＣＤ−ＲＯＭ
１１８  通信部
【図１】
0005870126.tif 000002
【図２】
0005870126.tif 000003
【図３】
0005870126.tif 000004
【図４】
0005870126.tif 000005
【図５】
0005870126.tif 000006
【図６】
0005870126.tif 000007
【図７】
0005870126.tif 000008
【図８】
0005870126.tif 000009