(57)【要約】      （修正有）【課題】Ｗｅｂ仕様ごとのＷｅｂブラウザ間の動作差異情報を正確に生成する動作差異情報生成装置を提供する。【解決手段】動作差異情報生成装置１は、Ｗｅｂページ分解部１１０、シングルブラウザ動作差異検出部１２０、マルチブラウザ動作差異検出部１３０、動作差異情報格納部１４０を備える。Ｗｅｂページ分解部は、入力Ｗｅｂページ１００から基本Ｗｅｂページ１６０と評価用Ｗｅｂページ候補１７０を生成する。シングルブラウザ動作差異検出部は、同一のＷｅｂブラウザにおける両Ｗｅｂページの動作差異の有無を検出し、動作差異があった場合に評価用Ｗｅｂページ候補を評価用Ｗｅｂページ１８０とする。マルチブラウザ動作差異検出部は、評価用Ｗｅｂページによる複数のＷｅｂブラウザ間における動作差異の有無を検出した結果に基づいて、試行対象Ｗｅｂ仕様の複数のＷｅｂブラウザ間における動作差異情報１９０を生成し、動作差異情報格納部に蓄積する。【選択図】図２
2019185623.tif 000002
【特許請求の範囲】
【請求項１】
入力された入力Ｗｅｂページに利用されているＷｅｂ仕様について、前記Ｗｅｂ仕様ごとの複数のＷｅｂブラウザ間における動作差異の有無に関する動作差異情報を生成し蓄積するＷｅｂブラウザ間の動作差異情報生成装置であって、
前記入力Ｗｅｂページに利用されているＷｅｂ仕様のうち、動作差異が発生しないことを確認済みのＷｅｂ仕様による基本Ｗｅｂページと、当該基本Ｗｅｂページに、動作差異の発生が不明なＷｅｂ仕様を試行対象Ｗｅｂ仕様として追加した評価用Ｗｅｂページ候補と、を生成するＷｅｂページ分解部と、
同一のＷｅｂブラウザにおける前記基本Ｗｅｂページと前記評価用Ｗｅｂページ候補との動作差異の有無を検出する第１の検出処理を行い、当該第１の検出処理で動作差異があった場合の前記評価用Ｗｅｂページ候補を評価用Ｗｅｂページとするシングルブラウザ動作差異検出部と、
前記評価用Ｗｅｂページによる複数のＷｅｂブラウザ間における動作差異の有無を検出する第２の検出処理を行い、当該第２の検出処理の結果に基づいて、前記試行対象Ｗｅｂ仕様としたＷｅｂ仕様の前記複数のＷｅｂブラウザ間における前記動作差異情報を生成するマルチブラウザ動作差異検出部と、
前記入力Ｗｅｂページに利用されている各Ｗｅｂ仕様について前記動作差異情報の生成が繰り返されるなかで、各Ｗｅｂ仕様ごとの前記複数のＷｅｂブラウザ間における前記動作差異情報を蓄積する動作差異情報格納部と、
前記動作差異情報格納部に蓄積された前記動作差異情報を出力する動作差異情報表示部と、
を備えることを特徴とするＷｅｂブラウザ間の動作差異情報生成装置。
【請求項２】
１の前記試行対象Ｗｅｂ仕様に対する前記動作差異情報の生成において、前記第１の検出処理を前記基本Ｗｅｂページに用いるＷｅｂ仕様を変化させながら繰り返し実行することにより、当該試行対象Ｗｅｂ仕様を機能させるための前提となる前提Ｗｅｂ仕様を特定する
ことを特徴とする請求項１に記載のＷｅｂブラウザ間の動作差異情報生成装置。
【請求項３】
Ｗｅｂページ分解部は、前記基本Ｗｅｂページに、前記入力Ｗｅｂページに利用されているＷｅｂ仕様のうち動作差異が発生しないことを確認済みの２以上のＷｅｂ仕様を加えることによって、前記評価用Ｗｅｂページ候補を生成する
ことを特徴とする請求項１に記載のＷｅｂブラウザ間の動作差異情報生成装置。
【請求項４】
Ｗｅｂページ分解部は、前記基本Ｗｅｂページに、前記試行対象Ｗｅｂ仕様と、前記入力Ｗｅｂページに利用されているＷｅｂ仕様のうちの任意の１つのＷｅｂ仕様とを加えることによって、前記評価用Ｗｅｂページ候補を生成する
ことを特徴とする請求項１に記載のＷｅｂブラウザ間の動作差異情報生成装置。
【請求項５】
前記動作差異情報表示部は、任意のＷｅｂページが指定された場合に、前記動作差異情報格納部に蓄積されているＷｅｂ仕様ごとの前記動作差異情報のうち、前記指定されたＷｅｂページに含まれるＷｅｂ仕様についての前記動作差異情報を出力する
ことを特徴とする請求項１に記載のＷｅｂブラウザ間の動作差異情報生成装置。
【請求項６】
前記動作差異情報格納部に前記動作差異情報が未だ蓄積されていない前記Ｗｅｂ仕様を含むＷｅｂページを収集し、当該収集したＷｅｂページを前記入力ＷｅｂページとするＷｅｂクローラ部を、さらに備える
ことを特徴とする請求項１に記載のＷｅｂブラウザ間の動作差異情報生成装置。
【請求項７】
複数のＷｅｂブラウザ間における前記第２の検出処理に用いられた前記評価用Ｗｅｂページを格納する評価用Ｗｅｂページ格納部をさらに備え、
次回以降の前記動作差異情報の生成において、
前記マルチブラウザ動作差異検出部は、前記評価用Ｗｅｂページ格納部に格納された前記評価用Ｗｅｂページを用いて、別の複数のＷｅｂブラウザ間における前記第２の検出処理を行う
ことを特徴とする請求項１に記載のＷｅｂブラウザ間の動作差異情報生成装置。
【請求項８】
前記第１の検出処理で動作差異を検出しなかった場合に、当該第１の検出処理に用いられた前記評価用Ｗｅｂページ候補を格納する非検出Ｗｅｂ仕様格納部をさらに備え、
次回以降の前記動作差異情報の生成において、
前記Ｗｅｂページ分解部は、前記非検出Ｗｅｂ仕様格納部に格納された前記評価用Ｗｅｂページ候補を前記基本Ｗｅｂページとし、さらに、当該基本Ｗｅｂページに、前記入力Ｗｅｂページに利用されているＷｅｂ仕様の１つを追加して、前記評価用Ｗｅｂページ候補を生成する
ことを特徴とする請求項１に記載のＷｅｂブラウザ間の動作差異情報生成装置。
【請求項９】
入力された入力Ｗｅｂページに利用されている１以上のＷｅｂ仕様について、前記Ｗｅｂ仕様ごとの複数のＷｅｂブラウザ間における動作差異の有無に関する動作差異情報を生成し蓄積するＷｅｂブラウザ間の動作差異情報生成方法であって、
前記入力Ｗｅｂページに利用されているＷｅｂ仕様のうち、動作差異が発生しないことを確認済みのＷｅｂ仕様による基本Ｗｅｂページと、当該基本Ｗｅｂページに、動作差異の発生が不明なＷｅｂ仕様を試行対象Ｗｅｂ仕様として追加した評価用Ｗｅｂページ候補と、を生成するＷｅｂページ分解ステップと、
同一のＷｅｂブラウザにおける前記基本Ｗｅｂページと前記評価用Ｗｅｂページ候補との動作差異の有無を検出する第１の検出処理を行い、当該第１の検出処理で動作差異があった場合の前記評価用Ｗｅｂページ候補を評価用Ｗｅｂページとするシングルブラウザ動作差異検出ステップと、
前記評価用Ｗｅｂページによる複数のＷｅｂブラウザ間における動作差異の有無を検出する第２の検出処理を行い、当該第２の検出処理の結果に基づいて、前記試行対象Ｗｅｂ仕様としたＷｅｂ仕様の前記複数のＷｅｂブラウザ間における前記動作差異情報を生成するマルチブラウザ動作差異検出ステップと、
前記入力Ｗｅｂページに利用されている各Ｗｅｂ仕様について前記動作差異情報の生成が繰り返されるなかで、各Ｗｅｂ仕様ごとの前記複数のＷｅｂブラウザ間における前記動作差異情報を蓄積する動作差異情報格納ステップと、
前記動作差異情報格納ステップで蓄積された前記動作差異情報を出力する動作差異情報表示ステップと、
を備えることを特徴とするＷｅｂブラウザ間の動作差異情報生成方法。
【請求項１０】
１の前記試行対象Ｗｅｂ仕様に対する前記動作差異情報の生成において、前記第１の検出処理を前記基本Ｗｅｂページに用いるＷｅｂ仕様を変化させながら繰り返し実行することにより、当該試行対象Ｗｅｂ仕様を機能させるための前提となる前提Ｗｅｂ仕様を特定する
ことを特徴とする請求項９に記載のＷｅｂブラウザ間の動作差異情報生成方法。
【請求項１１】
Ｗｅｂページ分解ステップにおいて、前記基本Ｗｅｂページに、前記入力Ｗｅｂページに利用されているＷｅｂ仕様のうち動作差異が発生しないことを確認済みの２以上のＷｅｂ仕様を加えることによって、前記評価用Ｗｅｂページ候補を生成する
ことを特徴とする請求項９に記載のＷｅｂブラウザ間の動作差異情報生成方法。
【請求項１２】
Ｗｅｂページ分解ステップにおいて、前記基本Ｗｅｂページに、前記試行対象Ｗｅｂ仕様と、前記入力Ｗｅｂページに利用されているＷｅｂ仕様のうちの任意の１つのＷｅｂ仕様とを加えることによって、前記評価用Ｗｅｂページ候補を生成する
ことを特徴とする請求項９に記載のＷｅｂブラウザ間の動作差異情報生成方法。
【請求項１３】
前記動作差異情報表示ステップにおいて、任意のＷｅｂページが指定された場合に、前記動作差異情報格納ステップで蓄積されているＷｅｂ仕様ごとの前記動作差異情報のうち、前記指定されたＷｅｂページに含まれるＷｅｂ仕様についての前記動作差異情報を出力する
ことを特徴とする請求項９に記載のＷｅｂブラウザ間の動作差異情報生成方法。
【請求項１４】
前記動作差異情報格納ステップにおいて前記動作差異情報が未だ蓄積されていない前記Ｗｅｂ仕様を含むＷｅｂページを収集し、当該収集したＷｅｂページを前記入力ＷｅｂページとするＷｅｂクローラステップを、さらに備える
ことを特徴とする請求項９に記載のＷｅｂブラウザ間の動作差異情報生成方法。
【請求項１５】
前記マルチブラウザ動作差異検出ステップにおいて、複数のＷｅｂブラウザ間における前記第２の検出処理に用いられた前記評価用Ｗｅｂページを格納し、
次回以降の前記動作差異情報の生成において、
前記マルチブラウザ動作差異検出ステップでは、前記格納された前記評価用Ｗｅｂページを用いて、別の複数のＷｅｂブラウザ間における前記第２の検出処理を行う
ことを特徴とする請求項９に記載のＷｅｂブラウザ間の動作差異情報生成方法。
【請求項１６】
前記シングルブラウザ動作差異検出ステップにおいて、前記第１の検出処理で動作差異を検出しなかった場合に、当該第１の検出処理に用いられた前記評価用Ｗｅｂページ候補を格納し、
次回以降の前記動作差異情報の生成において、
前記Ｗｅｂページ分解ステップでは、前記格納された前記評価用Ｗｅｂページ候補を前記基本Ｗｅｂページとし、さらに、当該基本Ｗｅｂページに、前記入力Ｗｅｂページに利用されているＷｅｂ仕様の１つを追加して、前記評価用Ｗｅｂページ候補を生成する
ことを特徴とする請求項９に記載のＷｅｂブラウザ間の動作差異情報生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂブラウザ間の動作差異情報生成装置及び動作差異情報生成方法に関し、複数種類のＷｅｂブラウザ間におけるＷｅｂ仕様ごとの動作差異についての情報（動作差異情報）を生成する動作差異情報生成装置及び動作差異情報生成方法に適用して好適なものである。
【背景技術】
【０００２】
従来、Ｗｅｂページを作成する際は、ＨＴＭＬ（HyperText Markup Language）仕様、ＣＳＳ（Cascading Style Sheets）仕様、ＳＶＧ（Scalable Vector Graphics）仕様、またはＯｐｅｎＧＬ（Open Graphics Library）仕様等、複数のＷｅｂ仕様が利用される。これらＷｅｂ仕様はそれぞれ仕様書で大まかな動作が定められているが、実際にＷｅｂページを表示するＷｅｂブラウザにおいて各Ｗｅｂ仕様を動作させると、Ｗｅｂブラウザ間で異なる動作（動作差異）が発生することがある。動作差異の一例としては、表示上のずれ、文字化け、イベント発生の有無等がある。
【０００３】
このようなＷｅｂブラウザ間の動作差異は、Ｗｅｂ仕様の曖昧性やＷｅｂブラウザの実装上の制約や誤り等を要因として発生するため、複数種類のＷｅｂブラウザにおいてＷｅｂページ関係者が意図した通りの動きをするＷｅｂページを開発することが難しいという問題があった。
【０００４】
ここで、例えば特許文献１には、複数種類のＷｅｂブラウザにおけるＷｅｂページの表示イメージの動作差異を少なくしようとする情報処理システムが開示されている。特許文献１に開示された情報処理システムは、複数種類のＷｅｂブラウザで対象Ｗｅｂページを表示させた際の表示上の差異に着目し、ＣＳＳの調整を所定の手順で繰り返すことによって、その差異の解消を目指すものであった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−０９９６９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に開示された情報処理システムは、表示上の差異の有無は識別できるものの、当該差異が発生した要因となるＷｅｂ仕様を特定できるものではなく、Ｗｅｂ仕様ごとにＷｅｂブラウザ間でどのような動作差異が発生するかを特定することはできなかった。すなわち、特許文献１に開示された情報処理システムでは、Ｗｅｂブラウザ間の動作差異の要因となるＷｅｂ仕様を特定できないことから、複数種類のブラウザにおいてＷｅｂページ関係者が意図した通りの動きをするＷｅｂページを開発することを十分に支援することができないという課題があった。
【０００７】
本発明は以上の点を考慮してなされたもので、Ｗｅｂ仕様ごとのＷｅｂブラウザ間の動作差異を示す情報を正確に生成することができるＷｅｂブラウザ間の動作差異情報生成装置及び動作差異情報生成方法を提案しようとするものである。
【課題を解決するための手段】
【０００８】
かかる課題を解決するため本発明においては、入力された入力Ｗｅｂページに利用されているＷｅｂ仕様について、前記Ｗｅｂ仕様ごとの複数のＷｅｂブラウザ間における動作差異の有無に関する動作差異情報を生成し蓄積するＷｅｂブラウザ間の動作差異情報生成装置が提供される。この動作差異情報生成装置は、前記入力Ｗｅｂページに利用されているＷｅｂ仕様のうち、動作差異が発生しないことを確認済みのＷｅｂ仕様による基本Ｗｅｂページと、当該基本Ｗｅｂページに、動作差異の発生が不明なＷｅｂ仕様を試行対象Ｗｅｂ仕様として追加した評価用Ｗｅｂページ候補と、を生成するＷｅｂページ分解部と、同一のＷｅｂブラウザにおける前記基本Ｗｅｂページと前記評価用Ｗｅｂページ候補との動作差異の有無を検出する第１の検出処理を行い、当該第１の検出処理で動作差異があった場合の前記評価用Ｗｅｂページ候補を評価用Ｗｅｂページとするシングルブラウザ動作差異検出部と、前記評価用Ｗｅｂページによる複数のＷｅｂブラウザ間における動作差異の有無を検出する第２の検出処理を行い、当該第２の検出処理の結果に基づいて、前記試行対象Ｗｅｂ仕様としたＷｅｂ仕様の前記複数のＷｅｂブラウザ間における前記動作差異情報を生成するマルチブラウザ動作差異検出部と、前記入力Ｗｅｂページに利用されている各Ｗｅｂ仕様について前記動作差異情報の生成が繰り返されるなかで、各Ｗｅｂ仕様ごとの前記複数のＷｅｂブラウザ間における前記動作差異情報を蓄積する動作差異情報格納部と、前記動作差異情報格納部に蓄積された前記動作差異情報を出力する動作差異情報表示部と、を備えることを特徴とする。
【０００９】
また、かかる課題を解決するため本発明においては、入力された入力Ｗｅｂページに利用されている１以上のＷｅｂ仕様について、前記Ｗｅｂ仕様ごとの複数のＷｅｂブラウザ間における動作差異の有無に関する動作差異情報を生成し蓄積するＷｅｂブラウザ間の動作差異情報生成方法が提供される。この動作差異情報生成方法は、前記入力Ｗｅｂページに利用されているＷｅｂ仕様のうち、動作差異が発生しないことを確認済みのＷｅｂ仕様による基本Ｗｅｂページと、当該基本Ｗｅｂページに、動作差異の発生が不明なＷｅｂ仕様を試行対象Ｗｅｂ仕様として追加した評価用Ｗｅｂページ候補と、を生成するＷｅｂページ分解ステップと、同一のＷｅｂブラウザにおける前記基本Ｗｅｂページと前記評価用Ｗｅｂページ候補との動作差異の有無を検出する第１の検出処理を行い、当該第１の検出処理で動作差異があった場合の前記評価用Ｗｅｂページ候補を評価用Ｗｅｂページとするシングルブラウザ動作差異検出ステップと、前記評価用Ｗｅｂページによる複数のＷｅｂブラウザ間における動作差異の有無を検出する第２の検出処理を行い、当該第２の検出処理の結果に基づいて、前記試行対象Ｗｅｂ仕様としたＷｅｂ仕様の前記複数のＷｅｂブラウザ間における前記動作差異情報を生成するマルチブラウザ動作差異検出ステップと、前記入力Ｗｅｂページに利用されている各Ｗｅｂ仕様について前記動作差異情報の生成が繰り返されるなかで、各Ｗｅｂ仕様ごとの前記複数のＷｅｂブラウザ間における前記動作差異情報を蓄積する動作差異情報格納ステップと、前記動作差異情報格納ステップで蓄積された前記動作差異情報を出力する動作差異情報表示ステップと、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、Ｗｅｂ仕様ごとのＷｅｂブラウザ間の動作差異を示す情報を正確に生成することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施の形態に係る動作差異情報生成装置のハードウェア構成例を示す図である。
【図２】図１に示した動作差異情報生成装置の機能構成例を示す図である。
【図３】動作差異情報生成処理の処理フローを示す図である。
【図４】Ｗｅｂページ分解部の内部構成例を示す図である。
【図５】Ｗｅｂページ分解の詳細な処理フローを示す図である。
【図６】シングルブラウザ動作差異検出部の内部構成例を示す図である。
【図７】マルチブラウザ動作差異検出部の内部構成例を示す図である。
【図８】動作差異情報生成処理のイメージを説明するための図である。
【図９】動作差異情報の出力例を示す図である。
【図１０】第２の実施の形態に係る動作差異情報生成装置の機能構成例を示す図である。
【図１１】第３の実施の形態に係る動作差異情報生成装置の機能構成例を示す図である。
【図１２】第４の実施の形態に係る動作差異情報生成装置の機能構成例を示す図である。
【図１３】第５の実施の形態に係る動作差異情報生成装置の機能構成例を示す図である。
【図１４】第６の実施の形態に係る動作差異情報生成装置の機能構成例を示す図である。
【図１５】第７の実施の形態に係る動作差異情報生成装置の機能構成例を示す図である。
【図１６】第８の実施の形態に係る動作差異情報生成装置の機能構成例を示す図である。
【発明を実施するための形態】
【００１２】
以下図面について、本発明の一実施の形態を詳述する。各図に示した同一の参照番号は同一の構成要素を示すものであり、繰り返しの説明を省略する。なお、本明細書では、Ｗｅｂブラウザについて、種類（製品名や対象ＯＳ（Operating System）等）の違いだけでなく、バージョンや設定（国設定や文字コード設定等）、実行環境等が異なるものについても、別のＷｅｂブラウザとして扱い、「複数のＷｅｂブラウザ」あるいは「複数種類のＷｅｂブラウザ」としている。具体的には例えば、同製品のＷｅｂブラウザにおいて新旧バージョンで動作差異が発生する場合も、複数のブラウザ間の動作差異があるとみなす。
【００１３】
（１）第１の実施の形態
図１は、本発明の第１の実施の形態に係る動作差異情報生成装置のハードウェア構成例を示す図である。また、図２は、図１に示した動作差異情報生成装置の機能構成例を示す図である。
【００１４】
（１−１）ハードウェア構成
まず、図１を参照しながら、本実施の形態に係る動作差異情報生成装置１のハードウェア構成の一例を説明する。
【００１５】
図１に示した動作差異情報生成装置１は、Ｗｅｂ仕様ごとのＷｅｂブラウザ間の動作差異情報を生成する計算システムであって、ＣＰＵ１０、表示装置２０、メモリ３０、入力装置４０、外部記憶装置５０、及びネットワーク通信装置６０を備える。動作差異情報生成装置１における上記の各構成要素は、バス７０を介して互いに接続され、データを送受信することができる。
【００１６】
ＣＰＵ１０は、例えばＣＰＵ（Central Processing Unit）であり、演算処理、データ処理、及び機器制御等を行うことによって動作差異情報生成装置１を全般的に制御する。具体的には例えば、図２に示すＷｅｂページ分解部１１０、シングルブラウザ動作差異検出部１２０、マルチブラウザ動作差異検出部１３０、及び動作差異情報表示部１５０は、ＣＰＵ１０が所定のプログラムを実行すること等によって実現される。
【００１７】
表示装置２０は、例えばディスプレイであり、ＣＰＵ１０の制御に応じてデータを出力する。具体的には例えば、図２に示す動作差異情報表示部１５０は、動作差異情報格納部１４０に格納された動作差異情報１９０（動作差異蓄積情報）の内容を表示装置２０に表示させる。なお、本実施の形態において、表示装置２０による出力は表示に限定するものではなく、表示以外の方法で外部出力を行うプリンタ等も表示装置２０に含むことができる。
【００１８】
メモリ３０は、主記憶装置であって、ＣＰＵ１０による処理で用いられるデータを一時的に記憶（格納）する。具体的には例えば、図２に示す各種情報（基本Ｗｅｂページ１６０，評価用Ｗｅｂページ候補１７０，評価用Ｗｅｂページ１８０，動作差異情報１９０等）は、一時的にメモリ３０に書き込まれる。
【００１９】
入力装置４０は、例えばキーボードやマウス等の入力装置であり、動作差異情報生成装置１に対する種々の入力操作（例えば、Ｗｅｂページの入力操作）を受け付ける。具体的には例えば、図２に示す入力Ｗｅｂページ１００は、入力装置４０で所定の入力操作が行われることによって、動作差異情報生成装置１（Ｗｅｂページ分解部１１０）に入力される。
【００２０】
外部記憶装置５０は、補助記憶装置であって、ＨＤＤ（Hard Disk Drive）等の適宜の記憶媒体を用いることができる。具体的には例えば、図２に示す動作差異情報格納部１４０は、外部記憶装置５０によって実現される。また、図２に示すＷｅｂページ分解部１１０、シングルブラウザ動作差異検出部１２０、マルチブラウザ動作差異検出部１３０、及び動作差異情報表示部１５０を実現するプログラムも、外部記憶装置５０に格納されている。
【００２１】
ネットワーク通信装置６０は、例えばＮＩＣ（Network Interface Card）であり、動作差異情報生成装置１と外部との間でネットワークを介してデータや信号の通信を行う。具体的には例えば、ネットワーク通信装置６０は、図２に示す動作差異情報格納部１４０（外部記憶装置５０）に格納された動作差異情報１９０（動作差異蓄積情報）を、動作差異情報生成装置１の外部に送信することができる。
【００２２】
（１−２）機能構成
次に、図２を参照しながら、本実施の形態に係る動作差異情報生成装置１の機能構成について説明する。
【００２３】
図２に示したように、動作差異情報生成装置１は、Ｗｅｂページ分解部１１０と、シングルブラウザ動作差異検出部１２０と、マルチブラウザ動作差異検出部１３０と、動作差異情報格納部１４０と、動作差異情報表示部１５０と、を備えて構成される。
【００２４】
Ｗｅｂページ分解部１１０は、入力Ｗｅｂページ１００を入力とし、動作差異情報格納部１４０に格納された動作差異情報１９０（動作差異蓄積情報）に基づいて、基本Ｗｅｂページ１６０及び評価用Ｗｅｂページ候補１７０を生成する機能を有する。
【００２５】
ここで、入力Ｗｅｂページ１００は、既存の任意のＷｅｂページであり、ＨＴＭＬファイルの他、ＣＳＳファイルや画像ファイル等、当該Ｗｅｂページを構成する複数の要素からなる。
【００２６】
また、動作差異情報１９０は、２以上の組からなるＷｅｂブラウザ間における単一のＷｅｂ仕様に関する動作差異の有無を表す情報である。後述するように、動作差異情報１９０は、一連の動作差異情報生成処理（例えば図３参照）によって生成され、動作差異情報格納部１４０は、このＷｅｂ仕様ごとの動作差異情報１９０を蓄積することによって、複数のＷｅｂ仕様に関する動作差異情報をまとめて保持する。本明細書では、Ｗｅｂ仕様ごとの動作差異情報１９０との区別を付けるために、動作差異情報格納部１４０に蓄積される複数のＷｅｂ仕様に関する動作差異情報を「動作差異蓄積情報」と称することがある。
【００２７】
また、基本Ｗｅｂページ１６０及び評価用Ｗｅｂページ候補１７０は、入力Ｗｅｂページ１００を分解して生成されるＷｅｂページである。
【００２８】
詳しくは、基本Ｗｅｂページ１６０は、入力Ｗｅｂページ１００から一部を抜粋したＷｅｂページであって、複数のＷｅｂブラウザ間で動作差異がないことが判明しているＷｅｂ仕様（以後、「差異なしＷｅｂ仕様」と称することがある）のみを利用したＷｅｂページである。一方、評価用Ｗｅｂページ候補１７０は、入力Ｗｅｂページ１００で利用しているＷｅｂ仕様のうち、複数のＷｅｂブラウザ間での動作差異の有無が判明していないＷｅｂ仕様（以後、「未試行のＷｅｂ仕様」あるいは「差異不明Ｗｅｂ仕様」と称することがある）の何れか１つを基本Ｗｅｂページ１６０に加えたＷｅｂページである。
【００２９】
なお、Ｗｅｂ仕様について「複数のＷｅｂブラウザ間で動作差異の有無が判明しているか否か」は、動作差異情報格納部１４０に格納された既知の動作差異情報１９０（動作差異蓄積情報）に基づいて判断することができる。
【００３０】
シングルブラウザ動作差異検出部１２０は、基本Ｗｅｂページ１６０及び評価用Ｗｅｂページ候補１７０を入力とし、少なくとも１つ以上のＷｅｂブラウザにおいて、入力された両Ｗｅｂページ間に動作差異がある場合に、評価用Ｗｅｂページ候補１７０を評価用Ｗｅｂページ１８０として出力する機能を有する。このシングルブラウザ動作差異検出部１２０の処理によって、評価用Ｗｅｂページ候補１７０のうち、Ｗｅｂ仕様以外を要因とする動作差異を有するものが除外され、Ｗｅｂ仕様のみを要因とするＷｅｂブラウザ間の動作差異の有無を確認するために好適な評価用Ｗｅｂページ１８０が生成される。
【００３１】
マルチブラウザ動作差異検出部１３０は、評価用Ｗｅｂページ１８０を入力として、異なる２以上のＷｅｂブラウザ間における動作差異を確認し、確認結果をまとめた動作差異情報１９０を生成する機能を有する。したがって、マルチブラウザ動作差異検出部１３０によって生成される動作差異情報１９０には、評価対象のＷｅｂ仕様について複数種類のＷｅｂブラウザ間における動作差異が示される。
【００３２】
動作差異情報格納部１４０は、マルチブラウザ動作差異検出部１３０によって生成された動作差異情報１９０を格納するリポジトリの機能を有する。動作差異情報格納部１４０は、新たに生成された動作差異情報１９０を動作差異蓄積情報に追加して格納することにより、既知の動作差異情報を更新することができる。
【００３３】
動作差異情報表示部１５０は、動作差異情報格納部１４０に格納された動作差異情報１９０（動作差異蓄積情報）を出力する機能を有する。動作差異情報表示部１５０は、動作差異情報格納部１４０に格納された動作差異蓄積情報を読込み、その内容を表示装置２０に表示出力させる他、メモリ３０、外部記憶装置５０、及びネットワーク通信装置６０にも出力することができる。
【００３４】
以上が、本実施の形態に係る動作差異情報生成装置１の機能構成である。このように構成された動作差異情報生成装置１では、Ｗｅｂページ分解部１１０、シングルブラウザ動作差異検出部１２０、マルチブラウザ動作差異検出部１３０の順で、各部による機能（各部による処理）が呼び出される。但し、本実施の形態において、このような一連の機能呼び出しは複数回繰り返されてもよい。また、動作差異情報表示部１５０による機能は、上記の一連の機能呼び出しに連動せずに、任意のタイミングで呼び出されてよい。
【００３５】
（１−３）動作差異情報の生成
以下では、本実施の形態に係る動作差異情報生成装置１が動作差異情報１９０を生成する一連の処理（動作差異情報生成処理）について、図３を参照しながら概要を説明し、その後、図４〜図９を参照しながら詳細を説明する。
【００３６】
図３は、動作差異情報生成処理の処理フローを示す図である。
【００３７】
図３によればまず、ステップＳ１１において、Ｗｅｂページ分解部１１０が、入力Ｗｅｂページ１００の分解を行う（Ｗｅｂページ分解）。Ｗｅｂページ分解の詳細は図５で後述するため、ここでは概要のみ説明する。
【００３８】
ステップＳ１１では、入力Ｗｅｂページ１００に含まれる全てのＷｅｂ仕様のなかに「未試行のＷｅｂ仕様」があるか否かによって異なる処理が行われる。なお、「未試行のＷｅｂ仕様」とは、未だ動作差異情報１９０の取得を試行していないＷｅｂ仕様（すなわち、動作差異情報生成処理を行っていないＷｅｂ仕様）を意味し、前述した「差異不明Ｗｅｂ仕様」と同義である。
【００３９】
ステップＳ１１において未試行のＷｅｂ仕様がある場合には、Ｗｅｂページ分解部１１０が、入力Ｗｅｂページ１００及び動作差異情報格納部１４０に格納された動作差異蓄積情報に基づいて、基本Ｗｅｂページ１６０及び評価用Ｗｅｂページ候補１７０を生成し、その後ステップＳ１２に進む。前述したように、基本Ｗｅｂページ１６０は、入力Ｗｅｂページ１００から差異なしＷｅｂ仕様のみを利用したＷｅｂページである。また、評価用Ｗｅｂページ候補１７０は、基本Ｗｅｂページ１６０に未試行のＷｅｂ仕様（差異不明Ｗｅｂ仕様）の何れか１つを追加したＷｅｂページであり、ここで追加した未試行のＷｅｂ仕様が、今回の「試行対象Ｗｅｂ仕様」となる。
【００４０】
一方、ステップＳ１１において未試行のＷｅｂ仕様がない場合、すなわち、全てのＷｅｂ仕様について試行済みである場合には、Ｗｅｂページ分解部１１０は基本Ｗｅｂページ１６０及び評価用Ｗｅｂページ候補１７０を生成せず、ステップＳ１４に進む。
【００４１】
ステップＳ１２では、シングルブラウザ動作差異検出部１２０が、ステップＳ１１で生成された基本Ｗｅｂページ１６０及び評価用Ｗｅｂページ候補１７０を入力とし、少なくとも１以上の同じＷｅｂブラウザ上で両Ｗｅｂページを表示して動作差異を検出する（シングルブラウザ動作差異検出）。
【００４２】
ステップＳ１２において動作差異が発生したＷｅｂブラウザが１つでもあった場合には、評価用Ｗｅｂページ候補１７０を評価用Ｗｅｂページ１８０とし、ステップＳ１３に進む。一方、ステップＳ１２において何れのＷｅｂブラウザにおいても動作差異がなかった場合には、現在の試行対象Ｗｅｂ仕様に対する試行を終了し、ステップＳ１１に戻って次の試行対象Ｗｅｂ仕様に対する処理が行われる。
【００４３】
ステップＳ１３では、マルチブラウザ動作差異検出部１３０が、ステップＳ１２で指定された評価用Ｗｅｂページ１８０を入力として、異なる２以上のＷｅｂブラウザ間において評価用Ｗｅｂページ１８０を表示して動作差異を検出する（マルチブラウザ動作差異検出）。ステップＳ１３では、動作差異の検出結果をまとめることによって、現在の試行対象Ｗｅｂ仕様についての動作差異情報１９０が生成され、生成された動作差異情報１９０が動作差異情報格納部１４０に格納される。そしてステップＳ１３の終了後は、当該試行対象Ｗｅｂ仕様に対する試行を終了し、ステップＳ１１に戻って次の試行対象Ｗｅｂ仕様に対する試行に移行する。
【００４４】
ステップＳ１４では、動作差異情報表示部１５０が、動作差異情報格納部１４０に格納された動作差異蓄積情報を出力する（動作差異情報表示）。このとき、動作差異情報表示部１５０は、表示装置２０に動作差異蓄積情報の内容を表示させるだけでなく、メモリ３０、外部記憶装置５０、及びネットワーク通信装置６０等に動作差異蓄積情報を書き出すようにしてもよい。
【００４５】
以上、入力Ｗｅｂページ１００に含まれるそれぞれのＷｅｂ仕様について、動作差異情報１９０の取得の試行（ステップＳ１１〜Ｓ１３）が繰り返し実行された後、蓄積された動作差異蓄積情報が出力される（ステップＳ１４）ことにより、Ｗｅｂ仕様ごとの複数Ｗｅｂブラウザ間の動作差異を示す情報が、例えば表示装置２０に表示される。
【００４６】
（１−３−１）Ｗｅｂページ分解
図４は、Ｗｅｂページ分解部の内部構成例を示す図である。
【００４７】
図４に示すように、Ｗｅｂページ分解部１１０は、Ｗｅｂページパーサ部１１１、利用Ｗｅｂ仕様分類部１１２、基本Ｗｅｂページ生成部１１３、評価用Ｗｅｂページ候補生成部１１４、及び試行済みＷｅｂ仕様一覧格納部１１５を備えて構成される。図４を参照しながら、Ｗｅｂページ分解部１１０の各内部構成について説明する。
【００４８】
Ｗｅｂページパーサ部１１１は、入力Ｗｅｂページ１００を入力とし、当該入力Ｗｅｂページ１００で利用しているＷｅｂ仕様の一覧を構文解析等によって抽出し、利用Ｗｅｂ仕様一覧１１６として出力する。
【００４９】
利用Ｗｅｂ仕様分類部１１２は、利用Ｗｅｂ仕様一覧１１６、動作差異情報格納部１４０の動作差異蓄積情報、及び試行済みＷｅｂ仕様一覧格納部１１５の試行済みＷｅｂ仕様一覧（詳細は後述する）を入力として、Ｗｅｂ仕様ごとの動作差異情報１９０の取得状況に応じて、利用Ｗｅｂ仕様一覧１１６に記載されたＷｅｂ仕様を、差異不明Ｗｅｂ仕様一覧１１７、差異なしＷｅｂ仕様一覧１１８、または差異ありＷｅｂ仕様一覧１１９に分類する。
【００５０】
具体的には、利用Ｗｅｂ仕様分類部１１２は、利用Ｗｅｂ仕様一覧１１６に記載されたＷｅｂ仕様のうち、現時点でＷｅｂブラウザ間の動作差異の有無が不明なＷｅｂ仕様を差異不明Ｗｅｂ仕様一覧１１７に分類し、現時点でＷｅｂブラウザ間の動作差異がないことが分かっているＷｅｂ仕様を差異なしＷｅｂ仕様一覧１１８に分類し、現時点でＷｅｂブラウザ間の動作差異があることが分かっているＷｅｂ仕様を差異ありＷｅｂ仕様一覧１１９に分類する。
【００５１】
基本Ｗｅｂページ生成部１１３は、差異なしＷｅｂ仕様一覧１１８を入力とし、基本Ｗｅｂページ１６０を生成する。
【００５２】
評価用Ｗｅｂページ候補生成部１１４は、差異不明Ｗｅｂ仕様一覧１１７と基本Ｗｅｂページ１６０を入力とし、差異不明Ｗｅｂ仕様一覧１１７に記載されたＷｅｂ仕様の何れか１つ（試行対象Ｗｅｂ仕様）を基本Ｗｅｂページ１６０に加えて、評価用Ｗｅｂページ候補１７０を生成する。
【００５３】
試行済みＷｅｂ仕様一覧格納部１１５は、利用Ｗｅｂ仕様一覧１１６に記載されたＷｅｂ仕様のうち、試行対象Ｗｅｂ仕様として選択済みのＷｅｂ仕様（試行済みＷｅｂ仕様）がまとめられた「試行済みＷｅｂ仕様一覧」を格納する。試行済みＷｅｂ仕様一覧は、評価用Ｗｅｂページ候補生成部１１４が評価用Ｗｅｂページ候補１７０を生成する際に、追加した試行対象Ｗｅｂ仕様によって随時更新される。
【００５４】
そして、試行済みＷｅｂ仕様一覧格納部１１５は、入力Ｗｅｂページ１００ごとに試行済みＷｅｂ仕様一覧を保持する（例えば、１つの入力Ｗｅｂページ１００に対する処理が終了するたびに、格納している試行済みＷｅｂ仕様一覧をクリアする）か、あるいは、動作差異情報格納部１４０の動作差異蓄積情報が更新されるたびに、格納している試行済みＷｅｂ仕様一覧をクリアする。
【００５５】
本実施の形態において上記のように試行済みＷｅｂ仕様一覧を記録することは、以下の効果を奏する。すなわち、利用Ｗｅｂ仕様分類部１１２は、利用Ｗｅｂ仕様一覧１１６の分類において、試行済みＷｅｂ仕様一覧格納部１１５から最新の試行済みＷｅｂ仕様一覧を取得することにより、試行済みＷｅｂ仕様を差異不明Ｗｅｂ仕様一覧１１７に振り分けないようにすることができる。その結果、評価用Ｗｅｂページ候補生成部１１４は、評価用Ｗｅｂページ候補１７０の生成において、試行済みのＷｅｂ仕様を重複して追加してしまう事態を回避でき、効率的に評価用Ｗｅｂページ候補１７０を生成することができる。
【００５６】
図５は、Ｗｅｂページ分解の詳細な処理フローを示す図である。図５には、図３のステップＳ１１に示したＷｅｂページ分解の詳細な処理手順が示されている。
【００５７】
図５によれば、まず、ステップＳ２１において、Ｗｅｂページパーサ部１１１が、入力Ｗｅｂページ１００で利用しているＷｅｂ仕様を抽出し、利用Ｗｅｂ仕様一覧１１６を出力する。
【００５８】
次のステップＳ２２では、利用Ｗｅｂ仕様分類部１１２が、ステップＳ１１で出力された利用Ｗｅｂ仕様一覧１１６、動作差異情報格納部１４０に格納されている動作差異蓄積情報、及び試行済みＷｅｂ仕様一覧格納部１１５に格納されている最新の試行済みＷｅｂ仕様一覧に基づいて、利用Ｗｅｂ仕様一覧１１６に記載されたＷｅｂ仕様を、差異不明Ｗｅｂ仕様一覧１１７、差異なしＷｅｂ仕様一覧１１８、または差異ありＷｅｂ仕様一覧１１９に分類する。
【００５９】
次に、ステップＳ２３において、利用Ｗｅｂ仕様分類部１１２は、差異不明Ｗｅｂ仕様一覧１１７に動作差異の検出を試行していない未試行のＷｅｂ仕様があるか否かを確認する。未試行のＷｅｂ仕様があると判定した場合は（ステップＳ２３のＹＥＳ）、ステップＳ２４に進む。
【００６０】
一方、ステップＳ２３において差異不明Ｗｅｂ仕様一覧１１７に未試行のＷｅｂ仕様がないと判定した場合は（ステップＳ２３のＮＯ）、利用Ｗｅｂ仕様一覧に記載された全てのＷｅｂ仕様が試行済みであることを意味するので、Ｗｅｂページ分解を終了し、図３のステップＳ１４に進む。前述したように、図３のステップＳ１４では、動作差異情報格納部１４０に格納されている動作差異情報１９０（動作差異蓄積情報）が表示される。
【００６１】
ステップＳ２４では、基本Ｗｅｂページ生成部１１３が、ステップＳ２２で分類された差異なしＷｅｂ仕様一覧１１８を入力として、入力Ｗｅｂページ１００から動作差異がないＷｅｂ仕様だけを残した基本Ｗｅｂページ１６０を生成する。なお、基本Ｗｅｂページ１６０には、必ずしも、差異なしＷｅｂ仕様一覧１１８に記載された全てのＷｅｂ仕様を用いる必要はない。
【００６２】
次のステップＳ２５では、評価用Ｗｅｂページ候補生成部１１４が、ステップＳ２２で分類された差異不明Ｗｅｂ仕様一覧１１７のうちから、動作差異の検出を試行していない未試行のＷｅｂ仕様の１つを選択する。なおこのとき、評価用Ｗｅｂページ候補生成部１１４は、選択したＷｅｂ仕様（試行対象Ｗｅｂ仕様）を試行済みＷｅｂ仕様として試行済みＷｅｂ仕様一覧格納部１１５に記録する。これにより、試行済みＷｅｂ仕様一覧格納部１１５が試行済みＷｅｂ仕様一覧を更新する。
【００６３】
そして、ステップＳ２６では、評価用Ｗｅｂページ候補生成部１１４が、ステップＳ２４で生成された基本Ｗｅｂページ１６０にステップＳ２５で選択した試行対象Ｗｅｂ仕様を加え、評価用Ｗｅｂページ候補１７０を生成する。
【００６４】
ステップＳ２４〜Ｓ２６の処理によって、入力Ｗｅｂページ１００の分解が行われ、基本Ｗｅｂページ１６０及び評価用Ｗｅｂページ候補１７０が生成されるため、ステップＳ２６の処理後は、Ｗｅｂページ分解を終了し、図３のステップＳ１２に進む。前述したように、図３のステップＳ１２では、シングルブラウザ動作差異検出部１２０によってシングルブラウザ動作差異検出が行われる。
【００６５】
（１−３−２）シングルブラウザ動作差異検出
図６は、シングルブラウザ動作差異検出部の内部構成例を示す図である。
【００６６】
図６に示すように、シングルブラウザ動作差異検出部１２０は、Ｗｅｂブラウザ動作結果取得部１２１と動作差異検出部１２２とを備えて構成される。シングルブラウザ動作差異検出部１２０は、基本Ｗｅｂページ１６０及び評価用Ｗｅｂページ候補１７０を入力とし、動作差異検出結果１２５を出力する。図６を参照しながら、シングルブラウザ動作差異検出部１２０の各内部構成について説明する。
【００６７】
Ｗｅｂブラウザ動作結果取得部１２１は、入力された基本Ｗｅｂページ１６０及び評価用Ｗｅｂページ候補１７０を任意の同じＷｅｂブラウザ９２０で表示し、それぞれの「動作の結果」を基本Ｗｅｂページ動作結果１２３や評価用Ｗｅｂページ候補動作結果１２４として取得する。
【００６８】
ここで「動作の結果」とは、Ｗｅｂブラウザ９２０でのＷｅｂページの表示結果に限定されるものではなく、Ｗｅｂブラウザ９２０にＷｅｂページを表示させた状態で実行され得る種々の動作（例えば、マウスやキーボードによるＷｅｂページへの入力操作や、Ｗｅｂページ内の選択操作等）に対する反応等も、「動作の結果」に含めることができる。
【００６９】
そして、基本Ｗｅｂページ動作結果１２３や評価用Ｗｅｂページ候補動作結果１２４の形式・形態は特に限定されるものではなく、Ｗｅｂブラウザ９２０のスクリーンショットや、表示したテキスト、音声、通信パケット等、少なくともＷｅｂブラウザ９２０やその実行環境から取得可能な情報によるもので、かつ、比較や記録が可能であればよい。
【００７０】
動作差異検出部１２２は、Ｗｅｂブラウザ動作結果取得部１２１によって取得された基本Ｗｅｂページ動作結果１２３や評価用Ｗｅｂページ候補動作結果１２４を入力とし、両者の差異を検出することによって、同じＷｅｂブラウザ９２０における動作差異を検出する。そして、動作差異検出部１２２は、動作差異の有無を示す動作差異検出結果１２５を出力する。
【００７１】
なお、動作差異検出部１２２による差異検出の具体的な検出手法は、基本Ｗｅｂページ動作結果１２３と評価用Ｗｅｂページ候補動作結果１２４との間で、一致／不一致や類似度を評価できるものであればよく、特に限定されるものではない。例えば図６には、このような既知の検出方法の一例として、画像比較９３０、テキスト比較９３１、及びＯＣＲ結果比較９３２が示されている。簡単に補足すると、画像比較９３０は、Ｗｅｂブラウザ９２０に表示された画像を比較することによって差異を検出する手法である。また、テキスト比較９３１は、Ｗｅｂブラウザ９２０に表示されたテキストを比較することによって差異を検出する手法である。また、ＯＣＲ結果比較９３２は、Ｗｅｂブラウザ９２０に表示された文書画像を光学文字認識（ＯＣＲ：Optical character recognition）によって文字コードに変換した結果を比較することによって差異を検出する手法である。
【００７２】
以上のように構成されることにより、シングルブラウザ動作差異検出部１２０は、Ｗｅｂページ分解部１１０から入力された基本Ｗｅｂページ１６０及び評価用Ｗｅｂページ候補１７０について、同じＷｅｂブラウザ９２０での動作差異の有無を検出することができる。そして、図３で説明したように、動作差異検出結果１２５において動作差異があった場合には、ステップＳ１３のマルチブラウザ動作差異検出が行われ、動作差異がなかった場合には、ステップＳ１１に戻って次の試行対象Ｗｅｂ仕様に対する処理が行われる。
【００７３】
（１−３−３）マルチブラウザ動作差異検出
図７は、マルチブラウザ動作差異検出部の内部構成例を示す図である。
【００７４】
図７に示すように、マルチブラウザ動作差異検出部１３０は、Ｗｅｂブラウザ動作結果取得部１３１と動作差異検出部１３２とを備えて構成される。マルチブラウザ動作差異検出部１３０は、評価用Ｗｅｂページ１８０を入力とし、動作差異情報１９０を出力する。図７を参照しながら、マルチブラウザ動作差異検出部１３０の各内部構成について説明する。
【００７５】
Ｗｅｂブラウザ動作結果取得部１３１は、入力された評価用Ｗｅｂページ１８０を複数の異なるＷｅｂブラウザで表示し、それぞれの「動作の結果」を取得する（Ｗｅｂブラウザ動作結果）。図７では、複数の異なるＷｅｂブラウザとして、ＷｅｂブラウザＸ９２１、ＷｅｂブラウザＹ９２２、及びＷｅｂブラウザＺ９２３が例示されており、これらのＷｅｂブラウザにおけるそれぞれの動作の結果を取得したものとして、ＷｅｂブラウザＸ動作結果１３３、ＷｅｂブラウザＹ動作結果１３４、及びＷｅｂブラウザＺ動作結果１３５が例示されている。なお、各Ｗｅｂブラウザ動作結果に取得する「動作の結果」や、その形式・形態については、シングルブラウザ動作差異検出部１２０の内部構成において前述した基本Ｗｅｂページ動作結果１２３や評価用Ｗｅｂページ候補動作結果１２４と同様であり、繰り返しの説明を省略する。
【００７６】
動作差異検出部１３２は、Ｗｅｂブラウザ動作結果取得部１３１によって取得された各ＷｅｂブラウザのＷｅｂブラウザ動作結果を入力とし、それらの差異を検出することによって、複数のＷｅｂブラウザにおける動作差異を検出する。そして、動作差異検出部１３２は、この検出結果を動作差異情報１９０として出力する。なお、動作差異検出部１３２による差異の検出手法は、シングルブラウザ動作差異検出部１２０の内部構成において前述した動作差異検出部１２２による差異の検出手法と同様に、様々な検出手法を採用することができる。
【００７７】
以上のように構成されることにより、マルチブラウザ動作差異検出部１３０は、シングルブラウザ動作差異検出部１２０から入力された評価用Ｗｅｂページ１８０について、複数のＷｅｂブラウザ（ＷｅｂブラウザＸ９２１，ＷｅｂブラウザＹ９２２，ＷｅｂブラウザＺ９２３）での動作差異、すなわち、当該評価用Ｗｅｂページ１８０における試行対象Ｗｅｂ仕様についての複数のＷｅｂブラウザ間の動作差異を検出することができる。
【００７８】
（１−３−４）動作差異情報生成処理のイメージ
これまで、本実施の形態に係る動作差異情報生成装置１による動作差異情報生成処理について詳しく説明してきた。以下では、具体的なＷｅｂページ例を参照しながら、本実施の形態における動作差異情報生成処理のイメージを確認する。
【００７９】
図８は、動作差異情報生成処理のイメージを説明するための図である。図８は、動作差異情報生成装置１において、入力Ｗｅｂページ１００Ａを入力としたときの「ＷｅｂブラウザＸ」と「ＷｅｂブラウザＹ」における動作差異情報の生成について、具体的なＷｅｂページ例を用いて説明するものである。なお、本例では図８を参照しながら、２種類のＷｅｂブラウザ（ＷｅｂブラウザＸ，ＷｅｂブラウザＹ）を対象とする動作差異情報の生成について説明するが、前述したように、動作差異情報生成装置１は３種類以上のＷｅｂブラウザを対象とする動作差異情報を生成することもできる。
【００８０】
入力Ｗｅｂページ１００Ａは、単一のＨＴＭＬファイルとする。入力Ｗｅｂページ１００Ａで利用されているＷｅｂ仕様は、「<!DOCTYPE html>」、「<html>」、「<body>」、「<em>」、及び「<pre>」の５つである。
【００８１】
動作差異情報生成処理では、まず、Ｗｅｂページ分解部１１０が、Ｗｅｂページ分解を行う。より詳しくは、動作差異情報格納部１４０に格納されている動作差異蓄積情報９００Ａを参照して、入力Ｗｅｂページ１００Ａを基本Ｗｅｂページ１６０Ａと評価用Ｗｅｂページ候補１７０Ａに分解する（図３のステップＳ１１や図４，図５を参照）。
【００８２】
ここで、図８に示した動作差異蓄積情報９００Ａは、動作差異情報１９０が動作差異情報格納部１４０に蓄積されて生成される動作差異蓄積情報９００の一具体例であって、入力Ｗｅｂページ１００Ａの入力時点において既知となっている、Ｗｅｂ仕様ごとのＷｅｂブラウザＸ−ＷｅｂブラウザＹ間の動作差異情報（動作差異の有無）を示している。動作差異蓄積情報９００Ａによれば、入力Ｗｅｂページ１００Ａの入力時点で、「<!DOCTYPE html>」、「<html>」、及び「<body>」の３つのＷｅｂ仕様について、ＷｅｂブラウザＸとＷｅｂブラウザＹとの間の動作差異が「なし」であることが判明している。
【００８３】
したがって、入力Ｗｅｂページ１００Ａ及び動作差異蓄積情報９００Ａの記載内容によれば、「<!DOCTYPE html>」、「<html>」、及び「<body>」の３つのＷｅｂ仕様が「差異なしＷｅｂ仕様」に相当し、「<em>」及び「<pre>」の２つのＷｅｂ仕様が「差異不明Ｗｅｂ仕様」に相当する。
【００８４】
そこで、Ｗｅｂページ分解において、Ｗｅｂページ分解部１１０は、「差異なしＷｅｂ仕様」である「<!DOCTYPE html>」、「<html>」、及び「<body>」を利用して基本Ｗｅｂページ１６０Ａを生成する（図５のステップＳ２４）。「<em>」や「<pre>」のＷｅｂ仕様は、現時点では動作差異の有無が判明していないため、基本Ｗｅｂページ１６０Ａには含めない。さらに、Ｗｅｂページ分解部１１０は、差異不明Ｗｅｂ仕様のうちの１つ（ここでは「<em>」）を試行対象Ｗｅｂ仕様として選択し、これを基本Ｗｅｂページ１６０Ａに追加することによって、評価用Ｗｅｂページ候補１７０Ａを生成する（図５のステップＳ２６）。基本Ｗｅｂページ１６０Ａ及び評価用Ｗｅｂページ候補１７０Ａも、入力Ｗｅｂページ１００Ａと同様、単一のＨＴＭＬファイルとする。
【００８５】
Ｗｅｂページ分解が終わると、次は、シングルブラウザ動作差異検出部１２０が、基本Ｗｅｂページ１６０Ａ及び評価用Ｗｅｂページ候補１７０Ａを入力として、シングルブラウザ動作差異検出を行う。より詳しくは、対象としている何れかのＷｅｂブラウザ（本例ではＷｅｂブラウザＸ）において、基本Ｗｅｂページ１６０Ａと評価用Ｗｅｂページ候補１７０Ａをそれぞれ表示し、両Ｗｅｂページの動作差異を検出する（図３のステップＳ１２や図６を参照）。
【００８６】
ここで、基本Ｗｅｂページ１６０Ａと評価用Ｗｅｂページ候補１７０Ａは、試行対象Ｗｅｂ仕様「<em>」の有無のみが異なるものであるから、両Ｗｅｂページを同じＷｅｂブラウザに表示させたときに動作差異が検出された場合には、差分である試行対象Ｗｅｂ仕様「<em>」が正しく機能していると考えられる。言い換えれば、試行対象Ｗｅｂ仕様「<em>」を正しく機能させるための前提となるＷｅｂ仕様（前提Ｗｅｂ仕様）が基本Ｗｅｂページ１６０Ａに含まれていることを意味する。そしてこの場合、評価用Ｗｅｂページ候補１７０Ａにも前提Ｗｅｂ仕様が含まれることから、評価用Ｗｅｂページ候補１７０Ａは、試行対象Ｗｅｂ仕様「<em>」についての複数のＷｅｂブラウザ間の動作差異を確認するために適したＷｅｂページであり、シングルブラウザ動作差異検出部１２０は、当該評価用Ｗｅｂページ候補１７０Ａを評価用Ｗｅｂページ１８０に決定する。
【００８７】
図８の具体例を確認する。図８には、ＷｅｂブラウザＸにおける基本Ｗｅｂページ１６０Ａの表示例としてＷｅｂ表示１８１が示され、ＷｅｂブラウザＸにおける評価用Ｗｅｂページ候補１７０Ａの表示例としてＷｅｂ表示１８２が示されている。Ｗｅｂ表示１８１とＷｅｂ表示１８２とを比較すると、「ａ」の文字が異なるスタイルで表示される（Ｗｅｂ表示１８２は斜体で表示）という動作差異が見られる。したがって、図８の場合は、試行対象Ｗｅｂ仕様として選択された「<em>」は正しく機能しており、基本Ｗｅｂページ１６０Ａには前提Ｗｅｂ仕様が含まれている。そこで、シングルブラウザ動作差異検出部１２０は、評価用Ｗｅｂページ候補１７０Ａを評価用Ｗｅｂページ１８０Ａとして出力する。
【００８８】
一方、仮に、シングルブラウザ動作差異検出において動作差異が検出されなかった場合には、差分である試行対象Ｗｅｂ仕様「<em>」が正しく機能しておらず、試行対象Ｗｅｂ仕様「<em>」を正しく機能させるための前提Ｗｅｂ仕様が基本Ｗｅｂページ１６０Ａに含まれていないことを意味する。そして、評価用Ｗｅｂページ候補１７０Ａも前提Ｗｅｂ仕様を含んでいないことになるため、評価用Ｗｅｂページ候補１７０Ａは評価用Ｗｅｂページ１８０として適切ではない。したがって、このような場合、動作差異情報生成装置１は、試行対象Ｗｅｂ仕様に選択したＷｅｂ仕様「<em>」について、複数Ｗｅｂブラウザ間の動作差異の検出を行わない。
【００８９】
シングルブラウザ動作差異検出が終わると、次は、マルチブラウザ動作差異検出部１３０が、評価用Ｗｅｂページ１８０Ａを入力として、マルチブラウザ動作差異検出を行う。より詳しくは、マルチブラウザ動作差異検出部１３０は、対象としている全てのＷｅｂブラウザ（本例ではＷｅｂブラウザＸとＷｅｂブラウザＹ）において、評価用Ｗｅｂページ１８０Ａを表示し、動作差異を検出する（図３のステップＳ１３や図７を参照）。
【００９０】
図８の具体例を確認する。評価用Ｗｅｂページ候補１７０Ａは評価用Ｗｅｂページ１８０Ａと同じであるから、Ｗｅｂ表示１８２は、ＷｅｂブラウザＹにおける評価用Ｗｅｂページ１８０Ａの表示例でもある。また、図８には、ＷｅｂブラウザＹにおける評価用Ｗｅｂページ１８０Ａの表示例としてＷｅｂ表示１８３が示されている。Ｗｅｂ表示１８２とＷｅｂ表示１８３とを比較すると、何れも「ａ」の文字が斜体で表示されているものの、表示フォントが異なるという動作差異が見られる。したがって、図８の場合、マルチブラウザ動作差異検出部１３０は、Ｗｅｂ仕様「<em>」の動作差異を「あり」とする動作差異情報１９０を生成し、動作差異情報格納部１４０に格納する。
【００９１】
一方、仮に、Ｗｅｂ表示１８２とＷｅｂ表示１８３との間で動作差異がなかった場合には、マルチブラウザ動作差異検出部１３０は、Ｗｅｂ仕様「<em>」の動作差異を「なし」とする動作差異情報１９０を生成し、動作差異情報格納部１４０に格納する。
【００９２】
そして、動作差異情報格納部１４０は、新たに格納された動作差異情報１９０によって動作差異蓄積情報９００を更新することにより、Ｗｅｂ仕様「<em>」についてのＷｅｂブラウザＸ−ＷｅｂブラウザＹ間の動作差異情報が追加される。
【００９３】
その後は、未試行の「差異不明Ｗｅｂ仕様」（本例では「<pre>」）についても同様に処理を繰り返す。全ての試行が行われることにより、入力Ｗｅｂページ１００Ａに利用されている全てのＷｅｂ仕様は、動作差異あり、動作差異なし、または検出対象外に分けられ、動作差異蓄積情報９００には、Ｗｅｂ仕様ごとの複数のＷｅｂブラウザ間の動作差異情報が蓄積される。
【００９４】
（１−４）動作差異情報表示
動作差異情報表示部１５０による動作差異情報１９０（または動作差異蓄積情報９００）の表示について説明する。
【００９５】
前述したように、動作差異情報表示部１５０は、動作差異情報生成処理とは別に、任意のタイミングで、動作差異情報格納部１４０に格納された動作差異情報１９０（動作差異蓄積情報９００）を読み込み、その内容を表示装置２０に表示出力させることができる。
【００９６】
ここで、動作差異情報１９０の表示形式は、特に限定されるものではなく、様々な表示形式を採用し得る。例えば、２つのＷｅｂブラウザを対象とするＷｅｂ仕様ごとの動作差異情報を表示する場合には、図８に示した動作差異蓄積情報９００Ａのようなテーブルを表示すればよい。
【００９７】
また、動作差異情報表示部１５０は、３つ以上のＷｅｂブラウザを対象とするＷｅｂ仕様ごとの動作差異情報１９０（動作差異蓄積情報９００）を表示させることもできる。
【００９８】
図９は、動作差異情報の出力例を示す図である。図９には、３つのＷｅｂブラウザ（ＷｅｂブラウザＸ，ＷｅｂブラウザＹ，ＷｅｂブラウザＺ）を対象として生成されるＷｅｂ仕様ごとの動作差異情報１９０（動作差異蓄積情報９００）について、具体的な表示例として動作差異情報表示９０１〜９０３が示されている。
【００９９】
図９（Ａ）に示した動作差異情報表示９０１は、対象とする３つのＷｅｂブラウザのうち、２つのＷｅｂブラウザによる組み合わせ（ＷｅｂブラウザＸとＷｅｂブラウザＹ、ＷｅｂブラウザＹとＷｅｂブラウザＺ、ＷｅｂブラウザＸとＷｅｂブラウザＺ）における動作差異情報を表示した例である。カラム９０１Ａには、動作差異情報の表示順番が示され、カラム９０１Ｂには、Ｗｅｂ仕様を特定可能な名称が示され、カラム９０１Ｃには、対象としたＷｅｂブラウザの組み合わせに対応する動作差異の有無が示されている。具体的には、動作差異情報表示９０１によれば、Ｗｅｂ仕様「<body>」について、ＷｅｂブラウザＹとＷｅｂブラウザＺとの間で動作差異が発生することが示される。
【０１００】
動作差異情報表示９０１の表示形式は、複数のＷｅｂブラウザ間で動作差異がある場合に、どのＷｅｂブラウザの組で動作差異が発生するかを明確に出力することができるという利点がある。
【０１０１】
図９（Ｂ）に示した動作差異情報表示９０２は、対象とする全Ｗｅｂブラウザ間の動作差異情報を表示した例である。カラム９０２Ａには、動作差異情報の表示順番が示され、カラム９０２Ｂには、Ｗｅｂ仕様を特定可能な名称が示され、カラム９０２Ｃには、全Ｗｅｂブラウザ間の動作差異の有無が示されている。具体的には、動作差異情報表示９０２によれば、Ｗｅｂ仕様「<body>」について、全Ｗｅｂブラウザ（ＷｅｂブラウザＸ，ＷｅｂブラウザＹ，ＷｅｂブラウザＺ）の間で動作差異が発生することが示される。
【０１０２】
動作差異情報表示９０２の表示形式は、動作差異情報表示９０１よりも少ない情報量で動作差異の有無を出力することができるという利点がある。
【０１０３】
図９（Ｃ）に示した動作差異情報表示９０３は、対象とする全Ｗｅｂブラウザ間の動作差異情報を表示した別例である。カラム９０３Ａには、動作差異情報の表示順番が示され、カラム９０３Ｂには、Ｗｅｂ仕様を特定可能な名称が示されている。そして、カラム９０３Ｃには、動作差異の有無の判断に利用可能な値（例えば、発生率、発生頻度、発生回数等のような判別値）が示されている。具体的には例えば、カラム９０３Ｃに動作差異の発生率を表すとすれば、「０．０」と表記された場合は当該Ｗｅｂ仕様の動作差異が発生しないことを意味し、「０．５」と表記された場合は５０％で動作差異が発生することを意味し、「１．０」と表記された場合は常に動作差異が発生することを意味する。
【０１０４】
このように、本実施の形態における動作差異情報の出力では、必ずしも動作差異の有無を直接出力する必要はなく、動作差異の有無の判断に利用可能な値を出力するようにしてもよい。なお、動作差異情報の出力形式は任意であるとしたが、Ｗｅｂ仕様ごとの複数のＷｅｂブラウザ間における動作差異を出力するためには、動作差異に対応する「Ｗｅｂ仕様」及び「複数のＷｅｂブラウザ」を特定可能な情報が少なくとも出力される必要がある。
【０１０５】
（１−５）まとめ
以上に説明してきたように、本実施の形態における動作差異情報生成装置１によれば、複数のＷｅｂ仕様について、Ｗｅｂ仕様ごとに複数のＷｅｂブラウザ間における動作差異の有無を検出し、検出結果に基づいて動作差異情報を正確に生成することができる。さらに、この出力される検出結果を参照することで、Ｗｅｂブラウザ間の動作差異の要因となるＷｅｂ仕様を特定することができるため、Ｗｅｂページ関係者に対して、複数種類のＷｅｂブラウザにおいて意図した通りの動きをするようにＷｅｂページを開発することを支援する効果が得られる。
【０１０６】
ここで、本実施の形態における動作差異情報生成装置１がＷｅｂ仕様ごとに複数のＷｅｂブラウザ間における動作差異の有無を「正確に」検出できることについて、詳しく補足説明する。
【０１０７】
従来、多くのＷｅｂ仕様には、当該Ｗｅｂ仕様を使う際に組み合わせて利用すべき前提となるＷｅｂ仕様（前提Ｗｅｂ仕様）が存在する。このため、動作差異の有無が不明なＷｅｂ仕様について、当該Ｗｅｂ仕様を追加した評価用のＷｅｂページを作成してその動作差異の有無を検証しようとする際には、当該Ｗｅｂ仕様を加える前のＷｅｂページに当該Ｗｅｂ仕様の前提Ｗｅｂ仕様が含まれていなければ、正しく動作差異の有無を検出したことにならない。
【０１０８】
前提Ｗｅｂ仕様に関する上記の課題に対して、本発明では、それぞれのＷｅｂ仕様はＷｅｂブラウザで何らかの動作を変更するものであることに着目し、試行対象Ｗｅｂ仕様として動作差異の有無が不明なＷｅｂ仕様を加える前後のＷｅｂページ（基本Ｗｅｂページ１６０と評価用Ｗｅｂページ候補１７０）において、何らかの動作差異が発生することを確認することによって、当該Ｗｅｂ仕様の前提Ｗｅｂ仕様が十分に含まれていることを確認するようにしている。具体的には、シングルブラウザ動作差異検出において、基本Ｗｅｂページ１６０と評価用Ｗｅｂページ候補１７０とを同一条件（同じＷｅｂブラウザ）で表示させて、動作差異が発生した場合に、試行対象Ｗｅｂ仕様の前提Ｗｅｂ仕様が十分に含まれていると判断して、評価用Ｗｅｂページ候補１７０を評価用Ｗｅｂページ１８０に決定する。このような処理を行うことによって、本実施の形態における動作差異情報生成装置１は、より正確に動作差異情報１９０を生成することができる。
【０１０９】
またさらに、生成した動作差異情報１９０を蓄積し、次の動作差異情報１９０の生成時には、蓄積された最新の動作差異情報１９０を活用することにより、新たな動作差異情報１９０を自動で次々に生成することができるため、正確な動作差異情報１９０を効率的に蓄積することができる。
【０１１０】
（２）第２の実施の形態
図１０は、第２の実施の形態に係る動作差異情報生成装置の機能構成例を示す図である。第２の実施の形態に係る動作差異情報生成装置２は、第１の実施の形態に係る動作差異情報生成装置１による機能に、前提Ｗｅｂ仕様を特定する機能を追加するものである。
【０１１１】
なお、以下に説明する本発明の第２の実施の形態、並びに、その後に説明する本発明の第３〜第８の実施の形態は、前述した第１の実施の形態に所定の機能を追加するものである。したがって、各実施の形態では、第１の実施の形態と異なる点を中心に説明し、共通する部分については基本的に説明を省略する。例えば、第２の〜第８の実施の形態に係る動作差異情報生成装置のハードウェア構成は、図１に示した第１の実施の形態に係る動作差異情報生成装置１と同様であり、各機能構成を実現するハードウェア構成の対応関係についても、第１の実施の形態と同様である。
【０１１２】
図１０に示したように、動作差異情報生成装置２は、Ｗｅｂページ分解部２１０と、シングルブラウザ動作差異検出部１２０と、マルチブラウザ動作差異検出部２３０と、動作差異情報格納部２４０と、及び動作差異情報表示部２５０と、を備えて構成される。
【０１１３】
動作差異情報生成装置２は、１つのＷｅｂ仕様に対して複数種類の基本Ｗｅｂページ１６０を作成し、各基本Ｗｅｂページ１６０について動作差異の有無を検出することによって、対象とするＷｅｂ仕様（試行対象Ｗｅｂ仕様）の前提Ｗｅｂ仕様を特定する。
【０１１４】
本実施の形態における前提Ｗｅｂ仕様の特定方法として、例えば、動作差異情報生成装置２は、１つの試行対象Ｗｅｂ仕様に対する動作差異情報２９０を生成する際に、当該試行対象Ｗｅｂ仕様の前提Ｗｅｂ仕様を示す情報を動作差異情報２９０に含めるようにする。さらに、動作差異情報生成装置２は、当該試行対象Ｗｅｂ仕様について、基本Ｗｅｂページ１６０を少しずつ変化させながら動作差異情報２９０の生成を繰り返し実行し、動作差異情報２９０に含まれる前提Ｗｅｂ仕様の情報を更新する。このように動作差異情報２９０を繰り返し生成する（更新する）ことにより、最終的には当該試行対象Ｗｅｂ仕様の前提Ｗｅｂ仕様を特定することができる。
【０１１５】
上記の前提Ｗｅｂ仕様の特定方法について、動作差異情報２９０の１回目の生成と２回目以降の生成とに分けて、より詳しく説明する。
【０１１６】
まず、動作差異情報２９０の１回目の生成では、第１の実施の形態と同様に、Ｗｅｂページ分解部２１０が入力Ｗｅｂページ１００を分解して基本Ｗｅｂページ１６０及び評価用Ｗｅｂページ候補１７０を生成し、シングルブラウザ動作差異検出部１２０が、両Ｗｅｂページを用いてシングルブラウザ動作差異検出を行う。シングルブラウザ動作差異検出で動作差異が検出された場合は、評価用Ｗｅｂページ候補１７０は評価用Ｗｅｂページ１８０とされ、マルチブラウザ動作差異検出部１３０が、評価用Ｗｅｂページ１８０を用いてマルチブラウザ動作差異検出を行う。そして、マルチブラウザ動作差異検出部２３０は、動作差異の検出結果に基づいて動作差異情報２９０を生成し、動作差異情報格納部２４０に蓄積させる（動作差異蓄積情報２９１）。
【０１１７】
但し、１回目の生成において、第１の実施の形態と異なる点として、マルチブラウザ動作差異検出部２３０は、試行対象Ｗｅｂ仕様の複数のＷｅｂブラウザ間の動作差異を示す情報だけでなく、試行対象Ｗｅｂ仕様の「仮の前提Ｗｅｂ仕様」を示す情報も含む形式で、動作差異情報２９０を生成する。なお、「仮の前提Ｗｅｂ仕様」とは、基本Ｗｅｂページ１６０に利用されたＷｅｂ仕様に相当する。１回目において、基本Ｗｅｂページ１６０に利用されるＷｅｂ仕様は、入力Ｗｅｂページ１００で利用されているＷｅｂ仕様（利用Ｗｅｂ仕様）のうち、複数のＷｅｂブラウザ間で動作差異がないことが判明しているＷｅｂ仕様（差異なしＷｅｂ仕様）の全てが選択されるとする。
【０１１８】
例えば図１０には、動作差異情報２９０の一具体例として、動作差異情報２９０Ａが示されている。動作差異情報２９０Ａの場合、Ｗｅｂ仕様「<em>」について、複数Ｗｅｂブラウザ間の動作差異が「なし」であることが記載されている他、その前提Ｗｅｂ仕様（または仮の前提Ｗｅｂ仕様）として「<!DOCTYPE html>」、「<html>」、及び「<body>」が記載されている。また、図１０には、動作差異情報２９０Ａが動作差異情報格納部２４０に蓄積された場合の動作差異蓄積情報２９１の一具体例として、動作差異蓄積情報２９１Ａが示されている。動作差異蓄積情報２９１Ａによれば、複数のＷｅｂ仕様について、動作差異の有無を示す情報、及び前提Ｗｅｂ仕様を示す情報を有することが分かる。
【０１１９】
次に、動作差異情報２９０の２回目以降の生成では、Ｗｅｂページ分解部２１０は、動作差異情報格納部２４０に蓄積された動作差異蓄積情報２９１を参照し、現時点で「仮の前提Ｗｅｂ仕様」とされたＷｅｂ仕様のうちから、何れか１つ以上のＷｅｂ仕様を除外して、２回目以降の基本Ｗｅｂページ１６０を生成する。そして、この２回目以降の基本Ｗｅｂページ１６０に、１回目と同じ試行対象Ｗｅｂ仕様を加えて、２回目以降の評価用Ｗｅｂページ候補１７０を生成する。
【０１２０】
なお、２回目以降の基本Ｗｅｂページ１６０の生成において除外するＷｅｂ仕様をどのように選択するかについて、前提Ｗｅｂ仕様に関する既知の情報（例えば動作差異蓄積情報２９１等）に基づいて、全体的な効率化を図るようにしてもよい。具体的には、前提Ｗｅｂ仕様の従属関係が分かっている場合には、該当する一群のＷｅｂ仕様をまとめて除外するような選択処理を行うことにより、効率化に期待できる。
【０１２１】
２回目以降の基本Ｗｅｂページ１６０及び評価用Ｗｅｂページ候補１７０が生成された後は、１回目と同様に、シングルブラウザ動作差異検出やマルチブラウザ動作差異検出が行われる。この結果、動作差異の検出結果が変化しなかった場合は、基本Ｗｅｂページ１６０の生成時に除外したＷｅｂ仕様が試行対象Ｗｅｂ仕様の前提Ｗｅｂ仕様ではないことを意味する。そこでこのような場合、動作差異情報２９０において、基本Ｗｅｂページ１６０から除外したＷｅｂ仕様を「仮の前提Ｗｅｂ仕様」から除外することにより、動作差異情報格納部２４０の動作差異蓄積情報２９１を更新する。
【０１２２】
図１０を例にとると、２回目の基本Ｗｅｂページ１６０の生成においてＷｅｂ仕様「<body>」が除外され、このとき、シングルブラウザ動作差異検出またはマルチブラウザ動作差異検出において動作差異の検出結果が変化しなかった（本例では、動作差異がなしであった）場合には、Ｗｅｂ仕様「<body>」はＷｅｂ仕様「<em>」の前提Ｗｅｂ仕様ではないと判断されるため、動作差異情報２９０Ａや動作差異蓄積情報２９１Ａにおける前提Ｗｅｂ仕様欄の<body>が除外されることになる。
【０１２３】
一方、シングルブラウザ動作差異検出やマルチブラウザ動作差異検出において、動作差異の検出結果が変化した場合は、基本Ｗｅｂページ１６０の生成時に除外したＷｅｂ仕様が試行対象Ｗｅｂ仕様の前提Ｗｅｂ仕様であることを意味する。そこでこのような場合、基本Ｗｅｂページ１６０から除外したＷｅｂ仕様を、動作差異情報２９０における前提Ｗｅｂ仕様の１つとして確定させ、動作差異情報格納部２４０の動作差異蓄積情報２９１を更新する。
【０１２４】
以上の２回目以降の処理を「仮の前提Ｗｅｂ仕様」の全てについて繰り返すことにより、最終的には試行対象Ｗｅｂ仕様の前提Ｗｅｂ仕様を全て特定することができる。
【０１２５】
そして、動作差異情報表示部２５０は、動作差異情報格納部２４０に蓄積された動作差異情報２９０（動作差異蓄積情報２９１）を出力することにより、Ｗｅｂ仕様ごとの複数Ｗｅｂブラウザ間の動作差異情報だけでなく、当該Ｗｅｂ仕様の前提Ｗｅｂ仕様も出力することができる。なお、前提Ｗｅｂ仕様を出力する際、Ｗｅｂ仕様と前提Ｗｅｂ仕様との関係（Ｗｅｂ仕様間の依存関係）をグラフやツリーなどの形式で表示する等してもよい。
【０１２６】
以上に説明したように、第２の実施の形態に係る動作差異情報生成装置２によれば、第１の実施の形態に係る動作差異情報生成装置１によって得られる効果に加えて、それぞれのＷｅｂ仕様を正しく機能させるための前提Ｗｅｂ仕様も特定することができる。そのため、Ｗｅｂページの開発をより強力に支援する効果に期待できる。
【０１２７】
（３）第３の実施の形態
図１１は、第３の実施の形態に係る動作差異情報生成装置の機能構成例を示す図である。第３の実施の形態に係る動作差異情報生成装置３は、第１の実施の形態に係る動作差異情報生成装置１による機能に、複数のＷｅｂ仕様をＷｅｂページ内で同時に利用した際に発生する動作差異の有無を特定する機能を追加するものである。
【０１２８】
図１１に示したように、動作差異情報生成装置３は、Ｗｅｂページ分解部３１０と、シングルブラウザ動作差異検出部１２０と、マルチブラウザ動作差異検出部３３０と、動作差異情報格納部３４０と、及び動作差異情報表示部３５０と、を備える。
【０１２９】
第１の実施の形態に係る動作差異情報生成装置１は、１つのＷｅｂ仕様ごとに複数のＷｅｂブラウザ間の動作差異を示す情報（動作差異情報１９０）を生成するものであったが、本実施の形態に係る動作差異情報生成装置３は、それに加えて、複数のＷｅｂ仕様の組について複数のＷｅｂブラウザ間の動作差異を示す情報（動作差異情報３９０）を生成することができるようにしたものである。以下に、このような動作差異情報３９０の生成方法について詳しく説明する。
【０１３０】
まず、Ｗｅｂページ分解部３１０は、入力Ｗｅｂページ１００を入力とするＷｅｂページ分解において、差異不明Ｗｅｂ仕様一覧１１７（図４参照）に含まれるＷｅｂ仕様ではなく、差異なしＷｅｂ仕様一覧１１８（図４参照）から２つ以上のＷｅｂ仕様による組を選択し、これを「試行対象Ｗｅｂ仕様の組」として基本Ｗｅｂページ１６０に加えて、評価用Ｗｅｂページ候補３７０を生成する。
【０１３１】
次に、シングルブラウザ動作差異検出部１２０は、動作差異情報１９０の生成時と同様に、基本Ｗｅｂページ１６０及び評価用Ｗｅｂページ候補３７０を入力とするシングルブラウザ動作差異検出を行う。ここで動作差異が検出されなければ、評価用Ｗｅｂページ候補３７０が評価用Ｗｅｂページ３８０とされる。
【０１３２】
次に、マルチブラウザ動作差異検出部３３０が、評価用Ｗｅｂページ３８０を入力とするマルチブラウザ動作差異検出を行って、動作差異情報３９０を生成する。図１１には、複数のＷｅｂ仕様の組について複数のＷｅｂブラウザ間の動作差異を示す動作差異情報３９０の一具体例として、動作差異情報３９０Ａが示されている。動作差異情報３９０Ａを参照すると、「<head>」及び「<body>」からなるＷｅｂ仕様の組について、複数のＷｅｂブラウザ間の動作差異が「なし」であることが記載されている。このような動作差異情報３９０は、動作差異情報１９０と同様に動作差異情報格納部３４０に格納（蓄積）される。
【０１３３】
その後は、差異なしＷｅｂ仕様一覧１１８に含まれるＷｅｂ仕様から未試行の複数のＷｅｂ仕様の組を選択して上記の処理を繰り返し実行することによって、Ｗｅｂ仕様の組ごとの複数のＷｅｂブラウザ間の動作差異の有無を動作差異情報格納部３４０に蓄積することができる。なお、動作差異情報格納部３４０は、動作差異情報１９０と動作差異情報３９０とを別々に蓄積するようにしてもよいし、１つの動作差異蓄積情報にまとめて蓄積するようにしてもよい。
【０１３４】
そして、動作差異情報表示部３５０は、動作差異情報格納部３４０に蓄積された情報を出力することにより、個々のＷｅｂ仕様ごとの複数のＷｅｂブラウザ間の動作差異の有無だけでなく、複数のＷｅｂ仕様の組ごとの複数のＷｅｂブラウザ間の動作差異の有無をも表示することができる。
【０１３５】
以上、第３の実施の形態に係る動作差異情報生成装置３は、単独のＷｅｂ仕様について動作差異の有無を検証した後に、Ｗｅｂ仕様の組を選択して再び動作差異の有無を検出するものである。その結果、複数のＷｅｂブラウザ間における動作差異の有無について、１つずつのＷｅｂ仕様における動作差異の有無を検出するだけでなく、Ｗｅｂ仕様の組における動作差異の有無も検出することができるため、第１の実施の形態よりも高い精度で動作差異の有無を検出することができる。単独では動作差異が発生しなくても、所定の組合せで動作差異が発生するというＷｅｂ仕様が存在するとき、本実施の形態によれば、当該組合せが動作差異の発生要因となることを特定することができる。
【０１３６】
（４）第４の実施の形態
図１２は、第４の実施の形態に係る動作差異情報生成装置の機能構成例を示す図である。第４の実施の形態に係る動作差異情報生成装置４は、第１の実施の形態に係る動作差異情報生成装置１による機能に、生成した動作差異情報の精度に関する参考情報を格納する機能を追加するものである。
【０１３７】
図１２に示したように、動作差異情報生成装置４は、Ｗｅｂページ分解部４１０と、シングルブラウザ動作差異検出部１２０と、マルチブラウザ動作差異検出部４３０と、動作差異情報格納部４４０と、動作差異情報表示部４５０と、を備える。
【０１３８】
ここで、第１の実施の形態では、Ｗｅｂページ分解部１１０が、入力Ｗｅｂページ１００の分解において、試行対象Ｗｅｂ仕様として選択した差異不明Ｗｅｂ仕様一覧１１７に含まれるＷｅｂ仕様の１つを基本Ｗｅｂページ１６０に加えて評価用Ｗｅｂページ候補１７０を生成し（図４参照）、次のシングルブラウザ動作差異検出において、基本Ｗｅｂページ１６０と評価用Ｗｅｂページ候補１７０との間で動作差異がなければ、当該評価用Ｗｅｂページ候補１７０を評価用Ｗｅｂページ１８０として、マルチブラウザ動作差異検出を行い、検出結果に基づいて動作差異情報１９０を生成していた。
【０１３９】
これに対し、第４の実施の形態では、動作差異の有無を検証したＷｅｂ仕様について、評価用Ｗｅｂページ候補４７０（評価用Ｗｅｂページ４８０）に利用されるＷｅｂ仕様を変化させながら、繰り返し、動作差異の有無を検証することによって、当該Ｗｅｂ仕様における複数のＷｅｂブラウザ間の動作差異情報について、精度に関する参考情報を取得する。
【０１４０】
具体的には、本実施の形態では、動作差異の有無の繰り返しの検証時に、Ｗｅｂページ分解部４１０が、試行対象Ｗｅｂ仕様（差異不明Ｗｅｂ仕様一覧１１７に含まれるＷｅｂ仕様の１つ）だけでなく、差異なしＷｅｂ仕様一覧１１８や差異ありＷｅｂ仕様一覧１１９に含まれるＷｅｂ仕様を１つ、基本Ｗｅｂページ１６０に加えて、評価用Ｗｅｂページ候補４７０を生成する。そして、シングルブラウザ動作差異検出部１２０は、シングルブラウザ動作差異検出において、この評価用Ｗｅｂページ候補４７０と基本Ｗｅｂページ１６０との間で動作差異がなければ、当該評価用Ｗｅｂページ候補４７０を評価用Ｗｅｂページ４８０とする。
【０１４１】
そして、マルチブラウザ動作差異検出部４３０は、評価用Ｗｅｂページ４８０を用いてマルチブラウザ動作差異検出を行い、動作差異情報４９０を生成する。この動作差異情報４９０には、第１の実施の形態で説明した動作差異情報１９０の内容に加えて、動作差異の有無の回数や、動作差異の有無を特定できる値の平均値等の情報が追加される。
【０１４２】
図１２には、動作差異情報４９０の一具体例として動作差異情報４９０Ａが示されている。動作差異情報４９０Ａの場合、Ｗｅｂ仕様「<body>」について、動作差異なしと判定された回数が２回で、動作差異ありと判定された回数が０回であることが記載されている。この場合、単に動作差異が「なし」という動作差異の有無だけでなく、その検出回数が参考情報として添えられることにより、その検出回数が多ければ、検出結果に基づく動作差異の有無の精度（信頼度）が高いと判断することができる。
【０１４３】
そして、動作差異の有無が繰り返し検証され、上記のように参考情報が添えられた動作差異情報４９０が動作差異情報格納部４４０に蓄積されることにより、動作差異情報生成装置４は、各Ｗｅｂ仕様について複数のＷｅｂブラウザ間の動作差異の有無を示す動作差異情報を精度付きで蓄積することができる（動作差異蓄積情報）。その結果、動作差異情報表示部４５０は、Ｗｅｂ仕様ごとの複数のＷｅｂブラウザ間の動作差異情報の出力に際して、当該情報の精度の参考になる参考情報をも合わせて出力することができる。
【０１４４】
以上、第４の実施の形態に係る動作差異情報生成装置４は、第３の実施の形態に係る動作差異情報生成装置３と同様に、単独のＷｅｂ仕様について動作差異の有無を検証した後に、検証のための条件を変更しながら動作差異の有無を繰り返し検証するものである。その結果、Ｗｅｂ仕様ごとの複数のＷｅｂブラウザ間の動作差異の有無について、より精度の高い検証結果を得ることができ、さらにその精度の根拠となる参考情報を出力することができる。すなわち、第４の実施の形態に係る動作差異情報生成装置４は、第１の実施の形態よりも高い精度で動作差異の有無を検出することができる。なお、第３の実施の形態と第４の実施の形態とを比較すると、動作差異の有無に関する精度の点では、第３の実施の形態のほうが効果的となるが、情報処理の負荷の点では、第４の実施の形態のほうが効果的である。
【０１４５】
（５）第５の実施の形態
図１３は、第５の実施の形態に係る動作差異情報生成装置の機能構成例を示す図である。第５の実施の形態に係る動作差異情報生成装置５は、第１の実施の形態に係る動作差異情報生成装置１による機能に、動作差異情報（動作差異蓄積情報）を表示する際に、指定した調査対象Ｗｅｂページで利用しているＷｅｂ仕様に関する動作差異情報を表示する機能を追加するものである。
【０１４６】
図１３に示したように、第５の実施の形態に係る動作差異情報生成装置５は、Ｗｅｂページ分解部１１０と、シングルブラウザ動作差異検出部１２０と、マルチブラウザ動作差異検出部１３０と、動作差異情報格納部１４０と、動作差異情報表示部５５０と、を備える。第５の実施の形態における第１の実施の形態との相違点は、動作差異情報格納部１４０に蓄積された動作差異情報１９０（動作差異蓄積情報）の動作差異情報表示部５５０による出力方法であり、それ以外の点、例えば、動作差異情報１９０を生成する処理については、第１の実施の形態と同様である。
【０１４７】
図１３に示したように、第５の実施の形態では、動作差異情報表示部５５０には、調査対象Ｗｅｂページ５００が入力される構成となっている。調査対象Ｗｅｂページ５００は、動作差異情報の調査対象とされるＷｅｂページであって、例えば、Ｗｅｂページ関係者が開発しようとするＷｅｂページ等が指定される。
【０１４８】
そして、動作差異情報表示部５５０は、動作差異情報格納部１４０を参照して得られるＷｅｂ仕様ごとの複数のＷｅｂブラウザ間の動作差異情報１９０（動作差異蓄積情報）のうち、調査対象Ｗｅｂページ５００で利用されているＷｅｂ仕様に関する動作差異情報のみを抽出し、抽出した動作差異情報を表示装置２０等に出力する。なお、調査対象Ｗｅｂページ５００で利用されているＷｅｂ仕様を特定する際には、図４で説明したＷｅｂページパーサ部１１１を利用してもよい。
【０１４９】
上記のように、第５の実施の形態によれば、Ｗｅｂ仕様ごとに蓄積される複数のＷｅｂブラウザ間の動作差異情報にフィルタを掛けて、指定された調査対象Ｗｅｂページ５００で利用されているＷｅｂ仕様の動作差異情報だけを出力（表示）することができるため、Ｗｅｂページ開発者等の利用者に対して、必要なＷｅｂ仕様の動作差異情報を分かりやすく提示することができる。
【０１５０】
（６）第６の実施の形態
図１４は、第６の実施の形態に係る動作差異情報生成装置の機能構成例を示す図である。第６の実施の形態に係る動作差異情報生成装置６は、第１の実施の形態に係る動作差異情報生成装置１による機能に、インターネット上などから入力Ｗｅｂページを効率よく自動収集する機能を追加するものである。
【０１５１】
図１４に示したように、第６の実施の形態に係る動作差異情報生成装置６は、第１の実施の形態に係る動作差異情報生成装置１の機能構成（図２参照）に、Ｗｅｂクローラ６００が追加されて構成される。
【０１５２】
Ｗｅｂクローラ６００は、Ｗｅｂページを周期的に取得して自動的にデータベース化するプログラムであって、外部記憶装置５０に格納された所定のコンピュータプログラムがＣＰＵ１０に実行されることによって以下の処理を実行する。
【０１５３】
まず、Ｗｅｂクローラ６００は、インターネット上からＷｅｂページを自動収集し、収集したＷｅｂページに含まれるＷｅｂ仕様をＷｅｂページパーサ部１１１（図４参照）等を利用して特定する。次に、Ｗｅｂクローラ６００は動作差異情報格納部１４０を参照し、先に特定したＷｅｂ仕様が、動作差異情報格納部１４０に動作差異情報が蓄積されていないＷｅｂ仕様であった場合に、当該収集したＷｅｂページを入力Ｗｅｂページ１００とする。
【０１５４】
以上のように動作することにより、Ｗｅｂクローラ６００は、動作差異情報格納部１４０に蓄積されていないＷｅｂ仕様を含むＷｅｂページをインターネット上から自動収集し、この自動収集したＷｅｂページを入力Ｗｅｂページ１００とすることができる。
【０１５５】
このような第５の実施の形態によれば、複数のＷｅｂブラウザ間の動作差異情報が検証されていないＷｅｂ仕様を含むＷｅｂページを自動収集して入力Ｗｅｂページ１００とすることができるため、動作差異情報の生成を効率よく実行することができ、早期に検証結果の蓄積を充実させることに期待できる。
【０１５６】
（７）第７の実施の形態
図１５は、第７の実施の形態に係る動作差異情報生成装置の機能構成例を示す図である。第７の実施の形態に係る動作差異情報生成装置７は、第１の実施の形態に係る動作差異情報生成装置１による機能に、Ｗｅｂブラウザのバージョンアップ等に伴って動作差異情報を効率よく再生成する機能を追加するものである。
【０１５７】
図１５に示したように、第７の実施の形態に係る動作差異情報生成装置７は、Ｗｅｂページ分解部１１０と、シングルブラウザ動作差異検出部１２０と、マルチブラウザ動作差異検出部７３０と、動作差異情報格納部１４０と、動作差異情報表示部７５０と、評価用Ｗｅｂページ格納部７００と、を備える。
【０１５８】
評価用Ｗｅｂページ格納部７００は、マルチブラウザ動作差異検出に用いられた評価用Ｗｅｂページ１８０を格納する機能を有する。評価用Ｗｅｂページ格納部７００は、例えばメモリ３０や外部記憶装置５０によって実現されるとするが、ネットワーク通信装置６０を介して接続される外部の記憶手段によって実現されてもよい。
【０１５９】
第１の実施の形態でも述べたように、本発明の動作差異情報生成装置は、バージョンや実行環境が異なるＷｅｂブラウザを別のＷｅｂブラウザとして扱うため、例えば、Ｗｅｂブラウザのバージョンアップが行われる場合には、Ｗｅｂ仕様ごとの複数のＷｅｂブラウザ間の動作差異情報を再作成する必要がある。このとき、第１の実施の形態では、バージョンアップ前と同様の処理を繰り返して、バージョンアップ後のＷｅｂブラウザとその他のＷｅｂブラウザとの間における動作差異の有無を再検出することになるが、第７の実施の形態に係る動作差異情報生成装置７は、以下のような処理を行うことによって、より効率的にバージョンアップ後のＷｅｂブラウザに関する動作差異の有無を再検出することができる。
【０１６０】
すなわち、動作差異情報生成装置７では、バージョンアップ前のＷｅｂブラウザに関して動作差異の有無を検出した際に用いられた評価用Ｗｅｂページ１８０が、評価用Ｗｅｂページ格納部７００に格納されているため、バージョンアップ後のＷｅｂブラウザに関してマルチブラウザ動作差異検出を行う際は、上記格納された評価用Ｗｅｂページ１８０を流用する。この結果、Ｗｅｂページ分解部１１０による入力Ｗｅｂページ１００の分解を再度行う必要がなくなるため、処理負担を軽減して効率よく、バージョンアップ後のＷｅｂブラウザに関する動作差異の有無を検出することができる。なお、上記格納された評価用Ｗｅｂページ１８０は、マルチブラウザ動作差異検出だけでなく、シングルブラウザ動作差異検出にも流用するようにしてもよい。
【０１６１】
なお、本実施の形態では、上記のように流用した評価用Ｗｅｂページ１８０を用いて動作差異の有無を検出し、その検出結果に基づいて生成される動作差異情報１９０を動作差異情報格納部１４０に格納する際、Ｗｅｂブラウザのバージョンアップに伴う動作差異の有無の変化を示す補足情報を合わせて格納するようにしてもよい。このような補足情報を格納することにより、動作差異情報表示部７５０が蓄積された動作差異情報１９０（動作差異蓄積情報）を出力する場合に、Ｗｅｂブラウザのバージョン変更に伴う動作差異の有無の変化を明確に表示することができる。
【０１６２】
例えば、図１５には、動作差異情報表示部７５０による動作差異情報表示７５１の一具体例として、動作差異情報表示７５１Ａを例示している。動作差異情報表示７５１Ａによると、Ｗｅｂ仕様「<!DOCTYPE html>」及び「<head>」について、Ｗｅｂブラウザのバージョン「Ｖ１」と「Ｖ２」との間においては、両者ともに動作差異の変化はない（何れも動作差異「なし」である）が、バージョン「Ｖ２」と「Ｖ３」との間においては、前者に動作差異の変化がある（動作差異が「あり」となる）ことが分かる。
【０１６３】
なお、図１５の動作差異情報表示７５１は表示の一例に過ぎず、本実施形態における表示態様はこれに限定されるものではない。例えば、同種別のＷｅｂブラウザ間のバージョン比較だけでなく、異なる種別のＷｅｂブラウザ間のバージョン比較の結果も表示することが好ましい。
【０１６４】
（８）第８の実施の形態
図１６は、第８の実施の形態に係る動作差異情報生成装置の機能構成例を示す図である。
【０１６５】
これまでに説明した第１〜第７の実施の形態では、１つの試行対象Ｗｅｂ仕様について、単独では動作差異が発生しない場合（すなわち、シングルブラウザ動作差異検出で動作差異が発生しない場合）には、動作差異情報が生成されなかった。しかし、Ｗｅｂ仕様のなかには、他のＷｅｂ仕様と組み合わせて利用することが前提となっているＷｅｂ仕様が存在する（具体的には例えば、Ｗｅｂ仕様「<body>」や「<table>」等が相当し得る）。
【０１６６】
そこで、第８の実施の形態では、あるＷｅｂ仕様（例えばＷｅｂ仕様αと称する）について、それ単独では動作差異が発生しない場合に、別のＷｅｂ仕様（例えばＷｅｂ仕様βと称する）との組み合わせによって動作差異が発生するか否かを検証することによって、組み合わせを利用の前提とするＷｅｂ仕様についても、複数のＷｅｂブラウザ間の動作差異の有無を検出できるようにすることを特徴とする。なお例えば、Ｗｅｂ仕様βは、入力Ｗｅｂページ１００に利用されているＷｅｂ仕様のうち、動作差異が発生すると判明していない任意のＷｅｂ仕様（すなわち、差異不明Ｗｅｂ仕様または差異なしＷｅｂ仕様）の何れかとする。
【０１６７】
図１６に示したように、第８の実施の形態に係る動作差異情報生成装置８は、Ｗｅｂページ分解部８１０と、シングルブラウザ動作差異検出部８２０と、マルチブラウザ動作差異検出部８３０と、動作差異情報格納部１４０と、動作差異情報表示部１５０と、シングルブラウザ差異なしＷｅｂ仕様格納部８００と、を備える。
【０１６８】
シングルブラウザ差異なしＷｅｂ仕様格納部８００は、シングルブラウザ動作差異検出部８２０によるシングルブラウザ動作差異検出において動作差異がなかったときの評価用Ｗｅｂページ候補８７０を格納する機能を有する。シングルブラウザ差異なしＷｅｂ仕様格納部８００は、例えばメモリ３０や外部記憶装置５０によって実現されるとするが、ネットワーク通信装置６０を介して接続される外部の記憶手段によって実現されてもよい。
【０１６９】
以下では、動作差異情報生成装置８が、組み合わせを利用の前提とするＷｅｂ仕様に対して複数のＷｅｂブラウザ間の動作差異の有無を検出する方法について、上記のＷｅｂ仕様αとＷｅｂ仕様βとを用いて説明する。なお、以下の説明は、第１の実施の形態とは異なる処理についてのみ説明するものである。
【０１７０】
まず、Ｗｅｂページ分解部８１０が、入力Ｗｅｂページ１００のＷｅｂページ分解において、Ｗｅｂ仕様αに関する基本Ｗｅｂページ８６０Ａ及び評価用Ｗｅｂページ候補８７０Ａを生成する。言い換えれば、Ｗｅｂ仕様αを試行対象Ｗｅｂ仕様として選択し、基本Ｗｅｂページ８６０ＡにＷｅｂ仕様αを追加して評価用Ｗｅｂページ候補８７０Ａを生成する。
【０１７１】
次に、シングルブラウザ動作差異検出部８２０が、シングルブラウザ動作差異検出において、同一Ｗｅｂページを用いて基本Ｗｅｂページ８６０Ａと評価用Ｗｅｂページ候補８７０Ａとの間の動作差異の有無を検出する。ここで、両Ｗｅｂページの間で動作差異が検出されなかった場合に、評価用Ｗｅｂページ候補８７０Ａをシングルブラウザ差異なしＷｅｂ仕様格納部８００に格納する。このとき、Ｗｅｂ仕様αを特定可能な情報を併せて格納してもよい。
【０１７２】
次に、動作差異情報生成装置８は、動作差異が検出されなかったＷｅｂ仕様αについて、他のＷｅｂ仕様（ここではＷｅｂ仕様β）との組み合わせによる動作差異の有無を検証するための処理を開始する。具体的には、Ｗｅｂページ分解部８１０が、Ｗｅｂページ分解において、シングルブラウザ差異なしＷｅｂ仕様格納部８００に格納した評価用Ｗｅｂページ候補８７０Ａを基本Ｗｅｂページ１６０Ｂとし、これにＷｅｂ仕様βを加えて評価用Ｗｅｂページ候補８７０Ｂを生成する。
【０１７３】
そして、シングルブラウザ動作差異検出部８２０が、シングルブラウザ動作差異検出において、同一Ｗｅｂページを用いて基本Ｗｅｂページ８６０Ｂと評価用Ｗｅｂページ候補８７０Ｂとの間の動作差異の有無を検出する。ここで、両Ｗｅｂページの間で動作差異が検出されなかった場合には、Ｗｅｂ仕様αと他のＷｅｂ仕様（例えばＷｅｂ仕様γ）の組み合わせによる動作差異の検出に移行してもよいし、現在の組み合わせ（Ｗｅｂ仕様αとＷｅｂ仕様β）にさらに他のＷｅｂ仕様γを追加した組み合わせによる動作差異の検出に移行してもよい。前者の場合は、シングルブラウザ差異なしＷｅｂ仕様格納部８００に格納された評価用Ｗｅｂページ候補８７０Ａを再活用して上記の処理を繰り返せばよく、後者の場合は、評価用Ｗｅｂページ候補８７０Ｂをシングルブラウザ差異なしＷｅｂ仕様格納部８００に格納して、上記の処理を繰り返せばよい。
【０１７４】
一方、シングルブラウザ動作差異検出において、基本Ｗｅｂページ８６０Ｂと評価用Ｗｅｂページ候補８７０Ｂとの間に動作差異が検出された場合には、Ｗｅｂ仕様αとＷｅｂ仕様βとの組み合わせによって、動作差異が発生することを意味するため、評価用Ｗｅｂページ候補８７０Ｂを評価用Ｗｅｂページ１８０として、マルチブラウザ動作差異検出部１３０が、第１〜第７の実施の形態と同様のマルチブラウザ動作差異検出を実行する。この検出結果に基づいて動作差異情報１９０を生成することにより、Ｗｅｂ仕様の組み合わせについても、複数のＷｅｂブラウザ間の動作差異情報を生成することができる。
【０１７５】
以上のように、第８の実施の形態によれば、組み合わせを前提とするＷｅｂ仕様についても、複数のＷｅｂブラウザ間の動作差異情報を生成することができるため、第１〜第７の実施の形態よりも、高精度かつ正確に、動作差異の有無を検出することができる。さらに、このような動作差異情報が出力されることにより、Ｗｅｂページ関係者等は、Ｗｅｂブラウザ間の動作差異の要因となるＷｅｂ仕様を、より細かく特定することができるため、複数種類のＷｅｂブラウザにおいて意図した通りの動きをさせるためのＷｅｂページの開発支援効果を高めることができる。
【０１７６】
（９）他の実施の形態
なお、本発明は上記した各実施の形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した各実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１７７】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０１７８】
また、各図面における制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実施には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１７９】
１〜８  動作差異情報生成装置
１０    ＣＰＵ
２０    表示装置
３０    メモリ
４０    入力装置
５０    外部記憶装置
６０    ネットワーク通信装置
７０    バス
１００（１００Ａ）  入力Ｗｅｂページ
１１０，２１０，３１０，４１０，８１０  Ｗｅｂページ分解部
１１１  Ｗｅｂページパーサ部
１１２  利用Ｗｅｂ仕様分類部
１１３  基本Ｗｅｂページ生成部
１１４  評価用Ｗｅｂページ候補生成部
１１５  試行済みＷｅｂ仕様一覧格納部
１１６  利用Ｗｅｂ仕様一覧
１１７  差異不明Ｗｅｂ仕様一覧
１１８  差異なしＷｅｂ仕様一覧
１１９  差異ありＷｅｂ仕様一覧
１２０，８２０  シングルブラウザ動作差異検出部
１２１  Ｗｅｂブラウザ動作結果取得部
１２２  動作差異検出部
１２３  基本Ｗｅｂページ動作結果
１２４  評価用Ｗｅｂページ候補動作結果
１２５  動作差異検出結果
１３０，２３０，３３０，４３０，７３０，８３０  マルチブラウザ動作差異検出部
１４０，２４０，３４０，４４０  動作差異情報格納部
１５０，２５０，３５０，４５０，５５０，７５０  動作差異情報表示部
１６０（１６０Ａ），８６０（８６０Ａ，８６０Ｂ）  基本Ｗｅｂページ
１７０（１７０Ａ），３７０，４７０（４７０Ａ），８７０（８７０Ａ，８７０Ｂ）  評価用Ｗｅｂページ候補
１８０，３８０，４８０（４８０Ａ）  評価用Ｗｅｂページ
１８１〜１８３  Ｗｅｂ表示
１９０，２９０（２９０Ａ），３９０（３９０Ａ），４９０（４９０Ａ）  動作差異情報
２９１（２９１Ａ），９００（９００Ａ）  動作差異蓄積情報
５００  調査対象Ｗｅｂページ
６００  Ｗｅｂクローラ
７００  評価用Ｗｅｂページ格納部
７５１（７５１Ａ），９０１〜９０３  動作差異情報表示
８００  シングルブラウザ差異なしＷｅｂ仕様格納部
９２０  Ｗｅｂブラウザ
９２１  ＷｅｂブラウザＸ
９２２  ＷｅｂブラウザＹ
９２３  ＷｅｂブラウザＺ
９３０  画像比較
９３１  テキスト比較
９３２  ＯＣＲ結果比較
【図１】
2019185623.tif 000003
【図２】
2019185623.tif 000004
【図３】
2019185623.tif 000005
【図４】
2019185623.tif 000006
【図５】
2019185623.tif 000007
【図６】
2019185623.tif 000008
【図７】
2019185623.tif 000009
【図８】
2019185623.tif 000010
【図９】
2019185623.tif 000011
【図１０】
2019185623.tif 000012
【図１１】
2019185623.tif 000013
【図１２】
2019185623.tif 000014
【図１３】
2019185623.tif 000015
【図１４】
2019185623.tif 000016
【図１５】
2019185623.tif 000017
【図１６】
2019185623.tif 000018