JP2017517802A - アプリケーションからのグラフィカル出力データの規則に対する準拠の検出 - Google Patents

アプリケーションからのグラフィカル出力データの規則に対する準拠の検出 Download PDF

Info

Publication number
JP2017517802A
JP2017517802A JP2016562882A JP2016562882A JP2017517802A JP 2017517802 A JP2017517802 A JP 2017517802A JP 2016562882 A JP2016562882 A JP 2016562882A JP 2016562882 A JP2016562882 A JP 2016562882A JP 2017517802 A JP2017517802 A JP 2017517802A
Authority
JP
Japan
Prior art keywords
data
output data
graphical output
computer
font
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.)
Pending
Application number
JP2016562882A
Other languages
English (en)
Inventor
サヒブザダ,アリ
カピストラノ,アレッサンドロ
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2017517802A publication Critical patent/JP2017517802A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Debugging And Monitoring (AREA)

Abstract

アプリケーションからのグラフィカル出力データの規則に対する準拠は、グラフィカル出力データをレンダリングする命令を処理して、それらの命令に従ってレンダリングされたグラフィカル出力データが規則に準拠しているかどうかを判定することによって検出することができる。次いで、この準拠判定に基づいて、グラフィカル出力データを、レンダリングされたグラフィカル出力データが、出力デバイス上で提示されたときに、準拠している表示データを準拠していない表示データから可視的に区別するような態様でレンダリングする。例えば、指定されたフォント特性に準拠しているテキストを1つの色で提示し、準拠していないテキストを別の色で提示することができる。

Description

[0001] コンピュータプログラムを開発する際の多くの課題のうちの1つの課題は、開発されたアプリケーションが良好なユーザエクスペリエンス(user experience)を提供することを保証することである。広範に配布されたアプリケーションでは、良好なユーザエクスペリエンスを提供することが、多くの異なる言語およびユーザのその他の能力を考慮することを含む。しかしながら、よくいそうな基盤的ユーザと同じ幅の能力を有する試験者によってソフトウェア試験を実行することが、経済的にできないことがしばしばある。
[0002] ユーザエクスペリエンスの1つの態様が、そのグラフィカルユーザインタフェース内の表示データ、プリンタに出力されるデータなどの、アプリケーションのグラフィカル出力データである。このようなグラフィカル出力データはテキストを含むことができ、レンダリングされたとき、テキストは、文字とフォント特性との組合せであり、フォント特性には、型(type)、サイズ、太さ(weight)、色などがある。他のグラフィカル出力データは、画像および他のユーザインタフェース要素を含むことができる。例えば可読性(readability)、可視性(visibility)、およびテーマまたはブランディング(branding)との一貫性(consistency)を保証するため、開発者は、このグラフィカル出力データに対する規則(convention)を規定することができる。このような規則に対する準拠が常に起こるとは限らない。これは、コンピュータプログラミングの性質、ならびに異なる市場およびユーザタイプに対しては規則が異なることがあることに起因する。したがって、このような規則に対する準拠を確認する場合には一般に、試験によって確認される。
[0003] 規則に対するグラフィカル出力データの準拠の試験は、いくつかの理由から難題となりうる。人は、出力されたテキストが特定のフォントサイズまたは他のフォント特性を有するかどうかを言い当てることができないことがある。人は、そのテキストが特定のフォント型で表示されているかどうかを言い当てることができないことがある。その人が、そのテキストの言語の文字に通じておらず、それらの文字が所与のフォントでどのように見えるはずであるのかがよく分かっていない場合には特にそうである。人は、2つの非常に類似した色の違いを見分けることもできないことがある。出力デバイスが色を正確に提示しないこともある。グラフィカル出力データの他の特性が、人によって可視的に(visibly)検出可能ではないこともあろう。
[0004] この概要は、後の「発明を実施するための形態」の項でより詳細に説明する選択された発想を簡略化された形態で導入するために提供する。この概要が、特許請求の主題の鍵となる特徴もしくは必須の特徴を識別すること、または特許請求の主題の範囲を限定することは意図されていない。
[0005] 出力デバイス上のグラフィカル出力データの規則に対する準拠は、グラフィカル出力データをレンダリングする命令を処理して、それらの命令に従ってレンダリングされたグラフィカル出力データが規則に準拠しているかどうかを判定することによって検出することができる。次いで、この準拠判定に基づいて、グラフィカル出力データを、レンダリングされたグラフィカル出力データが準拠しているグラフィカル出力データを準拠していないグラフィカル出力データから可視的に区別するような態様でレンダリングする。例えば、フォント型、サイズ、太さ、色および他の特性などの指定されたフォント特性に準拠しているテキストを1つの色で提示し、準拠していないテキストを別の色で提示することができる。この処理は、アプリケーション内で、そのアプリケーションが、出力デバイスに導くグラフィカル出力データをレンダリングするときに、実施することができる。この処理は、コンピュータのオペレーティングシステムのレンダラ(renderer)内で実施することができ、このレンダラは、1つまたは複数のアプリケーションのためのグラフィカルユーザインタフェースをレンダリングして、コンピュータに接続された1つまたは複数のディスプレイ上に、場合によっては同時に表示する。このような処理は、印刷などのアプリケーション用のグラフィカル出力データを生成する他のレンダラ内で実施することができる。
[0006] 準拠検出は、さまざまな技法を使用して実行することができる。例えば、一実施態様では、準拠検出を、ルールベースの処理を使用して実行することができる。別の実施態様では、準拠しているテキストに対するグリフ(glyph)データを1つの色で提供し、準拠していないテキストに対するグリフデータを別の色で提供するように、フォントファイルを変更することができる。
[0007] これに応じて、一態様では、グラフィカルデータを受け取り、それをメモリに入れる。このグラフィカルデータは、グラフィカル出力データをレンダリングする命令を含む。さらに、レンダリングされたグラフィカル出力データに対する規則を示すデータを受け取り、それをメモリに入れる。このグラフィカルデータに含まれる命令を処理して、それらの命令に従ってレンダリングされたグラフィカル出力データが規則に準拠しているかどうかを判定する。次いで、ディスプレイ上に表示されているとき、またはプリンタ上で印刷されたときなど、出力デバイス上で提示されたときに、レンダリングされたグラフィカル出力データが、準拠しているグラフィカル出力データを準拠していないグラフィカル出力データから可視的に区別するような態様で、グラフィカル出力データを、それらの命令と準拠に関して実施された上記判定との両方に従って、レンダリングする。
[0008] 他の態様では、レンダリングモジュールが、グラフィカルデータをメモリから受け取るための入力を有する。このグラフィカルデータは、グラフィカル出力データをレンダリングする命令を含む。レンダリングモジュールはさらに、レンダリングされたグラフィカル出力データに対する規則を示すデータをメモリから受け取るための入力を有する。レンダリングモジュールは、それらの命令を処理して、それらの命令に従ってレンダリングされたグラフィカル出力データが規則に準拠しているかどうかを判定する。次いで、ディスプレイ上に表示されているとき、またはプリンタ上で印刷されたときなど、出力デバイス上で提示されたときに、レンダリングされたグラフィカル出力データが、準拠しているグラフィカル出力データを準拠していないグラフィカル出力データから可視的に区別するような態様で、グラフィカル出力データを、それらの命令に従って、かつ準拠に関して実施された上記判定に基づいて、レンダリングする。
[0009] 処理することは、フォントファイルを使用して命令をレンダリングすることを含み、グラフィックス規則に準拠している、型、サイズ、太さ、色などの一組のフォント特性に対するグリフは、レンダリングされたときにユーザに準拠していることを示す1つの色でコード化される。
[0010] グラフィカル出力データは、一組のフォント特性を有する文字を含むことができ、規則は、受入れ可能なフォント特性を含む。例えば、表示データは、1つのフォント型(フェイス(face)とも呼ばれる)の文字を含むことができ、規則は、受入れ可能なフォント型を含むことができる。グラフィカル出力データは、1つのフォントサイズの文字を含むことができ、規則は、受入れ可能なフォントサイズを含む。グラフィカル出力データは、1つの色の文字を含むことができ、その場合、規則は、受入れ可能な文字色を含む。太さ、スタイル、スケールファクタ、レイヤ(layer)、名(name)などの他の特性を規則の中で指定することもできる。
[0011] グラフィカル出力データは、コンピュータ上のアプリケーションまたはオペレーティングシステムのためのグラフィカルユーザインタフェース用のデータとすることができる。命令は、コンピュータ上の2つ以上のアプリケーションから受け取ることができ、その場合、処理は、オペレーティングシステムの表示マネージャによって、両方のアプリケーションに対して実行することができる。グラフィカル出力データをプリンタまたは他の出力デバイスに導くこともでき、グラフィカル出力データは、アプリケーションのグラフィカルユーザインタフェース以外を目的とすることができる。
[0012] グラフィカル出力データが規則に準拠していないと判定された場合には、グラフィカル出力データをレンダリングする任意の命令に関する情報を記録することができる。
[0013] 本発明は、コンピュータシステムとして、またはそのようなコンピュータシステムの任意の個々の構成要素として、またはそのようなコンピュータシステムによってもしくはそのようなコンピュータシステムの任意の個々の構成要素によって実行されるプロセスとして、または、コンピュータプログラム命令が記憶されたコンピュータストレージを含み、コンピュータによって処理されたときに、それらのコンピュータを、そのようなコンピュータシステムもしくはそのようなコンピュータシステムの任意の個々の構成要素を提供するように構成する製品(article of manufacture)として、具現化することができる。
[0014] 以下の説明では、以下の説明の部分を形成する添付図面を参照する。添付図面には、この技法の例示的な特定の実施態様が例として示されている。他の実施形態を利用することができること、および本開示の範囲を逸脱することなく構造上の変更を加えることができることが理解される。
[0015]規則に対するグラフィカル出力データの準拠の確認をコンピュータシステムがサポートする例示的なアプリケーション環境のブロック図である。 [0016]グラフィカルユーザインタフェースを試験する例示的なプロセスを記述した流れ図である。 [0017]例示的な実施態様を記述したデータ流れ図である。 [0018]図3の例示的な実施態様のオペレーションを記述した流れ図である。 [0019]例示的なグラフィカルユーザインタフェースを示す図である。 [0020]例示的な実施態様を記述したデータ流れ図である。 [0021]図6の例示的な実施態様のオペレーションを記述した流れ図である。 [0022]このようなシステムの構成要素をそれを用いて実現することができる例示的なコンピュータのブロック図である。
[0023] 以下の項では、規則に対するグラフィカル出力データの準拠の確認をサポートする例示的なコンピュータシステムを説明する。
[0024] 図1を参照すると、コンピュータシステムの例示的な実施態様はオペレーティングシステム100を含む。オペレーティングシステム100は、コンピュータ上でランするコンピュータプログラムであり、アプリケーション102によるコンピュータのさまざまな資源へのアクセスを管理する。アプリケーション102は複数あることがある。このコンピュータは、図8に関して後に説明するように実現される。それらのさまざまな資源には、メモリ、ストレージ、入力デバイスおよび出力デバイス、例えば表示デバイス114および入力デバイス116が含まれる。
[0025] このコンピュータは、タブレットコンピュータ、ハンドヘルドコンピュータ、スマートフォン、ラップトップもしくはノートブックコンピュータ、ウェアラブルコンピューティングデバイスなどの任意のタイプの汎用もしくは専用コンピュータ、または、ディスプレイ、プリンタなどの出力デバイスにグラフィカル出力データを提供する他の任意のコンピューティングデバイスとすることができ、サイズまたは環境は問わない。このコンピュータの追加の詳細および例については図8に関して後に論じる。
[0026] 図1〜7に関して説明される例示的な実施態様では、このグラフィカル出力データが、コンピュータ上でランするアプリケーションのためのグラフィカルユーザインタフェースの部分である。この例では、グラフィカル出力データが表示デバイス上に表示され、この表示デバイスは、ユーザがそれを介してそのアプリケーションを使用しているユーザインタフェースの部分である。したがって、この例では、出力するためにレンダリングされるグラフィカルデータをユーザインタフェースデータと呼ぶ。他の例示的な実施態様では、グラフィカル出力データを、プリンタなどの他の任意の出力デバイスに導くことができる。プリンタの場合には、出力するためにレンダリングされるグラフィカルデータが、プリンタに導かれるプロダクトグラフィカル出力データへのプリンタドライバの部分であるレンダリングモジュールによってレンダリングされる印刷データであることがある。
[0027] 図1の例示的な実施態様では、オペレーティングシステムが、アプリケーション102からユーザインタフェースデータ104を受け取る表示マネージャ110を含む。このユーザインタフェースデータは、表示データをレンダリングするための一組の命令である。このユーザインタフェースデータ104が与えられると、表示マネージャ110は、ユーザインタフェースデータ104をレンダリングして表示データ112を生成する。生成された表示データ112は表示デバイス114に提供される。表示デバイス114は、オペレーティングシステム100をランさせるコンピュータに接続されたディスプレイとすることができ、または、オペレーティングシステム100をランさせるコンピュータから表示データ112を受け取る別のコンピュータの部分とすることもできる。同様に、ブラウザベースのアプリケーションの場合のように、アプリケーションが、そのアプリケーション用のユーザインタフェースデータをレンダリングするアプリケーションとは別のコンピュータ上でランしていることもある。表示デバイス114を見ているユーザが、1つまたは複数の入力デバイス116を操作して、さまざまな入力118をアプリケーション102に提供することもできる。一般に、オペレーティングシステムの入力ハンドラ108が、入力118を、さまざまなアプリケーションへ入力106として配布することを取り扱う。
[0028] この環境では、アプリケーション102のグラフィカルユーザインタフェースの表示データに対して規定された規則に対する表示データ112の準拠を確認することができる。試験者、例えば個人が、アプリケーション102を使用するために、それらのアプリケーション102のグラフィカルユーザインタフェースを介して、表示デバイス114および入力デバイス116を使用して、コンピュータにアクセスする。このような試験者によって使用される試験プロセスについては、図2に関して後により詳細に説明する。
[0029] 図3〜7に関して後により詳細に説明するが、表示マネージャ110は、規則120を使用して、グラフィカルユーザインタフェース内のテキスト、画像および他のユーザインタフェース要素などの表示データ112が、この規則に準拠していることを確認する。具体的には、ユーザインタフェースデータ104を処理して、データ104に従ってレンダリングされた表示データ112が規則120に準拠しているかどうかを判定する。次いで、この準拠判定に基づいて、表示データ112を、レンダリングされた表示データが準拠している表示データを準拠していない表示データから可視的に区別するような態様でレンダリングする。例えば、指定されたフォント型、フォントサイズおよびフォントの色に準拠しているテキストを1つの色で表示し、準拠していないテキストを別の色で表示することができる。表示データ112は、例えば特定の色を有することによってこの準拠を可視的に示すので、表示データ112は、ユーザインタフェースデータ104によって命令されたとおりにはレンダリングされないことに留意されたい。
[0030] 次に、図2を参照して、グラフィカルユーザインタフェースに対する試験プロセスの例を説明する。プリンタまたは他の出力デバイスに導かれるグラフィカル出力データの確認にも同様のプロセスを使用することができる。一般に、試験者が、選択したユーザシナリオにおけるオペレーションを、アプリケーション102に開始させる202。例えば、試験者は、ユーザ入力106を介して検索コマンドを呼び出すことができる。アプリケーション102は、ユーザ入力106に応答して、呼び出されたコマンドに応じた情報を含むユーザインタフェースデータ104を生成する204。表示マネージャ110は、ユーザインタフェースデータ110を処理して206、表示データ112を、規則120を使用して生成する。表示データ112は、順に表示デバイス114上に表示される。試験者は、このシナリオにおけるユーザ入力を提供し続けることができ、それによって、208に示されているようにユーザインタフェースを更新することができる。ユーザインタフェースデータを生成するプロセスおよび規則120を使用してユーザインタフェースデータをレンダリングするプロセスを繰り返す。表示データ112が規則に準拠していないことを表示データが示している場合には、そのような事件(incident)を記録することができる207。210に示されているように、試験者は、別の試験シナリオに移行することができる。ユーザインタフェースデータを生成するプロセスおよび規則120を使用してユーザインタフェースデータをレンダリングするプロセスを繰り返す。試験者は、誤り、すなわち標準に対する表示データの非コンプライアンスを記録および追跡するさまざまな方法を有することができ、そのような誤りをソフトウェア開発者に報告して、グラフィカルユーザインタフェース表示データを修正するためにアプリケーションを変更することができるようにすることができる。このシナリオのラン、ユーザ入力の提供、ならびにユーザインタフェースデータのコンプライアンスまたは非コンプライアンスの記録および報告を半自動化することができ、または実施態様によっては自動化することもできる。試験はしばしば、アプリケーションとの対話を自動化するスクリプトを作成することを含む。
[0031] 次に、表示マネージャの例示的な実施態様のデータ流れ図を図3に関して説明する。
[0032] この例示的な実施態様では、表示マネージャ300が、ユーザインタフェースデータ302をアプリケーションから受け取るための入力を有するレンダリングモジュール304を含む。マッチング(matching)モジュール306も、ユーザインタフェースデータ302を受け取るための入力を有する。マッチングモジュールは、規則308を受け取るための別の入力を有する。規則308は例えば、ユーザインタフェースデータ302を処理するルール、またはマッチングモジュール306がユーザインタフェースデータ302を規則308と比較することを可能にするのに適した他の情報、を使用して規定することができる。マッチングモジュールは、結果310を提供するための出力を有する。この結果は、レンダリングされたときに、ユーザインタフェースデータ302が、規則に準拠した表示データ312を生成するのかどうかを示す。例えば、ユーザインタフェースデータに応じて、レンダリングされた表示データは、表示データが規則に準拠している場合には第1の色を有し、表示データが規則に準拠していない場合には第2の色を有することができる。ディスプレイを見ている人が、準拠している表示データと準拠していない表示データとを容易に区別することを可能にするため、第1の色と第2の色は互いに実質的に異なる。
[0033] 次に、図4を参照して、この例示的な実施態様のオペレーションを記述した流れ図を説明する。
[0034] マッチングモジュールは、ユーザインタフェースデータを受け取り400、ユーザインタフェースデータが規則に違反しているかどうかを検証する402。実行されるこの検証は、規則データの性質に依存し、ルールを処理すること、参照用テーブル(lookup table)内の値を参照すること、値を比較することなどを含むことができる。マッチングモジュールは、レンダリングモジュールに結果を出力し、レンダリングモジュールは、その検証結果に従ってユーザインタフェースデータをレンダリングする404。ユーザシナリオ、ユーザ入力およびユーザインタフェースデータの記録および報告ならびに規則に対するグラフィカルユーザインタフェースの表示データの準拠または非準拠の記録および報告を含む図2に記載されたプロセスなどのより大きな試験プロセスの部分として、図4のプロセスを含めることができる。
[0035] 検索アプリケーションの例示的なグラフィカルユーザインタフェースが図5に示されている。この例では、ユーザインタフェースデータが、検索のためにユーザによって入力されたテキストを反映するテキストボックス500、および502に示されたその検索に対するファイル名結果を含む、レンダリングされた表示データ中に現われるいくつかの要素を定義する。506には検索提案(search suggestion)が示されている。504には、この検索インタフェースに関する情報テキストが提供されている。この例では、情報テキストの言語が日本語で表示されており、検索結果および検索提案が英語で表示されている。この例では、準拠しているテキストが赤で示されており、準拠していないテキストが灰色で示されている。所与のフォントで表示された文字がどのように見えるのかを知らない人でも、また、使用されている文字が英語で書かれているのかまたは日本語で書かれているのかが分からない人でも、検索テキストボックス500および情報テキスト504で使用されているフォントは、このアプリケーションに対して指定された規則に準拠していると容易に判定することができる。さらに、その人は、検索提案506および検索結果502で使用されているフォントは規則に準拠していないと容易に判定することができる。このことを、レンダラが自動的に記録し、またはその人が記録することができ、次いで、このことを、そのアプリケーションの開発者に報告することができ、この報告に応答して、検索結果および検索提案に対するフォントを変えるようにアプリケーションを変更することができる。
[0036] 次に、表示マネージャの例示的な別の実施態様のデータ流れ図を図6に関して説明する。この例では、規則が、フォントファイル608の中のデータによって表現されるフォント型(またはフェイス)、サイズ、太さ、スタイル、色、スケールファクタ、レイヤ、名などのフォント特性に関係する。フォントファイルの中に設定することができ、規則の中で指定することができる任意のフォント特性を、本明細書に記載された技法を使用して確認することができる。
[0037] 具体的には、レンダリングモジュール604によって通常使用されている従来のフォントファイル612を、エディタ610および入力614を使用して変更する。フォントファイル612は一般に、そのフォントの中の文字のグリフのビットマップを含むフォント型に対するデータ、異なるサイズおよび色に対するデータ、ならびにそのフォントの他の可変パラメータを含む。開発者は、フォントファイル612を例えば標準テキストエディタを使用して編集して、フォントファイル612を変更することができる。次いで、レンダリングモジュール604が、変更されたフォントファイル608を使用してユーザインタフェースデータ602をレンダリングし、それによって表示データ606を生成する。
[0038] フォントファイルに加えられる変更は一般に、フォントファイルによってレンダリングモジュールに返されるグリフが、所与のフォントの中の所与の文字に応じて、その文字が規則に準拠している場合には第1の色を有し、その文字が規則に準拠していない場合には第2の色を有するような態様で、色情報を変更することを含む。ディスプレイを見ている人が、準拠しているフォントと準拠していないフォントとを容易に区別することを可能にするため、第1の色と第2の色は互いに実質的に異なる。例えば、第1の色と第2の色は、色相(hue)が異なることができ、または色空間内の位置が実質的に異なることができる。したがって、表示データ606は、ディスプレイ上に表示されたときに、準拠しているテキストを準拠していないテキストから可視的に区別する。
[0039] 次に、図7を参照して、この例示的な実施態様のオペレーションを記述した流れ図を説明する。変更されたフォントファイルが与えられると、レンダリングモジュールは、レンダリングするユーザインタフェースデータを受け取る700。この例の目的上、ユーザインタフェースデータ中のテキストは、一組のテキストセグメント(text segment)として提示されると考える。テキストセグメントはそれぞれ、文字列、フォント型およびフォントサイズ、ならびにフォントを指定する任意の他のデータを含む。ユーザインタフェースデータ中の次のテキストセグメントにアクセスする702。次いで、フォントファイルにアクセスして704、指定されたフォントに対するグリフデータを取得する。そのテキストセグメントが規則に準拠している場合には、このグリフデータを第1の色で表示し、そのテキストセグメントが規則に準拠していない場合には、このグリフデータを第2の色で表示する。このグリフデータを使用して、表示データを生成する706。708として示されているように、テキストセグメントが残っている場合には、次のテキストセグメントに対してこのプロセスを繰り返す。残っていない場合には、710に示されているように、この一組のユーザインタフェースデータに対するテキスト処理は完了である。
[0040] ユーザシナリオ、ユーザ入力およびユーザインタフェースデータの記録および報告ならびに規則に対するグラフィカルユーザインタフェースの表示データの準拠または非準拠の記録および報告を含む図2に記載されたプロセスなどのより大きな試験プロセスの部分として、図7のプロセスを含めることができる。このような試験プロセスは、出力デバイス向けのグラフィカルデータの任意のレンダリングを使用して実行することができる。
[0041] レンダリングされたグラフィカル出力データが部分的に準拠している(または部分的に準拠していない)かどうかを検出すること、したがってそれを試験者に知らせることも可能である。例えば、2つのフォント特性が与えられた場合、両方の特性が準拠している場合にはテキストを1つの色でレンダリングすることができ、どちらの特性も準拠していない場合にはテキストを第2の色でレンダリングすることができ、または、1つの特性が準拠しており、別の特性が準拠していない場合には特徴を組み合わせることができる。例えば、このような部分準拠を示すために、第1の色のテキストを、第2の色の「ハロー(halo)」効果が取り囲むことができる。レンダリングされたグラフィカル出力データが出力デバイス上で提示されたときにこのような特徴を可視的に区別することができるものである限り、部分準拠を示すために、レンダリングされたグラフィカル出力データ中で他の特徴を使用することもできる。
[0042] 規則に対するレンダリングされたグラフィカル出力データの準拠をレンダリング時に検出し、出力デバイス上で提示されたときに、準拠している表示データを準拠していない表示データから可視的に区別するレンダリングされたグラフィカル出力データを提供することによって、試験の多くの問題が対処される。例えば、たとえそのテキストの言語の文字に通じておらず、それらの文字が所与のフォントでどのように見えるはずであるのかがよく分かっていない場合であっても、人は、受入れ可能なフォント型、フォントサイズ、色などの指定されたフォント特性にテキストが準拠しているかどうかをより容易に言い当てることができる。
[0043] これまで例示的な実施態様を説明してきたが、図8は、図1〜7のシステムのさまざまな構成要素をそれを用いて実現することができる例示的なコンピュータを示す。このコンピュータは、さまざまな汎用または専用コンピューティングハードウェア構成のうちの任意の構成とすることができる。使用することができるコンピュータのタイプのいくつかの例には、限定はされないが、パーソナルコンピュータ、ゲームコンソール(game console)、セットトップボックス(set top box)、ハンドヘルドまたはラップトップデバイス(例えばメディアプレーヤ、ノートブックコンピュータ、タブレットコンピュータ、セルラフォン、パーソナルデータアシスタント、ボイスレコーダ)、サーバコンピュータ、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラム可能な消費者向け電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、および上記のタイプのコンピュータまたはデバイスのうちの任意のタイプのコンピュータまたはデバイスを含む分散コンピューティング環境などが含まれる。
[0044] 図8を参照すると、例示的なコンピュータ800は、少なくとも1つの処理ユニット802およびメモリ804を含む。このコンピュータは、複数の処理ユニット802を有することができる。処理ユニット802は、1つの処理コア(図示せず)または互いに独立に動作する複数の処理コア(図示せず)を含むことができる。このコンピュータには、グラフィックス処理ユニット820などの追加のコプロセッシングユニット(co-processing unit)も存在することができる。メモリ804は、(ダイナミックランダムアクセスメモリ(DRAM)デバイス、他のランダムアクセスメモリデバイスなどの)揮発性メモリ、(リードオンリーメモリ、フラッシュメモリなどの)不揮発性メモリ、またはこれらの2つの組合せとすることができる。図8ではこのメモリ構成が破線806によって示されている。コンピュータ800は、限定はされないが、磁気的に記録されるディスクもしくはテープ、または光学的に記録されるディスクもしくはテープを含む、追加の(リムーバブルおよび/または非リムーバブル)ストレージを含むことができる。図8ではこのような追加のストレージが、リムーバブルストレージ808および非リムーバブルストレージ810によって示されている。図8のさまざまな構成要素は一般に、1つまたは複数のバス830などの相互接続機構によって相互接続される。
[0045] コンピュータ記憶媒体は、アドレス指定可能な物理的な記憶位置にコンピュータによってデータを記憶し、そのような位置からコンピュータによってデータを取り出すことができる任意の媒体である。コンピュータ記憶媒体には、揮発性および不揮発性メモリ、ならびにリムーバブルおよび非リムーバブル記憶媒体が含まれる。メモリ804、806、リムーバブルストレージ808および非リムーバブルストレージ810は全てコンピュータ記憶媒体の例である。コンピュータ記憶媒体のいくつかの例は、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタルバーサタイルディスク(DVD)もしくは光学的にもしくは磁気光学的に記録される他の記憶デバイス、磁気カセット、磁気テープ、磁気ディスク記憶デバイスまたは他の磁気記憶デバイスである。コンピュータ記憶媒体と通信媒体とは媒体の相互排除カテゴリである。
[0046] コンピュータ800はさらに、通信媒体を介してコンピュータが他のデバイスと通信することを可能にする通信接続812を含むことができる。通信媒体は通常、搬送波または物質を横切る他の輸送機構などの被変調データ信号を伝搬することにより、コンピュータプログラム命令、データ構造、プログラムモジュールまたは他のデータを、有線または無線物質を横切って伝送する。用語「被変調データ信号」は、信号中の情報を符号化し、それによってその信号の受信デバイスの構成または状態を変化させるような方式で設定または変更されたその特性のうちの1つまたは複数を有する信号を意味する。例として、通信媒体は、限定はされないが、有線ネットワーク、直接有線(direct-wired)接続などの有線媒体、ならびに音響、RF、赤外線および他の無線媒体などの無線媒体を含む。通信接続812は、通信媒体とインタフェースして、通信媒体を横切ってデータを送信し、通信媒体からデータを受信する、ネットワークインタフェースまたは無線送信器などのデバイスである。
[0047] コンピュータ800は、キーボード、マウス、ペン、カメラ、タッチ入力デバイスなどのさまざまな入力デバイス814を有することができる。ディスプレイ、スピーカ、プリンタなどの出力デバイス816を含めることもできる。これらのデバイスは全て当技術分野においてよく知られており、ここで詳細に論じる必要はない。さまざまな入力および出力デバイスが、マウス、キーボード、リモート制御などの入力デバイスによって強いられる人為的な制約なしにユーザがデバイスと「自然」に対話することを可能にする任意のインタフェース技術であるナチュラルユーザインタフェース(natural user interface: NUI)を実現することができる。
[0048] NUI法の例は、スピーチ(speech)認識、タッチおよびスタイラス認識、画面上および画面に隣接した位置におけるジェスチャ(gesture)認識、エアジェスチャ(air gesture)、頭および眼追跡、音声(voice and speech)、視覚、触覚、ジェスチャならびに機械知能に依存した方法を含み、タッチセンシティブディスプレイ(touch sensitive display)、音声認識、意図および目標理解(intention and goal understanding)、(立体カメラシステム、赤外線カメラシステム、他のカメラシステム、およびこれらのシステムの組合せなどの)デプスカメラ(depth camera)を使用した運動ジェスチャ検出、加速度計またはジャイロスコープを使用した運動ジェスチャ検出、顔認識、3次元ディスプレイ、頭、眼および視線(gaze)追跡、イマーシブ拡張現実(immersive augmented reality)および仮想現実(virtual reality)システムの使用を含むことができ、これらは全てより自然なインタフェースを提供し、さらに、電界感知電極を使用して脳活動を感知する技術(EEGおよび関連方法)の使用を含むことができる。
[0049] これらのさまざまなストレージ810、通信接続812、出力デバイス816および入力デバイス814は、コンピュータの残りの構成要素とともに、ハウジング内にまとめることができ、または、コンピュータ上の入力/出力インタフェースデバイスを介して接続することができ、この場合、参照符号810、812、814および816は、デバイスに接続するためのインタフェース、または場合によりデバイス自体を示すことがある。
[0050] コンピュータ上で動作する、上で説明した図1〜に記載されたシステムなどのシステムのそれぞれの構成要素(「モジュール」、「エンジン」などと呼ばれることもある)は、そのコンピュータの1つまたは複数の処理ユニット、およびこの1つまたは複数の処理ユニットによって処理される1つまたは複数のコンピュータプログラムを使用して実現することができる。コンピュータプログラムは、プログラムモジュールなど、コンピュータが実行可能な命令および/またはコンピュータによって解釈される命令を含み、それらの命令は、コンピュータ内の1つまたは複数の処理ユニットによって処理される。このような命令は一般に、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを定義し、これらは、処理ユニットによって処理されたときに、データに対する演算を実行するように処理ユニットに命令し、または、さまざまな構成要素もしくはデータ構造を実現するようプロセッサまたはコンピュータを構成するように処理ユニットに命令する。
[0051] このコンピュータシステムは、通信ネットワークによってリンクされた複数のコンピュータによって演算が実行される分散コンピューティング環境で実施することができる。分散コンピューティング環境では、コンピュータプログラムが、ローカルコンピュータ記憶媒体とリモートコンピュータ記憶媒体の両方に位置することがある。
[0052] その代わりに、またはそれに加えて、本明細書に記載されたさまざまな構成要素のうちの1つまたは複数の構成要素の機能は、少なくとも部分的に、1つまたは複数のハードウェア論理構成要素によって実行することができる。例えば、使用することができるハードウェア論理構成要素の例示的なタイプには、限定はされないが、フィールドプログラマブルゲートアレイ(Field-programmable Gate Array: FPGA)、プログラムスペシフィック集積回路(Program-specific Integrated Circuits: ASIC)、プログラムスペシフィックスタンダードプロダクト(Program-specific Standard Product: ASSP)、システムオンアチップシステム(System-on-a-chip system: SOC)、コンプレックスプログラマブルロジックデバイス(Complex Programmable Logic Device: CPLD)などが含まれる。
[0053] 添付の特許請求の範囲のプリアンブルにおける用語「製品」、「プロセス」、「マシン」および「組成物(composition of matter)」は、これらの用語の使用によって米国特許法第101条に定義された特許を受けることができる主題の範囲に含まれるとみなされる主題に、特許請求の範囲を限定することが意図されている。
[0054] 添付の特許請求の範囲に定義された主題は、必ずしも、上に記載された特定の実施態様だけに限定されないことを理解すべきである。上に記載された特定の実施態様は単に例として開示されたものである。

Claims (15)

  1. コンピュータのためのグラフィカルユーザインタフェースを実現するように前記コンピュータを構成するコンピュータプログラムコードを試験する方法であって、
    実行された前記コンピュータプログラムコードが第1のデータを生成し、前記第1のデータをメモリに入れるような態様で、前記コンピュータプログラムをプロセッサを用いて実行すること
    を含み、前記第1のデータが、前記グラフィカルユーザインタフェース用のグラフィカル出力データをレンダリングする命令を含み、前記方法がさらに、
    前記グラフィカルユーザインタフェース用のレンダリングされたグラフィカル出力データに対する規則を示す第2のデータを受け取り、前記第2のデータをメモリに入れること、
    前記第1のデータおよび前記第2のデータを前記プロセッサを用いて処理して、前記第1のデータ中の前記命令に従ってレンダリングされたグラフィカル出力データが、前記第2のデータによって示された前記規則に準拠しているかどうかを判定すること、
    レンダリングされた前記グラフィカル出力データが、準拠しているグラフィカル出力データを準拠していないグラフィカル出力データから可視的に区別するような態様で、ディスプレイ向けの前記グラフィカル出力データを、プロセッサを用いて、前記判定に基づいてレンダリングすること、ならびに
    レンダリングされた前記グラフィカル出力データが、出力デバイス上で提示されるようにすること
    を含む方法。
  2. 前記グラフィカル出力データが、1つのフォント型の文字を含み、前記規則が、受入れ可能なフォント型を含む、請求項1に記載の方法。
  3. 前記グラフィカル出力データが、1つのフォントサイズの文字を含み、前記規則が、受入れ可能なフォントサイズを含む、請求項1または2に記載の方法。
  4. 前記グラフィカル出力データが、1つの色の文字を含み、前記規則が、受入れ可能な文字色を含む、請求項1から3のいずれかに記載の方法。
  5. 前記グラフィカル出力データが、前記コンピュータ上のアプリケーションのためのグラフィカルユーザインタフェース用の表示データである、請求項1から4のいずれかに記載の方法。
  6. 前記グラフィカル出力データが、前記コンピュータのオペレーティングシステムのためのグラフィカルユーザインタフェース用の表示データである、請求項1から5のいずれかに記載の方法。
  7. 前記命令が、前記コンピュータ上の2つ以上のアプリケーションから受け取られる、請求項1から6のいずれかに記載の方法。
  8. 前記処理することが、オペレーティングシステムの表示マネージャによって実行される、請求項1から7のいずれかに記載の方法。
  9. 前記グラフィカル出力データが前記規則に準拠していない場合に、グラフィカル出力データをレンダリングする任意の命令に関する情報を記録することをさらに含む、請求項1から8のいずれかに記載の方法。
  10. 前記グラフィカル出力データが前記規則に準拠していない場合に、グラフィカル出力データをレンダリングする任意の命令に関する情報を記録することをさらに含む、請求項1から9のいずれかに記載の方法。
  11. 処理することが、フォントファイルを使用して前記命令をレンダリングすることを含み、前記規則に対する準拠を前記ユーザに示すため、前記規則に準拠している一組のフォントサイズ、タイプおよび色に対するグリフがレンダリングされたときに、前記グリフが、準拠していないフォントサイズ、タイプおよび色に対する他のグリフとは可視的に異なるような態様で、前記規則に準拠している一組のフォントサイズ、タイプおよび色に対する前記グリフが1つの色でコード化される、請求項1から10のいずれかに記載の方法。
  12. 処理することが、フォントファイルを使用して前記命令をレンダリングすることを含み、前記規則に準拠しているフォントに対するグリフが第1の色でコード化され、準拠していないフォントに対するグリフが、前記第1の色とは可視的に異なる第2の色でコード化されるような態様で、前記フォントファイルが、一組のフォントに対するグリフを定義する、請求項1から10のいずれかに記載の方法。
  13. 処理することが、準拠しているフォントを識別するためのルールを前記命令に適用することを含む、請求項1から10のいずれかに記載の方法。
  14. 1つまたは複数のコンピュータ記憶媒体と、
    前記1つまたは複数のコンピュータ記憶媒体上に記憶されたコンピュータプログラム命令と
    を含み、前記コンピュータプログラム命令が、コンピュータによって処理されたときに、請求項1から13のいずれかに記載の方法を実現する
    コンピュータプログラム製品。
  15. 1つまたは複数のプロセッサと、
    データを記憶した1つまたは複数のコンピュータ記憶媒体であり、前記プロセッサとデータをやりとりするように接続された1つまたは複数のコンピュータ記憶媒体と
    を備え、
    前記1つまたは複数のプロセッサが、請求項1から13のいずれかに記載の方法を実現するように構成された、
    コンピュータシステム。
JP2016562882A 2014-05-16 2015-05-14 アプリケーションからのグラフィカル出力データの規則に対する準拠の検出 Pending JP2017517802A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/280,252 2014-05-16
US14/280,252 US20150332482A1 (en) 2014-05-16 2014-05-16 Detecting conformance of graphical output data from an application to a convention
PCT/US2015/030689 WO2015175738A1 (en) 2014-05-16 2015-05-14 Detecting conformance of graphical output data from an application to a convention

Publications (1)

Publication Number Publication Date
JP2017517802A true JP2017517802A (ja) 2017-06-29

Family

ID=53373552

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016562882A Pending JP2017517802A (ja) 2014-05-16 2015-05-14 アプリケーションからのグラフィカル出力データの規則に対する準拠の検出

Country Status (10)

Country Link
US (1) US20150332482A1 (ja)
EP (1) EP3143499A1 (ja)
JP (1) JP2017517802A (ja)
KR (1) KR20170009917A (ja)
CN (1) CN106462487A (ja)
AU (1) AU2015259120A1 (ja)
CA (1) CA2947118A1 (ja)
MX (1) MX2016014987A (ja)
RU (1) RU2016144692A (ja)
WO (1) WO2015175738A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11019002B2 (en) * 2017-12-15 2021-05-25 Google Llc Secure electronic messaging with dynamic content
KR102307871B1 (ko) * 2019-06-26 2021-09-30 넷마블 주식회사 Lqa 테스트 자동화를 위한 컴퓨터 프로그램
CN112181826A (zh) * 2020-02-27 2021-01-05 王建 软件图形接口测试方法、装置及系统
US11416670B2 (en) * 2020-03-02 2022-08-16 Jocelyn Bruno Method of generating stylized text messages
CN111813686B (zh) * 2020-07-20 2022-05-27 腾讯科技(深圳)有限公司 一种游戏测试方法、装置、测试终端及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7408556B2 (en) * 2005-01-31 2008-08-05 Microsoft Corporation System and method for using device dependent fonts in a graphical display interface
US20060209258A1 (en) * 2005-03-18 2006-09-21 Xerox Corporation Methods and systems for configuring color documents for colorblind users
JP4760979B2 (ja) * 2007-08-07 2011-08-31 コニカミノルタホールディングス株式会社 情報変換方法、情報変換装置、および、情報変換プログラム
US8265665B2 (en) * 2007-09-21 2012-09-11 Research In Motion Limited Color differentiating a portion of a text message shown in a listing on a handheld communication device
JP5050985B2 (ja) * 2008-04-30 2012-10-17 富士通株式会社 検証支援プログラム、検証支援装置および検証支援方法
US8386941B2 (en) * 2008-06-27 2013-02-26 Microsoft Corporation User interface localization conflict indication
GB0818277D0 (en) * 2008-10-06 2008-11-12 Advanced Risc Mach Ltd Graphics processing system
GB0819570D0 (en) * 2008-10-24 2008-12-03 Advanced Risc Mach Ltd Methods of and apparatus for processing computer graphics
US8687091B2 (en) * 2010-11-03 2014-04-01 Canon Kabushiki Kaisha Image capturing systems and methods utilizing customizable look management
US9311426B2 (en) * 2011-08-04 2016-04-12 Blackberry Limited Orientation-dependent processing of input files by an electronic device
US9619435B2 (en) * 2011-08-31 2017-04-11 Adobe Systems Incorporated Methods and apparatus for modifying typographic attributes
US20130201495A1 (en) * 2012-02-08 2013-08-08 Aaron Jacob Boggs Methods for improving color differentiation by dot placement manipulation and color hue adjustment
CN103294439B (zh) * 2013-06-28 2016-03-02 华为技术有限公司 一种图像更新方法、系统及装置

Also Published As

Publication number Publication date
US20150332482A1 (en) 2015-11-19
KR20170009917A (ko) 2017-01-25
EP3143499A1 (en) 2017-03-22
MX2016014987A (es) 2017-02-28
RU2016144692A (ru) 2018-05-15
AU2015259120A1 (en) 2016-10-27
WO2015175738A1 (en) 2015-11-19
CA2947118A1 (en) 2015-11-19
CN106462487A (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
CN103518393B (zh) 检测移动通信设备内容的系统和方法
US9213624B2 (en) Application quality parameter measurement-based development
US20140359573A1 (en) Troubleshooting visuals and transient expressions in executing applications
JP2017517802A (ja) アプリケーションからのグラフィカル出力データの規則に対する準拠の検出
US8843892B2 (en) Visual representations of code in application development environments
US8645912B2 (en) System and method for use in replaying software application events
JP7308921B2 (ja) レイトレーシング画像に関連付けてシェーダテーブルを表示する技術
US10216727B2 (en) Visually differentiating strings for testing
US20130326465A1 (en) Portable Device Application Quality Parameter Measurement-Based Ratings
US8041549B2 (en) Analyzation apparatus and control method thereof
US11373373B2 (en) Method and system for translating air writing to an augmented reality device
CN109471805A (zh) 资源测试方法及装置、存储介质、电子设备
US10152039B2 (en) Method and apparatus for the display of multiple errors on a human-machine interface
CN107810469B (zh) 电子设备及控制该电子设备的方法
US10853532B2 (en) Graphical modeling for accessing dynamic system states across different components
WO2016013348A1 (ja) ユーザインタフェース評価装置およびユーザインタフェース評価方法
JP2017111798A (ja) イベント駆動型ソフトウェア試験
JP7250222B1 (ja) 変更履歴再生装置、変更履歴再生方法、および、変更履歴再生プログラム
EP3477434A1 (en) Information processing device, information processing method, and program
KR102144433B1 (ko) 그래픽 사용자 인터페이스 프로토타입 제공 방법 및 장치
KR102392886B1 (ko) 그래픽 사용자 인터페이스 프로토타입 제공 방법 및 장치
US20220383341A1 (en) Entity health evaluation microservice for a product
US20160062594A1 (en) Boundary Limits on Directional Selection Commands
JP2022033153A (ja) 情報処理装置
CN116416194A (zh) 图像建模平台的处理方法、装置及系统