(57)【要約】【課題】カーナビゲーション等の特定の地域に依存して処理を実施するアプリケーションの模擬テストの作業を効率化する。【解決手段】動作検証システムは、地図処理部と操作処理部とを有する制御部について、制御部の動作期間中の操作処理部への入力である複数の第１データと複数の第１データの入力の時刻とを対応付けて記憶する記憶部と、複数の第１データの入力の時刻の範囲内の時刻を指定時刻として指定する指定部と、複数の第１データの中から、動作期間の開始から指定時刻までの期間内の時刻に対応する複数のデータを、複数の第１選択データとして選択し、複数の第１選択データの夫々を、対応する時刻順に操作処理部へ送信する送信部と、を備える。【選択図】図１
2014098994.tif 000002
【特許請求の範囲】
【請求項１】
位置情報を取得し、前記位置情報に基づいて画面に地図情報を表示させる地図処理部と、操作を示す操作情報を取得し、前記操作情報に基づく指示を前記地図処理部へ送信し、前記位置情報を取得し、前記位置情報及び前記操作情報に基づく状態を保存する操作処理部とを有する制御部について、前記制御部の動作期間中の前記操作処理部への入力である複数の第１データと前記複数の第１データの入力の時刻とを対応付けて記憶する記憶部と、
前記複数の第１データの入力の時刻の範囲内の時刻を指定時刻として指定する指定部と、
前記複数の第１データの中から、前記動作期間の開始から前記指定時刻までの期間内の時刻に対応する複数のデータを、複数の第１選択データとして選択し、前記複数の第１選択データの夫々を、対応する時刻順に前記操作処理部へ送信する送信部と、
を備える動作検証システム。
【請求項２】
前記記憶部は、前記動作期間中の前記制御部への入力である複数の第２データと前記複数の第２データの入力の時刻とを対応付けて記憶し、
前記送信部は、再生の指示に応じて、前記複数の第２データの中から、前記指定時刻以後の時刻に対応する複数のデータを、複数の第２選択データとして選択し、前記複数の第２選択データの夫々を、対応する時刻順に前記制御部へ送信する、
請求項１に記載の動作検証システム。
【請求項３】
前記指定部は、前記指定時刻を、最後に送信された第２選択データに対応する時刻に変更する、
請求項２に記載の動作検証システム。
【請求項４】
前記指定部は、ユーザによる操作に基づいて前記指定時刻を変更する、
請求項３に記載の動作検証システム。
【請求項５】
前記変更後の指定時刻が前記変更前の指定時刻より前である場合、前記送信部は、前記複数の第１データの中から、前記動作期間の開始から前記変更後の指定時刻までの期間内の時刻に対応する複数のデータを、複数の第３選択データとして選択し、前記複数の第３選択データの夫々を、対応する時刻順に前記操作処理部へ送信する、
請求項４に記載の動作検証システム。
【請求項６】
前記変更後の指定時刻が前記変更前の指定時刻より後である場合、前記送信部は、前記複数の第１データの中から、前記変更前の指定時刻から前記変更後の指定時刻までの期間内の時刻に対応する複数のデータを、複数の第４選択データとして選択し、前記複数の第４選択データの夫々を、対応する時刻順に前記操作処理部へ送信する、
請求項４に記載の動作検証システム。
【請求項７】
前記指定部は、ユーザによる操作に基づいて再生速度を指定し、
前記送信部は、前記再生速度に基づいて、前記複数の第２選択データの送信の時間間隔を決定する、
請求項２に記載の動作検証システム。
【請求項８】
前記記憶部は、前記位置情報と前記位置情報の時刻とを対応付けて記憶し、
前記指定部は、表示装置に地図を表示させ、ユーザにより前記地図上で指定された位置情報を取得し、前記取得された位置情報に対応する時刻を前記指定時刻として指定する、
請求項４に記載の動作検証システム。
【請求項９】
前記記憶部は、前記制御部の動作を示すログと前記ログの時刻とを対応付けて記憶し、
前記指定部は、前記記憶部から前記ログの時刻に対応する位置情報を選択し、前記地図上で前記選択された位置情報に相当する位置に前記ログを示す情報を表示させる、
請求項８に記載の動作検証システム。
【請求項１０】
前記ログは、前記制御部で発生したエラー、前記制御部により使用されるコンピュータリソースの使用状況の何れかを含む、
請求項９に記載の動作検証システム。
【請求項１１】
前記複数の第１データを受信し、前記記憶部へ保存する受信部を更に備え、
請求項１乃至１０の何れか一項に記載の動作検証システム。
【請求項１２】
端末装置を更に備え、
前記端末装置は、
前記制御部と、
前記画面を表示する表示部と、
前記動作期間中に前記制御部から前記複数の第１データを取得する取得部と、
前記取得された複数の第１データを記憶する端末記憶部と、
前記端末記憶部に記憶された複数の第１データを前記受信部へ送信する端末送信部と、
を有する、
請求項１１に記載の動作検証システム。
【請求項１３】
位置情報を取得し、前記位置情報に基づいて画面に地図情報を表示させる地図処理部と、操作を示す操作情報を取得し、前記操作情報に基づく指示を前記地図処理部へ送信し、前記位置情報を取得し、前記位置情報及び前記操作情報に基づく状態を保存する操作処理部とを有する制御部について、前記制御部の動作期間中の前記操作処理部への入力である複数の第１データと前記複数の第１データの入力の時刻とを対応付けて記憶し、
前記複数の第１データの入力の時刻の範囲内の時刻を指定時刻として指定し、
前記複数の第１データの中から、前記動作期間の開始から前記指定時刻までの期間内の時刻に対応する複数のデータを、複数の第１選択データとして選択し、前記複数の第１選択データの夫々を、対応する時刻順に前記操作処理部へ送信する、
ことをコンピュータに実行させる動作検証プログラム。
【請求項１４】
位置情報を取得し、前記位置情報に基づいて画面に地図情報を表示させる地図処理部と、操作を示す操作情報を取得し、前記操作情報に基づく指示を前記地図処理部へ送信し、前記位置情報を取得し、前記位置情報及び前記操作情報に基づく状態を保存する操作処理部とを有する制御部について、前記制御部の動作期間中の前記操作処理部への入力である複数の第１データと前記複数の第１データの入力の時刻とを対応付けて記憶し、
前記複数の第１データの入力の時刻の範囲内の時刻を指定時刻として指定し、
前記複数の第１データの中から、前記動作期間の開始から前記指定時刻までの期間内の時刻に対応する複数のデータを、複数の第１選択データとして選択し、前記複数の第１選択データの夫々を、対応する時刻順に前記操作処理部へ送信する、
ことを備える動作検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置情報に基づいて表示を行う装置の動作検証を行う技術に関する。
【背景技術】
【０００２】
カーナビゲーション等、位置情報を用いるアプリケーション・ソフトウェアの開発において、その動作をテストするとき、実際にアプリケーション・ソフトウェアを特定の地域で稼働させることで正しく処理が実施される方法が考えられる。以下、アプリケーション・ソフトウェアをアプリケーションと呼ぶ。アプリケーションの不具合等により、テストを繰り返し実施することになると多くの手間と時間がかかる。
【０００３】
また、出発地から目的地まで到達するときのガイドを模擬する機能において、検査者が必要とする区間のみの模擬を実現するための指定方法が知られている（特許文献１の段落００３０−００３３、００５３等）。また、画面を備えたソフトウェアを実行する際、ソフトウェアに送信する情報を予め記録しておき、テスト時はこの情報を再現することで、テストの自動化を実現する方法が知られている（特許文献２の段落００１８−００２４等）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−２１３７３号公報
【特許文献２】特開２００１−５６９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
予め収集したセンサやユーザ入力等のログデータを用いて、センサやユーザ入力の振る舞いを摸擬することにより、アプリケーションのテストを繰り返し実施する場合がある。例えば、アプリケーションにおいて見通しの悪い交差点付近に差し掛かったときに発生するはずの警告が発生しない場合、その交差点付近の走行を繰り返し模擬する場合がある。
【０００６】
アプリケーションが状態を保持し、その状態に応じた処理を行う場合、特定時刻の状態を再現するためには、ログデータの最初から順に動作を再現する必要がある。そのため、走行開始してから長時間が経過した後の状態を再現する場合のテストは、多くの時間を要する。
【課題を解決するための手段】
【０００７】
本発明の一態様である動作検証システムは、位置情報を取得し、前記位置情報に基づいて画面に地図情報を表示させる地図処理部と、操作を示す操作情報を取得し、前記操作情報に基づく指示を前記地図処理部へ送信し、前記位置情報を取得し、前記位置情報及び前記操作情報に基づく状態を保存する操作処理部とを有する制御部について、前記制御部の動作期間中の前記操作処理部への入力である複数の第１データと前記複数の第１データの入力の時刻とを対応付けて記憶する記憶部と、前記複数の第１データの入力の時刻の範囲内の時刻を指定時刻として指定する指定部と、前記複数の第１データの中から、前記動作期間の開始から前記指定時刻までの期間内の時刻に対応する複数のデータを、複数の第１選択データとして選択し、前記複数の第１選択データの夫々を、対応する時刻順に前記操作処理部へ送信する送信部と、を備える。
【発明の効果】
【０００８】
本発明の一態様によれば、位置情報を用いるアプリケーションの任意の時刻の状態の再現を高速化することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施例の動作検証システムの構成を示す。
【図２】イベント記録処理におけるデータの流れを示す。
【図３】イベントログＤＢ１２６の内容を示す。
【図４】プログラムログＤＢ１２０の内容を示す。
【図５】リソースログＤＢ１２８の内容を示す。
【図６】アプリケーション１３０により表示されるナビゲーション画面を示す。
【図７】テスト装置の構成を示す。
【図８】イベント送信処理におけるデータの流れを示す。
【図９】テスト装置７００により表示されるテストツール画面を示す。
【図１０】イベント送信処理の動作を示す。
【発明を実施するための形態】
【００１０】
以下、本発明の実施例について図面を参照しつつ説明する。
【００１１】
――――端末装置――――
【００１２】
本実施例では、ナビゲーションのアプリケーションのテストのための動作検証システムについて説明する。
【００１３】
図１は、本発明の実施例の動作検証システムの構成を示す。この動作検証システムは、テストの対象である端末装置１００と、テストを制御するテスト装置７００とを有する。端末装置１００は、地図の閲覧や目的地までの案内機能等をユーザに提供する。端末装置１００は例えば、カーナビゲーション端末装置や、スマートフォンを含む携帯電話機等のコンピュータである。端末装置１００は、記憶装置１２０と、ＣＰＵ１１０と、表示装置１４０と、入力装置１５０と、測位装置１６０と、通信装置１７０と、加速度センサ１６１と、ジャイロセンサ１６２と、車両情報取得装置１６３とを有する。以下、端末装置１００のユーザをエンドユーザと呼ぶ。本実施例では、エンドユーザが配送業者であり、端末装置１００が配送のための経路案内に加えて、配送の進捗を表示する。以後の説明では、「プログラム」を主語として処理を説明する場合がある。プログラムは、プロセッサ（例えばＣＰＵ）によって実行されることで、定められた処理を、適宜に記憶資源（例えばメモリ）及び通信制御装置（例えば通信ポート）を用いながら行うため、処理の主語がプロセッサとされてもよい。
【００１４】
記憶装置１２０は、アプリケーション１３０やログ管理プログラム１２９等のプログラムと、プログラムに必要なデータとを格納する。ＣＰＵ１１０は、記憶装置１２０に格納されたプログラムに従って端末装置１００の各部を制御する。表示装置１４０は、例えば液晶ディスプレイであり、エンドユーザ向けの画面を表示する。入力装置１５０は、例えばタッチパネルやボタンであり、エンドユーザによる操作を操作情報として受け付ける。測位装置１６０は、例えばＧＰＳ（Global Positioning System）受信機であり、端末装置１００が搭載された対象車両の現在の位置を測定し、位置情報として出力する。通信装置１７０は例えば、ＵＳＢ（Universal Serial Bus）等の有線通信装置や、携帯電話網や無線ＬＡＮ（Local Area Network）に接続する無線通信装置であり、後述するテスト装置等、他のコンピュータとの通信を行う。加速度センサ１６１は、端末装置１００の加速度を測定する。ジャイロセンサ１６２は、端末装置の角速度を測定する。車両情報取得装置１６３は、対象車両に接続され、対象車両から車速パルス等の車両情報を取得する。車両情報は、対象車両の車速や、ＡＢＳの発動状況、エアバッグの作動状況等である。測位装置１６０は、無線ＬＡＮや携帯通信網との通信により位置を特定しても良い。また、ＣＰＵ１１０は、時刻を測定する。ＣＰＵ１１０は、ＧＰＳ受信機等により測定された時刻を用いても良い。
【００１５】
アプリケーション１３０は、ＨＭＩ（Human Machine Interface）部１３１と、ライブラリ１３２と、ロケータ１３３と、地図データ１３４と、状態データ１３５とを有する。地図データ１３４は、道路の位置等を示す。ロケータ１３３は、地図データ１３４に基づいて、測位装置１６０からの位置情報を補正する。例えば、ロケータ１３３は、測位装置１６０により測定された位置を地図データ１３４の道路上に合わせることにより、位置情報を補正する。ライブラリ１３２は、ロケータ１３３からの位置情報に基づいて、表示装置１４０に表示させる地図の描画、ルート探索、ルート案内等を行う。ＨＭＩ部１３１は、エンドユーザによる入力装置１５０の操作情報や、ライブラリ１３２からの位置情報を取得し、操作情報及び位置情報に基づいて、表示装置１４０に表示させる表示情報を生成する。表示情報は例えば、エンドユーザの業務に関する情報である。本実施例における表示情報は、配送の進捗を示す。ライブラリ１３２により生成される地図と、ＨＭＩ部１３１により生成される表示情報とは、重ね合されて表示装置１４０の画面に表示される。ＨＭＩ部１３１は更に、アプリケーション１３０の状態を状態データ１３５として保存し、状態データ１３５に基づいて処理を行う。状態データ１３５は、複数の配送先の夫々の配送が済んだかどうかを示す進捗状況、対象車両の現在位置、ライブラリ１３２により描画された地図の縮尺及び方向等を示す。
【００１６】
ロケータ１３３及びライブラリ１３２は、測位装置１６０により測定された位置に加えて、加速度センサ１６１により測定された加速度、ジャイロセンサ１６２により測定された角速度、車両情報取得装置１６３により取得された車両情報等を用いても良い。端末装置１００が、歩行者ナビゲーションを行う場合等において、アプリケーション１３０は、ロケータ１３３を有しなくても良い。
【００１７】
アプリケーション１３０の各要素は、各部で発生するイベントに基づいて処理を行う。例えば、ルート案内機能の場合、アプリケーション１３０は、目的地付近に到達したら目的地の情報を表示装置１４０に表示させる。そのために、ロケータ１３３は、測位装置１６０から位置情報を取得した場合、その位置情報をイベントとしてライブラリ１３２へ送る。このイベントを受けたライブラリ１３２は、現在位置が目的地付近か否かを判定し、現在位置が目的地付近であれば、現在位置が目的地付近であることを示すイベントをＨＭＩ部１３１へ送る。このイベントを受けたＨＭＩ部１３１は、目的地付近の情報を表示装置１４０に表示させる。
【００１８】
イベントの種類は例えば、車両状態に関するイベント（位置情報の取得、急加速、急ブレーキ、急ハンドル等）、地図に関するイベント（交差点への進入、高速道路への進入等）、ルート案内に関するイベント（目的地付近への到着、ルート外れ等）等である。
【００１９】
アプリケーション１３０の各要素には、イベントの種類毎に実施すべき処理が実装される。例えば、ロケータ１３３で位置情報の補正処理が終了したことを示すイベントが発生すると、ライブラリ１３２は、ロケータ１３３で補正された位置が地図内の所定位置になるように地図を再描画する処理を実施する。
【００２０】
イベント駆動型プログラミングと呼ばれる、イベントに基づいて動作するプログラムの開発の手法は、イベントに応じた処理を実装するプログラムをリスナーとして、イベントを発生させるプログラムに登録することにより、イベントを介した連携を実現する。イベントを発生させるプログラムは、イベント発生時に、そのイベントの種類に関連付けて登録されたリスナープログラムを呼び出す。例えば、ライブラリ１３２内の地図を再描画するプログラムをリスナーとしてロケータ１３３に登録しておくことで、ロケータ１３３による位置情報の補正が終了したときに、地図の再描画プログラムが呼ばれる。
【００２１】
アプリケーション１３０がこのような構成を有することにより、各部分の開発者を切り分けることが可能となる。例えば、ライブラリ１３２及びロケータ１３３がソフトウェアパッケージとして販売される場合、ＳＩｅｒ（System Integrator）は、このパッケージを購入して、配送業者向けのナビゲーションのためのＨＭＩ部１３１を開発することができる。
【００２２】
ログ管理プログラム１２９は、イベントログ記録部１２１と、イベントログ再生部１２２と、プログラムログ記録部１２３と、リソースログ記録部１２４と、ログ送信部１２５と、イベントログＤＢ（database）１２６と、プログラムログＤＢ１２７と、リソースログＤＢ１２８とを有する。イベントログ記録部１２１は、アプリケーション１３０の動作期間中に発生するイベントを時系列のイベントログとしてイベントログＤＢ１２６へ記録する。イベントは、アプリケーション１３０内の各部の入出力のデータを示す。イベントログ再生部１２２は、テスト装置７００からのイベントを受信し、アプリケーション１３０内の指定された部分へイベントを送る。プログラムログ記録部１２３は、アプリケーション１３０のプログラムログをプログラムログＤＢ１２７へ記録する。プログラムログは、アプリケーション１３０におけるエラー、障害、内部状態等を示す。リソースログ記録部１２４は、リソースログをリソースログＤＢ１２８へ記録する。リソースログは、端末装置１００におけるコンピュータリソースの使用率等を示す。ログ送信部１２５は、イベントログやプログラムログやリソースログ等をテスト装置７００へ送信する。
【００２３】
テスト終了後、イベントログ記録部１２１、イベントログ再生部１２２、イベントログＤＢ１２６等は、記憶装置１２０から削除されても良い。
【００２４】
――――イベント記録処理――――
【００２５】
以下、端末装置１００の動作中のデータを記録するイベント記録処理について説明する。
【００２６】
図２は、イベント記録処理におけるデータの流れを示す。
【００２７】
この図において、データＤ１１〜Ｄ２７は、アプリケーション１３０の要素間におけるデータの流れを示す。イベントＥ１１〜Ｅ１５は、イベントとして記録されるデータの流れを示す。
【００２８】
まず、アプリケーション１３０は、エンドユーザからの操作情報により、テストのためのルートを設定する。次に、対象車両が実際にルートを走行することにより、端末装置１００は、各種ログを収集する。なお、端末装置１００は、デモンストレーションモードを利用して走行を模擬することにより、各種ログを収集しても良い。
【００２９】
ロケータ１３３は、定期的に測位装置１６０から位置情報を取得し（Ｄ１３）、地図データ１３４に格納された道路情報を用いて（Ｄ２１）、取得された位置情報を道路上の位置情報に補正する。
【００３０】
ライブラリ１３２は、ロケータ１３３から位置情報を取得すると（Ｄ１４）、地図データ１３４から読み出し（Ｄ２２）、地図、現在位置、ルート等を表示装置１４０に表示させる（Ｄ２６）。
【００３１】
ライブラリ１３２は例えば、地図データ１３４に基づいて地図を表示装置１４０に表示させる地図描画プログラムと、ルートを案内するためのガイドを表示装置１４０に表示させるガイドプログラムと、ルートを探索するルート探索プログラムと、ルートの目的地を検索する目的地検索プログラムと、ガイド等のための音声を表示装置１４０に発生させる音声発生プログラムと、エンドユーザへの通知を表示装置１４０に表示させる通知ダイアログ表示プログラムと、対象車両に設けられた各種センサから情報を収集するセンサ情報収集プログラムとを有する。
【００３２】
ＨＭＩ部１３１は、エンドユーザによる入力装置１５０の操作に応じて（Ｄ１１）、アプリケーション１３０の機能を制御する（Ｄ１２）。例えば、地図の縮尺を変更するボタンをエンドユーザが押したとき、ＨＭＩ部１３１は、そのボタンの押下を検知し、ライブラリ１３２に縮尺変更を指示することにより、表示中の地図の縮尺をエンドユーザにより指定された縮尺に変更する。
【００３３】
ＨＭＩ部１３１は、ライブラリ１３２から位置を取得し（Ｄ１５）、操作情報及び位置情報に基づいて表示情報を生成し、表示情報を表示装置１４０に表示させる（Ｄ２５）。例えば、アプリケーション１３０が予め定められた危険位置に差し掛かったときに警告を行う場合、ＨＭＩ部１３１は、ライブラリ１３２から位置情報を受け取ると、現在位置が警告の条件を満たすか否かを判定する。警告の条件は、現在位置が危険位置に向かっている道路上にあり、かつ、現在位置と危険位置の距離が５０ｍ以内であることである。現在位置が警告の条件を満たすと判定された場合、ＨＭＩ部１３１は、ライブラリ１３２に通知ダイアログ表示を指示し、エンドユーザ向けに警告を表示させる。
【００３４】
また、ＨＭＩ部１３１は、状態データ１３５を更新する。例えば、ＨＭＩ部１３１は、配送の進捗状況を状態データ１３５に記録する（Ｄ２４）。また、ＨＭＩ部１３１は、状態データ１３５を読み出し（Ｄ２３）、進捗状況を表示装置１４０に表示させる（Ｄ２５）。
【００３５】
イベントログ記録部１２１は、ＨＭＩ部１３１やライブラリ１３２やロケータ１３３がデータを受信したとき、そのデータを取得してイベントログＤＢ１２６に記録する。Ｅ１１はＤ１１に相当し、Ｅ１２はＤ１５に相当し、Ｅ１３はＤ１２に相当し、Ｅ１４はＤ１４に相当し、Ｅ１５はＤ１３に相当する。
【００３６】
アプリケーション１３０の各要素は、本来のリスナーの他にイベントログ記録部１２１をリスナーとして登録する。これにより、イベントログ記録部１２１は、アプリケーション１３０の各要素からのイベントを取得する。なお、イベントログ記録部１２１は、アプリケーション１３０の要素間のイベントの中継を行い、中継したイベントをイベントログＤＢ１２６に記録しても良い。
【００３７】
アプリケーション１３０の要素間におけるデータは、当該データの送信元の要素名、当該データの送信先の要素名、当該データの種別、当該データの内容とを有する。例えば、ロケータ１３３からライブラリ１３２に送信される位置情報において、送信元は、ロケータ１３３を示し、送信先は、ライブラリ１３２を示し、種別は、位置情報を示し、データは、緯度及び経度等の値を示す。加速度センサ１６１からライブラリ１３２へ送信される加速度情報において、送信元は、加速度センサ１６１を示し、送信先は、ライブラリ１３２を示し、種別は、加速度を示し、データは、Ｘ、Ｙ、Ｚ方向の加速度の値を示す。
【００３８】
図３は、イベントログＤＢ１２６の内容を示す。
【００３９】
イベントログＤＢ１２６は、イベント毎のエントリを有する。或るデータのイベントのエントリは、当該データを受信した時刻３０１と、当該データの送信元の要素３０２と、当該データの送信先の要素３０３と、当該データの種別３０４と、当該データの内容であるデータ３０５とを格納する。イベントログ記録部１２１は、起動から一連の動作のイベントログを、一つのファイルとして保存する。
【００４０】
また、アプリケーション１３０の実行時に、イベントの収集と同時に、プログラムログやリソースログを記録しても良い。イベントログ記録部１２１は、同時に収集されたイベントログのファイルと、プログラムログのファイルと、リソースログのファイルとを関連付ける。
【００４１】
図４は、プログラムログＤＢ１２０の内容を示す。
【００４２】
プログラムログ記録部１２３は、アプリケーション１３０等のプログラムが出力するログをプログラムログＤＢ１２０に記録する。プログラムログＤＢ１２０は、プログラムログ毎のエントリを有する。或るプログラムログのエントリは、当該プログラムログが出力された時刻４０１と、当該プログラムログを出力したプログラム種別４０２と、当該プログラムログのレベルを示すログレベル４０３と、当該プログラムログのメッセージ４０４とを出力する。ログレベル４０３は、当該プログラムログの重要度を表し、エラー（ｅｒｒｏｒ）、警告（ｗａｒｎｉｎｇ）、情報（ｉｎｆｏ）、デバッグ（ｄｅｂｕｇ）等を示す。
【００４３】
図５は、リソースログＤＢ１２８の内容を示す。
【００４４】
リソースログ記録部１２４は、端末装置１００のリソース使用率を示すリソースログをリソースログＤＢ１２８に記録する。リソースログＤＢ１２８は、リソースログ毎のエントリを有する。或るリソースログのエントリは、リソースの使用率を計測した時刻５０１と、ＣＰＵ１１０の使用率であるＣＰＵ使用率５０２と、記憶装置１２０の使用率である記憶装置使用率５０３と、通信装置１７０の帯域幅に対して使用されている帯域の割合を示す通信使用率５０４とを出力する。
【００４５】
図６は、アプリケーション１３０により表示されるナビゲーション画面を示す。
【００４６】
このナビゲーション画面６００は、配送業者向けのアプリケーション１３０により表示される画面である。ナビゲーション画面６００は、地図領域６１０と、配送先リスト領域６２０と、操作ボタン６３０と、コンパスボタン６４０とを有する。地図領域６１０は、カーナビゲーションと同様、ルートを案内するために地図とルートと現在位置を表示する。配送先リスト領域６２０は、配送の進捗状況を表示する領域であり、複数の配送先の夫々について、名称と進捗状況を示す。進捗状況は、配送済みであることを示す「済」と、未配送であることを示す「未」との何れかを示す。操作ボタン６３０は、例えば地図領域６１０の縮尺を変更するボタンである。コンパスボタン６４０は、地図領域６１０の方向を示す。地図領域６１０の方向は例えば、地図領域６１０の上方向を対象車両の進行方向に設定するヘディングアップ、又は地図領域６１０の上方向を北に設定するノースアップである。
【００４７】
ＨＭＩ部１３１は更に、複数の配送先を経由地としてライブラリ１３２にルートの探索や案内を指示する。ＨＭＩ部１３１は更に、配送先を通過すると、状態データ１３５において配送先毎の進捗状況を未配送から配送済に変化させ、配送先リスト領域６２０に反映させる。エンドユーザからの操作情報により、配送先毎の進捗状況を変化させても良い。
【００４８】
――――テスト装置――――
【００４９】
以下、端末装置１００のテストのためのテスト装置について説明する。
【００５０】
図７は、テスト装置の構成を示す。
【００５１】
このテスト装置７００は、イベントログを端末装置１００へ送信することにより、端末装置１００の走行のシミュレーションを行う。テスト装置７００は例えば、ＰＣ（Personal Computer）等のコンピュータである。テスト装置７００は、ＣＰＵ７１０と、記憶装置７２０と、表示装置７３０と、入力装置７４０と、通信装置７５０とを有する。
【００５２】
記憶装置７２０は、プログラムとデータを格納する。ＣＰＵ７１０は、記憶装置７２０に格納されたプログラムに従ってテスト装置７００の各部を制御する。表示装置７３０は、例えば液晶ディスプレイであり、検査者向けの画面を表示する。入力装置７４０は、例えばキーボードやマウス等であり、検査者による操作を受け付ける。通信装置７５０は、通信装置１７０と同様、通信経路を介して端末装置１００との通信を行う。
【００５３】
テスト装置７００は、端末装置１００との通信により、端末装置１００のテストを行う。
【００５４】
記憶装置７２０は、テストツールプログラム７２９と、イベントログＤＢ７２５と、プログラムログＤＢ７２６と、リソースログＤＢ７２７とを有する。テストツールプログラム７２９は、画面制御部７２１と、イベントログ選択部７２２と、イベントログ送信部７２３と、ログ受信部７２４とを有する。画面制御部７２１は、入力装置７４０の操作に基づいてテスト装置７００の各部を制御し、表示装置７３０に画面を表示させる。イベントログ選択部７２２は、テスト時に利用するイベントログの種類を選択する。イベントログ送信部７２３は、テスト時にイベントを端末装置１００に送信する。ログ受信部７２４は、端末装置１００からイベントログ、プログラムログ、リソースログを受信する。イベントログＤＢ７２５は、受信されたイベントログを格納する。プログラムログＤＢ７２６は、受信されたプログラムログを格納する。リソースログＤＢ７２７は、受信されたリソースログを格納する。
【００５５】
テスト時において、端末装置１００とテスト装置７００は、通信経路を介して接続される。通信経路は例えば、無線ＬＡＮ、有線ＬＡＮ、ＵＳＢ（Universal Serial Bus）等である。
【００５６】
イベントログＤＢ７２５、プログラムログＤＢ７２６、リソースログＤＢ７２７に格納されるログデータは、夫々端末装置１００におけるイベントログＤＢ１２６、プログラムログＤＢ１２７、リソースログＤＢ１２８のコピーである。
【００５７】
本実施例では、端末装置１００とテスト装置７００を用いてテストを実施する構成を示すが、端末装置１００が、テストツールプログラム７２９を有していても良い。また、テスト装置７００は、端末装置１００の動作を模擬するエミュレータを有し、このエミュレータによりアプリケーション１３０を動作させることにより、テスト装置７００がテストツールプログラム７２９の実行とアプリケーション１３０の模擬実行とを行っても良い。
【００５８】
――――イベント送信処理――――
【００５９】
以下、テスト装置７００が、イベント記録処理により記録されたイベントをアプリケーション１３０の各部へ送ることにより、端末装置１００のテストを行うイベント送信処理について説明する。
【００６０】
図８は、イベント送信処理におけるデータの流れを示す。
【００６１】
この図において、データＤ１１〜Ｄ２７は、イベント記録処理と同様のデータの流れを示す。イベントログＥ３０〜Ｅ３５は、イベント送信処理におけるデータの流れを示す。
【００６２】
イベントログ送信部７２３は、イベントログＤＢ７２５に格納されたイベントを端末装置１００に送信する（Ｄ３０）。イベントログ再生部１２２は、テスト装置７００からのイベントを受け取ると、イベントの送信先に対応する要素に送信する（Ｄ３１、Ｄ３２、Ｄ３３、Ｄ３４、Ｄ３５）。
【００６３】
イベントログ再生部１２２は、アプリケーション１３０の各要素をイベントログ再生部１２２のリスナーとして登録する。これにより、アプリケーション１３０の各要素は、イベントログ再生部１２２から送信されるイベントを受信する。イベントログ再生部１２２は、リスナーの登録時、アプリケーション１３０の各要素に通知するイベントの種別を登録する。イベントログ再生部１２２は、テスト装置７００から受信したイベントの種別に従い、登録された要素へイベントを送信する。イベントを受けた要素は、そのイベントの内容に基づいて処理を行う。
【００６４】
イベント送信処理は、状態再現フェーズと再生フェーズとを有する。状態再現フェーズは、アプリケーション１３０による位置の補正や地図の更新等の処理を行うことなく、指定された再現時刻におけるアプリケーション１３０の状態を再現する。再生フェーズは、指定された再生速度に従って、イベントを端末装置１００へ送信することにより、端末装置１００において再現時刻以後のナビゲーション画面６００を再生する。
【００６５】
図９は、テスト装置７００により表示されるテストツール画面を示す。
【００６６】
このテストツール画面９００は、メニュー９１０と、シンボル設定部９２０と、条件追加ボタン９２１と、地図領域９３１と、操作部９５０と、送信イベント選択領域９４０と、再生速度指定部９４３と、イベント一覧領域９４４とを有する。メニュー９１０は、ファイルの選択や各種ログ取得等を指示する。シンボル設定部９２０は、再現位置表示部９３０に表示するシンボルの表示条件を設定する。条件追加ボタン９２１は、シンボル設定部９２０における表示条件を追加する。操作部９５０は、再現時刻の指定や再生フェーズの制御のためのＧＵＩ（Graphical User Interface）である。送信イベント選択領域９４０は、端末装置１００へ送信するイベントの種類を選択する。再生速度指定部９４３は、再生フェーズにおける再生速度を設定する。イベント一覧領域９４４は、端末装置１００へ送信されるイベントを表示する。テストツール画面９００の一部は省かれても良い。画面制御部７２１は、操作部９５０の操作により変更される再現時刻を記憶装置７２０へ保存する。
【００６７】
地図領域９３１は、再現時刻における対象車両の位置である再現位置を含む地図を示す。地図領域９３１は、地図の他にルート９３７と、現在位置４５１とを有する。ルート９３７は、イベントログに記録された連続する位置情報のルートを示す。現在位置４５１は、再現位置を示す。
【００６８】
検査者がメニュー９１０においてログ取得の指示を選択した場合、ログ受信部７２４は、端末装置１００に格納された各種ログデータをテスト装置７００上にコピーする。ログ受信部７２４からの指示に応じて、端末装置１００のログ送信部１２８は、イベントログＤＢ１２６、プログラムログＤＢ１２７、リソースログＤＢ１２８に格納されたログデータを読み出し、ログ受信部７２４へ送信する。ログ受信部７２４は、受信されたログデータを、イベントログＤＢ７２５、プログラムログＤＢ７２６、リソースログＤＢ７２７へ書き込む。これにより、テスト装置７００は、ログデータの抽出や送信を行うことができる。
【００６９】
検査者がメニュー９１０においてファイルの指示を選択した場合、画面制御部７２１は、検査者による操作に従って、端末装置１００からイベントログＤＢ７２５へコピーされたイベントログのファイルの中の一つを指定イベントログとして選択し、指定イベントログを用いてイベント送信処理を開始する。イベント送信処理において、画面制御部７２１は、選択されたイベントログに記録されたルート９３７を地図領域９３１に表示させる。ここで画面制御部７２１は、イベントログＤＢ７２５に記録された送信元が測位装置１６０又はロケータ１３３であるイベントを取得し、そのイベントの位置情報に示された緯度及び経度に基づいて地図領域９３１上にルート９３７を表示する。画面制御部７２１は、時間順に緯度及び経度で示される点を線で繋ぎ合わせることにより地図領域９３１にルート９３７を表示する。
【００７０】
操作部９５０は、スライダ９３２と、巻戻しボタン９３３と、再生ボタン９３４と、早送りボタン９３５と、一時停止ボタン９３６とを有する。
【００７１】
スライダ９３２は、再現時刻を、対象のイベントログの開始からの経過時間として示す。また、スライダ９３２は、再生フェーズにおいて変化する再現時刻を表示する。検査者は、マウス等の入力装置７４０によりスライダ９３２を操作し、イベントログ内の時刻の期間における任意の再現時刻を指定することができる。また、検査者は、地図領域９３１に表示されたルート９３７上の位置をマウスでクリックすることにより、クリックされた位置に対応する時刻を再現時刻として指定することができる。この場合、画面制御部７２１は、指定イベントログから、クリックされた位置に対応する時刻を取得する。テストツール画面９００において或るイベントログのファイルが指定された時、画面制御部７２１は、指定されたイベントログの開始の時刻を再現時刻とする。
【００７２】
その後、検査者により再生ボタン９３４が押下されると、画面制御部７２１は、選択されたイベントログ内の再現時刻以後のイベントの再生を実施する。検査者は、テスト装置７００に接続された端末装置１００の表示により、アプリケーション１３０の振る舞いを確認する。検査者により一時停止ボタン９３６が押下されると、画面制御部７２１は、再生フェーズを一時停止する。検査者により巻戻しボタン９３３が押下されると、画面制御部７２１は、再現時刻を過去へ戻す。検査者により早送りボタン９３５が押下されると、画面制御部７２１は、実際の端末装置１００の動作より高速にイベントを再生する。
【００７３】
送信イベント選択領域９４０は、再生フェーズにおいて端末装置１００へ送信するイベントを選択する。送信イベント選択領域９４０は、位置情報チェックボックス９４１と、ユーザ入力チェックボックス９４２とを有する。位置情報チェックボックス９４１は、イベントの種別が位置情報であるイベントを送信するかどうかを選択する。ユーザ入力チェックボックス９４２は、イベントの種別がユーザ入力の操作情報であるイベントを送信するかどうかを選択する。この送信イベント選択領域９４０の設定により、検査者は、イベントの種別毎に、端末装置へ送信するかどうかを制御することができる。例えば、ユーザ入力時に不具合が発生した場合、ユーザ入力のイベントを端末装置１００へ送信しないことにより、ユーザ入力がない場合の状態を作り出すことができ、端末装置１００においてユーザ入力を検証することができる。この場合、送信イベント選択領域９４０において、ユーザ入力のイベントの種類を細分化し、データ３０５に示されるような、配送先リストの操作、縮尺の操作等の選択肢があっても良い。
【００７４】
再生速度指定部９４３は、実際の時間経過に対するイベントの再生速度倍率を設定する。検査者は、再生速度指定部９４３に表示される再生速度倍率である０．１、０．５、１．０、２．０、３．０等の選択肢の中から一つを選んでも良いし、直接、数字で再生速度倍率を再生速度指定部９４３へ入力しても良い。
【００７５】
イベント一覧領域９４４は、送信するイベントを表示する領域である。最初のイベントの時刻を０としたときの相対時刻を左側に表示し、右側にイベントの種別を表示する。また、イベント一覧領域９４４は、再現時刻を含む期間に対応するイベントを表示する。
【００７６】
ここでは送信するイベントのみを表示しているが、分かり易さのために、ユーザ入力の内容を一緒に表示しても良い。ユーザ入力の内容は例えば、端末装置１００の画面上で方向を指定するためのコンパスボタン押下等である。
【００７７】
また、検査者がどのイベントをテストすべきかを判断することを支援するために、地図領域９３１上に表示されたルート９３７上に、プログラムログに出力されたエラーを示すシンボル９３８や、リソースの使用状況を示すシンボル９３９を重ねて表示しても良い。
【００７８】
シンボル設定部９２０は、第一条件、第二条件、第三条件、及びシンボルの夫々の選択肢を表示し、選択肢の中から検査者により選択された一つを設定する。
【００７９】
第一条件は、ログの種類を示す。第一条件の選択肢は、プログラムログ、リソースログである。
【００８０】
検査者により第一条件としてプログラムログが選択された場合、第二条件はログレベル４０３になり、第三条件はログの出力箇所であるプログラム種別４０２になる。プログラム種別４０２の選択肢は例えば、アプリケーション１３０のうちプログラムログを出力する全要素と、ＨＭＩ部１３１と、ライブラリ１３２と、ロケータ１３３とである。
【００８１】
検査者により第一条件としてリソースログが選択された場合、第二条件はリソースの種類になる。リソースの種類の選択肢は、ＣＰＵ使用率５０２、記憶装置使用率５０３、通信使用率５０４である。この場合、第三条件は、第二条件で選択された値の範囲であり、例えばその範囲の下限値により指定される。
【００８２】
図９の例において、画面制御部７２１は、プログラムログにおいて、アプリケーション１３０の何れかの要素にエラーが出力されていた位置にシンボル９３８を表示する。更に画面制御部７２１は、リソースログにおいて、ＣＰＵ使用率５０２が９０％以上であった位置にシンボル９３９を表示する。ここで画面制御部７２１は、プログラムログＤＢ７２６及びリソースログＤＢ７２７からシンボル設定部９２０に設定された条件を満たす時刻を特定し、ルート９３７の描画に用いられたイベントから、特定された時刻に対応するイベントの位置情報を特定し、特定された位置情報に基づいて地図領域９３１上にシンボルを表示する。シンボル設定部９２０によれば、アプリケーション１３０の特定の要素により出力されたエラーや、特定のリソースの高負荷状態等をルート９３７上に表示させることができる。これにより、検査者は、シンボル９３８、９３９を参考に再現時刻やそれに対応する再現位置を特定することができる。
【００８３】
図１０は、イベント送信処理の動作を示す。
【００８４】
この図は、入力装置７４０と、画面制御部７２１と、イベントログ選択部７２２と、イベントログ送信部７２３と、端末装置１００との動作を示す。
【００８５】
テストツール画面９００において、検査者１００１により入力装置７４０へイベントログのファイルの指定が入力されると、イベント送信処理が開始される。画面制御部７２１は、スライダ９３２に示される動作期間を、指定イベントログの最初の時刻から最後の時刻までに設定し、再現時刻を、動作期間の最初の時刻に設定する。
【００８６】
Ｓ１０１０〜Ｓ１０１４は、状態再現フェーズである。再現時刻が変更されずに再生ボタン９３４が押下された場合、画面制御部７２１は、状態再現フェーズを行わずに再生フェーズを行う。
【００８７】
テストツール画面９００において、検査者１００１により再現時刻の指定が入力されると（Ｓ１０１０）、画面制御部７２１は、イベントログ選択部７２２に状態再現用イベントログの抽出を指示する（Ｓ１０１１）。
【００８８】
この指示を受けたイベントログ選択部７２２は、指定イベントログのうち、送信先がＨＭＩ部１３１であるイベントを抽出して、状態再現用イベントログとする。
【００８９】
その後、画面制御部７２１は、イベントログ送信部７２３に状態再現用イベントログの送信を指示する（Ｓ１０１２）。
【００９０】
この指示を受けたイベントログ送信部７２３は、状態再現用イベントログ内のイベントを時刻順に端末装置１００へ送信する（Ｓ１０１４）。ここでイベントログ送信部７２３は、送信されたイベントの時刻が再現時刻に到達するまでイベントを送信する（Ｓ１０１３）。
【００９１】
Ｓ１０２０〜Ｓ１０２１は再生フェーズである。
【００９２】
テストツール画面９００において、検査者１００１から再生ボタン９３４による再生の指示が入力されると（Ｓ１０２０）、画面制御部７２１は、イベントログ選択部７２２に再生用イベントログの抽出を指示する（Ｓ１０２１）。
【００９３】
この指示を受けたイベントログ選択部７２２は、イベントログＤＢ７２５から、送信元がエンドユーザや測位装置１６０等、アプリケーション１３０の外部であるイベントで、かつ、送信イベント選択領域９４０により選択されたイベントで、かつ、指定イベントログのうち再現時刻以降のイベントを抽出して、再生用イベントログとする。
【００９４】
その後、画面制御部７２１は、イベントログ送信部７２３に再生用イベントログの送信を指示する（Ｓ１０２２）。
【００９５】
この指示を受けたイベントログ送信部７２３は、再生用イベントログ内のイベントを時間順に端末装置１００へ送信する（Ｓ１０２４）。ここでイベントログ送信部７２３は、再生速度指定部９４３で指定された再生速度倍率の設定に従って、イベントの送信タイミングを調整する（Ｓ１０２５）。例えば、直前に送信されたイベントである直前イベントの時刻と、次に送信されるイベントである次イベントの時刻との差が３秒あり、再生速度指定部９４３により３倍速に設定されている場合、イベントログ送信部７２３は、直前イベントの送信から次イベントの送信までの時間間隔を１秒にする。そのために、イベントログ送信部７２３は例えば、１秒のｓｌｅｅｐを実施した後に次イベントを送信する。また、イベントログ送信部７２３は、再生用イベントログ内のイベントの送信が終わるか、検査者から一時停止ボタン９３６等による再生停止の指示を受けるまで、イベントの送信及び送信タイミングの調整を繰り返す（Ｓ１０２３）。これにより、任意の再生速度でアプリケーション１３０の動作を再生することができる。画面制御部７２１は、イベントが送信される度に、再現時刻を最後に送信されたイベントの時刻に変更し、テストツール画面９００を更新する。ここで画面制御部７２１は例えば、スライダ９３２に示される再現時刻や、地図領域９３１に表示される地図を更新する。
【００９６】
早送りボタン９３５が押下された時、イベントログ選択部７２２は、現在の再現時刻から所定時間だけ後の時刻を変更後の再現時刻とする状態再現フェーズの処理を行う。ここでイベントログ選択部７２２は、指定イベントログのうち、現在の再現時刻から変更後の再現時刻までの時刻を有し、且つ、送信先がＨＭＩ部１３１であるイベントを、状態再現用イベントログとして抽出する。所定時間は、例えば３０秒である。その後、イベントログ送信部７２３は、状態再現用イベントログを時間順に送信し、送信し終えたら、再生フェーズの処理を行い、そのときの再現時刻以後の時刻を有する再生用イベントログに切り替え、Ｓ１０２５と同様に送信する。この時点でまだ早送りボタン９３５が押下された状態であれば、イベントログ選択部７２２は、そのときの再現時刻から所定時間だけ後の時刻を新たな再現時刻とする状態再現フェーズの処理を行う。これにより、再現時刻を現在の再現時刻より後の時刻に変更する場合でも、ライブラリ１３２の地図描画等の高負荷の処理を省くことで、変更後の再現時刻の状態を迅速に再現することができる。
【００９７】
また、巻戻しボタン９３３が押下されると、イベントログ選択部７２２は、現在の再現時刻から所定時間だけ前の時刻を変更後の再現時刻とする状態再現フェーズの処理を行う。ここでイベントログ選択部７２２は、指定イベントログのうち、最初から変更後の再現時刻までの時刻を有し、且つ、送信先がＨＭＩ部１３１であるイベントを、状態再現用イベントログとして抽出する。その後、イベントログ送信部７２３は、再生フェーズの処理を行う。この時点でまだ巻戻しボタン９３３が押下された状態であれば、イベントログ選択部７２２は、そのときの再現時刻から所定時間だけ前の時刻を新たな再現時刻とする状態再現フェーズの処理を行う。これにより、再現時刻を現在の再現時刻より前の時刻に変更する場合でも、ライブラリ１３２の地図描画等の高負荷の処理を省くことで、変更後の再現時刻の状態を迅速に再現することができる。
【００９８】
ＨＭＩ部１３１がライブラリ１３２に指示することにより、通知ダイアログを表示させたり音声を再生させたりする際、ライブラリ１３２は、状態再現フェーズであるならば、通知ダイアログの表示や音声の再生を実施しない制御を行い、再生フェーズであるならば、再生速度倍率に従って通知ダイアログの表示時間や音声を再生する速度を調整する。そのために、イベントログ再生部１２２は、送信先がＨＭＩ部１３１であるイベントを受信した場合、ライブラリ１３２に通知ダイアログの表示と音声の再生とを抑止する指示を出す。また、イベントログ再生部１２２は、送信元がアプリケーション１３０の外部であるイベントを受信した場合、通知ダイアログの本来の表示時間を再生速度倍率で除した値に調整し、音声再生の速度に再生速度倍率を乗じた値に調整する。
【００９９】
状態再現用イベントログの送信先はＨＭＩ部１３１であるため、端末装置１００のイベントログ再生部１２２は、受信したイベントをＨＭＩ部１３１へ送信する。従って、ライブラリ１３２は、現在位置を取得せず、地図の更新を実施しない。イベントログ選択部７２２は、再現時刻に到達したら、ライブラリ１３２が送信先であるイベントのうち、種類（位置、縮尺等）毎の最新のイベントを抽出して、イベントログ送信部７２３により端末装置１００へ送信することが望ましい。抽出されたイベントをライブラリ１３２へ送信することにより、ライブラリ１３２は、再現時刻における地図の描画を再現することができる。
【０１００】
なお、再生用イベントログは、アプリケーション１３０の外部からアプリケーション１３０へ入力されたイベントであるとしたが、ＨＭＩ部１３１及びライブラリ１３２の外部から、ＨＭＩ部１３１及びライブラリ１３２へ入力されるイベントであっても良い。これにより、ロケータ１３３を除くアプリケーション１３０の動作を検証することができ、再生フェーズにおける端末装置１００の負荷を低減することができる。
【０１０１】
以上のイベント送信処理によれば、端末装置１００において、イベントログ中の任意の時刻の状態を再現する場合に、地図の描画処理や位置情報の補正処理等、端末装置１００の負荷が高い処理を避けることにより、その状態の再現を高速化することができる。また、状態を再現した後、その後の動作を再生することができる。
【０１０２】
本実施例のように、テスト装置７００が端末装置１００へイベントを送信する構成によれば、テスト装置７００が端末装置１００のエミュレータを有する場合や、端末装置１００がテスト装置７００の機能を有する場合に比べて、テスト装置７００と端末装置１００の負荷を分散させ、迅速なテストを行うことができる。
【０１０３】
アプリケーション１３０やログ管理プログラム１２９等は、コンピュータ読み取り可能な記憶媒体に格納され、その記憶媒体から端末装置１００又はテスト装置７００へインストールされても良い。テストツールプログラム７２９は、コンピュータ読み取り可能な記憶媒体に格納され、その記憶媒体からテスト装置７００又は端末装置１００へインストールされても良い。
【０１０４】
以上の実施例で説明された技術は、次のように表現することができる。
（表現１）
位置情報を取得し、前記位置情報に基づいて画面に地図情報を表示させる地図処理部と、操作を示す操作情報を取得し、前記操作情報に基づく指示を前記地図処理部へ送信し、前記位置情報を取得し、前記位置情報及び前記操作情報に基づく状態を保存する操作処理部とを有する制御部について、前記制御部の動作期間中の前記操作処理部への入力である複数の第１データと前記複数の第１データの入力の時刻とを対応付けて記憶する記憶部と、
前記複数の第１データの入力の時刻の範囲内の時刻を指定時刻として指定する指定部と、
前記複数の第１データの中から、前記動作期間の開始から前記指定時刻までの期間内の時刻に対応する複数のデータを、複数の第１選択データとして選択し、前記複数の第１選択データの夫々を、対応する時刻順に前記操作処理部へ送信する送信部と、
を備える動作検証システム。
（表現２）
前記記憶部は、前記動作期間中の前記制御部への入力である複数の第２データと前記複数の第２データの入力の時刻とを対応付けて記憶し、
前記送信部は、再生の指示に応じて、前記複数の第２データの中から、前記指定時刻以後の時刻に対応する複数のデータを、複数の第２選択データとして選択し、前記複数の第２選択データの夫々を、対応する時刻順に前記制御部へ送信する、
表現１に記載の動作検証システム。
（表現３）
前記指定部は、前記指定時刻を、最後に送信された第２選択データに対応する時刻に変更する、
表現２に記載の動作検証システム。
（表現４）
前記指定部は、ユーザによる操作に基づいて前記指定時刻を変更する、
表現３に記載の動作検証システム。
（表現５）
前記変更後の指定時刻が前記変更前の指定時刻より前である場合、前記送信部は、前記複数の第１データの中から、前記動作期間の開始から前記変更後の指定時刻までの期間内の時刻に対応する複数のデータを、複数の第３選択データとして選択し、前記複数の第３選択データの夫々を、対応する時刻順に前記操作処理部へ送信する、
表現４に記載の動作検証システム。
（表現６）
前記変更後の指定時刻が前記変更前の指定時刻より後である場合、前記送信部は、前記複数の第１データの中から、前記変更前の指定時刻から前記変更後の指定時刻までの期間内の時刻に対応する複数のデータを、複数の第４選択データとして選択し、前記複数の第４選択データの夫々を、対応する時刻順に前記操作処理部へ送信する、
表現４に記載の動作検証システム。
（表現７）
前記指定部は、ユーザによる操作に基づいて再生速度を指定し、
前記送信部は、前記再生速度に基づいて、前記複数の第２選択データの送信の時間間隔を決定する、
表現２の何れか一項に記載の動作検証システム。
（表現８）
前記記憶部は、前記位置情報と前記位置情報の時刻とを対応付けて記憶し、
前記指定部は、表示装置に地図を表示させ、ユーザにより前記地図上で指定された位置情報を取得し、前記取得された位置情報に対応する時刻を前記指定時刻として指定する、
表現４の何れか一項に記載の動作検証システム。
（表現９）
前記記憶部は、前記制御部の動作を示すログと前記ログの時刻とを対応付けて記憶し、
前記指定部は、前記記憶部から前記ログの時刻に対応する位置情報を選択し、前記地図上で前記選択された位置情報に相当する位置に前記ログを示す情報を表示させる、
表現８に記載の動作検証システム。
（表現１０）
前記ログは、前記制御部で発生したエラー、前記制御部により使用されるコンピュータリソースの使用状況の何れかを含む、
表現８に記載の動作検証システム。
（表現１１）
前記複数の第１データを受信し、前記記憶部へ保存する受信部を更に備え、
表現１乃至１０の何れか一項に記載の動作検証システム。
（表現１２）
端末装置を更に備え、
前記端末装置は、
前記制御部と、
前記画面を表示する表示部と、
前記動作期間中に前記制御部から前記複数の第１データを取得する取得部と、
前記取得された複数の第１データを記憶する端末記憶部と、
前記端末記憶部に記憶された複数の第１データを前記受信部へ送信する端末送信部と、
を有する、
表現１１に記載の動作検証システム。
（表現１３）
位置情報を取得し、前記位置情報に基づいて画面に地図情報を表示させる地図処理部と、操作を示す操作情報を取得し、前記操作情報に基づく指示を前記地図処理部へ送信し、前記位置情報を取得し、前記位置情報及び前記操作情報に基づく状態を保存する操作処理部とを有する制御部について、前記制御部の動作期間中の前記操作処理部への入力である複数の第１データと前記複数の第１データの入力の時刻とを対応付けて記憶し、
前記複数の第１データの入力の時刻の範囲内の時刻を指定時刻として指定し、
前記複数の第１データの中から、前記動作期間の開始から前記指定時刻までの期間内の時刻に対応する複数のデータを、複数の第１選択データとして選択し、前記複数の第１選択データの夫々を、対応する時刻順に前記操作処理部へ送信する、
ことをコンピュータに実行させる動作検証プログラム。
（表現１４）
位置情報を取得し、前記位置情報に基づいて画面に地図情報を表示させる地図処理部と、操作を示す操作情報を取得し、前記操作情報に基づく指示を前記地図処理部へ送信し、前記位置情報を取得し、前記位置情報及び前記操作情報に基づく状態を保存する操作処理部とを有する制御部について、前記制御部の動作期間中の前記操作処理部への入力である複数の第１データと前記複数の第１データの入力の時刻とを対応付けて記憶し、
前記複数の第１データの入力の時刻の範囲内の時刻を指定時刻として指定し、
前記複数の第１データの中から、前記動作期間の開始から前記指定時刻までの期間内の時刻に対応する複数のデータを、複数の第１選択データとして選択し、前記複数の第１選択データの夫々を、対応する時刻順に前記操作処理部へ送信する、
ことを備える動作検証方法。
【０１０５】
これらの表現における用語について説明する。地図処理部は、ライブラリ１３２、ロケータ１３３等に対応する。操作処理部は、ＨＭＩ部１３１等に対応する。制御部は、アプリケーション１３０等に対応する。記憶部は、イベントログＤＢ７２５、プログラムログＤＢ７２６、リソースログＤＢ７２７等に対応する。指定部は、画面制御部７２１等に対応する。送信部は、イベントログ選択部７２２、イベントログ送信部７２３等に対応する。受信部は、ログ受信部７２４等に対応する。表示部は、表示装置７３０等に対応する。取得部は、イベントログ記録部１２１等に対応する。端末記憶部は、イベントログＤＢ１２６、プログラムログＤＢ１２７、リソースログＤＢ１２８等に対応する。端末送信部は、ログ送信部１２５等に対応する。指定時刻は、再現時刻等に対応する。動作検証プログラムは、テストツールプログラム７２９等に対応する。ログは、プログラムログＤＢ１２７、リソースログＤＢ１２８等に対応する。
【符号の説明】
【０１０６】
１００：端末装置、  １１０：ＣＰＵ、  １２０：記憶装置、  １２１：イベントログ記録部、  １２２：イベントログ再生部、  １２３：プログラムログ記録部、  １２４：リソースログ記録部、  １２５：ログ送信部、  １２８：ログ送信部、  １２９：ログ管理プログラム、  １３０：アプリケーション、  １３１：ＨＭＩ部、  １３２：ライブラリ、  １３３：ロケータ、  １３４：地図データ、  １３５：状態データ、  ７００：テスト装置、  ７１０：ＣＰＵ、  ７２０：記憶装置、  ７２１：画面制御部、  ７２２：イベントログ選択部、  ７２３：イベントログ送信部、  ７２４：ログ受信部、  ７２９：テストツールプログラム
【図１】
2014098994.tif 000003
【図２】
2014098994.tif 000004
【図３】
2014098994.tif 000005
【図４】
2014098994.tif 000006
【図５】
2014098994.tif 000007
【図６】
2014098994.tif 000008
【図７】
2014098994.tif 000009
【図８】
2014098994.tif 000010
【図９】
2014098994.tif 000011
【図１０】
2014098994.tif 000012