IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日産自動車株式会社の特許一覧 ▶ ルノー エス.ア.エス.の特許一覧

特許7562381テスト装置、テスト装置の制御方法、及びプログラム
<>
  • 特許-テスト装置、テスト装置の制御方法、及びプログラム 図1
  • 特許-テスト装置、テスト装置の制御方法、及びプログラム 図2
  • 特許-テスト装置、テスト装置の制御方法、及びプログラム 図3
  • 特許-テスト装置、テスト装置の制御方法、及びプログラム 図4
  • 特許-テスト装置、テスト装置の制御方法、及びプログラム 図5
  • 特許-テスト装置、テスト装置の制御方法、及びプログラム 図6
  • 特許-テスト装置、テスト装置の制御方法、及びプログラム 図7
  • 特許-テスト装置、テスト装置の制御方法、及びプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-27
(45)【発行日】2024-10-07
(54)【発明の名称】テスト装置、テスト装置の制御方法、及びプログラム
(51)【国際特許分類】
   G06F 11/36 20060101AFI20240930BHJP
【FI】
G06F11/36 188
【請求項の数】 15
(21)【出願番号】P 2020190945
(22)【出願日】2020-11-17
(65)【公開番号】P2022080016
(43)【公開日】2022-05-27
【審査請求日】2023-08-07
(73)【特許権者】
【識別番号】000003997
【氏名又は名称】日産自動車株式会社
(73)【特許権者】
【識別番号】507308902
【氏名又は名称】ルノー エス.ア.エス.
【氏名又は名称原語表記】RENAULT S.A.S.
【住所又は居所原語表記】122-122 bis, avenue du General Leclerc, 92100 Boulogne-Billancourt, France
(74)【代理人】
【識別番号】110000486
【氏名又は名称】弁理士法人とこしえ特許事務所
(72)【発明者】
【氏名】倉本 勝行
【審査官】久々宇 篤志
(56)【参考文献】
【文献】特開2015-049520(JP,A)
【文献】特開2011-090597(JP,A)
【文献】米国特許出願公開第2019/0146900(US,A1)
【文献】特開2010-152429(JP,A)
【文献】特開2016-173619(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/36
(57)【特許請求の範囲】
【請求項1】
機器のテスト項目及び前記機器により表示装置に表示されるオブジェクトの操作手順を含むテストフローに沿って、前記機器をテストするテスト実行部と、
前記機器の仕様上の前記オブジェクトである第1オブジェクトの情報を記憶する記憶部と、
所定の前記テスト項目で前記機器の仕様と一致しないテスト結果が得られた場合、前記表示装置に表示される画像から、前記第1オブジェクトに対応する前記オブジェクトとして第2オブジェクトを探索する探索部と、
前記第2オブジェクトを操作する操作部と、を備えるテスト装置であって、
前記第1オブジェクトは、前記画像上で第1位置に表示され、
前記探索部は、
前記第1位置から所定の第1範囲に前記オブジェクトが存在するか否かを判定し、
前記第1範囲に前記オブジェクトが存在すると判定した場合は、前記第1範囲の前記オブジェクトを前記第2オブジェクトとして特定する、テスト装置
【請求項2】
前記探索部は、
前記第1範囲に前記オブジェクトが存在しないと判定した場合は、前記第1範囲の外側且つ前記表示装置の画面内に前記オブジェクトが存在するか否かを判定し、
前記第1範囲の外側且つ前記表示装置の画面内に前記オブジェクトが存在すると判定したときは、前記オブジェクト内に表示された文字で構成される文字列と、前記オブジェクト内に表示されたアイコンとの少なくとも一方に基づいて前記オブジェクトが前記第2オブジェクトであるか否かを判定する、請求項1に記載のテスト装置。
【請求項3】
記探索部は、前記オブジェクトの所定要素に基づいて、前記画像から前記第2オブジェクトを探索し、
前記所定要素は、前記画像上での前記オブジェクトの位置、前記オブジェクト内に表示された前記文字と、前記オブジェクト内に表示された前記アイコンのうち少なくとも一つを含む、請求項2に記載のテスト装置。
【請求項4】
前記第1範囲は、前記第1オブジェクトが前記画像で占有する領域よりも広く且つ前記画像の全領域よりも狭い範囲である、請求項1~3のいずれか一項に記載のテスト装置。
【請求項5】
記第1オブジェクトは、前記文字で構成される前記文字列として第1文字列を含み、
前記探索部は、前記第1文字列と一致又は類似する第2文字列を含む前記オブジェクトを、前記第2オブジェクトとして特定する、請求項3に記載のテスト装置。
【請求項6】
記第2文字列は、前記第1文字列を翻訳した前記文字列、前記第1文字列と同義語の前記文字列、前記第1文字列と類義語の前記文字列、前記第1文字列と反対語の前記文字列と、前記第1文字列から一文字が変換された前記文字列のうちいずれかである、請求項5に記載のテスト装置。
【請求項7】
記第1オブジェクトは、前記アイコンとして第1アイコンを含み、
前記探索部は、第1アイコンと一致又は類似する第2アイコンを含む前記オブジェクトを、前記第2オブジェクトとして特定する、請求項3、5及び6のいずれか一項に記載のテスト装置。
【請求項8】
記第2アイコンは、前記第1アイコンに相似する前記アイコンと、前記第1アイコンと色違いの前記アイコンのうちいずれかである、請求項7に記載のテスト装置。
【請求項9】
記第2オブジェクト内での前記第2アイコンの位置は、前記第1オブジェクト内での前記第1アイコンの位置から所定の第2範囲内である、請求項7又は8に記載のテスト装置。
【請求項10】
記操作部により前記第2オブジェクトが所定回数以上操作された後、前記テストが続行されない場合、前記機器を再起動する再起動部を備える、請求項1~9のいずれか一項に記載のテスト装置。
【請求項11】
記記憶部は、前記テスト項目ごとに、前記機器をテストするためのテスト環境情報を記憶し、
前記再起動部は、前記機器を再起動した後、前記仕様と一致しない前記テスト結果が得られた記テスト項目の前記テスト環境情報を前記記憶部から読み出す、請求項10に記載のテスト装置。
【請求項12】
記操作部により前記第2オブジェクトが操作され、前記テストが続行された場合、前記テストの続行について正否を判定する判定部と、
前記判定部により前記テストの続行が正しくないと判定された場合、前記テストフローにおいて前記仕様と一致しない前記テスト結果が得られた記テスト項目よりも後の前記テスト項目から、前記機器をテストするテスト省略部を備える、請求項1~11のいずれか一項に記載のテスト装置。
【請求項13】
記探索部により前記画像から前記第2オブジェクトが見つからない場合、前記テストフローにおいて前記仕様と一致しない前記テスト結果が得られた記テスト項目よりも後の前記テスト項目から、前記機器をテストするテスト省略部を備える、請求項1~11のいずれか一項に記載のテスト装置。
【請求項14】
コンピュータを、請求項1~13のいずれか一項に記載のテスト装置として機能させるためのプログラム。
【請求項15】
テストフローに沿って機器をテストするコンピュータと、記憶装置と、を備えるテスト装置の制御方法であって、
前記テストフローは、前記機器のテスト項目及び前記機器により表示装置に表示されるオブジェクトの操作手順を含み、
前記記憶装置は、前記機器の仕様上の前記オブジェクトである第1オブジェクトの情報を記憶し、
前記コンピュータは、
所定の前記テスト項目で前記機器の仕様と一致しないテスト結果が得られた場合、前記表示装置に表示される画像から、前記画像上で第1位置に表示される前記第1オブジェクトに対応する前記オブジェクトとして第2オブジェクトを探索するときは前記第1位置から所定の第1範囲に前記オブジェクトが存在するか否かを判定し、
前記第1範囲に前記オブジェクトが存在すると判定したときは、前記第1範囲の前記オブジェクトを前記第2オブジェクトとして特定し、
前記第2オブジェクトとして特定された前記オブジェクトを操作するテスト装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テスト装置、テスト装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
テスト対象のプログラムが正常に動作するか否かを検証するテスト装置が知られている(例えば、特許文献1)。特許文献1に記載のテスト装置は、テスト対象となる対象プログラムの実行に応じて表示手段に表示された第1の画像を取得する。そして、このテスト装置は、第1の画像に含まれ、正解画像に対応する部分画像を特定する第1の特定情報に基づいて、第1の画像から部分画像を対象画像として抽出し、対象画像と正解画像とが一致するか否かを判定し、判定結果を表示する。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2016-224868号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載のテスト装置では、全テスト項目のうち所定のテスト項目で対象画像が正解画像と一致しないと判定した場合、ユーザがテスト装置に対して何らかの操作をしなければ、テストを続行することができない。このため、ユーザが存在しない場合、未実施のテスト項目をテストできない、という問題がある。
【0005】
本発明が解決しようとする課題は、所定のテスト項目で機器の仕様と一致しないテスト結果が得られた場合に、ユーザの存否にかかわらず、未実施のテスト項目をテストできるテスト装置、テスト装置の制御方法、及びプログラムを提供することである。
【課題を解決するための手段】
【0006】
本発明は、機器のテスト項目及び機器により表示装置に表示されるオブジェクトの操作手順を含むテストフローに沿って、機器のテストを実行し、所定のテスト項目で機器の仕様と一致しないテスト結果が得られた場合、表示装置に表示される画像から、機器の仕様上のオブジェクトである第1オブジェクトに対応するオブジェクトとして第2オブジェクトを探索するときは第1位置から所定の第1範囲にオブジェクトが存在するか否かを判定し、第1範囲にオブジェクトが存在すると判定したときは、第1範囲のオブジェクトを第2オブジェクトとして特定し、第2オブジェクトとして特定されたオブジェクトを操作することで、上記課題を解決する。
【発明の効果】
【0007】
本発明によれば、所定のテスト項目で機器の仕様と一致しないテスト結果が得られた場合、第2オブジェクトの操作によりテストフローに沿ってテストを続行できるため、ユーザの存否にかかわらず、未実施のテスト項目をテストすることができる。
【図面の簡単な説明】
【0008】
図1】本発明のテスト装置、テスト装置の制御方法、及びプログラムを適用したテストシステムを示すブロック図である。
図2】ディスプレイに表示されるオブジェクトの説明図である。
図3】オブジェクトの位置から、仕様上のオブジェクトとして許容できる対象オブジェクトの説明図である。
図4】オブジェクト内に表示される文字列及びアイコンから、仕様上のオブジェクトとして許容できる対象オブジェクトの説明図である。
図5】本実施形態に係るテストシステムにより実行されるテストフローを示すフローチャートである。
図6図5のステップS105で実行されるサブルーチンを示すフローチャートである。
図7図6のステップS206で実行されるサブルーチンを示すフローチャートである。
図8図7のステップS312で実行されるサブルーチンを示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態を図面に基づいて説明する。
【0010】
本実施形態は、本発明に係るテスト装置、テスト装置の制御方法、及びプログラムを適用したテストシステムに関するものである。本実施形態に係るテストシステムは、機器のテスト項目及び機器により表示装置に表示されるオブジェクトの操作手順を含むテストフローに沿って、機器をテストするシステムである。本実施形態に係るテストシステムは、ユーザの操作を必要とすることなく、自動的に機器のテストを実行するシステムである。機器のテストとは、機器の完成度を評価するために、機器の仕様に対して機器の動作を評価することである。
【0011】
図1は、本実施形態に係るテストシステム100を示すブロック図である。本実施形態に係るテストシステム100は、テスト対象である機器1と、機器1から出力される画像信号に応じて画像をディスプレイ3に表示させる表示制御装置2と、機器1をテストするテスト装置10と、を備える。機器1と表示制御装置2の間は、所定の規格の通信網で接続され、装置間で情報(データ、信号ともいう)の授受が可能となっている。またテスト装置10と、機器1及び表示制御装置2との間も、所定の規格の通信網で接続され、テスト装置10と機器1との間、及びテスト装置10と表示制御装置2との間では、情報(データ、信号ともいう)の授受が可能となっている。
【0012】
機器1は、テストシステム100においてテスト対象となる機器である。テストの対象という意味において、機器1は、被評価ユニット(UUT:Unit Under Test)とも称される。機器1は、ディスプレイ3に表示するための画像を生成する画像生成機能を備えている。本実施形態では、機器1の形態、動作特性などは特に限定されない。以降の説明では、機器1として、カーナビゲーション用のECU(ECU:Electronic Control Unit)を例に挙げて説明するが、機器1を特に限定するものではない。機器1は、ディスプレイ3に表示するための画像の画像信号を、表示制御装置2に出力する。また機器1には、表示制御装置2から、オブジェクトに対する操作を示す操作信号が入力される。オブジェクトについては後述する。なお、本実施形態では、機器1と表示制御装置2とを分けて説明するが、後述する表示制御装置2を含めて機器1としてもよい。すなわち、機器1は、図1に示す表示制御装置2を備える構成であってもよい。
【0013】
表示制御装置2は、機器1からの画像信号に応じて画像を再生し、再生した画像をディスプレイ3に表示させる制御装置である。ディスプレイ3は、画像を表示する表示機能と情報の入力が可能な入力機能を備える表示装置である。例えば、ディスプレイ3は、液晶パネルとタッチパッドのような位置入力装置を組み合わせた電子部品である。ディスプレイ3は、液晶パネルに画像を表示する表示装置として機能する。また、ディスプレイ3は、ユーザが液晶パネルの画面上の表示を操作することで機器1を操作する入力装置として機能する。以降の説明では、ユーザが操作可能なディスプレイ3の画面上の表示を、オブジェクトと称して説明する。なお、ディスプレイ3は、タッチパネル式のディスプレイではなく、マウスなどの機器によりオブジェクトを操作可能なディスプレイであってもよい。
【0014】
ここで、ディスプレイ3の画面が切り替わる際の機器1及び表示制御装置2の動作について、カーナビゲーションシステムを例に挙げて説明する。複数の車両のルートがディスプレイ3を介してユーザに提示された場面において、ユーザが提示された複数のルートから特定のルートを選択した場合を例に挙げる。この例において、まず、機器1は、ユーザにルートを選択してもらうために、複数のルートを示す画像の画像信号を表示制御装置2に出力する。表示制御装置2は、画像信号に応じて複数のルートを示す画像を再生し、再生した画像をディスプレイ3に表示させる。ユーザは、ディスプレイ3に表示される複数のルートの中から、特定のルートを示すオブジェクト(ボタンともいう)を押す。オブジェクトがユーザにより押されると、表示制御装置2は、ユーザが当該オブジェクトを押したことを検知し、オブジェクトに対するユーザの操作を示す操作信号を機器1に出力する。機器1は、表示制御装置2から入力されるユーザの操作信号に応じて、特定のルートのみを示す新たな画像を生成し、生成した画像の画像信号を表示制御装置2に出力する。これにより、ディスプレイ3の画面は、複数のルートを示す画面から、ユーザが選択したルートのみを示す画面に切り替わる。
【0015】
このように、機器1の動作はディスプレイ3の画面に出力されるため、後述するテスト装置10は、ディスプレイ3の画面を評価することで、機器1の動作をテストする。また、機器1の動作は、ディスプレイ3に表示されるオブジェクトが操作されることで変わるため、テスト装置10は、ディスプレイ3に表示されるオブジェクトを含めた画面を評価する。
【0016】
図2は、機器1の仕様上のオブジェクトを説明するための説明図である。図2(A)は、オブジェクトの構成を説明する説明図であり、図2(B)は、ディスプレイ3に表示されるオブジェクトの位置を説明する説明図である。なお、以降の説明では、便宜上、ディスプレイ3に表示されるオブジェクトのうち機器1の仕様と一致するオブジェクト、すなわち、機器1の仕様を満たすオブジェクトを、仕様オブジェクトと称して説明する。
【0017】
図2(A)に示す仕様オブジェクト20は、目的地を示すオブジェクトである。図2(A)の例では、仕様オブジェクト20の形状は、所定の大きさを有する矩形形状の外枠20cによって示されている。仕様オブジェクト20の外枠20cの中には、図2(A)に向かって左側から順に、目的地を示すアイコン20aと、「目的地」の文字列20bとが並んで表示されている。アイコン20aは、図形、記号、又はこれらの組み合わせで構成される。
【0018】
機器1の仕様では、仕様オブジェクト20は、仕様オブジェクト20の形状、仕様オブジェクト20内に表示される文字列、当該文字列が仕様オブジェクト20内で表示される位置、仕様オブジェクト20内に表示されるアイコン、当該アイコンが仕様オブジェクト20内で表示される位置などが規定されている。なお、図2(A)の例は、ディスプレイ3に表示される仕様オブジェクトの例であって、オブジェクトの形状、大きさ、オブジェクト内の表示内容、オブジェクト内での当該表示内容の表示位置を限定するものではない。
【0019】
また、機器1の仕様では、仕様オブジェクト20がディスプレイ3に表示される位置も規定されている。図2(B)に示すように、仕様オブジェクト20は、ディスプレイ3に表示される画像において、機器1の仕様で規定された位置に表示される。図2(B)の例では、仕様オブジェクト20の位置は、ディスプレイ3の平面上の座標軸(X軸、Y軸)で規定されている。なお、仕様オブジェクトの位置をどのように規定するかは特に限定されず、座標で規定されるものでなくてもよい。
【0020】
図1に戻り、再び、テストシステム100の構成について説明する。テスト装置10は、機器1をテストするためのプログラムを格納したROM(Read Only Memory)と、このROMに格納されたプログラムを実行するCPU(Central Processing Unit)と、アクセス可能な記憶装置として機能するRAM(Random Access Memory)とから構成される。なお、動作回路としては、CPUに代えて又はこれとともに、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを用いることができる。以降では、テスト装置10が実行するプログラムは、ROMに格納されたプログラムとして説明するが、プログラムの格納場所はテスト装置10の外部であってもよい。例えば、テスト装置10が実行するプログラムは、コンピュータが読み取り可能な記録媒体に格納されていてもよい。この場合、当該記録媒体とテスト装置10とを所定の規格を用いて接続することで、テスト装置10は、記録媒体に記録されたプログラムを実行することができる。なお、図1では図示されていないが、テスト装置10は、機器1をテストするためのテスト設備の一部であってもよい。
【0021】
図1に示すように、テスト装置10は、テスト実行部11、記憶部12、探索部13、操作部14、再起動部15、判定部16、及びテスト省略部17を含み、これらのブロックは、ROMに記憶されたプログラムによって、後述する各機能を実現する。
【0022】
テスト実行部11は、機器1をテストするためのテストフローを作成し、作成したテストフローに沿って機器1のテストを実行する。テストフローは、少なくとも、機器1のテスト項目と、ディスプレイ3に表示されるオブジェクトの操作手順を含む。テストフローは、テスト項目ごとに、機器1を動作させるために必要なテストパターンを含んでいてもよい。
【0023】
オブジェクトの操作手順とは、ディスプレイ3に表示されたオブジェクトを操作する順序のことである。例えば、テスト実行部11は、機器1の仕様に基づき、機器1の動作をテストするための複数のテスト項目を生成するとともに、各テスト項目の順序、テストするためのオブジェクトの操作手順や、テスト項目を切り換えるためのオブジェクトの操作手順を生成する。なお、テスト実行部11には、本願出願時に知られた、テストフローを自動的に生成するための技術、例えば、テストシナリオの自動生成技術を適用できるものとする。
【0024】
また、テスト実行部11は、機器1のテストを実行すると、機器1の動作が機器1の仕様上の動作と一致するか否かを判定する。テスト実行部11は、テストフローに沿って、テスト項目ごとに、機器1が機器1の仕様を満たすように動作するか否かを判定する。例えば、テスト実行部11は、テストパターンを機器1に入力させて、機器1を動作させる。機器1は、テストパターンに沿った動作を実行し、ディスプレイ3に画像を表示させる。テスト実行部11は、ディスプレイ3に表示された画像を取得し、取得した画像と、機器1の仕様上の画像である期待値画像とを比較することで、機器1の動作が仕様と一致するか否かを判定する。テスト実行部11は、テスト項目ごとに、テストパターンを機器1に入力させ、ディスプレイ3に表示される画像と期待値画像とを比較することで、テストフローに沿ったテストを実行することができる。なお、テスト実行部11には、本願出願時に知られたテストを自動的に実行するための技術、例えば、テストスクリプト自動生成技術、テストプログラム自動生成技術などを適用できるものとする。
【0025】
ここで、テスト実行部11により、機器1の動作が機器1の仕様上の動作と一致しないと判定された場合に起こり得る問題について説明する。機器1がカーナビゲーション用ECUの場合、例えば、機器1の完成度が低いと、ディスプレイ3に表示される画像が機器1の仕様上の画像と一致しない場合がある。ディスプレイ3に表示される画像と機器1の仕様上の画像とが一致しない原因の一つとしては、ディスプレイ3に表示されるオブジェクトと、機器1の仕様オブジェクトが一致しない場合が挙げられる。この場合、テスト実行部11は、所定のテスト項目について、機器1の動作が機器1の仕様上の動作と一致しないと判定する。テストフローでは、当該テスト項目で否定的な判定をした場合について、オブジェクトの操作手順が予め定められている。テスト実行部11は、テストフローで定められたオブジェクトの操作手順に従って、オブジェクトを操作しようとする。しかし、例えば、ディスプレイ3に表示されるオブジェクトの位置が仕様オブジェクトの位置とは異なる場合、テスト実行部11は、オブジェクトを操作することができず、テストフローを続行することができない、という問題がある。テストフローが続行できない状態は、機器1のテストが実質的に停止した状態ともいう。本実施形態に係るテスト装置10では、上記のように、ディスプレイ3に表示されるオブジェクトが仕様オブジェクトとは異なるため、テストフローに従った処理を実行できない場面であっても、仕様オブジェクトに対応するオブジェクトを探索して操作することで、テストフローを続行することができる。
【0026】
記憶部12は、機器1のテストに関する情報を記憶するメモリである。記憶部12は、例えば、不揮発性のメモリであるROMやハードディスク(HDD)でもよいし、また揮発性のメモリであるダイナミックメモリ(DRAM)やスタティックメモリ(SRAM)などでもよい。本実施形態では、記憶部12の特性や種別は特に限定されない。
【0027】
記憶部12は、テスト項目ごとに、機器1の仕様上の画像である期待値画像を記憶する。期待値画像は、当該画像に表示される仕様オブジェクトを含む。記憶部12は、テスト項目ごとに、仕様オブジェクトに関する情報を記憶する。また記憶部12は、テスト項目ごとに、機器1をテストするためのテスト環境情報を記憶する。テスト環境情報は、有線又は無線により機器1と接続可能な外部機器の情報、及び機器1のテストパターンを含む。機器1がカーナビゲーション用のECUの場合、外部機器としては、例えば、カーナビゲーションシステムで使用されるDVDメディア媒体、ETC車載器、スマートフォンなどが挙げられる。なお、機器1のテストパターンは、テスト実行部11によって、記憶部12に記憶される。
【0028】
探索部13は、テストフローに含まれる全てのテスト項目のうち所定のテスト項目で機器1の仕様と一致しないテスト結果が得られた場合、ディスプレイ3に表示される画像から、仕様オブジェクトに対応するオブジェクトとして、対象オブジェクトを探索する。仕様オブジェクトに対応するオブジェクトとは、仕様オブジェクトとは異なるものの、仕様オブジェクトとして許容できるオブジェクトである。別の言い方をすると、仕様オブジェクトに対応するオブジェクトとは、仕様オブジェクトとは完全に一致しないものの、オブジェクトの所定の要素について、仕様オブジェクトと部分的に一致するオブジェクトである。
【0029】
探索部13は、オブジェクトの所定の要素に基づいて、ディスプレイ3に表示される画像から対象オブジェクトを探索する。オブジェクトの所定の要素は、ディスプレイ3に表示される画像上でのオブジェクトの位置、オブジェクト内に表示される文字、及びオブジェクト内に表示されるアイコンのうち少なくともいずれか一つを含む。探索部13は、ディスプレイ3に表示されるオブジェクトのうち、オブジェクトの所定の要素で部分的に仕様オブジェクトと一致するオブジェクトを、仕様オブジェクトとして許容する。探索部13は、許容したオブジェクトを、仕様オブジェクトに対応する対象オブジェクトとして特定する。
【0030】
例えば、探索部13は、ディスプレイ3に表示される画像上での仕様オブジェクトの位置に対して、所定の範囲内に位置するオブジェクトを対象オブジェクトとして特定する。図3は、オブジェクトの位置から、仕様上のオブジェクトとして許容できる対象オブジェクトの説明図である。図3(A)は、探索部13がオブジェクトを探索する範囲の一例である。図3(A)に示す仕様オブジェクト20(点線部)は、図2(B)に示す仕様オブジェクト20に対応する。なお、図3(A)では、実際には仕様オブジェクト20はディスプレイ3に表示されておらず、便宜上、本来表示されるはずの仕様オブジェクト20を示している。
【0031】
図3(A)に示すように、探索部13は、本来想定された仕様オブジェクト20の位置を中心にして探索範囲Rを設定し、探索範囲R内でオブジェクトを探索する。探索範囲Rは、仕様オブジェクト20がディスプレイ3で占有する領域よりも広く、かつ、ディスプレイ3に表示される画像の全領域よりも狭い領域である。
【0032】
例えば、図3(B)に示すように、オブジェクト21が探索範囲R内に存在する場合、探索部13は、オブジェクト21を仕様オブジェクト20に対応する対象オブジェクトとして特定する。この場合、探索部13は、オブジェクトが仕様上の位置の周辺に存在すると判定する。一方、図3(B)とは異なり、オブジェクトが探索範囲R内に存在しない場合、探索部13は、オブジェクトが仕様上の位置の周辺に存在しないと判定する。
【0033】
また例えば、図3(C)に示すように、オブジェクト22が探索範囲R外であって、かつ、ディスプレイ3の画面内に存在する場合、探索部13は、オブジェクトがディスプレイ3の画面内に存在すると判定する。この場合、図3(B)の例とは異なり、探索部13は、オブジェクト22を仕様オブジェクト20に対応する対象オブジェクトとして特定しない。これは、オブジェクト22が探索範囲R外であるため、オブジェクトの位置という点で仕様オブジェクト20と許容するのは難しいという観点に基づく。一方、図3(C)とは異なり、オブジェクトがディスプレイ3の画面内に存在しない場合、探索部13は、オブジェクトがディスプレイ3の画面内に存在しないと判定する。
【0034】
なお、図3(B)及び図3(C)では、オブジェクト21及びオブジェクト22は、仕様オブジェクト20と外見上一致するオブジェクトで示されているが、仕様オブジェクト20と外見上異なるオブジェクトであってもよい。
【0035】
また例えば、仕様オブジェクトが文字列を含む場合、探索部13は、仕様オブジェクト内の文字列と一致又は類似する文字列を含むオブジェクトを、対象オブジェクトとして特定する。また例えば、仕様オブジェクトがアイコンを含む場合、探索部13は、仕様オブジェクト内のアイコンと一致又は類似するアイコンを含むオブジェクトを、対象オブジェクトとして特定する。
【0036】
図4は、オブジェクト内に表示される文字列及びアイコンから、仕様上のオブジェクトとして許容できる対象オブジェクトの説明図である。図4(A)~図4(C)は、オブジェクト内に表示される文字列から、仕様オブジェクトとして許容できる対象オブジェクトの一例である。
【0037】
探索部13は、オブジェクト内の文字列が仕様オブジェクト内の文字列を翻訳した文字列の場合、当該オブジェクトを対象オブジェクトとして特定する。これは、言語による違いは許容するという観点に基づく。例えば、図4(A)に示すように、仕様オブジェクト20では、文字列20bとして「目的地」と表示されるところ(図2(A)参照)、オブジェクト31では、文字列31bとして、「目的地」を英訳した「Destination」と表示されている。この場合、探索部13は、オブジェクト31を図2(A)に示す仕様オブジェクト20に対応する対象オブジェクトとして特定する。
【0038】
また探索部13は、オブジェクト内の文字列が仕様オブジェクト内の文字列から一文字が変換された文字列の場合、当該オブジェクトを対象オブジェクトとして特定する。これは、誤記やスペルミスなどの違いは許容するという観点に基づく。例えば、図4(B)に示すように、仕様オブジェクト20では、文字列20bとして「目的地」と表示されるところ(図2(A)参照)、オブジェクト32では、文字列32bとして、「目的地」のうち一文字が変換された「日的地」と表示されている。この場合、探索部13は、オブジェクト32を仕様オブジェクト20に対応する対象オブジェクトとして特定する。
【0039】
また探索部13は、オブジェクト内の文字列が仕様オブジェクト内の文字列と同義語の文字列の場合、オブジェクト内の文字列が仕様オブジェクト内の文字列と類義語の文字列の場合、又はオブジェクト内の文字列が仕様オブジェクト内の文字列と反対語の文字列の場合、当該オブジェクトを対象オブジェクトとして特定する。これは、認識違いや表記ミスなどの違いは許容するという観点に基づく。例えば、図4(C)に示すように、仕様オブジェクト20では、文字列20bとして「目的地」と表示されるところ(図2(A)参照)、オブジェクト33では、文字列33bとして、「目的地」の反対語である「到着地」と表示されている。この場合、探索部13は、オブジェクト33を仕様オブジェクト20に対応する対象オブジェクトとして特定する。
【0040】
なお、図4(A)~図4(C)を用いて説明した例において、探索部13は、記憶部12又はテスト装置10の外部にあるデータベースが格納する辞書の情報を参照することで、仕様オブジェクト内の文字列に対して、翻訳された文字列であるか否か、一文字が変換された文字列であるか否か、反対語の文字列であるか否かなどを判定することができる。なお、テスト装置10が参照する辞書の情報は、翻訳、シソラータス、及び学習データを含む。
【0041】
図4(D)~図4(E)は、オブジェクト内に表示されるアイコンから、仕様オブジェクトとして許容できる対象オブジェクトの一例である。
【0042】
探索部13は、オブジェクト内のアイコンが仕様オブジェクト内のアイコンに相似するアイコンの場合、当該オブジェクトを対象オブジェクトとして特定する。これは、形状が一致しているため大きさの違いは許容するという観点に基づく。例えば、図4(D)に示すように、仕様オブジェクト20では、アイコン21aが所定の大きさ表示されるところ(図2(A)参照)、オブジェクト34では、アイコン21aと形状が一致するものの、その大きさが異なるアイコン34aが表示されている。この場合、探索部13は、オブジェクト34を仕様オブジェクト20に対応する対象オブジェクトとして特定する。
【0043】
また探索部13は、オブジェクト内でのアイコンの位置が、仕様オブジェクト内でのアイコンの位置から所定の範囲内である場合、当該オブジェクトを対象オブジェクトとして特定する。これは、オブジェクト内での表示位置の違いは許容するという観点に基づく。例えば、図4(E)に示すように、仕様オブジェクト20では、アイコン21aが仕様オブジェクト20内の所定の位置に表示されるところ(図2(A)参照)、オブジェクト35内でのアイコン35aの位置は、仕様オブジェクト20内でのアイコン21aの位置とは異なっている。この場合、探索部13は、オブジェクト35を仕様オブジェクト20に対応する対象オブジェクトとして特定する。
【0044】
また探索部13は、オブジェクト内のアイコンが仕様オブジェクト内のアイコンと色違いのアイコンの場合、当該オブジェクトを対象オブジェクトとして特定する。これは、形状が一致しているため色の違いは許容するという観点に基づく。例えば、図4(F)に示すように、仕様オブジェクト20では、アイコン21aが所定の色で表示されるところ(図2(A)参照)、オブジェクト36では、アイコン21aと形状及び大きさが一致するものの、その色が異なるアイコン36aが表示されている。この場合、探索部13は、オブジェクト36を仕様オブジェクト20に対応する対象オブジェクトとして特定する。
【0045】
なお、図4(D)~図4(F)を用いて説明した例において、探索部13は、記憶部12又はテスト装置10の外部にあるデータベースが格納するアイコンの情報を参照することで、仕様オブジェクト内のアイコンに対して、相似するアイコンであるか否か、オブジェクト内の位置が異なるか否か、色違いのアイコンであるか否かを判定することができる。
【0046】
図1に戻り、テスト装置10のブロックについて説明する。操作部14は、探索部13により探索された対象オブジェクトを操作する。操作部14は、ユーザによるオブジェクトの操作と同じ操作処理を、対象オブジェクトに対して実行する。例えば、ユーザが押すことが可能なオブジェクトが探索部13により対象オブジェクトとして探索された場合、操作部14は、対象オブジェクトを押すという操作処理を実行する。なお、対象オブジェクトに対する操作処理は、オブジェクトの種別などに応じて決められており、操作部14は、オブジェクトの種別に応じて対象オブジェクトを操作することができる。
【0047】
再起動部15は、操作部14により対象オブジェクトが所定の回数以上操作された後、テストが続行されない場合、機器1を再起動する。テストが続行されないとは、対象オブジェクトが操作部14により操作されてもディスプレイ3の画像が切り替わらないことを含む。再起動部15は、操作部14が対象オブジェクトを操作するたびに、操作回数をカウントアップする。再起動部15は、操作回数が所定の回数以上の場合、機器1が停止して入力情報を受けつかない状態、いわゆるフリーズ状態と判定する。再起動部15は、機器1がフリーズしたと判定すると、機器1を再起動させる。機器1の再起動方法としては、例えば、機器1を強制的に再起動するための強制コマンド処理、機器1を駆動するための電源を落とし、その後、電源を立ち上げる電源制御処理などが挙げられるが、本実施形態では、機器1の再起動方法は特に限定されない。
【0048】
判定部16は、操作部14により対象オブジェクトが操作され、テストが続行された場合、テストの続行について正否を判定する。上述のとおり、対象オブジェクトは仕様オブジェクトとは完全には一致していないため、対象オブジェクトを操作しても、本来想定されているテストが続行できない場合がある。このような場合に備え、判定部16は、続行されたテストが正しいのか否かを判定する。例えば、判定部16は、対象オブジェクトが操作された後にディスプレイ3に表示される画像が、テストフローで定められた画像と一致するか否かを判定することで、テストの続行の正否を判定する。
【0049】
テスト省略部17は、所定の条件を満たした場合、テストフローにおいて、テスト実行部11により機器1の動作が機器1の仕様上の動作と一致しないと判定されたテスト項目よりも後のテスト項目から、機器1をテストする。本実施形態では、所定の条件は、判定部16によりテストの続行が正しくないと判定された場合と、探索部13によりディスプレイ3に表示される画像から対象オブジェクトが見つからない場合を含む。例えば、テスト省略部17は、所定の条件を満たした場合、ディスプレイ3に表示されるオブジェクトを操作したり、機器1に新たなテストパターンを入力させたりする。これにより、テスト実行部11により機器1の動作が機器1の仕様上の動作と一致しないと判定されたテスト項目の次のテスト項目から、テストが続行される。
【0050】
次に、図5図8に示すフローチャートを用いて、テストシステム100により実行されるテストフローについて説明する。図5は、テストシステム100により実行されるテストフローを示すフローチャートである。図5に示すフローチャートに従った処理は、テスト装置10により実行される。
【0051】
ステップS101では、テスト装置10には、機器1の仕様に関する情報が入力される。このステップにおいて、テスト装置10は、ディスプレイ3に表示されるオブジェクトが操作されることで、機器1がディスプレイ3にどのような画像を表示させるかを把握する。
【0052】
ステップS102では、テスト装置10は、ステップS101で入力された機器1の仕様情報に基づき、ディスプレイ3に表示されるオブジェクトの操作手順を決定する。オブジェクトの操作としては、例えば、オブジェクトを押す、オブジェクトに対して所定の情報を入力する、オブジェクトをスクロールさせるなどが挙げられる。
【0053】
ステップS103では、テスト装置10は、ステップS101で入力された機器1の仕様情報とステップS102で決定したオブジェクトの操作手順に基づき、機器1をテストするためのテストスクリプトを作成する。
【0054】
ステップS104では、テスト装置10は、機器1のテストを実行するために、機器1の設定を行う。例えば、テスト装置10は、機器1の電源制御により機器1に電源を投入したり、テストに必要な外部機器と機器1の間の通信状態を確認したりする。
【0055】
ステップS105では、テスト装置10は、ステップS103で作成したテストスクリプトを実行する。ステップS105に進むと、図6に示すサブルーチンのフローチャートに進む。図6に示すサブルーチンを抜けると、テスト装置10によるテストスクリプトの実行が終了し、図5に示すテストシステム100によるテストフローは終了する。
【0056】
図6は、図5に示すステップS105で実行されるサブルーチンを示すフローチャートである。ステップS201では、テスト装置10は、テスト環境情報を所定の記憶装置に格納する。本実施形態では、テスト装置10は、テスト環境情報を記憶部12に格納する。なお、テスト環境情報の格納先は、テスト装置10内に限定されず、テスト装置10とは別個の記憶装置であってもよい。
【0057】
ステップS202では、テスト装置10は、所定のテスト項目について機器1のテストを実行する。例えば、テスト装置10は、機器1がディスプレイ3に画像を表示するように、所定のテスト項目におけるテストパターンを機器1に入力させる。
【0058】
ステップS203では、テスト装置10は、ステップS202で実行したテストの実行結果について判定する。例えば、テスト装置10は、ステップS202で機器1がディスプレイ3に表示させる画像を取得し、取得した画像と期待値画像とを比較することで、機器1の動作が仕様上の動作と一致するか否かを判定する。テスト装置10は、ディスプレイ3に表示される画像が期待値画像と一致する場合、機器1の動作は仕様上の動作と一致する判定する。テスト装置10により肯定的な判定がされた場合、ステップS204に進む。
【0059】
一方、テスト装置10は、ディスプレイ3に表示される画像が期待値画像と一致しない場合、機器1の動作は仕様上の動作と一致していないと判定する。テスト装置10により否定的な判定がされた場合、ステップS206に進む。ステップS206に進むと、図7に示すサブルーチンのフローチャートに進む。図7に示すサブルーチンを抜けると、ステップS204に進む。
【0060】
ステップS203でテスト装置10により肯定的な判定がされた場合、又はステップS206での処理が終了すると、ステップS204に進む。ステップS204では、テスト装置10は、次のテスト項目について、テスト環境情報を読み出す。次のテスト項目とは、ステップS201~ステップS203、及びステップS206で対象となるテスト項目の次に位置するテスト項目である。
【0061】
ステップS205では、テスト装置10は、全てのテスト項目が終了したか否かを判定する。テスト装置10により、テストスクリプトに含まれる全てのテスト項目が終了したと判定された場合、図6に示すサブルーチンを抜け、図5に示すテストシステム100によるテストフローは終了する。
【0062】
一方、テスト装置10により、テストスクリプトに含まれる全てのテスト項目が終了していないと判定された場合、ステップS201に戻る。この場合、テスト装置10は、ステップS205で肯定的な判定がされるまで、ステップS201以降の処理を繰り返し実行する。
【0063】
図7は、図6に示すステップS206で実行されるサブルーチンを示すフローチャートである。ステップS301では、テスト装置10は、図6に示すステップS202で実行したテストのテスト項目において、操作する対象となる仕様オブジェクトを特定する。図5のステップS103で作成されたテストスクリプトは、ステップS102で決定したオブジェクトの操作手順に基づいているため、テスト装置10は、実行しているテストスクリプトから、操作対象の仕様オブジェクトを特定することができる。
【0064】
ステップS302では、テスト装置10は、ディスプレイ3に表示されているオブジェクトがステップS301で特定した仕様オブジェクトと完全に一致するか否かを判定する。テスト装置10は、オブジェクトの要素である、ディスプレイ3に表示される画像上でのオブジェクトの位置、オブジェクト内に表示される文字、及びオブジェクト内に表示されるアイコンについて、ディスプレイ3に表示されているオブジェクトとステップS301で特定した仕様オブジェクトと比較する。
【0065】
ディスプレイ3に表示されているオブジェクトが複数存在する場合、テスト装置10は、ディスプレイ3に表示される画像上での位置が仕様オブジェクトの位置に最も近いオブジェクトを比較対象として特定する。この場合、テスト装置10は、特定したオブジェクトと仕様オブジェクトを比較して一致又は不一致の判定を行う。
【0066】
オブジェクトの全ての要素について、ディスプレイ3に表示されるオブジェクトと仕様オブジェクトが一致する場合、テスト装置10は、ディスプレイ3に表示されているオブジェクトがステップS301で特定した仕様オブジェクトと完全に一致すると判定する。テスト装置10により肯定的な判定がされた場合、ステップS303に進む。
【0067】
一方、オブジェクトの要素のうちいずれかの要素について、ディスプレイ3に表示されるオブジェクトと仕様オブジェクトが一致しない場合、テスト装置10は、ディスプレイ3に表示されているオブジェクトがステップS301で特定した仕様オブジェクトと完全には一致しないと判定する。テスト装置10により否定的な判定がされた場合、ステップS306に進む。
【0068】
ステップS302で肯定的な判定がされた場合、ステップS303に進む。ステップS303では、テスト装置10は、オブジェクトを操作する。テスト装置10が操作するオブジェクトは、このステップにいずれかのステップから進んだかに応じて異なる。
【0069】
例えば、ステップS302からステップS303に進んだ場合、テスト装置10は、ステップS302で仕様オブジェクトと完全に一致したと判定されたオブジェクトを操作する。また例えば、後述するステップS306、ステップS308、又はステップS309からステップS303に進んだ場合、テスト装置10は、各ステップで特定された対象オブジェクトを操作する。
【0070】
ステップS304では、テスト装置10は、ステップS303でのオブジェクトの操作によってディスプレイ3の画面表示が変更されたか否かを判定する。画面表示の変更とは、ディスプレイ3に表示される画像が、ステップS301でディスプレイ3に表示されている画像から変更したことを意味する。例えば、テスト装置10は、ステップS301でディスプレイ3に表示されている画像と、ステップS303でオブジェクトを操作した後にディスプレイ3に表示されている画像とを比較することで、ディスプレイ3の画面表示が変更したか否かを判定することができる。テスト装置10により肯定的な判定がされた場合、ステップS305に進む。
【0071】
一方、テスト装置10により否定的な判定がされた場合、ステップS312に進む。ステップS312に進むと、図8に示すサブルーチンのフローチャートに進む。図8に示すサブルーチンを抜けると、図7に示すサブルーチンも抜ける。
【0072】
ステップS304で肯定的な判定がされた場合、ステップS305に進む。ステップS305では、テスト装置10は、ステップS303でのオブジェクトの操作によって変更されたディスプレイ3の画面表示について、当該画面表示の正否を判定する。例えば、テスト装置10は、ディスプレイ3に表示されるタイトルの正否を判定することで、ディスプレイ3の画面表示の正否を判定する。テスト装置10によりディスプレイ3の画面表示が正しいと判定された場合、図7に示すサブルーチンを抜ける。一方、テスト装置10によりディスプレイ3の画面表示が正しくないと判定された場合、ステップS311に進む。
【0073】
ステップS302でテスト装置10により否定的な判定がされた場合、ステップS306に進む。ステップS306~ステップS309での処理は、オブジェクトの所定の要素に基づいて、対象オブジェクトを探索するテスト装置10の探索処理に対応する。ステップS306及びステップS307での処理は、オブジェクトの位置に基づいて、対象オブジェクトを探索する処理である。またステップS308及びステップS309での処理は、オブジェクト内に表示される文字及びアイコンに基づいて、対象オブジェクトを探索するテスト装置10の探索処理に対応する。
【0074】
ステップS306では、テスト装置10は、ディスプレイ3の画面において、本来想定されている仕様オブジェクトの位置の周辺に、オブジェクトが存在するか否かを判定する。テスト装置10により、オブジェクトが仕様上の位置の周辺に存在すると判定された場合、ステップS303に進む。この場合、テスト装置10は、仕様上の位置の周辺に存在するオブジェクトを、対象オブジェクトとして特定する。オブジェクトが仕様上の位置の周辺に存在する例としては、図3(B)を用いて説明したオブジェクト21が挙げられる。一方、テスト装置10により、オブジェクトが仕様上の位置の周辺に存在しないと判定された場合、ステップS307に進む。
【0075】
ステップS306でテスト装置10により否定的な判定がされた場合、ステップS307に進む。ステップS307では、テスト装置10は、ディスプレイ3の画面内でのオブジェクトの存否を判定する。テスト装置10により、オブジェクトがディスプレイ3の画面内に存在すると判定された場合、ステップS308に進む。オブジェクトがディスプレイ3の画面内に存在する例としては、図3(C)を用いて説明したオブジェクト22が挙げられる。一方、テスト装置10により、オブジェクトがディスプレイ3の画面内に存在しないと判定された場合、ステップS310に進む。
【0076】
ステップS307で肯定的な判定がされた場合、ステップS308に進む。ステップS308では、テスト装置10は、ステップS307で特定したオブジェクトについて、オブジェクト内に表示される文字列から、仕様オブジェクトとして許容できるか否かを判定する。テスト装置10により、ステップS307で特定したオブジェクトを仕様オブジェクトとして許容できると判定された場合、ステップS303に進む。この場合、テスト装置10は、許容したオブジェクトを、対象オブジェクトとして特定する。オブジェクト内に表示される文字列から、仕様オブジェクトとして許容できる例としては、図4(A)~図4(C)を用いて説明したオブジェクト31~オブジェクト33が挙げられる。一方、テスト装置10により、ステップS307で特定したオブジェクトを仕様オブジェクトとして許容できないと判定された場合、ステップS309に進む。
【0077】
ステップS308でテスト装置10により否定的な判定がされた場合、ステップS309に進む。ステップS309では、テスト装置10は、ステップS307で特定したオブジェクトについて、オブジェクト内に表示されるアイコンから、仕様オブジェクトとして許容できるか否かを判定する。テスト装置10により、ステップS307で特定したオブジェクトを仕様オブジェクトとして許容できると判定された場合、ステップS303に進む。この場合、テスト装置10は、許容したオブジェクトを、対象オブジェクトとして特定する。オブジェクト内に表示されるアイコンから、仕様オブジェクトとして許容できる例としては、図4(D)~図4(F)を用いて説明したオブジェクト34~オブジェクト36が挙げられる。一方、テスト装置10により、ステップS307で特定したオブジェクトを仕様オブジェクトとして許容できないと判定された場合、ステップS310に進む。
【0078】
ステップS309でテスト装置10により否定的な判定がされた場合、ステップS310に進む。ステップS310では、テスト装置10は、現在実行中のテスト項目を省略する。例えば、ディスプレイ3に表示されるオブジェクトを操作したり、機器1に新たなテストパターンを入力させたりする。ステップS310での処理が終了すると、図7に示すサブルーチンを抜ける。このステップは、ディスプレイ3の画面内にオブジェクトが存在しない場合や、ディスプレイ3の画面内に仕様オブジェクト20とは外見上許容できないオブジェクトが存在する場合に対して、テスト項目をスキップするための処理である。
【0079】
ステップS305でテスト装置10により否定的な判定がされた場合、ステップS311に進む。ステップS311では、テスト装置10は、現在実行中のテスト項目を省略する。例えば、ディスプレイ3に表示されるオブジェクトを操作したり、機器1に新たなテストパターンを入力させたりする。ステップS311での処理が終了すると、図7に示すサブルーチンを抜ける。このステップは、仕様オブジェクト20と許容できる対象オブジェクトを操作したものの、テストを正しく続行できない場合に対して、テスト項目をスキップするための処理である。
【0080】
図8は、図7に示すステップS312で実行されるサブルーチンを示すフローチャートである。ステップS401では、テスト装置10は、図7に示すステップS304で否定的な判定がされた回数、すなわち、ステップS303でのオブジェクトの操作によってディスプレイ3の画面表示が変更されない回数が所定の回数以上であるか否かを判定する。テスト装置10は、ステップS304での処理を実行した回数をカウントすることで、画面表示が変わらない回数をカウントすることができる。画面表示が変わらない回数が所定の回数未満の場合、ステップS402に進む。一方、画面表示が変わらない回数が所定の回数以上の場合、ステップS403に進む。なお、このステップにおける所定回数は、機器1がフリーズ状態であるか否かを判定するための回数であって、予め定められた回数である。
【0081】
ステップS401でテスト装置10により否定的な判定がされた場合、ステップS402に進む。ステップS402では、テスト装置10は、図7に示すステップS303でのオブジェクトの操作回数をカウントアップする。ステップS402での処理が終了すると、図7に示すステップS303に進み、再度オブジェクトが操作される。
【0082】
ステップS401でテスト装置10により肯定的な判定がされた場合、ステップS403に進む。ステップS403では、テスト装置10は、機器1がフリーズ状態と判定する。ステップS404では、テスト装置10は、ステップS403での判定が所定回数以上であるか否か、すなわち、機器1がフリーズした回数が所定の回数以上であるか否かを判定する。機器1がフリーズした回数が所定の回数未満の場合、ステップS405に進む。一方、機器1がフリーズした回数が所定の回数以上の場合、ステップS409に進む。なお、このステップにおける所定回数は、機器1のテストを中止するか否かを判定するための回数であって、予め定められた回数である。
【0083】
ステップS404でテスト装置10により否定的な判定がされた場合、ステップS405に進む。ステップS405では、テスト装置10は、ステップS403で機器1がフリーズしたと判定した回数をカウントアップする。ステップS406では、テスト装置10は、機器1を再起動させる。例えば、テスト装置10は、機器1の電源を再投入する。
【0084】
ステップS407では、テスト装置10は、図6に示すステップ203で機器1の動作が仕様上の動作と一致しないと判定されたテスト項目について、テスト環境情報を記憶部12から読み出す。テスト装置10は、図6に示すステップ201で記憶部12に格納したテスト環境情報を読み出す。ステップS408では、テスト装置10は、ステップS407で読みだしたテスト環境情報に基づき、図6に示すステップ203で機器1の動作が仕様上の動作と一致しないと判定された際の画像をディスプレイ3に表示させる。ステップS408での処理が終了すると、図8に示すサブルーチンを抜ける。
【0085】
ステップS404で肯定的な判定がされた場合、ステップS409に進む。ステップS409では、テスト装置10は、機器1のテストを中止し、図5に示すテストシステム100によるテストフローは終了する。
【0086】
以上のように、本実施形態に係るテスト装置10は、機器1のテスト項目及び機器1によりディスプレイ3に表示されるオブジェクトの操作手順を含むテストフローに沿って、機器1をテストするテスト実行部11と、機器1の仕様上のオブジェクトである仕様オブジェクトの情報を記憶する記憶部12と、所定のテスト項目で機器1の仕様と一致しないテスト結果が得られた場合、ディスプレイ3に表示される画像から、仕様オブジェクトに対応するオブジェクトとして対象オブジェクトを探索する探索部13と、対象オブジェクトを操作する操作部14と、を備える。所定のテスト項目で機器1の仕様と一致しないテスト結果が得られた場合、対象オブジェクトの操作によりテストフローに沿ってテストを続行できるため、ユーザの存否にかかわらず、未実施のテスト項目をテストすることができる。その結果、機器1の完成度の如何にかかわらず、テストフローに沿ったテストを実行することができ、テスト項目の有効な実施率を向上させることができる。また、機器1に対する開発効率を高めることができる。
【0087】
また、本実施形態では、探索部13は、オブジェクトの所定の要素に基づいて、ディスプレイ3に表示される画像から対象オブジェクトを探索する。オブジェクトの所定の要素は、ディスプレイ3に表示される画像上でのオブジェクトの位置、オブジェクト内に表示される文字、及びオブジェクト内に表示されるアイコンのうち少なくともいずれか一つを含む。これにより、例えば、機器1の完成度が低く、所定のテスト項目で機器1の仕様と一致しないテスト結果が得られた場合でも、オブジェクトの要素から仕様オブジェクトと許容できる対象オブジェクトを精度よく探索することができる。
【0088】
さらに、本実施形態では、仕様オブジェクトは、ディスプレイ3に表示される画像上で所定の位置に表示され、探索部13は、仕様オブジェクトの位置から所定の探索範囲R内に位置するオブジェクトを、対象オブジェクトとして特定する。これにより、オブジェクトの外見が仕様オブジェクトとは異なっている場合であっても、仕様オブジェクトの周辺に位置するオブジェクトの操作によって、機器1のテストを継続させることができる。
【0089】
加えて、本実施形態では、探索範囲Rは、仕様オブジェクトがディスプレイ3に表示される画像で占有する領域よりも広く、かつ、当該画像の全領域よりも狭い範囲である。これにより、オブジェクトの外見にかかわらず、仕様オブジェクトの周辺に位置するオブジェクトの操作によって、機器1のテストを継続させることができる。
【0090】
また、本実施形態では、仕様オブジェクトは文字列を含み、探索部13は、仕様オブジェクト内の文字列と一致又は類似する文字列を含むオブジェクトを、対象オブジェクトとして特定する。これにより、オブジェクトの位置が仕様オブジェクトとは異なる状態で機器1をテストしても、文字列から仕様オブジェクトとして許容できる対象オブジェクトの操作によって、機器1のテストを継続させることができる。
【0091】
さらに、本実施形態では、対象オブジェクト内の文字列は、仕様オブジェクト内の文字列を翻訳した文字列、仕様オブジェクト内の文字列と同義語の文字列、仕様オブジェクト内の文字列と類義語の文字列、仕様オブジェクト内の文字列と反対語の前記文字列、及び、仕様オブジェクト内の文字列から一文字が変換された文字列のうちいずれかである。これにより、オブジェクト内の文字列が仕様オブジェクトとは異なる状態で機器1をテストしても、対象オブジェクトを特定することができ、機器1のテストを継続させることができる。
【0092】
加えて、本実施形態では、仕様オブジェクトはアイコンを含み、探索部13は、仕様オブジェクト内のアイコンと一致又は類似するアイコンを含むオブジェクトを、対象オブジェクトとして特定する。これにより、オブジェクト内のアイコンが仕様オブジェクトとは異なる状態で機器1をテストしても、対象オブジェクトを特定することができ、機器1のテストを継続させることができる。
【0093】
また、本実施形態では、対象オブジェクト内のアイコンは、仕様オブジェクト内のアイコンに相似するアイコン、及び仕様オブジェクト内のアイコンと色違いのアイコンのうちいずれかである。これにより、オブジェクト内のアイコンが仕様オブジェクトとは異なる状態で機器1をテストしても、対象オブジェクトを特定することができ、機器1のテストを継続させることができる。
【0094】
さらに、本実施形態では、対象オブジェクト内でのアイコンの位置は、仕様オブジェクト内でのアイコンの位置から所定の範囲内である。これにより、オブジェクト内のアイコンが仕様オブジェクトとは異なる状態で機器1をテストしても、対象オブジェクトを特定することができ、機器1のテストを継続させることができる。
【0095】
加えて、本実施形態に係るテスト装置10は、操作部14により対象オブジェクトが所定の回数以上操作された後、機器1のテストが続行されない場合、機器1を再起動する再起動部15を備える。これにより、対象オブジェクトの探索精度が低く、テストが続行できない場合であっても、オブジェクトを操作することができず、テストの実質的な停止状態に陥ることを抑制することができる。
【0096】
また、本実施形態では、記憶部12は、テスト項目ごとに、機器1をテストするためのテスト環境情報を記憶し、再起動部15は、機器1を再起動した後、機器1の仕様と一致しないテスト結果が得られたテスト項目でのテスト環境情報を、記憶部12から読み出す。これにより、機器1を再起動した後、機器1の状態を、機器1の仕様と一致しないテスト結果が得られた状態に戻すことができる。その結果、最初のテスト項目から繰り返し実行されるのを防ぎ、テスト実行率を向上させることができる。
【0097】
さらに、本実施形態に係るテスト装置10は、操作部14により対象オブジェクトが操作され、機器1のテストが続行された場合、テストの続行について正否を判定する判定部16と、判定部16によりテストの続行が正しくないと判定された場合、テストフローにおいて、機器1の仕様と一致しないテスト結果が得られたテスト項目よりも後のテスト項目から、機器をテストするテスト省略部17を備える。これにより、オブジェクトに紐づく画像のリンク先が誤った状態で機器1をテストしても、所定のテスト項目でテストの実質的な停止状態に陥ることを防ぎ、所定のテスト項目以降のテスト項目についてテストすることができる。
【0098】
加えて、本実施形態では、テスト省略部17は、探索部13によりディスプレイ3に表示される画像から対象オブジェクトが見つからない場合、テストフローにおいて、機器1の仕様と一致しないテスト結果が得られたテスト項目よりも後のテスト項目から、機器をテストする。これにより、オブジェクトが存在しない状態で機器1をテストしても、所定のテスト項目でテストの実質的な停止状態に陥ることを防ぎ、未実施のテスト項目についてテストすることができる。
【0099】
なお、以上に説明した実施形態は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。したがって、上記の実施形態に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物をも含む趣旨である。
【0100】
例えば、上述した実施形態では、機器1としてカーナビゲーション用のECUを例に挙げて説明したが、機器1はこれに限定されない。機器1は、ディスプレイ3に画像を表示させる機能と、ディスプレイ3に表示されるオブジェクトが操作されることで情報が入力される機能とを備えている機器であればよい。
【符号の説明】
【0101】
100…テストシステム
1…機器
2…表示制御装置
3…ディスプレイ
10…テスト装置
11…テスト実行部
12…記憶部
13…探索部
14…操作部
15…再起動部
16…判定部
17…テスト省略部
図1
図2
図3
図4
図5
図6
図7
図8