≪システム概要≫
本発明の各実施形態に係る試験システムは、画面表示試験を実行するためのシステムである。画面表示試験とは、試験対象の機器における画面表示が正常か異常か判別するための試験である。
ここで、「画面表示が正常」とは、例えば、試験対象の機器が、規定された画像を、規定された精度およびタイミングで表示画面に表示させることを意味する。なお、この画像には、動画も含まれ得る。以降の説明においても、画像とは静止画および動画の両方を意味する。一方、「画面表示が異常」とは、何らかの不具合によって、試験対象の機器が、規定された画像を、規定された精度およびタイミングで表示画面に表示していないことを意味する。
画面表示試験は、例えば出荷前の機器に対して、性能テストの一環として実行される。また例えば、画面表示試験は、画面表示に係るソフトウェアプログラムを作成または更新した場合に、そのプログラムをインストールした機器に対して、プログラムの動作テストの一環として実行される。
前述の画像には、GUI(Graphical User Interface)が含まれ得る。画面表示試験において試験対象の機器に表示させる画像にGUIが含まれている場合、画面表示試験は、GUIの動作テストの側面も有しているといえる。以下、実施形態1〜6において、本発明に係る試験システムの具体例を詳細に説明する。
〔実施形態1〕
≪要部構成≫
以下、実施形態1に係る試験システム600について、図1から図6を用いて説明する。図1は、試験システム600に含まれる装置の要部構成を示すブロック図である。試験システム600は図示の通り、参照機器1と、対象機器2と、試験装置3と、記憶装置4とを含む。
試験装置3は、画面表示試験を実行する装置である。記憶装置4は、試験装置3の外部記憶装置である。対象機器2は、画面表示試験において試験対象となる機器である。一方、参照機器1は、試験システム600が実行する画面表示試験において、対象機器2との比較対象になるリファレンス機である。
試験装置3は、1台以上の参照機器1と、1台以上の対象機器2と、1台以上の記憶装置4と有線または無線で接続している。本実施形態では、特段の記載が無い限り、図1に示すように、試験装置3は1台の参照機器1と、1台の対象機器2と、1台の記憶装置4と接続していることとする。
本実施形態においてリファレンス機とは、基準となる性能を有する機器である。参照機器1における画像の表示精度および表示タイミングは、対象機器2における画像の表示精度および表示タイミング、すなわち、対象機器2の画面表示が、正常であるか否かを判別するための基準となる。
なお、参照機器1と対象機器2とは同種類の機器であってもよいし、異種の機器であってもよい。本実施形態では、参照機器1と対象機器2とは同種類の機器であることとする。参照機器1および対象機器2は、例えば、車両に搭載される、カーナビゲーションシステムの端末の表示装置で実現される。
(参照機器1)
参照機器1は、第1操作データ取得部11と、第1記憶部12と、第1制御部13と、第1表示部14とを含む。
第1操作データ取得部11は、試験装置3から操作データを取得する。操作データとは、ユーザの操作内容および操作タイミングを示す情報を含むデータである。操作データの詳細については後述する。第1操作データ取得部11は、取得した操作データを第1記憶部12に記憶させる。
第1記憶部12は、操作データを記憶する記憶装置である。また、第1記憶部12は、第1制御部13が実行する各種プログラムを記憶する。例えば、第1記憶部12は、第1制御部13が実行する、表示制御に係るプログラムを記憶する。以下、表示制御に係るプログラムを表示プログラムと称する。
第1制御部13は、第1記憶部12に記憶された各種プログラムを実行することによって、参照機器1を統括的に制御する。例えば、第1制御部13は、第1表示部14の表示制御と、第1表示部14の表示画面のキャプチャとを実行する機能を有する。第1制御部13はこれらの機能を実現するため、第1表示制御部131と、第1キャプチャ部132とを含む。
第1表示制御部131は、第1記憶部12から表示プログラムと、操作データとを読み出して、表示プログラムおよび操作データの記述の通りに第1表示部14を制御する。これにより、操作データに記述された入力操作の内容に応じて表示プログラムを実行した結果としての画像が、第1表示部14に表示される。
第1キャプチャ部132は、第1表示部14の表示画面を動画データとしてキャプチャする。前述の通り、第1表示部14は第1表示制御部131によって操作データの記述に従った画像を表示する。したがって、第1キャプチャ部132のキャプチャした動画データは、操作データに基づいて参照機器において生成される動画データであるといえる。第1キャプチャ部132は、キャプチャした動画データを試験装置3に送信する。以降、第1キャプチャ部132がキャプチャした動画データを、「第1データ」と称する。
なお、第1キャプチャ部132は、キャプチャした動画データに参照機器1の識別子を付したデータを、第1データとして試験装置3に送信してもよい。例えば、試験システム600に複数の参照機器1が含まれる場合、試験装置3において、いずれの参照機器1由来の第1データかを判別できることが望ましい。したがって、この場合、第1データには参照機器1の識別子が付されていることが好ましい。
第1表示部14は、第1制御部13の制御に従って画像を表示する表示装置である。第1表示部14の具体的な構成は特に限定されない。
(対象機器2)
対象機器2は、第2操作データ取得部21と、第2記憶部22と、第2制御部23と、第2表示部24と、を含む。
第2操作データ取得部21は、試験装置3から操作データを取得する。ここで、第2操作データ取得部21が取得する操作データは、参照機器1の第1操作データ取得部11が取得する操作データと同じデータである。第2操作データ取得部21は、取得した操作データを第2記憶部22に記憶させる。
第2記憶部22は、操作データを記憶する記憶装置である。また、第2記憶部22は、第2制御部23が実行する各種プログラムを記憶する。例えば、第2制御部23は、第2制御部23が実行する表示プログラムを記憶する。
第2制御部23は、第2記憶部22に記憶された各種プログラムを実行することによって、対象機器2を統括的に制御する。例えば、第2制御部23は、第2表示部24の表示制御と、第2表示部24の表示画面のキャプチャとを実行する機能を有する。第2制御部23はこれらの機能を実現するため、第2表示制御部231と、第2キャプチャ部232とを含む。
第2表示制御部231は、第2記憶部22から表示プログラムと、操作データとを読み出して、表示プログラムおよび操作データの記述の通りに第2表示部24を制御する。これにより、操作データに記述された入力操作の内容に応じて表示プログラムを実行した結果としての画像が、第2表示部24に表示される。
第2キャプチャ部232は、第2表示部24の表示画面を動画データとしてキャプチャする。前述の通り、第2表示部24は第2表示制御部231によって操作データの記述に従った画像を表示する。したがって、第2キャプチャ部232のキャプチャした動画データは、操作データに基づいて参照機器において生成される動画データであるといえる。第2キャプチャ部232は、キャプチャした動画データを試験装置3に送信する。以降、第2キャプチャ部232がキャプチャした動画データを、「第2データ」と称する。
なお、第2キャプチャ部232は、キャプチャした動画データに対象機器2の識別子を付したデータを、第2データとして試験装置3に送信してもよい。例えば、試験システム600に複数の対象機器2が含まれる場合、試験装置3において、いずれの対象機器2由来の第2データかを判別できることが望ましい。したがって、この場合、第2データには対象機器2の識別子が付されていることが好ましい。
第2表示部24は、第2制御部23の制御に従って画像を表示する表示装置である。第2表示部24の具体的な構成は特に限定されない。
(記憶装置4)
記憶装置4は、操作データおよび試験結果を記憶する記憶装置である。記憶装置4は、操作データ41を記憶する。また、記憶装置4は試験結果データ42を記憶していてもよい。
操作データ41は、ユーザの入力操作の内容および入力操作のタイミングを示すデータである。例えば、操作データ41は、参照機器1または参照機器1と同種の機器においてユーザが実際に行った入力操作のログデータであってもよい。また例えば、操作データ41は、試験装置3または他の外部装置によって自動生成されるデータであってもよい。また例えば、操作データ41は、試験装置3または他の外部装置にインストールされた専用ツールを使用して、ユーザが作成および編集することが可能なデータであってもよい。
試験結果データ42は、試験装置3における画面表示試験の結果を示すデータである。以降、画面表示試験の結果のことを、単に試験結果とも称する。
(試験装置3)
試験装置3は、データ収集部31と、第3記憶部32と、第3制御部33と、入力部34と、出力部35と、操作データ出力部36とを含む。
データ収集部31は、参照機器1から第1データを受信する。データ収集部31は受信した第1データを、第1データ321として第3記憶部32に記憶させる。また、データ収集部31は、対象機器2から第2データを受信する。データ収集部31は収集した第2データを、第2データ322として第3記憶部32に記憶させる。
なお、試験システム600において、試験装置3が複数の参照機器1と接続し得る場合、データ収集部31は、受信した第1データを第3記憶部32に、参照機器1毎に記憶させることが望ましい。また、試験システム600において、試験装置3が複数の対象機器2と接続し得る場合、データ収集部31は、受信した第2データを第3記憶部32に、対象機器2毎に記憶させることが望ましい。
第3記憶部32は、試験装置3において必要な各種データを記憶する記憶装置である。第3記憶部32は、第1データ321と、第2データ322とを記憶する。試験システム600において、試験装置3が複数の参照機器1と接続し得る場合、第3記憶部32は、第1データ321を、参照機器1毎に記憶する。また、試験システム600において、試験装置3が複数の対象機器2と接続し得る場合、第3記憶部32は、第2データ322を、対象機器2毎に記憶する。また、第3記憶部32は試験装置3の第3制御部33が実行する各種プログラムを記憶する。
操作データ出力部36は、記憶装置4から操作データ41を読み出して、参照機器1および対象機器2に送信する。操作データ出力部36が参照機器1および対象機器2に操作データ41を送信するタイミングは、特に限定されない。例えば、第3制御部33が入力部34において操作データの送信を指示する入力操作を受け付けたと特定した場合、操作データ出力部36は、操作データ41を参照機器1および対象機器2に送る。
入力部34は、ユーザの入力操作を受け付ける入力インタフェースである。入力部34は、例えば、試験装置3における物理ボタン、マウスで実現される。入力部34は入力操作の内容を第3制御部33に伝える。
出力部35は、第3表示部351および通信部352のうち少なくとも一方を有する。第3表示部351は、第2制御部23の制御に従って画像を表示する表示装置である。第2表示部24の具体的な構成は特に限定されない。通信部352は、第2制御部23の制御に従って画像をイーサネット(登録商標)等の有線通信やWiFi(登録商標)、BlueTooth(登録商標)等の無線通信を用いて外部の装置に出力する。
(第3制御部33)
第3制御部33は、第3記憶部32に記憶された各種プログラムを実行することによって、試験装置3を統括的に制御する情報処理装置である。第3制御部33は入力部34から伝えられた入力操作について、その指示内容を特定し、指示内容に応じて試験装置3の各部を制御する。
具体的には、第3制御部33は、記憶装置4の操作データ41を読み出して操作データ出力部36に送る。また、第3制御部33は、第1データ321と第2データ322とを取得してそれぞれの動画をフレーム単位で比較する。次に、第3制御部33は、比較の結果、フレーム画像が一致しない場合、前後の所定数のフレームに一致するフレーム画像が有るか否かを探索することで、第2データ322に不具合があるか否かを判定する。そして、第3制御部33は、判定結果、すなわち画面表示試験の結果を第3表示部351に表示させる。第3制御部33はこれらの機能を実現するために、第1データ取得部331と、第2データ取得部332と、比較部333と、探索部334と、第3表示制御部335と、を含む。
第1データ取得部331は、第3記憶部32から第1データ321を取得する。第1データ取得部331は、取得した第1データ321を比較部333に送る。なお、試験装置3が複数の参照機器1から第1データを受信する場合、第3記憶部32には、参照機器1毎の第1データ321が記憶されている。このような場合、第1データ取得部331は、入力部34に対するユーザの入力操作に応じて、読み出す第1データ321を決定してもよい。
第2データ取得部332は、第3制御部33から第2データ322を取得する。第2データ取得部332は、取得した第2データ322を比較部333に送る。なお、試験装置3が複数の対象機器2から第2データを受信する場合、第3記憶部32には、対象機器2毎の第2データ322が記憶されている。このような場合、第2データ取得部332は、入力部34に対するユーザの入力操作に応じて、読み出す第2データ322を決定してもよい。
比較部333は、第1データ321と第2データ322とをフレーム単位で順次比較する。前述のように、第1データ321と第2データ322とは、それぞれ参照機器1と対象機器2とで、同一の操作データに基づいて生成される画像である。本実施形態では、第1データ321と第2データ322とは、同じフレーム数の動画データであることとして説明を行う。
比較部333は、比較結果を探索部334に通知する。すなわち、比較部333は、あるフレーム番号における第1データ321のフレーム画像と第2データ322のフレーム画像とが一致するか否かを判定し、フレーム番号と、判定結果とを対応付けて探索部334に通知する。なお、フレーム番号とは、動画データにおいて各フレーム画像に付される通し番号である。また、比較部333は、第1データ321と第2データ322の全フレームの比較が終了した場合、その旨を探索部334に通知する。
なお、比較部333は、全フレームの比較が終了してから、全フレームについて、フレーム番号と各フレーム番号における比較結果とを探索部334に通知してもよい。この場合、比較部333は、全フレームの比較が終了した旨を改めて探索部334に通知しなくてもよい。
探索部334は、比較部333からの通知内容に応じて、以下で説明する処理を実行する。まず、比較部333から、あるフレームについての判定結果として、第1データ321のフレーム画像と第2データ322のフレーム画像とが一致する旨を通知された場合、探索部334はそのフレームについては、第2データの試験結果が正常であると判定する。
一方、比較部333から、あるフレームについての判定結果として、第1データ321のフレーム画像と第2データ322のフレーム画像とが一致しない旨を通知された場合、探索部334は不一致フレームについて下記(1)および(2)の処理を実行する。以降、第1データ321のフレーム画像と第2データ322のフレーム画像とが一致しないフレームのことを、不一致フレームと称する。また、下記(1)および(2)の処理をまとめて探索処理とも称する。なお、探索処理の具体例は後で説明する。
(1)不一致フレームにおける第1データのフレーム画像、または第2データのフレーム画像のいずれか一方を基準画像とする。
(2)基準画像でない他方のフレーム画像の前および後の少なくとも一方について、探索対象画像から所定数のフレームのフレーム画像の中に、基準画像と一致するフレーム画像が無いか探索する。以降、基準画像でない他方のフレーム画像のことを、探索対象画像とも称する。
詳しくは後述するが、(2)における「所定数」とは、換言すると、基準画像とのずれとして許容可能なフレーム数を示している。以降、この所定数を「猶予フレーム数」とも称する。
(2)の処理の結果、不一致フレームにおける探索対象画像と一致するフレーム画像が存在した場合、探索部334は、不一致フレームについて、第2データの試験結果が正常であると判定する。すなわち、探索部334は、対象機器2から受信した第2データについて、第1データとの画像のずれが、猶予フレーム数の範囲内であれば、画面表示のずれを不具合と判定しない。なお、猶予フレーム数は、第1データ321および第2データ322のフレームレートに換算した場合に、0.3秒よりも短い時間に相当することが望ましい。一般的に、人間が認識可能な画面表示のずれは0.3秒程度であると言われている。したがって、フレーム数のずれの許容範囲を、前述のように0.3秒に相当する程度に収めることで、表示画面の不具合が起こった場合のうち、ユーザが認識できないほどの微細なずれは許容し、それよりずれが大きい場合のみを不具合として検出することができる。
一方、(2)の探索の結果、不一致フレームにおける探索対象画像と一致するフレーム画像が存在しなかった場合、探索部334は、不一致フレームについて、第2データの試験結果が異常であると判定する。すなわち、探索部334は、不一致フレームにおいて第2データに不具合が生じたと判定する。
探索部334は、比較部333から第1データ321のフレーム画像と第2データ322のフレーム画像とが一致しない旨を通知される度に、前述の(1)および(2)の処理を実行する。そして、探索部334は、比較部333から全フレームの比較が終了した旨を通知されると、各フレームについての試験結果を第3表示制御部335に通知する。もしくは、探索部334は、比較部333から全フレームの比較結果を一括で通知された場合は、各フレームについて前述の通りの場合分けで判定を行うことで各フレームについての試験結果を得て、試験結果を第3表示制御部335に通知する。
探索部334は試験結果として、例えば、フレーム番号と、各フレーム番号における第2データのフレーム画像が正常か異常かを示す情報と、を第3表示制御部335に通知してもよい。
また、探索部334は、各フレームについての試験結果に代わり、もしくは、各フレームについての試験結果とともに、第2データ全体としての試験結果を第3表示制御部335に通知してもよい。例えば、下記(A)または(B)の条件に当てはまる場合、探索部334は第3表示制御部335に、試験結果として第2データが正常である旨を通知してもよい。
(A)不一致フレームが存在しなかった。
(B)不一致フレームは存在したが、不一致フレームについて、第2データが全て正常であると判定した。
一方、上記(A)または(B)以外の場合、すなわち、不一致フレームのいずれかにおいて、第2データが異常であると判定した場合、探索部334は第3表示制御部335に、第2データが異常である旨を通知してもよい。
なお、探索部334は各フレームについての試験結果、および第2データ全体についての試験結果の少なくとも一方を、試験結果データ42として、記憶装置4に記憶させてもよい。
第3表示制御部335は、探索部334から通知された試験結果に応じて、試験結果を示す画像を作成して第3表示部351に表示させる。第3表示制御部335が作成する画像の具体例については、後で詳述する。
(要部構成の変形例1)
なお、試験システム600において、記憶装置4は第3記憶部32と一体に構成されていてもよい。例えば、試験装置3の内部記憶装置である第3記憶部32が、第1データ321と、第2データ322と、操作データ41と、試験結果データ42とを記憶していてもよい。この場合、試験システム600において記憶装置4は必須ではない。また例えば、試験装置3の外部記憶装置である記憶装置4が、第1データ321と、第2データ322と、操作データ41と、試験結果データ42とを記憶していてもよい。
いずれの場合も、第3制御部33および第1データ取得部331、および第2データ取得部332、各部の動作に必要なデータを第3記憶部32または記憶装置4から読み出せばよい。また、探索部334は、第3記憶部32または記憶装置4のいずれかに試験結果データ42を記憶させてよい。
(要部構成の変形例2)
本実施形態に係る試験システム600は、第1カメラ5と第2カメラ6を含んでいてもよい。以下、第1カメラ5と第2カメラ6を含む試験システム1100について、図16を用いて説明する。
図16は、試験システム600の要部構成の変形例2および変形例3である、試験システム1100に含まれる装置の要部構成を示すブロック図である。試験システム1100は、第1カメラ5と第2カメラ6を含む点において、試験システム600と異なる。なお、試験システム1100では、第1キャプチャ部132および第2キャプチャ部232は必須構成ではない。
第1カメラ5は、第1表示部14の表示画面を動画で撮影することで、第1表示部14が表示する画像を順次映した動画、すなわち、第1データを取得する。第2カメラ6は、第2表示部24の表示画面を撮影することで、第2表示部24が表示する画像を順次映した動画、すなわち、第2データを取得する。試験システム1100のデータ収集部31は、第1カメラ5および第2カメラ6から、それぞれ第1データおよび第2データを取得する。この場合、第1データ取得部331と第2データ取得部332は、比較する画面部分の大きさの統一や、画像の色調や彩度等が近似するように第1データまたは第2データに調整を加えてもよい。これにより、比較部333による比較を精度よく行うことができる。
(要部構成の変形例3)
本実施形態に係る試験システム1100は、図16に示す通り、参照機器1および対象機器2へ操作データの送信を行う第1試験装置7を含んでいてもよい。また、試験システム1100は、参照機器1の第1キャプチャ部132および対象機器2の第2キャプチャ部232はとから、もしくは、第1カメラ5および第2カメラ6から、各々がキャプチャする動画データを取得して比較する、第2試験装置8を備える構成にしてもよい。
第1試験装置7は、操作データ出力部36と同様の機能を有する操作データ出力部51と、第1試験装置7を統括的に制御する第4制御部52と、第3表示制御部と同様の機能を有する第4表示制御部521と、入力部34と同様の機能を有する第2入力部53と、第3表示部351と同様の機能を有する第4表示部54と、第2通信制御部55と、を備えていてもよい。
第2試験装置8は、入力部34と同様の機能を有する第1入力部39を備えていてもよい。第2試験装置8は、参照機器1から取得する第1データと対象機器2から取得する第2データとの少なくとも一部が不一致である場合、不具合が発生したタイミングで、第1試験装置7に操作データ41を取得する要求の送信を行い、第1試験装置7から送信された操作データ41を取得する要求に応じた操作データ41の受信を行う第1通信制御部38を備える。第1試験装置7は、第2試験装置8から操作データ41を取得する要求の受信を行い、第1試験装置7に受信した操作データ41を取得する要求に応じた操作データ41の送信を行う第2通信制御部55を備えてもよい。
(要部構成の変形例4)
本実施形態に係る試験システム600は、複数の参照機器1と、複数の対象機器2とに操作データ41を送信してもよい。以下、以下、複数の参照機器1と、複数の対象機器2を含む試験システム1200について、図17を用いて説明する。
図17は、試験システム600の要部構成の変形例4である試験システム1200に含まれる装置の、要部構成を示すブロック図である。参照機器1−1および参照機器1−2はそれぞれ、参照機器1と同様の構成を有する。対象機器2−1と、対象機器2−2とはそれぞれ、対象機器2と同様の構成を有する。操作データ出力部36は、参照機器1−1、参照機器1−2、対象機器2−1、および対象機器2−2の少なくとも1つに操作データ41を送信する。また、試験システム1200において、データ収集部31は、第1データ−1を参照機器1−1から収集し、第1データ−2を参照機器1−2から収集し、第2データ−1を対象機器2−1から収集し、第2データ−2を対象機器2−2から収集する。第1データ−1および第1データ−2はそれぞれ、参照機器1−1および参照機器1−2における第1データである。第2データ−1および第2データ−2はそれぞれ、対象機器2−1および対象機器2−2における第2データである。試験システム1200は、データ収集部31が収集した第1データ−1と、第2データ−1と、を比較する第1比較部333−1と、データ収集部31が収集した第1データ−2と、第2データ−2と、を比較する第2比較部333−2を有する。そして、試験システム1200は、第1比較部333−1および第2比較部333−2から、それぞれが行った比較の結果を取得し、該結果を用いて不具合箇所を探索する探索部334を含んでいる。なお、図17の例では2つの参照機器および2つの対象機器が連携して動作するシステムの画面表示試験を行う構成を記載したが、画面表示試験を行う対象のシステムに含まれる参照機器および対象機器の数は2に限定されるものではなく、2を超える参照機器または対象機器が連携するシステムの画面表示試験も実施可能である。
≪処理の流れ≫
図2は、試験装置3の第3制御部33における処理の流れの一例を示す図である。試験装置3の第3制御部33は、所定のタイミングで、記憶装置4から操作データ41を取得する(S100)。第3制御部33は例えば、入力部34において受け付けた入力操作が、操作データ41の送信を指示する入力操作であると特定した場合に、記憶装置4から操作データ41を取得する。第3制御部33は取得した操作データ41を操作データ出力部36に送る。
操作データ出力部36は、参照機器1に操作データ41を送信する(S102)。参照機器1の第1操作データ取得部11は操作データ41を受信すると、第1記憶部12に操作データ41を記憶させる。第1記憶部12に既に操作データ41が記憶されていた場合、第1操作データ取得部11は第1記憶部12の操作データ41を更新してもよい。第1記憶部12に操作データ41が記憶される、または第1記憶部12の操作データ41が更新されると、第1制御部13の第1表示制御部131は、操作データ41および表示プログラムに基づいて、第1表示部14に画像を表示させる。そして、第1制御部13の第1キャプチャ部132は、画像を順次キャプチャすることにより、第1データを作成する。第1制御部13は、第1キャプチャ部132が作成した第1データを試験装置3のデータ収集部31に送信する。
データ収集部31は、参照機器1から第1データを受信する(S104)。データ収集部31は受信した第1データを第3記憶部32に、第1データ321として記憶させる。
また、操作データ出力部36は、対象機器2に操作データ41を送信する(S106)。対象機器2の第2操作データ取得部21は操作データ41を受信すると、第2記憶部22に操作データ41を記憶させる。第2記憶部22に既に操作データ41が記憶されていた場合、第2操作データ取得部21は第2記憶部22の操作データ41を更新してもよい。第2記憶部22に操作データ41が記憶される、または第2記憶部22の操作データ41が更新されると、第2制御部23の第2表示制御部231は、操作データ41および表示プログラムに基づいて、第2表示部24に画像を表示させる。そして、第2制御部23の第2キャプチャ部232は、画像を順次キャプチャすることにより、第2データを作成する。第2制御部23は、第2キャプチャ部232が作成した第2データを試験装置3のデータ収集部31に送信する。
データ収集部31は、対象機器2から第2データを受信する(S108)。データ収集部31は受信した第2データを第3記憶部32に、第2データ322として記憶させる。
第3記憶部32に第1データ321および第2データ322が記憶された後の所定のタイミングで、第3制御部33は試験処理を実行する(S110)。試験処理とは、画面表示試験に係る処理であって、比較部333によるフレーム画像の比較から、探索部334における試験結果の判定までの一連の処理である。試験処理の詳細については後述する。第3制御部33は例えば、入力部34において受け付けた入力操作が、試験開始を指示する入力操作であると特定した場合に、試験処理を実行する。
試験処理が終了すると、探索部334は、第3表示制御部335に試験結果を通知する。第3表示制御部335は、試験結果を第3表示部351に表示させる(S112)。
図2で示した処理によれば、第1データ321と第2データ322との比較の結果、同一フレームの画像では画像が一致しない場合、前後の所定数のフレームに一致する画像が無いか探索する。そして、前後の所定数のフレームにも一致する画像が無い場合、第2データ322が異常である、すなわち、対象機器2における画面表示に不具合が生じているとユーザに通知する。これにより、ある程度のフレーム数のずれを許容しつつ、対象機器2における画面表示に不具合が無いかを自動的にチェックすることができる。したがって、画面表示試験における不具合の誤検出を低減することができる。
(処理の流れの変形例1)
なお、S102〜S104の処理と、S106〜S108の処理とは並行して実行されてもよいし、逆の順序で実行されてもよい。すなわち、操作データ出力部36は、参照機器1および対象機器2の両方に操作データ41を送信できれば、どちらにどのようなタイミングで操作データ41を送信してもよい。また、データ収集部31は、参照機器1の第1データと、対象機器2の第2データの両方を受信できれば、どちらを先に受信してもよい。
(処理の流れの変形例2)
なお、第1データ取得部331と第2データ取得部332とのデータの取得タイミングは異なっていてもよい。例えば、第1データ取得部331は予め第1データ321を取得して比較部333に送信しておいてもよい。そして、データ収集部31は対象機器2から第2データをリアルタイムで受信してもよい。
この場合、第2データ取得部332は、第3記憶部32に一旦格納された第2データ322を取得してもよいし、データ収集部31から直接第2データを取得してもよい。いずれの場合も、第2データ取得部332は、対象機器2で生成される第2データを順次リアルタイムで取得して、比較部333に送信する。そして、比較部333は、第1データ321と、リアルタイムに受信する第2データとを順次比較する。
これにより、対象機器2を稼働させながら、その不具合の有無をリアルタイムに確認することができる。そのため、画面表示試験をより迅速に実行することができる。
≪試験処理の詳細≫
図3は、試験処理の流れの一例を示す図である。なお、図3の例は、探索処理において、第1データのフレーム画像を基準画像にした場合の処理の流れを示している。また、図3の例は、不一致フレームの後のフレームについて、基準画像と一致するフレーム画像を探索する場合の処理の流れを示している。
始めに、第1データ取得部331は、第3記憶部32から第1データ321を取得する(S500)。第1データ取得部331は第1データ321を比較部333に送る。第2データ取得部332は、第3記憶部32から第2データ322を取得する(S502)。第2データ取得部332は第2データ322を比較部333に送る。なお、S500とS502とは順不同で行われてよい。
比較部333は受信した第1データ321のフレーム画像と、第2データ322のフレーム画像と、を比較することで(S504)、これら2枚のフレーム画像が一致するか否かを判定する(S506)。比較部333は、第1データ321および第2データ322の1フレーム目から順次、同じフレーム数のフレーム画像を比較および判定する。例えば、比較部333は、第1データ321の1フレーム目の画像と、第2データ322の1フレーム目の画像とを比較して、両者が一致するか否かを判定し、判定結果を探索部334に通知する。
図4は、比較部333による比較処理を模式的に示した図である。図4の例では、画像PA1、PA2、およびPA3は第1データ321のフレーム画像を示し、画像PB1、PB2、およびPB3は、第2データ322のフレーム画像を示している。比較部333は例えば、図示のフレームt−1、フレームt、およびフレームt+1をこの順序で比較していく。フレームt−1において、画像PA1およびPB1は一致している。この場合、比較部333はフレームt−1について、第1データ321と第2データ322が一致している旨を探索部334に通知する。一方、フレームtにおいては、画像PA2と画像PB2とは相違している。この場合、比較部333はフレームtについて第1データ321と第2データ322とが不一致であると探索部334に通知する。フレームt+1については、画像PA3と画像PB3とが一致している。したがって、比較部333はフレームt+1について、第1データ321と第2データ322が一致している旨を探索部334に通知する。
S504における比較の結果、前述の2枚のフレーム画像が一致する場合(S506でYES)、探索部334は、S504において比較したフレームの第2データのフレーム画像は正常であると判定する(S508)。
一方、S504における比較の結果、前述の2枚のフレーム画像が一致しない場合(S506でNO)、探索部334は前述の(1)および(2)の処理を実行する。具体的には、探索部334はまず、自身が保持しているフレームカウントを初期化する(S510)。フレームカウントの初期値は特に限定されないが、ここでは0と仮定する。
フレームカウントを初期化した後、探索部334は基準画像を決定する。例えば、探索部334は、第1データのフレーム画像を基準画像に決定する(S512)。以降、基準画像のフレームのことを、基準フレームとも称する。
探索部334は次に、第2データについて、基準フレームの1フレーム後のフレーム画像を、基準画像と比較するための比較画像として抽出する(S514)。比較画像を抽出すると、探索部334は、フレームカウントを1増加させる(S516)。探索部334は基準画像と比較画像とを比較することで(S518)、基準画像と比較画像とが一致するか否かを判定する(S520)。なお、S518〜S520における比較および判定は、比較部333における比較判定と同様であってよい。また、探索部334は、比較判定を、比較部333に代わりに実行させ、比較部333から比較判定の結果を受信することとしてもよい。
基準画像と比較画像とが一致する場合(S520でYES)、探索部334は基準フレームにおける第2データは、正常であると判定する(S508)。すなわち、探索部334は、対象機器2から受信した第2データについて、第1データとの画像のずれが、規定値(後述)以下の範囲内であれば、ずれを不具合と判定しないこととする。一方、基準画像と比較画像とが一致しない場合(S520でNO)、探索部334は、フレームカウントが規定値と同じか、または規定値より大きいか否かを判定する(S522)。
フレームカウントが規定値未満の場合(S522でNO)、探索部334は、S514以降の処理を繰り返す。すなわち、探索部334は、第2データ322のフレーム画像のうち、S518における比較画像よりも、さらに1フレーム後のフレーム画像を、次の比較画像として抽出し(S514)、フレームカウントの増加(S516)、および基準画像と比較画像との比較判定(S518〜S520)を実行する。
一方、フレームカウントがと同じか、または規定値より大きい場合(S522でYES)、探索部334は、基準フレームにおける第2データのフレーム画像は異常であると判定する(S524)。なお、S522における規定値は、前述の(2)における猶予フレーム数に相当する。猶予フレーム数は、第1データ321および第2データ322のフレームレートに換算した場合に0.3秒よりも短い時間に相当することが望ましい。
図3に示した処理は、第1データ321および第2データ322の全フレームについて繰り返される。すなわち、S508またはS524の処理の後、探索部334は、全フレームについて探索処理が終了したか否かを判定する(S526)。
全フレームについて探索処理が終了していない場合(S526でNO)、第3制御部33はS504から処理を繰り返す。すなわち、比較部333は、第1データ321および第2データ322の次のフレーム番号のフレーム画像を比較し(S504)、2枚のフレーム画像が一致するか否かを判定し(S506)、判定結果を探索部334に通知する。以降の処理は前述の通りである。
一方、全フレームについて探索処理が終了した場合(S526でYES)、第3制御部33は試験処理を終了する。なお、探索部334は試験結果を試験結果データ42として記憶装置4に記憶させてもよい。
(試験処理の変形例1)
なお、探索処理において、不一致フレームの前のフレームについて、基準画像と一致するフレーム画像を探索してもよい。この場合、探索部334はS514において、第2データについて基準フレームの1フレーム前のフレーム画像を、比較画像として抽出する。以降の処理は前述の通りである。
望ましくは、探索部334は、不一致フレームの前のフレームと、および後のフレームとの両方について探索処理を実行することが望ましい。これにより、試験結果の精度を向上させることができる。
(試験処理の変形例2)
また、探索処理において、第2データのフレーム画像を基準画像と決定してもよい。この場合、探索部334はS514において、第1データの1フレーム後の画像を比較画像として読み出し、以降の処理を実行する。
(試験処理の変形例3)
また、試験装置3はS504以降の処理を自動で行わなくてもよい。この場合、第1データ取得部331および第2データ取得部332は、それぞれ取得した第1データ321および第2データ322を、第3表示制御部335に送る。そして、第3表示制御部335は、第1データ321と第2データ322とをユーザが比較可能な表示態様で同時再生させる。これにより、ユーザは第1データ321と、第2データ322とを、それぞれ再生しながら目視で比較することができる。なお、この場合、試験装置3は比較部333および探索部334を備えていなくてもよい。また、同時再生のスピードは特に限定されないが、ユーザが容易に目視可能なスピードであることが望ましい。
図5は、第1データ321と第2データ322とを同時再生させる場合の、第3表示部351の表示画面の一例を示している。図示の通り、第3表示部351には、第1データ321の動画PA4と、第2データ322の動画PB4とが表示される。
また、第3表示部351には、表示中の第1データ321の取得先である参照機器1を特定するための情報を表示する欄T1が表示されてもよい。また、第3表示部351には、表示中の第2データ322の取得先である対象機器2を特定するための情報を表示する欄T2が表示されてもよい。図示の例では、欄T1および欄T2にはそれぞれ、参照機器1および対象機器2の名称が表示されている。
また、試験装置3が複数の参照機器1と接続可能な構成である場合、第3表示部351には、表示する第1データ321を変更するためのボタンB1が表示されていてもよい。ボタンB1を選択する入力操作がなされた場合、試験装置3の第3制御部33は、表示する第1データ321を選択するための画面等を第3表示部351に表示させ、該画面において、ユーザに表示する第1データ321を選択させてよい。そして、第3表示制御部335は、選択された第1データ321の表示を開始してもよい。
同様に、試験装置3が複数の対象機器2と接続可能な構成である場合、第3表示部351には、表示する第2データ322を変更するためのボタンB2が表示されていてもよい。ボタンB2を選択する入力操作がなされた場合、試験装置3の第3制御部33は、表示する第2データ322を選択するための画面等を第3表示部351に表示させ、該画面において、ユーザに表示する第2データ322を選択させてよい。そして、第3表示制御部335は、選択された第2データ322の表示を開始してもよい。また、第3表示部351には、第1データ321および第2データ322の再生の開始を指示するためのボタンB3、再生中の動画の一時停止を指示するためのボタンB4、および再生を停止するためのボタンB5が表示されていてもよい。
なお、図5における画像、ならびにアイコン、入力欄、およびボタン等のUIのレイアウトはあくまで一例であり、第3表示部351における各画像およびUIのレイアウトはこれに限定されない。
図5に示すように、第1データ321と第2データ322とを同時再生して表示することによって、ユーザは、第1データ321と第2データ322とを目視で確認することができる。これにり、ユーザに、参照機器1と対象機器2とで表示画面のずれが起こった場合のうち、人間が認識する程度の大きさの表示のずれのみを、不具合として特定させることができる。また、第1データと第2データとを同時再生するため、ユーザの両データの目視確認を容易にすることができる。
(試験処理の変形例4)
上述の通り、同一の操作データに基づいて生成される第1データ321と第2データ322とは、本来は同じフレーム数を有する動画である。しかしながら、実際には、同一の操作データに基づいて生成された動画であっても、数フレームのずれが生じることがある。
例えば、参照機器1および対象機器2を稼働させる際、それぞれの機器では、複数のプログラムを並行して動作させることになる。このとき、プログラム間のタスク処理の競合等によって、表示プログラムのタスクの処理が僅かに遅れてしてしまう事がある。このような遅れが原因で、同じ操作データに基づく第1データと第2データとの間でも、数フレームの長さの差が生じることがある。
また、例えば第1キャプチャ部132が、第1表示制御部131から第1表示部14への表示制御指示を検知してキャプチャを開始する構成の場合、操作データに含まれる操作内容の始めまたは終わりの一部分に係る画像をキャプチャ出来ない虞がある。第2キャプチャ部232についても同様に、例えば第2表示制御部231から第2表示部24への表示制御指示を検知してキャプチャを開始する構成の場合、操作データに含まれる操作内容の始めまたは終わりの一部分に係る画像をキャプチャ出来ない虞がある。
これは、第1キャプチャ部132が第1表示制御部131から第1表示部14への画面表示の開始指示を検知してから、実際にキャプチャを開始するまでにタイムラグが生じ得るためである。第2キャプチャ部232についても同様に、第2表示制御部231から第2表示部24への画面表示の開始指示を検知してから、実際にキャプチャを開始するまでにタイムラグが生じ得るため、同様の虞がある。
また、第1表示制御部131から第1表示部14へ画面表示の終了指示を送信したとしても、第1表示部14において操作データに基づく画面表示が直ちに終了するとは限らない。例えば、操作データに含まれる操作内容のうち最後のものが、特定のボタンを押下する操作である場合、該ボタンの押下に伴うアニメーションの画面処理が発生することがある。
このような場合、第1キャプチャ部132が、第1表示制御部131から第1表示部14への画面表示の終了指示を検知して直ちにキャプチャを終了すると、キャプチャした動画において、前述のアニメーションの一部等、操作データに基づく画面表示の、最後の一部分が欠けてしまう虞がある。第2表示制御部231、第2表示部24、および第2キャプチャ部232についても同様に、キャプチャした動画において、前述のアニメーションの一部等、操作データに基づく画面表示の、最後の一部分が欠けてしまう虞がある。
本実施形態に係る試験システム600は、このようなフレームのずれが生じないように、以下の処理を実行してもよい。以降の実施形態に係る試験システムについても同様である。
例えば、第1表示制御部131は、第1表示部14に、操作データに係る画面表示の開始前に、数フレーム分だけ余剰の画像を表示させてよい。該画像のことを便宜上「開始余フレーム画像」と称する。この場合、第1キャプチャ部132は、該開始余フレーム画像の表示の開始指示を検知して画面キャプチャを開始する。第2表示制御部231も第1表示制御部131と同様に、第2表示部24に、操作データに係る画面表示の開始前に開始余フレーム画像を表示させてもよい。この場合、第2キャプチャ部232は、開始余フレーム画像の表示の開始指示を検知して画面キャプチャを開始する。これにより、第1キャプチャ部132および第2キャプチャ部232は、操作データに基づく画像を、始めから確実にキャプチャすることができる。
また、例えば、第1表示制御部131は、第1表示部14に、操作データに係る画面表示の終了後に、数フレーム分だけ余剰の画像を表示させてよい。該画像のことを便宜上「終了余フレーム画像」と称する。この場合、第1キャプチャ部132は、終了余フレーム画像の表示の終了指示を検知して画面キャプチャを終了する。第2表示制御部231も第1表示制御部131と同様に、第2表示部24に、操作データに係る画面表示の終了後に終了余フレーム画像を表示させてもよい。この場合、第2キャプチャ部232は、終了余フレーム画像の表示の終了指示を検知して画面キャプチャを終了する。これにより、第1キャプチャ部132および第2キャプチャ部232は、操作データに基づく画像を、終わりまで確実にキャプチャすることができる。
開始余フレーム画像および終了余フレーム画像は、第1キャプチャ部132および第2キャプチャ部232において、操作データに基づく画像と容易に区別可能な画像であることが望ましい。例えば、開始余フレーム画像および終了余フレーム画像は、黒一色または白一色等のブランク画像であることが望ましい。
また、開始余フレーム画像および終了余フレーム画像の表示フレーム数は特に限定されない。例えば、開始余フレーム画像は、第1キャプチャ部が画面キャプチャを開始するためにかかる時間以上の時間に相当するフレーム数だけ表示されることが望ましい。また例えば、終了余フレーム画像は、操作データの最後の操作内容に係る画像の出力指示後に、数秒間に相当するフレーム数だけ表示されることが望ましい。
また、開始余フレーム画像を含む動画をキャプチャした場合、第1キャプチャ部132および第2キャプチャ部232はそれぞれ、第1データおよび第2データの生成時に、キャプチャした動画から、開始余フレーム画像に相当する部分を削除することが望ましい。これにより、比較部333における比較処理を通常通り実行することができる。なお、第1キャプチャ部132および第2キャプチャ部232は、終了余フレーム画像については削除してもよいし、削除しないままでもよい。
このように、キャプチャ画像、すなわち、第1データおよび第2データに開始余フレーム画像が含まれている場合、比較部333は、第1データ321および第2データ322における開始位置、すなわち操作データに係る本来の1フレーム目の画像を検出し、該開始位置を合わせてから、フレーム毎の比較を開始してよい。
これにより、第1データ321および第2データ322に開始余フレーム画像が含まれる場合、比較部333は、参照機器1における操作データに係る画面表示と、対象機器2における操作データに係る画面表示とを確実に最初から比較することができる。
また、第1データ321および第2データ322に終了余フレーム画像が含まれる場合、比較部333は、参照機器1における操作データに係る画面表示と、対象機器2における操作データに係る画面表示とを最後まで確実に比較することができる。したがって、画面表示試験の精度を向上させることができる。
≪画面表示試験の適用例≫
本発明に係る試験システムが実行する画面表示試験は、カーナビゲーションシステムにおいて地図および車の走行ルート等を表示する、表示端末装置に適用することができる。以降、カーナビゲーションシステムにおける表示端末装置を、カーナビ端末とも称する。例えば、本実施形態に係る試験システム600が実行する画面表示試験では、以下で説明する処理を実行することにより、カーナビ端末である対象機器2の試験を実行することができる。
カーナビ端末は、位置情報を定期的に取得して自身の現在位置を更新しつつ、該現在位置の周辺の地図を表示する。そのため、参照機器1および対象機器2がカーナビ端末である場合、記憶装置4の操作データ41には、定期的に更新される位置情報と、位置情報の取得タイミングを示す情報が含まれる。これにより、参照機器1および対象機器2において、同じタイミングで同じ位置情報を取得し、かつ同じ入力操作を行った場合の画像をキャプチャすることができる。試験装置3の操作データ出力部36は、操作データ41を参照機器1および対象機器2に送信する。
第1制御部13の第1表示制御部131、および第2制御部23の第2表示制御部231はそれぞれ、操作データ41を受信すると、操作データ41に含まれる位置情報と、操作データ41と、表示プログラムとに応じた画像を作成して第1表示部14または第2表示部24に表示させる。
例えば、第1表示制御部131および第2表示制御部231は、位置情報が示す現在位置周辺の所定領域の地図データを取得し、地図データに基づく地図を第1表示部14および第2表示部24に表示させる。そして、第1キャプチャ部132および第2キャプチャ部232はそれぞれ、位置情報に応じて生成される、所定領域の地図画像を含んだ画像を、第1データおよび第2データとして試験装置3に送信する。
なお、この場合、第1記憶部12および第2記憶部22は地図データを記憶していてもよい。もしくは、第1制御部13および第2制御部23は、図示しないサーバ等と通信することにより、地図データを取得して、第1表示部14または第2表示部24に表示してもよい。以降の処理は、前述の通りである。
以上の構成によれば、対象機器2において表示している地図画像に対する位置情報の反映遅延等、位置情報の変化に応じた画面表示の変化についての不具合も特定することができる。
≪試験結果の表示≫
図6は、試験結果画面の一例を示す図である。試験結果画面とは、試験装置3の第3表示部351に表示される、画面表示試験の結果を示す画面である。なお、図示の例では、参照機器1および対象機器2が前述のようなカーナビ端末である場合の、試験結果画面を示している。
試験結果画面は、少なくとも、第2データ322のいずれかのフレームにおいて異常が検出された場合に、第3表示制御部335によって表示される。換言すると、試験結果画面は、探索対象画像について、基準フレームから前または後の、猶予フレーム数の範囲内で、基準画像と一致するフレーム画像が存在しない場合に表示される。試験結果画面は、少なくとも、第2データに不具合が生じていることをユーザに示すことができれば、その画面レイアウトは特に限定されない。
図6の例の場合、試験結果画面には、第2データ322において異常と判定されたフレームのフレーム番号が、欄T3に示されている。換言すると、欄T3には、探索対象画像について、基準画像と一致するフレーム画像が猶予フレーム数の範囲で存在しなかった場合の、基準画像のフレーム数を表示しているといえる。このように、異常と判定されたフレームのフレーム番号を表示することで、ユーザは、不具合が起こった箇所を容易に特定することができる。
また、試験結果画面には、第1データ321のフレーム画像PA5と、第2データ322のフレーム画像PB5と、が表示されている。欄T4および欄T5には、現在第1データ321および第2データ322のうち、現在表示中のフレームのフレーム番号が表示される。欄T4および欄T5の数字は入力操作により変更可能であり、数字に応じたフレーム番号の画像PA5およびPB5が試験結果画面に表示される。なお、図示の通り、欄T4および欄T5に入力可能な数字、すなわち、第1データ321および第2データ322の全フレーム数を示す情報が、併せて表示されていてもよい。
第1データ321と第2データ322とは、試験結果画面上でフレーム番号を合わせて1フレームずつ再生されてもよい。この場合、試験結果画面には、これらの動画の再生を指示するためのボタンB7が配置される。ボタンB7を押下する入力操作が実行された場合、第3表示制御部335は、第1データ321と第2データ322を同時再生して第3表示部351に表示させる。再生スピードは特に限定されないが、ユーザが容易に目視可能なスピードであることが望ましい。
また、試験結果画面には、第1データ321および第2データ322を1フレームずつコマ送りで再生するためのボタンB6およびB8が配置されていてもよい。ボタンB6は、現在再生中のフレームの1つ前のフレームを再生することを指示するためのボタンである。ボタンB8は、現在再生中のフレームの1つ後のフレームを再生することを指示するためのボタンである。
なお、第1データ321および第2データ322の再生箇所は、時間で指定可能であってもよい。例えば、図6の欄T7のように、秒数を入力することにより、表示中のフレームから、秒数に相当する分だけフレームを遡って、または先に進めて再生を再開することが可能であってもよい。
また、試験結果画面には、再生中の第1データ321および第2データ322に応じた操作データ41が表示されていてもよい。例えば、図6の欄T6のように、第1データ321および第2データ322の再生に合わせて、各フレームのタイミングでの操作内容をリスト形式で表示してもよい。
なお、第3表示制御部335は、第2データ322の全フレームに異常がない場合、すなわち、第2データ322に不具合が無い場合も、不具合が無い旨を示す試験結果画面を第3表示部351に表示させてもよい。この場合、欄T3は空欄であってもよい。
〔実施形態2〕
本発明に係る試験システムは、参照機器1から第1データと操作データとを同じタイミングで受信してもよい。以下、本発明の実施形態2について説明する。なお、説明の便宜上、前述の実施形態で説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。これは、以降の実施形態についても同様である。
図7は、本実施形態に係る試験システム700に含まれる装置の要部構成を示すブロック図である。試験システム700は、参照機器1が第1操作データ取得部11および第1記憶部12を含んでおらず、参照機器入力部15および参照機器データ作成部133を含んでいる点で、実施形態1に係る試験システム600と異なる。
参照機器入力部15は、参照機器1に対するユーザの入力操作を受け付ける。参照機器入力部15は入力操作の内容を第1制御部13に送信する。なお、参照機器入力部15の具体的な構成は特に限定されない。例えば、参照機器入力部15は第1表示部14と一体に構成されたタッチパネルディスプレイであってもよい。
第1制御部13は、参照機器入力部15から伝えられた入力操作について、その指示内容を特定し、指示内容に応じて参照機器1の各部を制御する。例えば、第1表示制御部131は指示内容に応じた画像を第1表示部14に表示させる。
第1制御部13の参照機器データ作成部133は、参照機器入力部15を介して受け付けたユーザの入力操作から、操作データを作成する。参照機器データ作成部133が操作データを作成するタイミングは特に限定されない。例えば、参照機器データ作成部133は、第1表示制御部131が第1表示部14に画像を表示させるのと並行して、画像表示に係るユーザの指示内容、すなわち入力操作の内容と、操作のタイミングとを特定して、これらを含んだ操作データを作成してもよい。参照機器データ作成部133は、作成した操作データを試験装置3に送信する。なお、操作データは第1データとともに試験装置3に送信されてもよいし、別々に送信されてもよい。
≪処理の流れ≫
図8は、試験システム700における処理の流れの一例を示す図である。図8は、S200およびS202の処理を実行する点で、実施形態1および図2で示した処理の流れと異なる。なお、図8のS204〜S210の処理は、図2のS106〜S112の処理と同様であるので、ここでは説明を繰り返さない。
まず、参照機器1は、参照機器入力部15を介してユーザの、画面表示に係る一連の入力操作を受け付ける。一連の入力操作に応じて参照機器1および対象機器2で表示される画像が、画面表示試験において試験対象となる画像である。
第1制御部13は参照機器入力部15の受け付けた入力操作の指示内容を特定する。第1表示制御部131は指示内容に応じた画像を第1表示部14に表示させる。一方、参照機器データ作成部133は、ユーザの入力操作に基づいて操作データを作成する(S200)。例えば、参照機器データ作成部133は、指示内容、すなわち操作の内容と、指示を受けたタイミング、すなわち操作タイミングと、を特定し、これらを含む操作データを作成する。
参照機器データ作成部133は作成した操作データを試験装置3へ送信する。また、実施形態1と同様、第1キャプチャ部132は、第1データを作成して試験装置3へ送信する。試験装置3のデータ収集部31は、参照機器から第1データおよび操作データを取得する(S202)。データ収集部31は取得した第1データおよび操作データを第3制御部33に送る。
第3制御部33は、第1データを第3記憶部32に第1データ321として記憶させる。また、第3制御部33は、操作データを記憶装置4に操作データ41として記憶させる。以降の処理の流れは、実施形態1に係る試験システム600と同様である。
図8に示した処理によれば、参照機器1から第1データと、操作データとの両方を取得することができる。このとき取得する操作データは、稼働中の参照機器1においてユーザが実際に行った入力操作を示すデータである。したがって、図8に示した処理によれば、参照機器1という実機での入力操作を示す操作データを用いて画面表示試験を実行することができる。したがって、適切な操作データで画面表示試験を実行することができるため、試験の精度が向上するという効果を奏する。
なお、参照機器1がカーナビ端末等、定期的に更新される位置情報に応じて生成される所定領域の地図画像を含む画像を表示する装置である場合は、以下の手順で操作データを得ることが好ましい。すなわち、参照機器1を搭載した車両に、画面表示テストに利用したい地図領域に相当する区間を実際に走行させて、走行途中に、ユーザに参照機器1に対する入力操作を実行させることが望ましい。これにより、走行中に図示しないGPS受信機、またはGPS受信機としての機能を有する第1制御部13が定期的に取得する位置情報と、位置情報の取得タイミングと、入力操作の内容と、入力操作のタイミングと、を含む操作データを作成することができる。
≪画面表示試験の適用例≫
本実施形態に係る試験システム700においても、カーナビ端末である対象機器2の試験を実行することができる。本実施形態で、カーナビ端末である対象機器2の試験を実行する場合、参照機器1はGPS受信機を備える。GPS受信機は、GPS衛星からの信号を受信することで、参照機器1の現在位置を示す情報を定期的に受信する。第1制御部13はGPS受信機から、自機の現在位置を示す情報を定期的に取得する。これにより、参照機器1の現在位置の位置情報は、定期的に更新される。なお、第1制御部13がGPS受信機の機能を兼ね備えていてもよい。
参照機器1の参照機器データ作成部133は、ユーザの入力操作に基づいて操作データを作成する。このとき、参照機器データ作成部133は、GPS受信機から受信した位置情報と、該位置情報の取得タイミングを示す情報とを含んだ操作データを作成する。参照機器データ作成部133は、作成した操作データを試験装置3へ送信する。試験装置3は受信した操作データ41を記憶装置4に記憶させる。これにより、記憶装置4には、定期的に更新される位置情報と、位置情報の取得タイミングを示す情報が含まれる操作データ41が記憶される。後の処理は、実施形態1に係る試験システム600において、カーナビ端末である対象機器2の試験を実行する場合と同様である。
〔実施形態3〕
本発明に係る試験システムでは、試験装置3において操作データを作成および編集することが可能であってもよい。以下、本発明の実施形態3について説明する。図9は、本実施形態に係る試験システム800に含まれる装置の要部構成を示すブロック図である。試験システム800は、試験装置データ作成部336を備える点で、試験システム600および700と異なる。
試験装置データ作成部336は、第2データ322および入力部34に対するユーザの入力操作の少なくともいずれかに応じて、操作データを作成する。試験装置データ作成部336は作成した操作データを記憶装置4に操作データ41として記憶させる。
≪処理の流れ≫
図10は、試験装置3における処理の流れの一例を示す図である。図8は、S314およびS316の処理を実行する点で、実施形態1および図2で示した処理の流れと異なる。なお、図10のS300〜S312の処理は、図2のS100〜S112の処理と同様であるので、ここでは説明を繰り返さない。
試験装置データ作成部336は、試験処理(S310)の終了後に、試験処理の対象となった第2データから操作データを作成する(S314)。なお、S314〜S316の処理とS312の処理とは順不同である。試験装置データ作成部336は作成した操作データを記憶装置4に操作データ41として記憶させる。
そして、第3制御部33は所定のタイミングで、操作データ41を読み出し、操作データ出力部36に送信する。操作データ出力部36は操作データ41を参照機器1に送信する(S302)。
図10に示した処理によれば、画面表示試験の結果を踏まえて、第1データおよびユーザの入力操作の少なくとも一方に基づいて操作データを再作成し、再作成した操作データを用いて再度画面表示試験を実施することができる。したがって、より精密な試験を実施することができるため、試験結果の精度を向上させることができる。
なお、本実施形態に係る試験システム800においても、カーナビ端末である対象機器2の試験を実行することができる。具体的な処理手順は、実施形態1および2で説明した方法のいずれかを採用すればよい。以降の実施形態に係る試験システムについても同様に、実施形態1および2で説明した方法のいずれかを採用することで、カーナビ端末である対象機器2の試験を実行することができる。
〔実施形態4〕
本発明に係る試験システムは、表示プログラムを更新する前の対象機器2においてキャプチャした動画データを第1データとし、表示プログラムを更新した後の対象機器2においてキャプチャした動画データを第2データとしてもよい。そして、試験装置3は、これらの第1データおよび第2データを取得して、比較および探索処理を実行してもよい。以下、本発明の実施形態4について説明する。
図11は、本実施形態に係る試験システム900に含まれる装置の要部構成を示すブロック図である。試験システム900は、参照機器1を含まない点、対象機器2がプログラム受信部25を含む点、試験装置3がプログラム送信部37を含む点、および、記憶装置4が更新プログラムデータ43を含む点で、試験システム600、700、および800と異なる。
記憶装置4の更新プログラムデータ43は、対象機器2の表示プログラムを更新するためのプログラムデータである。更新プログラムデータ43は、対象機器2の表示プログラム全部を示すデータであってもよいし、対象機器2の表示プログラムの、更新差分のみを示すデータであってもよい。また、更新プログラムデータ43は、試験システム900以外の外部装置において作成されて記憶装置4に格納されてもよいし、試験装置3の第3制御部33が作成して記憶装置4に格納されてもよい。
試験装置3の第3制御部33は、所定のタイミングで更新プログラムデータ43を読み出し、プログラム送信部37に送信する。所定のタイミングは特に限定されないが、例えば、第3制御部33は、入力部34が、対象機器2の表示プログラムの更新を指示する入力操作を受け付けたと特定した場合に、更新プログラムデータ43を読み出してプログラム送信部37に送信する。
プログラム送信部37は、第3制御部33から受信した更新プログラムデータ43を対象機器2に送信する。対象機器2のプログラム受信部25は更新プログラムデータ43を受信し、第2記憶部22に記憶させる。これにより、第2記憶部22において表示プログラムが更新される。
≪処理の流れ≫
図12は、試験装置3の第3制御部33における処理の流れの一例を示す図である。図8は、S402〜S410の処理を実行する点で、実施形態1および図2で示した処理の流れと異なる。なお、図12のS400およびS408〜S414の処理は、図2のS100およびS106〜S112の処理と同様であるので、ここでは説明を繰り返さない。
第3制御部33は所定のタイミングで記憶装置4から操作データ41を読み出し、操作データ出力部36に送信する。操作データ出力部36は対象機器2に操作データ41を送信する(S402)。
対象機器2の第2操作データ取得部21は操作データ41を受信すると、操作データ41を第2記憶部22に記憶させる。そして、第2制御部23の第2表示制御部231は、第2記憶部22に記憶された操作データ41および表示プログラムに基づいて、第2表示部24に画像を表示させる。第2キャプチャ部232は第2表示制御部231が第2表示部24へ出力するデータをキャプチャし、これを第1データとして試験装置3に送信する。
データ収集部31は参照機器1から第1データを受信する(S404)。その後、第3制御部33は所定のタイミングで、対象機器2の表示プログラムの更新を行う。具体的には、第3制御部33は記憶装置4から更新プログラムデータ43を読み出し、プログラム送信部37に送信する。プログラム送信部37は対象機器2に更新プログラムデータ43を送信する。対象機器2のプログラム受信部25は更新プログラムデータ43を受信し、第2記憶部22に記憶させる。すなわち、対象機器2の表示プログラムを更新する(S406)。以降の処理は実施形態1のS106以降と同様である。
図12に示した処理によれば、対象機器2の表示プログラムの更新によって、画面表示に不具合が発生したか否かを検査することができる。
〔実施形態5〕
本発明に係る試験システムの試験装置は、第1データ321と第2データ322とが一致しないフレームが存在する場合、そのフレームにおける第1データ321のフレーム画像と、第2データ322のフレーム画像との相違点を特定する相違箇所特定部337を備えていてもよい。そして、探索部334は、相違箇所特定部337が特定した相違点の、フレーム画像上での位置に応じて、ずれを許容するフレーム数、すなわち、実施形態1の図2における「規定値」を決定してもよい。以下、本発明の実施形態5について説明する。
図13は、本実施形態に係る試験システム1000に含まれる装置の要部構成を示すブロック図である。試験システム1000は、試験装置3が相違箇所特定部337を含む点で試験システム600、700、800、および900と異なる。
相違箇所特定部337は、比較部333の比較結果により不一致フレームと判定されたフレームについて、そのフレームにおける第1データ321のフレーム画像と、第2データ322のフレーム画像との相違点を特定する。なお、ここで言う「相違点」とは、単に画像上の1点を示すだけではなく、特定のUIオブジェクトの表示領域、地図上の特定箇所の領域等、領域を示していてよい。
相違箇所特定部337は特定した相違点を探索部334に伝える。探索部334は、実施形態1において説明した探索処理の(2)における猶予フレーム数を、相違点に応じて変更する。例えば、相違点が特定のUIオブジェクトの表示領域の場合、それ以外の領域よりも猶予フレーム数を小さくしてもよい。例えば、特定のテキストを表示するUIオブジェクトの画像は、ユーザの入力操作や各種パラメータの変動に関わらず、常に一定の位置に配置される。このように、諸条件での表示のずれが起こりづらいと考えられる箇所については、猶予フレーム数を小さくし、その他の箇所については猶予フレーム数を大きくすることで、対象機器2の表示画像について、その画像の各部を表示するための負荷を考慮して試験処理を行うことができる。したがって、画面表示試験の精度を向上させることができる。
〔実施形態6〕
本発明に係る試験システムにおいて、試験結果データ42は、試験結果に対応する第1データ321および第2データ322を含んでいてもよい。そして、試験装置3の第3表示制御部335は、第2データ322の不具合箇所を示す情報と、第1データ321および第2データ322の動画像とを含む画面を第3表示部351に表示させてもよい。以降、当画面のことを結果再生画面と称する。以下、本発明の実施形態6について説明する。
図14は、結果再生画面の一例を示す図である。第3制御部33は、例えば入力部34に対して所定の入力操作が行われた場合に、第3表示部351に結果再生画面を表示させる。
結果再生画面には、少なくとも、試験結果データ42に基づいた第2データ322の不具合箇所を示す情報と、試験結果データ42に含まれる第1データ321の動画および第2データ322の動画と、が表示される。
図14の例では、結果再生画面には、第1データ321のフレーム画像PA6と、第2データ322のフレーム画像PB6と、第2データ322の不具合箇所のリストL1と、が表示されている。第1データ321と第2データ322とは、結果再生画面上でフレーム番号を合わせて1フレームずつ再生される。再生スピードおよび自動再生するか否かは特に限定されないが、ユーザが容易に目視可能なスピードであることが望ましい。
リストL1は、例えば、「No.」列と、「不具合検出フレーム」列とから成る。「No.」列には、「不具合検出フレーム」列の情報で特定される不具合フレームが、動画の1フレーム目から数えて何番目の不具合箇所であるかを示す通し番号が表示される。「不具合検出フレーム」列には、不具合が検出された箇所のフレーム番号が表示される。また、リストL1は、第1データ321および第2データ322の動画の再生フレーム数に応じて、自動スクロールされてもよい。この場合、リストL1の右部分のボタンL11〜L13によって、リストL1の表示箇所をスクロールすることが可能であってもよい。具体的には、ユーザがボタンL11を押下する入力操作を実行した場合、第3制御部33の第3表示制御部335は、リストL1を所定行上にスクロールさせてもよい。また、ユーザがボタンL12を押下する入力操作を実行した場合、第3表示制御部335は、リストL1のスクロールを停止させてもよい。また、ユーザがボタンL13を押下する入力操作を実行した場合、第3表示制御部335は、リストL1を所定行下にスクロールさせてもよい。また、ユーザにより、リストL1における特定の行を選択する入力操作が実行された場合、第3表示制御部335は、第1データ321の動画PA6および第2データ322の動画PB6について、選択された行が示すフレーム番号から動画再生を再開してもよい。また、第2データ322に不具合が存在しない場合、リストL1は空欄であってもよい。
なお、結果再生画面には、試験結果データ42を読み出すためのUIオブジェクトである、テスト結果読出しアイコンボタンB9が表示されていてもよい。ボタンB9が押下されると、第3表示制御部335は試験結果データ42の選択および読み出しを実行するためのサブ画面を第3表示部351に表示させる。ユーザがサブ画面で試験結果データ42を選択すると、第3制御部33は選択された試験結果データ42を記憶装置4から読み出し、第3表示制御部335は試験結果データ42に含まれる第1データ321および第2データ322を同時再生する。また、第3表示制御部335は、試験結果データ42に基づいた第2データ322の不具合箇所を示す情報を、リストL1に表示する。
また、結果再生画面には、第1データ321および第2データ322の再生方法を指定するためのUIオブジェクトが配置されていてもよい。例えば、図14の例では、リストL2が配置されている。リストL2の「全フレーム」の欄が選択されると、第3表示制御部335は第1データ321および第2データ322を最初のフレームから最後のフレームまで通して同時再生させる。なお、第3表示制御部335は全フレーム数を併せて表示してもよい。図示の例では全フレーム数は1〜10000である。リストL2の「指定フレーム」の欄が選択されると、第3表示制御部335は、第1データ321および第2データ322を、開始フレームとして指定されたフレーム番号から、終了フレームとして指定されたフレーム番号まで同時再生する。図示の例では、開始フレームとして指定されたフレーム番号は400であり、終了フレームとして指定されたフレーム番号は600である。リストL2の「表示中のフレーム」の欄を含む1列は、第1データ321および第2データ322のうち現在表示しているフレームのフレーム番号を示している。
また、結果再生画面には、第1データ321および第2データ322の再生、スキップ、一時停止、および停止を指示するためのUIオブジェクトが配置されていてもよい。図14の例では、ボタン群B10が配置されている。ボタン群B10のボタンB101は、現在再生中のフレームを起点とした場合の、第2データ322の直前の不具合箇所のフレームにジャンプして再生することを指示するためのボタンである。ボタンB107は、現在再生中のフレームを起点とした場合の、第2データ322の直後の不具合箇所のフレームにジャンプして再生することを指示するためのボタンである。ボタンB102は、現在再生中のフレームの1つ前のフレームにジャンプして再生することを指示するためのボタンである。ボタンB106は、現在再生中のフレームの1つ先のフレームにジャンプして再生することを指示するためのボタンである。ボタンB103は、再生停止を指示するためのボタンである。ボタンB104は、再生の一時停止を指示するためのボタンである。ボタンB105は、再生を指示するためのボタンである。ボタンB105を押下する入力操作が実行された場合、それ以前に再生が一時停止されていた場合、第3表示制御部335は一時停止したフレームから、第1データ321および第2データ322の再生を再開する。一方、一時停止がなされていなかった場合、第3表示制御部335はリストL2で指定された、再生開始の最初のフレームから第1データ321および第2データ322の再生を開始する。
また、結果再生画面には、操作データの内容を確認するための画面である操作データ確認画面への画面遷移を指示するためのボタンB11が配置されていてもよい。ボタンB11を押下する入力操作が実行された場合、第3表示制御部335は、操作データ確認画面を第3表示部351に表示させる。
図15は、操作データ確認画面の一例を示す図である。第3表示制御部335は、記憶装置4から操作データ41を読み出すことで、操作データ確認画面の作成に必要な情報を得て画面を作成する。操作データ確認画面には、少なくとも、操作データが示す操作の内容と、操作のタイミングを示す情報とが含まれる。
図示の例では、操作データ確認画面には、リストL3が含まれている。リストL3の「フレームNo」列には、入力操作が行われたフレーム番号が表示される。リストL3の「ステータス」列には、「フレームNo」列が示すフレーム番号において、第2データ322が正常であったか、異常、すなわち第1データ321と不一致であったかが表示される。「コマンド種別」列には、後述する「操作コマンド」列に表示される操作コマンドの種別が表示される。「出力指定」列には、操作コマンドを出力するか否かの設定が表示される。
図示の例において、当列が「出力」に設定されている行の操作コマンドは、参照機器1および対象機器2において、ユーザの入力操作として出力される。例えば、ボタン等の特定のオブジェクトを選択する入力操作に対応する操作コマンド等は、当列が「出力」に設定される。一方、当列の情報が「非出力」である行の操作コマンドは、参照機器1および対象機器2において出力されない。例えば、操作データの中には、参照機器1および対象機器2の動作に関係は無いが、不具合発生時に解析を行う際に必要なチェックデータも含まれ得る。このようなチェックデータは、当列が「非出力」に設定される。
「操作コマンド」列には、各行の入力操作の内容を示す操作コマンドが表示される。なお、同列には、操作コマンドで設定されるパラメータの値を示す情報がともに格納されていてもよい。
リストL3は、第1データ321および第2データ322の動画の再生フレーム数に応じて、自動スクロールされてもよい。リストL3の右部分のボタンL31〜L33によって、リストL3をスクロールすることが可能であってもよい。具体的には、ユーザがボタンL31を押下する入力操作を実行した場合、第3制御部33の第3表示制御部335は、リストL3を所定行上にスクロールさせてもよい。また、ユーザがボタンL32を押下する入力操作を実行した場合、第3表示制御部335は、リストL3のスクロールを停止させてもよい。また、ユーザがボタンL33を押下する入力操作を実行した場合、第3表示制御部335は、リストL1を所定行下にスクロールさせてもよい。
また、実施形態3に示す試験システム800の試験装置3のように、試験装置3において操作データ41の編集が可能である場合、操作データ確認画面には、操作データ41の追加、すなわちリストL3の行の追加を指示するためのボタンB12と、操作データ41の変更を指示するためのボタンB13と、操作データ41の一部または全部の削除を指示するためのボタンB14と、操作データ41の編集を中止する、すなわち、後述するボタンB16を押下するまでに行った編集の内容の破棄を指示するためのボタンB15と、操作データ41の編集内容の保存を指示するためのボタンB16と、が含まれていても良い。このように、リストL3で操作データ41を確認しながらボタンB12〜16を操作して操作データ41を編集することで、ユーザは操作データ41を容易に編集することができる。
〔変形例〕
なお、本発明に係る試験システムは、対象機器2から、対象機器2において実行された入力操作の操作内容と操作タイミングとを示す操作データを取得してもよい。以下、対象機器2から取得する操作データを、便宜上、対象機器操作データと称する。
この場合、対象機器2は、対象機器入力部と、対象機器データ作成部とを備える。対象機器入力部は、対象機器2に対するユーザの入力操作を受け付ける。対象機器入力部は入力操作の内容を第2制御部23に送信する。なお、対象機器入力部の具体的な構成は特に限定されない。例えば、対象機器入力部は、第2表示部24と一体に構成されたタッチパネルディスプレイであってもよい。
対象機器データ作成部は、対象機器入力部を介して受け付けたユーザの入力操作から、操作データを作成する。対象機器入力部が操作データを作成するタイミングは特に限定されない。例えば、対象機器入力部は、第2表示制御部231が第2表示部24に画像を表示させるのと並行して、画像表示に係るユーザの指示内容、すなわち入力操作の内容と、操作のタイミングとを特定して、これらを含んだ対象機器操作データを作成してもよい。対象機器入力部は、作成した対象機器操作データを試験装置3に送信する。なお、対象機器操作データは第2データとともに試験装置3に送信されてもよいし、別々に送信されてもよい。
試験装置3のデータ収集部31は、対象機器操作データを受信し、記憶装置4に操作データ41として記憶させる。なお、データ収集部31は、参照機器1からも操作データを受信する場合、操作データと、対象機器操作データとを別個に記憶装置4に記憶させてもよい。以降、試験装置3は、対象機器操作データ、すなわち、対象機器2由来の操作データ41を用いて、各実施形態で説明した処理を実行してもよい。
例えば、前記の構成によれば、不具合が発生した対象機器2から対象機器操作データ、すなわち、対象機器2の操作履歴を得て、これを用いて参照機器1において、対象機器操作データに基づく第1データを得ることができる。すなわち、不具合が発生した対象機器2と同様の操作条件下で参照機器1を動作させた場合の、第1データを得ることができる。そして、該第1データと第2データとを比較して、第2データに不具合があるか否かを判定することができる。この判定結果と、参照機器1とする機器の設定によって、対象機器2の不具合の原因を特定することができる。
例えば、対象機器2と同じ表示プログラムであるが、異なるバージョンの表示プログラムを実行する機器を参照機器1とし、対象機器操作データを用いて画面表示試験を行うことが考えられる。これにより、対象機器2の不具合の原因が、表示プログラムの特定のバージョンのみで発生するものか否かを確認することができる。
また、参照機器1と対象機器2とが共にカーナビ装置である場合、これらの機器を同じ車両に搭載して、車両を実際に走行させながら、試験者が参照機器1および対象機器2に入力操作を行ってもよい。なお、この入力操作は、2つの機器の間で同じ操作内容および同じ操作タイミングで行われることが望ましい。試験装置3のデータ収集部31は、参照機器1からは操作データと第1データを、対象機器2からは対象機器操作データと第2データを受信する。
なお、この場合、対象機器2はGPS受信機を備える。GPS受信機の機能は、参照機器1と同様である。また、対象機器データ作成部は、現在位置の位置情報と、該位置情報の取得タイミングを示す情報とを含む対象機器操作データを作成する。
試験装置3の比較部333は、上述の第1データおよび第2データを第1データ321と第2データ322として読み出し比較する。また、第3制御部33は、操作データと対象機器操作データとの比較を行ってもよい。そして、第3表示制御部335は、該比較の結果を、第3表示部351に表示させてもよい。
これにより、同じ条件下で実際に参照機器1と対象機器2とを同様に動作させた場合の、画面表示試験の結果、および、操作データおよび対象機器操作データの比較を行うことができる。
〔ソフトウェアによる実現例〕
試験システム600、700、800、900、1000、1100、および1200に含まれる各種装置の制御ブロック(特に第3制御部33の各部)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
後者の場合、試験システム600、700、800、900、1000,1100および1200に含まれる各種装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば1つ以上のプロセッサを備えていると共に、上記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。