(57)【要約】【課題】位置情報に基づいて画面を表示させる処理の動作検証に掛かるコストを低減する。【解決手段】制御部により位置情報に基づいて表示される画面内の画像である基準画像と、画面の遷移を示す遷移情報とを記憶する記憶部と、画面において複数の時刻に夫々表示される複数の画面イメージを記録する指示を、制御部へ送る指示部と、指示に応じて制御部により記録された複数の画面イメージを、制御部から取得する取得部と、基準画像及び遷移情報に基づいて、複数の画面イメージが遷移を示すか否かを判定する判定部とを備える。【選択図】図１
2014112062.tif 000002
【特許請求の範囲】
【請求項１】
制御部により位置情報に基づいて表示される画面内の画像である基準画像と、前記画面の遷移を示す遷移情報とを記憶する記憶部と、
前記画面において複数の時刻に夫々表示される複数の画面イメージを記録する指示を、前記制御部へ送る指示部と、
前記指示に応じて前記制御部により記録された前記複数の画面イメージを、前記制御部から取得する取得部と、
前記基準画像及び前記遷移情報に基づいて、前記複数の画面イメージが前記遷移を示すか否かを判定する判定部と、
を備える動作検証システム。
【請求項２】
前記複数の時刻は、特定の時間間隔を有する、
請求項１に記載の動作検証システム。
【請求項３】
前記遷移は、前記画面内の特定領域が前記基準画像に変化することと、前記特定領域に表示されている前記基準画像が他の画像に変化することと、前記特定領域に前記基準画像が特定時間以上連続して表示されることと、前記特定領域に前記基準画像が前記特定時間以上連続して表示されないこととの何れかを含む、
請求項２に記載の動作検証システム。
【請求項４】
前記指示は、前記位置情報の条件である記録条件を含み、
前記制御部は、前記位置情報が前記記録条件を満たす場合に前記画面に表示される複数の画面イメージを記録する、
請求項３に記載の動作検証システム。
【請求項５】
前記基準画像は、複数の部分画像の組み合わせにより定義される、
請求項３に記載の動作検証システム。
【請求項６】
前記制御部は、前記複数の画面イメージと、前記複数の時刻と、前記複数の時刻に夫々測定された複数の位置情報とを関連付けて記録する、
請求項３に記載の動作検証システム。
【請求項７】
前記判定部は、前記判定後、前記複数の画面イメージと前記複数の位置情報とを示す情報を、表示装置に表示させる、
請求項６に記載の動作検証システム。
【請求項８】
前記遷移情報は、前記画面の複数の遷移を示し、
前記判定部は、前記複数の画面イメージが前記複数の遷移を示すか否かを判定する、
請求項３に記載の動作検証システム。
【請求項９】
前記判定部は、前記複数の遷移の判定結果を表示装置に表示させる、
請求項８に記載の動作検証システム。
【請求項１０】
前記指示は、経路及び移動速度を示す位置指定情報を含み、
前記制御部は、
前記位置指定情報に基づいて前記位置情報を生成する情報生成部と、
前記位置情報に基づいて前記画面を生成する画面生成部と、
前記画面を記録する記録部と、
を有する、
請求項３に記載の動作検証システム。
【請求項１１】
前記指示は、前記制御部の操作を示す操作指定情報を含み、
前記情報生成部は、前記操作指定情報に基づいて前記操作情報を生成し、
前記画面生成部は、前記位置情報及び前記操作情報に基づいて前記画面を生成する、
請求項１０に記載の動作検証システム。
【請求項１２】
前記制御部を有する端末装置を更に備える、
請求項１乃至１１の何れか一項に記載の動作検証システム。
【請求項１３】
制御部により位置情報に基づいて表示される画面内の画像である基準画像と、前記画面の遷移を示す遷移情報とを記憶し、
前記画面において複数の時刻に夫々表示される複数の画面イメージを記録する指示を、前記制御部へ送り、
前記指示に応じて前記制御部により記録された前記複数の画面イメージを、前記制御部から取得し、
前記基準画像及び前記遷移情報に基づいて、前記複数の画面イメージが前記遷移を示すか否かを判定する、
ことをコンピュータに実行させる動作検証プログラム。
【請求項１４】
制御部により位置情報に基づいて表示される画面内の画像である基準画像と、前記画面の遷移を示す遷移情報とを記憶し、
前記画面において複数の時刻に夫々表示される複数の画面イメージを記録する指示を、前記制御部へ送り、
前記指示に応じて前記制御部により記録された前記複数の画面イメージを、前記制御部から取得し、
前記基準画像及び前記遷移情報に基づいて、前記複数の画面イメージが前記遷移を示すか否かを判定する、
ことを備える動作検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置情報に基づいて画面を表示する処理の動作検証を行う技術に関する。
【背景技術】
【０００２】
スマートフォンやタブレット端末などの情報端末装置向けに開発したアプリケーションを、情報端末装置にインストールして動作テストを行う場合、全てを手動で確認しようとするとコストが莫大になってしまう。コストを削減するためにテストを自動化する方法がある。この時、アプリケーションにテスト機能を埋め込むのは不具合原因になる可能性があるため、テスト機能は、アプリケーションから独立した機能で実現されることが望ましい。
【０００３】
自動テスト方法として、端末を操作し、端末の画面をカメラ撮影して操作結果を記録し、記録した画像を正解画像と比較する方法が知られている。例えば、検査対象携帯電話の操作ボタンを操作し、携帯電話のＬＣＤパネルに画像を表示させる。この画像を前記カメラで取得し静止画、動画別に画像判定を行い、基準画像と実測画像をそのまま重ね合わせて判定を行う。色が大きく違う、位置が異なるなど何かしら不良であると思われる要素があった場合は、位置補正を行わないで単に画像差分をとった結果を出す技術が知られている（特許文献１の段落００７３、０１００等）。また、例えば、リモコン信号発光器から被テスト装置を操作する信号を出力させ、これに対する被テスト装置の反応をカメラで撮像し、得られた撮像画像を予め用意しておいた期待値画像と比較することによって、所望の動作が行われたかどうかを判定する技術が知られている（特許文献２の段落０００３等）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２９０８５２号公報
【特許文献２】特開２０１０−１９３２７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前述の自動テスト方法は、端末を操作した結果が正しいか否かを判定するために、端末を操作し終えたタイミングで画面を撮影している。しかし、位置情報に基づいて動作するアプリケーションの場合、画面を撮影するタイミングを予め決定することができない。例えば、車両が指定位置の１００ｍ以内に接近した時にメッセージを表示する車載端末向けアプリケーションの場合、車両の移動速度や位置情報の精度は状況によって異なるため、結果としてメッセージが表示されるタイミングにばらつきがある。指定位置からの距離が９９ｍである位置でメッセージが表示されることもあれば、指定位置からの距離が９５ｍである位置で表示されることもある。
【課題を解決するための手段】
【０００６】
本発明の一態様である動作検証システムは、制御部により位置情報に基づいて表示される画面内の画像である基準画像と、画面の遷移を示す遷移情報とを記憶する記憶部と、画面において複数の時刻に夫々表示される複数の画面イメージを記録する指示を、制御部へ送る指示部と、指示に応じて制御部により記録された複数の画面イメージを、制御部から取得する取得部と、基準画像及び遷移情報に基づいて、複数の画面イメージが遷移を示すか否かを判定する判定部とを備える。
【発明の効果】
【０００７】
本発明の一態様によれば、位置情報に基づいて画面を表示させる処理の動作検証に掛かるコストを低減することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、本発明の実施例の動作検証システムの構成を示す。
【図２】図２は、端末装置１２０の構成を示す。
【図３】図３は、擬似入力条件管理部１０３の内容を示す。
【図４】図４は、走行条件管理部１０４の内容を示す。
【図５】図５は、テスト判定条件管理部１０５の内容を示す。
【図６】図６は、画面イメージ取得条件管理部１０７の内容を示す。
【図７】図７は、テスト処理を示す。
【図８】図８は、テスト条件設定画面を示す。
【図９】図９は、画面イメージ取得条件設定画面を示す。
【図１０】図１０は、テスト判定処理を示す。
【図１１】図１１は、テスト結果画面を示す。
【図１２】図１２は、第１の画面における基準画像の例を示す。
【図１３】図１３は、第２の画面における基準画像の例を示す。
【発明を実施するための形態】
【０００９】
以下に、本発明の実施例について、図を用いて詳細に説明する。
【００１０】
――――動作検証システムの構成――――
【００１１】
図１は、本発明の実施例の動作検証システムの構成を示す。
【００１２】
この動作検証システムは、テスト装置１０１と端末装置１２０とを有する。テスト装置１０１は、端末装置１２０の動作のテストを行う。テスト装置１０１は例えば、コンピュータであり、端末装置１２０のソフトウェアの開発に用いられるコンピュータであっても良い。端末装置１２０は、スマートフォンやタブレット端末などの情報端末装置であっても良いし、車両に搭載されるナビゲーション装置であっても良い。テスト装置１０１と端末装置１２０は、通信路１３０を介して接続される。通信路１３０は、ＵＳＢ（Universal Serial Bus）やＬＡＮ（Local Area Network）等の有線通信路であっても良いし、無線ＬＡＮ等の無線通信路であっても良い。
【００１３】
テスト装置１０１は、記憶部２１１、ＣＰＵ（Central Processing Unit）２１２、入力部２１３、表示部２１４、通信部２１５を有する。記憶部２１１は、半導体メモリやＨＤＤ（Hard Disk Drive）等であり、テストのためのプログラム及びデータを格納する。ＣＰＵ２１２は、記憶部２１１内のプログラム及びデータに基づいて、端末装置１２０のテストを実行する。入力部２１３は、ユーザによる操作を検出する。表示部２１４は、ＣＰＵ２１２からの指示に従って画面を表示する。通信部２１５は、端末装置１２０との通信を行う。
【００１４】
記憶部２１１は、テスト条件設定部１０２、擬似入力条件管理部１０３、走行条件管理部１０４、テスト判定条件管理部１０５、基準画像管理部１０６、画面イメージ取得条件管理部１０７、テストシナリオ作成部１０８、テスト結果作成部１０９、テスト判定部１１０、画面イメージ収集部１１１、画面イメージ取得条件送信部１１２、地図情報管理部１１３、画面イメージ管理部１１４の夫々を実現するプログラムおよび／またはデータを格納する。以下に説明する各処理は、ＣＰＵ２１２が記憶部２１１内のプログラムを実行することにより実現される。これらのプログラムは、コンピュータ読み取り可能な記憶媒体に格納され、その記憶媒体から、テスト装置１０１へインストールされても良い。
【００１５】
テスト条件設定部１０２は、ＧＵＩ（Graphical User Interface）を用いてユーザとの対話処理によりテスト条件を設定する。テスト条件は、擬似入力条件、走行条件、判定条件、基準画像、画面イメージ取得条件を含む。擬似入力条件管理部１０３は、擬似入力条件を格納する。走行条件管理部１０４は、走行条件を格納する。テスト判定条件管理部１０５は、テスト判定条件を格納する。基準画像管理部１０６は、基準画像を格納する。画面イメージ取得条件管理部１０７は画面イメージ取得条件を格納する。ここで、画面イメージは、端末装置１２０の表示部２２４に表示された画面を示す画像である。
【００１６】
テストシナリオ作成部１０８は、擬似入力条件管理部１０３と走行条件管理部１０４から、テストのための擬似的な走行の指示であるテストシナリオを作成する。テストシナリオを示すテストＩＤは、ユーザから指定されても良いし、テストシナリオ作成部１０８により作成された順に付与されても良い。テストシナリオ作成部１０８は、ユーザからの指示（ボタン押下など）や、端末装置１２０が通信路１３０を介してテスト装置１０１と接続されたタイミングで、テストシナリオを端末装置１２０へ送信する。
【００１７】
画面イメージ取得条件送信部１１２は、画面イメージ取得条件を端末装置１２０へ送信する。画面イメージ収集部１１１は、画面イメージ管理部１３２に連続して記録された複数の画面イメージである画面イメージ群を端末装置１２０から受信し、画面イメージ管理部１１４へ保存する。テスト判定部１１０は、テスト判定条件と基準画像に基づいて、画面イメージ群を判定することにより、端末装置１２０が正常に動作したか否かを判定する。テスト結果作成部１０９は、判定の結果を表示部２１４に表示させる。
【００１８】
図２は、端末装置１２０の構成を示す。
【００１９】
端末装置１２０は、記憶部２２１、ＣＰＵ２２２、入力部２２３、表示部２２４、通信部２２５、測位部２２６を有する。記憶部２２１は、半導体メモリやＨＤＤ等であり、位置情報を用いるプログラム及びデータを格納する。ＣＰＵ２２２は、記憶部２２１内のプログラム及びデータに基づいて、処理を実行する。入力部２２３は、ユーザによる操作を検出し、入力情報（操作情報）として出力する。表示部２２４は、ＣＰＵ２２２からの指示に従って画面を表示する。通信部２２５は、テスト装置１０１の通信部２１５と通信路１３０を介して接続され、テスト装置１０１との通信を行う。測位部２２６は、例えばＧＰＳ（Global Positioning System）受信機であり、端末装置１２０の位置（現在地）である端末位置を測定し、端末位置の地理座標を示す位置情報を出力する。測位部２２６は、加速度を測定する加速度センサや、傾きを測定するジャイロセンサや、車両に搭載される場合に車速パルスを検出するセンサ等を有していても良い。また、ＣＰＵ２２２は、時刻を測定する。なお、測位部２２６が時刻を測定しても良い。
【００２０】
記憶部２２１は、擬似信号制御部１２１、業務アプリケーション１２２、位置情報管理部１２３、画面イメージ取得部１２４、地図情報管理部１３１、画面イメージ管理部１３２の夫々を実現するプログラムおよび／またはデータを格納する。以下に説明する各処理は、ＣＰＵ２２２が記憶部２２１内のプログラムを実行することにより実現される。これらのプログラムは、コンピュータ読み取り可能な記憶媒体に格納され、その記憶媒体から、端末装置１２０へインストールされても良い。
【００２１】
地図情報管理部１３１は、地図情報を格納する。位置情報管理部１２３は、地図情報管理部１３１内の地図情報に基づいて、測位部２２６からの位置情報の補正や管理を行い、位置情報に基づくイベントを発行する。業務アプリケーション１２２は、動作検証システムによるテストの対象である。業務アプリケーション１２２は、位置情報管理部１２３からのイベントに基づいて動作する。また、業務アプリケーション１２２は、入力部２２３からの入力情報に基づいて動作する。例えば、端末位置が予め指定された位置に近づいた場合などに、位置情報管理部１２３は、業務アプリケーション１２２へイベントを発行する。このとき、業務アプリケーション１２２は、発行されたイベントに基づいて表示部２２４の画面上にメッセージを表示させたり、表示されている情報を更新したりする。なお、位置情報管理部１２３は、イベントではなく、端末装置１２０の位置情報そのものを、定期的に業務アプリケーション１２２に通知しても良い。
【００２２】
画面イメージ取得部１２４は、画面イメージ取得条件送信部１１２から画面イメージ取得条件を受信し、受信された画面イメージ取得条件に基づいて、表示部２２４の画面をキャプチャし、画面イメージとして画面イメージ管理部１３２へ保存する。ここで画面イメージ取得部１２４は、位置情報を定期的に取得し、端末位置が画面イメージ取得条件に指定された取得位置の範囲内である場合、画面イメージ取得条件に指定された時間間隔で連続して画面イメージを取得する。この時、画面イメージ取得部１２４は、画面イメージ取得条件に含まれるテストＩＤ、画面イメージを取得した時刻、その時刻における端末位置を画面イメージの付属情報として記録する。画面イメージ取得部１２４は、取得した画面イメージの付属情報として、画面イメージを取得した時刻の前後に位置情報管理部１２３と業務アプリケーション１２２との間に流れた情報を、その時刻に対応付けて画面イメージ管理部１３２へ記録しても良いし、ＣＰＵ２２２や記憶部２２１の負荷状態を画面イメージ管理部１３２へ記録しても良い。画面イメージ取得条件は、入力部２２３により検出される入力情報の条件を示していても良い。この場合、画面イメージ取得部１２４は、入力情報が画面イメージ取得条件に指定された入力情報の条件を満たす場合、画面イメージ取得条件に指定された時間間隔で連続して画面イメージを取得する。画面イメージ取得条件が成立した場合に画面イメージを記録することにより、必要な状況のテストを実行することができる。
【００２３】
画面イメージ取得部１２４が、業務アプリケーション１２２の外に設けられ、業務アプリケーション１２２により表示された画面を画面イメージ管理部１３２へ記録することにより、キャプチャ等のテスト機能を業務アプリケーション１２２に含める必要がないため、テスト機能の追加による業務アプリケーション１２２の不具合を防ぐことができる。
【００２４】
擬似信号制御部１２１は、テストシナリオ作成部１０８から受信したテストシナリオに基づいて、位置情報管理部１２３や業務アプリケーション１２２へ擬似的な信号を送ることで、端末装置１２０の疑似走行を制御する。擬似信号は例えば、位置情報管理部１２３へ入力される位置情報や、業務アプリケーション１２２への入力情報等の代わりとなる信号である。
【００２５】
――――テスト条件の内容――――
【００２６】
図３は、擬似入力条件管理部１０３の内容を示す。
【００２７】
擬似入力条件管理部１０３は、テストを実施する際に端末装置１２０へ与える擬似的な入力信号である擬似入力信号を定義する擬似入力条件を管理するテーブルである。擬似入力条件管理部１０３は、テストＩＤ２０１、トリガ２０２、擬似入力信号２０３を有する。テストＩＤ２０１は、テストを一意に識別するための情報である。トリガ２０２は、擬似入力信号２０３を発生させるための条件を表している。トリガ２０２における指定位置は、地理座標（緯度，経度）で表される。例えば、トリガ２０２が「指定位置＝（ＬＡＴ１，ＬＯＮ１）、距離＜１００ｍ」である場合、端末位置から指定位置（ＬＡＴ１，ＬＯＮ１）までの距離が１００ｍ未満になった場合に、対応する擬似入力信号２０３で指定された信号を発生させることを表している。この例において、トリガ２０２は、端末位置から指定位置までの距離の条件であるが、端末位置から指定位置までの距離がしきい値以下になってからの経過時間の条件を更に有しても良い。また、トリガ２０２の条件は、テスト開始時刻からの経過時間や所定時刻であっても良いし、ＣＰＵ２２２等の端末装置１２０の負荷状態であっても良いし、位置情報管理部１２３から業務アプリケーション１２２に通知されるデータであっても良い。擬似入力信号２０３は、業務アプリケーション１２２への擬似的な入力信号を表す。入力信号は、表示部２２４の画面上のクリックや文字入力等である。例えば、擬似入力信号２０３が画面上のクリックを指定する場合、擬似信号制御部１２１は、画面上に表示されたボタンを自動で押下することが可能となる。この例において、擬似入力信号２０３は、ユーザから入力部２２３への入力を擬似的に発生させるものであるが、加速度や傾きなどのセンサ情報を擬似的に発生させても良いし、位置情報管理部１２３から業務アプリケーション１２２に送られるデータを擬似的に発生させても良い。
【００２８】
図４は、走行条件管理部１０４の内容を示す。
【００２９】
走行条件管理部１０４は、端末装置１２０を擬似的に走行させるための走行条件を管理するテーブルである。業務アプリケーション１２２のように位置情報に基づいて動作するアプリケーションをテストする場合、実際に端末装置１２０を移動させてテストする方法もあるが、擬似的な位置情報を端末装置１２０へ与えることで机上でのテストが可能となる。走行条件管理部１０４は、テストＩＤ３０１、移動速度３０２、経路３０３を有する。テストＩＤ３０１は、テストを一意に識別するための情報である。移動速度３０２は、端末装置１２０を擬似的に移動させる速度を表している。経路３０３は、端末装置１２０の擬似的な移動経路を経由地の地理座標の点列で表している。例えば、「（ＬＡＴ１，ＬＯＮ１）−（ＬＡＴ２，ＬＯＮ２）−（ＬＡＴ３，ＬＯＮ３）」で表された経路３０３は、地理座標（ＬＡＴ１，ＬＯＮ１）から出発して地理座標（ＬＡＴ２，ＬＯＮ２）に移動し、地理座標（ＬＡＴ２，ＬＯＮ２）から座標（ＬＡＴ３，ＬＯＮ３）へ移動することを表している。経路３０３は、何点の地理座標を指定しても良く、同じ地理座標を繰り返し通っても良い。
【００３０】
図５は、テスト判定条件管理部１０５の内容を示す。
【００３１】
テスト判定条件管理部１０５は、業務アプリケーション１２２の動作の判定のための判定条件を管理するテーブルである。テスト判定条件管理部１０５は、テストＩＤ４０１、判定条件４０２を有する。テストＩＤ４０１は、テストを一意に識別するための情報である。判定条件４０２は、テストの判定条件として、正常時の画面遷移を表している。テストＩＤ４０１が１である場合を用いて説明する。この時の判定条件４０２は、３つの部分判定条件ＣＳ１「表示（画像領域＝（Ｘ１，Ｙ１）−（Ｘ２，Ｙ２），基準画像ＩＤ＝１）」、ＣＳ２「非表示（画像領域＝（Ｘ３，Ｙ３）−（Ｘ４，Ｙ４），基準画像ＩＤ＝２）  ＡＮＤ  連続表示（画像領域＝（Ｘ１，Ｙ１）−（Ｘ２，Ｙ２），基準画像ＩＤ＝１，４秒）」、ＣＳ３「非表示（画像領域＝（Ｘ１，Ｙ１）−（Ｘ２，Ｙ２），基準画像ＩＤ＝１）」を有する。また、この判定条件４０２は、ＣＳ１→ＣＳ２→ＣＳ３の順に発生することを表している。各部分判定条件は、表示部２２４の画面上の位置を示す画像領域と、当該画像領域内に表示される基準画像を示す基準画像ＩＤと、当該画像領域における当該基準画像の変化を示す画面遷移とを含む。画像領域である矩形領域は、（左上の頂点の画面座標）−（右下の頂点の画面座標）で表され、表示部２２４の画面における画面座標は（横座標、縦座標）で表される。画像領域は、矩形領域ではなく他の多角形の領域であっても良い。また、基準画像ＩＤは、基準画像管理部１０６で管理されている基準画像を一意に識別するための情報である。画面遷移は、「表示」、「非表示」、「連続表示」の何れかを示す。画面遷移が連続表示である場合の部分判定条件は、連続時間を含む。
【００３２】
部分判定条件ＣＳ１は、（Ｘ１，Ｙ１）−（Ｘ２，Ｙ２）で表される画像領域ＡＩ１と、基準画像ＩＤが１である基準画像ＩＲ１とを用い、画像領域ＡＩ１に基準画像ＩＲ１が表示されることを表す。画像領域ＡＩ１の画像が基準画像ＩＲ１に一致した場合、ＣＳ１を満たすと判定される。なお、画像の一致の判定に一致度を用いても良い。例えば、画像領域ＡＩ１の画像と基準画像ＩＲ１との一致度が９５％以上になれば、画像領域ＡＩ１の画像が基準画像ＩＲ１に一致したと判定される。
【００３３】
部分判定条件ＣＳ２は、二つの要素条件ＣＳ２ａ「非表示（画像領域＝（Ｘ３，Ｙ３）−（Ｘ４，Ｙ４），基準画像ＩＤ＝２）」、ＣＳ２ｂ「連続表示（画像領域＝（Ｘ１，Ｙ１）−（Ｘ２，Ｙ２），基準画像ＩＤ＝１，４秒）」のＡＮＤ条件であるため、要素条件ＣＳ２ａ及びＣＳ２ｂの両方を満たすことが必要となる。要素条件ＣＳ２ａは、（Ｘ３，Ｙ３）−（Ｘ４，Ｙ４）で表される画像領域ＡＩ２と、基準画像ＩＤが２である基準画像ＩＲ２とを用い、画像領域ＡＩ２に表示されている基準画像ＩＲ２が非表示になることを表す。言い換えれば、要素条件ＣＳ２ａは、画像領域ＡＩ２に表示されている基準画像ＩＲ２が別の画像に変更されることを表す。画像領域ＡＩ２の画像が基準画像ＩＲ２に不一致になった場合、要素条件ＣＳ２ａを満たすと判定される。要素条件ＣＳ２ｂは、画像領域ＡＩ１に基準画像ＩＲ１が連続時間（４秒）以上連続で表示されることを表している。
【００３４】
部分判定条件ＣＳ３は、画像領域ＡＩ１に表示されている基準画像ＩＲ１が非表示になることを表す。端末装置１２０により取得された画面イメージ群においてＣＳ１→ＣＳ２→ＣＳ３が順に発生した場合、業務アプリケーション１２２の動作が正常であると判断される。判定条件４０２に用いられる画面遷移として、「表示」、「非表示」、「連続表示」の３つを例として示したが、その他の画面遷移として、画面に表示されていた基準画像が連続時間以上非表示になる「連続非表示」や、表示と非表示が交互に繰り返される「点滅」（点滅回数を指定する）などが用いられても良い。これにより、基準画像を用いる画面遷移とその順序をテスト判定条件として定義することができ、テスト判定部１１０は、画面イメージ群において、画面遷移が順序通り発生したか否かを判定することができる。
【００３５】
図６は、画面イメージ取得条件管理部１０７の内容を示す。
【００３６】
画面イメージ取得条件管理部１０７は、端末装置１２０の画面の取得のための画面イメージ取得条件を管理するテーブルである。画面イメージ取得条件管理部１０７は、テストＩＤ５０１、取得位置５０２、取得間隔５０３とを有する。テストＩＤ５０１は、テストを一意に識別するための情報である。取得位置５０２は、表示部２２４内で画面イメージを取得する端末位置の領域を表している。取得位置５０２は例えば、多角形であり、その多角形の複数の頂点の地理座標で表される。例えば、取得位置５０２「（ＬＡＴ１，ＬＯＮ１）−（ＬＡＴ２，ＬＯＮ２）−（ＬＡＴ３，ＬＯＮ３）−（ＬＡＴ１，ＬＯＮ１）」は、（ＬＡＴ１，ＬＯＮ１）と（ＬＡＴ２，ＬＯＮ２）と（ＬＡＴ３，ＬＯＮ３）を頂点とする三角形を表している。端末位置がこの三角形の内部である場合に、画面イメージ取得部１２４は、表示部２２４の画面イメージを取得する。取得間隔５０３は、画面イメージを取得する時間間隔を表している。例えば、取得間隔５０３に「０．０１」が指定されている場合、画面イメージ取得部１２４は０．０１秒周期で取得して記録し、取得間隔５０３に「０．１」が指定されている場合、画面イメージ取得部１２４は０．１秒周期で画面イメージを取得して記録する。これにより、位置情報が取得位置５０２を満たす場合、画面イメージ取得部１２４は、業務アプリケーション１２２により表示部２２４に表示された画面を取得間隔５０３毎に記録することができる。
【００３７】
画面イメージ取得条件送信部１１２は、画面イメージ取得条件管理部１０７へ格納された画面イメージ取得条件を、端末装置１２０の画面イメージ取得部１２４へ送信する。
【００３８】
――――動作検証システムの動作――――
【００３９】
以下、テスト装置１０１により端末装置１２０のテストを行うテスト処理について説明する。
【００４０】
図７は、テスト処理を示す。この図は、テスト処理におけるテスト装置１０１と端末装置１２０の動作を示す。ステップ６０１において、テスト装置１０１のテスト条件設定部１０２は、テスト条件設定画面を表示し、ユーザによる入力部２１３の操作に基づいて、テスト条件を設定する。ここでテスト条件設定部１０２は、テストＩＤを指定して指定テストＩＤとし、擬似入力条件、走行条件、テスト判定条件、画面イメージ取得条件を設定し、テスト判定条件のための基準画像を登録する。
【００４１】
ステップ６０２において、テストシナリオ作成部１０８は、設定された走行条件及び疑似入力条件に基づいてテストシナリオを作成し、端末装置１２０へ送信する。ステップ６１１において、端末装置１２０の擬似信号制御部１２１は、テストシナリオを受信する。ステップ６０３において、テスト装置１０１の画面イメージ取得条件送信部１１２は、設定された画面イメージ取得条件を端末装置１２０へ送信する。ステップ６１２において、端末装置１２０の画面イメージ取得部１２４は、画面イメージ取得条件を受信する。
【００４２】
ステップ６１３において、端末装置１２０の擬似信号制御部１２１は、テストシナリオに基づいて、端末装置１２０の疑似走行を実施し、画面イメージ取得部１２４は、端末装置１２０の状態が画面イメージ取得条件を満たす間、連続して複数の画面イメージを取得し、画面イメージ群として画面イメージ管理部１１４へ保存する。擬似信号制御部１２１によるテストシナリオの実行が終了すると、ステップ６１４において、画面イメージ取得部１２４は、画面イメージ管理部１１４内の画面イメージ群をテスト装置１０１へ送信する。
【００４３】
ステップ６０４において、テスト装置１０１の画面イメージ収集部１１１は、画面イメージ群を受信し、画面イメージ管理部１１４へ保存する。ステップ６０５において、テスト判定部１１０は、保存された画面イメージ群と判定条件に基づいて、業務アプリケーション１２２が正常に動作したか否かを判定するテスト判定処理を行う。ステップ６０６において、テスト結果作成部１０９は、テスト判定処理の結果に基づいて、ユーザが閲覧しやすい形のテスト結果画面を作成して表示部２１４に表示させ、このフローを終了する。テスト毎に本フローを繰り返しても良いし、複数のテスト条件を端末装置１２０に送り、複数のテストの実行結果を一括して回収し、複数のテストの判定を行っても良い。
【００４４】
図８は、テスト条件設定画面を示す。
【００４５】
テスト条件設定部１０２は、テスト前に、テスト条件設定画面を表示部２１４に表示させ、ユーザによる入力部２１３の操作に基づいてテスト条件を取得する。テスト条件設定画面は、走行条件入力部２０１１、擬似入力条件入力部２０１２、テスト判定条件入力部２０１３、画面イメージ取得条件入力ボタン２０１４、テストシナリオ作成ボタン２０１５を有する。テスト条件設定部１０２は、テストシナリオ作成ボタン２０１５が押下されると、走行条件入力部２０１１へ入力された走行条件を走行条件管理部１０４へ保存し、擬似入力条件入力部２０１２へ入力された擬似入力条件を擬似入力条件管理部１０３へ保存し、テスト判定条件入力部２０１３へ入力されたテスト判定条件をテスト判定条件管理部１０５へ保存する。その後、テスト条件設定部１０２は、テスト条件設定画面を閉じ、テストシナリオ作成部１０８にテストシナリオの作成を指示する。テスト条件設定部１０２は、入力されたテスト条件を再利用して、新しいテスト条件を設定することもできる。
【００４６】
テスト条件設定部１０２は、走行条件における経路を設定する場合や、画面イメージ取得条件における取得位置を設定する場合、地図情報管理部１１３から地図情報を取得してテスト条件設定画面に地図を表示させ、ユーザによる地図上の領域の指定を取得する。
【００４７】
走行条件入力部２０１１は、移動速度入力部２０３１と地図入力ボタン２０３２とを有する。地図入力ボタン２０３２が押下されると、テスト条件設定部１０２は、テスト条件設定画面に地図２０２１を表示させ、ユーザによる地図２０２１への入力に基づいて経路３０３を指定する。例えば、テスト条件設定部１０２は、地図３２１上でユーザによりクリックされた点２０２２を繋げることで経路３０３を指定しても良いし、ユーザがマウス等の入力部２１３により地図２０２１上でなぞられた線を経路３０３として指定しても良い。また、テスト条件設定部１０２は、地図２０２１上で経路３０３を指定するのではなく、入力される地理座標の点列により直接、経路３０３を指定しても良い。端末装置１２０の移動速度にばらつきがあっても、業務アプリケーション１２２が正しく動作することを確認するために、移動速度３０２に上限値と下限値が夫々設定された２種類のテストを少なくとも実施することが望ましい。例えば、移動速度３０２の上限値及び下限値は夫々、経路３０３の道路を通過する車両の上限速度と下限速度である。移動速度入力部２０３１がユーザから移動速度３０２の入力を受け付けても良いが、テスト条件設定部１０２が地図情報管理部１１３に基づいて移動速度３０２を決定しても良い。例えば、テスト条件設定部１０２は、経路３０３の道路の制限速度や、経路３０３の道路を通過するのにかかる平均時間等をベースに自動で決定しても良い。
【００４８】
擬似入力条件入力部２０１２は、トリガ入力部２０３３と、アクション入力部２０３４とを有する。トリガ入力部２０３３は、例えばプルダウンメニューであり、予め定められたトリガ２０２の選択肢を表示し、ユーザからトリガ２０２の選択を受け付ける。アクション入力部２０３４は、例えばプルダウンメニューであり、予め定められた擬似入力信号２０３の選択肢を表示し、ユーザから擬似入力信号２０３の選択を受け付ける。トリガ入力部２０３３には、新たなトリガ２０２が入力されても良い。アクション入力部２０３４には、新たな擬似入力信号２０３が入力されても良い。
【００４９】
テスト判定条件入力部２０１３は、画面遷移入力部２０４１、基準画像選択ボタン２０４２、画像領域入力部２０４３、判定条件編集ボタン２０２３、判定条件表示部２０２４を有する。画面遷移入力部２０４１は、部分判定条件に用いられる画面遷移の種類と、画面遷移が連続表示である場合の連続表示時間との入力をユーザから受け付ける。基準画像選択ボタン２０４２が押下されると、テスト条件設定部１０２は、基準画像を選択する画面を表示部２１４に表示させ、基準画像の選択及び登録をユーザから受け付ける。画像領域入力部２０４３は、部分判定条件に用いられる画像領域の入力をユーザから受け付ける。判定条件編集ボタン２０２３は、複数の部分判定条件を組み合わせる演算子をついかするためのＡＮＤ演算子ボタン及びＯＲ演算子ボタン、部分判定条件を追加するための追加ボタン、部分判定条件を削除するための削除ボタンを有する。判定条件表示部２０２４は、作成された判定条件を表示する。
【００５０】
画面イメージ取得条件入力ボタン２０１４が押下されると、テスト条件設定部１０２は、画面イメージ取得条件設定画面を表示部２１４に表示させる。
【００５１】
図９は、画面イメージ取得条件設定画面を示す。
【００５２】
画面イメージ取得条件設定画面は、取得位置入力部２０５１、取得間隔入力部２０５２、ＯＫボタン２０５３、ＣＡＮＣＥＬボタン２０５４を有する。ＯＫボタン２０５３が押下されると、テスト条件設定部１０２は、取得位置入力部２０５１及び取得間隔入力部２０５２へ入力された内容を画面イメージ取得条件管理部１０７へ保存し、表示部２１４の画面イメージ取得条件設定画面を閉じ、表示部２１４の画面をテスト条件設定画面に戻す。ＣＡＮＣＥＬボタン２０５４が押下されると、テスト条件設定部１０２は、画面イメージ取得条件設定画面へ入力された内容を画面イメージ取得条件管理部１０７へ保存せずに、表示部２１４の画面イメージ取得条件設定画面を閉じ、表示部２１４の画面をテスト条件設定画面に戻す。
【００５３】
取得位置入力部２０５１は、地図入力ボタン２０７１と、取得位置表示部２０７２とを有する。地図入力ボタン２０７１が押下されると、テスト条件設定部１０２は、画面イメージ取得条件設定画面に地図２０６１を表示させ、ユーザにより地図２０６１上で指定された多角形２０６２を指定し、多角形２０６２から取得位置５０２を算出して取得位置表示部２０７２へ表示する。なお、テスト条件設定部１０２は、取得位置表示部２０７２へ入力される地理座標の点列により直接、取得位置５０２を指定しても良い。また、テスト条件設定部１０２は、所定のルールに基づいて自動的に取得位置５０２を指定しても良い。例えば、テスト装置１０１により警告地点の位置が管理されている場合、テスト条件設定部１０２は、その警告地点を読み込み、警告地点を中心とした半径１００ｍ以内を取得位置５０２に指定しても良い。
【００５４】
取得間隔入力部２０５２は、ユーザから取得間隔５０３の入力を受け付ける。
【００５５】
以下、テストシナリオ作成部１０８及び擬似信号制御部１２１の動作（ステップ６０２、６１１、６１３）の詳細について説明する。
【００５６】
テストシナリオの作成の指示を受けたテストシナリオ作成部１０８は、指定された時間間隔（１秒、０．１秒など）である実行間隔を用い、走行条件における経路３０３を移動速度３０２で走行する場合に実行間隔の経過毎の通過点の地理座標を算出して通過点列とする。例えば、テストシナリオ作成部１０８は、経路「（ＬＡＴ１，ＬＯＮ１）−（ＬＡＴ２，ＬＯＮ２）」を、ＷＰ１（ＬＡＴ１，ＬＯＮ１）、ＷＰ２（ＬＡＴ１ａ，ＬＯＮ１ａ）、ＷＰ３（ＬＡＴ２，ＬＯＮ２）の３つの通過点を有する通過点列に変換する。その後、テストシナリオ作成部１０８は、通過点列へ夫々移動することを示す命令列「ＭＯＶＥ（ＬＡＴ１，ＬＯＮ１）、ＭＯＶＥ（ＬＡＴ１ａ，ＬＯＮ１ａ）、ＭＯＶＥ（ＬＡＴ２，ＬＯＮ２）」を作成する。次にテストシナリオ作成部１０８は、指定テストＩＤをキーとして、擬似入力条件管理部１０３からトリガ２０２及び擬似入力信号２０３を取得する。例えば、テストシナリオ作成部１０８が、トリガ２０２として「座標＝（ＬＡＴ１，ＬＯＮ１）、距離＜１００ｍ」、擬似入力信号２０３として「画面クリック（Ｘ１，Ｙ１））を取得したとする。テストシナリオ作成部１０８は、通過点列ＷＰ１〜ＷＰ３の中からトリガ２０２を満たす通過点を検出する。ここでテストシナリオ作成部１０８は、通過点列を前から走査し、トリガ２０２を初めて満たす通過点を見つける。トリガ２０２を初めて満たす通過点がＷＰ２である場合、テストシナリオ作成部１０８は、命令列において、ＷＰ２へ移動する命令ＭＯＶＥ（ＬＡＴ１ａ，ＬＯＮ１ａ）の後に、擬似入力信号２０３を示す命令ＣＬＩＣＫ（Ｘ１，Ｙ１）を追加する。これにより、テストシナリオ作成部１０８は、「ＭＯＶＥ（ＬＡＴ１，ＬＯＮ１）、ＭＯＶＥ（ＬＡＴ１ａ，ＬＯＮ１ａ）、ＣＬＩＣＫ（Ｘ１，Ｙ１）、ＭＯＶＥ（ＬＡＴ２，ＬＯＮ２）」というテストシナリオを作成する。その後、テストシナリオ作成部１０８は、作成されたテストシナリオを端末装置１２０の擬似信号制御部１２１へ送信する。
【００５７】
ここでは、擬似信号制御部１２１が、前述のテストシナリオ「ＭＯＶＥ（ＬＡＴ１，ＬＯＮ１）、ＭＯＶＥ（ＬＡＴ１ａ，ＬＯＮ１ａ）、ＣＬＩＣＫ（Ｘ１，Ｙ１）、ＭＯＶＥ（ＬＡＴ２，ＬＯＮ２）」を受信した場合について説明する。擬似信号制御部１２１は、受信されたテストシナリオ内の命令を順に実行することにより、擬似信号を位置情報管理部１２３又は業務アプリケーション１２２へ送る。
【００５８】
まず擬似信号制御部１２１は、ＭＯＶＥ（ＬＡＴ１，ＬＯＮ１）を実行することにより、擬似的な位置情報（ＬＡＴ１，ＬＯＮ１）を位置情報管理部１２３及び画面イメージ取得部１２４へ送る。実行間隔だけ待機した後、擬似信号制御部１２１は、次のＭＯＶＥ（ＬＡＴ１ａ，ＬＯＮ１ａ）を実行することにより、擬似的な位置情報（ＬＡＴ１ａ，ＬＯＮ１ａ）を位置情報管理部１２３及び画面イメージ取得部１２４へ送る。このようにＭＯＶＥ命令は、実行間隔毎に実行される。実行間隔は、予め定義された値であっても良いし、テスト毎に指定されても良い。実行間隔がテスト毎に指定される場合、テストシナリオ作成部１０８は、実行間隔をテストシナリオの付属情報として擬似信号制御部１２１に通知する。
【００５９】
擬似信号制御部１２１は、ＭＯＶＥ（ＬＡＴ１ａ，ＬＯＮ１ａ）の実行後、ＣＬＩＣＫ（Ｘ１，Ｙ１）を実行することにより、表示部２２４の画面座標（Ｘ１，Ｙ１）を擬似的にクリックしたことを示す信号を業務アプリケーション１２２へ送る。ＣＬＩＣＫ命令はＭＯＶＥ命令と異なり、待ち時間なしで実行される。つまり、擬似信号制御部１２１は、ＭＯＶＥ（ＬＡＴ１ａ，ＬＯＮ１ａ）を実行したらすぐにＣＬＩＣＫ（Ｘ１，Ｙ１）を実行する。
【００６０】
擬似信号制御部１２１は、ＣＬＩＣＫ（Ｘ１，Ｙ１）を実行してから実行間隔だけ待機した後、テストシナリオの最後の命令であるＭＯＶＥ（ＬＡＴ２，ＬＯＮ２）を実行することにより、擬似的な位置情報（ＬＡＴ２，ＬＯＮ２）を位置情報管理部１２３及び画面イメージ取得部１２４へ送る。
【００６１】
画面イメージ取得部１２４は、取得された画面イメージを画面イメージ管理部１３２へ保存すると共に、テストＩＤ、画面イメージを取得した時刻、画面イメージを取得した端末位置の地理座標を付属情報として画面イメージ管理部１３２へ保存する。
【００６２】
本実施例では、擬似信号制御部１２１が擬似的な位置情報を位置情報管理部１２３へ与えることで、業務アプリケーション１２２のテストを実施するが、端末装置１２０を車両に搭載して実際にその車両を走らせることで業務アプリケーション１２２のテストを実施しても良い。
【００６３】
以上のテスト処理によれば、位置情報に応じて変化する画面を画面イメージ群として取得し、画面イメージ群に基づいて業務アプリケーション１２２の動作を検証することができる。また、擬似信号制御部１２１がテストシナリオに基づいて、擬似的な位置情報を生成することにより、端末装置１２０を実際に移動させることなく、擬似的な走行によりテストを実行することができる。また、擬似信号制御部１２１がテストシナリオに基づいて、擬似的な入力情報を生成することにより、端末装置１２０を実際に操作することなく、擬似的な入力によりテストを実行することができる。
【００６４】
以下、テスト判定処理（ステップ６０５）の詳細について説明する。
【００６５】
図１０は、テスト判定処理を示す。ステップ７０１において、テスト判定部１１０は、指定されたテストＩＤに対応する判定条件をテスト判定条件管理部１０５から取得し、取得された判定条件を部分判定条件に分解する。例えば、判定条件が「ＣＳ１：表示（画像領域＝（Ｘ１，Ｙ１）−（Ｘ２，Ｙ２），基準画像ＩＤ＝１）→ＣＳ２：｛非表示（画像領域＝（Ｘ３，Ｙ３）−（Ｘ４，Ｙ４），基準画像ＩＤ＝２）  ＡＮＤ  連続表示（画像領域＝（Ｘ１，Ｙ１）−（Ｘ２，Ｙ２），基準画像ＩＤ＝１，４秒）｝→ＣＳ３：非表示（画像領域＝（Ｘ１，Ｙ１）−（Ｘ２，Ｙ２），基準画像ＩＤ＝１）」の場合、テスト判定部１１０は、ＣＳ１、ＣＳ２、ＣＳ３の３つの部分判定条件に分解する。分解後、テスト判定部１１０は、各部分判定条件に利用されている基準画像ＩＤをキーにして、基準画像管理部１０６からその基準画像ＩＤに対応した基準画像を取得する。
【００６６】
ステップ７０２において、テスト判定部１１０は、部分判定条件を順に一つ選択する。ＣＳ１〜ＣＳ３の例において、テスト判定部１１０は、最初のステップ７０２の実行時に、ＣＳ１を選択し、次のステップ７０２の実行時にＣＳ２を選択し、次のステップ７０２の実行時にＣＳ３を選択する。ステップ７０３において、テスト判定部１１０は、画面イメージ管理部１１４に格納された画面イメージ群の中に未判定の画面イメージがあるか否かを判定する。なお、テスト判定部１１０は、画面イメージ群内の各画面イメージが部分判定条件により判定済か未判定かを示す画面判定状態を記憶部２１１に記憶する。初めてステップ７０３が実行される際、画面判定状態は、画面イメージ群が全て未判定であることを示す。
【００６７】
未判定の画面イメージがない場合（ステップ７０３：Ｎｏ）、テスト判定部１１０は、テスト結果を「失敗」としてこのフローを終了する。未判定の画面イメージがある場合（ステップ７０３：Ｙｅｓ）、テスト判定部１１０は、画面イメージ群の中から未判定の画面イメージを時刻順に一つ選択する。ここでテスト判定部１１０は、未判定の画面イメージの中から一番時刻の早い画面イメージを選択する。ステップ７０５において、テスト判定部１１０は、選択された画面イメージが、選択された部分判定条件を満たすか否かを判定する。
【００６８】
画面イメージが部分判定条件を満たしていない場合（ステップ７０５：Ｎｏ）、テスト判定部１１０は、処理をステップ７０３に戻す。画面イメージが部分判定条件を満たす場合（ステップ７０５：Ｙｅｓ）、テスト判定部１１０は、ステップ７０６において、画面イメージ群が全ての部分判定条件を満たしたか否かを判定する。なお、テスト判定部１１０は、各部分判定条件が満たされたか否かを示す部分判定状態を記憶部２１１に記憶する。
【００６９】
画面イメージ群が全ての部分判定情報を満たした場合（ステップ７０６：Ｙｅｓ）、テスト判定部１１０は、テスト結果を「成功」としてこのフローを終了する。画面イメージ群が全ての部分判定条件を満たしていない場合（ステップ７０６：Ｎｏ）、テスト判定部１１０は、処理をステップ７０２に戻す。
【００７０】
以下、テスト結果作成部１０９により表示されるテスト結果画面について説明する。
【００７１】
図１１は、テスト結果画面を示す。
【００７２】
テスト結果画面には、テスト条件表示部１００１、判定結果表示部１００２、部分判定結果表示部１００３を有する。テスト条件表示部１００１は、指定テストＩＤと、当該テストのためにテスト条件設定画面で設定されたテスト条件（移動速度、経路、取得位置等）とを表示する。判定結果表示部１００２は、テスト判定処理の結果として、画面イメージ群が全ての部分判定条件を満たした場合には成功（図中の○）、そうでない場合には失敗（図中の×）を表示する。部分判定結果表示部１００３は、テスト判定処理における各部分判定条件の結果として、部分判定条件が満たされた証拠の画面イメージである証拠画面イメージと、部分判定条件が満たされた地理座標である発生箇所とを表示する。
【００７３】
証拠画面イメージは、部分判定条件が満たされた画面イメージと、その直前の画面イメージとにより画面遷移を示す。例えば、或る基準画像の表示を示す部分判定条件が成功した場合、証拠画面イメージは、その基準画像が表示される直前の画面イメージと、その基準画像が表示されたときの画面イメージとを有する。発生箇所は、部分判定条件が満たされた画面イメージに紐づけられた位置情報を示す。発生箇所は、その位置情報とその周辺の地図とを有する。部分判定条件が満たされなかった場合、その部分判定条件の証拠画面イメージ及び発生箇所には何も表示されない。テスト結果画面は更に、画面イメージと共に記録された端末装置１２０の各部の負荷等の情報を表示しても良い。テスト結果画面が部分判定条件の成立時の画面イメージの変化やその時の位置情報を表示することにより、テスト装置１０１のユーザは、部分判定条件の成立時の状況を確認することができる。
【００７４】
他のテスト結果がある場合、テスト結果画面は、そのテスト結果を表示する他テスト結果表示部１００４を有しても良い。
【００７５】
以下、テスト判定処理の具体例について説明する。
【００７６】
この具体例において、判定条件が「ＣＳ１：表示（画像領域＝（Ｘ１，Ｙ１）−（Ｘ２，Ｙ２），基準画像ＩＤ＝１）→ＣＳ２：｛非表示（画像領域＝（Ｘ３，Ｙ３）−（Ｘ４，Ｙ４），基準画像ＩＤ＝２）  ＡＮＤ  連続表示（画像領域＝（Ｘ１，Ｙ１）−（Ｘ２，Ｙ２），基準画像ＩＤ＝１，４秒）｝→ＣＳ３：非表示（画像領域＝（Ｘ１，Ｙ１）−（Ｘ２，Ｙ２），基準画像ＩＤ＝１）」である。この具体例において、画面イメージ群が１秒周期で取得された８枚の画面イメージを有する。この具体例において、これら８枚の画面イメージは、取得された時刻の早い順に｛ＩＭＧ１，ＩＭＧ２，ＩＭＧ３，ＩＭＧ４，ＩＭＧ５，ＩＭＧ６，ＩＭＧ７，ＩＭＧ８｝である。
【００７７】
まずテスト判定部１１０は、判定条件をＣＳ１、ＣＳ２、ＣＳ３の３つの部分判定条件に分解する（ステップ７０１）。次にテスト判定部１１０は、部分判定条件の中から最初のＣＳ１を選択する（ステップ７０２）。次にテスト判定部１１０は、未判定の画面イメージの中から最も早い時刻を有する画面イメージＩＭＧ１を選択し（ステップ７０３）、ＣＳ１を満たすか否かを判定する（ステップ７０５）。ここで部分判定条件ＣＳ１は、「（Ｘ１，Ｙ１）−（Ｘ２，Ｙ２）」で表される画像領域ＡＩ１を定義しているため、テスト判定部１１０は、画面イメージＩＭＧ１から画像領域ＡＩ１に対応する矩形の部分画像を切り出して取得し、この部分画像が基準画像ＩＲ１に一致するか否かを判定する。この部分画像が基準画像ＩＲ１に一致しないと判定された場合（ステップ７０５：Ｎｏ）、テスト判定部１１０は、画面イメージＩＭＧ１が部分判定条件ＣＳ１を満たさないと判定し、画面イメージＩＭＧ１が判定済であることを画面判定状態に記録する。
【００７８】
次にテスト判定部１１０は、未判定の画面イメージの中から次の画面イメージＩＭＧ２を選択し（ステップ７０３）、部分判定条件ＣＳ１を満たすか否かを判定する（ステップ７０５）。前回のステップ７０５と同様、テスト判定部１１０は、画面イメージＩＭＧ２から画像領域ＡＩ１に対応する矩形の部分画像を取得し、基準画像ＩＲ１と比較する（ステップ７０５）。この部分画像が基準画像ＩＲ１に一致したとすると、画面遷移「表示」が満たされるため（ステップ７０５：Ｙｅｓ）、テスト判定部１１０は、画面イメージＩＭＧ２が判定済であることを画面判定状態に記録し、次の部分判定条件の有無を確認する（ステップ７０６）。
【００７９】
次の部分判定条件があるため（ステップ７０６：Ｎｏ）、テスト判定部１１０は、次の部分判定条件ＣＳ２を選択する（ステップ７０２）。次にテスト判定部１１０は、未判定の画面イメージの中から次の画面イメージＩＭＧ３を選択し（ステップ７０３）、画面イメージＩＭＧ３が部分判定条件ＣＳ２を満たすか否かを判定する（ステップ７０５）。部分判定条件ＣＳ２は、二つの要素条件ＣＳ２ａ及びＣＳ２ｂのＡＮＤ条件であるため、要素条件ＣＳ２ａ及びＣＳ２ｂの両方を満たす必要がある。ただし、１枚の画面イメージが同時に要素条件ＣＳ２ａ及びＣＳ２ｂを満たす必要はなく、複数の画面イメージが要素条件ＣＳ２ａ及びＣＳ２ｂを夫々満たしても良い。要素条件ＣＳ２ａは「（Ｘ３，Ｙ３）−（Ｘ４，Ｙ４）」で示される画像領域ＡＩ２を定義しているため、テスト判定部１１０は、画面イメージＩＭＧ３から画像領域ＡＩ２に対応する矩形の部分画像を取得し、基準画像ＩＲ２と比較する。画面遷移「非表示」の条件は、部分画像が基準画像と一致しない場合に満たされる。ここでは、部分画像が基準画像ＩＲ２と一致することにより、画面イメージＩＭＧ３が要素条件ＣＳ２ａを満たさなかったとする。要素条件ＣＳ２ｂは画像領域ＡＩ１を定義しているため、テスト判定部１１０は、画面イメージＩＭＧ３から画像領域ＡＩ１に対応する矩形の部分画像を取得し、基準画像ＩＲ１と比較する。ここでは、部分画像が基準画像ＩＲ１に一致したとする。要素条件ＣＳ２ｂは、４秒以上に亘って基準画像を連続表示することが必要であり、画面イメージＩＭＧ３だけでは要素条件ＣＳ２ｂを満たさない。
【００８０】
要素条件ＣＳ２ａ及びＣＳ２ｂともに満たされていないので（ステップ７０５：Ｎｏ）、テスト判定部１１０は、画面イメージＩＭＧ３が判定済であることを画面判定状態に記録し、未判定の画面イメージの中から次の画面イメージＩＭＧ４を選択する（ステップ７０２）。画面イメージＩＭＧ４が要素条件ＣＳ２ａを満たし、要素条件ＣＳ２ｂによる画面イメージＩＭＧ４の部分画像が基準画像ＩＲ１に一致したとする。要素条件ＣＳ２ｂの基準画像ＩＲ１が１秒間連続表示されたことになる。なお、テスト判定部１１０は、部分判定条件が複数の要素条件を含む場合、各要素条件が満たされたか否かを示す要素判定状態を記憶部２１１に記憶する。
【００８１】
画面イメージＩＭＧ４は、要素条件ＣＳ２ａを満たしたが、要素条件ＣＳ２ｂａを満たしていないため（ステップ７０５：Ｎｏ）、テスト判定部１１０は、画面イメージＩＭＧ４が判定済であることを画面判定状態に記録し、要素条件ＣＳ２ａが満たされたことを要素判定状態に記録し、未判定の画面イメージの中から次の画面イメージＩＭＧ５を選択する（ステップ７０２）。要素条件ＣＳ２ａは既に満たされたため、テスト判定部１１０は、画面イメージＩＭＧ５が要素条件ＣＳ２ｂを満たすか否かのみを判定する（ステップ７０５）。要素条件ＣＳ２ｂによる画面イメージＩＭＧ５の部分画像が基準画像ＩＲ１に一致したとする。その後、テスト判定部１１０は、画面イメージＩＭＧ６及びＩＭＧ７についても要素条件ＣＳ２ｂにのみを判定する。ここまででテスト判定部１１０は、画面イメージＩＭＧ５〜ＩＭＧ７が判定済であることを画面判定状態に記録する。要素条件ＣＳ２ｂによる画面イメージＩＭＧ６及びＩＭＧ７の部分画像が連続して基準画像ＩＲ１に一致したとする。これにより、画面イメージＩＭＧ３〜ＩＭＧ７は、要素条件ＣＳ２ｂに示された４秒の連続表示の条件を満たしたことになる。このとき、部分判定条件ＣＳ２が満たされたため（ステップ７０５：Ｙｅｓ）、テスト判定部１１０は、次の部分判定条件の有無を確認する（ステップ７０６）。
【００８２】
次の部分判定条件があるため（ステップ７０６：Ｎｏ）、テスト判定部１１０は、次の部分判定条件ＣＳ３を選択する（ステップ７０２）。次にテスト判定部１１０は、未判定の画面イメージの中から次の画面イメージＩＭＧ８を選択し（ステップ７０３）、画面イメージＩＭＧ３が部分判定条件ＣＳ３を満たすか否かを判定する（ステップ７０５）。部分判定条件ＣＳ３は画像領域ＡＩ１を定義しているため、テスト判定部１１０は、画面イメージＩＭＧ８から画像領域ＡＩ１に対応する矩形の部分画像を取得し、基準画像ＩＲ１と比較する。この部分画像が基準画像ＩＲ１に一致しなかったとすると、画面遷移「非表示」が満たされ、画面イメージＩＭＧ８が部分判定条件ＣＳ３を満たしたため（ステップ７０５：Ｙｅｓ）、テスト判定部１１０は、画面イメージＩＭＧ８が判定済であることを画面判定状態に記録し、次の部分判定条件の有無を確認する（ステップ７０６）。次にテスト判定部１１０は、全ての部分判定条件ＣＳ１、ＣＳ２、ＣＳ３が満たされたため（ステップ７０６：Ｙｅｓ）、テスト結果を「成功」としてこのフローを終了する。
【００８３】
以上のテスト判定処理によれば、画面イメージ群が時刻順に部分判定条件を満たすか否かを判定することができる。
【００８４】
――――基準画像――――
【００８５】
基準画像は、複数の部分基準画像の重ね合わせとして登録されても良い。この場合の表示部２１４における二つの画面の例について説明する。
【００８６】
図１２は、第１の画面における基準画像の例を示す。第１の画面３０１０は、それ以前から表示されていた地図３０１１の中央にダイアログボックス３０１２が重ねて表示された状態を示す。ダイアログボックス３０１２は、複数の種類のダイアログボックスに共通な部分画像３０２１と、ダイアログボックスの種類によって異なる部分画像３０２２とを有する。
【００８７】
図１３は、第２の画面における基準画像の例を示す。第２の画面３０５０は、それ以前に表示されていた地図３０５１が左側の領域に制限され、残りの領域にリスト３０５２が表示された状態を示す。リスト３０５２は、複数の種類のリストに共通な部分画像３０６１と、リストの種類によって異なる部分画像３０７１、３０７２、３０７３とを有する。
【００８８】
このように基準画像を複数の部分画像の組み合わせとして定義することにより、基準画像に必要な記憶容量を低減することができる。
【００８９】
なお、テスト装置１０１が端末装置１２０のエミュレータを有し、このエミュレータ上で業務アプリケーション１２２を動作させることにより、端末装置１２０を用いずに業務アプリケーション１２２のテストを実行しても良い。また、テスト装置１０１と端末装置１２０を有する動作検証システムを用いる場合、テスト装置１０１がエミュレータを有する場合に比べて、テスト装置１０１の負荷を低減することができる。
【００９０】
特許請求の範囲における用語について説明する。記憶部は、擬似入力条件管理部１０３、走行条件管理部１０４、テスト判定条件管理部１０５、基準画像管理部１０６、画面イメージ取得条件管理部１０７等に対応する。指示部は、テストシナリオ作成部１０８、画面イメージ取得条件送信部１１２等に対応する。取得部は、画面イメージ収集部１１１等に対応する。判定部は、テスト結果作成部１０９、テスト判定部１１０等に対応する。制御部は、擬似信号制御部１２１、業務アプリケーション１２２、位置情報管理部１２３、画面イメージ取得部１２４等に対応する。情報生成部は、擬似信号制御部１２１等に対応する。画面生成部は、業務アプリケーション１２２、位置情報管理部１２３等に対応する。記録部は、画面イメージ取得部１２４等に対応する。遷移情報は、テスト判定条件等に対応する。時間間隔は、取得間隔等に対応する。特定領域は、画像領域等に対応する。特定時間は、連続時間等に対応する。表示装置は、表示部２１４等に対応する。位置指定情報は、走行条件等に対応する。操作指定情報は、擬似入力条件等に対応する。記録条件は、画面イメージ取得条件等に対応する。
【符号の説明】
【００９１】
１０１：テスト装置、  １０２：テスト条件設定部、  １０３：擬似入力条件管理部、  １０４：走行条件管理部、  １０５：テスト判定条件管理部、  １０６：基準画像管理部、  １０７：画面イメージ取得条件管理部、  １０８：テストシナリオ作成部、  １０９：テスト結果作成部、  １１０：テスト判定部、  １１１：画面イメージ収集部、  １１２：画面イメージ取得条件送信部、  １１３：地図情報管理部、  １１４：画面イメージ管理部、  １２０：端末装置、  １２１：擬似信号制御部、  １２２：業務アプリケーション、  １２３：位置情報管理部、  １２４：画面イメージ取得部、  １３１：地図情報管理部
【図１】
2014112062.tif 000003
【図２】
2014112062.tif 000004
【図３】
2014112062.tif 000005
【図４】
2014112062.tif 000006
【図５】
2014112062.tif 000007
【図６】
2014112062.tif 000008
【図７】
2014112062.tif 000009
【図８】
2014112062.tif 000010
【図９】
2014112062.tif 000011
【図１０】
2014112062.tif 000012
【図１１】
2014112062.tif 000013
【図１２】
2014112062.tif 000014
【図１３】
2014112062.tif 000015