(57)【特許請求の範囲】
【請求項１】
外部から与えられた、または、ブラウザに対する描画要求を監視する手段から与えられた描画要求順序の情報である描画要求順序情報に基づいて、該描画要求順序ごとに描画不正の発生確率を描画不正発生確率として算出する分析手段と、
前記分析手段が算出した前記描画不正発生確率を提示する描画結果提示手段と
を備えることを特徴とする描画支援装置。
【請求項２】
前記描画結果提示手段は、描画試験対象のＷｅｂコンテンツ内の、前記描画要求順序情報が示す場所へ、算出された前記描画不正発生確率に応じて、確率的な再描画処理（すなわち、引数として与えられる描画不正確率に応じた割合で再描画処理を行う処理）のための記述を挿入することを特徴とする請求項１記載の描画支援装置。
【請求項３】
前記描画要求順序情報は、描画要求の属性と実行中の負荷状況との少なくともいずれか一方を示す付属情報を含み、
前記分析手段は、前記描画要求順序情報を、前記付属情報の共通点に基づいた複数のケースに分類し、該ケースごとの前記描画不正発生確率を算出し、
前記描画結果提示手段は、描画試験対象の前記Ｗｅｂコンテンツ内の、同じ前記ケースに分類された各描画要求順序情報が示す場所へ、算出された前記ケースごとの前記描画不正発生確率に応じて、前記確率的な再描画処理のための記述を挿入することを特徴とする請求項２記載の描画支援装置。
【請求項４】
前記描画結果提示手段は、予め設定された条件に基づいた処理の挿入方法により、前記確率的な再描画処理のための記述を挿入することを特徴とする請求項２または３に記載の描画支援装置。
【請求項５】
前記描画結果提示手段は、前記Ｗｅｂコンテンツに挿入する確率的な再描画処理における再描画実行確率を、前記Ｗｅｂコンテンツ描画時の実行状況と事前設定との少なくともいずれか一方により調整することを特徴とする請求項２乃至４のいずれか１つに記載の描画支援装置。
【請求項６】
前記描画要求順序情報は、描画要求の属性と実行中の負荷状況との少なくともいずれか一方を示す付属情報を含み、
前記分析手段は、前記描画要求順序情報を、前記付属情報の共通点に基づいた複数のケースに分類し、該ケースごとの前記描画不正発生確率を算出し、
前記描画結果提示手段は、前記ケースごとの前記描画不正発生確率を提示することを特徴とする請求項１乃至５のいずれか１つに記載の描画支援装置。
【請求項７】
外部から与えられた、または、ブラウザに対する描画要求を監視する手段から与えられた描画要求順序の情報である描画要求順序情報に基づいて、該描画要求順序ごとに描画不正の発生確率を描画不正発生確率として、描画支援装置が算出する分析ステップと、
前記分析ステップで算出された前記描画不正発生確率を前記描画支援装置が提示する描画結果提示ステップと
を有することを特徴とする描画支援方法。
【請求項８】
前記描画結果提示ステップにおいて、描画試験対象のＷｅｂコンテンツ内の、前記描画要求順序情報の示す場所へ、算出した前記描画不正発生確率に応じて、確率的な再描画処理（すなわち、引数として与えられる描画不正確率に応じた割合で再描画処理を行う処理）のための記述を前記描画支援装置が挿入することを特徴とする請求項７記載の描画支援方法。
【請求項９】
外部から与えられた、または、ブラウザに対する描画要求を監視する手段から与えられた描画要求順序の情報である描画要求順序情報に基づいて、該描画要求順序ごとに描画不正の発生確率を描画不正発生確率として算出する分析処理と、
前記分析処理で算出された前記描画不正発生確率を提示する描画結果提示処理と
をコンピュータに実行させることを特徴とする描画支援プログラム。
【請求項１０】
前記描画結果提示処理において、描画試験対象のＷｅｂコンテンツ内の、前記描画要求順序情報の示す場所へ、算出した前記描画不正発生確率に応じて、確率的な再描画処理（すなわち、引数として与えられる描画不正確率に応じた割合で再描画処理を行う処理）のための記述を挿入することを特徴とする請求項９記載の描画支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネット等で使用されるウェブコンテンツの開発支援に用いる描画支援装置、描画支援方法および描画支援プログラムに関し、特に、ブラウザの違いにより発生する可能性のある描画不良を回避できるようにしたウェブコンテンツの効率的な開発が可能な描画支援装置、描画支援方法および描画支援プログラムに関する。
【背景技術】
【０００２】
昨今のウェブコンテンツ（以下、単に、「コンテンツ」、または、「Ｗｅｂコンテンツ」とも称する。）は、それを作成するためのＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）やＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）の仕様の進化やＷｅｂ技術の進歩により多様化が進んできている。
【０００３】
また、Ｗｅｂコンテンツの開発においては、まず、ＨＴＭＬやＣＳＳなどのテキストベースでコンテンツを作成し、ブラウザ（閲覧ソフトウェア。以下、「Ｗｅｂブラウザ」とも称する。）で実際にそれらのコンテンツを画面表示してコンテンツの表示状態を確認するという順序で作業を行うことが多い。
【０００４】
このようなコンテンツの開発が効率的に行えるよう、開発者の作業を支援する様々な技術が提案されている。
【０００５】
係る技術の一例として、特許文献１は、テキストでのコンテンツ作成や表示の確認など一連の作業をＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）で行えるよう支援することで作業を容易にする技術を開示している。
【０００６】
また、特許文献２は、コンテンツの設計と実際の表示との間における差異の確認作業を支援する技術を開示している。
【０００７】
また、特許文献３は、フォームによる対話によって動的に表示が変化するＷｅｂサイトの試験を支援する技術を開示している。さらに詳しく言えば、特許文献３記載の技術では、まず、フォームへの入力のパターンを網羅する試験設定ファイルを作成し、ブラウザの代わりにＷｅｂサイトにＨＴＴＰを送信する。その後、Ｗｅｂサイトから受信したＨＴＭＬを解析することで、ＨＴＭＬに含まれるエラーをレポートする。
【０００８】
しかし、Ｗｅｂコンテンツの開発では、さらに、そのＷｅｂコンテンツを参照するブラウザごとに描画方法やスクリプト実行仕様が異なることも考慮しなければならない。
【０００９】
各種ブラウザでは、それぞれが独自の描画エンジンやスクリプト実行エンジンなどを実装している。すなわち、各種ブラウザがそのブラウザ特有の仕様を持っている。また、一部のブラウザではＣＳＳなどの仕様に準拠していると謳っていても、仕様どおりの表示や動作が実現されない場合もある。すなわち、ＨＴＭＬにエラーがなくても、表示をさせるブラウザの種類によって不正な（開発者の意図しない）表示や動作をしてしまうことがある。
【００１０】
例えば、Ｗｅｂブラウザの種類間で、それぞれのブラウザに表示したときの画像等のレイアウトに微妙なずれが生じる場合がある。すなわち、ブラウザＡとブラウザＢでは、特定の要素（Ｗｅｂコンテンツ中の個々のテキストやイメージなどの部品）の描画位置が数ピクセルずれるなどといったことが発生する場合がある。
【００１１】
係る問題を解決する技術の一例として、特許文献４は、ブラウザＡとブラウザＢの表示結果を画像として比較し、表示位置やサイズがずれている要素に関して、ＨＴＭＬソースを自動的に補正する技術を開示している。
【００１２】
一方、ブラウザ特有の仕様により発生する問題としては、上記の表示ずれの他に、特定のブラウザが仕様の制約を持つという点もある。即ち、ブラウザに対する描画処理投入のタイミングに依存して、ブラウザによっては、特定の時点での描画処理に次の描画要求が追い着く（現在の描画処理の完了前に次の描画要求が到着する）と正しく描画されない場合がある。具体的には、描画要求の追い着きにより、Ｗｅｂコンテンツ内に存在する特定の要素が、ブラウザ上には表示されない現象や、指定された領域から意図せずはみ出す現象などの描画不正が発生する。
【００１３】
上記のような描画不正は、追い着かれた描画要求、または、次の（追い着いた）描画要求のいずれかで発生する。
【００１４】
この描画不正の現象が発生した場合であっても、ブラウザの内部的な描画処理においては、追い着かれた描画要求も、次の（追い着いた）描画要求も正しく実行されているため、再描画を行えばすべての要素が正しく表示される。
【００１５】
したがって、このような描画タイミングによる描画不正問題が発生した場合には、各描画対象の描画完了後にブラウザの表示領域を強制的に再描画させればよい。このようなブラウザへの対策として、Ｗｅｂコンテンツ開発者は、Ｗｅｂコンテンツの描画処理完了後のすべての場所に再描画を行う処理を追加していた。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２００２?１８３０３４号公報
【特許文献２】特開２００５?１２２５０４号公報
【特許文献３】特表２００２−５２７８２２号公報
【特許文献４】特開２０１０−３９８１５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１７】
しかしながら、上述したような技術では、描画要求後には常に再描画処理を実行するＷｅｂコンテンツとなり、クライアントの負荷増大のためにブラウザの表示性能が大幅に劣化するという問題点がある。
【００１８】
本発明の目的は、上述した問題点を解決し、Ｗｅｂブラウザにおける再描画処理の実行頻度を低減できるＷｅｂコンテンツの開発を支援する描画支援装置、描画支援方法および描画支援プログラムを提供することにある。
【課題を解決するための手段】
【００１９】
本発明の描画支援装置は、外部から与えられた、または、ブラウザに対する描画要求を監視する手段から与えられた描画要求順序の情報である描画要求順序情報に基づいて、該描画要求順序ごとに描画不正の発生確率を描画不正発生確率として算出する分析手段と、前記分析手段が算出した前記描画不正発生確率を提示する描画結果提示手段とを備える。
【００２０】
また、本発明の描画支援方法は、外部から与えられた、または、ブラウザに対する描画要求を監視する手段から与えられた描画要求順序の情報である描画要求順序情報に基づいて、該描画要求順序ごとに描画不正の発生確率を描画不正発生確率として算出する分析ステップと、前記分析ステップで算出された前記描画不正発生確率を提示する描画結果提示ステップとを有する。
【００２１】
さらに、本発明の描画支援プログラムは、外部から与えられた、または、ブラウザに対する描画要求を監視する手段から与えられた描画要求順序の情報である描画要求順序情報に基づいて、該描画要求順序ごとに描画不正の発生確率を描画不正発生確率として算出する分析処理と、前記分析処理で算出された前記描画不正発生確率を提示する描画結果提示処理とをコンピュータに実行させる。
【発明の効果】
【００２２】
本発明には、現在の描画処理に次の描画要求が追い着く可能性があるＷｅｂブラウザに対して、描画実行順序ごとの描画不正の発生確率の違いに応じた再描画処理を行わせるようなＷｅｂコンテンツの開発・作成が効率的に行えるという効果がある。
【図面の簡単な説明】
【００２３】
【図１】本発明の第１の実施形態を示すブロック図である。
【図２】本発明の第１の実施形態における描画試験処理の流れを示すフローチャートである。
【図３】図２におけるステップＳ１２２−ＢおよびステップＳ１２４−Ｂでの処理の詳細を示すフローチャートである。
【図４】本発明の第１の実施形態における描画試験対象のＷｅｂコンテンツ３００に含まれるスクリプト３０２をＪａｖａＳｃｒｉｐｔ形式で例示的に示した図である。
【図５】本発明の第１の実施形態における描画要求監視部１０２の記録内容の一例を図である。
【図６】本発明の第１の実施形態における描画試験実施前のデータ蓄積部１０４の記録内容の一例を示す図である。
【図７】本発明の第１の実施形態における、描画試験結果を反映して更新した後のデータ蓄積部１０４の記録内容の一例を示す図である。
【図８】本発明の第２の実施形態において、図４に示すスクリプト３０２に確率的再描画処理の記述を挿入した結果を示す図である。
【図９】本発明の第２の実施形態を示すブロック図である。
【図１０】本発明の第２の実施形態における描画試験処理の流れを示すフローチャートである。
【図１１】本発明の第３の実施形態において、図２に示すステップＳ１２２−ＢおよびステップＳ１２４−Ｂで行われる処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【００２４】
次に、本発明を実施する形態について図面を参照して詳細に説明する。
【００２５】
＜第１の実施形態＞
図１を参照すると、本発明の第１の実施形態は、描画支援装置１００、ブラウザ２００、Ｗｅｂコンテンツ３００、描画試験者４００、およびネットワーク５００から構成される。
【００２６】
ブラウザ２００と、Ｗｅｂコンテンツ３００とは、インターネットや構内ＬＡＮ（ローカルエリアネットワーク）等の通信ネットワーク（以下、単に「ネットワーク」と称する。）５００を介して通信可能である。
【００２７】
描画支援装置１００は、プログラム制御により動作する一般的な情報処理装置（コンピュータ）によって構成されてもよいし、専用のハードウェアで構成されてもよい。
【００２８】
また、ブラウザ２００およびＷｅｂコンテンツ３００は、描画支援装置１００内に設けられていてもよいし、別の情報処理装置（コンピュータ）等に設けられていてもよい。
【００２９】
本実施形態において、描画試験者４００は、ブラウザ２００を介して、Ｗｅｂコンテンツ３００にアクセスし、また、描画結果の確認入力などの操作を行うユーザである。
【００３０】
描画支援装置１００は、描画要求監視部１０２、データ蓄積部１０４、描画試験者４００から描画結果情報を受け取る描画結果取得部１０６、分析部１０８、および、分析結果によって更新されたデータ蓄積部１０４のデータを用いて分析結果を提示する分析結果提示部１１０を備える。
【００３１】
描画支援装置１００において、描画要求監視部１０２は、描画試験者４００が所望したＷｅｂコンテンツ３００を描画するためにブラウザ２００へ送られる描画要求を監視し、描画要求の順序情報を保存する。
【００３２】
具体的には、例えば、ブラウザ２００にアドオンなどの形態で描画要求を監視するプログラムを組み込み、このプログラムが、Ｗｅｂコンテンツ３００を表示する際にブラウザ２００に対して実行される描画要求を監視し、監視部１０２に監視結果を通知するといったような方法が考えられる。
【００３３】
なお、描画要求の順序情報は、描画要求監視部１０２の監視による生成ではなく、分析部１０８に対して外部から与えてもよい。
【００３４】
また、描画支援装置１００において、データ蓄積部１０４は、これまでの描画試験記録（過去の描画試験における描画実行順序ごとの描画不正の発生確率情報など）を蓄積する。
【００３５】
図７に示すように、描画試験記録は、試験対象のＷｅｂコンテンツ３００における各描画要求順序対応に、順序情報ＩＤを付与して、それぞれのＩＤごとに、描画対象、それぞれの描画要求順序における実行回数、その実行回数分だけ実行した描画のうちで発生した描画不正の発生回数、および、実行回数と描画不正の発生回数から算出される描画不正の発生確率などを記録したものである。
【００３６】
また、描画支援装置１００において、分析部１０８は、描画要求監視部１０２、データ蓄積部１０４および描画結果取得部１０６から与えられる各種描画情報を分析して、描画実行順序ごとの描画不正確率を算出する。そして、分析部１０８は、今回の描画試験の情報をデータ蓄積部１０４のデータに反映する。
【００３７】
次に、ブラウザ２００は、Ｗｅｂコンテンツ３００を含む各種Ｗｅｂサイトのコンテンツを、描画試験者４００が閲覧できるよう表示する機能を有する一種のプログラムである。ブラウザ２００は、ブラウザの一般的な機能として、描画要求受付部２０２と描画処理部２０４とを有する。
【００３８】
試験対象であるＷｅｂコンテンツ３００は、描画要求を行うスクリプト３０２を含む。
【００３９】
次に、上述した構成を備える本実施形態の動作について詳細に説明する。
【００４０】
はじめに、本説明における前提条件を述べる。
【００４１】
図４は、本実施形態における描画試験対象のＷｅｂコンテンツ３００に含まれるスクリプト３０２をＪａｖａＳｃｒｉｐｔ（登録商標）形式で例示的に説明する図である。即ち、本実施形態において、Ｗｅｂコンテンツ３００は、ＪａｖａＳｃｒｉｐｔのスクリプト３０２を実行するＨＴＭＬのＷｅｂコンテンツである。ここではＨＴＭＬとＪａｖａＳｃｒｉｐｔを例に挙げるが、本発明ではＷｅｂコンテンツやスクリプトの記述言語を限定するものではない。
【００４２】
本実施形態では、要素、関数、ブロックという用語を使用する。「要素」は、描画対象要素(div要素)３１２で例示する通り、関数３１４で操作される対象である。「要素」を識別する情報は、本実施形態では、要素の識別情報（ｉｄ属性の値)３１６で例示する通り、要素に与えたｉｄ属性の値とする。
【００４３】
なお、本実施形態において、ｉｄ属性の値はＷｅｂコンテンツ３００の中で一意とする。また、識別情報は他の適当な値でもよい。「関数」は、関数３１４で例示する通り、要素を対象にして、生成や配置などのさまざまな操作を行うＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）である。
【００４４】
「ブロック」は、createDivElementブロック３１８で例示する如く、０〜複数の関数を内包するものである。一般に、createDivElementブロック３１８のようなものも「関数」と呼ばれることがあるが、本実施形態では、説明の便宜上、「関数」および「ブロック」というようにそれぞれを区別した用語を使用する。
【００４５】
ここで、描画対象は「要素」に、描画対象の識別情報は「（要素の）ｉｄ属性の値」に、および、描画要求順序情報は「描画処理を行う関数を含むブロック」にそれぞれ対応するものとする。関数には、描画要求を発生するものと、描画には関係しないものがある。本実施形態中において、描画処理を行う関数を含むブロックとは、div要素に対するcreateDivElementブロック３１８およびplaceDivElementブロック３２０、ならびに、img要素に対するcreateImgElementブロック３２２およびplaceImgElementブロック３２４の４つが該当する。
【００４６】
スクリプト３０２では、処理の流れを示すブロック３１０に示す順に、描画処理を含むブロックの呼び出しが行われる。即ち、div要素に対してcreateDivElementブロック３１８で生成(create)、placeDivElementブロック３２０でbody要素に配置(place)を行い、また、img要素に対してcreateImgElementブロック３２２で生成(create)、placeImgElementブロック３２４でbody要素に配置(place)を行う処理が含まれている。
【００４７】
以下の説明では、スクリプト３０２で生成するdiv要素３１２に対して描画不正が発生したものとする。
【００４８】
また、描画要求監視部１０２による監視方法の具体例として、ここでは描画処理を行う前記関数のそれぞれに対して、監視機能を追加した関数を上書きすることで、描画処理関数への描画要求の発生とその内容を捕捉するものとする。前記監視機能とは、描画要求の関数内で、要求の内容のうち、描画対象や描画処理の要求元ブロックを監視記録として取得する機能である。なお、本実施形態では、描画処理を行っているブロックのみ監視しているが、その他の処理を行うブロックも含めて監視し、Ｗｅｂコンテンツ３００全体の実行順序情報や処理シーケンスを把握しても良い。それにより、描画要求順序情報ごとに算出している描画不正確率の精度が高くなるなど、描画不正の分析がより詳細にできる可能性がある。
【００４９】
以下、本実施形態における描画支援装置１００の動作について、図２および図３を参照して説明する。
【００５０】
まず、描画試験者４００はブラウザ２００起動する。次に、描画支援システム１００内の描画要求監視部１０２は、描画試験者４００から、描画要求の監視開始の指示を受ける（図２のステップＳ１０２−Ａ）。描画要求の監視開始の指示を受けると、描画要求監視部１０２は、ブラウザ２００に対して行われる描画要求の監視を開始する（図２のステップＳ１０４−Ｂ）。
【００５１】
次に、描画試験者４００は、ブラウザ２００を利用して、試験対象のＷｅｂコンテンツ３００にアクセスする（図２のステップＳ１０６−Ａ）。
【００５２】
描画要求監視部１０２は、ブラウザ２００におけるＷｅｂコンテンツ３００へのアクセスを検出すると、Ｗｅｂコンテンツ３００からブラウザ２００に対して行われた一連の描画要求を記録する（図２のステップＳ１０８−Ａ）。
【００５３】
ここで、描画要求監視部１０２が記録する監視記録の内容は、図５に例示するように、描画要求の対象（描画対象）と、描画要求の順序（描画要求順序）である。描画要求順序の実体（データ）は、ブラウザに描画させるための関数の名称やパラメータであってもよいし、描画処理を内包するブロックの名称などであってもよい。ここでの例では、描画要求監視部１０２は、div要素に対してcreateDivElementブロックで生成、placeDivElementブロックでbody要素に配置、の順に描画要求を行い、img要素に対してcreateImgElementブロックで生成、placeImgElementブロックでbody要素に配置、の順に描画要求を行ったことを監視記録として記憶する。なお、描画対象別に実行順序情報を記録するものとする。
【００５４】
ブラウザ２００上でＷｅｂコンテンツ３００の表示が完了した後、描画試験者４００は、Ｗｅｂコンテンツ３００の表示状態を確認する（図２のステップＳ１１０−Ａ）。即ち、描画試験者４００は、描画不正の発生の有無と、発生した場合は描画不正が発生した対象（ブラウザ上で正しく表示されなかった画像や文章などのコンテンツ要素）を確認する。この際、描画試験者４００は、スクリプト３０２で生成したdiv要素３１２で描画不正が発生したことを認識したとする。そして、描画要求監視部１０２に監視の終了を指示する（図２のステップＳ１１２−Ａ）。
【００５５】
監視終了の指示を受けると、描画要求監視部１０２は描画要求の監視を終了する（図２のステップＳ１１４−Ｂ）。そして、描画結果取得部１０６は、描画結果の入力画面を表示する（図２のステップＳ１１６−Ｂ）。即ち、描画不正の発生の有無と、描画不正が発生した対象（コンテンツ要素）を特定する情報（画面の要素や領域の名称など）を入力するための画面が、描画試験者４００に対して表示される。なお、描画不正は、一度の描画試験で複数発生することもあり、必要に応じて複数の描画不正について入力できるものとする。
【００５６】
描画試験者４００は、描画結果取得部１０６の表示した画面に、描画結果を入力する（図２のステップＳ１１８−Ａ）。描画結果取得部１０６に対して入力される情報は、描画不正の発生有無の情報に加えて、描画不正の発生した対象であるdiv要素を特定する情報、例えばｉｄ属性の情報などが考えられる。ここでは、「描画不正発生あり」、という情報と描画不正が発生したdiv要素のｉｄ属性の値「divcontent」が入力されることとなる。そして、描画結果取得部１０６は、描画試験者４００が入力した確認結果を受け取る（図２のステップＳ１２０−Ｂ）。確認結果の判断と入力は自動化してもよい。本実施形態においては、描画不正の確認方法は何ら限定されるものではない。
【００５７】
次に、分析部１０８は、描画情報の分析を行う。分析部１０８は、分析の初めとして、分析の入力となるデータを取得する。まず、データ蓄積部１０４から、これまでの描画試験記録を読み込む（図３のステップＳ２０２）。図６は、データ蓄積部１０４が保持するこれまでの描画試験記録を概念的に例示した図である。
【００５８】
図６を参照すると、これまでにこのＷｅｂコンテンツ３００の描画試験は４回実施され、div要素の実行回数は４回、描画不正の発生回数は１回であることが分かる。また、img要素の実行回数は２回、描画不正の発生回数は０回であることも分かる。ここで、img要素に対する描画処理は後からＷｅｂコンテンツ３００に追加したため、img要素の実行回数は、Ｗｅｂコンテンツの試験回数よりも少ないものとなっている。なお、開発中のＷｅｂコンテンツの変化へのもう一つの適応策として、バージョン管理システムと連携を行ってもよい。これにより、ブロック名変更などのスクリプトの変更があっても、過去の描画試験記録を生かすことが可能になる。
【００５９】
分析部１０８への入力となる情報は、データ蓄積部１０４が蓄積したこれまでの描画試験記録（図６）の他に、描画要求監視部１０２が記録した監視記録（図５下）および描画結果取得部１０６が取得した描画結果情報である。描画要求監視部１０２が記録した情報と描画試験者４００が入力した描画結果情報とは前述したとおりとする。
【００６０】
次に、分析部１０８は、今回の描画試験において描画不正が発生したかどうかを確認する。本実施形態では、前提の通り、描画不正が発生している（図３のステップＳ２０４）。
【００６１】
描画不正が発生していなかった場合、次は、図３のステップＳ２１０の処理に進む。
【００６２】
描画不正が発生していた場合、描画結果情報と監視記録を用いて、描画不正対象の識別子と、当該対象を操作した描画要求順序情報とをすべて抽出する（図３のステップＳ２０６）。即ち、まず、描画結果情報のうち、描画不正の発生対象を特定する情報であるｉｄ属性の値「divcontent」を検索キーとして監視記録を探索し、そのｉｄ属性を保持する要素を描画対象とする描画要求順序情報を抽出する。探索の結果、「div#divcontent」を対象とした描画要求記録が抽出され、createDivElementブロック、placeDivElementブロックの順でdiv要素の操作が行われていることが確認できる。
【００６３】
そして、その抽出結果を用い、上記のこれまでの描画試験記録の中の、描画不正が発生した描画要求順序情報における描画不正の発生回数に１を加算する。即ち、描画が不正になったdiv要素に対するcreateDivElementブロック、placeDivElementブロックの順序情報における描画不正の発生回数に１を加算する（図３のステップＳ２０８）。
【００６４】
次に、上記監視記録に含まれるすべての描画要求順序について、順序情報の実行回数に１を加算する。即ち、div要素に対するcreateDivElementブロック→placeDivElementブロックの順序と、img要素に対するcreateImgElementブロック→placeImgElementブロックの順序との、合計２つの順序情報における実行回数に１を加算する（図３のステップＳ２１０）。
【００６５】
この際、もし、描画試験記録に含まれない描画対象や描画要求順序があった場合は、新たな項目としてその描画試験記録を追加する。
【００６６】
その後、実行回数を更新または追加したすべての描画要求順序情報において、描画不正の発生確率を算出する。即ち、実行回数を更新した２つの順序情報において、描画不正の発生確率を算出する（図３のステップＳ２１２）。
【００６７】
本実施形態では、発生確率は、描画不正発生回数を実行回数で割った値をパーセント（％）で表すものとする。そして、分析の最後として、分析部１０８は、データ蓄積部１０４に対して今回実行されたすべての順序情報における実行回数、描画不正の発生回数、描画不正の発生確率を更新する（図２のステップＳ１２４−Ｂ、および、図３のステップＳ２１４）。図７に、更新後の描画試験記録を概念的に例示する。
【００６８】
今回行った描画試験の実行結果として、div要素に対する描画試験記録は、実行回数５回、描画不正の発生回数２回、描画不正発生確率４０％となり、img要素に対する描画試験記録は、実行回数３回、描画不正の発生回数０回、描画不正発生確率０％となる。
【００６９】
分析部１０８による分析後、分析結果提示部１１０は、描画要求監視部１０２の監視記録とデータ蓄積部１０４の最新の描画試験記録を用いて、分析結果を描画試験者４００に提示する（図２のステップＳ１２６−Ｂ）。分析結果提示部１１０は、まず、監視記録から今回の描画試験範囲に含まれる描画対象と描画要求順序を洗い出し、次に、描画試験記録の中から今回の描画試験範囲の記録を抽出して提示する。即ち、提示する内容には、div#divcontentに対するcreateDivElementブロック→placeDivElementブロックの描画順序における描画不正確率は４０％であり、img#imgcontentに対するcreateImgElementブロック→placeImgElementブロックの描画順序における描画不正確率は０％であるということを示す情報が含まれる。
【００７０】
分析結果提示部１１０は、今回の描画試験で実行した各描画要求順序情報や、それぞれに対する描画不正の発生確率の一覧などの分析結果を提示する。
【００７１】
さらに、Ｗｅｂコンテンツ３００に含まれるスクリプト３０２を分析結果提示部１１０に与えておき、描画不正への対処である確率的再描画処理のための記述を挿入したスクリプトを、分析結果提示部１１０が自動生成してもよい。
【００７２】
ここで言う確率的再描画処理とは、引数として与えられた描画不正確率に応じた割合で再描画処理を行う処理であり、描画不正を回避するためのものである。確率的再描画処理を挿入する場所は、上記今回の描画試験で実行した範囲における描画要求順序の末尾の処理部分である。この結果として、一連の描画要求の実行が終了し、描画不正が発生した後のタイミングで、描画不正の発生確率の程度に応じて再描画を行うことで、最終的に描画不正を回避する処理である。
【００７３】
また、分析結果提示部１１０が挿入する確率的再描画処理において、再描画を実行する確率は、描画不正の確率と同じとしてもよい。また、描画不正の発生確率に閾値を設け、閾値以下の描画不正確率ならば、分析結果提示部１１０は、確率的再描画処理の記述を挿入しないようにしてもよい。または、確率的再描画処理の内部制御により、引数で与えられた描画不正確率が閾値以下ならば、再描画処理を実行しないようにしてもよい。
【００７４】
一方で、閾値以上の描画不正確率ならば、分析結果提示部１１０は、すべての描画要求順序に対して、必ず(１００％)再描画を行う処理を挿入することとしても良い。もしくは、確率的再描画処理の内部制御により、引数で与えられた描画不正確率が閾値以上ならば、再描画処理を必ず実行するようにしてもよい。即ち、分析結果提示部１１０が挿入する再描画処理の実行確率は、その描画要求順序における描画不正確率と同じとは限らない。
【００７５】
以下に、係るスクリプト自動生成の具体例について、分析結果提示部１１０の動作を、図４および図８を参照して詳細に説明する。図８は、本実施形態において、図４に示すスクリプト３０２に、確率的再描画処理の記述を挿入した結果を例示的に示した図である。
【００７６】
まず、分析結果提示部１１０は、上記分析結果の描画要求順序を解析して、確率的再描画処理の記述を挿入する場所を決定する。ここで、確率的再描画処理の記述を挿入する場所は、今回の描画試験で実行した範囲における描画要求順序の末尾の処理部分である。即ち、div#divcontentに対するplaceDivElementブロック３２０（図４）と、img#imgcontentに対するplaceImgElementブロック３２４（図４）との２箇所である。
【００７７】
次に、分析結果提示部１１０は、スクリプト３０２（図４）を読み込み、前記確率的再描画処理の記述を挿入する場所である２箇所に対して、例えば、図８に示す形態で、確率的に再描画を行う処理を挿入する。即ち、各実行順序の末尾にて引数に確率を渡してこのブロックを呼び出す処理を挿入する。本実施形態では、挿入される確率的再描画処理の記述は、div#divcontentに対するplaceDivElementブロック３２０Ａ（図８）内における確率的再描画処理(４０％)３２８（図８）、img#imgcontentに対するplaceImgElementブロック３２４Ａ（図８）内における確率的再描画処理(０％)３３０（図８）、および、確率的再描画処理本体３２６（図８）である。
【００７８】
分析結果提示部１１０がスクリプト３０２を取得する方法としては、例えば、描画支援システム１００の動作する環境から読み出せる場所にスクリプト３０２をテキストファイルとして保存しておき、描画試験者４００が、描画結果を入力する際（ステップＳ１１８−Ａ）に、そのファイルの場所を入力するなどが考えられる。
【００７９】
なお、本実施形態において、確率的再描画処理本体は、redrawProbableブロック３２６（図８）であり、あらかじめ分析結果提示部１１０が備えているものとする。なお、分析結果提示部１１０は、スクリプト３０２と同様に外部より与えられたファイルから確率的再描画処理本体を読み込んでもよい。確率的再描画処理本体（図８の３２６）のスクリプト内の配置場所は、本実施形態ではスクリプト全体の先頭としているが、スクリプト言語の記述規則が異なればそのスクリプト言語の記述規則に従って、その規則で規定される場所に配置されることになるのは言うまでもない。
【００８０】
また、確率的再描画処理(４０％)（図８の３２８）における括弧内の引数である４０と、確率的再描画処理(０％)（図８の３３０）における括弧内の引数である０とは、それぞれの描画要求順序における描画不正発生確率に対応する。確率的再描画処理は、引数で与えられた確率に応じて、再描画処理を実施する。本実施形態の確率的再描画処理本体（図８の３２６）では、引数の数値をそのまま再描画処理の確率（パーセント（％））としており、例えば、確率的再描画処理(４０％)（図８の３２８）は１０回の描画のうち４回の割合で再描画を実施する。したがって、div要素の描画不正が４０％で発生し、そのうち４０％は再描画により描画が正常に回復するので、最終的な描画不正発生確率は１６％になる。
【００８１】
そして最後に、分析結果提示部１１０は、自動生成したスクリプト（図８）を、画面表示、印刷、ファイル出力などの方法で描画試験者４００に提示する。なお、今回の描画試験で実行した各描画要求順序情報や、それぞれの描画要求順序に対する描画不正の発生確率などの分析結果そのものと、図８のスクリプトの両方を提示してもよいし、片方だけ提示してもよい。
【００８２】
このように、描画支援装置１００は、Ｗｅｂコンテンツ３００のどの部分で、どのくらい描画不正の発生確率が高いかを、描画試験者４００に示すことができる。また、さらに、スクリプト（図８）の自動生成の機能によって、描画不正の回避策の案を提示することもできるので、Ｗｅｂコンテンツの開発者は、Ｗｅｂコンテンツ３００内のスクリプト３０２の的確な場所において、確率に応じて再描画を行う処理を容易に埋め込むことができる。
【００８３】
一般に、Ｗｅｂブラウザの特性により、現在処理中の描画処理に次の描画要求が追い着くことが原因で描画不正が発生する可能性があるとき、Ｗｅｂコンテンツの描画処理を含むブロックすべてに再描画を行う処理を埋め込む回避方法では、図４のブロック３１８、３２０、３２２、および３２４で合計４回の再描画を常に行うことになる。または、描画処理の順を解析・検証する手間を掛けて、後に描画処理が続かないブロックは図４のブロック３２０および３２４のみであることを洗い出して、その２箇所で合計２回の再描画を常に行うこともある。
【００８４】
これに対して、本実施形態によれば、提示された描画対象ごとの描画順序の末尾のplaceDivElementブロック３２０（図４）とplaceImgElementブロック３２４（図４）とにだけに再描画処理を施せばよい。また、本実施形態では、提示されたスクリプト３０２（図８）にしたがって、それぞれ４０％と０％の描画不正確率に応じて再描画回数を減じた処理（図８の３２６、３２８、３３０）を埋め込むことで、容易に対処することができる。
【００８５】
以上説明したように、本実施形態には、Ｗｅｂブラウザにおいて現在処理中の描画処理に次の描画要求が追い着いてしまい描画不正を発生するようなコンテンツの開発・作成を回避できるとともに、Ｗｅｂブラウザにおける再描画処理の発生頻度を低減できるＷｅｂコンテンツ開発・作成が行えるという効果がある。
【００８６】
その理由は、分析結果提示部１１０が、現在までの描画実行順序ごとの描画不正の発生確率と描画要求対象の識別情報とをＷｅｂコンテンツの開発者に提示し、これにより、その開発者は描画不正が発生する場所の情報（描画要求対象識別情報と描画実行順序）と、描画不正の発生確率とを組み合わせて入手できるので、Ｗｅｂコンテンツにおける当該描画実行順序の最後の描画要求処理の後に、描画不正の発生確率に応じて再描画を行う処理を埋め込むことができるからである。
【００８７】
＜第２の実施形態＞
次に、上述した第１の実施形態を基本とする第２の実施形態について説明する。以下では、本実施形態に係る特徴的な部分を中心に説明し、第１の実施形態と同様な構成を有する第２の実施形態の構成要素には、第１の実施形態で付した参照符号と同一の参照符号を付し、その構成要素について重複する詳細な説明は省略する。
【００８８】
図９は、本発明の第２の実施形態を示すブロック図である。
【００８９】
図９を参照すると、本発明の第２の実施形態は、描画支援装置１００Ａ、ブラウザ２００、Ｗｅｂコンテンツ３００、描画試験者４００、描画結果確認システム４０２、およびネットワーク５００から構成される。
図９において、描画支援システム１００Ａは、プログラム制御により動作する一般的な情報処理装置（コンピュータ）によって構成されてもよいし、専用のハードウェアで構成されてもよい。
【００９０】
描画支援装置１００Ａは、図１に示した第１の実施形態における描画支援装置１００の構成に加えて、Ｗｅｂコンテンツ管理部１１２、Ｗｅｂサーバ１１４、ログ機能付Ｗｅｂコンテンツ１１６、および、ログ機能付スクリプト１１８を更に備える。また、描画支援装置１００Ａは、第１の実施形態における描画要求監視部１０２の代わりに、一部の機能が異なる描画要求監視部１０２Ａを備える。また、描画支援装置１００Ａとブラウザ２００とは、インターネットや構内ＬＡＮ（ローカルエリアネットワーク）等の通信ネットワーク（以下、単に「ネットワーク」と称する）５００を介して通信可能である。
【００９１】
本実施形態において、Ｗｅｂコンテンツ管理部１１２、Ｗｅｂサーバ１１４、ログ機能付Ｗｅｂコンテンツ１１６、ログ機能付スクリプト１１８、および、描画要求監視部１０２Ａは、主に、ブラウザへのアドオンのようなブラウザに直接作用する方法以外の形態（ブラウザに依存しない）で描画要求を監視するために設けられている。
【００９２】
すなわち、Ｗｅｂコンテンツ管理部１１２、Ｗｅｂサーバ１１４、ログ機能付Ｗｅｂコンテンツ１１６、および、ログ機能付スクリプト１１８は、Ｗｅｂコンテンツ３００とスクリプト３０２の方に描画要求を監視する機構をアドオンする機能を実現する。したがって、本実施形態では、ブラウザ２００は、Ｗｅｂコンテンツ３００の代わりに、描画支援装置１００ＡのＷｅｂサーバ１１４を介して、ログ機能付Ｗｅｂコンテンツ１１６にアクセスする。
【００９３】
Ｗｅｂコンテンツ管理部１１２は、外部から与えられた情報に基づいてＷｅｂコンテンツ３００とスクリプト３０２とを取得し、そのコピーを内部に保持する。さらに、管理部１１２は、そのＷｅｂコンテンツ３００とスクリプト３０２とに対して、描画要求を監視するログ機能を付与したログ機能付Ｗｅｂコンテンツ１１６とログ機能付スクリプト１１８とを生成する。
【００９４】
Ｗｅｂサーバ１１４は、ブラウザ２００からのアクセス要求を受けて、Ｗｅｂコンテンツ管理部１１２が生成したログ機能付Ｗｅｂコンテンツ１１６とログ機能付スクリプト１１８とをブラウザ２００に送信する。
【００９５】
ログ機能付Ｗｅｂコンテンツ１１６とログ機能付スクリプト１１８とは、Ｗｅｂコンテンツ管理部１１２によって生成され、ブラウザ２００において描画要求が行われた際に、ブラウザ２００が描画支援装置１００Ａに対して描画要求情報を含むログを送信するログ機能を有する。
【００９６】
描画要求監視部１０２Ａは、ブラウザ２００がログ機能付Ｗｅｂコンテンツ１１６を表示する際に送信するログを受信し、描画要求の監視記録として保存する。
【００９７】
また、本実施形態では、システム構成の実現多様性を示す例の一つとして、描画結果確認システム４０２がブラウザ２００の描画結果の確認を自動的に行うこととする。
【００９８】
描画結果確認システム４０２は、上述した第１の実施形態における描画試験者４００の代わりに、ブラウザ２００を参照して描画結果を取得する。すなわち、システム４０２は、描画不正の発生有無を自動的に確認し、分析結果取得部１０６に入力する。なお、描画結果確認システム４０２は、上記ブラウザに依存しないで描画要求を監視する機能には関与しない。
【００９９】
次に、上述した構成を備える本実施形態の動作について詳細に説明する。
【０１００】
図１０は、本発明の第２の実施形態に係る描画支援装置１００Ａと描画試験者４００による描画試験処理の流れを示すフローチャートである。
【０１０１】
以下の説明では、スクリプト３０２とログ機能付スクリプト１１８とに対する取得、コピー作成、および、ログ機能付加などの操作は、それぞれを内包するＷｅｂコンテンツ３００とログ機能付Ｗｅｂコンテンツ１１６に対する操作に含めて記載し、特に、スクリプト３０２とログ機能付スクリプト１１８を対象として記述しない場合がある。
【０１０２】
例えば、「Ｗｅｂコンテンツ３００にログ機能を付与してログ機能付Ｗｅｂコンテンツ１１６を生成する」と記述した場合には、内包されるスクリプト３０２にもログ機能が付与され、ログ機能付スクリプト１１８も生成されていることを意味する。
【０１０３】
まず、描画支援装置１００Ａは、描画試験対象となるＷｅｂコンテンツ３００の取得のための情報を入力として起動される（ステップＳ３０２−Ｂ）。例えば、描画試験者４００が、Ｗｅｂコンテンツ３００の位置を示すパス情報を引数としてコンソール（図示せず）からコマンド入力して起動する。
【０１０４】
または、マシンの起動時に描画支援装置１００Ａを自動起動させるように構成しても良い。
【０１０５】
描画支援装置１００Ａが起動すると、Ｗｅｂコンテンツ管理部１１２は、引数などで指定されたＷｅｂコンテンツ３００を取得し、そのコピーを作成して内部に保持する（ステップＳ３０４−Ｂ）。そして、管理部１１２は、取得したＷｅｂコンテンツ３００に、描画要求の監視を実現するログ機能を付与したログ機能付Ｗｅｂコンテンツ１１６を生成する（ステップＳ３０６−Ｂ）。
【０１０６】
ここで、ログ機能とは、ブラウザ２００において、ログ機能付Ｗｅｂコンテンツ１１６を表示する際、描画要求が行われたタイミングで、ブラウザ２００が描画要求の内容を描画要求監視部１０２Ａに送信する機能である。
【０１０７】
または、ブラウザ２００と描画要求監視部１０２Ａとの間の通信回数を低減するために、上記のような描画要求が行われたタイミングではなく、ログ機能付Ｗｅｂコンテンツ１１６全体の表示完了後に、すべての描画要求内容に関するログをまとめて送信しても良い。
【０１０８】
なお、ログ機能付スクリプト１１８の実体は、例えば、上記ログ機能の処理をＪａｖａＳｃｒｉｐｔ形式で記述したものに対して、スクリプト３０２の描画処理の後に挿入する方法で作成される。ログ機能のアドオンは、他の方法により実現しても良い。
【０１０９】
そして、Ｗｅｂコンテンツ管理部１１２は、生成したログ機能付Ｗｅｂコンテンツ１１６をＷｅｂサーバ１１４に配置する（ステップＳ３０８−Ｂ）。
【０１１０】
次に、描画試験者４００は、ブラウザ２００を介してＷｅｂサーバ１１４にアクセスし、ログ機能付Ｗｅｂコンテンツ１１６を表示する（ステップＳ３１２−Ａ）。これに応答して、描画要求監視部１０２Ａは、ログ機能付Ｗｅｂコンテンツ１１６内に埋め込まれたログ機能によって、ブラウザ２００から描画要求のログを受け取り、描画要求の監視記録として記録する（ステップＳ３１０−Ｂ）。ここで、描画要求監視部１０２Ａが記録する内容（監視記録）は、図５に示すように、上述した第１の実施形態と同様の情報である。
【０１１１】
ブラウザ２００上でログ機能付Ｗｅｂコンテンツ１１６の表示が完了した後、描画結果確認システム４０２は、ブラウザ２００を参照して描画結果を取得して、描画結果取得部１０６へ描画結果を送る（ステップＳ３１４−Ａ）。
【０１１２】
確認の手段は、種々の形態が考えられ、例えば、特許文献２などの従来技術を利用すれば、表示後のブラウザの表示領域の画像を取得して、正常描画時のブラウザ２００の表示領域の画像と比較し、差異がある部分を検出した後、その位置に存在する要素を特定するといったような様々な方法で実現できる。
【０１１３】
同様に、ブラウザ２００上でログ機能付Ｗｅｂコンテンツ１１６の表示が完了したことを知る方法も、種々の方法が考えられ、例えば、描画試験者４００によって描画結果確認システム４０２へ結果確認の開始を指示しても良いし、描画結果確認システム４０２が常時ブラウザ２００を監視して自動的に表示終了を検知しても良い。
【０１１４】
描画結果取得部１０６は、描画結果確認システム４０２から描画結果を取得する（ステップＳ３１６−Ｂ）。描画結果取得部１０６は、上述した第１の実施形態においては、描画結果の入力画面を表示していたが、本実施形態では、そうではなく、描画結果確認システム４０２からの受信によって、描画結果の取得処理を開始する。
【０１１５】
ここで、描画結果確認システム４０２から取得する描画結果の内容は、上述した第１の実施形態において、描画試験者４００が入力したものと同様である。すなわち、描画不正の発生の有無と、描画不正が発生した対象を特定する情報（画面の要素や領域の名称など）などを含む。
【０１１６】
次に、分析部１０８は、描画情報を分析する（ステップＳ３１８−Ｂ）。分析の動作に関しては、上述した第１の実施形態と同様であるため、詳細な説明は省略する。
【０１１７】
分析終了後、分析部１０８は、今回の分析結果である描画不正の発生確率で、データ蓄積部１０４が保持する描画試験結果情報を更新する（ステップＳ３２０−Ｂ）。
【０１１８】
最後に、分析結果提示部１１０は、描画要求監視部１０２Ａの監視記録とデータ蓄積部１０４の最新の描画試験記録とを基に、描画試験の結果を提示する（ステップＳ３２２−Ｂ）。
【０１１９】
分析結果の提示の動作に関しては、上述した第１の実施形態と同様であるため、詳細な説明は省略する。ただし、スクリプト３０２に確率的再描画処理の記述を挿入したスクリプトを自動生成して提示する場合においては、分析結果提示部１１０は、Ｗｅｂコンテンツ管理部１１２が保持するスクリプト３０２のコピーを基に、埋め込み処理を実施する。
【０１２０】
以上、本実施形態には、上述した第１の実施形態と同様に、Ｗｅｂコンテンツ３００のどの部分で、どのくらい描画不正の発生確率が高いかを、描画試験者４００に示すことができるとともに、スクリプト（図８）の自動生成の機能によって、描画不正の回避策の案を提示することもできるという効果がある。
【０１２１】
更に、本実施形態には、Ｗｅｂサーバ１１４を内包することにより対象であるＷｅｂコンテンツにログ機能を埋め込んだものを監視対象とすることが可能となり、ブラウザ２００の種類に依存せず、描画支援システム１００Ａの機能を実現することができるという効果もある。すなわち、ブラウザの種類ごとに描画支援装置１００Ａを構築せず、一つの描画支援装置１００Ａを使って、複数のブラウザに対する描画試験を実施することができる。これにより、複数のブラウザでの表示をサポートするＷｅｂコンテンツの開発における描画試験とその対処の作業に関し、Ｗｅｂコンテンツ開発者の負荷を軽減することができる。
【０１２２】
また、本実施形態には、描画結果確認システム４０２を利用し、ブラウザ２００の表示完了時の描画確認を自動化することができ、その結果、描画試験者４００の手間を軽減することができるという効果もある。
【０１２３】
＜第３の実施形態＞
次に、上述した第１および第２の実施形態を基本とする第３の実施形態について説明する。以下では、本実施形態に係る特徴的な部分を中心に説明し、第１および２の実施形態と同様な構成を有する第３の実施形態の構成要素には、第１および２の実施形態で付した参照符号と同一の参照符号を付し、その構成要素について重複する詳細な説明は省略する。
【０１２４】
本実施形態では、描画要求順序情報以外の付属情報を監視記録に追加し、描画不正発生確率の分析時に、描画要求順序情報に付属情報を加味した分類（以降、「ケース」と称する。）ごとに区別する場合について説明する。即ち、描画要求の処理順序情報を、処理の特徴が同じ傾向を持つケースに束ねて分類する。
【０１２５】
本実施形態におけるシステム構成および全体の処理の流れは、上述した第１の実施形態と同様である（それぞれ図１および図２を参照）。ただし、以下に説明するように、描画要求監視部１０２、データ蓄積部１０４、分析部１０８によって実現される描画不正確率の分析処理の構成が異なる。
【０１２６】
描画要求監視部１０２は、第１の実施形態における監視情報に加えて、描画処理以外の全ブロックの呼び出し履歴、各ブロック実行時の同期・非同期のようなブロックの動作に影響する制御情報および動作環境などの付加情報を記録する。
【０１２７】
データ蓄積部１０４は、描画対象と描画要求順序情報ごとではなく、ケースごとの実行回数、描画不正の発生回数、および描画不正の発生確率の記録を記録する。さらに、描画要求順序情報および描画対象が、どのケースに分類されたかを示す対比情報を蓄積する。ケースの対比情報は、分析結果提示部１１０が、確率的な再描画処理の記述をスクリプト３０２に挿入する場所を特定する際に使用する。
【０１２８】
分析部１０８は、描画要求順序情報ではなく、ケースごとの描画不正発生確率を算出する。
【０１２９】
以下に、本実施形態の動作について、図２および図１１を参照して説明する。
【０１３０】
図１１は、図２に示すステップＳ１２２−ＢおよびステップＳ１２４−Ｂが本実施形態ではどのような処理になるかを詳細に示すフローチャートである。
【０１３１】
まず、描画試験者４００がＷｅｂコンテンツ３００にアクセスするまでの動作と、描画要求監視部１０２が描画要求を監視するまでの動作とは、上述した第１の実施形態と同様である。ここでは、描画要求監視部１０２が描画要求を記録する動作（図２のステップＳ１０８−Ｂ）から説明する。
【０１３２】
描画要求監視部１０２は、描画処理以外の全ブロックの呼び出し履歴、各ブロック実行時の同期・非同期のようなブロックの動作に影響する制御情報、および、動作環境などの付加情報を監視し、描画要求順序情報と共に記録する。
【０１３３】
ここで、同期・非同期とは、上記ブロックや上記関数の処理の実行に際し、他処理の終了を待ち合わせるか否かを指定する動作モード指定であり、例えば、同期を設定する関数の実行と、非同期を設定する関数の実行とでそれぞれの動作モードを切り替える。このような制御設定の種類、および、その設定方法はＷｅｂコンテンツの記述言語の仕様に依存する。
また、動作環境とは、例えば、ブラウザ２００が動作しているコンピュータのＣＰＵ使用率やネットワーク使用率などの値である。
付加情報の種類や内容については、これらに限定されるものではない。
【０１３４】
描画要求監視部１０２は、各描画要求の内容も分類して記録する。描画要求の内容としては、例えば、要素の生成、属性の変更、描画スタイル（スタイル属性・クラス属性を含む）の変更、要素の配置、要素の破棄など操作の種類、および、スタイル属性やクラス属性など付属する属性の種類と値などが考えられる。
【０１３５】
なお、描画要求監視部１０２は、例えば、ブロック名や関数名に対する操作・属性種別の対応表をあらかじめ保持しておき、検出した描画要求における操作・属性の種類をその対応表に照らし合わせて区別するよう動作させてもよい。
【０１３６】
その後、描画結果情報を取得する（図２のステップＳ１２０−Ｂ）までの動作は、第１の実施形態のそれと同様である。
【０１３７】
次に、分析部１０８は、描画情報を分析する（図２のステップＳ１２２−Ｂ）。本実施形態では、分析部１０８は、描画要求順序情報をケースごとに分類して、描画不正確率を算出する。
【０１３８】
この際の分析部１０８の動作について、図１１を参照して詳細に説明する。
【０１３９】
まず、分析部１０８は、データ蓄積部１０４から、これまでの描画試験記録を読み込む（図１１のステップＳ４０２）。分析部１０８への入力となる情報は、この他に、描画要求監視部１０２が記録した監視記録および描画結果取得部１０６が取得した描画結果情報である。
【０１４０】
次に、分析部１０８は、描画要求順序情報をケースごとに分類する（図１１のステップＳ４０４）。ケースは、同期・非同期の設定や、描画要求の内容ごとに分類される。例えば、ケース１は、同期設定で、描画要求内容が、生成→body配置の順とし、ケース２は、非同期設定で、描画要求内容が生成→body配置の順などとする。この場合、データ蓄積部１０４が保持する、ケースに対応するスクリプトの場所を特定する情報は、描画要求の対象と順序情報、および、同期・非同期設定の情報である。
【０１４１】
次に、分析部１０８は、描画不正の発生の有無を確認する（図１１のステップＳ４０６）。
【０１４２】
描画不正が発生していなかった場合、次は、図１１のステップＳ４１２の処理に進む。
【０１４３】
描画不正が発生していた場合、描画結果情報と監視記録とを用いて、描画不正対象の識別子と当該対象を操作した描画要求順序情報とに加えて、その描画要求順序のケースを割り出す（図１１のステップＳ４０８）。
【０１４４】
そして、その抽出結果を用い、上記のこれまでの描画試験記録の中の、描画不正が発生したケースにおける描画不正の発生回数に１を加算する（図１１のステップＳ４１０）。
【０１４５】
次に、分析部１０８は、上記監視記録に含まれるすべてのケースについて、実行回数に１を加算する（図１１のステップＳ４１２）。
【０１４６】
この際、もし、描画試験記録に含まれない描画対象や描画要求順序やケースがあった場合は、新たな項目としてその描画試験記録を追加する。
【０１４７】
その後、分析部１０８は、実行回数を更新または追加したすべてのケースにおいて、描画不正の発生確率を算出する（図１１のステップＳ４１４）。
【０１４８】
例えば、１回のＷｅｂコンテンツ表示において、特定のケースに該当する描画要求順序情報が３つ存在し、かつ、そのうちの１つの実行順序で描画不正が発生した場合、そのケースの実行回数に３を加算、描画不正の発生回数に１を加算し、描画不正の発生確率を算出する。即ち、１回の描画試験で、そのケースを３回実行し、描画不正がそのうち１回発生したとみなす。
【０１４９】
そして、分析部１０８は、データ蓄積部１０４に分析結果を反映する（図１１のステップＳ４１６、および、図２のステップＳ１２４−Ｂ）。
【０１５０】
最後に、分析結果提示部１１０は、描画要求監視部１０２の監視記録とデータ蓄積部１０４の最新の描画試験記録とを用いて、分析結果を描画試験者４００に提示する（図２のステップＳ１２６−Ｂ）。
【０１５１】
分析結果の提示において、スクリプト３０２に確率的な再描画処理の記述を挿入する場合、データ蓄積部１０４は描画要求順序情報とケースの対比情報やケースの内容とを基に各該当箇所を割り出して、確率的再描画処理の記述を挿入する。このとき、結果提示対象となったケースに含まれるが、今回の試験では実行しなかった要求順序情報に対して、スクリプトへの確率的な再描画処理の記述を挿入してもよい。
【０１５２】
なお、分析結果提示部１１０は、監視記録に含まれる、その他の付加情報によって、スクリプト３０２に確率的再描画処理の記述を挿入する方法を変えてもよい。例えば、Ｗｅｂコンテンツ３００の描画処理時の負荷に応じて、挿入する確率的再描画処理における再描画の実行確率を調整してもよい。即ち、ブラウザ実行環境におけるＣＰＵ使用率などの負荷が高い場合、再描画の確率を、標準の確率（負荷が高くない場合に適用する確率）より低くしたり、逆に、負荷が低い場合は、該標準の確率より高くしたりしてもよい。
【０１５３】
以上説明したように、本実施形態には、過去に描画試験を行ったＷｅｂコンテンツに対しても、後で行った試験結果を反映できるという効果がある。
【０１５４】
その理由は、分析部１０８が描画処理内容の特徴が同じ傾向のケースごとに、描画不正の発生確率を算出するので、分析結果提示部１１０が、過去に描画試験を行ったスクリプトにおける、今回の試験で描画不正発生確率が変動したケースに含まれる描画要求処理部分に対しても、描画不正の発生確率に応じて再描画を行う処理を埋め込むことができるからである。
【０１５５】
本発明は上述の実施形態に限定されるものではなく、その実施に際して様々な変形が可能である。
【０１５６】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１５７】
（付記１）
外部から与えられた、または、ブラウザに対する描画要求を監視する手段から与えられた描画要求順序の情報である描画要求順序情報に基づいて、該描画要求順序ごとに描画不正の発生確率を描画不正発生確率として算出する分析ステップと、
前記分析ステップで算出された前記描画不正発生確率を提示する描画結果提示ステップと
を有することを特徴とする描画支援方法。
【０１５８】
（付記２）
前記描画結果提示ステップにおいて、描画試験対象のＷｅｂコンテンツ内の、前記描画要求順序情報の示す場所へ、算出した前記描画不正発生確率に応じて、確率的な再描画処理（すなわち、引数として与えられる描画不正確率に応じた割合で再描画処理を行う処理）のための記述を挿入することを特徴とする付記１記載の描画支援方法。
【０１５９】
（付記３）
前記描画要求順序情報は、描画要求の属性および／または実行中の負荷状況を示す付属情報を含み、
前記分析ステップは、前記描画要求順序情報を、前記付属情報の共通点に基づいた複数のケースに分類し、該ケースごとの前記描画不正発生確率を算出し、
前記描画結果提示ステップは、前記ケースごとの前記描画不正発生確率を提示することを特徴とする付記１または２記載の描画支援方法。
【０１６０】
（付記４）
前記描画結果提示ステップは、描画試験対象の前記Ｗｅｂコンテンツ内の、同じ前記ケースに分類された各描画要求順序情報が示す場所へ、算出された前記描画不正発生確率に応じて、前記確率的な再描画処理のための記述を挿入することを特徴とする付記３記載の描画支援方法。
【０１６１】
（付記５）
前記描画結果提示ステップは、予め設定された条件に基づいた処理の挿入方法により、前記確率的な再描画処理のための記述を挿入することを特徴とする付記１乃至４のいずれかに記載の描画支援方法。
【０１６２】
（付記６）
前記描画結果提示ステップは、前記Ｗｅｂコンテンツに挿入する確率的な再描画処理における再描画実行確率を、前記Ｗｅｂコンテンツ描画時の実行状況および／または事前設定により調整することを特徴とする付記１乃至５のいずれかに記載の描画支援方法。
【０１６３】
（付記７）
外部から与えられた、または、ブラウザに対する描画要求を監視する手段から与えられた描画要求順序の情報である描画要求順序情報に基づいて、該描画要求順序ごとに描画不正の発生確率を描画不正発生確率として算出する分析処理と、
前記分析処理で算出された前記描画不正発生確率を提示する描画結果提示処理と
をコンピュータに実行させることを特徴とする描画支援プログラム。
【０１６４】
（付記８）
前記描画結果提示処理において、描画試験対象のＷｅｂコンテンツ内の、前記描画要求順序情報の示す場所へ、算出した前記描画不正発生確率に応じて、確率的な再描画処理（すなわち、引数として与えられる描画不正確率に応じた割合で再描画処理を行う処理）のための記述を挿入することを特徴とする付記７記載の描画支援プログラム。
【０１６５】
（付記９）
前記描画要求順序情報は、描画要求の属性および／または実行中の負荷状況を示す付属情報を含み、
前記分析処理は、前記描画要求順序情報を、前記付属情報の共通点に基づいた複数のケースに分類し、該ケースごとの前記描画不正発生確率を算出し、
前記描画結果提示処理は、前記ケースごとの前記描画不正発生確率を提示することを特徴とする付記７または８記載の描画支援プログラム。
【０１６６】
（付記１０）
前記描画結果提示処理は、描画試験対象の前記Ｗｅｂコンテンツ内の、同じ前記ケースに分類された各描画要求順序情報が示す場所へ、算出された前記描画不正発生確率に応じて、前記確率的な再描画処理のための記述を挿入することを特徴とする付記９記載の描画支援プログラム。
【０１６７】
（付記１１）
前記描画結果提示処理は、予め設定された条件に基づいた処理の挿入方法により、前記確率的な再描画処理のための記述を挿入することを特徴とする付記７乃至１０記載の描画支援プログラム。
【０１６８】
（付記１２）
前記描画結果提示処理は、前記Ｗｅｂコンテンツに挿入する確率的な再描画処理における再描画実行確率を、前記Ｗｅｂコンテンツ描画時の実行状況および／または事前設定により調整することを特徴とする付記７乃至１１のいずれかに記載の描画支援プログラム。
【符号の説明】
【０１６９】
１００    描画支援装置
１００Ａ    描画支援装置
１０２    描画要求監視部
１０２Ａ    描画要求監視部
１０４    データ蓄積部
１０６    描画結果取得部
１０８    分析部
１１０    分析結果提示部
１１２    Ｗｅｂコンテンツ管理部
１１４    Ｗｅｂサーバ
１１６    ログ機能付Ｗｅｂコンテンツ
１１８    ログ機能付スクリプト
２００    ブラウザ
２０２    描画要求受付部
２０４    描画処理部
３００    Ｗｅｂコンテンツ
３０２    スクリプト
３１０    処理の流れを示すブロック
３１２    描画対象要素(div要素)
３１４    関数
３１６    要素の識別情報（ｉｄ属性の値)
３１８    createDivElementブロック
３２０    placeDivElementブロック
３２０Ａ    描画不正対応後のplaceDivElementブロック
３２２    createImgElementブロック
３２４    placeImgElementブロック
３２４Ａ    描画不正対応後のplaceImgElementブロック
３２６    確率的再描画処理本体
３２８    確率的再描画処理(４０％)
３３０    確率的再描画処理(０％)
４００    描画試験者
４０２    描画結果確認システム
５００    ネットワーク
【図１】
0005957986.tif 000002
【図２】
0005957986.tif 000003
【図３】
0005957986.tif 000004
【図４】
0005957986.tif 000005
【図５】
0005957986.tif 000006
【図６】
0005957986.tif 000007
【図７】
0005957986.tif 000008
【図８】
0005957986.tif 000009
【図９】
0005957986.tif 000010
【図１０】
0005957986.tif 000011
【図１１】
0005957986.tif 000012