JP2013191027A - 描画支援装置、描画支援方法および描画支援プログラム - Google Patents

描画支援装置、描画支援方法および描画支援プログラム Download PDF

Info

Publication number
JP2013191027A
JP2013191027A JP2012056974A JP2012056974A JP2013191027A JP 2013191027 A JP2013191027 A JP 2013191027A JP 2012056974 A JP2012056974 A JP 2012056974A JP 2012056974 A JP2012056974 A JP 2012056974A JP 2013191027 A JP2013191027 A JP 2013191027A
Authority
JP
Japan
Prior art keywords
fraud
probability
web content
rendering
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012056974A
Other languages
English (en)
Other versions
JP5957986B2 (ja
Inventor
Shoko Imai
祥子 今井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012056974A priority Critical patent/JP5957986B2/ja
Priority to US13/796,219 priority patent/US9280521B2/en
Publication of JP2013191027A publication Critical patent/JP2013191027A/ja
Application granted granted Critical
Publication of JP5957986B2 publication Critical patent/JP5957986B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】Webブラウザにおける描画タイミングによる描画不正問題への対処のために行う再描画処理の実行頻度の低減を達成する。
【解決手段】本発明の描画支援装置は、分析手段と、算出手段とを備える。分析手段は、外部から与えられた、または、ブラウザに対する描画要求を監視する手段から与えられた描画要求順序の情報である描画要求順序情報に基づいて、該描画要求順序ごとに描画不正の発生確率を描画不正発生確率として算出する。そして、描画結果提示手段が、このようにして分析手段が算出した描画不正発生確率を提示する。
【選択図】 図1

Description

本発明は、インターネット等で使用されるウェブコンテンツの開発支援に用いる描画支援装置、描画支援方法および描画支援プログラムに関し、特に、ブラウザの違いにより発生する可能性のある描画不良を回避できるようにしたウェブコンテンツの効率的な開発が可能な描画支援装置、描画支援方法および描画支援プログラムに関する。
昨今のウェブコンテンツ(以下、単に、「コンテンツ」、または、「Webコンテンツ」とも称する。)は、それを作成するためのHTML(HyperText Markup Language)やCSS(Cascading Style Sheets)の仕様の進化やWeb技術の進歩により多様化が進んできている。
また、Webコンテンツの開発においては、まず、HTMLやCSSなどのテキストベースでコンテンツを作成し、ブラウザ(閲覧ソフトウェア。以下、「Webブラウザ」とも称する。)で実際にそれらのコンテンツを画面表示してコンテンツの表示状態を確認するという順序で作業を行うことが多い。
このようなコンテンツの開発が効率的に行えるよう、開発者の作業を支援する様々な技術が提案されている。
係る技術の一例として、特許文献1は、テキストでのコンテンツ作成や表示の確認など一連の作業をGUI(Graphical User Interface)で行えるよう支援することで作業を容易にする技術を開示している。
また、特許文献2は、コンテンツの設計と実際の表示との間における差異の確認作業を支援する技術を開示している。
また、特許文献3は、フォームによる対話によって動的に表示が変化するWebサイトの試験を支援する技術を開示している。さらに詳しく言えば、特許文献3記載の技術では、まず、フォームへの入力のパターンを網羅する試験設定ファイルを作成し、ブラウザの代わりにWebサイトにHTTPを送信する。その後、Webサイトから受信したHTMLを解析することで、HTMLに含まれるエラーをレポートする。
しかし、Webコンテンツの開発では、さらに、そのWebコンテンツを参照するブラウザごとに描画方法やスクリプト実行仕様が異なることも考慮しなければならない。
各種ブラウザでは、それぞれが独自の描画エンジンやスクリプト実行エンジンなどを実装している。すなわち、各種ブラウザがそのブラウザ特有の仕様を持っている。また、一部のブラウザではCSSなどの仕様に準拠していると謳っていても、仕様どおりの表示や動作が実現されない場合もある。すなわち、HTMLにエラーがなくても、表示をさせるブラウザの種類によって不正な(開発者の意図しない)表示や動作をしてしまうことがある。
例えば、Webブラウザの種類間で、それぞれのブラウザに表示したときの画像等のレイアウトに微妙なずれが生じる場合がある。すなわち、ブラウザAとブラウザBでは、特定の要素(Webコンテンツ中の個々のテキストやイメージなどの部品)の描画位置が数ピクセルずれるなどといったことが発生する場合がある。
係る問題を解決する技術の一例として、特許文献4は、ブラウザAとブラウザBの表示結果を画像として比較し、表示位置やサイズがずれている要素に関して、HTMLソースを自動的に補正する技術を開示している。
一方、ブラウザ特有の仕様により発生する問題としては、上記の表示ずれの他に、特定のブラウザが仕様の制約を持つという点もある。即ち、ブラウザに対する描画処理投入のタイミングに依存して、ブラウザによっては、特定の時点での描画処理に次の描画要求が追い着く(現在の描画処理の完了前に次の描画要求が到着する)と正しく描画されない場合がある。具体的には、描画要求の追い着きにより、Webコンテンツ内に存在する特定の要素が、ブラウザ上には表示されない現象や、指定された領域から意図せずはみ出す現象などの描画不正が発生する。
上記のような描画不正は、追い着かれた描画要求、または、次の(追い着いた)描画要求のいずれかで発生する。
この描画不正の現象が発生した場合であっても、ブラウザの内部的な描画処理においては、追い着かれた描画要求も、次の(追い着いた)描画要求も正しく実行されているため、再描画を行えばすべての要素が正しく表示される。
したがって、このような描画タイミングによる描画不正問題が発生した場合には、各描画対象の描画完了後にブラウザの表示領域を強制的に再描画させればよい。このようなブラウザへの対策として、Webコンテンツ開発者は、Webコンテンツの描画処理完了後のすべての場所に再描画を行う処理を追加していた。
特開2002?183034号公報 特開2005?122504号公報 特表2002−527822号公報 特開2010−39815号公報
しかしながら、上述したような技術では、描画要求後には常に再描画処理を実行するWebコンテンツとなり、クライアントの負荷増大のためにブラウザの表示性能が大幅に劣化するという問題点がある。
本発明の目的は、上述した問題点を解決し、Webブラウザにおける再描画処理の実行頻度を低減できるWebコンテンツの開発を支援する描画支援装置、描画支援方法および描画支援プログラムを提供することにある。
本発明の描画支援装置は、外部から与えられた、または、ブラウザに対する描画要求を監視する手段から与えられた描画要求順序の情報である描画要求順序情報に基づいて、該描画要求順序ごとに描画不正の発生確率を描画不正発生確率として算出する分析手段と、前記分析手段が算出した前記描画不正発生確率を提示する描画結果提示手段とを備える。
また、本発明の描画支援方法は、外部から与えられた、または、ブラウザに対する描画要求を監視する手段から与えられた描画要求順序の情報である描画要求順序情報に基づいて、該描画要求順序ごとに描画不正の発生確率を描画不正発生確率として算出する分析ステップと、前記分析ステップで算出された前記描画不正発生確率を提示する描画結果提示ステップとを有する。
さらに、本発明の描画支援プログラムは、外部から与えられた、または、ブラウザに対する描画要求を監視する手段から与えられた描画要求順序の情報である描画要求順序情報に基づいて、該描画要求順序ごとに描画不正の発生確率を描画不正発生確率として算出する分析処理と、前記分析処理で算出された前記描画不正発生確率を提示する描画結果提示処理とをコンピュータに実行させる。
本発明には、現在の描画処理に次の描画要求が追い着く可能性があるWebブラウザに対して、描画実行順序ごとの描画不正の発生確率の違いに応じた再描画処理を行わせるようなWebコンテンツの開発・作成が効率的に行えるという効果がある。
本発明の第1の実施形態を示すブロック図である。 本発明の第1の実施形態における描画試験処理の流れを示すフローチャートである。 図2におけるステップS122−BおよびステップS124−Bでの処理の詳細を示すフローチャートである。 本発明の第1の実施形態における描画試験対象のWebコンテンツ300に含まれるスクリプト302をJavaScript形式で例示的に示した図である。 本発明の第1の実施形態における描画要求監視部102の記録内容の一例を図である。 本発明の第1の実施形態における描画試験実施前のデータ蓄積部104の記録内容の一例を示す図である。 本発明の第1の実施形態における、描画試験結果を反映して更新した後のデータ蓄積部104の記録内容の一例を示す図である。 本発明の第2の実施形態において、図4に示すスクリプト302に確率的再描画処理の記述を挿入した結果を示す図である。 本発明の第2の実施形態を示すブロック図である。 本発明の第2の実施形態における描画試験処理の流れを示すフローチャートである。 本発明の第3の実施形態において、図2に示すステップS122−BおよびステップS124−Bで行われる処理の詳細を示すフローチャートである。
次に、本発明を実施する形態について図面を参照して詳細に説明する。
<第1の実施形態>
図1を参照すると、本発明の第1の実施形態は、描画支援装置100、ブラウザ200、Webコンテンツ300、描画試験者400、およびネットワーク500から構成される。
ブラウザ200と、Webコンテンツ300とは、インターネットや構内LAN(ローカルエリアネットワーク)等の通信ネットワーク(以下、単に「ネットワーク」と称する。)500を介して通信可能である。
描画支援装置100は、プログラム制御により動作する一般的な情報処理装置(コンピュータ)によって構成されてもよいし、専用のハードウェアで構成されてもよい。
また、ブラウザ200およびWebコンテンツ300は、描画支援装置100内に設けられていてもよいし、別の情報処理装置(コンピュータ)等に設けられていてもよい。
本実施形態において、描画試験者400は、ブラウザ200を介して、Webコンテンツ300にアクセスし、また、描画結果の確認入力などの操作を行うユーザである。
描画支援装置100は、描画要求監視部102、データ蓄積部104、描画試験者400から描画結果情報を受け取る描画結果取得部106、分析部108、および、分析結果によって更新されたデータ蓄積部104のデータを用いて分析結果を提示する分析結果提示部110を備える。
描画支援装置100において、描画要求監視部102は、描画試験者400が所望したWebコンテンツ300を描画するためにブラウザ200へ送られる描画要求を監視し、描画要求の順序情報を保存する。
具体的には、例えば、ブラウザ200にアドオンなどの形態で描画要求を監視するプログラムを組み込み、このプログラムが、Webコンテンツ300を表示する際にブラウザ200に対して実行される描画要求を監視し、監視部102に監視結果を通知するといったような方法が考えられる。
なお、描画要求の順序情報は、描画要求監視部102の監視による生成ではなく、分析部108に対して外部から与えてもよい。
また、描画支援装置100において、データ蓄積部104は、これまでの描画試験記録(過去の描画試験における描画実行順序ごとの描画不正の発生確率情報など)を蓄積する。
図7に示すように、描画試験記録は、試験対象のWebコンテンツ300における各描画要求順序対応に、順序情報IDを付与して、それぞれのIDごとに、描画対象、それぞれの描画要求順序における実行回数、その実行回数分だけ実行した描画のうちで発生した描画不正の発生回数、および、実行回数と描画不正の発生回数から算出される描画不正の発生確率などを記録したものである。
また、描画支援装置100において、分析部108は、描画要求監視部102、データ蓄積部104および描画結果取得部106から与えられる各種描画情報を分析して、描画実行順序ごとの描画不正確率を算出する。そして、分析部108は、今回の描画試験の情報をデータ蓄積部104のデータに反映する。
次に、ブラウザ200は、Webコンテンツ300を含む各種Webサイトのコンテンツを、描画試験者400が閲覧できるよう表示する機能を有する一種のプログラムである。ブラウザ200は、ブラウザの一般的な機能として、描画要求受付部202と描画処理部204とを有する。
試験対象であるWebコンテンツ300は、描画要求を行うスクリプト302を含む。
次に、上述した構成を備える本実施形態の動作について詳細に説明する。
はじめに、本説明における前提条件を述べる。
図4は、本実施形態における描画試験対象のWebコンテンツ300に含まれるスクリプト302をJavaScript(登録商標)形式で例示的に説明する図である。即ち、本実施形態において、Webコンテンツ300は、JavaScriptのスクリプト302を実行するHTMLのWebコンテンツである。ここではHTMLとJavaScriptを例に挙げるが、本発明ではWebコンテンツやスクリプトの記述言語を限定するものではない。
本実施形態では、要素、関数、ブロックという用語を使用する。「要素」は、描画対象要素(div要素)312で例示する通り、関数314で操作される対象である。「要素」を識別する情報は、本実施形態では、要素の識別情報(id属性の値)316で例示する通り、要素に与えたid属性の値とする。
なお、本実施形態において、id属性の値はWebコンテンツ300の中で一意とする。また、識別情報は他の適当な値でもよい。「関数」は、関数314で例示する通り、要素を対象にして、生成や配置などのさまざまな操作を行うAPI(Application Programming Interface)である。
「ブロック」は、createDivElementブロック318で例示する如く、0〜複数の関数を内包するものである。一般に、createDivElementブロック318のようなものも「関数」と呼ばれることがあるが、本実施形態では、説明の便宜上、「関数」および「ブロック」というようにそれぞれを区別した用語を使用する。
ここで、描画対象は「要素」に、描画対象の識別情報は「(要素の)id属性の値」に、および、描画要求順序情報は「描画処理を行う関数を含むブロック」にそれぞれ対応するものとする。関数には、描画要求を発生するものと、描画には関係しないものがある。本実施形態中において、描画処理を行う関数を含むブロックとは、div要素に対するcreateDivElementブロック318およびplaceDivElementブロック320、ならびに、img要素に対するcreateImgElementブロック322およびplaceImgElementブロック324の4つが該当する。
スクリプト302では、処理の流れを示すブロック310に示す順に、描画処理を含むブロックの呼び出しが行われる。即ち、div要素に対してcreateDivElementブロック318で生成(create)、placeDivElementブロック320でbody要素に配置(place)を行い、また、img要素に対してcreateImgElementブロック322で生成(create)、placeImgElementブロック324でbody要素に配置(place)を行う処理が含まれている。
以下の説明では、スクリプト302で生成するdiv要素312に対して描画不正が発生したものとする。
また、描画要求監視部102による監視方法の具体例として、ここでは描画処理を行う前記関数のそれぞれに対して、監視機能を追加した関数を上書きすることで、描画処理関数への描画要求の発生とその内容を捕捉するものとする。前記監視機能とは、描画要求の関数内で、要求の内容のうち、描画対象や描画処理の要求元ブロックを監視記録として取得する機能である。なお、本実施形態では、描画処理を行っているブロックのみ監視しているが、その他の処理を行うブロックも含めて監視し、Webコンテンツ300全体の実行順序情報や処理シーケンスを把握しても良い。それにより、描画要求順序情報ごとに算出している描画不正確率の精度が高くなるなど、描画不正の分析がより詳細にできる可能性がある。
以下、本実施形態における描画支援装置100の動作について、図2および図3を参照して説明する。
まず、描画試験者400はブラウザ200起動する。次に、描画支援システム100内の描画要求監視部102は、描画試験者400から、描画要求の監視開始の指示を受ける(図2のステップS102−A)。描画要求の監視開始の指示を受けると、描画要求監視部102は、ブラウザ200に対して行われる描画要求の監視を開始する(図2のステップS104−B)。
次に、描画試験者400は、ブラウザ200を利用して、試験対象のWebコンテンツ300にアクセスする(図2のステップS106−A)。
描画要求監視部102は、ブラウザ200におけるWebコンテンツ300へのアクセスを検出すると、Webコンテンツ300からブラウザ200に対して行われた一連の描画要求を記録する(図2のステップS108−A)。
ここで、描画要求監視部102が記録する監視記録の内容は、図5に例示するように、描画要求の対象(描画対象)と、描画要求の順序(描画要求順序)である。描画要求順序の実体(データ)は、ブラウザに描画させるための関数の名称やパラメータであってもよいし、描画処理を内包するブロックの名称などであってもよい。ここでの例では、描画要求監視部102は、div要素に対してcreateDivElementブロックで生成、placeDivElementブロックでbody要素に配置、の順に描画要求を行い、img要素に対してcreateImgElementブロックで生成、placeImgElementブロックでbody要素に配置、の順に描画要求を行ったことを監視記録として記憶する。なお、描画対象別に実行順序情報を記録するものとする。
ブラウザ200上でWebコンテンツ300の表示が完了した後、描画試験者400は、Webコンテンツ300の表示状態を確認する(図2のステップS110−A)。即ち、描画試験者400は、描画不正の発生の有無と、発生した場合は描画不正が発生した対象(ブラウザ上で正しく表示されなかった画像や文章などのコンテンツ要素)を確認する。この際、描画試験者400は、スクリプト302で生成したdiv要素312で描画不正が発生したことを認識したとする。そして、描画要求監視部102に監視の終了を指示する(図2のステップS112−A)。
監視終了の指示を受けると、描画要求監視部102は描画要求の監視を終了する(図2のステップS114−B)。そして、描画結果取得部106は、描画結果の入力画面を表示する(図2のステップS116−B)。即ち、描画不正の発生の有無と、描画不正が発生した対象(コンテンツ要素)を特定する情報(画面の要素や領域の名称など)を入力するための画面が、描画試験者400に対して表示される。なお、描画不正は、一度の描画試験で複数発生することもあり、必要に応じて複数の描画不正について入力できるものとする。
描画試験者400は、描画結果取得部106の表示した画面に、描画結果を入力する(図2のステップS118−A)。描画結果取得部106に対して入力される情報は、描画不正の発生有無の情報に加えて、描画不正の発生した対象であるdiv要素を特定する情報、例えばid属性の情報などが考えられる。ここでは、「描画不正発生あり」、という情報と描画不正が発生したdiv要素のid属性の値「divcontent」が入力されることとなる。そして、描画結果取得部106は、描画試験者400が入力した確認結果を受け取る(図2のステップS120−B)。確認結果の判断と入力は自動化してもよい。本実施形態においては、描画不正の確認方法は何ら限定されるものではない。
次に、分析部108は、描画情報の分析を行う。分析部108は、分析の初めとして、分析の入力となるデータを取得する。まず、データ蓄積部104から、これまでの描画試験記録を読み込む(図3のステップS202)。図6は、データ蓄積部104が保持するこれまでの描画試験記録を概念的に例示した図である。
図6を参照すると、これまでにこのWebコンテンツ300の描画試験は4回実施され、div要素の実行回数は4回、描画不正の発生回数は1回であることが分かる。また、img要素の実行回数は2回、描画不正の発生回数は0回であることも分かる。ここで、img要素に対する描画処理は後からWebコンテンツ300に追加したため、img要素の実行回数は、Webコンテンツの試験回数よりも少ないものとなっている。なお、開発中のWebコンテンツの変化へのもう一つの適応策として、バージョン管理システムと連携を行ってもよい。これにより、ブロック名変更などのスクリプトの変更があっても、過去の描画試験記録を生かすことが可能になる。
分析部108への入力となる情報は、データ蓄積部104が蓄積したこれまでの描画試験記録(図6)の他に、描画要求監視部102が記録した監視記録(図5下)および描画結果取得部106が取得した描画結果情報である。描画要求監視部102が記録した情報と描画試験者400が入力した描画結果情報とは前述したとおりとする。
次に、分析部108は、今回の描画試験において描画不正が発生したかどうかを確認する。本実施形態では、前提の通り、描画不正が発生している(図3のステップS204)。
描画不正が発生していなかった場合、次は、図3のステップS210の処理に進む。
描画不正が発生していた場合、描画結果情報と監視記録を用いて、描画不正対象の識別子と、当該対象を操作した描画要求順序情報とをすべて抽出する(図3のステップS206)。即ち、まず、描画結果情報のうち、描画不正の発生対象を特定する情報であるid属性の値「divcontent」を検索キーとして監視記録を探索し、そのid属性を保持する要素を描画対象とする描画要求順序情報を抽出する。探索の結果、「div#divcontent」を対象とした描画要求記録が抽出され、createDivElementブロック、placeDivElementブロックの順でdiv要素の操作が行われていることが確認できる。
そして、その抽出結果を用い、上記のこれまでの描画試験記録の中の、描画不正が発生した描画要求順序情報における描画不正の発生回数に1を加算する。即ち、描画が不正になったdiv要素に対するcreateDivElementブロック、placeDivElementブロックの順序情報における描画不正の発生回数に1を加算する(図3のステップS208)。
次に、上記監視記録に含まれるすべての描画要求順序について、順序情報の実行回数に1を加算する。即ち、div要素に対するcreateDivElementブロック→placeDivElementブロックの順序と、img要素に対するcreateImgElementブロック→placeImgElementブロックの順序との、合計2つの順序情報における実行回数に1を加算する(図3のステップS210)。
この際、もし、描画試験記録に含まれない描画対象や描画要求順序があった場合は、新たな項目としてその描画試験記録を追加する。
その後、実行回数を更新または追加したすべての描画要求順序情報において、描画不正の発生確率を算出する。即ち、実行回数を更新した2つの順序情報において、描画不正の発生確率を算出する(図3のステップS212)。
本実施形態では、発生確率は、描画不正発生回数を実行回数で割った値をパーセント(%)で表すものとする。そして、分析の最後として、分析部108は、データ蓄積部104に対して今回実行されたすべての順序情報における実行回数、描画不正の発生回数、描画不正の発生確率を更新する(図2のステップS124−B、および、図3のステップS214)。図7に、更新後の描画試験記録を概念的に例示する。
今回行った描画試験の実行結果として、div要素に対する描画試験記録は、実行回数5回、描画不正の発生回数2回、描画不正発生確率40%となり、img要素に対する描画試験記録は、実行回数3回、描画不正の発生回数0回、描画不正発生確率0%となる。
分析部108による分析後、分析結果提示部110は、描画要求監視部102の監視記録とデータ蓄積部104の最新の描画試験記録を用いて、分析結果を描画試験者400に提示する(図2のステップS126−B)。分析結果提示部110は、まず、監視記録から今回の描画試験範囲に含まれる描画対象と描画要求順序を洗い出し、次に、描画試験記録の中から今回の描画試験範囲の記録を抽出して提示する。即ち、提示する内容には、div#divcontentに対するcreateDivElementブロック→placeDivElementブロックの描画順序における描画不正確率は40%であり、img#imgcontentに対するcreateImgElementブロック→placeImgElementブロックの描画順序における描画不正確率は0%であるということを示す情報が含まれる。
分析結果提示部110は、今回の描画試験で実行した各描画要求順序情報や、それぞれに対する描画不正の発生確率の一覧などの分析結果を提示する。
さらに、Webコンテンツ300に含まれるスクリプト302を分析結果提示部110に与えておき、描画不正への対処である確率的再描画処理のための記述を挿入したスクリプトを、分析結果提示部110が自動生成してもよい。
ここで言う確率的再描画処理とは、引数として与えられた描画不正確率に応じた割合で再描画処理を行う処理であり、描画不正を回避するためのものである。確率的再描画処理を挿入する場所は、上記今回の描画試験で実行した範囲における描画要求順序の末尾の処理部分である。この結果として、一連の描画要求の実行が終了し、描画不正が発生した後のタイミングで、描画不正の発生確率の程度に応じて再描画を行うことで、最終的に描画不正を回避する処理である。
また、分析結果提示部110が挿入する確率的再描画処理において、再描画を実行する確率は、描画不正の確率と同じとしてもよい。また、描画不正の発生確率に閾値を設け、閾値以下の描画不正確率ならば、分析結果提示部110は、確率的再描画処理の記述を挿入しないようにしてもよい。または、確率的再描画処理の内部制御により、引数で与えられた描画不正確率が閾値以下ならば、再描画処理を実行しないようにしてもよい。
一方で、閾値以上の描画不正確率ならば、分析結果提示部110は、すべての描画要求順序に対して、必ず(100%)再描画を行う処理を挿入することとしても良い。もしくは、確率的再描画処理の内部制御により、引数で与えられた描画不正確率が閾値以上ならば、再描画処理を必ず実行するようにしてもよい。即ち、分析結果提示部110が挿入する再描画処理の実行確率は、その描画要求順序における描画不正確率と同じとは限らない。
以下に、係るスクリプト自動生成の具体例について、分析結果提示部110の動作を、図4および図8を参照して詳細に説明する。図8は、本実施形態において、図4に示すスクリプト302に、確率的再描画処理の記述を挿入した結果を例示的に示した図である。
まず、分析結果提示部110は、上記分析結果の描画要求順序を解析して、確率的再描画処理の記述を挿入する場所を決定する。ここで、確率的再描画処理の記述を挿入する場所は、今回の描画試験で実行した範囲における描画要求順序の末尾の処理部分である。即ち、div#divcontentに対するplaceDivElementブロック320(図4)と、img#imgcontentに対するplaceImgElementブロック324(図4)との2箇所である。
次に、分析結果提示部110は、スクリプト302(図4)を読み込み、前記確率的再描画処理の記述を挿入する場所である2箇所に対して、例えば、図8に示す形態で、確率的に再描画を行う処理を挿入する。即ち、各実行順序の末尾にて引数に確率を渡してこのブロックを呼び出す処理を挿入する。本実施形態では、挿入される確率的再描画処理の記述は、div#divcontentに対するplaceDivElementブロック320A(図8)内における確率的再描画処理(40%)328(図8)、img#imgcontentに対するplaceImgElementブロック324A(図8)内における確率的再描画処理(0%)330(図8)、および、確率的再描画処理本体326(図8)である。
分析結果提示部110がスクリプト302を取得する方法としては、例えば、描画支援システム100の動作する環境から読み出せる場所にスクリプト302をテキストファイルとして保存しておき、描画試験者400が、描画結果を入力する際(ステップS118−A)に、そのファイルの場所を入力するなどが考えられる。
なお、本実施形態において、確率的再描画処理本体は、redrawProbableブロック326(図8)であり、あらかじめ分析結果提示部110が備えているものとする。なお、分析結果提示部110は、スクリプト302と同様に外部より与えられたファイルから確率的再描画処理本体を読み込んでもよい。確率的再描画処理本体(図8の326)のスクリプト内の配置場所は、本実施形態ではスクリプト全体の先頭としているが、スクリプト言語の記述規則が異なればそのスクリプト言語の記述規則に従って、その規則で規定される場所に配置されることになるのは言うまでもない。
また、確率的再描画処理(40%)(図8の328)における括弧内の引数である40と、確率的再描画処理(0%)(図8の330)における括弧内の引数である0とは、それぞれの描画要求順序における描画不正発生確率に対応する。確率的再描画処理は、引数で与えられた確率に応じて、再描画処理を実施する。本実施形態の確率的再描画処理本体(図8の326)では、引数の数値をそのまま再描画処理の確率(パーセント(%))としており、例えば、確率的再描画処理(40%)(図8の328)は10回の描画のうち4回の割合で再描画を実施する。したがって、div要素の描画不正が40%で発生し、そのうち40%は再描画により描画が正常に回復するので、最終的な描画不正発生確率は16%になる。
そして最後に、分析結果提示部110は、自動生成したスクリプト(図8)を、画面表示、印刷、ファイル出力などの方法で描画試験者400に提示する。なお、今回の描画試験で実行した各描画要求順序情報や、それぞれの描画要求順序に対する描画不正の発生確率などの分析結果そのものと、図8のスクリプトの両方を提示してもよいし、片方だけ提示してもよい。
このように、描画支援装置100は、Webコンテンツ300のどの部分で、どのくらい描画不正の発生確率が高いかを、描画試験者400に示すことができる。また、さらに、スクリプト(図8)の自動生成の機能によって、描画不正の回避策の案を提示することもできるので、Webコンテンツの開発者は、Webコンテンツ300内のスクリプト302の的確な場所において、確率に応じて再描画を行う処理を容易に埋め込むことができる。
一般に、Webブラウザの特性により、現在処理中の描画処理に次の描画要求が追い着くことが原因で描画不正が発生する可能性があるとき、Webコンテンツの描画処理を含むブロックすべてに再描画を行う処理を埋め込む回避方法では、図4のブロック318、320、322、および324で合計4回の再描画を常に行うことになる。または、描画処理の順を解析・検証する手間を掛けて、後に描画処理が続かないブロックは図4のブロック320および324のみであることを洗い出して、その2箇所で合計2回の再描画を常に行うこともある。
これに対して、本実施形態によれば、提示された描画対象ごとの描画順序の末尾のplaceDivElementブロック320(図4)とplaceImgElementブロック324(図4)とにだけに再描画処理を施せばよい。また、本実施形態では、提示されたスクリプト302(図8)にしたがって、それぞれ40%と0%の描画不正確率に応じて再描画回数を減じた処理(図8の326、328、330)を埋め込むことで、容易に対処することができる。
以上説明したように、本実施形態には、Webブラウザにおいて現在処理中の描画処理に次の描画要求が追い着いてしまい描画不正を発生するようなコンテンツの開発・作成を回避できるとともに、Webブラウザにおける再描画処理の発生頻度を低減できるWebコンテンツ開発・作成が行えるという効果がある。
その理由は、分析結果提示部110が、現在までの描画実行順序ごとの描画不正の発生確率と描画要求対象の識別情報とをWebコンテンツの開発者に提示し、これにより、その開発者は描画不正が発生する場所の情報(描画要求対象識別情報と描画実行順序)と、描画不正の発生確率とを組み合わせて入手できるので、Webコンテンツにおける当該描画実行順序の最後の描画要求処理の後に、描画不正の発生確率に応じて再描画を行う処理を埋め込むことができるからである。
<第2の実施形態>
次に、上述した第1の実施形態を基本とする第2の実施形態について説明する。以下では、本実施形態に係る特徴的な部分を中心に説明し、第1の実施形態と同様な構成を有する第2の実施形態の構成要素には、第1の実施形態で付した参照符号と同一の参照符号を付し、その構成要素について重複する詳細な説明は省略する。
図9は、本発明の第2の実施形態を示すブロック図である。
図9を参照すると、本発明の第2の実施形態は、描画支援装置100A、ブラウザ200、Webコンテンツ300、描画試験者400、描画結果確認システム402、およびネットワーク500から構成される。
図9において、描画支援システム100Aは、プログラム制御により動作する一般的な情報処理装置(コンピュータ)によって構成されてもよいし、専用のハードウェアで構成されてもよい。
描画支援装置100Aは、図1に示した第1の実施形態における描画支援装置100の構成に加えて、Webコンテンツ管理部112、Webサーバ114、ログ機能付Webコンテンツ116、および、ログ機能付スクリプト118を更に備える。また、描画支援装置100Aは、第1の実施形態における描画要求監視部102の代わりに、一部の機能が異なる描画要求監視部102Aを備える。また、描画支援装置100Aとブラウザ200とは、インターネットや構内LAN(ローカルエリアネットワーク)等の通信ネットワーク(以下、単に「ネットワーク」と称する)500を介して通信可能である。
本実施形態において、Webコンテンツ管理部112、Webサーバ114、ログ機能付Webコンテンツ116、ログ機能付スクリプト118、および、描画要求監視部102Aは、主に、ブラウザへのアドオンのようなブラウザに直接作用する方法以外の形態(ブラウザに依存しない)で描画要求を監視するために設けられている。
すなわち、Webコンテンツ管理部112、Webサーバ114、ログ機能付Webコンテンツ116、および、ログ機能付スクリプト118は、Webコンテンツ300とスクリプト302の方に描画要求を監視する機構をアドオンする機能を実現する。したがって、本実施形態では、ブラウザ200は、Webコンテンツ300の代わりに、描画支援装置100AのWebサーバ114を介して、ログ機能付Webコンテンツ116にアクセスする。
Webコンテンツ管理部112は、外部から与えられた情報に基づいてWebコンテンツ300とスクリプト302とを取得し、そのコピーを内部に保持する。さらに、管理部112は、そのWebコンテンツ300とスクリプト302とに対して、描画要求を監視するログ機能を付与したログ機能付Webコンテンツ116とログ機能付スクリプト118とを生成する。
Webサーバ114は、ブラウザ200からのアクセス要求を受けて、Webコンテンツ管理部112が生成したログ機能付Webコンテンツ116とログ機能付スクリプト118とをブラウザ200に送信する。
ログ機能付Webコンテンツ116とログ機能付スクリプト118とは、Webコンテンツ管理部112によって生成され、ブラウザ200において描画要求が行われた際に、ブラウザ200が描画支援装置100Aに対して描画要求情報を含むログを送信するログ機能を有する。
描画要求監視部102Aは、ブラウザ200がログ機能付Webコンテンツ116を表示する際に送信するログを受信し、描画要求の監視記録として保存する。
また、本実施形態では、システム構成の実現多様性を示す例の一つとして、描画結果確認システム402がブラウザ200の描画結果の確認を自動的に行うこととする。
描画結果確認システム402は、上述した第1の実施形態における描画試験者400の代わりに、ブラウザ200を参照して描画結果を取得する。すなわち、システム402は、描画不正の発生有無を自動的に確認し、分析結果取得部106に入力する。なお、描画結果確認システム402は、上記ブラウザに依存しないで描画要求を監視する機能には関与しない。
次に、上述した構成を備える本実施形態の動作について詳細に説明する。
図10は、本発明の第2の実施形態に係る描画支援装置100Aと描画試験者400による描画試験処理の流れを示すフローチャートである。
以下の説明では、スクリプト302とログ機能付スクリプト118とに対する取得、コピー作成、および、ログ機能付加などの操作は、それぞれを内包するWebコンテンツ300とログ機能付Webコンテンツ116に対する操作に含めて記載し、特に、スクリプト302とログ機能付スクリプト118を対象として記述しない場合がある。
例えば、「Webコンテンツ300にログ機能を付与してログ機能付Webコンテンツ116を生成する」と記述した場合には、内包されるスクリプト302にもログ機能が付与され、ログ機能付スクリプト118も生成されていることを意味する。
まず、描画支援装置100Aは、描画試験対象となるWebコンテンツ300の取得のための情報を入力として起動される(ステップS302−B)。例えば、描画試験者400が、Webコンテンツ300の位置を示すパス情報を引数としてコンソール(図示せず)からコマンド入力して起動する。
または、マシンの起動時に描画支援装置100Aを自動起動させるように構成しても良い。
描画支援装置100Aが起動すると、Webコンテンツ管理部112は、引数などで指定されたWebコンテンツ300を取得し、そのコピーを作成して内部に保持する(ステップS304−B)。そして、管理部112は、取得したWebコンテンツ300に、描画要求の監視を実現するログ機能を付与したログ機能付Webコンテンツ116を生成する(ステップS306−B)。
ここで、ログ機能とは、ブラウザ200において、ログ機能付Webコンテンツ116を表示する際、描画要求が行われたタイミングで、ブラウザ200が描画要求の内容を描画要求監視部102Aに送信する機能である。
または、ブラウザ200と描画要求監視部102Aとの間の通信回数を低減するために、上記のような描画要求が行われたタイミングではなく、ログ機能付Webコンテンツ116全体の表示完了後に、すべての描画要求内容に関するログをまとめて送信しても良い。
なお、ログ機能付スクリプト118の実体は、例えば、上記ログ機能の処理をJavaScript形式で記述したものに対して、スクリプト302の描画処理の後に挿入する方法で作成される。ログ機能のアドオンは、他の方法により実現しても良い。
そして、Webコンテンツ管理部112は、生成したログ機能付Webコンテンツ116をWebサーバ114に配置する(ステップS308−B)。
次に、描画試験者400は、ブラウザ200を介してWebサーバ114にアクセスし、ログ機能付Webコンテンツ116を表示する(ステップS312−A)。これに応答して、描画要求監視部102Aは、ログ機能付Webコンテンツ116内に埋め込まれたログ機能によって、ブラウザ200から描画要求のログを受け取り、描画要求の監視記録として記録する(ステップS310−B)。ここで、描画要求監視部102Aが記録する内容(監視記録)は、図5に示すように、上述した第1の実施形態と同様の情報である。
ブラウザ200上でログ機能付Webコンテンツ116の表示が完了した後、描画結果確認システム402は、ブラウザ200を参照して描画結果を取得して、描画結果取得部106へ描画結果を送る(ステップS314−A)。
確認の手段は、種々の形態が考えられ、例えば、特許文献2などの従来技術を利用すれば、表示後のブラウザの表示領域の画像を取得して、正常描画時のブラウザ200の表示領域の画像と比較し、差異がある部分を検出した後、その位置に存在する要素を特定するといったような様々な方法で実現できる。
同様に、ブラウザ200上でログ機能付Webコンテンツ116の表示が完了したことを知る方法も、種々の方法が考えられ、例えば、描画試験者400によって描画結果確認システム402へ結果確認の開始を指示しても良いし、描画結果確認システム402が常時ブラウザ200を監視して自動的に表示終了を検知しても良い。
描画結果取得部106は、描画結果確認システム402から描画結果を取得する(ステップS316−B)。描画結果取得部106は、上述した第1の実施形態においては、描画結果の入力画面を表示していたが、本実施形態では、そうではなく、描画結果確認システム402からの受信によって、描画結果の取得処理を開始する。
ここで、描画結果確認システム402から取得する描画結果の内容は、上述した第1の実施形態において、描画試験者400が入力したものと同様である。すなわち、描画不正の発生の有無と、描画不正が発生した対象を特定する情報(画面の要素や領域の名称など)などを含む。
次に、分析部108は、描画情報を分析する(ステップS318−B)。分析の動作に関しては、上述した第1の実施形態と同様であるため、詳細な説明は省略する。
分析終了後、分析部108は、今回の分析結果である描画不正の発生確率で、データ蓄積部104が保持する描画試験結果情報を更新する(ステップS320−B)。
最後に、分析結果提示部110は、描画要求監視部102Aの監視記録とデータ蓄積部104の最新の描画試験記録とを基に、描画試験の結果を提示する(ステップS322−B)。
分析結果の提示の動作に関しては、上述した第1の実施形態と同様であるため、詳細な説明は省略する。ただし、スクリプト302に確率的再描画処理の記述を挿入したスクリプトを自動生成して提示する場合においては、分析結果提示部110は、Webコンテンツ管理部112が保持するスクリプト302のコピーを基に、埋め込み処理を実施する。
以上、本実施形態には、上述した第1の実施形態と同様に、Webコンテンツ300のどの部分で、どのくらい描画不正の発生確率が高いかを、描画試験者400に示すことができるとともに、スクリプト(図8)の自動生成の機能によって、描画不正の回避策の案を提示することもできるという効果がある。
更に、本実施形態には、Webサーバ114を内包することにより対象であるWebコンテンツにログ機能を埋め込んだものを監視対象とすることが可能となり、ブラウザ200の種類に依存せず、描画支援システム100Aの機能を実現することができるという効果もある。すなわち、ブラウザの種類ごとに描画支援装置100Aを構築せず、一つの描画支援装置100Aを使って、複数のブラウザに対する描画試験を実施することができる。これにより、複数のブラウザでの表示をサポートするWebコンテンツの開発における描画試験とその対処の作業に関し、Webコンテンツ開発者の負荷を軽減することができる。
また、本実施形態には、描画結果確認システム402を利用し、ブラウザ200の表示完了時の描画確認を自動化することができ、その結果、描画試験者400の手間を軽減することができるという効果もある。
<第3の実施形態>
次に、上述した第1および第2の実施形態を基本とする第3の実施形態について説明する。以下では、本実施形態に係る特徴的な部分を中心に説明し、第1および2の実施形態と同様な構成を有する第3の実施形態の構成要素には、第1および2の実施形態で付した参照符号と同一の参照符号を付し、その構成要素について重複する詳細な説明は省略する。
本実施形態では、描画要求順序情報以外の付属情報を監視記録に追加し、描画不正発生確率の分析時に、描画要求順序情報に付属情報を加味した分類(以降、「ケース」と称する。)ごとに区別する場合について説明する。即ち、描画要求の処理順序情報を、処理の特徴が同じ傾向を持つケースに束ねて分類する。
本実施形態におけるシステム構成および全体の処理の流れは、上述した第1の実施形態と同様である(それぞれ図1および図2を参照)。ただし、以下に説明するように、描画要求監視部102、データ蓄積部104、分析部108によって実現される描画不正確率の分析処理の構成が異なる。
描画要求監視部102は、第1の実施形態における監視情報に加えて、描画処理以外の全ブロックの呼び出し履歴、各ブロック実行時の同期・非同期のようなブロックの動作に影響する制御情報および動作環境などの付加情報を記録する。
データ蓄積部104は、描画対象と描画要求順序情報ごとではなく、ケースごとの実行回数、描画不正の発生回数、および描画不正の発生確率の記録を記録する。さらに、描画要求順序情報および描画対象が、どのケースに分類されたかを示す対比情報を蓄積する。ケースの対比情報は、分析結果提示部110が、確率的な再描画処理の記述をスクリプト302に挿入する場所を特定する際に使用する。
分析部108は、描画要求順序情報ではなく、ケースごとの描画不正発生確率を算出する。
以下に、本実施形態の動作について、図2および図11を参照して説明する。
図11は、図2に示すステップS122−BおよびステップS124−Bが本実施形態ではどのような処理になるかを詳細に示すフローチャートである。
まず、描画試験者400がWebコンテンツ300にアクセスするまでの動作と、描画要求監視部102が描画要求を監視するまでの動作とは、上述した第1の実施形態と同様である。ここでは、描画要求監視部102が描画要求を記録する動作(図2のステップS108−B)から説明する。
描画要求監視部102は、描画処理以外の全ブロックの呼び出し履歴、各ブロック実行時の同期・非同期のようなブロックの動作に影響する制御情報、および、動作環境などの付加情報を監視し、描画要求順序情報と共に記録する。
ここで、同期・非同期とは、上記ブロックや上記関数の処理の実行に際し、他処理の終了を待ち合わせるか否かを指定する動作モード指定であり、例えば、同期を設定する関数の実行と、非同期を設定する関数の実行とでそれぞれの動作モードを切り替える。このような制御設定の種類、および、その設定方法はWebコンテンツの記述言語の仕様に依存する。
また、動作環境とは、例えば、ブラウザ200が動作しているコンピュータのCPU使用率やネットワーク使用率などの値である。
付加情報の種類や内容については、これらに限定されるものではない。
描画要求監視部102は、各描画要求の内容も分類して記録する。描画要求の内容としては、例えば、要素の生成、属性の変更、描画スタイル(スタイル属性・クラス属性を含む)の変更、要素の配置、要素の破棄など操作の種類、および、スタイル属性やクラス属性など付属する属性の種類と値などが考えられる。
なお、描画要求監視部102は、例えば、ブロック名や関数名に対する操作・属性種別の対応表をあらかじめ保持しておき、検出した描画要求における操作・属性の種類をその対応表に照らし合わせて区別するよう動作させてもよい。
その後、描画結果情報を取得する(図2のステップS120−B)までの動作は、第1の実施形態のそれと同様である。
次に、分析部108は、描画情報を分析する(図2のステップS122−B)。本実施形態では、分析部108は、描画要求順序情報をケースごとに分類して、描画不正確率を算出する。
この際の分析部108の動作について、図11を参照して詳細に説明する。
まず、分析部108は、データ蓄積部104から、これまでの描画試験記録を読み込む(図11のステップS402)。分析部108への入力となる情報は、この他に、描画要求監視部102が記録した監視記録および描画結果取得部106が取得した描画結果情報である。
次に、分析部108は、描画要求順序情報をケースごとに分類する(図11のステップS404)。ケースは、同期・非同期の設定や、描画要求の内容ごとに分類される。例えば、ケース1は、同期設定で、描画要求内容が、生成→body配置の順とし、ケース2は、非同期設定で、描画要求内容が生成→body配置の順などとする。この場合、データ蓄積部104が保持する、ケースに対応するスクリプトの場所を特定する情報は、描画要求の対象と順序情報、および、同期・非同期設定の情報である。
次に、分析部108は、描画不正の発生の有無を確認する(図11のステップS406)。
描画不正が発生していなかった場合、次は、図11のステップS412の処理に進む。
描画不正が発生していた場合、描画結果情報と監視記録とを用いて、描画不正対象の識別子と当該対象を操作した描画要求順序情報とに加えて、その描画要求順序のケースを割り出す(図11のステップS408)。
そして、その抽出結果を用い、上記のこれまでの描画試験記録の中の、描画不正が発生したケースにおける描画不正の発生回数に1を加算する(図11のステップS410)。
次に、分析部108は、上記監視記録に含まれるすべてのケースについて、実行回数に1を加算する(図11のステップS412)。
この際、もし、描画試験記録に含まれない描画対象や描画要求順序やケースがあった場合は、新たな項目としてその描画試験記録を追加する。
その後、分析部108は、実行回数を更新または追加したすべてのケースにおいて、描画不正の発生確率を算出する(図11のステップS414)。
例えば、1回のWebコンテンツ表示において、特定のケースに該当する描画要求順序情報が3つ存在し、かつ、そのうちの1つの実行順序で描画不正が発生した場合、そのケースの実行回数に3を加算、描画不正の発生回数に1を加算し、描画不正の発生確率を算出する。即ち、1回の描画試験で、そのケースを3回実行し、描画不正がそのうち1回発生したとみなす。
そして、分析部108は、データ蓄積部104に分析結果を反映する(図11のステップS416、および、図2のステップS124−B)。
最後に、分析結果提示部110は、描画要求監視部102の監視記録とデータ蓄積部104の最新の描画試験記録とを用いて、分析結果を描画試験者400に提示する(図2のステップS126−B)。
分析結果の提示において、スクリプト302に確率的な再描画処理の記述を挿入する場合、データ蓄積部104は描画要求順序情報とケースの対比情報やケースの内容とを基に各該当箇所を割り出して、確率的再描画処理の記述を挿入する。このとき、結果提示対象となったケースに含まれるが、今回の試験では実行しなかった要求順序情報に対して、スクリプトへの確率的な再描画処理の記述を挿入してもよい。
なお、分析結果提示部110は、監視記録に含まれる、その他の付加情報によって、スクリプト302に確率的再描画処理の記述を挿入する方法を変えてもよい。例えば、Webコンテンツ300の描画処理時の負荷に応じて、挿入する確率的再描画処理における再描画の実行確率を調整してもよい。即ち、ブラウザ実行環境におけるCPU使用率などの負荷が高い場合、再描画の確率を、標準の確率(負荷が高くない場合に適用する確率)より低くしたり、逆に、負荷が低い場合は、該標準の確率より高くしたりしてもよい。
以上説明したように、本実施形態には、過去に描画試験を行ったWebコンテンツに対しても、後で行った試験結果を反映できるという効果がある。
その理由は、分析部108が描画処理内容の特徴が同じ傾向のケースごとに、描画不正の発生確率を算出するので、分析結果提示部110が、過去に描画試験を行ったスクリプトにおける、今回の試験で描画不正発生確率が変動したケースに含まれる描画要求処理部分に対しても、描画不正の発生確率に応じて再描画を行う処理を埋め込むことができるからである。
本発明は上述の実施形態に限定されるものではなく、その実施に際して様々な変形が可能である。
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
外部から与えられた、または、ブラウザに対する描画要求を監視する手段から与えられた描画要求順序の情報である描画要求順序情報に基づいて、該描画要求順序ごとに描画不正の発生確率を描画不正発生確率として算出する分析ステップと、
前記分析ステップで算出された前記描画不正発生確率を提示する描画結果提示ステップと
を有することを特徴とする描画支援方法。
(付記2)
前記描画結果提示ステップにおいて、描画試験対象のWebコンテンツ内の、前記描画要求順序情報の示す場所へ、算出した前記描画不正発生確率に応じて、確率的な再描画処理(すなわち、引数として与えられる描画不正確率に応じた割合で再描画処理を行う処理)のための記述を挿入することを特徴とする付記1記載の描画支援方法。
(付記3)
前記描画要求順序情報は、描画要求の属性および/または実行中の負荷状況を示す付属情報を含み、
前記分析ステップは、前記描画要求順序情報を、前記付属情報の共通点に基づいた複数のケースに分類し、該ケースごとの前記描画不正発生確率を算出し、
前記描画結果提示ステップは、前記ケースごとの前記描画不正発生確率を提示することを特徴とする付記1または2記載の描画支援方法。
(付記4)
前記描画結果提示ステップは、描画試験対象の前記Webコンテンツ内の、同じ前記ケースに分類された各描画要求順序情報が示す場所へ、算出された前記描画不正発生確率に応じて、前記確率的な再描画処理のための記述を挿入することを特徴とする付記3記載の描画支援方法。
(付記5)
前記描画結果提示ステップは、予め設定された条件に基づいた処理の挿入方法により、前記確率的な再描画処理のための記述を挿入することを特徴とする付記1乃至4のいずれかに記載の描画支援方法。
(付記6)
前記描画結果提示ステップは、前記Webコンテンツに挿入する確率的な再描画処理における再描画実行確率を、前記Webコンテンツ描画時の実行状況および/または事前設定により調整することを特徴とする付記1乃至5のいずれかに記載の描画支援方法。
(付記7)
外部から与えられた、または、ブラウザに対する描画要求を監視する手段から与えられた描画要求順序の情報である描画要求順序情報に基づいて、該描画要求順序ごとに描画不正の発生確率を描画不正発生確率として算出する分析処理と、
前記分析処理で算出された前記描画不正発生確率を提示する描画結果提示処理と
をコンピュータに実行させることを特徴とする描画支援プログラム。
(付記8)
前記描画結果提示処理において、描画試験対象のWebコンテンツ内の、前記描画要求順序情報の示す場所へ、算出した前記描画不正発生確率に応じて、確率的な再描画処理(すなわち、引数として与えられる描画不正確率に応じた割合で再描画処理を行う処理)のための記述を挿入することを特徴とする付記7記載の描画支援プログラム。
(付記9)
前記描画要求順序情報は、描画要求の属性および/または実行中の負荷状況を示す付属情報を含み、
前記分析処理は、前記描画要求順序情報を、前記付属情報の共通点に基づいた複数のケースに分類し、該ケースごとの前記描画不正発生確率を算出し、
前記描画結果提示処理は、前記ケースごとの前記描画不正発生確率を提示することを特徴とする付記7または8記載の描画支援プログラム。
(付記10)
前記描画結果提示処理は、描画試験対象の前記Webコンテンツ内の、同じ前記ケースに分類された各描画要求順序情報が示す場所へ、算出された前記描画不正発生確率に応じて、前記確率的な再描画処理のための記述を挿入することを特徴とする付記9記載の描画支援プログラム。
(付記11)
前記描画結果提示処理は、予め設定された条件に基づいた処理の挿入方法により、前記確率的な再描画処理のための記述を挿入することを特徴とする付記7乃至10記載の描画支援プログラム。
(付記12)
前記描画結果提示処理は、前記Webコンテンツに挿入する確率的な再描画処理における再描画実行確率を、前記Webコンテンツ描画時の実行状況および/または事前設定により調整することを特徴とする付記7乃至11のいずれかに記載の描画支援プログラム。
100 描画支援装置
100A 描画支援装置
102 描画要求監視部
102A 描画要求監視部
104 データ蓄積部
106 描画結果取得部
108 分析部
110 分析結果提示部
112 Webコンテンツ管理部
114 Webサーバ
116 ログ機能付Webコンテンツ
118 ログ機能付スクリプト
200 ブラウザ
202 描画要求受付部
204 描画処理部
300 Webコンテンツ
302 スクリプト
310 処理の流れを示すブロック
312 描画対象要素(div要素)
314 関数
316 要素の識別情報(id属性の値)
318 createDivElementブロック
320 placeDivElementブロック
320A 描画不正対応後のplaceDivElementブロック
322 createImgElementブロック
324 placeImgElementブロック
324A 描画不正対応後のplaceImgElementブロック
326 確率的再描画処理本体
328 確率的再描画処理(40%)
330 確率的再描画処理(0%)
400 描画試験者
402 描画結果確認システム
500 ネットワーク

Claims (10)

  1. 外部から与えられた、または、ブラウザに対する描画要求を監視する手段から与えられた描画要求順序の情報である描画要求順序情報に基づいて、該描画要求順序ごとに描画不正の発生確率を描画不正発生確率として算出する分析手段と、
    前記分析手段が算出した前記描画不正発生確率を提示する描画結果提示手段と
    を備えることを特徴とする描画支援装置。
  2. 前記描画結果提示手段は、描画試験対象のWebコンテンツ内の、前記描画要求順序情報が示す場所へ、算出された前記描画不正発生確率に応じて、確率的な再描画処理(すなわち、引数として与えられる描画不正確率に応じた割合で再描画処理を行う処理)のための記述を挿入することを特徴とする請求項1記載の描画支援装置。
  3. 前記描画要求順序情報は、描画要求の属性および/または実行中の負荷状況を示す付属情報を含み、
    前記分析手段は、前記描画要求順序情報を、前記付属情報の共通点に基づいた複数のケースに分類し、該ケースごとの前記描画不正発生確率を算出し、
    前記描画結果提示手段は、前記ケースごとの前記描画不正発生確率を提示することを特徴とする請求項1または2記載の描画支援装置。
  4. 前記描画結果提示手段は、描画試験対象の前記Webコンテンツ内の、同じ前記ケースに分類された各描画要求順序情報が示す場所へ、算出された前記描画不正発生確率に応じて、前記確率的な再描画処理のための記述を挿入することを特徴とする請求項3記載の描画支援装置。
  5. 前記描画結果提示手段は、予め設定された条件に基づいた処理の挿入方法により、前記確率的な再描画処理のための記述を挿入することを特徴とする請求項1乃至4のいずれかに記載の描画支援装置。
  6. 前記描画結果提示手段は、前記Webコンテンツに挿入する確率的な再描画処理における再描画実行確率を、前記Webコンテンツ描画時の実行状況および/または事前設定により調整することを特徴とする請求項1乃至5のいずれかに記載の描画支援装置。
  7. 外部から与えられた、または、ブラウザに対する描画要求を監視する手段から与えられた描画要求順序の情報である描画要求順序情報に基づいて、該描画要求順序ごとに描画不正の発生確率を描画不正発生確率として算出する分析ステップと、
    前記分析ステップで算出された前記描画不正発生確率を提示する描画結果提示ステップと
    を有することを特徴とする描画支援方法。
  8. 前記描画結果提示ステップにおいて、描画試験対象のWebコンテンツ内の、前記描画要求順序情報の示す場所へ、算出した前記描画不正発生確率に応じて、確率的な再描画処理(すなわち、引数として与えられる描画不正確率に応じた割合で再描画処理を行う処理)のための記述を挿入することを特徴とする請求項7記載の描画支援方法。
  9. 外部から与えられた、または、ブラウザに対する描画要求を監視する手段から与えられた描画要求順序の情報である描画要求順序情報に基づいて、該描画要求順序ごとに描画不正の発生確率を描画不正発生確率として算出する分析処理と、
    前記分析処理で算出された前記描画不正発生確率を提示する描画結果提示処理と
    をコンピュータに実行させることを特徴とする描画支援プログラム。
  10. 前記描画結果提示処理において、描画試験対象のWebコンテンツ内の、前記描画要求順序情報の示す場所へ、算出した前記描画不正発生確率に応じて、確率的な再描画処理(すなわち、引数として与えられる描画不正確率に応じた割合で再描画処理を行う処理)のための記述を挿入することを特徴とする請求項9記載の描画支援プログラム。
JP2012056974A 2012-03-14 2012-03-14 描画支援装置、描画支援方法および描画支援プログラム Expired - Fee Related JP5957986B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012056974A JP5957986B2 (ja) 2012-03-14 2012-03-14 描画支援装置、描画支援方法および描画支援プログラム
US13/796,219 US9280521B2 (en) 2012-03-14 2013-03-12 Drawing support apparatus, supporting method and drawing support program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012056974A JP5957986B2 (ja) 2012-03-14 2012-03-14 描画支援装置、描画支援方法および描画支援プログラム

Publications (2)

Publication Number Publication Date
JP2013191027A true JP2013191027A (ja) 2013-09-26
JP5957986B2 JP5957986B2 (ja) 2016-07-27

Family

ID=49158864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012056974A Expired - Fee Related JP5957986B2 (ja) 2012-03-14 2012-03-14 描画支援装置、描画支援方法および描画支援プログラム

Country Status (2)

Country Link
US (1) US9280521B2 (ja)
JP (1) JP5957986B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016066227A (ja) * 2014-09-24 2016-04-28 富士通株式会社 非互換検出装置、非互換検出方法、及びプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110471841B (zh) * 2019-07-12 2024-01-12 北京字节跳动网络技术有限公司 一种比对绘图信息的方法、装置、介质和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10243366A (ja) * 1997-02-26 1998-09-11 Matsushita Electric Ind Co Ltd データ放送受信表示装置
JP2011008622A (ja) * 2009-06-26 2011-01-13 Fujitsu Ltd 表示テスト装置、表示テストプログラムおよび表示テスト方法
JP2011198238A (ja) * 2010-03-23 2011-10-06 Konica Minolta Business Technologies Inc 表示画面制御装置、表示画面制御方法およびプログラム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778372A (en) * 1996-04-18 1998-07-07 Microsoft Corporation Remote retrieval and display management of electronic document with incorporated images
US5897644A (en) * 1996-09-25 1999-04-27 Sun Microsystems, Inc. Methods and apparatus for fixed canvas presentations detecting canvas specifications including aspect ratio specifications within HTML data streams
US6230174B1 (en) * 1998-09-11 2001-05-08 Adobe Systems Incorporated Method of generating a markup language document containing image slices
US6138157A (en) 1998-10-12 2000-10-24 Freshwater Software, Inc. Method and apparatus for testing web sites
US7006668B2 (en) * 1999-12-28 2006-02-28 Canon Kabushiki Kaisha Image processing method and image processing apparatus
JP2001273520A (ja) * 2000-03-23 2001-10-05 Famotik Ltd マルチメディアドキュメント統合表示システム
JP2002183034A (ja) 2000-12-12 2002-06-28 Sourcenext Corp Webページ作成装置、Webページ作成システム、Webページ作成方法及びWebページ作成プログラムを記録した記録媒体
US7171389B2 (en) * 2001-06-01 2007-01-30 Landnet Corporation Identification, storage and display of land data on a website
JP2005122504A (ja) 2003-10-17 2005-05-12 Hitachi Software Eng Co Ltd Webアプリケーション開発支援装置及び開発支援方法
EP1741064A4 (en) * 2004-03-23 2010-10-06 Google Inc DIGITAL CARTOGRAPHIC SYSTEM
JP4302081B2 (ja) * 2005-06-21 2009-07-22 富士通株式会社 ウェブアプリケーションシステム,遠隔操作サーバプログラム及び遠隔操作クライアントプログラム
US7664813B2 (en) * 2006-04-28 2010-02-16 Microsoft Corporation Dynamic data presentation
JP4085123B1 (ja) * 2007-03-29 2008-05-14 株式会社サピエンス 画像表示更新方法およびサーバ・クライアントシステム並びに描画操作エコーバックスクリプト
US20090193067A1 (en) * 2008-01-30 2009-07-30 Microsoft Corporation Server-based recalculation of vector graphics
US8230319B2 (en) * 2008-01-31 2012-07-24 Microsoft Corporation Web-based visualization, refresh, and consumption of data-linked diagrams
JP2010039815A (ja) 2008-08-06 2010-02-18 Nec Engineering Ltd Webページレイアウト補正システム
US20100037177A1 (en) * 2008-08-08 2010-02-11 Golsorkhi Andre O Tool for capturing data across web domains
JP5288981B2 (ja) * 2008-10-02 2013-09-11 キヤノン株式会社 情報処理装置及びその制御方法、プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10243366A (ja) * 1997-02-26 1998-09-11 Matsushita Electric Ind Co Ltd データ放送受信表示装置
JP2011008622A (ja) * 2009-06-26 2011-01-13 Fujitsu Ltd 表示テスト装置、表示テストプログラムおよび表示テスト方法
JP2011198238A (ja) * 2010-03-23 2011-10-06 Konica Minolta Business Technologies Inc 表示画面制御装置、表示画面制御方法およびプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016066227A (ja) * 2014-09-24 2016-04-28 富士通株式会社 非互換検出装置、非互換検出方法、及びプログラム

Also Published As

Publication number Publication date
US20130246899A1 (en) 2013-09-19
US9280521B2 (en) 2016-03-08
JP5957986B2 (ja) 2016-07-27

Similar Documents

Publication Publication Date Title
US9213625B1 (en) Method and apparatus for performing automated user-interface layout testing
US9064057B2 (en) Processing automation scripts of software
TWI454941B (zh) 自動測量網頁文件集
US8943423B2 (en) User interface indicators for changed user interface elements
US20190042208A1 (en) Analyzing objects from a graphical interface for standards verification
CN109947637B (zh) 网页兼容性自动化测试方法、装置、设备及介质
US9189462B2 (en) Bidirectional text checker
CN107562419B (zh) 软件开发支援方法及系统
CN107784230B (zh) 页面漏洞的修复方法及装置
CN110309041A (zh) 浏览器性能实时监控方法、装置、设备及可读存储介质
CN104572923A (zh) 双核浏览器中进行广告拦截的方法和浏览器装置
JP2010033543A (ja) ソフトウエア動作監視システム、そのクライアントコンピュータおよびサーバコンピュータ、並びに、そのプログラム
CN110543429B (zh) 测试用例调试方法、装置及存储介质
CN113535587B (zh) 目标应用检测方法、装置及计算机设备
JP5957986B2 (ja) 描画支援装置、描画支援方法および描画支援プログラム
US20150121192A1 (en) Debugging errors in display of web pages with partial page refresh
CN107918587B (zh) 一种应用程序的调试方法及系统
JP6015648B2 (ja) Webページ更新通知プログラム、Webページ更新通知装置、及びWebページ更新通知方法
KR20100069147A (ko) 웹사이트 품질 테스트 방법 및 시스템
JP5747751B2 (ja) リグレッションテスト支援プログラム及びリグレッションテスト支援装置
KR101826618B1 (ko) 테스트 케이스 생성 방법, 장치 및 컴퓨터 판독가능 기록매체
CN110990264A (zh) Ui自动化测试的元素识别方法、装置、设备及存储介质
US20140245159A1 (en) Transport script generation based on a user interface script
JP6446945B2 (ja) 非互換検出装置、非互換検出方法、及びプログラム
KR20040009534A (ko) 웹 애플리케이션 테스트 방법 및 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160606

R150 Certificate of patent or registration of utility model

Ref document number: 5957986

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees