(57)【要約】【課題】表示位置が異なっても差異がないと判断してよい差異を、差異があると判断しないようにする。【解決手段】情報処理装置１は、データに基づいて表示画面を生成するブラウザ１１Ａと、ブラウザ１１Ｂとのそれぞれが共通するデータに基づいて生成した第１の画面情報と第２の画面情報とのそれぞれから表示オブジェクトと該表示オブジェクトの画面上の位置を抽出する。情報処理装置１は、第１の画面情報、第２の画面情報のそれぞれから抽出した比較対象の全ての表示オブジェクトについて、画面上の位置のずれが所定範囲内か否かに応じて第１の画面情報と第２の画面情報との同一性を判定する。情報処理装置１は、同一性の判定結果を出力する。【選択図】図１
2016218977.tif 000002
【特許請求の範囲】
【請求項１】
データに基づいて表示画面を生成する第１のプログラムと、第２のプログラムとのそれぞれが共通するデータに基づいて生成した第１の画面情報と第２の画面情報とのそれぞれから表示オブジェクトと該表示オブジェクトの画面上の位置を抽出し、
前記第１の画面情報、前記第２の画面情報のそれぞれから抽出した比較対象の全ての表示オブジェクトについて、画面上の位置のずれが所定範囲内か否かに応じて前記第１の画面情報と前記第２の画面情報との同一性の評価結果を出力する
処理をコンピュータに実行させることを特徴とする比較プログラム。
【請求項２】
前記出力する処理は、比較対象の２つの表示オブジェクトについて、画面上の位置のずれが所定範囲内であれば、２つの表示オブジェクトの位置関係は同一であると評価し、画面上の位置のずれが所定範囲内でなければ、２つの表示オブジェクトの位置関係が同一でないと評価し、評価結果を出力する
処理をコンピュータに実行させることを特徴とする請求項１に記載の比較プログラム。
【請求項３】
前記出力する処理は、さらに、表示オブジェクトが文字列である場合には、比較対象の２つの表示オブジェクトについて、文字認識を実行し、文字認識結果が同一であれば、２つの表示オブジェクトの文字が同一であると評価し、文字認識結果が同一でなければ、２つの表示オブジェクトの文字が同一でないと評価し、評価結果を出力する
処理をコンピュータに実行させることを特徴とする請求項２に記載の比較プログラム。
【請求項４】
前記出力する処理は、比較対象の２つの表示オブジェクトについて、画面上の位置が一致する場合と、画面上の位置のずれが所定範囲内である場合とのいずれの状態であるかを視認可能に出力する
処理をコンピュータに実行させることを特徴とする請求項１に記載の比較プログラム。
【請求項５】
データに基づいて表示画面を生成する第１のプログラムと、第２のプログラムとのそれぞれが共通するデータに基づいて生成した第１の画面情報と第２の画面情報とのそれぞれから表示オブジェクトと該表示オブジェクトの画面上の位置を抽出する抽出部と、
前記第１の画面情報、前記第２の画面情報のそれぞれから抽出した比較対象の全ての表示オブジェクトについて、画面上の位置のずれが所定範囲内か否かに応じて前記第１の画面情報と前記第２の画面情報との同一性を評価する評価部と、
前記評価部によって評価された評価結果を出力する出力部と、
を有することを特徴とする情報処理装置。
【請求項６】
コンピュータが、
データに基づいて表示画面を生成する第１のプログラムと、第２のプログラムとのそれぞれが共通するデータに基づいて生成した第１の画面情報と第２の画面情報とのそれぞれから表示オブジェクトと該表示オブジェクトの画面上の位置を抽出し、
前記第１の画面情報、前記第２の画面情報のそれぞれから抽出した比較対象の全ての表示オブジェクトについて、画面上の位置のずれが所定範囲内か否かに応じて前記第１の画面情報と前記第２の画面情報との同一性の評価結果を出力する
各処理を実行することを特徴とする比較方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、比較プログラムなどに関する。
【背景技術】
【０００２】
企業等で業務に利用されているシステムを、新しく開発されたシステムに置き換えようとする場合に、新しく開発されたシステムが出力する画面と、現在稼働しているシステムが出力する画面とを比較し、画面同士が同一であるかどうかをチェックする機能が必要とされる場合がある。例えば、現在稼働しているシステムでは、ブラウザＡのみ対応していたのに対して、新しく開発されたシステムでは、ブラウザＢでも対応できるようにしたい場合がある。また、単に一システムからの出力画面が別々の種類のブラウザで表示される場合でも同じように表示したい場合がある。
【０００３】
このような場合に、ブラウザＢであるＨＴＭＬ（Hyper  Text  Markup  Language）ソースを表示したときに、ブラウザＡでこのＨＴＭＬソースを表示したときと同じになるようにこのＨＴＭＬソースを自動的に補正する技術が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−３９８１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来における画像比較ツールでは、目視レベルで差異がない場合であっても、差異があると判断してしまうという問題がある。
【０００６】
ここで、表示画面として内容的に差異がないと思われる場合であっても、画素を比較する比較ツールでは差異があると判断してしまうという問題について説明する。例えば、現行システムでは、ブラウザＡにのみ対応していたのに対して、新システムでは、ブラウザＢでも対応できるようにする場合とする。このような場合に、同じＨＴＭＬソースをブラウザＡおよびブラウザＢを用いて出力する際、ブラウザの違いにより、画面上のボタンの表示位置や形状が微妙に異なって表示されてしまうことがある。
【０００７】
図８は、ブラウザの違いによりボタンの表示位置が異なる場合を説明する図である。図８に示すように、図８左は、ＨＴＭＬソースをブラウザＡで出力した画像である。図８右は、同じＨＴＭＬソースをブラウザＢで出力した画像であり、破線がブラウザＡで出力した画像の表示位置である。ブラウザＡとブラウザＢとでは、例えば、ウィンドウの左端および上端からボタンが表示されるまでの余白が数ピクセル異なることがある。この余白が起因して、新システムから出力されるＨＴＭＬソースは同じであっても、ブラウザＡ，Ｂによって異なって配置されることがある。
【０００８】
この微妙な差異は、目視レベルでは差異がないと判断されるものであり、運用上も差異がないと判断しても問題ないものである。しかしながら、画像比較ツールでは、ピクセルの位置のずれを検知するので、差異がある（不一致）と判断してしまう。
【０００９】
１つの側面では、表示位置が異なっても差異がないと判断してよい差異を、差異があると判断しないようにすることを目的とする。
【課題を解決するための手段】
【００１０】
１つの態様では、比較プログラムは、データに基づいて表示画面を生成する第１のプログラムと、第２のプログラムとのそれぞれが共通するデータに基づいて生成した第１の画面情報と第２の画面情報とのそれぞれから表示オブジェクトと該表示オブジェクトの画面上の位置を抽出し、前記第１の画面情報、前記第２の画面情報のそれぞれから抽出した比較対象の全ての表示オブジェクトについて、画面上の位置のずれが所定範囲内か否かに応じて前記第１の画面情報と前記第２の画面情報との同一性の評価結果を出力する処理をコンピュータに実行させる。
【発明の効果】
【００１１】
１つの態様によれば、表示位置が異なっても差異がないと判断してよい差異を、差異があると判断しないようにすることができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例に係る比較システムに含まれる情報処理装置の構成を示す機能ブロック図である。
【図２】図２は、実施例に係る第１のパーツ情報記録ＤＢのデータ構造の一例を示す図である。
【図３】図３は、実施例に係る第２のパーツ情報記録ＤＢのデータ構造の一例を示す図である。
【図４Ａ】図４Ａは、実施例に係る比較処理のフローチャートの一例を示す図（１）である。
【図４Ｂ】図４Ｂは、実施例に係る比較処理のフローチャートの一例を示す図（２）である。
【図５】図５は、実施例に係る位置同一性判定の具体例を示す図である。
【図６Ａ】図６Ａは、実施例に係る判定結果出力の具体例を示す図（１）である。
【図６Ｂ】図６Ｂは、実施例に係る判定結果出力の具体例を示す図（２）である。
【図６Ｃ】図６Ｃは、実施例に係る判定結果出力の具体例を示す図（３）である。
【図６Ｄ】図６Ｄは、実施例に係る判定結果出力の具体例を示す図（４）である。
【図６Ｅ】図６Ｅは、実施例に係る判定結果出力の具体例を示す図（５）である。
【図７】図７は、比較プログラムを実行するコンピュータの一例を示す図である。
【図８】図８は、ブラウザの違いによりボタンの表示位置が異なる場合を説明する図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示する比較プログラム、情報処理装置および比較方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
【実施例】
【００１４】
［実施例に係る情報処理装置の構成］
図１は、実施例に係る比較システムに含まれる情報処理装置の構成を示す機能ブロック図である。図１に示すように、比較システム９は、情報処理装置１および対象システム２を有する。情報処理装置１は、対象システム２とネットワーク３を介して接続されている。対象システム２とは、新しく稼働するシステムであり、例えば、稼働していたシステムを置き換える先のシステムであり、今回の比較対象となる。ネットワーク３は、一例として、インターネットであるが、これに限定されず、イントラネットであっても良いし、専用回線を用いたネットワークであっても良い。
【００１５】
情報処理装置１には、Ｗｅｂブラウザ（以降、ブラウザという）１１Ａと、ブラウザ１１Ａと異なるブラウザ１１Ｂとがインストールされている。ブラウザ１１Ａおよびブラウザ１１Ｂは、対象システム２から出力されるＨＴＭＬデータに基づいて表示画面を生成する。一例として、ブラウザ１１Ａは、ＩＥ（登録商標）であり、ブラウザ１１Ｂは、ＦｉｒｅＦｏｘ（登録商標）である。なお、情報処理装置１には、さらに複数のブラウザがインストールされていても良い。このような情報処理装置１は、ブラウザが異なることで、共通するＨＴＭＬデータを表示した際のオブジェクトの表示位置に差異があっても、おおよその位置関係が合っていれば差異があると判断しないようにする。
【００１６】
図１に示すように、情報処理装置１は、制御部１０および記憶部２０を有する。
【００１７】
制御部１０は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、制御部１０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路の電子回路に対応する。または、制御部１０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路に対応する。さらに、制御部１０は、位置抽出部１２、位置同一性判定部１３、文字同一性判定部１４および判定結果出力部１５を有する。なお、位置抽出部１２は、抽出部の一例である。位置同一性判定部１３は、評価部の一例である。判定結果出力部１５は、出力部の一例である。
【００１８】
記憶部２０は、例えばフラッシュメモリ（Flash  Memory）やＦＲＡＭ（登録商標）（Ferroelectric  Random  Access  Memory）等の不揮発性の半導体メモリ素子等の記憶装置に対応する。記憶部２０は、第１のパーツ情報記録ＤＢ２１および第２のパーツ情報記録ＤＢ２２を有する。
【００１９】
第１のパーツ情報記録ＤＢ２１は、ブラウザ１１Ａ上に表示されたパーツのパーツ情報を記憶する。第２のパーツ情報記録ＤＢ２２は、ブラウザ１１Ｂ上に表示されたパーツのパーツ情報を記憶する。ここでいうパーツ情報とは、ボタン等の、画面に表示されたオブジェクトの情報であり、形状や表示位置が含まれる。
【００２０】
ここで、第１のパーツ情報記録ＤＢ２１のデータ構造について、図２を参照して説明する。図２は、実施例に係る第１のパーツ情報記録ＤＢのデータ構造の一例を示す図である。図２に示すように、第１のパーツ情報記録ＤＢ２１は、形状２１ｂ、左上座標２１ｃ、左下座標２１ｄ、右上座標２１ｅ、右下座標２１ｆおよび比較結果２１ｇをパーツＩＤ２１ａに対応付けて記憶する。パーツＩＤ２１ａは、パーツの識別子を示す。形状２１ｂは、パーツの形状を示す。なお、パーツの形状は、ここでは矩形であるものとする。左上座標２１ｃは、パーツがブラウザＡで表示された際における表示画面内でのパーツの左上頂点の絶対座標を示す。左下座標２１ｄは、同様に、パーツの左下頂点の絶対座標を示す。右上座標２１ｅは、同様に、パーツの右上頂点の絶対座標を示す。右下座標２１ｆは、同様にパーツの右下頂点の絶対座標を示す。比較結果２１ｇは、ブラウザ１１Ａおよびブラウザ１１Ｂのそれぞれに表示されたパーツの同一性の比較結果を示す。一例として、一致（差異がない）の場合には、「０」が設定される。一致の場合には、位置が完全に一致する場合および位置が一致すると判断される（差異がないと判断される）場合が含まれる。位置が一致すると判断される（差異がないと判断される）場合とは、座標位置に差異はあるが、内容として差異がないと判断できる場合を意味する。文字が設定されている場合には、文字が一致する場合も含まれる。位置が不一致（差異がある）の場合には、「１」が設定される。位置が不一致（差異がある）の場合とは、座標位置に差異があり、内容として差異がないと判断できない場合を意味する。位置は一致するが文字は不一致である場合には、「２」が設定される。
【００２１】
一例として、パーツＩＤ２１ａが「１」である場合には、形状２１ｂとして「横長長方形」が記憶される。左上座標２１ｃとして「ＡＸ１，ＡＹ１」、左下座標２１ｄとして「ＡＸ２，ＡＹ２」、右上座標２１ｅとして「ＡＸ３，ＡＹ３」、右下座標２１ｆとして「ＡＸ４，ＡＹ４」、比較結果２１ｇとして「０」が記憶される。
【００２２】
また、第２のパーツ情報記録ＤＢ２２のデータ構造について、図３を参照して説明する。図３は、実施例に係る第２のパーツ情報記録ＤＢのデータ構造の一例を示す図である。図３に示すように、第２のパーツ情報記録ＤＢ２２は、形状２２ｂ、左上座標２２ｃ、左下座標２２ｄ、右上座標２２ｅおよび右下座標２２ｆをパーツＩＤ２２ａに対応付けて記憶する。なお、形状２２ｂは、形状２１ｂと同じ内容であるので、その説明を省略する。左上座標２２ｃ〜右下座標２２ｆは、第１のパーツ情報記録ＤＢ２１の左上座標２１ｃ〜右下座標２１ｆとそれぞれ同じ内容であるので、その説明を省略する。
【００２３】
なお、図２、図３のデータ例は、パーツの位置と比較結果とを同じＤＢに記憶するようにしたが、これに限定されず、パーツの位置と比較結果とを異なるＤＢに記憶するようにしても良い。また、図２、図３のデータ例は、パーツと文字列とを同じＤＢに記憶するようにしたが、これに限定されず、パーツと文字列とを異なるＤＢに記憶するようにしても良い。
【００２４】
図１に戻って、位置抽出部１２は、ブラウザ１１Ａと、ブラウザ１１Ｂとのそれぞれが同一のＨＴＭＬデータに基づいて生成した第１の画面情報と第２の画面情報とのそれぞれからパーツと該パーツの画面上の表示位置を抽出する。ここでいう画面情報とは、一例として、画面に表示された画像であり、画素で構成される。例えば、位置抽出部１２は、ブラウザ１１Ａおよびブラウザ１１Ｂから、同一のＨＴＭＬデータを入力として、それぞれブラウザＡとブラウザＢから出力された第１の画面情報および第２の画面情報を取得する。ＨＴＭＬデータは、例えば対象システム２から出力される。位置抽出部１２は、第１の画面情報を解析し、パーツを検出する。位置抽出部１２は、第１の画面情報にパーツが複数あれば、複数のパーツを検出する。一例として、位置抽出部１２は、第１の画面情報から、パーツの境界線を検出する。なお、画像から境界線を検出する手法は、いかなる技術を用いてもかまわない。そして、位置抽出部１２は、検出した境界線からパーツの形状およびパーツの第１の画面情報上の頂点座標を抽出する。位置抽出部１２は、抽出したパーツの形状およびパーツの頂点座標を第１のパーツ情報記録ＤＢ２１に記録する。また、位置抽出部１２は、同様に、第２の画面情報を解析し、パーツを検出する。位置抽出部１２は、第２の画面情報にパーツが複数あれば、複数のパーツを検出する。位置抽出部１２は、検出したパーツの形状およびパーツの第２の画面情報上の頂点座標を抽出する。位置抽出部１２は、抽出したパーツの形状およびパーツの頂点座標を第２のパーツ情報記録ＤＢ２２に記録する。
【００２５】
位置同一性判定部１３は、第１の画面情報、第２の画面情報のそれぞれから抽出した比較対象の２つのパーツについて、画面上の位置のずれが所定範囲内か否かを判定する。すなわち、位置同一性判定部１３は、比較対象の２つのパーツについて、画面上の位置のずれが所定範囲内であれば、２つのパーツの位置関係が同一であると判定する。位置同一性判定部１３は、比較対象の２つのパーツについて、画面上の位置のずれが所定範囲内でなければ、２つのパーツの位置関係が同一でないと判定する。
【００２６】
例えば、位置同一性判定部１３は、第１のパーツ情報記録ＤＢ２１からパーツを順次選択し、選択したパーツの頂点座標を取得する。位置同一性判定部１３は、第２のパーツ情報記録ＤＢ２２に記憶されたパーツ情報を用いて、取得した全ての頂点座標から所定範囲内の頂点座標を持つパーツがあるか否かを判定する。位置同一性判定部１３は、全ての頂点座標から所定範囲内の頂点座標を持つパーツがないと判定した場合には、２つのパーツの位置関係が同一でないと判断する。そして、位置同一性判定部１３は、選択したパーツに対応する比較結果２１ｇに、不一致の場合である「１」を記録する。
【００２７】
また、位置同一性判定部１３は、全ての頂点座標から所定範囲内の頂点座標を持つパーツがあると判定した場合には、２つのパーツの位置関係が同一であると判断する。さらに、位置同一性判定部１３は、選択したパーツの形状が文字列であるか否かを判定し、選択したパーツの形状が文字列でない場合には、選択したパーツに対応する比較結果２１ｇに、一致の場合である「０」を記録する。位置同一性判定部１３は、選択したパーツの形状が文字列である場合には、後述する文字同一性判定部１４に、文字の同一性を判定させる。そして、位置同一性判定部１３は、文字が同一であると判定された場合には、選択したパーツに対応する比較結果２１ｇに、一致の場合である「０」を記録する。位置同一性判定部１３は、文字が同一でないと判定された場合には、選択したパーツに対応する比較結果２１ｇに、位置は一致するが文字は不一致である場合である「２」を記録する。
【００２８】
文字同一性判定部１４は、パーツの形状が文字列である場合には、比較対象の２つのパーツについて、文字認識を実行し、文字認識結果が同一であるか否かを判定する。例えば、文字同一性判定部１４は、位置関係が同一であると判断された２つのパーツのそれぞれの頂点座標で囲まれる領域内をＯＣＲ（Optical  Character  Recognition）認識し、文字を検出する。すなわち、文字同一性判定部１４は、選択したパーツの頂点座標で囲まれる領域内をＯＣＲ認識し、文字を検出する。文字同一性判定部１４は、比較対象のパーツの頂点座標で囲まれる領域内をＯＣＲ認識し、文字を検出する。文字同一性判定部１４は、それぞれ検出した文字を比較し、文字が同一であるか否かを判定し、判定結果を位置同一性判定部１３に引き渡す。
【００２９】
判定結果出力部１５は、同一性判定の判定結果を出力する。例えば、判定結果出力部１５は、位置同一性判定部１３によって全てのパーツについて同一性判定の判定結果が記録されると、以下のように判定結果の出力を行う。判定結果出力部１５は、第１のパーツ情報記録ＤＢ２１の比較結果２１ｇが全て「０」（一致）である場合には、第１の画面情報および第２の画面情報を表示画面に出力するとともに、一致している旨を表示画面に出力する。このとき、判定結果出力部１５は、一方の画面情報に他方の画面情報のパーツの位置を点線で出力するようにしても良い。
【００３０】
また、判定結果出力部１５は、第１のパーツ情報記録ＤＢ２１のいずれかの比較結果２１ｇが「１」（不一致）である場合には、第１の画面情報および第２の画面情報を表示画面に出力するとともに、位置関係が不一致のパーツがある旨を表示画面に出力する。このとき、判定結果出力部１５は、一方の画面情報に他方の画面情報の不一致のパーツの位置を強調して出力するようにしても良い。
【００３１】
また、判定結果出力部１５は、第１のパーツ情報記録ＤＢ２１のいずれかの比較結果２１ｇが「２」（位置は一致するが文字は不一致）である場合には、第１の画面情報および第２の画面情報を表示画面に出力するとともに、位置関係は一致するが文字は不一致のパーツがある旨を表示画面に出力する。このとき、判定結果出力部１５は、一方の画面情報に他方の画面情報の不一致のパーツの文字を強調して出力するようにしても良い。
【００３２】
［比較処理のフローチャート］
次に、実施例に係る比較処理のフローチャートを、図４Ａおよび図４Ｂを参照して説明する。図４Ａおよび図４Ｂは、実施例に係る比較処理のフローチャートの一例を示す図である。なお、ブラウザ１１ＡをブラウザＡと記載し、ブラウザ１１ＢをブラウザＢと記載するものとする。
【００３３】
まず、位置抽出部１２は、ブラウザ１１Ａ（ブラウザＡ）に出力された画像（第１の画面情報）を取得する（ステップＳ１１）。すると、位置抽出部１２は、取得された画像を解析し、パーツを検出する（ステップＳ１２）。例えば、位置抽出部１２は、取得された画像から、画像に含まれるパーツの境界線を検出する。
【００３４】
そして、位置抽出部１２は、検出したパーツから、当該パーツの形状および頂点座標を抽出し、第１のパーツ情報記録ＤＢ２１に記録する（ステップＳ１３）。例えば、位置抽出部１２は、検出したパーツの形状を第１の画面情報から抽出し、抽出したパーツの形状を第１のパーツ情報記録ＤＢ２１の形状２１ｂに設定する。位置抽出部１２は、検出したパーツの左上、左下、右上、右下の頂点座標を、取得された画像から抽出し、抽出した各頂点座標を第１のパーツ情報記録ＤＢ２１の左上座標２１ｃ〜右下座標２１ｆに設定する。
【００３５】
続いて、位置抽出部１２は、ブラウザ１１Ｂ（ブラウザＢ）に出力された画像（第２の画面情報）を取得する（ステップＳ１４）。すると、位置抽出部１２は、取得された画像を解析し、パーツを検出する（ステップＳ１５）。例えば、位置抽出部１２は、取得された画像から、画像に含まれるパーツの境界線を検出する。
【００３６】
そして、位置抽出部１２は、検出したパーツから、当該パーツの形状および頂点座標を抽出し、第２のパーツ情報記録ＤＢ２２に記録する（ステップＳ１６）。例えば、位置抽出部１２は、検出したパーツの形状を第２の画面情報から抽出し、抽出したパーツの形状を第２のパーツ情報記録ＤＢ２２の形状２２ｂに設定する。位置抽出部１２は、検出したパーツの左上、左下、右上、右下の頂点座標を、取得された画像から抽出し、抽出した各頂点座標を第２のパーツ情報記録ＤＢ２２の左上座標２２ｃ〜右下座標２２ｆに設定する。
【００３７】
続いて、位置同一性判定部１３は、第１のパーツ情報記録ＤＢ２１より、先頭（または次）のレコードを選択し、選択したレコードのパーツの頂点座標を特定する（ステップＳ１７）。そして、位置同一性判定部１３は、特定した全ての頂点座標からそれぞれ所定距離以内の頂点座標を持つパーツが第２のパーツ情報記録ＤＢ２２にあるか否かを判定する（ステップＳ１８）。なお、所定距離とは、本来同じような位置に表示されるべき比較対象において、パーツの表示位置のずれを許容する上限の値を示すものであり、事前に設定してある値とする。
【００３８】
位置同一性判定部１３は、特定した全ての頂点座標からそれぞれ所定距離以内の頂点座標を持つパーツが第２のパーツ情報記録ＤＢ２２に存在しないと判定した場合には(ステップＳ１９；Ｎｏ)、位置同一性判定部１３は、第１のパーツ情報記録ＤＢ２１の、選択したレコードのパーツの比較結果２１ｇに不一致を示す「１」を記録する（ステップＳ２０）。そして、位置同一性判定部１３は、ステップＳ３１に移行する。
【００３９】
一方、特定した全ての頂点座標からそれぞれ所定距離以内の頂点座標を持つパーツが第２のパーツ情報記録ＤＢ２２に存在すると判定した場合には(ステップＳ１９；Ｙｅｓ)、位置同一性判定部１３は、パーツの形状が文字列であるか否かを判定する（ステップＳ２１）。例えば、位置同一性判定部１３は、第１のパーツ情報記録ＤＢ２１の、選択したレコードのパーツの形状２１ｂが文字列であるか否かを判定する。
【００４０】
パーツの形状が文字列でないと判定した場合には（ステップＳ２１；Ｎｏ）、位置同一性判定部１３は、位置関係が同一であることを記録すべく、ステップＳ２３に移行する。一方、パーツの形状が文字列であると判定した場合には（ステップＳ２１；Ｙｅｓ）、位置同一性判定部１３は、文字同一性判定部１４に、文字が一致するか否かを判定させる（ステップＳ２２）。例えば、文字同一性判定部１４は、選択したレコードのパーツの左上座標２１ｃ〜右下座標２１ｆで囲まれる領域内をＯＣＲ認識し、文字を検出する。文字同一性判定部１４は、比較対象のパーツの左上座標２２ｃ〜右下座標２２ｆので囲まれる領域内をＯＣＲ認識し、文字を検出する。文字同一性判定部１４は、それぞれ検出した文字を比較し、文字が同一であるか否かを判定する。なお、文字は、単一の文字のみならず、複数の文字からなる文字列であっても良い。
【００４１】
文字が一致すると判定した場合には（ステップＳ２２；Ｙｅｓ）、文字同一性判定部１４は、文字が同一である旨の判定結果を位置同一性判定部１３に通知し、ステップＳ２３に移行する。ステップＳ２３において、位置同一性判定部１３は、第１のパーツ情報記録ＤＢ２１の、選択したレコードのパーツの比較結果２１ｇに一致を示す「０」を記録する（ステップＳ２３）。そして、位置同一性判定部１３は、ステップＳ３１に移行する。
【００４２】
一方、文字が一致しないと判定した場合には（ステップＳ２２；Ｎｏ）、文字同一性判定部１４は、文字が同一でない旨の判定結果を位置同一性判定部１３に通知し、ステップＳ２４に移行する。ステップＳ２４において、位置同一性判定部１３は、第１のパーツ情報記録ＤＢ２１の、選択したレコードのパーツの比較結果２１ｇに、位置は一致するが文字は不一致を示す「２」を記録する（ステップＳ２４）。そして、位置同一性判定部１３は、ステップＳ３１に移行する。
【００４３】
ステップＳ３１において、位置抽出部１２は、次のパーツが第１のパーツ情報記録ＤＢ２１に存在するか否かを判定する（ステップＳ３１）。次のパーツが第１のパーツ情報記録ＤＢ２１に存在すると判定した場合には（ステップＳ３１；Ｙｅｓ）、位置抽出部１２は、次のパーツのレコードを選択すべく、ステップＳ１７に移行する。
【００４４】
一方、次のパーツが第１のパーツ情報記録ＤＢ２１に存在しないと判定した場合には（ステップＳ３１；Ｎｏ）、判定結果出力部１５は、第１のパーツ情報記録ＤＢ２１の比較結果２１ｇを取得する（ステップＳ３２）。そして、判定結果出力部１５は、第１のパーツ情報記録ＤＢ２１の比較結果２１ｇが全て「０」（一致）であるか否かを判定する（ステップＳ３３）。
【００４５】
比較結果２１ｇが全て「０」であると判定した場合には（ステップＳ３３；Ｙｅｓ）、判定結果出力部１５は、一致している旨を表示画面に表示する（ステップＳ３４）。例えば、判定結果出力部１５は、ブラウザＡに出力された画像およびブラウザＢに出力された画像を表示画面に表示するとともに、一致している旨を表示画面に表示する。そして、判定結果出力部１５は、判定処理を終了する。
【００４６】
一方、比較結果２１ｇのいずれかが「０」でないと判定した場合には（ステップＳ３３；Ｎｏ）、判定結果出力部１５は、第１のパーツ情報記録ＤＢ２１に「１」（不一致）の比較結果２１ｇがあるか否かを判定する（ステップＳ３５）。第１のパーツ情報記録ＤＢ２１に「１」の比較結果２１ｇがないと判定した場合には（ステップＳ３５；Ｎｏ）、判定結果出力部１５は、ステップＳ３９に移行する。
【００４７】
一方、第１のパーツ情報記録ＤＢ２１に「１」の比較結果２１ｇがあると判定した場合には（ステップＳ３５；Ｙｅｓ）、判定結果出力部１５は、比較結果２１ｇが「１」のパーツについて、ブラウザＡの表示位置を強調表示する（ステップＳ３６）。例えば、判定結果出力部１５は、ブラウザＡに出力された画像およびブラウザＢに出力された画像を表示画面に表示するとともに、比較結果２１ｇが「１」であるブラウザＡのパーツの表示位置を、ブラウザＢに出力された画像の表示画面上に強調表示する。
【００４８】
加えて、判定結果出力部１５は、位置関係が不一致のパーツがある旨を表示画面に表示する（ステップＳ３７）。そして、判定結果出力部１５は、ステップＳ３８に移行する。
【００４９】
ステップＳ３８において、判定結果出力部１５は、第１のパーツ情報記録ＤＢ２１に「２」（位置は一致するが文字は不一致）の比較結果２１ｇがあるか否かを判定する（ステップＳ３８）。第１のパーツ情報記録ＤＢ２１に「２」（位置は一致するが文字は不一致）の比較結果２１ｇがないと判定した場合には（ステップＳ３８；Ｎｏ）、判定結果出力部１５は、判定処理を終了する。
【００５０】
一方、第１のパーツ情報記録ＤＢ２１に「２」（位置は一致するが文字は不一致）の比較結果２１ｇがあると判定した場合には（ステップＳ３８；Ｙｅｓ）、判定結果出力部１５は、比較結果２１ｇが「２」のパーツについて、ブラウザＡの文字を強調表示する（ステップＳ３９）。例えば、判定結果出力部１５は、ブラウザＡに出力された画像およびブラウザＢに出力された画像を表示画面に表示するとともに、比較結果２１ｇが「２」であるブラウザＡのパーツの文字を、ブラウザＢに出力された画像の表示画面上に強調表示する。
【００５１】
加えて、判定結果出力部１５は、位置関係は一致するが文字は不一致のパーツがある旨を表示画面に表示する（ステップＳ４０）。そして、判定結果出力部１５は、判定処理を終了する。
【００５２】
［位置同一性判定の具体例］
次に、実施例に係る位置同一性判定の具体例を、図５を参照して説明する。図５は、実施例に係る位置同一性判定の具体例を示す図である。
【００５３】
図５に示すように、４つのボタンが記述されたＨＴＭＬデータをブラウザＡによって出力される画像が左図であり、同じＨＴＭＬデータをブラウザＢによって出力される画像が右図であるとする。右図の破線は、ブラウザＡによって出力されるボタンの位置である。すなわち、右図のブラウザＢによって出力される画像において、実線のボタンｂＢ１、ボタンｂＢ２、ボタンｂＢ３およびボタンｂＢ４がブラウザＢによって出力されるパーツ（ボタン）である。破線がブラウザＡによって出力されるボタンｂＡ１、ｂＡ２、ｂＡ３およびｂＡ４に相当する位置である。つまり、ここでは、ブラウザＡによって出力される画像と、ブラウザＢによって出力される画像とは、パーツの出力位置の位置関係に差異がある。
【００５４】
このような状況の下、位置抽出部１２は、ブラウザＡによって出力された画像を取得し、取得した画像から各パーツを検出し、検出した各パーツの形状および頂点座標を抽出する。ここでは、位置抽出部１２は、パーツとして、ボタンｂＡ１、ボタンｂＡ２、ボタンｂＡ３、ボタンｂＡ４を検出し、これらのボタンの形状および頂点座標を抽出する。そして、位置抽出部１２は、抽出した各パーツの形状および頂点座標を第１のパーツ情報記録ＤＢ２１に記録する。
【００５５】
また、位置抽出部１２は、ブラウザＢによって出力された画像を取得し、取得した画像から各パーツを検出し、検出した各パーツの形状および頂点座標を抽出する。ここでは、位置抽出部１２は、パーツとして、ボタンｂＢ１、ボタンｂＢ２、ボタンｂＢ３、ボタンｂＢ４を検出し、これらのボタンの形状および頂点座標を抽出する。そして、位置抽出部１２は、抽出した各パーツの形状および頂点座標を第２のパーツ情報記録ＤＢ２２に記録する。
【００５６】
そして、位置同一性判定部１３は、第１のパーツ情報記録ＤＢ２１からパーツを順次選択し、選択したパーツの頂点座標を特定する。そして、位置同一性判定部１３は、特定した全ての頂点座標からそれぞれ所定距離以内の頂点座標を持つパーツが第２のパーツ情報記録ＤＢ２２にあるか否かを判定する。ここでは、所定距離をｄ０とする。位置同一性判定部１３は、ボタンｂＡ１を選択したとする。ボタンｂＡ１の左上座標２１ｃは（ＡＸ１，ＡＹ１）、左下座標２１ｄは（ＡＸ２，ＡＹ２）、右上座標２１ｅは（ＡＸ３，ＡＹ３）、右下座標２１ｆは（ＡＸ４，ＡＹ４）であるとする。すると、位置同一性判定部１３は、ボタンｂＡ１の左上座標（ＡＸ１，ＡＹ１）、左下座標（ＡＸ２，ＡＹ２）、右上座標（ＡＸ３，ＡＹ３）、右下座標（ＡＸ４，ＡＹ４）からそれぞれｄ０以内の頂点座標を持つボタンが第２のパーツ情報記録ＤＢ２２にあるか否かを判定する。第２のパーツ情報記録ＤＢ２２には、ボタンｂＡ１の左上座標（ＡＸ１，ＡＹ１）からｄ０以内の頂点座標（ＢＸ１，ＢＹ１）を持つボタンｂＢ１があるとする。ボタンｂＡ１の左下座標（ＡＸ２，ＡＹ２）からｄ０以内の頂点座標（ＢＸ２，ＢＹ２）を持つボタンｂＢ１があるとする。ボタンｂＡ１の右上座標（ＡＸ３，ＡＹ３）からｄ０以内の頂点座標（ＢＸ３，ＢＹ３）を持つボタンｂＢ１があるとする。ボタンｂＡ１の右下座標（ＡＸ４，ＡＹ４）からｄ０以内の頂点座標（ＢＸ４，ＢＹ４）を持つボタンｂＢ１があるとする。したがって、位置同一性判定部１３は、全ての頂点座標から所定距離ｄ０内の頂点座標を持つボタンｂＢ１があるので、２つのボタンｂＡ１、ｂＢ１の位置関係が同一であると判断する。
【００５７】
そして、位置同一性判定部１３は、選択したパーツに対応する比較結果２１ｇに一致を示す「０」を記録する。
【００５８】
［判定結果出力の具体例］
次に、実施例に係る判定結果出力の具体例を、図６Ａ〜図６Ｅを参照して説明する。図６Ａ〜図６Ｅは、実施例に係る判定結果出力の具体例を示す図である。なお、図６Ａ〜図６Ｅでは、４つのボタンが記述されたＨＴＭＬデータをブラウザＡによって出力される画像が左図であり、同じＨＴＭＬデータをブラウザＢによって出力される画像が右図であるとする。ブラウザＡによって出力されるボタンは、ｂＡ１、ｂＡ２、ｂＡ３、ｂＡ４であり、ブラウザＢによって出力されるボタンは、ｂＢ１、ｂＢ２、ｂＢ３、ｂＢ４であるとする。
【００５９】
図６Ａに示すように、ブラウザＡによって出力される画像内の各ボタンと、ブラウザＢによって出力される画像内の各ボタンとの位置関係が一致している場合の判定結果出力の一例である。判定結果出力部１５が、第１のパーツ情報記録ＤＢ２１の比較結果２１ｇが全て「０」（一致）であると判定した場合である。かかる場合に、判定結果出力部１５は、「位置関係は一致！」と表示画面に表示する。
【００６０】
図６Ｂに示すように、位置関係が一致している場合の判定結果出力の別の例である。判定結果出力部１５は、ブラウザＢに出力された画像の表示画面上に、ブラウザＡのボタンの表示位置を破線で表示する。そして、判定結果出力部１５は、「位置関係は一致！  破線・・・・はブラウザＡの表示位置」と表示画面に表示する。
【００６１】
図６Ｃに示すように、位置関係が不一致のパーツがある場合の判定結果出力の一例である。判定結果出力部１５が、第１のパーツ情報記録ＤＢ２１に「１」の比較結果２１ｇがあると判定した場合である。ここでは、「１」の比較結果２１ｇがあると判定されたパーツは、ｂＡ４ボタンであるとする。かかる場合に、判定結果出力部１５は、比較結果２１ｇが「１」であるブラウザＡのｂＡ４ボタンの表示位置を、ブラウザＢに出力された画像の表示画面上に強調表示する。そして、判定結果出力部１５は、「位置関係は不一致！  破線・・・・はブラウザＡの表示位置  （黒塗りがブラウザＡ出力で一致しないもの）」と表示画面に表示する。
【００６２】
図６Ｄに示すように、位置関係は一致するが文字が不一致のパーツがある場合の判定結果出力の一例である。判定結果出力部１５は、第１のパーツ情報記録ＤＢ２１に「２」の比較結果２１ｇがあると判定した場合である。ここでは、「２」の判定結果２１ｇがあると判定されたパーツは、符号ｂＡ３のキャンセルボタンである。かかる場合に、判定結果出力部１５は、比較結果２１ｇが「２」であるブラウザＡのｂＡ３の文字列「キャンセ・」を、ブラウザＢに出力された画像の表示画面上に強調表示する。そして、判定結果出力部１５は、「位置関係は一致するが、文字に不一致あり  （黒塗りがブラウザＡ出力で一致しないもの）」と表示画面に表示する。なお、判定結果出力部１５は、ブラウザＢに出力された画像の表示画面上に、ブラウザＡのボタンの表示位置を破線で表示しても良い。
【００６３】
なお、位置関係が完全に一致している場合には、判定結果出力部１５は、完全一致である旨を表示画面に表示するようにしても良い。図６Ｅに示すように、位置関係が完全に一致している場合の判定結果出力の一例である。判定結果出力部１５は、ブラウザＡによって出力された画像内の全てのパーツの位置および文字がブラウザＢによって出力された画像内の全てのパーツと完全に一致した場合である。かかる場合に、判定結果出力部１５は、「完全一致！」と表示画面に表示する。
【００６４】
［実施例の効果］
このようにして、上記実施例では、情報処理装置１は、ブラウザ１１Ａと、ブラウザ１１Ｂとのそれぞれが共通するデータに基づいて生成した第１の画面情報と第２の画面情報とのそれぞれからパーツと該パーツの画面上の位置を抽出する。情報処理装置１は、第１の画面情報、第２の画面情報のそれぞれから抽出した比較対象の全てのパーツについて、画面上の位置のずれが所定範囲内か否かに応じて第１の画面情報と第２の画面情報との同一性の評価結果を出力する。かかる構成によれば、情報処理装置１は、画面上の位置にずれがあっても差異がないと判断することができる。すなわち、情報処理装置１は、画面上の位置が異なっても差異がないと判断してよい所定範囲内の差異を、差異があると判断しないようにすることができる。
【００６５】
また、上記実施例では、情報処理装置１は、比較対象の２つのパーツについて、画面上の位置のずれが所定範囲内であれば、２つのパーツの位置関係は同一であると評価する。情報処理装置１は、画面上の位置のずれが所定範囲内でなければ、２つのパーツの位置関係が同一でないと評価する。そして、情報処理装置１は、評価結果を出力する。かかる構成によれば、情報処理装置１は、２つのパーツにずれがあっても位置関係は差異がないと判断することができる。
【００６６】
また、上記実施例では、情報処理装置１は、さらに、パーツが文字列である場合には、比較対象の２つのパーツについて、文字認識を実行する。情報処理装置１は、文字認識結果が同一であれば、２つの表示オブジェクトの文字が同一であると評価する。情報処理装置１は、文字認識結果が同一でなければ、２つの表示オブジェクトの文字が同一でないと評価する。そして、情報処理装置１は、評価結果を出力する。かかる構成によれば、情報処理装置１は、さらに、パーツが文字列である場合であっても、２つのパーツの文字の同一性を判断することができる。なお、ＨＴＭＬデータの比較を行えば、文字列の一致はあらかじめ検出できるため、ＨＴＭＬデータ比較後に、画面比較を行う場合には、上記文字列比較を実施しなくとも良い。
【００６７】
また、上記実施例では、情報処理装置１は、比較対象の２つのパーツについて、画面上の位置が一致する場合と、画面上の位置のずれが所定範囲内である場合とのいずれの状態であるかを視認可能に出力する。かかる構成によれば、情報処理装置１は、表示位置が異なっている場合に、実運用上では差異なしと判断することや、実運用上では差異ありと判断することを運用者に知らせることができる。
【００６８】
［その他］
なお、実施例では、位置同一性判定部１３は、ブラウザＡで出力された画像の１つのパーツの全ての頂点座標からそれぞれ所定距離以内の頂点座標を持つパーツが第２のパーツ情報記録ＤＢ２２にあるか否かを判定すると説明した。しかしながら、位置同一性判定部１３は、これに限定されず、ブラウザＡで出力された画像の１つのパーツの左上と右上の頂点座標からそれぞれ所定距離以内の頂点座標を持つパーツが第２のパーツ情報記録ＤＢ２２にあるか否かを判定するようにしても良い。すなわち、ブラウザＢのパーツの左上の頂点座標が、ブラウザＡのパーツの左上の頂点座標から所定距離以内にあって、ブラウザＢのパーツの右上の頂点座標が、ブラウザＡのパーツの右上の頂点座標から所定距離以内にあれば、２つのパーツの位置関係が同一であると判断する。これにより、位置同一性判定部１３は、画面上の位置にずれがあっても差異がないと、高速に判断することができる。
【００６９】
また、実施例では、パーツの形状は、矩形であるものとして説明した。しかしながら、パーツの形状は、矩形に限定されず、３角形であっても良いし、台形であっても良いし、５角形であっても良いし、６角形であっても良い。第１のパーツ情報記録ＤＢ２１および第２のパーツ情報記録ＤＢ２２には、パーツの形状を想定して、座標を設定する領域を用意しておけば良い。これにより、位置同一性判定部１３は、ＨＴＭＬデータに記述されるオブジェクト（パーツ）について、汎用的に同一性を判定することができる。
【００７０】
また、実施例では、パーツの形状には、文字列が含まれるが、文字列をパーツとして認識する方法は、いかなる従来技術の方法であっても良い。例えば、位置抽出部１２は、隣接する文字列候補をグループ化（一定の距離内に存在する文字候補をまとめる）し、グループ化した文字候補の外接四角形（文字候補を含む長方形）の幅が文字高さの範囲内となる矩形となれば、それをパーツとしての文字列と認識する（「図面の認識と理解」昭晃堂、1989.11.6  大沢裕  山川修三参照）。そして、位置抽出部１２は、矩形の頂点座標を文字列の位置として抽出すれば良い。
【００７１】
また、実施例では、文字同一性判定部１４は、２つのパーツのそれぞれの頂点座標で囲まれる領域内をＯＣＲ認識し、文字を検出すると説明した。しかしながら、文字同一性判定部１４は、これに限定されず、２つのパーツのそれぞれの頂点座標周辺をＯＣＲ認識し、文字を検出しても良い。
【００７２】
また、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、位置同一性判定部１３と文字同一性判定部１４とを１個の部として統合しても良い。また、判定結果出力部１５を、位置同一性の判定結果出力部と、文字同一性の判定結果出力部とに分離しても良い。また、第１のパーツ情報記録ＤＢ２１および第２のパーツ情報記録ＤＢ２２を情報処理装置１の外部装置としてネットワーク経由で接続するようにしても良い。
【００７３】
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図１に示した情報処理装置１と同様の機能を実現する比較プログラムを実行するコンピュータの一例を説明する。図７は、比較プログラムを実行するコンピュータの一例を示す図である。
【００７４】
図７に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０３と、ユーザからのデータの入力を受け付ける入力装置２１５と、表示装置２０９を制御する表示制御部２０７とを有する。また、コンピュータ２００は、記憶媒体からプログラムなどを読取るドライブ装置２１３と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部２１７とを有する。また、コンピュータ２００は、各種情報を一時記憶するメモリ２０１と、ＨＤＤ２０５を有する。そして、メモリ２０１、ＣＰＵ２０３、ＨＤＤ２０５、表示制御部２０７、ドライブ装置２１３、入力装置２１５、通信制御部２１７は、バス２１９で接続されている。
【００７５】
ドライブ装置２１３は、例えばリムーバブルディスク２１１用の装置である。ＨＤＤ２０５は、比較プログラム２０５ａおよび比較処理関連情報２０５ｂを記憶する。
【００７６】
ＣＰＵ２０３は、比較プログラム２０５ａを読み出して、メモリ２０１に展開し、プロセスとして実行する。かかるプロセスは、情報処理装置１の各機能部に対応する。比較処理関連情報２０５ｂは、第１のパーツ情報記録ＤＢ２１および第２のパーツ情報記録ＤＢ２２に対応する。そして、例えばリムーバブルディスク２１１が、比較プログラム２０５ａなどの各情報を記憶する。
【００７７】
なお、比較プログラム２０５ａについては、必ずしも最初からＨＤＤ２０５に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ２００がこれらから比較プログラム２０５ａを読み出して実行するようにしても良い。
【符号の説明】
【００７８】
１  情報処理装置
１０  制御部
１１Ａ，１１Ｂ  ブラウザ
１２  位置抽出部
１３  位置同一性判定部
１４  文字同一性判定部
１５  判定結果出力部
２０  記憶部
２１  第１のパーツ情報記録ＤＢ
２２  第２のパーツ情報記録ＤＢ
２  対象システム
３  ネットワーク
【図１】
2016218977.tif 000003
【図２】
2016218977.tif 000004
【図３】
2016218977.tif 000005
【図４Ａ】
2016218977.tif 000006
【図４Ｂ】
2016218977.tif 000007
【図５】
2016218977.tif 000008
【図６Ａ】
2016218977.tif 000009
【図６Ｂ】
2016218977.tif 000010
【図６Ｃ】
2016218977.tif 000011
【図６Ｄ】
2016218977.tif 000012
【図６Ｅ】
2016218977.tif 000013
【図７】
2016218977.tif 000014
【図８】
2016218977.tif 000015