JPH11338736A - アプリケーションのグラフィカル・ディスプレイ出力を検証する方法及びコンピュータ・システム - Google Patents

アプリケーションのグラフィカル・ディスプレイ出力を検証する方法及びコンピュータ・システム

Info

Publication number
JPH11338736A
JPH11338736A JP10305302A JP30530298A JPH11338736A JP H11338736 A JPH11338736 A JP H11338736A JP 10305302 A JP10305302 A JP 10305302A JP 30530298 A JP30530298 A JP 30530298A JP H11338736 A JPH11338736 A JP H11338736A
Authority
JP
Japan
Prior art keywords
display output
graphical display
given
respective operating
operating systems
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
JP10305302A
Other languages
English (en)
Inventor
Lynn Tayler James
ジェイムズ・リン・テイラー
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH11338736A publication Critical patent/JPH11338736A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/3696Methods or tools to render software testable
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • H03K19/21EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 (修正有) 【課題】アプリケーションのグラフィカル・ディスプレ
イ出力がそれぞれのオペレーティング・システム全体に
わたって整合していることを検証する。 【解決手段】アプリケーションにおける所与の実行ポイ
ントにおいて連続的なグラフィカル・ディスプレイ出力
フレームを捕捉し、それらのフレームの対全体にわたっ
て時不変性であるそれぞれのオペレーティング・システ
ムに対するグラフィカル・ディスプレイ出力の構成をマ
スクするデルタ値を発生するように、そのフレームの対
が処理される。各テスト・ラン中に発生されたデルタ値
は、所与のソフトウエア・アプリケーションのグラフィ
カル・ディスプレイ出力がそれぞれのオペレーティング
・システム全体にわたって整合していることを検証する
ために、統計的分析を使用して比較される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的に云えば、
コンピュータ・ソフトウエア開発ツールに関するもので
あり、更に詳しく云えば、特定のソフトウエア・アプリ
ケーションからのグラフィカル出力が複数の相異なるタ
イプのオペレーティング・システム・プラットフォーム
全体にわたって「整合している」ことを検証するための
方法に関するものである。
【0002】
【従来の技術】米国のサン・マイクロシステムズ社によ
って最初に開発されたJavaは、ソフトウエア・プロ
グラムを開発、試験、及び保守するために使用されるオ
ブジェクト指向のマルチスレッドの移植可能なプラット
フォーム独立の保護プログラミング環境である。Jav
aプログラムは、インターネットのマルチメディア情報
検索システムであるワールド・ワイド・ウェブにおける
拡張使用を提供した。これらのプログラムは、アプレッ
トとして知られた、Javaイネーブルのウェブ・ブラ
ウザ又はアプレット・ビューアにおいて稼動するフル・
フィーチャの対話式スタンドアロン・アプリケーション
及び小型のプログラムを含む。
【0003】多くの企業がJavaアプリケーション又
はアプレットを書き始めている。しかし、これらの企業
は、種々のオペレーティング・システムを持ったコンピ
ュータ・システムにおいて大きな投資も行っている。従
って、例えば、或る特定の企業のネットワークは、IB
M OS/2(商標)、Microsoft Wind
ows95、Microsoft WindowsNT
4.0、Unix、AIX(商標)、OS/400等
のような種々のオペレーティング・システムを稼動させ
る多くの機械をサポートすることがある。そのようなJ
avaベースのプログラムは、ウインドウ、メニュー、
ビットマップ、アイコン、及びグラフィカル・ユーザ・
インターフェース(GUI)を構成する他の基本的な制
御エレメントのような汎用インターフェース表示エレメ
ント並びにプログラム特有の表示エレメントを含むグラ
フィカル・ディスプレイ出力を発生する。全体的に或い
は部分的に、それらのエレメントはアプリケーションの
ための「グラフィカル出力」を定義し、アプリケーショ
ンのグラフィカル出力が種々のオペレーティング・シス
テム・プラットフォーム全体にわたって(及び他のハー
ドウエア/ソフトウエアの相違を持った同種のプラット
フォーム全体にわたって)整合していることがソフトウ
エア設計者の設計目的である。
【0004】現在のところ、この分野は、特定のJav
aベースのアプリケーション又はアプレットのオペレー
ションが多くのオペレーティング・システム・プラット
フォーム上では同じ(又は、十分に同じ)であるという
ことを検証する効率的な手段又は方法を提供していな
い。同様に、この分野は、Javaアプリケーション又
はアプレットの多重実行の出力が所与の信頼性レベルに
おける「同等」であることを検証するための如何なる適
当な技法も提供していない。そのような技法なしに、新
しいJavaベースのアプリケーション及びアプレット
の試験を自動化することは困難であった。
【0005】本発明はこの問題に対処するものである。
【0006】
【発明が解決しようとする課題】従って、本発明の主た
る目的は、所与のソフトウエア・アプリケーションのグ
ラフィカル出力が複数のオペレーティング・システム・
プラットフォーム全体にわたって整合していることを検
証することにある。
【0007】本発明の更なる主要な目的は、所与のソフ
トウエア・アプリケーションのグラフィカル出力が特定
のコンピュータ・コンフィギュレーションにおいてアプ
リケーションの多重実行全体にわたって整合しているこ
とを検証することにある。
【0008】本発明の更にもう1つの主要な目的は、複
数のオペレーティング・システム・プラットフォームに
おけるJavaベースのアプリケーション又はアプレッ
トが、それによって企業のコンピュータ・ネットワーク
における新しいJavaベースのアプリケーションの設
計、開発、試験、及び導入を容易にすることを検証する
ことにある。
【0009】本発明の更にもう1つの目的は、新しいソ
フトウエア・アプリケーションを開発する場合に有用な
試験方法の自動化を促進することにある。
【0010】本発明の更にもう1つの目的は、アプリケ
ーションのグラフィカル・ディスプレイ出力を検証する
ための自動化されたツールを提供することによってJa
vaプログラミング開発環境を向上させることにある。
【0011】本発明の重要な目的は、Javaプラット
フォーム独立のコードの試験及び検証を可能にすること
にある。
【0012】本発明の副産物又は利点は、プラットフォ
ーム独立のプログラミング環境に従って書かれたアプリ
ケーションのようなソフトウエア・アプリケーションを
設計、開発、及び試験するために必要な時間及び労力を
少なくすることである。
【0013】本発明の更にもう1つの一般的な目的は、
ソフトウエア・アプリケーションの作成と関連した開発
時間及び費用を少なくすることにある。
【0014】
【課題を解決するための手段】本発明のこれらの目的及
び他の目的は、所与のソフトウエア・アプリケーション
のグラフィカル・ディスプレイ出力がそれぞれのオペレ
ーティング・システム全体にわたって整合していること
を検証する方法において達成される。本発明の方法の望
ましい実施例によれば、それぞれのオペレーティング・
システムの各々に基づいてソフトウエア・アプリケーシ
ョンが実行される時、一組のグラフィカル・ディスプレ
イ出力(例えば、一対の隣接するフレーム)がそのソフ
トウエア・アプリケーションにおける所与の実行ポイン
トにおいて「捕捉」される。このためには、ビデオ・フ
レーム・グラバ(grabber)が有用である。そこ
で、それぞれのオペレーティング・システムの各々に対
して、グラフィカル出力フレームの各対が差又は「デル
タ」値を発生するために処理される。その特定のデルタ
値は、アプリケーションが所与の実行ポイントにおいて
実行される時、その一対のフレーム全体にわたって変わ
らない(即ち、時不変性のである)それぞれのオペレー
ティング・システムに対するグラフィカル・ディスプレ
イ出力の構成をマスクする情報を含んでいる。そのよう
な構成は、例えば、ウインドウ境界線、タイトル・バ
ー、スクロールバー、及び他のそのようなディスプレイ
制御エレメントを含み得る。
【0015】この方法によれば、処理ステップは、フレ
ームに関して、ビット単位対ビット単位に基づいて論理
オペレーション(例えば、排他的OR)を遂行すること
を含み得る。次に、アプリケーションのグラフィカル・
ディスプレイ出力がそれぞれのオペレーティング・シス
テム全体にわたって一様であるか又は「整合している」
ことを検証するために、それぞれのオペレーティング・
システムに対するデルタ値が比較される。所与のディス
プレイ出力は、その出力が所与の信頼性レベル(例え
ば、95%の類似性)と同じか或いはそれの範囲内のも
のに一致する場合、「整合している」と云える。デルタ
値の比較は、パターン・マッチング・アルゴリズムのよ
うな統計的方法、ファジー・ロジック・アルゴリズムを
実現する神経ネットワーク、或いは、他の既知の又は今
後開発される統計的方法を使用して行われることが望ま
しい。別の方法として、1つ又は複数の決定的な方法を
この目的のために使用することもあり得る。
【0016】本発明の方法は、任意のタイプのソフトウ
エア・アプリケーションのグラフィカル・ディスプレイ
出力を検証するために使用されるが、特定の好適な実施
例は、Javaベースのアプリケーション又はアプレッ
トの試験及び検証を伴うものである。
【0017】上記の方法は、特定のアプリケーションの
オペレーションが種々のオペレーティング・システム・
プラットフォーム全体にわたって同じ(又は、実質的に
同じ)であることを検証する。本発明の技法は、所与の
アプリケーション(例えば,Javaアプリケーショ
ン)の多重実行の出力が同種のコンピュータ・システム
(例えば、単一のタイプのオペレーティング・システム
を有するコンピュータ・システム)全体にわたって同じ
であることを検証するためにも適用可能である。本発明
の方法は、連続的なグラフィカル・ディスプレイ出力フ
レームが「テスト・ラン」というアプリケーションの間
に特定の「実行」ポイントにおいて捕捉されるという点
で前述の方法と全く同じであることが望ましい。それぞ
れのテスト・ランに対して、その連続的なグラフィカル
・ディスプレイ出力フレームは、デルタ値を発生するた
めに処理される。前述のように、デルタ値はフレームの
対全体にわたって時不変性であるグラフィカル・ディス
プレイ出力構成をマスク又は「フィルタ」する。ソフト
ウエア・アプリケーションのグラフィカル・ディスプレ
イ出力が複数のテスト・ランのセット全体にわたって整
合していることを検証するために、統計的な方法を使用
してそのテスト・ラン(又は、所与のテスト・ランのセ
ット)に対するデルタ値が比較される。
【0018】以上では、本発明のより関連の深い目的及
び特徴の幾つかを概説した。これらの目的及び特徴は、
単に、本発明のより顕著な特徴及びアプリケーションの
うちの幾つかを示したものに過ぎないと解釈されるべき
である。開示された発明を別の方法で適用すること及び
本発明を後述のように修正することによって、他の多く
の有益な結果を得ることも可能である。従って、以下の
好適な実施例の詳細な説明を参照することによって、本
発明の他の目的及びより十分な理解が得られるであろ
う。
【0019】
【発明の実施の形態】後述するように、本発明の「検
証」ツールを構成する1つ又は複数のプロセスは、コン
ピュータ上で又はコンピュータ・ネットワークを介して
接続された1つ又は複数のコンピュータ上で実行可能で
ある。図1を参照すると、本発明を実施する場合に使用
するためのコンピュータが示される。コンピュータ10
は、プロセッサ12、オペレーティング・システム1
4、オペレーティング・システム・アプリケーション・
プログラミング・インターフェース(API)16、グ
ラフィカル・ユーザ・インターフェース(GUI)1
8、及びRAM22を有する。本発明の実施例では、そ
のツールは、Javaベースのアプリケーション又はア
プレットを検証するために使用され、従って、そのコン
ピュータは、Java仮想計算機(JVM)インタープ
リタ20も任意選択的に含む。JVMは、命令セットを
含み、しかも種々のメモリ・エリアを使用する抽象計算
機である。JVMは、Netscape Naviga
tor(商標)及びMicrosoftInterne
t Explorer(商標)の適切なバージョンのよ
うな多くの「オフ・ザ・シェルフ」インターネット・ブ
ラウザ・アプリケーションにおいて得られる。JVMに
関する更なる詳細は、Addison Wesley 社発行(199
7年)の Tim Lindholm 及び Frank Yellin 著「Jav
a仮想計算機仕様(The Java Virtual Machine Specifi
cation)」において得られる。
【0020】従って、例えば、本発明において使用され
るコンピュータは、Intel(商標)ベース、Pow
erPC(商標)ベース、又はRISCベースであっ
て、IBM OS/2(商標)、Microsoft
Windows 95、Microsoft Wind
ows NT 4.0、Unix、AIX(商標)、O
S/400等のようなオペレーティング・システムを含
む任意のパーソナル・コンピュータ、或いは、ワークス
テーション・クライアント又はサーバ・プラットフォー
ムである。代表的なコンピュータは、Intel x8
6 プロセッサ、OS/2 Warp バージョン4.
0 オペレーティング・システム、及びJVMバージョ
ン1.0.2以上を稼動させる。別の方法として、コンピ
ュータは、x86ベースのプロセッサ、Windows
95(又は、Windows NT)オペレーティン
グ・システム、及びJVMバージョン1.0.2以上を稼
動させる。更に別の方法は、PowerPC又はRIS
Cベースのプロセッサ,AIXオペレーティング・シス
テム、及びJVM1.0.2以上を有するコンピュータを
稼動させることである。
【0021】検証ツール25はソフトウエアで実現さ
れ、特に、Java仮想計算機インタープリタ20によ
る実行のためにJavaで書かれることが望ましい。検
証ツール25はJavaベースであることが望ましいけ
れども、これは本発明の必要条件ではない。しかし、J
avaベースの検証ツールは、複数の開発プラットフォ
ーム全体にわたって移植可能である。従って、検証ツー
ル・コード自体は、上記のシステムの各々において、た
とえそれらが少なくともオペレーティング・システムの
レベルでは異種であっても動作可能である。その検証ツ
ールは、それと関連し且つコンピュータによって制御さ
れるテスト・サブシステムを持つことが望ましい。テス
ト・サブシステム26は、一般に、コンピュータ・ユー
ザ・インターフェース及び任意の必要なインターフェー
ス上でビデオ・フレーム出力を捕捉するために使用する
ための1つ又は複数のビデオ・フレーム・グラバ28の
ような適切なハードウエア、制御及び同期化回路及びコ
ンポーネントを含む。ビデオ・グラバはその分野ではよ
く知られている。テスト・サブシステム26のコンポー
ネント又は機能の幾つか又はすべてが、全体的に又は部
分的にソフトウエアで、又はコンピュータ自身の内部資
源及び周辺装置の使用を通して実現可能である。
【0022】検証ツール25は、一般に、開発中(或い
は、テスト中)の所与のアプリケーションのオペレーシ
ョンが複数のオペレーティング・システム・プラットフ
ォーム全体にわたって整合したディスプレイ出力を有す
るかどうかを検証するように機能する。別の方法では、
その検証ツールは、アプリケーションのグラフィカル・
ディスプレイ出力が同じオペレーティング・システムを
持ったシステムにおける多重実行に整合し或いはそれら
全体にわたるものであるかどうかを検証するために有用
である。その分野ではよく知られているように、通常の
「ウインドウ・ベース」のグラフィカル・ユーザ・イン
ターフェースと関連したディスプレイ出力は、GUIを
構成するウインドウ、メニュー、タイトル・バー、境界
線、スクロールバー、ビットマップ、アイコン、及び他
の基本的な制御エレメントを無制限に含む多くのエレメ
ントを有する。プラットフォーム独立のソフトウエア・
プログラム(Javaアプリケーション又はアプレット
のような)の設計及び開発において、開発中の特定のソ
フトウエアが異種のコンピュータ・システム全体にわた
って同じ「外観と操作性」を与えるかどうかを開発者
(及びその他の人)が決定できることが望ましい。検証
ツール25は、プラットフォーム独立のアプリケーショ
ンが、IBM OS/2プレゼンテーション・マネージ
ャ、Microsoft Windows NT、Mi
crosoft Windows 95、Macint
osh、及びX Windows等のような既知のグラ
フィカル・ユーザ・インターフェースを介して、整合し
ているグラフィカル・ディスプレイ出力を与えるという
ことを検証するための効率的な、しかも非常に正確な機
構を提供する。
【0023】図2は、異種のオペレーティング・システ
ムを稼動させるコンピュータ全体にわたってソフトウエ
ア・アプリケーション・グラフィカル・ディスプレイ出
力を検証する場合に使用するための本発明の検証ツール
の基本的オペレーションのフローチャートである。説明
の便宜上、以下の説明は、2つだけのオペレーティング
・システムにわたってアプリケーションをテストするこ
とに関連して行われる。しかし、複数のテスト・ランは
任意の数の異種のコンピュータ・プラットフォームを含
み得るので、これが本発明を制限するものではないこと
は当業者には明らかであろう。
【0024】基本ルーチンは、コンピュータ又はテスト
・サブシステム26におけるハードウエアによって、又
は検証ツール・ソフトウエアそのものにおいて実行可能
である処理ステップを含む。そのルーチンは、ステップ
30において、すべてのテスト・ランが完了したかどう
かを決定することによって始まる。前述のように、所与
のテスト・ランは、そのテストによって評価されるオペ
レーティング・システム・プラットフォームのうちの所
与の1つにおいて所与のアプリケーションに関して所定
の処理ステップ(後述される)を伴う。ステップ30に
おけるテストの結果が肯定的である場合、ルーチンは、
詳しく後述されるステップ40にブランチする。しか
し、ステップ30におけるテストの結果が否定的である
場合、ルーチンはステップ32において継続し、次のテ
ストを行う。以下のステップは基本オペレーションを述
べる。
【0025】ステップ34において、テスト中のアプリ
ケーションが所与の実行ポイントに達したかどうかを決
定するためのテストが行われる。本発明によれば、検証
ツールによってテストされるアプリケーションは複数の
テスト・ランを通して、しかし、所与の実行ポイントに
おいて評価される。この方法では、開発者は、所与の実
行ポイント全体にわたって変わらない動作特有のGUI
構造を、その分析によって(望ましくは、後で明らかに
なるような統計的分析を使用することによって)取り除
くことが可能である。所与の実行ポイントがユーザによ
ってプリセットされるか、それが或るシステム制御の下
に変化することがあることが望ましい。ステップ34に
おけるテストの結果が否定的である場合、ルーチンは循
環し、そのステップを反復し続ける。しかし、ステップ
34におけるテストの結果が肯定的である場合、それは
所与の実行ポイントが特定のテスト・ランに達したこと
を表すので、ルーチンはステップ34において継続す
る。
【0026】この時点で、そのルーチンは、テスト中の
アプリケーションによって発生される一対のグラフィカ
ル出力フレームを処理する。望ましい実施例では、その
一対のフレームは、テスト・サブシステムにおけるビデ
オ・フレーム・グラバを使用して捕捉され、そして、そ
の対は、所与の実行ポイント(アプリケーションにおけ
る)の直前にGUI上に表示される特定のフレーム、及
び所与の実行ポイントの直後にGUI上に表示される特
定のフレームを表す。フレームは、表示イメージのすべ
ての或いは所与の部分を含む。その選択された特定のフ
レームは連続的なフレームである必要はなく、或いは、
同じフレーム対の関係が複数のテスト・ラン全体にわた
って使用される場合、前述の特定のタイミング関係を持
つ必要もない。
【0027】次に、ルーチンはステップ38において継
続し、グラフィカル出力フレームの対を処理する。望ま
しい実施例によれば、ステップ38は、これらのフレー
ムのビット単位の排他的ORを行い、それによって、特
定のテスト・ランに対するデルタ "Δ"を発生すること
を伴う。従って、デルタ値 Δ1 はこの特定のテスト・
ランに対して発生されるであろう(この場合、アプリケ
ーションは第1の所与のオペレーティング・システムに
おいて実行される)。ビット単位の排他的OR論理オペ
レーションがフレーム全体に対して行われることが望ま
しいけれども、これは本発明の必要条件ではない。従っ
て、例えば、フレーム対の任意の所与の部分は、同じ所
与の部分が他のテスト・ラン中に評価される場合、この
方法で処理可能である。別の方法として、同様のオペレ
ーションが他のテスト・ラン中に実施される場合、排他
的OR以外の何らかの他の論理オペレーションが使用可
能である。
【0028】この方法におけるフレームの対の処理は大
きな利点を与える。特に、フレームの対全体にわたって
変わらないすべてのGUI表示構成は、特定の実行ポイ
ントに存在するフレームの「差」だけを残して、本質的
にマスクされ、又は、取り除かれる。従って、ウインド
ウ境界線、タイトル・バー、スクロールバー、アイコン
等、及びオペレーティング・システム特有な他の情報を
含むそのようなディスプレイ構成は、その検証プロセス
における更なる考察から外される。
【0029】ステップ39においてデルタ値が保存され
た後、制御はステップ40に戻る。このステップにおい
て、デルタ値{Δ1、Δ2、・・・}が記憶装置から検索
される。これらの値の各々は、連続するフレーム対の出
力(即ち、フレーム "n−1" からフレーム "n" ま
で)がアプリケーションにおける同じ所与の実行ポイン
トにおいて変わる程度を表す(そのアプリケーションが
複数のオペレーティング・システム・プラットフォーム
の特定の1つにおいて実行される時)。ステップ42に
おいて、ルーチンは、それらのデルタ値を分析するため
の所与の統計的方法を選択する。本発明によれば、複数
のテスト・ラン全体にわたって発生されたデルタ値を比
較するために、任意の適当な統計的方法が使用可能であ
る。既知の統計的方法は、パターン・マッチング・アル
ゴリズム、ファジー・ロジック・アルゴリズム、一組の
学習ルールを有する適応性推論エンジン、及び他の既知
の又は今後開発される統計的評価ルーチンを無制限に含
む。その特定のルーチンは、コンピュータにおいて稼動
するソフトウエアにおいて実現される。望ましい場合に
は、そのステップは、任意の既知の又は今後開発される
決定的な分析方法を包含し得る。
【0030】ステップ44において、統計的方法がその
セットのデルタ値に適用される。次に、ステップ44に
おいて、デルタ値が所与のユーザ選択可能な信頼性レベ
ル(例えば、95%)内に「一致」するかどうかを決定
するために、テストが実行される。勿論、任意のタイプ
の統計的メトリックが使用可能である。ステップ46に
おけるテストの結果が否定的である場合、ステップ48
において、アプリケーションのグラフィカル・ディスプ
レイ出力がテストされた複数のオペレーティング・シス
テム・プラットフォーム全体にわたって整合しないとい
う表示がユーザに与えられる。望ましい場合には、ステ
ップ50において、特定のディスプレイ出力変動を分離
し及び識別するための更なるステップが実行可能であ
る。しかし、ステップ46におけるテストの結果が肯定
的である場合、ルーチンはステップ52に継続し、グラ
フィカル・ディスプレイ出力がテストされた複数のオペ
レーティング・システム全体にわたって「有効」である
という表示を発生させる。これは処理を終了させる。
【0031】従って、図3のブロック図に示されるよう
に、各テスト・ラン54はデルタ値Δn を発生する。そ
こで、種々のデルタ値が統計的分析器56に供給され、
「一致」又は「拒否」を発生させる。もう1つの別の方
法の出力は「中間」であり、従って、1つ又は複数のテ
スト・ランが繰り返される必要があるかもしれない。そ
のツールは、どの特定のグラフィカル・ディスプレイ出
力情報がその拒絶に貢献したか又は生じさせたかを識別
する特定の情報を評価及び出力するための診断ルーチン
も含み得る。そこで、この情報は、その問題を修正する
(例えば、アプリケーション・コードを再処理すること
によって)ように開発者によって使用可能である。
【0032】従って、本発明は、テスト中のアプリケー
ションが種々のオペレーティング・システム・プラット
フォーム全体にわたって実行される時、連続的なグラフ
ィカル・ディスプレイ出力フレームを都合よく捕捉す
る。そこで、それらのフレームは、所与の実行ポイント
において時不変性のすべてのオペレーティング・システ
ム特有のGUI及びプログラム発生された構成をマスク
・アウトするように処理される。所与の統計的分析を使
用して、各テスト・ランに対して発生されたデルタ値を
比較することによって、検証ツールがプログラム出力の
整合性を確認する。これは、特にプラットフォーム独立
のアプリケーションに関して、プログラム開発の時間、
努力、及び経費をかなり減少させる。そのツールを使用
してテスト及びデバッグ可能な特定のアプリケーション
は、Javaアプリケーション又はJavaアプレット
である。Javaアプレットの場合、整合性を更に検証
するためにアプレット・ビューアを使用することが可能
である。
【0033】図4は、所与のアプリケーションが連続的
なテスト・ランにおいて同種のプラットフォームに関し
てテストされるという本発明の修正バージョンのフロー
チャートを示す。この実施例は、同じ又は実質的に同じ
実行環境を使用する複数の実行全体にわたってアプリケ
ーションが整合性を持って動作することをアプリケーシ
ョン開発者が確認することを可能にする。従って、図4
の実施例では、オペレーティング・システム・プラット
フォームは同じであると思われる。
【0034】前の実施例の場合のように、基本ルーチン
は、コンピュータ又はテスト・サブシステム26におけ
るハードウエアによって実行される処理ステップ又は検
証ツール・ソフトウエアそのものにおける処理ステップ
を含む。そのルーチンはステップ60において始まり、
すべてのテスト・ランが完了したかどうかを決定する。
この実施例では、所与のテスト・ランは、同じオペレー
ティング・システム・プラットフォーム(しかし、恐ら
く、異なるハードウエア構成を持った)において実行さ
れる所与のアプリケーションに関して或る処理ステップ
(後述される)を伴う。ステップ60におけるテストの
結果が肯定的である場合、ルーチンはステップ70にブ
ランチする。ステップ70に関しては、以下で詳しく述
べることにする。しかし、ステップ60におけるテスト
の結果が否定的である場合、ルーチンは、次のテストを
行うためにステップ62において継続する。
【0035】ステップ64において、テスト中のアプリ
ケーションが実行ポイントに達したかどうかを決定する
ためのテストが行われる。ステップ64におけるテスト
の結果が否定的である場合、ルーチンは循環し、そのス
テップを反復し続ける。しかし、ステップ64における
テストの結果が肯定的である場合、それは、特定のテス
ト・ランに対する所与の実行ポイントが到達したことを
表し、ルーチンはステップ66において継続する。
【0036】図3のルーチンに関して前述したように、
そのルーチンはステップ68に継続し、ビデオ・フレー
ム・グラバによって捕捉されたグラフィカル出力フレー
ムの対を処理する。望ましい実施例によれば、ステップ
68が再び関与して、フレームのビット単位排他的OR
を取り、それによって、特定のテスト・ランに対するデ
ルタ "Δ" 値を発生する。従って、デルタ値 "Δ1" が
この特定なテスト・ランに対して再び発生されるであろ
う。そこで、ステップ69において、そのデルタ値は保
存され、制御はステップ70に戻る。このステップにお
いて、デルタ値{Δ1,Δ2,・・・}が記憶装置から検
索される。ステップ72において、ルーチンは、デルタ
値を分析するための所与の統計的方法を選択する。
【0037】ステップ74において、統計的方法がその
セットのデルタ値に適用される。そこで、テストが行わ
れ、デルタ値が所与のユーザ選択可能な信頼性レベル内
の値に「一致」するかどうかを決定する。ステップ76
におけるテストの結果が否定的である場合、ステップ7
8において、アプリケーションのグラフィカル・ディス
プレイ出力がテストされつつあるシステム・プラットフ
ォーム全体にわたって整合していないという表示がユー
ザに与えられる。望ましい場合には、ステップ80にお
いて更なるステップが実行され、特定のディスプレイ出
力変動を識別するようにしてもよい。しかし、ステップ
76におけるテストの結果が肯定的である場合、ルーチ
ンはステップ82において継続し、グラフィカル・ディ
スプレイ出力がテストされる複数のオペレーティング・
システム全体にわたって「有効」であるという表示を発
生する。テストの結果が不確定であるか或いは曖昧であ
る場合、ルーチンは適切な表示を与えることも可能であ
る。これは処理を完了させる。
【0038】本発明がその概念の範囲内で変更又は修正
可能であり、その範囲内のままであってもよいことは当
業者には明らかであろう。従って、例えば、検証ツール
に「差」又はデルタ値を発生される代わりに、個々のフ
レーム対(所与のテスト・ランにおける)が「同じ」で
ある範囲を決定することが望ましいこともある。従っ
て、「差分表現(differencing)」技法が
望ましいけれども、それは本発明を限定するものではな
い。更に、デルタ値又は他の値に関する統計的分析がテ
スト結果を検証する望ましい方法であるけれども、決定
論的な分析技法が使用可能であることも当業者には明ら
かであろう。そのような変更はすべて本発明の技術的範
囲内である。
【0039】本発明の望ましい実現方法の1つはアプリ
ケーション、即ち、例えば、コンピュータのランダム・
アクセス・メモリに常駐し得るコード・モジュールにお
ける命令(プログラム・コード)のセットである。その
命令のセットは、コンピュータによって要求されるま
で、他のコンピュータ・メモリ、例えば、ハードディス
ク・ドライブ、或いは光ディスク(CD−ROMにおい
て使用するための)又はフロッピ・ディスク(フロッピ
・ディスク・ドライブにおいて使用するための)のよう
な取り外し可能なメモリに記憶可能であり、或いはイン
ターネット又は他のコンピュータ・ネットワークを介し
てダウンロード可能である。従って、本発明は、コンピ
ュータにおいて使用するためのコンピュータ・プログラ
ム製品として実現可能である。
【0040】更に、前述の種々の方法はソフトウエアに
よって活性化され又は再構成された汎用のコンピュータ
において都合よく実施可能であるけれども、そのような
方法が、ハードウエア、ファームウエア、又は必要な方
法ステップを遂行するように構成された更に特殊な装置
において実行可能であることも当業者には明らかであろ
う。
【0041】必要なことではないけれども、本発明を構
成する種々なプロセスは同じホスト・マシン上に、又は
ネットワーク(例えば、インターネット、イントラネッ
ト、広域ネットワーク(WAN)、又はローカル・エリ
ア・ネットワーク(LAN))を介して相互接続された
相異なるマシン上に常駐可能である。従って、本発明を
実行する機械は、他のコンピュータへの接続を確立する
ために適正なネットワーキング・ハードウエアを有す
る。例えば、その機械は、トークン・リング又はイーサ
ネット・アダプタを介して実行するネットワークへのT
CP/IP又はNETBIOS接続を持つものでもよ
い。
【0042】上記の特定の実施例が、本発明の同じ目的
を実行するための別の手法を修正又は設計するための基
本として容易に利用可能であることは当業者には明らか
であろう。又、そのような等価な構成が、特許請求の範
囲に記載されたような本発明の趣旨及び技術的範囲から
逸脱しないことも当業者には明らかであろう。
【0043】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0044】(1)所与のソフトウエア・アプリケーシ
ョンのグラフィカル・ディスプレイ出力がそれぞれのオ
ペレーティング・システム全体にわたって整合している
ことを検証する方法にして、前記それぞれのオペレーテ
ィング・システムの各々に基づいて前記ソフトウエア・
アプリケーションにおける所与の実行ポイントにおい
て、一対のグラフィカル・ディスプレイ出力フレームを
捕捉するステップと、前記それぞれのオペレーティング
・システムの各々に対して、前記一対のフレームにわた
って時不変性である前記それぞれのオペレーティング・
システムに対するグラフィカル・ディスプレイ出力の構
成をマスクする所与の情報を発生するために前記グラフ
ィカル・ディスプレイ出力フレームの各対を処理するス
テップと、所与の前記ソフトウエア・アプリケーション
のグラフィカル・ディスプレイ出力が前記それぞれのオ
ペレーティング・システム全体にわたって所与の基準を
満たすことを検証するために、それぞれのオペレーティ
ング・システムの各々に対して発生された所与の情報を
比較するステップと、を含む方法。 (2)所与の前記ソフトウエア・アプリケーションはJ
avaで書かれたアプリケーションであることを特徴と
する上記(1)に記載の方法。 (3)前記一対のフレームは連続的なグラフィカル・デ
ィスプレイ出力フレームであることを特徴とする上記
(1)に記載の方法。 (4)前記比較するステップは統計的アルゴリズムの実
行を含むことを特徴とする上記(1)に記載の方法。 (5)前記所与の基準は前記所与の情報が所与の信頼性
レベル内の情報と等しいかどうかをテストすることを特
徴とする上記(1)に記載の方法。 (6)前記所与の信頼性レベルはユーザ選択可能である
ことを特徴とする上記(5)に記載の方法。 (7)前記処理するステップは前記一対のフレームを含
むフレームにおける排他的OR論理オペレーションの遂
行を含むことを特徴とする上記(1)に記載の方法。 (8)前記排他的OR論理オペレーションはビット単位
の基準で遂行されることを特徴とする上記(7)に記載
の方法。 (9)Javaアプリケーションのグラフィカル・ディ
スプレイ出力がそれぞれのオペレーティング・システム
全体にわたって整合していることを検証する方法にし
て、前記それぞれのオペレーティング・システムの各々
に基づいてJavaアプリケーションにおける所与の実
行ポイントにおいて、連続するグラフィカル・ディスプ
レイ出力フレームを捕捉するステップと、前記それぞれ
のオペレーティング・システムの各々に対して、前記一
対のフレーム全体にわたって時不変性である前記それぞ
れのオペレーティング・システムに対するグラフィカル
・ディスプレイ出力の構成をマスクするデルタ値を発生
するために、前記連続するグラフィカル・ディスプレイ
出力フレームを処理するステップと、前記Javaアプ
リケーションのグラフィカル・ディスプレイ出力が前記
それぞれのオペレーティング・システム全体にわたって
整合していることを検証するために、前記それぞれのオ
ペレーティング・システムの各々に対して発生された前
記デルタ値を統計的に比較するステップと、を含む方
法。 (10)前記JavaアプリケーションはJavaアプ
レットであることを特徴とする上記(9)に記載の方
法。 (11)前記処理するステップはビット単位の排他的O
R論理オペレーションであることを特徴とする上記
(9)に記載の方法。 (12)前記比較するステップは前記デルタ値に関して
統計的分析を行うことを含むことを特徴とする上記
(9)に記載の方法。 (13)前記統計的分析はパターン・マッチング・アル
ゴリズムであることを特徴とする上記(12)に記載の
方法。 (14)前記統計的分析はファジー・ロジック・アルゴ
リズムであることを特徴とする上記(12)に記載の方
法。 (15)前記統計的分析は神経ネットワーク・アルゴリ
ズムであることを特徴とする上記(12)に記載の方
法。 (16)所与のソフトウエア・アプリケーションのグラ
フィカル・ディスプレイ出力がそれぞれのオペレーティ
ング・システム全体にわたって整合していることを検証
する場合に使用するためのコンピュータ読み取り可能な
媒体におけるコンピュータ・プログラム製品にして、前
記それぞれのオペレーティング・システムの各々に基づ
いて前記ソフトウエア・アプリケーションにおける所与
の実行ポイントにおいて動作し、グラフィカル・ディス
プレイ出力フレームの対を捕捉するための手段と、前記
それぞれのオペレーティング・システムに対して、前記
一対のフレーム全体にわたって時不変性である前記それ
ぞれのオペレーティング・システムに対するグラフィカ
ル・ディスプレイ出力の構成をマスクする所与の情報を
発生するために、前記捕捉手段に応答して前記グラフィ
カル・ディスプレイ出力フレームの各対を処理するため
の手段と、前記所与のソフトウエア・アプリケーション
のグラフィカル・ディスプレイ出力が前記それぞれのオ
ペレーティング・システム全体にわたって整合している
ことを検証するために、前記処理するための手段に応答
して、前記それぞれのオペレーティング・システムの各
々に対して発生された所与の情報を比較するための手段
と、を含むコンピュータ・プログラム製品。 (17)前記所与のソフトウエア・アプリケーションは
Javaで書かれたアプリケーションであることを特徴
とする上記(16)に記載のコンピュータ・プログラム
製品。 (18)前記捕捉するために手段はビデオ・フレーム・
グラバであることを特徴とする上記(16)に記載のコ
ンピュータ・プログラム製品。 (19)前記処理するための手段は排他的OR論理オペ
レーションであることを特徴とする上記(16)に記載
のコンピュータ・プログラム製品。 (20)前記比較するための手段は統計的分析であるこ
とを特徴とする上記(17)に記載のコンピュータ・プ
ログラム製品。 (21)前記統計的分析はパターン・マッチング・アル
ゴリズムであることを特徴とする上記(20)に記載の
コンピュータ・プログラム製品。 (22)前記統計的分析はファジー・ロジック・アルゴ
リズムであることを特徴とする上記(20)に記載のコ
ンピュータ・プログラム製品。 (23)前記統計的分析は神経ネットワーク・アルゴリ
ズムであることを特徴とする上記(20)に記載のコン
ピュータ・プログラム製品。 (24)プロセッサと、所与のソフトウエア・アプリケ
ーションのグラフィカル・ディスプレイ出力がそれぞれ
のオペレーティング・システムに全体にわたって整合し
ていることを検証する場合に使用するためのツールと、
を含み、前記ツールは、前記それぞれのオペレーティン
グ・システムの各々に基づいて前記ソフトウエア・アプ
リケーションにおける所与の実行ポイントにおいて動作
し、一対のグラフィカル・ディスプレイ出力フレームを
捕捉するための手段と、前記それぞれのオペレーティン
グ・システムに対して、前記一対のフレーム全体にわた
って時不変性である前記それぞれのオペレーティング・
システムに対するグラフィカル・ディスプレイ出力の構
成をマスクする所与の情報を発生するために、前記捕捉
手段に応答して前記グラフィカル・ディスプレイ出力フ
レームの各対を処理するための手段と、前記所与のソフ
トウエア・アプリケーションのグラフィカル・ディスプ
レイ出力が前記それぞれのオペレーティング・システム
全体にわたって整合していることを検証するように、前
記処理するための手段に応答して、前記それぞれのオペ
レーティング・システムの各々に対して発生された所与
の情報を比較するための手段と、を含むコンピュータ。 (25)前記所与のソフトウエア・アプリケーションは
Javaで書かれたアプリケーションであることを特徴
とする上記(24)に記載のコンピュータ。 (26)前記捕捉するために手段はビデオ・フレーム・
グラバであることを特徴とする上記(24)に記載のコ
ンピュータ。 (27)前記処理するための手段は排他的OR論理オペ
レーションであることを特徴とする上記(24)に記載
のコンピュータ。 (28)前記比較するための手段は統計的分析であるこ
とを特徴とする上記(24)に記載のコンピュータ。 (29)オブジェクト指向プラットフォーム独立のプロ
グラミング環境において最初に書かれたソフトウエア・
アプリケーションが第1及び第2オペレーティング・シ
ステムのそれぞれにおいて稼動するそれぞれのウインド
ウ環境において実行される時、前記ソフトウエア・アプ
リケーションが整合しているグラフィカル出力を有する
ことを検証する方法にして、前記それぞれのオペレーテ
ィング・システムの各々に基づいて前記ソフトウエア・
アプリケーションにおける所与の実行ポイントにおい
て、一対のグラフィカル・ディスプレイ出力フレームを
捕捉するステップと、前記それぞれのオペレーティング
・システムに対して、前記一対のグラフィカル・ディス
プレイ出力フレーム全体にわたって時不変性であるそれ
ぞれのオペレーティング・システムに対するグラフィカ
ル・ディスプレイ出力の構成をマスクする所与の情報を
発生するために前記グラフィカル・ディスプレイ出力フ
レームの各対を処理するステップと、前記所与のソフト
ウエア・アプリケーションのグラフィカル・ディスプレ
イ出力が前記それぞれのオペレーティング・システム全
体にわたって整合していることを検証するために、前記
それぞれのオペレーティング・システムの各々に対して
発生された所与の情報を統計的に比較するステップと、
を含む方法。 (30)前記オブジェクト指向プラットフォーム独立の
プログラミング環境はJavaであることを特徴とする
上記(29)に記載の方法。 (31)前記ソフトウエア・アプリケーションがそれぞ
れのテスト・システム・コンフィギュレーション全体に
わたって実行される時、前記ソフトウエア・アプリケー
ションのグラフィカル・ディスプレイ出力が整合してい
ることを検証する方法にして、前記ソフトウエア・アプ
リケーションがそれぞれのテスト・システム構成の各々
に基づいて実行される時、前記ソフトウエア・アプリケ
ーションにおける所与の実行ポイントにおいて、連続す
るグラフィカル・ディスプレイ出力フレームを捕捉する
ステップと、それぞれの前記テスト・システム・コンフ
ィギュレーションに対して、前記グラフィカル・ディス
プレイ出力フレームの対にわたって時不変性であるグラ
フィカル・ディスプレイ出力の構成をマスクするデルタ
値を発生するために、前記連続するグラフィカル・ディ
スプレイ出力フレームを処理するステップと、前記ソフ
トウエア・アプリケーションのグラフィカル・ディスプ
レイ出力が前記テスト・システム・コンフィギュレーシ
ョン全体にわたって整合していることを検証するため
に、前記テスト・システム・コンフィギュレーションの
各々に対して発生された前記デルタ値を統計的に比較す
るステップと、を含む方法。 (32)前記テスト・システム・コンフィギュレーショ
ンの少なくとも2つは所与のオペレーティング・システ
ムを利用することを特徴とする上記(31)に記載の方
法。 (33)前記テスト・システム・コンフィギュレーショ
ンの少なくとも2つは相異なるオペレーティング・シス
テムを利用することを特徴とする上記(31)に記載の
方法。
【図面の簡単な説明】
【図1】本発明が全体的に又は部分的に実施される代表
的なコンピュータのブロック図である。
【図2】異種のオペレーティング・システムを稼動させ
るコンピュータ全体にわたってソフトウエア・アプリケ
ーションのグラフィカル・ディスプレイ出力を検証する
場合に使用するための本発明の検証ツール基本オペレー
ションのフローチャートである。
【図3】本発明の検証ツールの主要な処理機能を示すブ
ロック図である。図2のツールの望ましい動作方法を示
すフローチャートである。
【図4】同種のオペレーティング・システムを稼動させ
るコンピュータ全体の複数のテスト・ラン全体にわたっ
てソフトウエア・アプリケーションのグラフィカル・デ
ィスプレイ出力を検証する場合に使用するための本発明
の検証ツール基本オペレーションのフローチャートであ
る。

Claims (33)

    【特許請求の範囲】
  1. 【請求項1】所与のソフトウエア・アプリケーションの
    グラフィカル・ディスプレイ出力がそれぞれのオペレー
    ティング・システム全体にわたって整合していることを
    検証する方法にして、 前記それぞれのオペレーティング・システムの各々に基
    づいて前記ソフトウエア・アプリケーションにおける所
    与の実行ポイントにおいて一対のグラフィカル・ディス
    プレイ出力フレームを捕捉するステップと、 前記それぞれのオペレーティング・システムの各々に対
    して、前記一対のフレーム全体にわたって時不変性であ
    る前記それぞれのオペレーティング・システムに対する
    グラフィカル・ディスプレイ出力の構成をマスクする所
    与の情報を発生するために前記グラフィカル・ディスプ
    レイ出力フレームの各対を処理するステップと、 所与の前記ソフトウエア・アプリケーションのグラフィ
    カル・ディスプレイ出力が前記それぞれのオペレーティ
    ング・システム全体にわたって所与の基準を満たすこと
    を検証するために、それぞれのオペレーティング・シス
    テムの各々に対して発生された所与の情報を比較するス
    テップと、 を含む方法。
  2. 【請求項2】所与の前記ソフトウエア・アプリケーショ
    ンはJavaで書かれたアプリケーションであることを
    特徴とする請求項1に記載の方法。
  3. 【請求項3】前記一対のフレームは連続的なグラフィカ
    ル・ディスプレイ出力フレームであることを特徴とする
    請求項1に記載の方法。
  4. 【請求項4】前記比較するステップは統計的アルゴリズ
    ムの実行を含むことを特徴とする請求項1に記載の方
    法。
  5. 【請求項5】前記所与の基準は前記所与の情報が所与の
    信頼性レベル内の情報と等しいかどうかをテストするこ
    とを特徴とする請求項1に記載の方法。
  6. 【請求項6】前記所与の信頼性レベルはユーザ選択可能
    であることを特徴とする請求項5に記載の方法。
  7. 【請求項7】前記処理するステップは前記一対のフレー
    ムを含むフレームにおける排他的OR論理オペレーショ
    ンの遂行を含むことを特徴とする請求項1に記載の方
    法。
  8. 【請求項8】前記排他的OR論理オペレーションはビッ
    ト単位の基準で遂行されることを特徴とする請求項7に
    記載の方法。
  9. 【請求項9】Javaアプリケーションのグラフィカル
    ・ディスプレイ出力がそれぞれのオペレーティング・シ
    ステム全体にわたって整合していることを検証する方法
    にして、 前記それぞれのオペレーティング・システムの各々に基
    づいて、Javaアプリケーションにおける所与の実行
    ポイントにおいて連続的なグラフィカル・ディスプレイ
    出力フレームを捕捉するステップと、 前記それぞれのオペレーティング・システムの各々に対
    して、前記一対のフレーム全体にわたって時不変性であ
    る前記それぞれのオペレーティング・システムに対する
    グラフィカル・ディスプレイ出力の構成をマスクするデ
    ルタ値を発生するために、前記連続的なグラフィカル・
    ディスプレイ出力フレームを処理するステップと、 前記Javaアプリケーションのグラフィカル・ディス
    プレイ出力が前記それぞれのオペレーティング・システ
    ム全体にわたって整合していることを検証するために、
    前記それぞれのオペレーティング・システムの各々に対
    して発生された前記デルタ値を統計的に比較するステッ
    プと、 を含む方法。
  10. 【請求項10】前記JavaアプリケーションはJav
    aアプレットであることを特徴とする請求項9に記載の
    方法。
  11. 【請求項11】前記処理するステップはビット単位の排
    他的OR論理オペレーションであることを特徴とする請
    求項9に記載の方法。
  12. 【請求項12】前記比較するステップは前記デルタ値に
    関して統計的分析を行うことを含むことを特徴とする請
    求項9に記載の方法。
  13. 【請求項13】前記統計的分析はパターン・マッチング
    ・アルゴリズムであることを特徴とする請求項12記載
    の方法。
  14. 【請求項14】前記統計的分析はファジー・ロジック・
    アルゴリズムであることを特徴とする請求項12記載の
    方法。
  15. 【請求項15】前記統計的分析は神経ネットワーク・ア
    ルゴリズムであることを特徴とする請求項12記載の方
    法。
  16. 【請求項16】所与のソフトウエア・アプリケーション
    のグラフィカル・ディスプレイ出力がそれぞれのオペレ
    ーティング・システム全体にわたって整合していること
    を検証する場合に使用するためのコンピュータ読み取り
    可能な媒体におけるコンピュータ・プログラム製品にし
    て、 前記それぞれのオペレーティング・システムの各々に基
    づいて、前記ソフトウエア・アプリケーションにおける
    所与の実行ポイントにおいて動作し、グラフィカル・デ
    ィスプレイ出力フレームの対を捕捉するための手段と、 前記それぞれのオペレーティング・システムに対して、
    前記一対のフレーム全体にわたって時不変性である前記
    それぞれのオペレーティング・システムに対するグラフ
    ィカル・ディスプレイ出力の構成をマスクする所与の情
    報を発生するために、前記捕捉手段に応答して前記グラ
    フィカル・ディスプレイ出力フレームの各対を処理する
    ための手段と、 前記所与のソフトウエア・アプリケーションのグラフィ
    カル・ディスプレイ出力が前記それぞれのオペレーティ
    ング・システム全体にわたって整合していることを検証
    するために、前記処理するための手段に応答して、前記
    それぞれのオペレーティング・システムの各々に対して
    発生された所与の情報を比較するための手段と、 を含むコンピュータ・プログラム製品。
  17. 【請求項17】前記所与のソフトウエア・アプリケーシ
    ョンはJavaで書かれたアプリケーションであること
    を特徴とする請求項16に記載のコンピュータ・プログ
    ラム製品。
  18. 【請求項18】前記捕捉するために手段はビデオ・フレ
    ーム・グラバであることを特徴とする請求項16に記載
    のコンピュータ・プログラム製品。
  19. 【請求項19】前記処理するための手段は排他的OR論
    理オペレーションであることを特徴とする請求項16に
    記載のコンピュータ・プログラム製品。
  20. 【請求項20】前記比較するための手段は統計的分析で
    あることを特徴とする請求項17に記載のコンピュータ
    ・プログラム製品。
  21. 【請求項21】前記統計的分析はパターン・マッチング
    ・アルゴリズムであることを特徴とする請求項20に記
    載のコンピュータ・プログラム製品。
  22. 【請求項22】前記統計的分析はファジー・ロジック・
    アルゴリズムであることを特徴とする請求項20に記載
    のコンピュータ・プログラム製品。
  23. 【請求項23】前記統計的分析は神経ネットワーク・ア
    ルゴリズムであることを特徴とする請求項20に記載の
    コンピュータ・プログラム製品。
  24. 【請求項24】プロセッサと、 所与のソフトウエア・アプリケーションのグラフィカル
    ・ディスプレイ出力がそれぞれのオペレーティング・シ
    ステムに全体にわたって整合していることを検証する場
    合に使用するためのツールと、 を含み、 前記ツールは、 前記それぞれのオペレーティング・システムの各々に基
    づいて、前記ソフトウエア・アプリケーションにおける
    所与の実行ポイントにおいて動作し、一対のグラフィカ
    ル・ディスプレイ出力フレームを捕捉するための手段
    と、 前記それぞれのオペレーティング・システムに対して、
    前記一対のフレーム全体にわたって時不変性である前記
    それぞれのオペレーティング・システムに対するグラフ
    ィカル・ディスプレイ出力の構成をマスクする所与の情
    報を発生するために、前記捕捉手段に応答して前記グラ
    フィカル・ディスプレイ出力フレームの各対を処理する
    ための手段と、 前記所与のソフトウエア・アプリケーションのグラフィ
    カル・ディスプレイ出力が前記それぞれのオペレーティ
    ング・システム全体にわたって整合していることを検証
    するように、前記処理するための手段に応答して、前記
    それぞれのオペレーティング・システムの各々に対して
    発生された所与の情報を比較するための手段と、 を含むコンピュータ。
  25. 【請求項25】前記所与のソフトウエア・アプリケーシ
    ョンはJavaで書かれたアプリケーションであること
    を特徴とする請求項24に記載のコンピュータ。
  26. 【請求項26】前記捕捉するために手段はビデオ・フレ
    ーム・グラバであることを特徴とする請求項24に記載
    のコンピュータ。
  27. 【請求項27】前記処理するための手段は排他的OR論
    理オペレーションであることを特徴とする請求項24に
    記載のコンピュータ。
  28. 【請求項28】前記比較するための手段は統計的分析で
    あることを特徴とする請求項24に記載のコンピュー
    タ。
  29. 【請求項29】オブジェクト指向プラットフォーム独立
    のプログラミング環境において最初に書かれたソフトウ
    エア・アプリケーションが第1及び第2オペレーティン
    グ・システムのそれぞれにおいて稼動するそれぞれのウ
    インドウ環境において実行される時、前記ソフトウエア
    ・アプリケーションが整合しているグラフィカル出力を
    有することを検証する方法にして、 前記それぞれのオペレーティング・システムの各々に基
    づいて、前記ソフトウエア・アプリケーションにおける
    所与の実行ポイントにおいて一対のグラフィカル・ディ
    スプレイ出力フレームを捕捉するステップと、 前記それぞれのオペレーティング・システムに対して、
    前記一対のグラフィカル・ディスプレイ出力フレーム全
    体にわたって時不変性であるそれぞれのオペレーティン
    グ・システムに対するグラフィカル・ディスプレイ出力
    の構成をマスクする所与の情報を発生するために前記グ
    ラフィカル・ディスプレイ出力フレームの各対を処理す
    るステップと、 前記所与のソフトウエア・アプリケーションのグラフィ
    カル・ディスプレイ出力が前記それぞれのオペレーティ
    ング・システム全体にわたって整合していることを検証
    するために、前記それぞれのオペレーティング・システ
    ムの各々に対して発生された所与の情報を統計的に比較
    するステップと、 を含む方法。
  30. 【請求項30】前記オブジェクト指向プラットフォーム
    独立のプログラミング環境はJavaであることを特徴
    とする請求項29に記載の方法。
  31. 【請求項31】前記ソフトウエア・アプリケーションが
    それぞれのテスト・システム・コンフィギュレーション
    全体にわたって実行される時、前記ソフトウエア・アプ
    リケーションのグラフィカル・ディスプレイ出力が整合
    していることを検証する方法にして、 前記ソフトウエア・アプリケーションがそれぞれのテス
    ト・システム構成の各々に基づいて実行される時、前記
    ソフトウエア・アプリケーションにおける所与の実行ポ
    イントにおいて、連続的なグラフィカル・ディスプレイ
    出力フレームを捕捉するステップと、 それぞれの前記テスト・システム・コンフィギュレーシ
    ョンに対して、前記グラフィカル・ディスプレイ出力フ
    レームの対にわたって時不変性であるグラフィカル・デ
    ィスプレイ出力の構成をマスクするデルタ値を発生する
    ために前記連続的なグラフィカル・ディスプレイ出力フ
    レームを処理するステップと、 前記ソフトウエア・アプリケーションのグラフィカル・
    ディスプレイ出力が前記テスト・システム・コンフィギ
    ュレーション全体にわたって整合していることを検証す
    るために、前記テスト・システム・コンフィギュレーシ
    ョンの各々に対して発生された前記デルタ値を統計的に
    比較するステップと、 を含む方法。
  32. 【請求項32】前記テスト・システム・コンフィギュレ
    ーションの少なくとも2つは所与のオペレーティング・
    システムを利用することを特徴とする請求項31に記載
    の方法。
  33. 【請求項33】前記テスト・システム・コンフィギュレ
    ーションの少なくとも2つは相異なるオペレーティング
    ・システムを利用することを特徴とする請求項31に記
    載の方法。
JP10305302A 1997-12-22 1998-10-27 アプリケーションのグラフィカル・ディスプレイ出力を検証する方法及びコンピュータ・システム Pending JPH11338736A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US99562997A 1997-12-22 1997-12-22
US08/995629 1997-12-22

Publications (1)

Publication Number Publication Date
JPH11338736A true JPH11338736A (ja) 1999-12-10

Family

ID=25542037

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10305302A Pending JPH11338736A (ja) 1997-12-22 1998-10-27 アプリケーションのグラフィカル・ディスプレイ出力を検証する方法及びコンピュータ・システム

Country Status (4)

Country Link
JP (1) JPH11338736A (ja)
KR (1) KR19990062579A (ja)
CN (1) CN1179271C (ja)
TW (1) TW428136B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001097034A1 (fr) * 2000-06-14 2001-12-20 Seiko Epson Corporation Procede et systeme d'evaluation automatique, et support de stockage d'un programme d'evaluation automatique
JP2005251172A (ja) * 2004-01-28 2005-09-15 Microsoft Corp 開発サイクルを通じてユーザインタフェースの相違を自動的に判定する方法およびシステム
WO2013108381A1 (ja) * 2012-01-18 2013-07-25 トヨタ自動車 株式会社 情報処理装置及び情報処理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001097034A1 (fr) * 2000-06-14 2001-12-20 Seiko Epson Corporation Procede et systeme d'evaluation automatique, et support de stockage d'un programme d'evaluation automatique
JP2005251172A (ja) * 2004-01-28 2005-09-15 Microsoft Corp 開発サイクルを通じてユーザインタフェースの相違を自動的に判定する方法およびシステム
WO2013108381A1 (ja) * 2012-01-18 2013-07-25 トヨタ自動車 株式会社 情報処理装置及び情報処理方法
US10157241B2 (en) 2012-01-18 2018-12-18 Toyota Jidosha Kabushiki Kaisha Information processing device and information processing method

Also Published As

Publication number Publication date
TW428136B (en) 2001-04-01
KR19990062579A (ko) 1999-07-26
CN1179271C (zh) 2004-12-08
CN1227940A (zh) 1999-09-08

Similar Documents

Publication Publication Date Title
US8132056B2 (en) Dynamic functional testing coverage based on failure dependency graph
Memon et al. Regression testing of GUIs
White et al. A firewall concept for both control-flow and data-flow in regression integration testing
US6820256B2 (en) System and method for whole-system program analysis
US7055065B2 (en) Method, system, and computer program product for automated test generation for non-deterministic software using state transition rules
US6915343B1 (en) System and method of running diagnostic testing programs on a diagnostic adapter card and analyzing the results for diagnosing hardware and software problems on a network computer
WO2019216976A1 (en) Analytics for an automated application testing platform
US20040019832A1 (en) Method and apparatus for the automatic determination of potentially worm-like behavior of a program
Schroeder et al. Generating expected results for automated black-box testing
US7809808B2 (en) Method, system, and program product for analyzing a scalability of an application server
CN110633200A (zh) 用于测试智能合约的方法和设备
Avritzer et al. The role of modeling in the performance testing of e-commerce applications
US20020013680A1 (en) Method and configuration for comparing a first characteristic with predetermined characteristics of a technical system
US20030130813A1 (en) Adaptive test program generation
US6289503B1 (en) System and method for trace verification
WO2005043300A2 (en) Computer language interpretation and optimization for server testing
US20030233635A1 (en) Automated test generation
US20060168467A1 (en) Load testing methods and systems with transaction variability and consistency
CN113935041A (zh) 面向实时操作系统设备的漏洞检测系统及方法
Clarke et al. Testing real-time constraints in a process algebraic setting
Kim et al. A new hybrid algorithm for software fault localization
US7017150B2 (en) Method and apparatus for automatically isolating minimal distinguishing stimuli in design verification and software development
JPH11338736A (ja) アプリケーションのグラフィカル・ディスプレイ出力を検証する方法及びコンピュータ・システム
Kushik et al. Studying the optimal height of the EFSM equivalent for testing telecommunication protocols
US20100287537A1 (en) Method and system for anomaly detection in software programs with reduced false negatives