(57)【要約】  画像生成装置（１０）において、取得部（１１０）は、テスト対象のソフトウェアが第１の動作環境で動作した場合に表示される第１の画像であって、第１の動作環境と第１の動作環境とは異なる第２の動作環境とで表示が異なる部品の画像を含む第１の画像を取得する。生成部（１２０）は、取得部（１１０）により取得された第１の画像から、第１の画像に含まれる部品の画像が第２の動作環境での部品の画像に置換された第２の画像を生成する。
2020202337.tif 000002
【特許請求の範囲】
【請求項１】
テスト対象のソフトウェアが第１の動作環境で動作した場合に表示される第１の画像であって、前記第１の動作環境と前記第１の動作環境とは異なる第２の動作環境とで表示が異なる部品の画像を含む前記第１の画像を取得する取得手段と、
前記取得手段により取得された前記第１の画像から、前記第１の画像に含まれる前記部品の画像が前記第２の動作環境での前記部品の画像に置換された第２の画像を生成する生成手段と、を備える、
画像生成装置。
【請求項２】
前記生成手段は、
前記取得手段により取得された前記第１の画像のうちから前記部品を特定する特定手段と、
前記取得手段により取得された前記第１の画像に含まれる、前記特定手段により特定された前記部品の画像を、前記第２の動作環境での前記部品の画像に置換することにより、前記第２の画像を生成する置換手段と、を備える、
請求項１に記載の画像生成装置。
【請求項３】
前記第１の動作環境と前記第２の動作環境とで表示が異なる複数の部品のそれぞれについて、前記第１の動作環境での画像と前記第２の動作環境での画像とを記憶している部品画像記憶手段、を更に備え、
前記特定手段は、前記部品画像記憶手段に記憶されている前記複数の部品の前記第１の動作環境での画像と、前記取得手段により取得された前記第１の画像と、に基づいて、前記第１の画像のうちから前記部品を特定し、
前記置換手段は、前記取得手段により取得された前記第１の画像に含まれる、前記特定手段により特定された前記部品の画像を、前記部品画像記憶手段に記憶されている、前記特定手段により特定された前記部品の前記第２の動作環境での画像に置換する、
請求項２に記載の画像生成装置。
【請求項４】
前記生成手段は、前記取得手段により取得された前記第１の画像から部分画像を切り出す切り出し手段、を更に備え、
前記特定手段は、前記部品画像記憶手段に記憶されている前記複数の部品の前記第１の動作環境での画像と、前記切り出し手段により切り出された前記部分画像と、に基づいて、前記部分画像のうちから前記部品を特定する、
請求項３に記載の画像生成装置。
【請求項５】
前記切り出し手段は、前記取得手段により取得された前記第１の画像に含まれる画素の色に基づいて、前記第１の画像のうちから前記部品に対応する領域を判別し、判別された前記領域の画像を前記部分画像として前記第１の画像から切り出す、
請求項４に記載の画像生成装置。
【請求項６】
前記第１の動作環境と前記第２の動作環境とで表示が異なる複数の部品のそれぞれについて、前記第１の動作環境での表示位置と色とサイズとのうちの少なくとも１つの情報を記憶している部品情報記憶手段、を更に備え、
前記特定手段は、前記部品情報記憶手段に記憶されている前記情報に基づいて、前記取得手段により取得された前記第１の画像のうちから、前記部品を特定する、
請求項２から５のいずれか１項に記載の画像生成装置。
【請求項７】
前記生成手段により生成された前記第２の画像の解像度とアスペクト比とのうちの少なくとも一方を、前記第２の動作環境での値に変更する変更手段、を更に備える、
請求項１から６のいずれか１項に記載の画像生成装置。
【請求項８】
前記部品は、前記第１の動作環境と前記第２の動作環境とでデザインが異なる部品である、
請求項１から７のいずれか１項に記載の画像生成装置。
【請求項９】
請求項１から８のいずれか１項に記載の画像生成装置と、テスト装置と、を備えるテストシステムであって、
前記テスト装置は、
前記ソフトウェアを前記第２の動作環境で動作させるソフトウェア動作手段と、
前記ソフトウェア動作手段により前記ソフトウェアが前記第２の動作環境で動作した場合に表示される画像と、前記画像生成装置により生成された前記第２の画像と、に基づいて得られた、前記ソフトウェアのテスト結果を出力する出力手段と、を備える、
テストシステム。
【請求項１０】
テスト対象のソフトウェアが第１の動作環境で動作した場合に表示される第１の画像のうちから、前記第１の動作環境と前記第１の動作環境とは異なる第２の動作環境とで表示が異なる部品を特定し、
前記第１の画像に含まれる前記部品の画像を前記第２の動作環境での前記部品の画像に置換することにより、前記第１の画像から、前記ソフトウェアが前記第２の動作環境で動作した場合に表示される第２の画像を生成する、
画像生成方法。
【請求項１１】
コンピュータを、
テスト対象のソフトウェアが第１の動作環境で動作した場合に表示される第１の画像であって、前記第１の動作環境と前記第１の動作環境とは異なる第２の動作環境とで表示が異なる部品の画像を含む前記第１の画像を取得する取得手段、
前記取得手段により取得された前記第１の画像から、前記第１の画像に含まれる前記部品の画像が前記第２の動作環境での前記部品の画像に置換された第２の画像を生成する生成手段、として機能させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成装置、テストシステム、画像生成方法及びプログラムに関する。
【背景技術】
【０００２】
ソフトウェアのテストを効率化する手法が知られている。例えば、特許文献１は、アプリケーションへの操作コマンドで得られる操作画面を予測画面と照合することで試験の合否を判定するアプリケーション試験装置を開示している。より詳細には、特許文献１に開示されたアプリケーション試験装置は、実行環境の違いにより部品の表示位置が異なる場合であっても操作画面を予測画面と照合することができるように、部品の表示位置を補正する。また、特許文献２は、異なる環境での表示結果を示す画像を比較することにより、テストの合否を判定する合否判定装置を開示している。より詳細には、特許文献２に開示された合否判定装置は、環境によってサイズが異なる画像同士を比較できるようにするため、画像のサイズを変更する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１７３６１９号公報
【特許文献２】特開２０１７−１３８７１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のようなソフトウェアのテストにおいて、テスト対象のソフトウェアが動作した場合に表示される画像がソフトウェアの動作環境によって異なる場合がある。このような場合、テスト対象のソフトウェアが動作した場合に表示される画像と比較してテスト結果を判定するための画像を、ソフトウェアの動作環境の個数分、用意する必要がある。そのため、テストの工数が多くなり、作業者に大きな負担がかかるとの課題がある。【０００５】
本発明は、上述のような課題を解決するためになされたものであり、ソフトウェアのテストの工数を削減することが可能な画像生成装置等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明に係る画像生成装置は、
テスト対象のソフトウェアが第１の動作環境で動作した場合に表示される第１の画像であって、前記第１の動作環境と前記第１の動作環境とは異なる第２の動作環境とで表示が異なる部品の画像を含む前記第１の画像を取得する取得手段と、
前記取得手段により取得された前記第１の画像から、前記第１の画像に含まれる前記部品の画像が前記第２の動作環境での前記部品の画像に置換された第２の画像を生成する生成手段と、を備える。
【発明の効果】
【０００７】
本発明は、テスト対象のソフトウェアが第１の動作環境で動作した場合に表示される第１の画像から、第１の動作環境と第２の動作環境とで表示が異なる部品の画像が第２の動作環境での部品の画像に置換された第２の画像を生成する。従って、本発明によれば、ソフトウェアのテストの工数を削減することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態１に係るテストシステムの全体構成を示す図
【図２】実施の形態１に係る画像生成装置のハードウェア構成を示すブロック図
【図３】実施の形態１に係るテスト装置のハードウェア構成を示すブロック図
【図４】実施の形態１に係る画像生成装置及びテスト装置の機能的な構成を示すブロック図
【図５】実施の形態１における第１の動作環境での期待結果画像の例を示す図
【図６】実施の形態１における部品画像ＤＢに記憶されている情報の例を示す図
【図７】実施の形態１において、入力画像のうちから環境依存部品が特定された例を示す図
【図８】実施の形態１において、環境依存部品の画像が置換された期待結果画像の例を示す図
【図９】実施の形態１における画面情報ＤＢに記憶されている情報の例を示す図
【図１０】実施の形態１に係るテスト装置により出力されるテスト結果の表示例を示す図
【図１１】実施の形態１に係る画像生成装置により実行される処理の流れを示すフローチャート
【図１２】実施の形態１に係るテスト装置により実行される処理の流れを示すフローチャート
【図１３】本発明の実施の形態２に係る画像生成装置の機能的な構成を示すブロック図
【図１４】実施の形態２において、入力画像から部分画像が切り出された例を示す図
【図１５】本発明の実施の形態３に係る画像生成装置の機能的な構成を示すブロック図
【図１６】実施の形態３における部品情報ＤＢに記憶されている情報の例を示す図
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一又は相当部分には同一符号を付す。
【００１０】
（実施の形態１）
図１に、実施の形態１に係るテストシステム１の全体構成を示す。テストシステム１は、複数の異なる動作環境においてソフトウェアの動作をテストするためのシステムである。図１に示すように、テストシステム１は、画像生成装置１０と、テスト装置３０と、を備える。画像生成装置１０及びテスト装置３０は、いずれも、パーソナルコンピュータ、タブレット端末、サーバ等の情報処理装置である。
【００１１】
画像生成装置１０は、テスト対象のソフトウェアが特定の動作環境で動作した場合における期待結果画像Ａ１を入力として受け付けて、そのソフトウェアが互いに異なる複数の動作環境で動作した場合における複数の期待結果画像Ａ１，Ａ２，Ａ３…を出力する。図２に示すように、画像生成装置１０は、制御部１１と、記憶部１２と、操作部１３と、表示部１４と、通信部１５と、を備える。これら各部は通信バスを介して接続されている。
【００１２】
制御部１１は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）を備える。ＣＰＵは、中央処理装置、中央演算装置、プロセッサ、マイクロプロセッサ、マイクロコンピュータ、ＤＳＰ（Digital Signal Processor）等とも呼び、画像生成装置１０の制御に係る処理及び演算を実行する中央演算処理部である。制御部１１において、ＣＰＵは、ＲＯＭに格納されているプログラム及びデータを読み出し、ＲＡＭをワークエリアとして用いて、画像生成装置１０を統括制御する。
【００１３】
記憶部１２は、フラッシュメモリ、ＥＰＲＯＭ（Erasable Programmable ROM）、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）等の不揮発性の半導体メモリであって、いわゆる二次記憶装置又は補助記憶装置としての役割を担う。記憶部１２は、制御部１１が各種処理を行うために使用するプログラム及びデータを記憶する。また、制御部１１が各種処理を行うことにより生成又は取得するデータを記憶する。
【００１４】
操作部１３は、キーボード、マウス、ボタン、タッチパッド、タッチパネル等の入力デバイスを備えており、ユーザから操作を受け付ける。ユーザは、操作部１３を操作することによって、様々な指示を画像生成装置１０に入力することができる。操作部１３は、ユーザから入力された操作指示を受け付けると、受け付けた操作指示を制御部１１に送信する。
【００１５】
表示部１４は、液晶ディスプレイ、有機ＥＬ（Electro Luminescence）ディスプレイ等の表示デバイスを備える。表示部１４は、図示しない表示駆動回路によって駆動され、制御部１１による制御のもとで様々な画像を表示する。
【００１６】
通信部１５は、テスト装置３０を含む外部の装置と通信するための通信インタフェースを備える。通信部１５は、外部の装置との間で、有線ＬＡＮ（Local Area Network）、無線ＬＡＮ、ＵＳＢ（Universal Serial Bus）、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の周知の通信規格に則って通信する。
【００１７】
図１に戻って、テスト装置３０は、画像生成装置１０により出力された期待結果画像Ａ１，Ａ２，Ａ３…を入力として受け付けて、ソフトウェアのテストを実行する。図３に示すように、テスト装置３０は、制御部３１と、記憶部３２と、操作部３３と、表示部３４と、通信部３５と、を備える。これら各部は通信バスを介して接続されている。
【００１８】
制御部３１は、ＣＰＵ、ＲＯＭ及びＲＡＭを備える。ＣＰＵは、中央処理装置、中央演算装置、プロセッサ、マイクロプロセッサ、マイクロコンピュータ、ＤＳＰ等とも呼び、テスト装置３０の制御に係る処理及び演算を実行する中央演算処理部である。制御部３１において、ＣＰＵは、ＲＯＭに格納されているプログラム及びデータを読み出し、ＲＡＭをワークエリアとして用いて、テスト装置３０を統括制御する。
【００１９】
記憶部３２は、フラッシュメモリ、ＥＰＲＯＭ、ＥＥＰＲＯＭ等の不揮発性の半導体メモリであって、いわゆる二次記憶装置又は補助記憶装置としての役割を担う。記憶部３２は、制御部３１が各種処理を行うために使用するプログラム及びデータを記憶する。また、制御部３１が各種処理を行うことにより生成又は取得するデータを記憶する。
【００２０】
操作部３３は、キーボード、マウス、ボタン、タッチパッド、タッチパネル等の入力デバイスを備えており、ユーザから操作を受け付ける。ユーザは、操作部３３を操作することによって、様々な指示をテスト装置３０に入力することができる。操作部３３は、ユーザから入力された操作指示を受け付けると、受け付けた操作指示を制御部３１に送信する。
【００２１】
表示部３４は、液晶ディスプレイ、有機ＥＬディスプレイ等の表示デバイスを備える。表示部３４は、図示しない表示駆動回路によって駆動され、制御部３１による制御のもとで様々な画像を表示する。
【００２２】
通信部３５は、画像生成装置１０を含む外部の装置と通信するための通信インタフェースを備える。通信部３５は、外部の装置との間で、有線ＬＡＮ、無線ＬＡＮ、ＵＳＢ、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の周知の通信規格に則って通信する。
【００２３】
次に、図４を参照して、画像生成装置１０及びテスト装置３０の機能的な構成について説明する。図４に示すように、画像生成装置１０は、機能的に、取得部１１０と、生成部１２０と、変更部１３０と、出力部１４０と、を備える。生成部１２０は、特定部１２１と、置換部１２２と、の機能を含んでいる。これらの各機能は、ソフトウェア、ファームウェア、又は、ソフトウェアとファームウェアとの組み合わせによって実現される。ソフトウェア及びファームウェアは、プログラムとして記述され、ＲＯＭ又は記憶部１２に格納される。そして、ＣＰＵが、ＲＯＭ又は記憶部１２に記憶されたプログラムを実行することによって、これらの各機能を実現する。
【００２４】
また、画像生成装置１０は、部品画像ＤＢ（DataBase）２１０と、画面情報ＤＢ２２０と、を備える。これらのデータベースは、記憶部１２内の適宜の記憶領域に構築されており、それぞれ部品画像記憶手段及び画面情報記憶手段として機能する。
【００２５】
取得部１１０は、入力画像として、テスト対象のソフトウェアが第１の動作環境Ｘ１で動作した場合に表示される期待結果画像Ａ１を取得する。期待結果画像Ａ１は、第１の動作環境Ｘ１とは異なる第２、第３…の動作環境Ｘ２，Ｘ３…での期待結果画像Ａ２，Ａ３…を生成するための元になる第１の画像である。
【００２６】
テスト対象のソフトウェアは、テストシステム１において動作がテストされるソフトウェアである。テスト対象のソフトウェアは、一例として、ＧＵＩ（Graphical User Interface）画面を持つＧＵＩソフトウェアである。テスト対象のソフトウェアの例として、スマートフォンで動作するアプリケーションソフトウェア、ブラウザで表示されるウェブアプリケーションソフトウェア等が挙げられる。
【００２７】
動作環境とは、テスト対象のソフトウェアが動作するコンピュータ上の環境を意味する。動作環境の例として、コンピュータのＯＳ（Operating System）、ＯＳのバージョン、画面解像度等が挙げられる。例えば、テスト対象のソフトウェアがスマートフォンで動作する場合には、ＯＳは、ＡｎｄｒｏｉｄＯＳ（登録商標）、ｉＯＳ（登録商標）等である。或いは、テスト対象のソフトウェアがパーソナルコンピュータで動作する場合には、ＯＳは、Ｗｉｎｄｏｗｓ（登録商標）、ＭａｃＯＳ（登録商標）、Ｌｉｎｕｘ（登録商標）等である。
【００２８】
期待結果画像とは、テスト対象のソフトウェアが正常に動作した場合に画面に表示される画像を意味する。言い換えると、期待結果画像は、テスト対象のソフトウェアが動作した場合に画面に表示されることが期待される画像である。
【００２９】
期待結果画像は、テスト対象のソフトウェアが正常に動作するか否かを判定するために、そのソフトウェアが実際に動作した場合に表示される画像と比較される。具体的には、テスト対象のソフトウェアが実際に動作した場合に表示される画像が期待結果画像と合致する場合には、そのソフトウェアの動作は正常であると判定される。これに対して、テスト対象のソフトウェアが実際に動作した場合に表示される画像が期待結果画像と合致しない場合には、そのソフトウェアの動作が正常ではない、すなわち何らかの異常が発生していると判定される。
【００３０】
図５に、取得部１１０により取得される期待結果画像Ａ１の例を示す。期待結果画像Ａ１は、一例として、スマートフォン上でアプリケーションソフトウェアが動作した場合に表示される画像である。図５に示すように、期待結果画像Ａ１は、その上側の領域にステータスバーである部品Ｐ１と、その下側の領域にナビゲーションバーである部品Ｐ２と、を含んでいる。
【００３１】
期待結果画像Ａ１は、テスト装置３０において、第１の動作環境Ｘ１でテスト対象のソフトウェアが実行されることにより生成される。言い換えると、期待結果画像Ａ１は、テスト装置３０のソフトウェア動作部３２０がテスト対象のソフトウェアを動作させた場合に、その結果として画面に表示された画像に相当する。
【００３２】
取得部１１０は、通信部１５を介してテスト装置３０と通信することにより、テスト装置３０により生成された期待結果画像Ａ１を取得する。或いは、取得部１１０は、テスト装置３０により生成された期待結果画像Ａ１を可搬型の記録媒体を介して取得しても良い。可搬型の記録媒体とは、ＣＤ（Compact Disc）−ＲＯＭ、ＤＶＤ（Digital Versatile Disc）−ＲＯＭ、ＵＳＢ規格のコネクタが備えられているフラッシュメモリ等である。取得部１１０により取得される期待結果画像Ａ１の圧縮形式は、ｐｎｇ形式、ｊｐｅｇ形式、ｇｉｆ形式等、どのような形式であっても良い。取得部１１０は、制御部１１が通信部１５等と協働することにより実現される。取得部１１０は、取得手段として機能する。
【００３３】
図４に戻って、生成部１２０は、取得部１１０により取得された第１の画像である期待結果画像Ａ１から、それぞれ第２、第３…の画像である期待結果画像Ａ２，Ａ３…を生成する。生成部１２０は、制御部１１が記憶部１２等と協働することにより実現される。生成部１２０は、生成手段として機能する。
【００３４】
ここで、期待結果画像Ａ２，Ａ３…は、それぞれ、テスト対象のソフトウェアが、第１の動作環境Ｘ１とは異なる第２、第３…の動作環境Ｘ２，Ｘ３…で動作した場合に画面に表示されることが期待される画像である。期待結果画像Ａ１，Ａ２，Ａ３…は、それぞれ、テスト対象のソフトウェアが期待通りに動作するか否かをテストするために、そのソフトウェアが動作環境Ｘ１，Ｘ２，Ｘ３…で実際に動作した場合に表示される画像と比較される。
【００３５】
具体的に説明すると、同一のソフトウェアが動作した場合であっても、動作環境が異なると、画面に表示される画像が異なる場合がある。このように表示される画像が動作環境に依存する場合、ソフトウェアの動作をテストするためには、動作環境の個数分の期待結果画像を用意する必要がある。例えば、テスト対象のソフトウェアが異なる３つの動作環境で動作する場合には、３つの動作環境のそれぞれにおいて期待結果画像が必要となる。
【００３６】
そのため、生成部１２０は、１つの動作環境Ｘ１における期待結果画像Ａ１から、別の動作環境Ｘ２，Ｘ３…における期待結果画像Ａ２，Ａ３…を生成する。これにより、生成部１２０は、テスト装置３０でテストを実行するために必要となる複数の期待結果画像Ａ１，Ａ２，Ａ３…を得る。１つの期待結果画像Ａ１を用意することで、テストに必要な全ての期待結果画像Ａ１，Ａ２，Ａ３…を得ることができるため、ソフトウェアのテストの効率化が図られる。
【００３７】
より詳細には、生成部１２０は、期待結果画像Ａ１から期待結果画像Ａ２，Ａ３…を生成するために、特定部１２１及び置換部１２２の機能を有する。特定部１２１は、取得部１１０により取得された期待結果画像Ａ１のうちから環境依存部品を特定する。
【００３８】
ここで、環境依存部品とは、ソフトウェアが動作した場合に表示される画像に含まれる部品の中で、その表示がソフトウェアの動作環境に依存する部品を意味する。言い換えると、環境依存部品は、ソフトウェアの動作環境が第１の動作環境Ｘ１であるか、第２の動作環境Ｘ２であるか、第３の動作環境Ｘ３であるか…によって、たとえ機能が同じであったとしても、画面における少なくとも一部の表示態様が異なる部品である。環境依存部品の例として、具体的には、ピッカー、ラジオボタン、ステータスバー、ナビゲーションバー、戻るボタン、テキスト入力フィールド、表等のような、ユーザインタフェースに関わるＵＩ（User Interface）部品が挙げられる。
【００３９】
より詳細には、環境依存部品は、ソフトウェアの動作環境によってデザインが異なる部品である。ここで、部品のデザインとは、その部品の外観に関わる情報であって、色、形状、模様及びその他の態様を含む。部品のデザインは、部品が文字を含む場合にはそのフォントを含み、部品が図形、絵柄等を含む場合にはその内容を含む。具体的には、環境依存部品は、ＡｎｄｒｏｉｄＯＳ（登録商標）、ｉＯＳ（登録商標）等のＯＳによってデザインが異なる部品に加えて、ＯＳのバージョン、画面解像度等によってデザインが異なる部品が該当する。
【００４０】
以下では、図５に示した期待結果画像Ａ１に含まれる部品Ｐ１，Ｐ２が環境依存部品である場合を例にとって説明する。
【００４１】
特定部１２１は、環境依存部品を特定するために、部品画像ＤＢ２１０を参照する。部品画像ＤＢ２１０は、複数の環境依存部品のそれぞれについて、複数の動作環境Ｘ１，Ｘ２，Ｘ３…のそれぞれでの画像を記憶している。
【００４２】
図６に、部品画像ＤＢ２１０に記憶されている部品情報の例を示す。図６に示すように、部品画像ＤＢ２１０には、環境依存部品として、ピッカー、ラジオボタン、ステータスバー等が予め登録されている。これらは、取得部１１０により入力画像として取得される期待結果画像Ａ１に含まれる可能性のある環境依存部品である。部品画像ＤＢ２１０は、このような環境依存部品のそれぞれについて、複数の動作環境Ｘ１，Ｘ２，Ｘ３…のそれぞれにおける画像データを対応付けて格納している。
【００４３】
特定部１２１は、部品画像ＤＢ２１０に記憶されている複数の環境依存部品の第１の動作環境Ｘ１での画像と、取得部１１０により取得された期待結果画像Ａ１と、に基づいて、期待結果画像Ａ１のうちから環境依存部品を特定する。具体的に説明すると、特定部１２１は、部品画像ＤＢ２１０に記憶されている複数の環境依存部品のそれぞれの第１の動作環境Ｘ１での画像と、取得部１１０により取得された期待結果画像Ａ１と、を比較する。
【００４４】
これにより、特定部１２１は、部品画像ＤＢ２１０に記憶されている複数の環境依存部品のうちのいずれかに合致する部品が期待結果画像Ａ１に含まれているか否かを判定する。判定の結果、部品画像ＤＢ２１０に記憶されている複数の環境依存部品のうちのいずれかに合致する部品が期待結果画像Ａ１に含まれている場合、特定部１２１は、その部品を環境依存部品として特定する。
【００４５】
具体的に説明すると、特定部１２１は、期待結果画像Ａ１に含まれる部品Ｐ１，Ｐ２の画像を、部品画像ＤＢ２１０に記憶されている環境依存部品であるピッカー、ラジオボタン、ステータスバー等のそれぞれの動作環境Ｘ１での画像と、順次比較する。比較の結果、部品Ｐ１の画像とステータスバーの画像とが合致した場合、特定部１２１は、部品Ｐ１がステータスバーであると特定する。また、部品Ｐ２の画像とナビゲーションバーの画像とが合致した場合、特定部１２１は、部品Ｐ２がナビゲーションバーであると特定する。
【００４６】
より詳細には、特定部１２１は、部品画像ＤＢ２１０に記憶されている複数の環境依存部品のそれぞれの第１の動作環境Ｘ１での画像と、期待結果画像Ａ１と、の間で、画像に含まれる画素値を比較することにより、期待結果画像Ａ１のうちのいずれかの箇所に、環境依存部品が含まれているか否かを判定する。或いは、特定部１２１は、部品画像ＤＢ２１０に記憶されている複数の環境依存部品のそれぞれの第１の動作環境Ｘ１での画像と、期待結果画像Ａ１と、の間で、画像を定めるプログラムの記述を比較する。言い換えるとソースコードを比較することにより、期待結果画像Ａ１に環境依存部品が含まれているか否かを判定しても良い。
【００４７】
また、画像を比較する際、特定部１２１は、部品画像ＤＢ２１０に記憶されている環境依存部品の画像のサイズを、入力画像である期待結果画像Ａ１に含まれる部品のサイズにスケーリングする。具体的に説明すると、特定部１２１は、期待結果画像Ａ１に含まれる部品Ｐ１，Ｐ２の位置を、期待結果画像Ａ１内における周囲との色の違いに基づいて特定する。そして、特定部１２１は、部品画像ＤＢ２１０に記憶されている環境依存部品の画像を、部品Ｐ１の画像のサイズに拡大又は縮小してから、部品Ｐ１の画像と比較する。また、特定部１２１は、部品画像ＤＢ２１０に記憶されている環境依存部品の画像を、部品Ｐ２の画像のサイズに拡大又は縮小してから、部品Ｐ２の画像と比較する。このように画像のスケーリングを行うことにより、部品画像ＤＢ２１０に登録されている画像のサイズと期待結果画像Ａ１に含まれる部品のサイズとが異なっていても、期待結果画像Ａ１に環境依存部品が含まれているか否かを的確に判定することができる。
【００４８】
特定部１２１は、期待結果画像Ａ１の中にステータスバーである部品Ｐ１とナビゲーションバーである部品Ｐ２とが含まれていると判定した場合、部品Ｐ１，Ｐ２の名称と位置情報とを特定する。具体的には図７に示すように、特定部１２１は、部品Ｐ１の位置情報として、期待結果画像Ａ１内で部品Ｐ１が位置する領域の左上の座標（０，０）と右下の座標（１００，２０）とを特定する。特定部１２１は、このように特定した位置情報を、部品Ｐ１の名称“ステータスバー”と対応付けて、ＲＡＭ又は記憶部１２に保存する。更に、特定部１２１は、部品Ｐ２の位置情報として、期待結果画像Ａ１内で部品Ｐ２が位置する領域の左上の座標（０，２００）と右下の座標（１００，２２０）とを特定する。特定部１２１は、このように特定した位置情報を、部品Ｐ２の名称“ナビゲーションバー”と対応付けて、ＲＡＭ又は記憶部１２に保存する。特定部１２１は、制御部１１が記憶部１２と協働することにより実現される。特定部１２１は、特定手段として機能する。
【００４９】
図４に戻って、置換部１２２は、特定部１２１により特定された環境依存部品である部品Ｐ１，Ｐ２の画像を、動作環境Ｘ１とは異なる動作環境Ｘ２，Ｘ３…における画像に置換する。置換部１２２の機能により、生成部１２０は、取得部１１０により取得された期待結果画像Ａ１に含まれる、特定部１２１により特定された環境依存部品の画像が、それぞれ第２、第３の動作環境Ｘ２，Ｘ３でのその環境部品の画像に置換された期待結果画像Ａ２，Ａ３…を生成する。
【００５０】
図８に、図５に示した動作環境Ｘ１での期待結果画像Ａ１から、動作環境Ｘ２での期待結果画像Ａ２が生成された例を示す。置換部１２２は、動作環境Ｘ１での期待結果画像Ａ１に含まれる部品Ｐ１，Ｐ２の画像を、デザインが異なる画像に置換することで、動作環境Ｘ２での期待結果画像Ａ２を生成する。図８の例では、ステータスバーである部品Ｐ１内に表示された充電状態及び電波の受信状態を示す画像のデザインが、期待結果画像Ａ１，Ａ２間で異なる。また、ナビゲーションバーである部品Ｐ２内に表示された複数のキーのデザインが、期待結果画像Ａ１，Ａ２間で異なる。更には、部品Ｐ１，Ｐ２内の背景部分の色も、期待結果画像Ａ１，Ａ２間で異なる。
【００５１】
このように、環境依存部品の表示が動作環境によって異なるため、その位置又はサイズを変更することのみでは、動作環境に適合した期待結果画像を生成することができない。そのため、置換部１２２は、環境依存部品の画像そのものを置換することにより、特定の動作環境Ｘ１での期待結果画像Ａ１から、他の動作環境Ｘ２，Ｘ３…での期待結果画像Ａ２，Ａ３…を生成する。
【００５２】
置換部１２２は、期待結果画像Ａ１に含まれる、特定部１２１により特定された環境依存部品の画像を、部品画像ＤＢ２１０に記憶されている、特定部１２１により特定された環境依存部品の動作環境Ｘ２，Ｘ３…での画像に置換する。例えば、特定部１２１により環境依存部品として部品Ｐ１が特定された場合、置換部１２２は、期待結果画像Ａ１における部品Ｐ１の画像を、部品画像ＤＢ２１０に記憶されている“ステータスバー”の動作環境Ｘ２，Ｘ３…での画像に置換する。また、特定部１２１により環境依存部品として部品Ｐ２が特定された場合、置換部１２２は、期待結果画像Ａ１における部品Ｐ２の画像を、部品画像ＤＢ２１０に記憶されている“ナビゲーションバー”の動作環境Ｘ２，Ｘ３…での画像に置換する。
【００５３】
より詳細には、置換部１２２は、特定部１２１により特定された部品Ｐ１の位置情報である左上の座標（０，０）と右下の座標（１００，２０）とにより定められる領域にサイズが合うように、ステータスバーの画像を拡大又は縮小して置換する。また、置換部１２２は、特定部１２１により特定された部品Ｐ２の位置情報である左上の座標（０，２００）と右下の座標（１００，２２０）とにより定められる領域にサイズが合うように、ナビゲーションバーの画像を拡大又は縮小して置換する。
【００５４】
このように、置換部１２２は、特定部１２１により特定された環境依存部品の名称と位置とに基づいて、環境依存部品の画像を、部品画像ＤＢ２１０に記憶されている動作環境Ｘ２，Ｘ３…での画像に置換する。置換部１２２は、制御部１１が記憶部１２と協働することにより実現される。置換部１２２は、置換手段として機能する。
【００５５】
図４に戻って、変更部１３０は、置換部１２２により環境依存部品の画像が置換された期待結果画像Ａ２，Ａ３…の解像度とアスペクト比とのうちの少なくとも一方を、対応する動作環境での値に変更する。解像度とは、いわゆる画面解像度であって、画像が対応する動作環境で表示される場合における総画素数を意味する。一方で、アスペクト比とは、画面の長辺と短辺との比率を意味する。
【００５６】
解像度及びアスペクト比は、ＯＳ、バージョン等の動作環境により必ずしも同じではない。そのため、変更部１３０は、対応する動作環境Ｘ２，Ｘ３…で適切に表示されるように、置換部１２２による置換処理後の期待結果画像Ａ２，Ａ３…の解像度とアスペクト比とのうちの少なくとも一方を、それらが表示される動作環境での値に変更する。具体的に説明すると、変更部１３０は、期待結果画像Ａ２，Ａ３…に含まれる画素の総数を変更することにより、期待結果画像Ａ２，Ａ３…の解像度を変更する。或いは、変更部１３０は、期待結果画像Ａ２，Ａ３…の縦幅又は横幅を拡大又は縮小することにより、期待結果画像Ａ２，Ａ３…のアスペクト比を変更する。
【００５７】
変更部１３０は、期待結果画像Ａ２，Ａ３…の解像度又はアスペクト比を変更するために、画面情報ＤＢ２２０を参照する。画面情報ＤＢ２２０は、画面情報として、動作環境毎に解像度及びアスペクト比を記憶しているデータベースである。
【００５８】
図９に、画面情報ＤＢ２２０に記憶されているデータの例を示す。図９に示すように、画面情報ＤＢ２２０には、部品画像ＤＢ２１０に登録されている複数の動作環境Ｘ１，Ｘ２，Ｘ３…のそれぞれにおける解像度及びアスペクト比の数値が記憶されている。
【００５９】
取得部１１０により取得された期待結果画像Ａ１が動作環境Ｘ１で生成されたものである場合、置換部１２２により置換処理が実行された直後の期待結果画像Ａ２，Ａ３…の解像度及びアスペクト比は、動作環境Ｘ１でのものである。そのため、変更部１３０は、期待結果画像Ａ２，Ａ３…の解像度とアスペクト比を、動作環境Ｘ１における“８００×４８０”と“５：３”から、対応する動作環境における値に変更する。具体的には、変更部１３０は、期待結果画像Ａ２の解像度とアスペクト比を動作環境Ｘ２における“１９２０×１０８０”と“１６：９”に変更する。また、変更部１３０は、期待結果画像Ａ３の解像度とアスペクト比を動作環境Ｘ３における“１７９２×８２８”と“１９：９”に変更する。
【００６０】
なお、図９に示した動作環境毎の解像度及びアスペクト比は一例である。例えば、動作環境Ｘ１，Ｘ２，Ｘ３…のそれぞれで解像度とアスペクト比とのうちの一方又は両方が同じである場合には、その一方又は両方に対する変更部１３０の処理を省略することができる。変更部１３０は、制御部１１が記憶部１２と協働することにより実現される。変更部１３０は、変更手段として機能する。
【００６１】
このようにして、生成部１２０は、特定部１２１、置換部１２２及び変更部１３０の機能により、第１の画像である期待結果画像Ａ１から、第２、第３…の画像である期待結果画像Ａ２，Ａ３…として、期待結果画像Ａ１のうちの少なくとも１つの環境依存部品の画像が置換された画像を生成する。
【００６２】
図４に戻って、出力部１４０は、生成部１２０により生成された第２、第３…の画像である期待結果画像Ａ２，Ａ３…を、第１の画像である期待結果画像Ａ１と共に、出力画像として出力する。具体的に説明すると、出力部１４０は、通信部３５を介してテスト装置３０と通信することで、複数の期待結果画像Ａ１，Ａ２，Ａ３…を示す画像データをテスト装置３０に出力する。或いは、出力部１４０は、複数の期待結果画像Ａ１，Ａ２，Ａ３…を示す画像データを、テスト装置３０により読み取ることができるように、可搬型の記録媒体に出力しても良い。出力部１４０は、制御部１１が通信部１５等と協働することにより実現される。出力部１４０は、出力手段として機能する。
【００６３】
次に、テスト装置３０の機能について説明する。図４に示すように、テスト装置３０は、機能的に、取得部３１０と、ソフトウェア動作部３２０と、判定部３３０と、出力部３４０と、を備える。これらの各機能は、ソフトウェア、ファームウェア、又は、ソフトウェアとファームウェアとの組み合わせによって実現される。ソフトウェア及びファームウェアは、プログラムとして記述され、ＲＯＭ又は記憶部３２に格納される。そして、ＣＰＵが、ＲＯＭ又は記憶部３２に記憶されたプログラムを実行することによって、これらの各機能を実現する。
【００６４】
取得部３１０は、画像生成装置１０から出力された期待結果画像Ａ１，Ａ２，Ａ３…を取得する。具体的に説明すると、取得部３１０は、通信部３５を介して画像生成装置１０と通信することにより、画像生成装置１０から期待結果画像Ａ１，Ａ２，Ａ３…を取得する。或いは、取得部３１０は、可搬型の記録媒体を介して、画像生成装置１０から期待結果画像Ａ１，Ａ２，Ａ３…を取得しても良い。取得部３１０は、制御部３１が通信部３５等と協働することにより実現される。取得部３１０は、取得手段として機能する。
【００６５】
ソフトウェア動作部３２０は、テスト対象のソフトウェアを動作させる。ソフトウェア動作部３２０は、テスト対象のソフトウェアが動作することが想定される、ＯＳ、バージョン、画面解像度等が異なる複数の動作環境Ｘ１，Ｘ２，Ｘ３…のそれぞれを模擬することが可能なシミュレータ機能を備える。
【００６６】
ソフトウェア動作部３２０は、複数の動作環境Ｘ１，Ｘ２，Ｘ３…のそれぞれにおいて、テスト対象のソフトウェアであるスマートフォンのアプリケーションソフトウェア、ウェブアプリケーションソフトウェア等のプログラムを実行する。これにより、ソフトウェア動作部３２０は、画像生成装置１０から出力された期待結果画像Ａ１，Ａ２，Ａ３…のそれぞれと比較するための画像を生成する。ソフトウェア動作部３２０は、制御部３１により実現される。ソフトウェア動作部３２０は、ソフトウェア動作手段として機能する。
【００６７】
判定部３３０は、取得部３１０により取得された複数の期待結果画像Ａ１，Ａ２，Ａ３…と、ソフトウェア動作部３２０によるテスト対象のソフトウェアの動作結果と、に基づいて、テストの合否を判定する。判定部３３０は、ソフトウェア動作部３２０によりテスト対象のソフトウェアが複数の動作環境Ｘ１，Ｘ２，Ｘ３…のそれぞれで動作したことにより生成された画像を、複数の期待結果画像Ａ１，Ａ２，Ａ３…のうちの対応する動作環境での期待結果画像と比較する。
【００６８】
比較の結果、判定部３３０は、２つの画像が合致しているか否かの程度を示す合致度を計算し、計算した合致度が予め定められた閾値よりも小さいか否かを判定する。例えば、判定部３３０は、２つの画像の合致度として、２つの画像間で対応する位置同士の画素値の差分を計算し、計算した差分を画像全体で累積した累積値を計算する。或いは、判定部３３０は、その他の任意の手法で２つの画像の合致度を計算しても良い。
【００６９】
判定の結果、合致度が閾値よりも大きい場合、判定部３３０は、テスト結果が合格である、すなわちテスト対象のソフトウェアの動作が正常であると判定する。これに対して、合致度が閾値よりも小さい場合、判定部３３０は、テスト結果が不合格である、すなわちテスト対象のソフトウェアの動作に異常が生じていると判定する。判定部３３０は、制御部３１により実現される。判定部３３０は、判定手段として機能する。
【００７０】
出力部３４０は、判定部３３０による判定により得られた、ソフトウェアのテスト結果を出力する。具体的に説明すると、出力部３４０は、判定部３３０により判定されたソフトウェアのテストの合否を表す画像を生成し、表示部３４に表示する。
【００７１】
例えば図１０に示すように、出力部３４０は、複数の動作環境Ｘ１，Ｘ２，Ｘ３…のそれぞれについて、テスト対象のソフトウェアを動作させた場合におけるテスト結果が合格であれば“合格”を表示し、テスト結果が不合格であれば“不合格”を表示する。このようにテスト結果を出力することにより、ユーザは、テスト対象のソフトウェアが複数の動作環境Ｘ１，Ｘ２，Ｘ３…で正常に動作するか否かを、容易に確認することができる。
【００７２】
なお、出力部３４０は、判定部３３０により判定されたテスト結果を、図１０に示したように表示部３４に表示することに限らず、通信部３５を介して外部の装置に出力し、外部の装置の表示部に表示しても良い。出力部３４０は、制御部３１が表示部３４等と協働することにより実現される。出力部３４０は、出力手段として機能する。
【００７３】
以上のように構成された画像生成装置１０において実行される処理の流れについて、図１１及び図１２に示すフローチャートを参照して説明する。
【００７４】
第１に、図１１を参照して、画像生成装置１０により実行される期待結果画像の生成処理について説明する。図１１に示す処理は、画像生成装置１０を操作するユーザによる指示に応じて、適宜実行される。
【００７５】
図１１に示す処理を開始すると、画像生成装置１０において、制御部１１は、取得部１１０として機能し、入力画像を取得する（ステップＳ１１）。具体的に説明すると、制御部１１は、入力画像として、例えば図５に示したような期待結果画像Ａ１を取得する。期待結果画像Ａ１は、テスト装置３０において、テスト対象のソフトウェアが第１の動作環境Ｘ１で動作した場合に表示される画像である。制御部１１は、通信部１５による通信又は可搬型の記録媒体を介して、テスト装置３０から期待結果画像Ａ１を取得する。
【００７６】
入力画像を取得すると、制御部１１は、部品画像ＤＢ２１０に登録されている環境依存部品を１つ選択する（ステップＳ１２）。制御部１１は、部品画像ＤＢ２１０に登録されているピッカー、ラジオボタン、ステータスバー等の複数の環境依存部品のうちから１つを選択する。
【００７７】
環境依存部品を１つ選択すると、制御部１１は、選択された環境依存部品が入力画像に含まれているか否かを判定する（ステップＳ１３）。具体的に説明すると、制御部１１は、部品画像ＤＢ２１０に登録されている、選択された環境依存部品の第１の動作環境Ｘ１での画像と、入力画像に含まれている各部分の画像と、を比較する。そして、制御部１１は、入力画像の中のいずれかの箇所に、選択された環境依存部品に合致する部品が含まれているか否かを判定する。
【００７８】
選択された環境依存部品が入力画像に含まれている場合（ステップＳ１３；ＹＥＳ）、制御部１１は、その環境依存部品の名称及び位置を特定する（ステップＳ１４）。例えば図７に示したように、入力画像にステータスバーの部品Ｐ１が含まれていると判定した場合、制御部１１は、“ステータスバー”との名称と、部品Ｐ１の左上と右下の座標と、を特定する。或いは、入力画像にナビゲーションバーの部品Ｐ２が含まれていると判定した場合、制御部１１は、“ナビゲーションバー”との名称と、部品Ｐ２の左上と右下の座標と、を特定する。
【００７９】
これに対して、選択された環境依存部品が入力画像に含まれていない場合（ステップＳ１３；ＮＯ）、制御部１１は、ステップＳ１４をスキップする。
【００８０】
その後、制御部１１は、部品画像ＤＢ２１０に登録されている環境依存部品を全て選択済みであるか否かを判定する（ステップＳ１５）。環境依存部品を全て選択済みでない場合（ステップＳ１５；ＮＯ）、制御部１１は、処理をステップＳ１２に戻し、ステップＳ１２からステップＳ１５の処理を再び実行する。
【００８１】
具体的に説明すると、制御部１１は、ステップＳ１２において未選択の環境依存部品を選択して、新たに選択した環境依存部品が入力画像の中に含まれているか否かを判定する。そして、制御部１１は、新たに選択した環境依存部品が入力画像に含まれている場合に、その環境依存部品の名称及び位置を特定する。このように、制御部１１は、部品画像ＤＢ２１０に登録されている全ての環境依存部品を選択し終えるまで、入力画像における環境依存部品の特定処理を繰り返す。ステップＳ１２からステップＳ１５において、制御部１１は、特定部１２１として機能する。
【００８２】
最終的に、部品画像ＤＢ２１０に登録されている環境依存部品を全て選択済みであると判定した場合（ステップＳ１５；ＹＥＳ）、制御部１１は、置換部１２２として機能し、ステップＳ１４で名称と位置とが特定された環境依存部品の画像を、他の動作環境での画像に置換する（ステップＳ１６）。具体的に説明すると、制御部１１は、ステップＳ１４で特定された位置の環境依存部品の画像を、部品画像ＤＢ２１０に登録されている複数の環境依存部品のうちの、ステップＳ１４で特定された名称の環境依存部品の動作環境Ｘ２，Ｘ３…での画像に置換する。このとき、制御部１１は、入力画像のうちから複数の環境依存部品が特定された場合には、特定された全ての環境依存部品の画像を置換する。
【００８３】
環境依存部品の画像を置換すると、制御部１１は、置換を完了したか否かを判定する（ステップＳ１７）。言い換えると、制御部１１は、動作環境Ｘ１における期待結果画像Ａ１から、動作環境Ｘ２，Ｘ３…の全てにおける期待結果画像Ａ２，Ａ３…を生成したか否かを判定する。
【００８４】
置換を完了していない場合（ステップＳ１７；ＮＯ）、制御部１１は、置換が完了するまで、すなわち入力画像に含まれる全ての環境依存部品の画像が置換された期待結果画像Ａ２，Ａ３…を生成するまで、ステップＳ１６に留まる。
【００８５】
最終的に、置換を完了すると（ステップＳ１７；ＹＥＳ）、制御部１１は、変更部１３０として機能し、環境依存部品の画像が置換された期待結果画像の解像度及びアスペクト比を変更する（ステップＳ１８）。具体的に説明すると、制御部１１は、画面情報ＤＢ２２０に記憶されている複数の動作環境Ｘ１，Ｘ２，Ｘ３…における解像度及びアスペクト比を参照する。そして、制御部１１は、環境依存部品の画像が置換された期待結果画像の解像度及びアスペクト比を、対応する動作環境でのものに変更する。
【００８６】
解像度及びアスペクト比を変更すると、制御部１１は、出力部１４０として機能し、期待結果画像Ａ１，Ａ２，Ａ３…を出力する（ステップＳ１９）。具体的に説明すると、制御部１１は、入力画像である期待結果画像Ａ１と生成された期待結果画像Ａ２，Ａ３…とを示す画像データを、通信部３５等を介してテスト装置３０に出力する。以上により、図１１に示した画像生成処理は終了する。
【００８７】
第２に、図１２を参照して、テスト装置３０により実行されるソフトウェアのテスト処理について説明する。図１２に示す処理は、画像生成装置１０及びテスト装置３０を操作するユーザによる指示に応じて、適宜実行される。
【００８８】
図１２に示す処理を開始すると、テスト装置３０において、制御部３１は、取得部３１０として機能し、画像生成装置１０から期待結果画像Ａ１，Ａ２，Ａ３…を取得する（ステップＳ３１）。具体的に説明すると、制御部３１は、通信部３５による通信又は可搬型の記録媒体を介して、画像生成装置１０から出力された期待結果画像Ａ１，Ａ２，Ａ３…を取得する。
【００８９】
期待結果画像Ａ１，Ａ２，Ａ３…を取得すると、制御部３１は、テスト対象のソフトウェアを動作させる動作環境を１つ選択する（ステップＳ３２）。具体的に説明すると、制御部３１は、テスト対象のソフトウェアが動作することが想定される動作環境として予め定められた複数の動作環境Ｘ１，Ｘ２，Ｘ３…のうちから１つを選択する。
【００９０】
動作環境を１つ選択すると、制御部３１は、ソフトウェア動作部３２０として機能し、選択した動作環境でテスト対象のソフトウェアを動作させる（ステップＳ３３）。言い換えると、制御部３１は、ソフトウェアが正常に動作するか否かを検証するために、選択した動作環境でテスト対象のソフトウェアを実際に実行する。
【００９１】
テスト対象のソフトウェアを動作させると、制御部３１は、判定部３３０として機能し、テストの合否を判定する（ステップＳ３４）。具体的に説明すると、制御部３１は、ステップＳ３３でテスト対象のソフトウェアを動作させた結果として表示される画像を、ステップＳ３１で取得された期待結果画像Ａ１，Ａ２，Ａ３…のうちの、ステップＳ３２で選択された動作環境での期待結果画像と比較する。そして、制御部３１は、２つの画像の合致度を計算し、計算した合致度が閾値よりも大きいか否かを判定する。
【００９２】
テストの合否を判定すると、制御部３１は、出力部３４０として機能し、判定結果を出力する（ステップＳ３５）。具体的には図１０に示したように、制御部３１は、テスト対象のソフトウェアを動作させた結果が合格であるか否かを、動作環境毎に表示する。
【００９３】
判定結果を表示すると、制御部３１は、全ての動作環境を選択済みであるか否かを判定する（ステップＳ３６）。全ての動作環境を選択済みでない場合（ステップＳ３６；ＮＯ）、制御部３１は、処理をステップＳ３２に戻し、ステップＳ３２からステップＳ３６の処理を再び実行する。
【００９４】
具体的に説明すると、制御部３１は、ステップＳ３２において未選択の動作環境のうちから新たに１つを選択して、新たに選択された動作環境でテスト対象のソフトウェアを動作させる。そして、制御部３１は、テスト対象のソフトウェアを動作させた結果として表示される画像を、新たに選択された動作環境での期待結果画像と比較し、テストの合否を判定してその結果を出力する。このように、制御部３１は、動作環境Ｘ１，Ｘ２，Ｘ３…の全てを選択し終えるまで、ソフトウェアの動作をテストする処理を繰り返す。
【００９５】
最終的に、全ての動作環境を選択済みであると判定した場合（ステップＳ３６；ＹＥＳ）、制御部３１は、図１２に示したテスト処理を終了する。これにより、異なる複数の動作環境Ｘ１，Ｘ２，Ｘ３…のそれぞれでテスト対象のソフトウェアが期待通りに動作するか否かを検証した結果を得ることができる。
【００９６】
以上説明したように、実施の形態１に係る画像生成装置１０は、テスト対象のソフトウェアが動作環境Ｘ１で動作した場合に表示される期待結果画像Ａ１から、動作環境によって表示が異なる環境依存部品の画像が動作環境Ｘ２，Ｘ３…での画像に置換された期待結果画像Ａ２，Ａ３…を生成する。このように、実施の形態１に係る画像生成装置１０は、１つの動作環境Ｘ１での期待結果画像Ａ１から他の動作環境Ｘ２，Ｘ３…での期待結果画像Ａ２，Ａ３…を生成するため、テスト対象のソフトウェアが実際に動作した場合に表示される画像と比較するための複数の期待結果画像Ａ１，Ａ２，Ａ３…を、１つの期待結果画像Ａ１を用意することで得ることができる。その結果、テストシステム１におけるソフトウェアのテストの工数を削減することができ、ソフトウェアのテストの効率化及び作業者の負担の軽減につながる。
【００９７】
特に、実施の形態１に係る画像生成装置１０は、期待結果画像Ａ１に含まれる環境依存部品の画像を置換することで期待結果画像Ａ２，Ａ３…を生成する。そのため、環境依存部品の表示位置又はサイズを変更するのみでは対応できない場合であっても、他の動作環境に適合した期待結果画像を的確に生成することができる。
【００９８】
（実施の形態２）
次に、本発明の実施の形態２について説明する。実施の形態１と同様の事項については、適宜説明を省略する。
【００９９】
図１３に、実施の形態２に係る画像生成装置１０ａの機能的な構成を示す。図１３に示すように、実施の形態２に係る画像生成装置１０ａは、機能的に、取得部１１０と、生成部１２０ａと、変更部１３０と、出力部１４０と、を備える。生成部１２０ａは、切り出し部１２３と、特定部１２１と、置換部１２２と、の機能を含んでいる。また、画像生成装置１０ａは、実施の形態１と同様に、部品画像ＤＢ２１０と、画面情報ＤＢ２２０と、を備える。なお、テスト装置３０の構成及び機能は、実施の形態１と同様である。
【０１００】
切り出し部１２３は、取得部１１０により取得された入力画像である期待結果画像Ａ１から部分画像を切り出す。部分画像は、特定部１２１が環境依存部品を特定し易くするために切り出される、期待結果画像Ａ１の一部の画像である。切り出し部１２３は、予め定められた基準に従って、入力画像のうちから環境依存部品が含まれる可能性のある少なくとも１つの部分画像を切り出す。
【０１０１】
図１４に、図５に示した期待結果画像Ａ１から２つの部分画像Ｂ１，Ｂ２が切り出される例を示す。図１４において、部分画像Ｂ１は、ステータスバーである部品Ｐ１の画像に該当し、部分画像Ｂ２は、ナビゲーションバーである部品Ｐ２の画像に該当する。
【０１０２】
切り出し部１２３は、取得部１１０により取得された期待結果画像Ａ１に含まれる画素の色に基づいて、期待結果画像Ａ１のうちから部品Ｐ１，Ｐ２に対応する領域を判別する。具体的に説明すると、切り出し部１２３は、適宜の画像認識の手法を用いて、期待結果画像Ａ１に含まれる画素の色を解析する。そして、切り出し部１２３は、部品Ｐ１，Ｐ２とそれら以外の背景部分との色の違いから、部品Ｐ１，Ｐ２と背景部分との境界を識別する。切り出し部１２３は、識別した境界により区分される領域が部品Ｐ１，Ｐ２に対応する領域であると判別する。
【０１０３】
部品Ｐ１，Ｐ２に対応する領域を判別すると、切り出し部１２３は、判別された部品Ｐ１，Ｐ２に対応する領域の画像を、それぞれ部分画像Ｂ１，Ｂ２として期待結果画像Ａ１から切り出す。これにより、切り出し部１２３は、期待結果画像Ａ１から、部品Ｐ１，Ｐ２毎の画像である部分画像Ｂ１，Ｂ２を抽出する。
【０１０４】
なお、切り出し部１２３は、画素の色に基づくことに限らず、操作部３３を介してユーザから部品Ｐ１，Ｐ２の位置情報の入力を受け付け、受け付けた入力に従って、期待結果画像Ａ１のうちから部品Ｐ１，Ｐ２に対応する領域を特定しても良い。切り出し部１２３は、制御部１１が記憶部１２と協働することにより実現される。切り出し部１２３は、切り出し手段として機能する。
【０１０５】
特定部１２１は、部品画像ＤＢ２１０に記憶されている複数の環境依存部品の動作環境Ｘ１での画像と、切り出し部１２３により切り出された部分画像Ｂ１，Ｂ２と、に基づいて、部分画像Ｂ１，Ｂ２のうちから、環境依存部品を特定する。具体的に説明すると、特定部１２１は、部分画像Ｂ１を、部品画像ＤＢ２１０に記憶されている複数の環境依存部品の動作環境Ｘ１での画像と比較することにより、部分画像Ｂ１が“ステータスバー”である部品Ｐ１の画像に対応すると特定する。また、特定部１２１は、部分画像Ｂ２を、部品画像ＤＢ２１０に記憶されている複数の環境依存部品の動作環境Ｘ１での画像と比較することにより、部分画像Ｂ２が“ナビゲーションバー”である部品Ｐ２の画像に対応すると特定する。このようにして、特定部１２１は、期待結果画像Ａ１のうちから切り出された部分画像Ｂ１，Ｂ２を用いて、環境依存部品である部品Ｐ１，Ｐ２を特定する。
【０１０６】
置換部１２２は、特定部１２１により特定された環境依存部品の画像を、動作環境Ｘ１とは異なる動作環境Ｘ２，Ｘ３…における画像に置換する。置換部１２２、変更部１３０及び出力部１４０の各機能は、実施の形態１と同様であるため、説明を省略する。
【０１０７】
以上説明したように、実施の形態２に係る画像生成装置１０ａは、入力画像から部分画像を切り出す。そして、実施の形態２に係る画像生成装置１０ａは、切り出された部分画像と、部品画像ＤＢ２１０に記憶されている複数の環境依存部品の動作環境Ｘ１での画像と、に基づいて、切り出された部分画像のうちから環境依存部品を特定する。このように部分画像を切り出すことにより、画像を比較する範囲を、入力画像の全体から部分画像の範囲に限定することができる。その結果、特定部１２１による環境依存部品の特定処理にかかる時間を短縮することが可能になり、期待結果画像を効率良く生成することにつながる。
【０１０８】
（実施の形態３）
次に、本発明の実施の形態３について説明する。実施の形態１，２と同様の事項については、適宜説明を省略する。
【０１０９】
図１５に、実施の形態３に係る画像生成装置１０ｂの機能的な構成を示す。図１５に示すように、実施の形態３に係る画像生成装置１０ｂは、機能的に、取得部１１０と、生成部１２０と、変更部１３０と、出力部１４０と、を備える。生成部１２０は、特定部１２１と、置換部１２２と、の機能を含んでいる。また、画像生成装置１０ｂは、部品画像ＤＢ２１０と、画面情報ＤＢ２２０と、部品情報ＤＢ２３０と、を備える。なお、テスト装置３０の構成及び機能は、実施の形態１と同様である。
【０１１０】
部品情報ＤＢ２３０は、複数の環境依存部品に関する情報であって、部品画像ＤＢ２１０に記憶されている画像以外の情報を記憶しているデータベースである。部品情報ＤＢ２３０は、記憶部１２の適宜の記憶領域に構築されており、部品情報記憶手段として機能する。
【０１１１】
図１６に、部品情報ＤＢ２３０に記憶されている部品情報の例を示す。図１６に示すように、部品情報ＤＢ２３０は、複数の環境依存部品のそれぞれについて、入力画像と同じ動作環境である動作環境Ｘ１での表示位置、色及びサイズの情報を記憶している。より詳細には、部品情報ＤＢ２３０は、テスト対象のソフトウェアが動作環境Ｘ１で動作した場合に表示される画像において、ピッカー、ラジオボタン、ステータスバー等のそれぞれが表示される位置、表示される色、及び、表示されるサイズの情報を記憶している。
【０１１２】
具体的に説明すると、部品情報ＤＢ２３０は、環境依存部品の表示位置の情報として、環境依存部品が表示される中心位置の座標を記憶している。部品情報ＤＢ２３０は、環境依存部品の色の情報として、その環境依存部品の画像を構成する少なくとも１つの色のうちの、最も面積が大きい部分の色の情報を記憶している。また、部品情報ＤＢ２３０は、環境依存部品のサイズの情報として、その環境依存部品が表示される領域の画素数を記憶している。なお、部品情報ＤＢ２３０は、色の情報を、図１６に示すようにカラーネームで記憶していても良いし、例えばＲＧＢ（Red, Green, Blue）によるカラーコードで記憶していても良い。
【０１１３】
部品情報ＤＢ２３０に記憶されている環境依存部品の表示位置、色及びサイズの情報は、その環境依存部品が表示される画面の設計情報を記述するＨＴＭＬ（Hyper Text Markup Language）、ＣＳＳ（Cascading Style Sheets）等から得ることができる。或いは、環境依存部品の表示位置、色及びサイズの情報を、テスト対象のソフトウェアの仕様書に記載される画面の情報から得ても良い。
【０１１４】
特定部１２１は、部品情報ＤＢ２３０に記憶されている情報に基づいて、取得部１１０により取得された入力画像のうちから環境依存部品を特定する。具体的に説明すると、特定部１２１は、入力画像において、部品情報ＤＢ２３０に記憶されている各環境依存部品の表示位置に、部品情報ＤＢ２３０に記憶されている対応する色及びサイズに合致する部品が存在するか否かを判定する。判定の結果、いずれかの環境依存部品の表示位置に対応する色及びサイズに合致する部品が存在する場合に、特定部１２１は、その部品がその環境依存部品であると特定する。
【０１１５】
例えば、入力画像が図５に示した期待結果画像Ａ１である場合、特定部１２１は、部品情報ＤＢ２３０に記憶されているステータスバーの表示位置、色及びサイズの情報から、部品Ｐ１がステータスバーであると特定する。そして、特定部１２１は、部品情報ＤＢ２３０に記憶されているナビゲーションバーの表示位置、色及びサイズの情報から、部品Ｐ２がナビゲーションバーであると特定する。このように、特定部１２１は、入力画像のうちの、部品情報ＤＢ２３０に記憶されている表示位置、色及びサイズのそれぞれが合致する部品を、環境依存部品として特定する。
【０１１６】
特定部１２１は、このような表示位置、色及びサイズに基づく環境依存部品の特定処理を、部品画像ＤＢ２１０に記憶されている環境依存部品の画像情報による特定処理と併用する。具体的に説明すると、特定部１２１は、取得部１１０により取得された入力画像と、部品画像ＤＢ２１０に記憶されている複数の環境依存部品の動作環境Ｘ１での画像と、を比較する。更に、特定部１２１は、入力画像の中に、部品情報ＤＢ２３０に記憶されている表示位置、色及びサイズに合致する部品が存在するか否かを判定する。その結果、特定部１２１は、入力画像のうちの、部品画像ＤＢ２１０に記憶されている動作環境Ｘ１での画像と合致し、且つ、部品情報ＤＢ２３０に記憶されている表示位置、色及びサイズのそれぞれが合致する部品を、環境依存部品として特定する。
【０１１７】
置換部１２２は、特定部１２１により特定された環境依存部品の画像を、動作環境Ｘ１とは異なる動作環境Ｘ２，Ｘ３…における画像に置換する。置換部１２２、変更部１３０及び出力部１４０の各機能は、実施の形態１と同様であるため、説明を省略する。
【０１１８】
以上説明したように、実施の形態３に係る画像生成装置１０ｂは、複数の環境依存部品のそれぞれの表示位置、色及びサイズの情報を記憶している部品情報ＤＢ２３０を備える。そして、実施の形態３に係る画像生成装置１０ｂは、部品画像ＤＢ２１０に記憶されている画像情報に加えて、部品情報ＤＢ２３０に記憶されている表示位置等の情報に基づいて、入力画像のうちから環境依存部品を特定する。このように、実施の形態３に係る画像生成装置１０ｂは、画像の比較だけでなく、表示位置等の情報も用いるため、より的確に環境依存部品を特定することができる。
【０１１９】
（変形例）
以上、本発明の実施の形態を説明したが、本発明を実施するにあたっては、種々の形態による変形及び応用が可能である。
【０１２０】
例えば、上記実施の形態では、画像生成装置１０，１０ａ，１０ｂにおいて、取得部１１０は、第１の画像である期待結果画像Ａ１を、テスト装置３０から通信部１５等を介して取得した。しかしながら、本発明において、第１の画像は、テスト装置３０に限らず、テスト対象のソフトウェアが第１の動作環境Ｘ１で動作可能な他の装置により生成されても良い。この場合、取得部１１０は、当該他の装置から通信部１５等を介して第１の画像を取得する。
【０１２１】
また、本発明において、画像生成装置１０，１０ａ，１０ｂ自体がテスト対象のソフトウェアを第１の動作環境Ｘ１で動作させる機能を備えている場合には、第１の画像は、画像生成装置１０，１０ａ，１０ｂの内部で生成されても良い。この場合、画像生成装置１０，１０ａ，１０ｂが期待結果画像Ａ１を生成する処理が、取得部１１０が第１の画像を取得する処理に相当する。
【０１２２】
上記実施の形態では、画像生成装置１０，１０ａ，１０ｂとテスト装置３０とは、独立した装置であった。しかしながら、本発明において、画像生成装置１０，１０ａ，１０ｂの機能とテスト装置３０の機能とが、１つの装置に備えられていても良い。例えば、画像生成装置１０，１０ａ，１０ｂとして機能するパーソナルコンピュータ、タブレット端末、サーバ等の情報処理装置が、テスト装置３０の機能を更に備えていても良い。この場合、画像生成装置１０，１０ａ，１０ｂの機能とテスト装置３０の機能とをどちらも備える情報処理装置が、テストシステム１に相当する。
【０１２３】
上記実施の形態では、テスト装置３０は、判定部３３０の機能を備えており、画像生成装置１０，１０ａ，１０ｂから出力された期待結果画像Ａ１，Ａ２，Ａ３…と、ソフトウェア動作部３２０により実行された結果の画像と、を比較することにより、テストの合否を判定した。しかしながら、本発明において、合否の判定は、テスト装置３０により自動的に行われることに限らない。例えば、画像生成装置１０，１０ａ，１０ｂから出力された期待結果画像Ａ１，Ａ２，Ａ３…と、ソフトウェア動作部３２０により実行された結果の画像とを、作業者が目視で比較することにより合否を判定しても良い。このような作業者の手動による工程が少なくとも一部に含まれるテストであっても、画像生成装置１０，１０ａ，１０ｂによれば、期待結果画像を生成する工程を自動化することができるため、作業者の負担を軽減することができる。
【０１２４】
上記実施の形態では、画像生成装置１０，１０ａ，１０ｂは、動作環境Ｘ１での期待結果画像Ａ１から複数の動作環境Ｘ２，Ｘ３…での期待結果画像Ａ２，Ａ３…を生成した。しかしながら、本発明において、テスト対象のソフトウェアが動作することが想定される動作環境として動作環境Ｘ１以外に動作環境Ｘ２しか存在しない場合には、画像生成装置１０，１０ａ，１０ｂは、動作環境Ｘ１での期待結果画像Ａ１から１つの動作環境Ｘ２での期待結果画像Ａ２のみを生成しても良い。
【０１２５】
上記実施の形態では、画像生成装置１０，１０ａ，１０ｂの制御部１１において、ＣＰＵがＲＯＭ又は記憶部１２に記憶されたプログラムを実行することによって、図４に示した各部として機能した。また、テスト装置３０の制御部３１において、ＣＰＵがＲＯＭ又は記憶部３２に記憶されたプログラムを実行することによって、図４に示した各部として機能した。しかしながら、本発明において、制御部１１，３１は、専用のハードウェアであってもよい。専用のハードウェアとは、例えば単一回路、複合回路、プログラム化されたプロセッサ、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）、又は、これらの組み合わせ等である。制御部１１，３１が専用のハードウェアである場合、各部の機能それぞれを個別のハードウェアで実現してもよいし、各部の機能をまとめて単一のハードウェアで実現してもよい。また、各部の機能のうち、一部を専用のハードウェアによって実現し、他の一部をソフトウェア又はファームウェアによって実現してもよい。このように、制御部１１，３１は、ハードウェア、ソフトウェア、ファームウェア、又は、これらの組み合わせによって、上述の各機能を実現することができる。
【０１２６】
本発明に係る画像生成装置１０，１０ａ，１０ｂ又はテスト装置３０の動作を規定するプログラムを、パーソナルコンピュータ又は情報端末装置等の既存のコンピュータに適用することで、当該コンピュータを、本発明に係る画像生成装置１０，１０ａ，１０ｂ又はテスト装置３０として機能させることも可能である。
【０１２７】
また、このようなプログラムの配布方法は任意であり、例えば、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ（Magneto Optical Disk）、又は、メモリカード等のコンピュータ読み取り可能な記録媒体に格納して配布してもよいし、インターネット等の通信ネットワークを介して配布してもよい。
【０１２８】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【産業上の利用可能性】
【０１２９】
本発明は、ソフトウェアをテストするシステム等に好適に採用され得る。
【符号の説明】
【０１３０】
１  テストシステム、１０，１０ａ，１０ｂ  画像生成装置、１１  制御部、１２  記憶部、１３  操作部、１４  表示部、１５  通信部、３０  テスト装置、３１  制御部、３２  記憶部、３３  操作部、３４  表示部、３５  通信部、１１０  取得部、１２０，１２０ａ  生成部、１２１  特定部、１２２  置換部、１２３  切り出し部、１３０  変更部、１４０  出力部、２１０  部品画像ＤＢ、２２０  画面情報ＤＢ、２３０  部品情報ＤＢ、３１０  取得部、３２０  ソフトウェア動作部、３３０  判定部、３４０  出力部、Ａ１，Ａ２，Ａ３  期待結果画像、Ｂ１，Ｂ２  部分画像、Ｐ１，Ｐ２  部品
【図１】
2020202337.tif 000003
【図２】
2020202337.tif 000004
【図３】
2020202337.tif 000005
【図４】
2020202337.tif 000006
【図５】
2020202337.tif 000007
【図６】
2020202337.tif 000008
【図７】
2020202337.tif 000009
【図８】
2020202337.tif 000010
【図９】
2020202337.tif 000011
【図１０】
2020202337.tif 000012
【図１１】
2020202337.tif 000013
【図１２】
2020202337.tif 000014
【図１３】
2020202337.tif 000015
【図１４】
2020202337.tif 000016
【図１５】
2020202337.tif 000017
【図１６】
2020202337.tif 000018
【手続補正書】
【提出日】令和3年8月24日(2021.8.24)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
上記目的を達成するため、本発明に係る画像生成装置は、
テスト対象のソフトウェアが第１の動作環境で動作した場合に表示される第１の画像であって、前記第１の動作環境と前記第１の動作環境とは異なる第２の動作環境とで表示が異なる部品の画像を含む前記第１の画像を取得する取得手段と、
前記取得手段により取得された前記第１の画像から、前記第１の画像に含まれる前記部品の画像が前記第２の動作環境での前記部品の画像に置換された第２の画像を生成する生成手段と、
前記第１の動作環境と前記第２の動作環境とで表示が異なる複数の部品のそれぞれについて、前記第１の動作環境での表示位置、色及びサイズを記憶している部品情報記憶手段と、を備え、
前記生成手段は、
前記取得手段により取得された前記第１の画像において、前記部品情報記憶手段に記憶されている前記複数の部品のそれぞれの前記表示位置に、前記部品情報記憶手段に記憶されている対応する前記色及び前記サイズに合致する部品が存在するか否かを判定することにより、前記取得手段により取得された前記第１の画像のうちから、前記第１の動作環境と前記第２の動作環境とで表示が異なる前記部品を特定する特定手段と、
前記取得手段により取得された前記第１の画像に含まれる、前記特定手段により特定された前記部品の画像を、前記特定手段により特定された前記部品の前記第２の動作環境での画像に置換することにより、前記第２の画像を生成する置換手段と、を備える。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
テスト対象のソフトウェアが第１の動作環境で動作した場合に表示される第１の画像であって、前記第１の動作環境と前記第１の動作環境とは異なる第２の動作環境とで表示が異なる部品の画像を含む前記第１の画像を取得する取得手段と、
前記取得手段により取得された前記第１の画像から、前記第１の画像に含まれる前記部品の画像が前記第２の動作環境での前記部品の画像に置換された第２の画像を生成する生成手段と、
前記第１の動作環境と前記第２の動作環境とで表示が異なる複数の部品のそれぞれについて、前記第１の動作環境での表示位置、色及びサイズを記憶している部品情報記憶手段と、を備え、
前記生成手段は、
前記取得手段により取得された前記第１の画像において、前記部品情報記憶手段に記憶されている前記複数の部品のそれぞれの前記表示位置に、前記部品情報記憶手段に記憶されている対応する前記色及び前記サイズに合致する部品が存在するか否かを判定することにより、前記取得手段により取得された前記第１の画像のうちから、前記第１の動作環境と前記第２の動作環境とで表示が異なる前記部品を特定する特定手段と、
前記取得手段により取得された前記第１の画像に含まれる、前記特定手段により特定された前記部品の画像を、前記特定手段により特定された前記部品の前記第２の動作環境での画像に置換することにより、前記第２の画像を生成する置換手段と、を備える、
画像生成装置。
【請求項２】
前記複数の部品のそれぞれについて、前記第１の動作環境での画像と前記第２の動作環境での画像とを記憶している部品画像記憶手段、を更に備え、
前記特定手段は、前記部品画像記憶手段に記憶されている前記複数の部品の前記第１の動作環境での画像と、前記取得手段により取得された前記第１の画像と、に基づいて、前記第１の画像のうちから前記部品を特定し、
前記置換手段は、前記取得手段により取得された前記第１の画像に含まれる、前記特定手段により特定された前記部品の画像を、前記部品画像記憶手段に記憶されている、前記特定手段により特定された前記部品の前記第２の動作環境での画像に置換する、
請求項１に記載の画像生成装置。
【請求項３】
前記生成手段は、前記取得手段により取得された前記第１の画像から部分画像を切り出す切り出し手段、を更に備え、
前記特定手段は、前記部品画像記憶手段に記憶されている前記複数の部品の前記第１の動作環境での画像と、前記切り出し手段により切り出された前記部分画像と、に基づいて、前記部分画像のうちから前記部品を特定する、
請求項２に記載の画像生成装置。
【請求項４】
前記切り出し手段は、前記取得手段により取得された前記第１の画像に含まれる画素の色に基づいて、前記第１の画像のうちから前記部品に対応する領域を判別し、判別された前記領域の画像を前記部分画像として前記第１の画像から切り出す、
請求項３に記載の画像生成装置。
【請求項５】
前記生成手段により生成された前記第２の画像の解像度とアスペクト比とのうちの少なくとも一方を、前記第２の動作環境での値に変更する変更手段、を更に備える、
請求項１から４のいずれか１項に記載の画像生成装置。
【請求項６】
前記部品は、前記第１の動作環境と前記第２の動作環境とでデザインが異なる部品である、
請求項１から５のいずれか１項に記載の画像生成装置。
【請求項７】
請求項１から６のいずれか１項に記載の画像生成装置と、テスト装置と、を備えるテストシステムであって、
前記テスト装置は、
前記ソフトウェアを前記第２の動作環境で動作させるソフトウェア動作手段と、
前記ソフトウェア動作手段により前記ソフトウェアが前記第２の動作環境で動作した場合に表示される画像と、前記画像生成装置により生成された前記第２の画像と、に基づいて得られた、前記ソフトウェアのテスト結果を出力する出力手段と、を備える、
テストシステム。
【請求項８】
第１の動作環境と、前記第１の動作環境とは異なる第２の動作環境と、で表示が異なる複数の部品のそれぞれについて、前記第１の動作環境での表示位置、色及びサイズを記憶している部品情報記憶手段を備える画像生成装置により実行される画像生成方法であって、
テスト対象のソフトウェアが前記第１の動作環境で動作した場合に表示される第１の画像において、前記部品情報記憶手段に記憶されている前記複数の部品のそれぞれの前記表示位置に、前記部品情報記憶手段に記憶されている対応する前記色及び前記サイズに合致する部品が存在するか否かを判定することにより、前記第１の画像のうちから、前記第１の動作環境と前記第２の動作環境とで表示が異なる部品を特定し、
前記第１の画像に含まれる前記特定された部品の画像を前記第２の動作環境での前記特定された部品の画像に置換することにより、前記第１の画像から、前記ソフトウェアが前記第２の動作環境で動作した場合に表示される第２の画像を生成する、
画像生成方法。
【請求項９】
第１の動作環境と、前記第１の動作環境とは異なる第２の動作環境と、で表示が異なる複数の部品のそれぞれについて、前記第１の動作環境での表示位置、色及びサイズを記憶している部品情報記憶手段を備えるコンピュータを、
テスト対象のソフトウェアが前記第１の動作環境で動作した場合に表示される第１の画像であって、前記第１の動作環境と前記第２の動作環境とで表示が異なる部品の画像を含む前記第１の画像を取得する取得手段、
前記取得手段により取得された前記第１の画像から、前記第１の画像に含まれる前記部品の画像が前記第２の動作環境での前記部品の画像に置換された第２の画像を生成する生成手段、として機能させる、
プログラムであって、
前記生成手段は、
前記取得手段により取得された前記第１の画像において、前記部品情報記憶手段に記憶されている前記複数の部品のそれぞれの前記表示位置に、前記部品情報記憶手段に記憶されている対応する前記色及び前記サイズに合致する部品が存在するか否かを判定することにより、前記取得手段により取得された前記第１の画像のうちから、前記第１の動作環境と前記第２の動作環境とで表示が異なる前記部品を特定する特定手段と、
前記取得手段により取得された前記第１の画像に含まれる、前記特定手段により特定された前記部品の画像を、前記特定手段により特定された前記部品の前記第２の動作環境での画像に置換することにより、前記第２の画像を生成する置換手段と、を備える、
プログラム。
【国際調査報告】
2020202337.tif 000019
2020202337.tif 000020
2020202337.tif 000021
2020202337.tif 000022