JPH05346875A - コンピュータ・アプリケーション・ソフトウェアの自動化試験システム - Google Patents

コンピュータ・アプリケーション・ソフトウェアの自動化試験システム

Info

Publication number
JPH05346875A
JPH05346875A JP3162457A JP16245791A JPH05346875A JP H05346875 A JPH05346875 A JP H05346875A JP 3162457 A JP3162457 A JP 3162457A JP 16245791 A JP16245791 A JP 16245791A JP H05346875 A JPH05346875 A JP H05346875A
Authority
JP
Japan
Prior art keywords
data
function
test
filter
save
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
JP3162457A
Other languages
English (en)
Other versions
JP3407809B2 (ja
Inventor
James C Washburn
ジェイムズ・シィ・ワッシュバン
Steven E Lemmo
スティーブン・イー・レモ
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH05346875A publication Critical patent/JPH05346875A/ja
Application granted granted Critical
Publication of JP3407809B2 publication Critical patent/JP3407809B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

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

Abstract

(57)【要約】 【目的】 様々に異なる種類のハードウェア・アーキテ
クチャにおいて多種多用なソフトウェア・プログラムを
試験することができるシステムを提供する。 【構成】 ユーザー拡張可能試験システムは、それぞれ
がユーザーにより拡張可能である複数のモジュールから
構成される。ジャーナル・モジュールは、ユーザーが試
験を請負ういくつかのタスクを実行するためにとるアク
ションを表す事象を記録する。フィルタ・モジュール
は、試験の合格状態又は不合格状態に決定的な意味をも
たないデータを除去する。データセーブ・モジュール
は、後に試験の合格/不合格状態を確定するためにマス
ターデータと比較されるデータをセーブする。比較モジ
ュールは、セーブされたデータとマスターデータとの
差,従って、試験の合格/不合格状態を確定するために
それらのデータを比較する。検閲モジュールは、マスタ
ーデータと実際のデータとの差を図式的に検閲する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明のシステムはコンピュータ
システムの自動化試験に関し、特に、ウィンドウシステ
ム環境におけるコンピュータ・アプリケーション・ソフ
トウェアの自動化試験に関する。
【0002】
【従来の技術】ソフトウェアの開発中には、ソフトウェ
アを顧客の利用に供するに先立ってソフトウェアを徹底
的に試験する必要がある。当初、試験は、ユーザーがソ
フトウェアを手動操作で動作させ、ソフトウェアの知覚
しうる全ての機能を試験し終わるまで様々に異なる動作
を実行することにより行われていた。ソフトウェアがそ
の精巧さと複雑さを増すにつれて、試験を自動化するこ
との必要性はより一層重要になってきた。また、試験を
標準化して、ソフトウェアが修正されたとき、ソフトウ
ェアの信頼性と性能を試験するために同じ試験を利用す
ることができるように、ソフトウェアの試験を正確に繰
り返すことも望まれるようになった。
【0003】この要求に対応するために、様々な試験シ
ステムが開発されている。たとえば、利用可能な試験シ
ステムの例としては次のような試験システムがある:
【0004】マサチューセッツ州メイナードの Digital
Equipment Corp. 製造の DEC/TESTMANAGER;及びカリ
フォルニア州サンフランシスコの Soft-ware Research
Inc. 製造の CAPBAK/SMARTS。
【0005】しかしながら、様々に異なる種類のハード
ウェア・アーキテクチャにおいて多種多様なソフトウェ
ア・プログラムを試験することができ、試験パラメータ
及び結果に関して融通性に富み且つユーザーにより拡張
可能である、すなわち、試験すべき特定のソフトウェア
に容易に適合させることができるような自動化試験シス
テムを提供することが依然として求められている。ま
た、試験が進行するのに伴って試験手順やパラメータを
会話形式で修正することができる自動化試験システムも
必要とされている。さらに、使用するのが簡単であり、
試験システムの複雑な事柄を詳細にわたり知っている必
要なく使用できるような自動化試験システムも必要であ
る。
【0006】
【発明が解決しようとする課題】従って、本発明の目的
は、様々に異なる種類のハードウェア・アーキテクチャ
において多種多様なソフトウェア・プログラムを試験す
ることができ、試験のパラメータ及び結果に関して融通
性を備え且つユーザーにより拡張可能である自動化試験
システムを提供することである。
【0007】本発明の別の目的はソフトウェアに関する
試験の進行につれて試験手順及びパラメータを修正する
ことができるような自動化試験システムを提供すること
である。本発明の目的は、使用するのが簡単であり且つ
試験システムの複雑な事柄を詳細にわたって知っている
必要がないような自動化試験システムを提供することで
ある。
【0008】
【課題を解決するための手段】ユーザー拡張可能自動化
試験システムは、それぞれがユーザーにより拡張可能で
ある複数のモジュールから構成される。ジャーナルモジ
ュールは、ユーザーが試験を請け負ういくつかのタスク
を実行するためにとるアクションを表す事象を記録する
能力を提供する。フィルタモジュールは、試験の合格状
態又は不合格状態に決定的な意味をもたないデータを除
去する手段を構成する。データセーブモジュールは、後
に試験の合格/不合格状態を確定するためにマスターデ
ータと比較されるデータをセーブする手段を構成する。
比較モジュールは、セーブされたデータとマスターデー
タとの差、従って、試験の合格/不合格状態を確定する
ためにそれらのデータを比較する手段を構成する。検閲
モジュールは、マスターデータと実際のデータとの差を
図式的に検閲する。各モジュールはユーザーにより拡張
可能であるので、ユーザーは、試験システムを特定のコ
ンピュータシステム又は特定のコンピュータ・ソフトウ
ェア・アプリケーションに適合させるために、モジュー
ルの機能性の一部を更新、変更又は削除することができ
る。本発明の目的,特徴及び利点は以下の本発明の説明
から明白になるであろう。
【0009】〔表記法及び用語〕以下の詳細な説明の大
半は、コンピュータメモリ内部におけるデータビットの
操作をアルゴリズム及び記号表示によって提示してい
る。そのようなアルゴリズムによる説明や表示は、デー
タ処理技術に熟達する人がその作業の内容を同じ分野の
当業者に最も有効に伝達するために使用する手段であ
る。
【0010】ここでは、また、一般的にも、アルゴリズ
ムはある所望の結果に至る首尾一貫したステップのシー
ケンスであると考えられている。それらのステップは物
理的な量の物理的操作を要求するステップである。通
常、それらの量は記憶,転送,組み合わせ,比較及びそ
の他の方法による操作が可能な電気的信号又は磁気信号
の形態をとるが、必ずしもそうであるとは限らない。時
によっては、主に一般に利用されている用語であるとい
う理由により、そのような信号をビット,値,要素,記
号,文字,項,数などと呼ぶと好都合であることがわか
る。ただし、これらの用語及びそれに類する用語は全て
適切な物理的な量と関連させるべきものであり、単にそ
のような量に便宜上付されたラベルであるにすぎないと
いうことを忘れてはならない。
【0011】さらに、実行される操作を、オペレータが
実行する知的動作と一般には関連している加算又は比較
などの用語で呼ぶことが多いが、ここに説明する、本発
明の一部を成す動作のいずれにおいても、オペレータの
そのような能力は不要であり、多くの場合に望ましくな
い。動作は機械の動作である。本発明の動作を実行する
のに有用な機械には、汎用デジタルコンピュータ又は他
の同様の装置がある。いずれの場合にも、コンピュータ
を動作させる際の方法動作と、計算それ自体の方法との
明確な区別に留意すべきである。本発明は、電気的信号
又はその他の物理的(たとえば、機械的,化学的)信号
を処理して、他の所望の物理的信号を発生するに際して
コンピュータを動作させる方法ステップに関する。
【0012】また、本発明は、このような動作を実行す
るための装置にも関する。この装置は必要な目的に合わ
せて特別に構成されても良いが、汎用コンピュータをコ
ンピュータに記憶させたコンピュータプログラムにより
選択的に動作させるか又は再構成しても良い。ここに提
示するアルゴリズムは、本来、特定のコンピュータ又は
他の特定の装置と関連するものではない。すなわち、本
発明の教示に従って書き込んだプログラムと組み合わせ
て様々な汎用機械を使用しても良く、また、所要の方法
ステップを実行するためにより特殊化した装置を構成す
るほうが好都合であると判明する場合もあるかもしれな
い。このような多種多様な機械に要求される構造は以下
の説明から明らかになるであろう。
【0013】
【実施例】システム全般の説明 図1は、本発明によるユーザー拡張可能試験システムに
関わる代表的なコンピュータベースシステムを示す。図
1に示すコンピュータ101は、3つの主要構成要素か
ら構成されている。その第1のものは、コンピュータ1
01の他の部分との間で適切に構造化された形態の情報
を通信しあうために使用される入出力(I/O)回路1
02である。中央処理装置(CPU)103と、メモリ
104もコンピュータ101の一部として示されてい
る。これら2つの素子は、多くの汎用コンピュータや、
ほぼ全ての専用コンピュータで通常見られる素子であ
る。事実上、コンピュータ101の内部に含まれるいく
つかの素子はこの広い意味でのデータプロセッサを表す
べきものである。コンピュータ101の役割を果たすの
に適するデータプロセッサの特定の例としては、カリフ
ォルニア州マウンテンビューの Sun Microsystems, In
c. が製造している機械がある。それと同様の能力を備
えた他のコンピュータを以下に説明する機能を実行させ
るべく簡単に適合させることができるのは言うまでもな
いであろう。
【0014】図1にさらに示されている入力装置105
は、典型的な実施例ではキーボードである。しかしなが
ら、この入力装置はカード読み取り装置,磁気テープ読
み取り装置又は紙テープ読み取り装置、あるいはその他
の周知の入力装置(当然のことながら、別のコンピュー
タを含む)であって良いことを理解しておくべきであ
る。I/O回路102に結合する大容量記憶装置106
は、コンピュータ101にさらに大きな記憶能力を与え
る。大容量記憶装置は他のプログラムなどを記憶してい
ても良く、磁気テープ読み取り装置,紙テープ読み取り
装置又は他の周知の装置の形態をとって良い。場合によ
っては、大容量記憶装置106に保持されているデータ
を必要に応じて標準的な方式によりメモリ104の一部
としてコンピュータ101に取り込んでも良いことがわ
かるであろう。
【0015】さらに図示してある表示モニター107
は、ユーザーにメッセージ又は他の通信内容を表示する
ために使用される。そのような表示モニターは、いくつ
かの周知のCRT表示装置の形態をとってもよい。カー
ソル制御装置108は指令モードを選択すると共に、入
力データを編集するために使用され、一般に、システム
へ情報を入力するためのさらに便利な手段であるといえ
る。
【0016】プロセスの説明 図2を参照して、本発明の試験システムの概要を説明す
る。複数のアプリケーション200,210はウィンド
ウシステム環境の中でウィンドウシステム230を介し
て動作する。アプリケーション200,210はキーボ
ード250やマウス260などの入力装置を介して情報
を受信し、表示装置240に表示すべき情報を出力す
る。
【0017】アクティブ・ウィンドウ、すなわち、入力
焦点を有するウィンドウは、どのアプリケーションが入
力装置250,260から入力を受信するかを指示す
る。アプリケーションが活動中であるウィンドウは、出
力データを表示すべき場所を指示する。
【0018】本発明の試験システム220はウィンドウ
システム内で動作する追加プロセスとして実現されるの
が好ましいが、接続されている装置において別個のプロ
セスとして実現されてもよい。ジャーナリング・メカニ
ズム270は、コンピュータシステム及び/又はコンピ
ュータシステムで動作するソフトウェアを試験すること
を目的としてユーザーがいくつかのタスクを開始し、且
つ実行するためにとるアクションを表すジャーナルファ
イルに事象を記録するという基本能力を示す。ジャーナ
ルファイルはその後に再生され、そのとき、記録されて
いる各事象はジャーナルファイルから読み取られて、記
録時の順序通りにウィンドウシステムに入力される。ウ
ィンドウシステムは、事象が入力装置250,260か
ら受信されたかのように事象に応答し、それにより、試
験は実行される。1990年3月23日に「Synchroniz
ed Journaling System」の名称の下に出願した同時係属
米国特許出願第07/498,206号に記載されてい
るような同期化ジャーナリングシステムを採用するのが
好ましい。
【0019】本発明の試験システムは複数のユーザー拡
張可能モジュールから構成されているので、ユーザー
は、試験システムを特定のコンピュータ・システム又は
コンピュータ・ソフトウェア・アプリケーションに適合
させるために、モジュールの機能性の一部を更新,変更
又は削除することができる。ユーザー拡張可能自動化試
験能力を得るために、試験システム220はジャーナリ
ング・メカニズム270と関連して実現されている。ジ
ャーナリング・メカニズムの機能を利用するために、試
験システムはウィンドウシステム内部で動作する追加プ
ロセスとして実現される。ユーザーが試験システムのい
くつかの機能をイネーブルすると共に、いくつかの試験
を開始するためにとるアクションはウィンドウシステム
において一連の事象として反映され、ジャーナリング・
メカニズムにより記録される。たとえば、後続する試験
に備えてあるフィルタをイネーブルするアクションは一
連のマウス事象として反映されると考えられるが、この
場合、マウスは、表示装置においてフィルタがメニュー
項目,キーボードにおけるキーの押し下げと解放,又は
フィルタの選択を指示するためのマウスボタンとして表
示される位置へカーソルを移動させる。ジャーナルファ
イルの再生中、試験システムのいくつかの機能のイネー
ブル及びいくつかの試験の開始に関してユーザーがとっ
たアクション並びにアプリケーションの試験に関してユ
ーザーがとったアクションが実行される。このように、
ある特定のアプリケーション試験について、データのセ
ーブ,比較の実行,フィルタのイネーブルなどの機能は
一貫して実現されるので、同一の試験が繰り返し確実に
実行されることになる。
【0020】本発明のユーザー拡張可能試験システムは
ジャーナリング・モジュールと、フィルタリング・モジ
ュールと、データセーブ・モジュールと、データ比較モ
ジュールと、検閲モジュールと、再生/編集モジュール
とを含む。先に説明した通り、ジャーナリング・モジュ
ールはウィンドウシステム内で起こるあらゆる事象を記
録し、それらの事象を後の再生に備えてジャーナルファ
イルに導入する。再生中、事象をジャーナルファイルか
らウィンドウシステムへ入力させることにより事象を実
行し、当初記録したユーザーセッションのユーザーアク
ションをシミュレートする。
【0021】フィルタリング・モジュールは、試験の合
格状態又は不合格状態を決定する意味をもたないデータ
をフィルタリングにより除去するためのフィルタリング
・メカニズムを構成する。フィルタリング・モジュール
は、それぞれ別個に識別される複数のフィルタ機能から
構成されており、個々のフィルタ機能をいくつかの試験
に備えてイネーブルすることができる。これらのフィル
タ機能を実行するのは、試験の実行中にデータをセーブ
するのに先立ってデータをフィルタリングするフィルタ
機能実行手段である。フィルタ機能をあらゆる種類のデ
ータ比較について標準化するか、又は特定の1つのアプ
リケーション、あるいは特定のデータ比較について標準
化することができ、また、フィルタ機能をアプリケーシ
ョン特有のものとし、ユーザーがそれを規定することも
可能である。フィルタ機能の変更が必要であれば、フィ
ルタ機能を削除,追加又は修正することができる。テキ
ストデータ並びにデジタル画像のビットマップを含む2
進データについてフィルタ機能を開発することができ
る。
【0022】フィルタ機能は、フィルタ実行手段により
実行可能なコードから成る。たとえば、周知のプログラ
ミング言語(「C」プログラミング言語など)、フィル
タ機能に合わせて特に開発し且つ最適化したプログラミ
ング言語又は低レベルコードによりフィルタ機能を書き
込んでも良い。フィルタ機能修正手段は、単純に、ユー
ザーが新たなフィルタ機能を作成すること、既存のフィ
ルタ機能を修正すること又は使用されなくなったフィル
タ機能を削除することを可能にするASCIIテキスト
エディタであっても良い。あるいは、フィルタ機能修正
手段はフィルタ機能コードを修正するように特に適応さ
せたエディタであっても良い。フィルタ実行手段は、試
験の実行中に生成されるテキストデータをセーブするの
に先立ってフィルタ機能を実行させる。フィルタ実行手
段はフィルタ機能を表す実行可能コードを開始させるの
が好ましいが、フィルタ機能を高レベルのプログラミン
グ言語(たとえば、「C」プログラミング言語)で作成
又は修正した場合には、フィルタ機能を実行前にコンパ
イルし且つ実行可能コードに変換しなければならない。
これを実行するのは、その機能性を備えたフィルタ機能
修正手段又はフィルタ実行手段であっても良い。あるい
は、フィルタ機能実行手段は、フィルタ機能のコードを
解釈し、そのコードにより指定されるタスクを実行する
言語インタプリタ又はコードインタプリタである。フィ
ルタ機能は、作成後又は修正後に実行可能コードにコン
パイルされ、実行可能な形態で後の実行に備えて記憶さ
れる高レベルプログラミング言語で書き込まれるのが好
ましい。
【0023】フィルタ機能はテキストの語と語の間の空
白スペースを除去するという単純なものから、テキスト
フォーマット又は2進フォーマットのファイルとして具
現化したデータの特定の部分を除去する複雑なものまで
ある。たとえば、フィルタによりデータを1つのフォー
マットから別のフォーマットに変換する、又は何らかの
浮動小数点数を所定の精度を有する浮動小数点数に変換
することが考えられる。データの中で、アプリケーショ
ンが再実行されるときに変更する可能性があり且つ試験
の合格又は不合格の状態に影響を及ぼさない部分を除去
するためにフィルタを使用するのが好ましい。たとえ
ば、ある試験の合格又は不合格の状態を判定するために
検閲され且つ比較されるデータが実行の日時を反映して
いる場合には、試験を実行するたびに日時は変わってし
まうので、常に誤り状態が現れるであろう。すなわち、
試験が誤りなく完了したとしても、試験の日時は変わっ
ているために、データの変更が知らされ、試験は不合格
状態により識別される。この問題に対応して、セーブす
べきデータを読み取り、そのデータが実行の日付及び/
又は時間を含むか否かを判定するフィルタ機能を実行す
る。日付及び/又は時間を含んでいれば、情報をセーブ
しない。データセーブ機能を実行し且つフィルタ機能を
イネーブルするときには、フィルタ実行手段はデータを
フィルタ機能を介して入力させることにより、セーブす
るデータから時間情報又は日付情報を除去する。
【0024】フィルタ機能の例を図3及び図4に示す。
図3は、「IRSフロート」と呼ばれるフィルタ機能に
関わるコードを表す。IRSフロートは入力としてテキ
ストファイルを受信し、テキストが浮動小数点数を含む
か否かを判定する。テキスト中に見出された浮動小数点
数ごとに、数の出力フォーマット、たとえば、指数
(「E」)フォーマット又は浮動小数点数(「F」)フ
ォーマットを確定するために、数の絶対値を確定して数
の大きさを測定する。数の大きさとフォーマットを確定
したならば、浮動小数点数を5桁の精度をもってフィル
タから出力させる。
【0025】図4は、「IRSスペース」と呼ばれるフ
ィルタ機能に関わるコードを表す。IRSスペースは入
力としてテキストファイルを受信し、複数の隣接するス
ペース、すなわちタブを排除する。テキスト中に2つ以
上の隣接するスペース、すなわちタブが見出された場合
には、第1のスペース、すなわちタブのみをフィルタか
ら出力する。
【0026】IRSフロートフィルタ機能はUNIXオ
ペレーティングシステム(UNIXはAT&Tの商標で
ある)の「LEX」言語で書き込まれる。IRSスペー
スフィルタ機能は「C」プログラミング言語で書き込ま
れる。その後、フィルタが選択される時点で、フィルタ
実行手段による実行に備えて、これらの機能は実行可能
コードにコンパイルされる。LEX言語に関する詳細に
ついては、Leek 及びSchmidt の「LEX - A Lexical An
alyzer Generator」(Bell Laboratories , ニュージャ
ージー州マレーヒル)を参照。図示したフィルタ機能は
LEX言語及びC言語で書き込まれているが、フィルタ
機能はそれに限定されず、試験システムと矛盾しないど
のような形態又は言語でフィルタ機能を生成しても良
い。
【0027】フィルタ機能をイネーブルすべき場合に
は、捕獲シーケンスの間に、1つ又は複数の特定のフィ
ルタ機能を選択させるメニュー項目を選択する。フィル
タ機能のメニューを図5に示す。フィルタ機能メニュー
は、特定のデータセーブ/比較又は特定の試験のために
実現することができる利用可能な全てのフィルタ機能を
表示する。たとえば、フィルタ機能のIRSフロートと
IRSスペースは、図5に示す主メニューの中にあるメ
ニュー項目「Text Save 」300からのプルライトメニ
ュー項目である。
【0028】メニューは1つ又は2つ以上のフィルタ機
能を選択する能力を与えるために生成される。試験シス
テムの中で、メニューを生成し且つウィンドウを表示す
るためにウィンドウシステムとインタフェースする部分
によりアクセスされるフィルタ機能のリストを提示する
のが好ましい。ウィンドウシステムにおけるメニューの
生成の詳細については、たとえば、Sun ViewTM1 Progr
ammer's Guide の第12章「Menus」(1988年刊)
を参照。 メニューにフィルタ機能を追加するとき又は
メニューからフィルタ機能を削除するときには、単に追
加すべきフィルタ機能の名前を挿入するため又は削除す
べきフィルタ機能の名前を取り除くためにフィルタファ
イルを更新するだけである。フィルタ機能リストの1例
を図6に示す。「%%」ストリングはメニューレベルを
表している。IRSフロートフィルタ機能は第2のメニ
ューレベルに位置し、IRSスペースフィルタ機能は第
3のメニューレベルに位置している。
【0029】本発明の試験システムのフィルタ機能はユ
ーザーにより拡張可能である。試験システムにフィルタ
機能を追加するときには、ユーザーは、入力データをフ
ィルタリングにより除去するために実行すべきステップ
を識別するフィルタ機能を作成する。フィルタ機能の名
前はフィルタリストファイルの、そのフィルタ機能をメ
ニュー項目として表示することが望まれるメニューレベ
ルに追加される。フィルタ機能を修正するときには、フ
ィルタの機能性を変更するためにフィルタ機能コードを
適切に編集する。フィルタ機能を削除するときには、フ
ィルタ機能ファイルを削除し、フィルタ機能がメニュー
に表示されないようにフィルタ機能の名前をフィルタリ
ストから除去する。
【0030】データをセーブし、試験の合格状態又は不
合格状態を確定するためにその後に比較するのに先立っ
て複数のフィルタ機能を順次実行するように、フィルタ
機能を互いにパイプライン化することができる。このこ
とを図7及び図8に示す。図7は、浮動小数点数の数
と、テキスト中の余分な空白スペース及び語間のタブを
含むテキストファイルを示す。この例では、ユーザー
は、試験の合格又は不合格の状態を確定するのは数の値
であって、フォーマットではないと決定している。従っ
て、全ての浮動小数点数が同じフォーマットであり且つ
数が異なる場合にのみ差が検出されるように保証するた
めに、フィルタ機能IRSフロートをイネーブルしてあ
る。同様に、現れる可能性はあるが、試験の合格又は不
合格の状態に影響を及ぼさない余分な空白とタブを除去
するために、IRSスペースフィルタをイネーブルして
ある。これらのフィルタ機能を実行した後のデータ出力
を図8に示す。浮動小数点数は全て同じフォーマットで
あり、余分な空白とタブは排除されている。このように
して得られたデータを後に比較して、試験の合格又は不
合格の状態を確定する。
【0031】本発明のユーザー拡張可能試験システムに
含まれる別のモジュールは、試験の実行中に試験の合格
/不合格状態に決定的な意味をもつデータをセーブする
能力を試験システムに与えるデータセーブ・モジュール
である。セーブされたデータは、後に、マスターデータ
と呼ばれる期待データと比較される。セーブされている
データがマスターデータと同一でない場合には、比較は
不調に終わるので、試験の結果は不合格状態ということ
になる。
【0032】データセーブ・モジュールは、どのデータ
をセーブすべきか及びどのフォーマットでデータをセー
ブすべきかを確定する少なくとも1つのデータセーブ機
能から構成される。データセーブ・モジュールは、言語
インタプリタ又は実行可能コードを実行する手段など
の、データセーブ機能を実行するためのデータセーブ実
行手段をさらに含む。たとえば、捕獲中又は再生中に試
験システムは試験システムを終了せずにデータセーブ・
モジュールを実行するためにシステム呼び出しを実行す
る。1例を挙げると、UNIXの場合、これはシステム
呼び出し「System」を使用して実行される Sun OSTM Re
ference Manual(1988年5月)を参照。データセー
ブ修正手段は、データをセーブする機能を特定のアプリ
ケーションに適合させるためにユーザーが機能の追加又
は削除、あるいは既存の機能の変更を実行できるように
データセーブ機能を修正する。データセーブ・モジュー
ルに提供される情報はセーブすべきデータの型と、デー
タが位置する場所(データのアイデンティティ)と、セ
ーブされたデータを共用すべき場所であるのが好まし
い。たとえば、テキストデータをセーブする場合には、
データセーブ・モジュールには、セーブすべきデータを
含んでいるテキストファイルの名前と、テキストファイ
ルをセーブして、導入すべきファイルの名前とが供給さ
れると考えられる。セーブすべきデータがビットマップ
画像である場合には、データセーブ・モジュールには、
セーブすべき画像のスクリーン座標と、ビットマップ画
像データをセーブして、導入すべきファイルの名前とが
供給される。この情報は、特定のデータセーブ機能を選
択すると必要な情報が自動的に提供されるように、デー
タセーブ機能に従ってあらかじめ確定されているのが好
ましい。
【0033】図9は、指定されたファイルを一度に1バ
イトずつマスター・データセーブ・ファイルにコピーす
ることによりテキストをセーブする単純なデータセーブ
機能を示す。当業者には自明であろうが、データセーブ
機能の種類はこの例に限定されない。たとえば、データ
の所定の一部分をセーブするため又はデータを特殊なフ
ォーマットでセーブするために、詳細且つ複雑なデータ
セーブ機能を開発しても良い。
【0034】捕獲中の特定の時間に、ユーザーはデータ
セーブ機能を実行すべきであることを試験システムに指
示する。テキスト,ビットマップ,あるいは、2進フォ
ーマットで記憶されているデータベース構造やスプレッ
ドシートのような特殊フォーマットのデータなどの型の
データをセーブするように、データセーブ機能を適合さ
せることができる。データセーブ機能を示す事象はデー
タを比較すべきジャーナル・ファイルの場所に挿入され
る。それらの事象は、データセーブ機能を識別する特別
に作成された事象であっても良い。しかしながら、デー
タセーブ機能は表示されるメニュー項目を介して利用可
能であると共に、データセーブ機能をイネーブルする事
象は、データセーブに関わるメニュー項目へのカーソル
の移動とデータセーブに関わるメニュー項目の選択とを
表す一連の事象であるのが好ましい。試験システムのユ
ーザーは、捕獲シーケンス中に提示されるメニューを介
してデータセーブ機能をアクセスする。ユーザーは、実
行すべきデータセーブの特定の種類に関わるメニュー及
びメニュー項目を選択する。このことは図10に示され
ている。わずかに黒くした「捕獲(capture)」メニュ
ーボタン320により示す通り、捕獲モードが選択さ
れ、既に開始されている。図10によれば、データセー
ブ機能「スプレッドシート(Spread sheet)」325も
選択されている。オプションとして、ユーザーはファイ
ル名又はセーブしたデータを記憶すべき場所を指定す
る。
【0035】捕獲中、ジャーナリングメカニズムは、事
象として、データセーブ機能「スプレッドシート」に関
わるメニュー項目を選択するために実現されるカーソル
の移動とマウス機能を記録する。そこで、ジャーナル・
ファイルの再生時には、ジャーナリング・モジュールは
実行すべきウィンドウシステムへそれと同じ動きと機能
を出力することにより、データセーブ機能に関わるメニ
ュー項目を再び選択し、そのデータセーブ機能を実行さ
せる。さらに、前述のように、後の比較に備えてデータ
をセーブする前にイネーブルされたフィルタ機能にセー
ブすべきデータを入力する。
【0036】再生中にデータセーブ機能を実行するとき
には、データをセーブした後、実際のデータ、すなわ
ち、アプリケーションの現在の実行時にセーブされたば
かりのデータと、期待データであるマスターデータとを
比較するために、比較モジュールが自動的にイネーブル
される。マスターデータが実際のデータと同一でない場
合には、その差を確定する。比較は不調に終わるので、
試験は不合格状態という結果になり、差が確定された実
際のデータのコピーを含む故障ファイルが生成される。
以下で説明するが、故障ファイルは試験の解析のために
比較を検閲する目的で使用される。比較モジュールは少
なくとも1つの比較機能と、比較機能修正手段と、比較
機能実行手段とを含む。比較機能はユーザーにより拡張
及び規定が可能であるので、試験に融通性が与えられ
る。比較機能は2つのテキストファイルを比較する機
能、2つのビットマップ画像を比較する機能、あるいは
データベース構造又はスプレッドシートのようにアプリ
ケーションに特有な型のデータを比較する機能であって
も良い。比較機能の1例を図11に示す。図11は、2
つのテキストファイルを比較する単純な比較機能を示
す。この機能を使用して、モジュールはマスターファイ
ルと、データファイルとを読み取り、それらのファイル
を一度に1バイトずつ比較する。差が確定されれば、比
較は終了し、故障状態が通知される。差が確定されない
場合には、マスターデータファイルからセーブデータが
除去され、合格状態が通知される。尚、この比較機能は
単なる1例であり、この比較機能をさらに発展させて、
より複雑で入り組んだ詳細な比較モジュールにできるこ
とは、ここに示す説明を読めば当業者には自明である。
たとえば、比較機能は不合格データに関していくつかの
アクションを実行しても良く、また、モジュールは比較
を終了せず、マスター・テキストデータと実際のテキス
トデータとを比較し続けても良い。比較機能を高レベル
プログラミング言語で作成し、続いて、後の比較機能実
行手段による実行に備えて実行可能コードにコンパイル
するのが好ましい。比較機能修正モジュールはテキスト
エディタであるのが好ましいが、比較機能を編集するよ
うに特別に開発された修正手段であっても良い。
【0037】比較機能はセーブされた特定の型のデー
タ、たとえば、スプレッドシートとしてのテキストを比
較するように作成されるのが好ましい。しかしながら、
多種多様なデータセーブ機能に従ってセーブされたデー
タを比較するために比較機能を使用しても良い。たとえ
ば、2進フォーマットでセーブされるデータベースデー
タとして2進フォーマットのスプレッドシートデータを
セーブするデータセーブ機能に従ってセーブされたデー
タを比較するために、2進ビット比較機能を使用しても
良い。書籍から取り出したテキストなどのテキストファ
イル、又はデータセーブ機能によりファイルにセーブさ
れるのに先立ってフィルタによってテキストフォーマッ
トに変換されるデータを比較するために、同じテキスト
比較機能を使用しても良い。実行すべき比較機能を比較
機能のメニューから選択しても良いが、比較機能をデー
タセーブ機能とリンクして、データセーブ機能を実行す
るときに、リンクするデータセーブ機能の実行後に比較
機能を自動的に実行するのが好ましい。これを実現する
方法の1つは、データセーブ機能と、対応する比較機能
のリストを作成し、試験システムが実行すべき比較機能
を確定するためにそのリストを参照するというものであ
る。対を成すデータセーブ機能と比較機能をそれぞれ独
自の名前により識別するのが好ましい。その場合、ユー
ザーはデータセーブ機能と比較機能を名前に従って識別
し、機能を組み合わせ、対にすることができる。それぞ
れの組み合わせは独自の名前により識別され、所望の試
験機能性が得られるのである。
【0038】図12及び図13は、どのようにして比較
を実行するかを示す。図12は、マスターデータとして
識別されるビットマップ画像を示し、図13は、ジャー
ナルファイルの再生中にセーブされた実際のデータを示
す。2つのビットマップ画像を比較する比較機能を実行
する間、識別した差を通知し(図14を参照)、後の検
閲及び解析に備えて図13のデータを故障ファイルに書
き込む。
【0039】試験を実行し、ジャーナルファイルを再生
したならば、試験の結果を検閲しても良い。ユーザー拡
張可能検閲モジュールは、ユーザーが不合格に終わった
比較のマスターデータと実際のデータとの差を検閲する
ときに使用できるツールを構成する。検閲モジュール
は、ユーザーがどのようにして差を検閲し且つ解析する
ことができるかを指定する少なくとも1つの検閲機能
と、検閲機能実行手段と、検閲機能修正手段とを含む。
【0040】この場合にも、ユーザーは検閲機能を追
加、削除又は修正することができる。検閲機能は、高レ
ベルプログラミング言語でプログラムを生成するための
テキスト編集ツールを使用して作成されるのが好まし
く、このプログラムは、後の検閲機能実行手段による実
行に備えて、実行可能コードにコンパイルされる。単純
な検閲モジュールを図15に示す。この検閲モジュール
はUNIXモジュール「diff」を使用して2つのファイ
ルの差のリストを作成し、diff機能の結果を表示するた
めにテキストエディタをランさせるシェルウィンドウ
(すなわち、表示装置における新たなウィンドウ)をス
タートさせる。テキストエディタが終了すると、検閲モ
ジュールはマスターデータを実際のデータによって更新
すべきか否かを指示することをユーザーに促す。ユーザ
ーが肯定的な応答をしたならば、実際のデータはマスタ
ーデータに重ねてコピーされる。検閲機能は、セーブさ
れ且つ比較されたデータの型に特定して適合される。た
とえば、データがテキストである場合、検閲モジュール
は、実行時に、マスターデータから取り出したテキスト
の行と、実際のデータから取ったテキストの差が検出さ
れた対応する行とを表示すると考えられる。あるいは、
検閲モジュールは、テキストの差をハイライトした状態
で実際のデータを表示しても良い。同様に、データがビ
ットマップ画像である場合には、検閲機能は通知された
差を異なる色により表すか又は画素を点滅させて表しな
がら実際のデータの表示を生成しても良い。当業者には
明白であろうが、検閲モジュールは試験に要求される条
件に従って単純であっても良く、複雑且つ詳細であって
も良い。検閲機能に従って表示されるデータの1例を図
16に示す。図16は、浮動小数点数の差を指示するテ
キスト検閲モジュールにより生成される表示を示す。マ
スターデータは左側、実際のデータは右側にそれぞれ表
示される。最も左側の欄はストリング「CHG」を使用
して、差が確定された場所を指示する。
【0041】検閲モジュールは、検閲モジュールメニュ
ー(図18)を持ち出すための主メニュー(図17)の
一部であるメニュー項目を介して選択されるのが好まし
い。ユーザーは、検閲モジュールを使用して、試験結果
を検閲し且つ解析し、差の原因となった誤りを修正する
ために試験中のアプリケーション又はシステムについて
実行すべき変更を確定することができる。本発明のユー
ザー拡張可能試験システムに与えられている付加的な特
徴は、実際のデータにおいて差を表しているデータをユ
ーザーが排除、すなわち、マスクアウトできることであ
る。差の検閲後、ユーザーは、差のいくつかは試験の合
格状態又は不合格状態に関わっていないと決定し、試験
が再生されるときにそれらの差が試験不合格の状態を生
じさせないように、それらの差をマスクアウトするもの
と考えられる。、また、ユーザーは一部の差を排除する
一方で他の差をデバッグするために、アプリケーション
をデバッグしながら差をマスクアウトすることを望むか
もしれない。図19には、ユーザーがマスクを規定でき
ることが望まれる例を示す。図19は、3つのウィンド
ウを示す表示を表している。第1のウィンドウ400は
検閲モジュールメニューである。ユーザーは不調に終わ
った第1の比較を選択し、(「>」記号410により指
示してある)、その比較について検閲モジュールを実行
するためにスクリーンメニュー機能420を検査してい
る。メニューはマスターデータ430を識別し、差を表
示するために、マスターデータ又は実際のデータを表示
するオプションと、様々なオプション440,450,
460とをユーザーに与える。
【0042】この例では、マスターデータを表示してい
る。ユーザーは、画像中のフィールド「Dir」 470が
差を確定させる原因になったと判定している。フィール
ド「Dir」 はディレクトリを試験が実行される作業ディ
レクトリと識別する。ディレクトリは、異なるユーザー
がその局所ディレクトリから試験をランさせるなどの、
試験の合格状態又は不合格状態とは無関係の理由により
変化することがある。作業ディレクトリの変更による不
合格状態を回避するために、「Dir」 フィールドをマス
クする。マスクを作成するときには、マスクの輪郭の座
標を検閲モジュールへ通信する。たとえば、ユーザーは
マウスやポインタを使用して、マスクすべき領域の左上
角と右下角を指示することにより、領域を選択すること
ができる。検閲モジュールはマスク領域480をハイラ
イトすることにより応答するのが好ましい。マスク情報
はマスターデータと同じファイルに記憶される。記憶さ
れるマスクデータの1例を図20に示す。試験を再生
し、比較を実行するときには、比較モジュールはマスタ
ーデータファイルを検閲し、まず、現在の比較について
マスクが存在するか否かを判定する。次に、比較モジュ
ールはデータの中で、マスクにより規定される部分を比
較から排除する。
【0043】差の検閲のように単一の機能を提供するよ
うに検閲モジュールを作成しても良いが、図19の検閲
モジュールメニューに示すように、様々な機能を提供す
るように検閲モジュールを作成しても良い。検閲モジュ
ールに含まれているのが好ましいもう1つの機能は「期
待更新」機能である。このメニュー項目を選択すると、
マスターデータは実際データと置き換えられる。これ
は、データ又はシステムの変化のためにマスターデータ
が現在データではなくなっており、実際のデータが比較
すべき正確なデータであるときに望まれるであろう。
【0044】本発明の試験システムに機能性を追加する
別の機能は「僅差(Small difference)」機能である。
これは図21の検閲モジュールのメニュー項目490と
して表されている。時には、試験に、試験の合格/不合
格状態に重大な意味をもたない又はユーザーが後に試験
を再生するまで引き延ばすことを願うような小さな差が
発生する場合がある。僅差機能を使用すると、ユーザー
は差についての許容差を設定することができる。差が許
容差の中にあれば、僅差が指示される。許容差は再生中
にパラメータとして試験システムに供給できる。あるい
は、不調に終わった比較の検閲中に許容差を適用するこ
とができる。許容差は参照できるように別個のファイル
に記憶されても良い。図21〜図26はビットマップに
関してこの機能を示すが、他の型のデータについて許容
差を作成することもできる。図21は、検閲モジュール
のメニューと、試験結果ログとを示す。試験は、僅差機
能をイネーブルして実行された。比較モジュール「BI
T MAP」を使用する第1回の比較「bm1」には合
格であった。3画素分の幅を有するボックスを比較する
第2回の比較「bm2」は不合格であった。差はわずか
であり、ユーザーが設定した許容差の範囲内にあること
を示すため、僅差が指示された(図22)。図22は、
画素シフト許容差の設定を示す。図22によれば、「僅
差」メニュー項目と、サブメニュー項目「距離」とを選
択している。これは、画素を僅差として指示される範囲
内でシフトすることができる画素位置の数を表す数のメ
ニューを表示する。すなわち、画素シフトがわずか1〜
3画素である場合、僅差が指示されるのである。図23
は、マスターデータを表示する検閲パネルを示す。図2
4を見ていると、ボックスの最も上の行にある実際のデ
ータは数画素だけ上へシフトしていることがわかる。図
25は、マスターデータと実際のデータとについて指示
された差のみを示す。
【0045】試験システムは数値許容差などの他の許容
差を試験するアプリケーションに従って含むことができ
る。たとえば、図26は、色の許容差を表示する「色許
容差」サブメニュー項目の選択を示す。
【0046】各モジュールの融通性と、システム全体と
しての融通性によって、特定の試験への適合が可能であ
るユーザー拡張可能試験システムが得られる。好ましい
実施例では、参照を容易にするために、各モジュールの
それぞれの機能を独自の名前により識別する。データセ
ーブ機能と、それに対応する比較機能及び検閲機能とを
含み、セーブ/比較/検閲シーケンスと呼ばれる機能の
組み合わせをそれぞれリストアップしたファイル(ここ
では、Irs アプリケーションファイルと呼ぶ)が作成さ
れ、このファイルは各セーブ/比較/検閲シーケンスを
独自の名前により識別する。通常、データセーブ機能は
常に同じ比較機能と検閲機能を利用する。ただし、シス
テムはこのような構成には限定されず、機能ファイルに
おけるそれぞれの組み合わせを一意性をもって識別する
ことにより、データセーブモジュール、比較モジュール
及び検閲モジュールの複数の組み合わせを確定できる。
ファイルの内容の1例を図12に示す。
【0047】図27は、Irs アプリケーションファイル
の1例の内容を示す。このファイルは、「SPREAD
SHEET」と名付けられた1つのセーブ/比較/検閲
シーケンスを含めた4つのセーブ/比較/検閲シーケン
スを含む。試験システムはこの名前を参照し、試験シス
テムのメニューオプションの1つとして表示する。試験
システムはシステムの始動時にIrs アプリケーションフ
ァイルを参照し、それを使用して、試験システムのメニ
ューオプションを生成する。たとえば、Sun View ウィ
ンドウシステムのツールキットを使用して、主メニュー
のボタンと関連するメニュー項目を作成する(Sun View
ツールキットの詳細については、SunViewTM 1 Progra
mmer′s Guide 第12章「Menus」(1988年5月
刊)を参照)。SPREADSHEETセーブ/比較/
検閲シーケンスはデータセーブ機能「save_spread」
と、比較機能「IRS comp TX」 と、検閲機能「IRS text
tdiff」とを含む。データアプリケーションは、そのデ
ータアプリケーションを使用してセーブされ且つ比較さ
れるデータのファイルを識別するために使用するファイ
ル名接尾部、すなわち拡張部分をさらに含む。たとえ
ば、このデータアプリケーションに従って生成されるマ
スターデータファイルと実際データファイルは、全て、
ファイル拡張部分「.wk」 により識別される。
【0048】データセーブ機能「save_spread」 は、こ
のアプリケーションでは2進フォーマットで表されるス
プレッドシートを読み取り、2進フォーマットをASC
IIフォーマットに変換し、マスターデータとの比較に
備えてASCIIデータをデータファイルに記憶する。
比較機能IRS comp TX は汎用テキスト比較機能であり、
検閲モジュールIRS textdiff は検閲しやすい図式フォ
ーマットでテキスト差を表示する。
【0049】あるいは、本発明の試験システムの融通性
によって、異なるデータセーブ機能及び/又は異なる比
較機能及び/又は異なる検閲機能を利用して良いスプレ
ッドシート比較のための第2のセーブ/比較/検閲シー
ケンスを作成することができる。たとえば、2進フォー
マットのスプレッドシートをセーブするデータセーブ機
能 「save_binary」と、2つの2進ファイルを比較する
比較機能「comp_binary」 と、2進ファイルの差を図式
フォーマットで表示する検閲機能 「binary_diff」とを
使用するデータアプリケーション「SPREADSHE
ET2」を作成することが可能である。従って、Irs ア
プリケーションファイル中の特定のデータの型について
データセーブ、比較及び検閲の各機能を作成し、機能の
組み合わせを識別することにより、ユーザーはどのよう
な型のデータに対してもセーブ、比較及び検閲を融通性
をもって実行できるのである。
【0050】試験をセットアップし、その試験を実行す
るプロセスを図28及び図29のフローチャートにより
示す。試験をセットアップするときには、試験に関連す
るファイルを導入するデータディレクトリを作成する
(ブロック600)。図30は、ジャーナルファイル及
びマスターデータの捕獲と作成に先立ったデータディレ
クトリのファイルのリストアップを示す。データディレ
クトリ「sample data」は、試験システムが使用するア
プリケーション特有の情報を含む。データディレクトリ
は使用できるセーブ/比較/検閲シーケンス(Irs Appl
ications)と、利用可能であるフィルタのファイル(Ir
s Filters) と、試験すべき実行アプリケーションに関
連するデータとを含んでいても良い。ファイル「traffi
c.icon」はアプリケーション特有のデータである。Traf
fic.iconは、(試験されるアプリケーションはアイコン
編集プログラムであるので)本発明の試験システムを介
して試験されるアプリケーションにより操作されるアイ
コンデータを含む。試験システムの動作中に使用すべき
アプリケーションプログラムをファイルにさらに導入し
ても良い。たとえば、図30に示すように、データディ
レクトリsample dataに配置されているファイル「floa
ting _ prog ※」は、浮動小数点数を含むテキストの出
力を作成するアプリケーションプログラムである。
【0051】図38に戻ると、ブロック610では、試
験システムを始動する。その時点で、試験システムの利
用可能オプションのメニューと、システムのワークスペ
ースを含む第2のウィンドウとをユーザーに対して表示
する(図36を参照)。ワークスペースは、試験すべき
アプリケーションを開始するため又は試験と関連して必
要とされる動作指令を実行するために使用される。この
例で利用できるメニューオプションは捕獲,停止,再
生,検閲及び編集である。ブロック620では、ジャー
ナルファイルを作成するために捕獲メニュー項目を選択
し、このメニューは、ブロック630で、試験中にユー
ザーがとるアクションを表す事象のジャーナルファイル
を開始することをシステムに指示する。捕獲モードがオ
ンしており、システムが全てのユーザーアクションを記
録しているならば、ブロック650に進んでアプリケー
ションを開始し、ブロック660でアプリケーションに
関して様々なタスクを実行すると共に、ブロック670
では様々な試験の実行中にデータの比較を実行すること
ができる。データセーブモジュールの実行と関連してフ
ィルタリングを実行するために、ブロック640でフィ
ルタをイネーブルするのが好ましい。
【0052】ブロック650では、入力焦点をワークス
ペースへ変更し、指令をキーインしてアプリケーション
を開始することにより、試験すべきアプリケーションを
開始する。ブロック660では、アプリケーションの試
験に関してユーザーアクションを実行する。それらのア
クションは事象として記録され、ジャーナルファイルに
記憶されている。アクションとしては、単純なカーソル
の動き、アプリケーション内にあるメニュー項目の選
択、ある1つのタスクの実行又は情報のキーインが考え
られる。ユーザーがフィルタを選択し、アプリケーショ
ンを開始するためにとったアクションもジャーナルファ
イルに、実行した順序で記録されている。ユーザーアク
ションの実行中の任意の時点で、ユーザーはブロック6
70において入力焦点を試験システムウィンドウへ変更
し、実行すべきデータセーブと比較の機能をオプション
のメニューから選択することができる(図10を参
照)。捕獲モードがイネーブルされると、ジャーナリン
グモジュールは、試験システムウィンドウへカーソルを
動かすことと、そのウィンドウへの入力焦点の変更とを
表し、記録すべきウィンドウの中の特定の場所に位置す
るオブジェクト―この例では比較メニュー項目であると
考えられる―の選択を示す事象を捕獲する。すなわち、
再生中に、それと同じ事象が実行されるので、選択した
比較を含めて同じアクションのシーケンスが起こる。
【0053】実行すべき比較の選択後に、データをセー
ブし、比較に備えてマスターデータとしてそのデータを
識別するように、捕獲中にマスターデータを生成するの
が好ましい。ブロック680では、試験中のアプリケー
ションを終了させ、(ブロック690)、試験システム
メニューから停止メニュー項目を選択する(ブロック7
00)ことにより、試験を完了しても良い。次のブロッ
ク710では、停止メニュー項目はジャーナルファイル
をクローズさせる。
【0054】図31は、試験の捕獲後の試験ディレクト
リ「Sample.irs」の内容を示す。実行される比較は、Ir
s アプリケーションファイルで提示される比較拡張部分
により識別される。たとえば、ビットマップ比較の場
合、ファイルは拡張部分「bm」により識別される。そ
れぞれの比較は、特定のセーブ/比較/検閲シーケンス
についてのサンプルの数、すなわち、実行される比較の
回数を示す数を含む接頭部によってさらに識別される。
たとえば、図31は2つのビットマップ比較bm1.b
m及びbm2.bmを示しているが、bm1.bmは実
行された第1回のビットマップ比較であり、bm2.b
mは実行された第2回のビットマップ比較であったこと
がわかる。同様に、tx1.txは、拡張部分txによ
り識別される比較が1回実行されたことを示している。
Session.log ファイルは、捕獲中に実行された事象のリ
ストを含むジャーナルファイルである。再生中、このフ
ァイルはジャーナリングモジュールにより読み取られ、
ウィンドウシステムへ出力されて、記録されたシーケン
スで実行されることにより、捕獲中に実行されたのと同
一の試験シーケンスを再生する。ファイルtx1.fltr
s は、データセーブ機能について実現されるフィルタの
リストである。ファイルtime.log は、ユーザーに試験
の実行の様子をさらに明確に知らせる事象の時間ログで
ある。図32を参照すると、時間ログは、テキストデー
タセーブ及び比較tx1が実行された事象に到達するた
めにシステムが149秒を要したことを示す。また、ロ
グによれば、ストリング「COMPARE2」はtx1
の比較が実行に2秒を要したことを示す。同様に、シス
テムは次に実行された比較に至るまでに39秒を要し、
データセーブ・比較bm1は実行に5秒を要している。
【0055】ファイルpass/fail.logは、試験の状態、
すなわち、各データ比較の合格/不合格状態を含むファ
イルである。捕獲中、セーブされるデータはマスターデ
ータであり、比較すべきデータは存在しない。従って、
全ての比較は合格状態にディフォルトする。図33を参
照すると、pass/fail.logは、試験があらゆるチェック
ポイントとデータ比較をパスしたことを示す。チェック
ポイントは、試験における特定の場所を指示するための
試験の里程標であり、試験に関する状態情報を収集する
ためにチェックポイントを使用することができる。試験
の始まりと終わりをチェックポイントとして識別するの
が好ましい。さらに、チェックポイントの位置を識別す
るために、メニュー内の所定のボタンを使用して試験の
中にチェックポイントを挿入することができる。バージ
ョンファイルは、マスターファイルを生成するために使
用した試験システムのバージョンを識別するために使用
される。バージョンファイルは、マスターデータを生成
するために使用した試験システムのバージョンが試験を
再生するために使用するバージョンとは異なるために起
こりうる不測の問題を回避するために利用される。バー
ジョンファイルの1例を図34に示す。
【0056】捕獲に示される利用可能オプションを図2
9のフローチャートにより示す。イネーブルされた試験
システムは、ブロック720で、オプションの主メニュ
ー(図36を参照)と、システム指令を入力しうるワー
クスペースとを提示する。次のブロック730でユーザ
ーが再生メニュー項目を選択すると、試験システムは、
ブロック740で、セッションログを読み取り、ウィン
ドウシステムへ事象を出力して、事象をセッションログ
にリストアップされている順序で実行させる。それによ
り、先に実行された試験がそのまま複製される。データ
セーブと比較を実行させる事象を試験システムを発行す
ると、試験システムは指示されたデータをセーブし、デ
ータディレクトリに入っているマスターデータとそのデ
ータを比較し、データの比較が不調に終わればデータの
故障ファイルを生成する。データの比較に合格した場合
には、データがマスターデータに反映されている限り、
そのデータを保持しない。その後、実行シーケンスは継
続して、試験システムのウィンドウで停止機能を選択す
る最終事象が起こるまで、ユーザーアクションを表す事
象を実行し、指示された箇所で比較を実行する。停止機
能は再生シーケンスを停止させる。
【0057】作業ディレクトリ、すなわち、試験システ
ムを開始し、試験を実行する元になるディレクトリで
は、図35に示すように次のファイルが作成される。デ
ィレクトリサンプル結果はディレクトリSample.irsに記
憶されている合格/不合格ログのコピーと、試験の現在
再生に関わる合格/不合格ログとを含む。2つの合格/
不合格ログのどこに差があるかを判定するために合格/
不合格ログを比較するように、オプションに双方の合格
/不合格ファイルを提供する。この機能は、数多くの比
較を含む長い試験には有用である。ディレクトリは、不
調に終わった比較ごとのマスターデータのコピーと実際
のデータとをさらに含む。たとえば、図35を参照する
と、2つの比較に関して故障が起こっている。従って、
不調に終わった比較について故障ファイルbm1.b
m.FAIL及びtx1.tx.FAILが生成されて
いる。検閲モジュールが後に使用するのに備えて、各マ
スターデータファイルのコピーも含まれている。結果デ
ィレクトリは、アプリケーションが使用したデータのコ
ピーをさらに含む。このデータはアプリケーションによ
ってアクセスされたもので、オリジナルデータと同一で
なくとも良い。従って、異なるアプリケーションデータ
を使用したことから起こりうる誤りを排除するために、
試験を再び実行するときにはそのデータを再利用しな
い。そのような誤りの発生を防止するため、試験の開始
に当たっては、データディレクトリから取り出したデー
タファイルのコピーを結果ディレクトリにコピーし、ア
プリケーションは結果ディレクトリのデータを参照す
る。これにより、後の試験実行に備えて、データディレ
クトリのデータの元来の内容を保持しておくのである。
【0058】図29に戻ると、試験の再生後、ブロック
750で、検閲オプションを選択しても良い。ユーザー
には、合格/不合格ログの比較,僅差,ビットマスクの
選択,区切り点の設定と除去,アプリケーションの再実
行又は差の検閲というオプションが与えられる。(ブロ
ック760,770,775,780,790 及び800)。 区切り点の設定
と除去の機能は、再生中のジャーナルファイル実行の間
に区切り点を設定するために使用される。区切り点は、
検閲モジュールが表示する合格/不合格ログで指示され
る比較に先立って設定される。このことを図38に示
す。図38は、ビットマップ比較bm2の前に区切り点
850が設定された検閲モジュールメニューを示す。す
なわち、再実行モジュールを使用して試験を再生すると
きには、システムはbm2に関してデータセーブと比較
を実行する直前に休止する。図39は、再生中、区切り
点が設定されている箇所で再生の実行が停止したことを
示している。試験の実行を継続するためには、ユーザー
はカーソルをボタン860へ移動し、継続へクリックさ
せることが必要である。通常、区切り点は試験をデバッ
グするために使用される。故障が起こり、ユーザーが故
障の原因を確定できない場合には、区切り点を設定して
も良く、システムがその区切り点で休止し、ユーザーが
試験の状態を評価することができるように試験を再実行
させる。
【0059】ブロック790で、再実行モジュールはユ
ーザーに試験を検閲モジュールから再実行させ、ブロッ
ク800では、検閲モジュールは検閲機能実行手段をト
リガして、検閲モジュールメニューの中に表示される合
格/不合格ログから選択した比較機能に関わるマスター
データと、実際のデータとの差を表示する。
【0060】検閲モジュールにより提供された情報を使
用して、ユーザーはアプリケーションの試験へ進み、試
験に関係ないと思われるいくつかの差を排除するために
許容差とフィルタを挿入し、その試験を通してユーザー
の注意を引いた問題点を修正するためにアプリケーショ
ンを修正しても良い。その後、修正したアプリケーショ
ンについて試験を実行(再実行)しても良い。試験が完
了すれば、ブロック810で、システムを停止させ、試
験システムのウィンドウをクローズする適切なメニュー
項目を選択することにより、単純に試験システムを出
る。
【0061】本発明の試験システムのユーザーにはさら
に大きな融通性が与えられる。ユーザーは、試験の捕獲
部分の間に作成したユーザーアクションのジャーナルフ
ァイルを編集する能力も有する。ユーザーは編集機能を
通してジャーナルファイルを修正することができ、その
ときには、会話形編集機能(編集/再生ともいう)を経
てジャーナルファイルについて手動操作で変更を実行す
る。ジャーナルファイルを手動操作で編集するときに
は、ユーザーは単に試験システムメニューから編集機能
を選択する。図37は、手動操作編集機能「VI Session
Script」 の選択を示す。ジャーナルファイルは低レベ
ル2進フォーマットで記憶されている(ジャーナルファ
イルのASCII翻訳形態を図40〜44に示す)。す
なわち、ジャーナルファイルを手動操作で編集するとき
には、試験システムは低レベルコードを、図45〜49
に示すように、ユーザーが理解できるテキストフォーマ
ットの高レベルコードに翻訳する。次に、ユーザーはス
クリプトをアクセスし、セッションスクリプト中のコー
ドの行を追加/削除変更しても良い。スクリプトフォー
マットは次の形態であるのが好ましい:SECS MSECS X-P
IXEL Y-PIXEL FORWARD/ACTION FORWARD/OPERATOR.
【0062】ユーザーがスクリプトの手動操作編集を完
了すると、試験システムはスクリプトを低レベルコード
に翻訳し、更新ジャーナルファイルを生成する。同様
に、試験全体をこの機能を使用して手動操作で作成して
も良い。しかしながら、試験システムはジャーナルファ
イルを作成するためにマクロ言語を含むのが好ましい。
試験を形成するコードの作成を簡略化するために、マク
ロルーチンを提供するのが好ましい。
【0063】マクロルーチンは、メニュー項目の場所な
どのユーザーインタフェースのパラメータを規定する。
このことを図50に示す。これはCPPによって前処理
され、ウィンドウ境界と、画素の動きと、機能/ボタン
/テキスト/メニュー選択とを名前により規定する。た
とえば、クウィットボタンは名前「QUIT_BUTT
ON」により規定され、(x,y)座標位置(990,
426)に位置している。アプリケーションの実行中に
実現されるいくつかの動作もマクロルーチンとして含ま
れる。たとえば、マクロルーチンはアプリケーションを
開始するための動作を名前「START_ICONED
IT」により規定し、実行すべきアクションを規定する
(cpp言語の詳細については、CPP(1),Sun OS
Reference Manual 第1章:Commands (カリフォルニ
ア州マウンテンビューのSun Microsystems,Inc. より1
988年5月刊行)を参照)。この情報を利用して、ユ
ーザーは手動操作で試験を作成することができる。短時
間試験の1例を図51〜54に示す。図50に示した定
義を参照し、図51〜54のプログラムに含めてある。
たとえば、試験すべきアプリケーションである「Iconed
it」は、図50に示すプログラムに規定されたマクロ
「START_ICONEDIT」により開始される。
【0064】ユーザーインタフェースのパラメータを別
個に規定すれば、マクロ定義を修正することにより、異
なるインタフェース間で同じ試験を実行できる。試験シ
ステムはコードを解釈し、それをジャーナルファイルの
フォーマットに変換する。
【0065】ユーザーが会話形編集モード(図37の
「Interactive Edit」を参照)を選択した場合、ジャー
ナルファイルは別の試験を実行すべきであるかのように
再生される。しかしながら、ユーザーは、任意の時点
で、所定の割り込みキー、たとえば、「alt」 キーを使
用して再生シーケンスを停止しても良い。会話形編集モ
ードの間にユーザーがジャーナルファイルに割り込む
と、ユーザーにジャーナルファイルの情報の追加又は削
除を希望するか否かを尋ねるポップアップメニューが現
れる。たとえば、先に試験されていない実行中のある時
点でスクリーンの一部を比較するために、セッションロ
グにビットマップ比較を追加することが望まれる場合が
あるが、これは、追加機能を選択し、ビットマップセー
ブを実行するためのアクションを手動操作で実行するこ
とにより実行される。あるいは、システムを試験するた
めに必要ではなくなった比較などの事象を除去すること
を望む場合も考えられる。これは、削除機能を選択すこ
とにより実行される。削除機能を選択すると、試験シス
テムは再生を開始し、別の割り込みキーが操作されるま
で全ての事象を削除する。
【0066】ユーザーはマークと呼ばれるものをさらに
挿入しても良い。マークをジャーナルファイルに導入
し、続いて会話形モードを選択すると、マークは再生メ
カニズムをジャーナルファイルのマークの場所で休止さ
せる。これは事象の置き換えを実行するときに有用であ
る。会話形編集の間、除去すべき事象はマークされ、削
除される。ジャーナルファイルを再生するとき、試験シ
ステムはマークが位置している削除部分の始まりでジャ
ーナルファイルの実行を停止するので、挿入を行えるの
である。
【0067】会話形編集モードの間、ジャーナルファイ
ル中の事象を読み取り、実行し、第2のファイルに書き
込むと、その第2のファイルはジャーナルファイルの更
新バージョンとなる。すなわち、事象データを第2のフ
ァイルに書き込まないことによって削除機能を実現する
のである。同様に、元のジャーナルファイルの再生を休
止している間に第2のファイルに追加事象を書き込むこ
とにより、挿入機能をイネーブルする。
【0068】本発明を好ましい実施例に関連して説明し
たが、以上の説明に照らして数多くの代替構成,変形,
変更及び用途が当業者に明らかになるであろうというこ
とは明らかである。
【図面の簡単な説明】
【図1】本発明の試験システムで採用するコンピユータ
システムを示す図。
【図2】ウィンドウシステム環境において実現される本
発明の試験システムを表すブロック線図。
【図3】,
【図4】本発明の試験システムの好ましい実施例で採用
するフィルタ機能を示す図。
【図5】本発明の好ましい実施例で採用するフィルタ機
能メニューを示す図。
【図6】フィルタ機能リストを示す図。
【図7】,
【図8】フィルタを介する入力前と,入力後のデータを
それぞれ示す図。
【図9】データセーブ機能を示す図。
【図10】メニューからのデータセーブ機能の選択を示
す図。
【図11】比較機能を示す図。
【図12】,
【図13】比較機能を使用して比較すべきマスターデー
タと、実際のデータとを示す図。
【図14】図12のデータと図13のデータとの差を示
す図。
【図15】検閲機能を示す図。
【図16】検閲機能に従って表示されるデータを示す
図。
【図17】本発明の好ましい実施例の主メニューを示す
図。
【図18】検閲モードメニューを示す図。
【図19】ユーザーにビットマスクを規定する能力を与
えるために採用するメニューを示す図。
【図20】マスターデータと共に記憶されるマスクデー
タを示す図。
【図21】〜
【図26】本発明の試験システムの最も好ましい実施例
の検閲モジュールにおける僅差の機能を示す図。
【図27】本発明の試験システムの好ましい実施例で利
用可能である各セーブ/比較/検閲シーケンスのリスト
を含むIRSアプリケーションの内容を示す図。
【図28】,
【図29】本発明のユーザー拡張可能試験システムを使
用して試験をセットアップし、試験を実行するプロセス
を示すフローチャート。
【図30】本発明の試験システムにより採用するデータ
ディレクトリの内容を示す図。
【図31】試験の捕獲後の試験ディレクトリの内容を示
す図。
【図32】本発明の試験システムが生成する時間ログの
内容を示す図。
【図33】本発明の試験システムが生成する合格/不合
格ログを示す図。
【図34】本発明の試験システムが生成するバージョン
ファイルの内容を示す図。
【図35】試験実行後の作業ディレクトリの内容を示す
図。
【図36】本発明の試験システムにおけるオプションの
主メニュー及びワークスペースを示す図。
【図37】手動操作編集機能の選択を示す図。
【図38】,
【図39】本発明の試験システムの好ましい実施例にお
ける区切り点の実行を示す図。
【図40】〜
【図44】ASCIIフォーマットのジャーナルファイ
ルを示す図。
【図45】〜
【図49】さらに高いレベルのフォーマットのジャーナ
ルファイルを示す図。
【図50】〜
【図54】本発明の試験システムにおいて試験を規定す
るために利用されるマクロ言語を示す図。
【符号の説明】
101 コンピユータ 102 入出力回路 103 中央処理装置 104 メモリ 105 入力装置 106 大容量記憶装置 107 表示モニター 108 カーソル制御装置 200,210 アプリケーション 220 試験システム 230 ウィンドウシステム 240 表示装置 250,260 入力装置 270 ジャーナリングメカニズム
フロントページの続き (72)発明者 スティーブン・イー・レモ アメリカ合衆国 01760 マサチューセッ ツ州・ナティック・ブレモア ロード・12

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 中央処理装置(CPU)と、メモリと、
    キーボード、マウスおよび表示装置から成る入出力装置
    とを具備し、情報の入力と出力を表示装置で規定される
    複数のウィンドウを介して実行するウィンドウベースコ
    ンピュータシステムにあって、マスターデータと、アプ
    リケーションプログラムの試験中に生成された実際のデ
    ータとを比較し、前記試験の結果として、マスターデー
    タと実際のデータとの差を得るアプリケーションプログ
    ラムの試験のためのユーザー拡張可能自動化試験システ
    ムにおいて、 ユーザーセッション中に実行され、再生時には、アプリ
    ケーションプログラムを試験する所定の方式によってア
    プリケーションプログラムを実行させるユーザーアクシ
    ョンを表す事象のリストから構成されるジャーナルファ
    イルを生成し且つ再生するジャーナリング手段と;それ
    ぞれが名前により識別され、実行時にはデータの一部を
    除去する複数のフィルタ機能と、 データの一部を除去するためのフィルタ機能の名前のリ
    ストから構成され、利用可能なフィルタ機能を確定する
    ために参照されるフィルタリストファイルと、 フィルタリストファイルに列挙されているフィルタ機能
    に従ってデータの一部を除去するフィルタ実行手段と、 フィルタ機能を追加、削除又は変更することができるよ
    うにフィルタリストファイルを修正するフィルタ修正手
    段とを含むフィルタ手段とを有し、 データの中で、試験結果に決定的な意味をもたない部分
    を排除するフィルタ手段と;それぞれが名前により識別
    され、実行時にはデータの所定の部分をセーブするデー
    タセーブ機能と、 データセーブ機能を選択するユーザーアクションを表す
    ジャーナルファイルに導入された複数の事象によりイネ
    ーブルされ、指定のデータセーブ機能に従ってデータの
    所定の部分をセーブし、データをセーブするのに先立っ
    て前記フィルタ実行手段がデータについてフィルタ機能
    を実行するデータセーブ実行手段と、 データセーブ機能を追加、削除又は変更することができ
    るようにデータセーブ機能を修正するデータセーブ修正
    手段とを含むデータセーブ手段とを有し、 アプリケーションプログラムの試験中に生成されるデー
    タをセーブするデータセーブ手段と;それぞれが名前に
    より識別され、実行時には、マスターデータの所定の部
    分を実際のデータの対応する所定の部分と比較し、マス
    ターデータの所定の部分と実際のデータの所定の部分と
    の差を確定し、比較によって差があると確定されたセー
    ブ済みの実際のデータを含む故障ファイルを生成させる
    比較機能と、 データセーブの実行が完了した後にイネーブルされ、マ
    スターデータの所定の部分と実際のデータの所定の部分
    とを比較関数に従って比較する比較実行手段と、 比較機能を追加、削除又は変更することができるように
    比較機能を修正する比較修正手段とを含む比較手段とを
    有し、マスターデータからのデータの所定の部分を実際
    のデータからのデータの対応する部分と比較する比較手
    段とを具備し、 試験システムは、フィルタ機能、データセーブ機能及び
    比較機能の修正により拡張可能であるようなユーザー拡
    張可能自動化試験システム。
  2. 【請求項2】 中央処理装置(CPU)と、メモリと、
    キーボード、マウス及び表示装置から成る入出力装置と
    を具備し、情報の入力と出力を表示装置で規定される複
    数のウィンドウを介して実行するウィンドウベースコン
    ピュータシステムにおいて、マスターデータと、アプリ
    ケーションプログラムの試験中に生成された実際のデー
    タとを比較し、前記試験の結果として、マスターデータ
    と実際のデータとの差を得るアプリケーションプログラ
    ムの試験のためのユーザー拡張可能自動化試験システム
    にあって、アプリケーションプログラムを試験する自動
    化プロセスにおいて、 ユーザーセッション中に実行されるユーザーアクション
    を表し、アプリケーションプログラムを実行するための
    事象から成る複数の事象を生成する過程と;それぞれが
    名前により識別されると共にフィルタリストファイルの
    中で識別され、データの一部を除去するフィルタ機能を
    実行することにより、データの中で、試験結果に決定的
    な意味をもたない部分を除去し、前記フィルタリストフ
    ァイルがデータの一部を除去するために利用可能である
    フィルタ機能の名前のリストから構成され且つフィルタ
    機能を追加、削除又は変更するために修正される過程
    と、 それぞれが名前により識別され、データの所定の部分を
    セーブするデータセーブ機能に従って、アプリケーショ
    ンプログラムの試験中に生成されるデータをセーブし、
    前記データセーブ機能が、データセーブ機能を選択する
    ユーザーアクションを表すジャーナルファイルに導入さ
    れた複数の事象によりそれぞれイネーブルされ、前記デ
    ータセーブ機能が、データセーブ機能を追加、削除又は
    変更するために修正される過程と、 それぞれが名前により識別される比較機能に従って、マ
    スターデータからのデータの所定の部分と実際のデータ
    からのデータの対応する部分とを比較して、マスターデ
    ータの所定の部分と実際のデータの所定の部分との差を
    確定し、前記比較機能が比較機能を追加、削除又は変更
    するために修正される過程と、 差が確定された場合、セーブ済みの実際のデータを含む
    故障ファイルを生成する過程とを有し、 マスターデータと実際のデータとの比較を実行するため
    の事象を生成する過程と;ユーザーセッション中に実行
    され、アプリケーションプログラムを実行するためのア
    クションと、マスターデータと実際のデータとの比較を
    実行するためのアクションとから成るユーザーアクショ
    ンを表す事象を記録することにより、ジャーナルファイ
    ルを生成する過程と;アプリケーションプログラムを実
    行し且つマスターデータと実際のデータとの比較を実行
    することにより、アプリケーションプログラムを試験す
    るために記録された事象を実行させるジャーナルファイ
    ルを再生する過程とから成る自動化プロセス。
JP16245791A 1990-06-07 1991-06-07 コンピュータ・アプリケーション・ソフトウェアの自動化試験システム Expired - Fee Related JP3407809B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/534,431 US5157779A (en) 1990-06-07 1990-06-07 User extensible testing system
US534,431 1990-06-07

Publications (2)

Publication Number Publication Date
JPH05346875A true JPH05346875A (ja) 1993-12-27
JP3407809B2 JP3407809B2 (ja) 2003-05-19

Family

ID=24129999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16245791A Expired - Fee Related JP3407809B2 (ja) 1990-06-07 1991-06-07 コンピュータ・アプリケーション・ソフトウェアの自動化試験システム

Country Status (3)

Country Link
US (1) US5157779A (ja)
JP (1) JP3407809B2 (ja)
DE (1) DE4118454C2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009134406A (ja) * 2007-11-29 2009-06-18 Nomura Research Institute Ltd コンピュータプログラムの実行結果を検証するためのテスト装置及び方法
JP2010016797A (ja) * 2008-06-06 2010-01-21 Ricoh Co Ltd 画像処理装置

Families Citing this family (144)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5214780A (en) * 1990-03-23 1993-05-25 Sun Microsystems, Inc. Synchronized journaling system
US5657438A (en) * 1990-11-27 1997-08-12 Mercury Interactive (Israel) Ltd. Interactive system for developing tests of system under test allowing independent positioning of execution start and stop markers to execute subportion of test script
JPH0772870B2 (ja) * 1990-12-21 1995-08-02 インターナショナル・ビジネス・マシーンズ・コーポレイション 構造検査パネルの生産自動化方法
US5333302A (en) * 1991-02-28 1994-07-26 Hensley Billy W Filtering event capture data for computer software evaluation
US5930505A (en) * 1991-12-17 1999-07-27 Hudson Soft Co. Ltd. Method for storing a program into an auxiliary memory
US5303166A (en) * 1992-04-14 1994-04-12 International Business Machines Corporation Method and system for automated network benchmark performance analysis
JPH06187275A (ja) * 1992-12-18 1994-07-08 Fujitsu Ltd サーバアプリケーションのテスト方法
US5513315A (en) * 1992-12-22 1996-04-30 Microsoft Corporation System and method for automatic testing of computer software
US5371889A (en) * 1993-04-22 1994-12-06 Digital Equipment Corporation Journalling optimization system and method for distributed computations
DE69415593T2 (de) * 1993-06-30 1999-05-20 Microsoft Corp Verfahren zur Überprüfung eines nachrichtengesteuerten Betriebssystems
US5548718A (en) * 1994-01-07 1996-08-20 Microsoft Corporation Method and system for determining software reliability
US5408408A (en) * 1994-02-22 1995-04-18 Marsico, Jr.; Michael Apparatus and method for electronically tracking and duplicating user input to an interactive electronic device
US6226785B1 (en) * 1994-09-30 2001-05-01 Apple Computer, Inc. Method and apparatus for storing and replaying creation history of multimedia software or other software content
US5745767A (en) * 1995-03-28 1998-04-28 Microsoft Corporation Method and system for testing the interoperability of application programs
US6138252A (en) * 1996-07-01 2000-10-24 Sun Microsystems, Inc. Graphical test progress monitor
CA2190043C (en) * 1996-11-12 2001-10-16 Don E. Hameluck Buffered screen capturing software tool usability testing of computer applications
AU681841B3 (en) * 1996-11-21 1997-09-04 User Interface Metrics Pty Ltd Usability evaluation system
US6158019A (en) * 1996-12-15 2000-12-05 Delta-Tek Research, Inc. System and apparatus for merging a write event journal and an original storage to produce an updated storage using an event map
US5960196A (en) * 1996-12-18 1999-09-28 Alcatel Usa Sourcing, L.P. Software release metric reporting system and method
US6263376B1 (en) 1997-02-24 2001-07-17 Novell, Inc. Generic run-time binding interpreter
US5890154A (en) * 1997-06-06 1999-03-30 International Business Machines Corp. Merging database log files through log transformations
US5940618A (en) * 1997-09-22 1999-08-17 International Business Machines Corporation Code instrumentation system with non intrusive means and cache memory optimization for dynamic monitoring of code segments
US6587969B1 (en) * 1998-06-22 2003-07-01 Mercury Interactive Corporation Software system and methods for testing the functionality of a transactional server
DE19940306B4 (de) * 1999-08-25 2008-06-05 Fujitsu Siemens Computers Gmbh Verfahren und Datenverarbeitungsanlage zum Testen eines Programmsystems
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
DE10029346A1 (de) * 2000-06-20 2002-03-28 Bosch Gmbh Robert Verfahren und Vorrichtung für die Optimierung eines Testprogramms
US7370315B1 (en) * 2000-11-21 2008-05-06 Microsoft Corporation Visual programming environment providing synchronization between source code and graphical component objects
US7284194B2 (en) * 2001-10-23 2007-10-16 Sun Microsystems, Inc. XML based report generator
US7870431B2 (en) * 2002-10-18 2011-01-11 Computer Associates Think, Inc. Transaction tracer
US7921333B2 (en) * 2003-03-19 2011-04-05 Jds Uniphase Corporation Method and systems for providing data replay, reprocess and retrigger functions in an analyzer
US7296184B2 (en) * 2004-01-28 2007-11-13 Microsoft Corporation Method and system for masking dynamic regions in a user interface to enable testing of user interface consistency
US7379600B2 (en) * 2004-01-28 2008-05-27 Microsoft Corporation Method and system for automatically determining differences in a user interface throughout a development cycle
DE102004028526A1 (de) * 2004-06-11 2006-01-12 T-Mobile Deutschland Gmbh Verfahren zur automatisierten Durchführung von Tests an Computerprogrammen
US7653721B1 (en) 2004-10-29 2010-01-26 Sun Microsystems, Inc. Mechanism for capturing high level events on user interface components
US7676508B2 (en) * 2004-11-10 2010-03-09 Microsoft Corporation Method and system for recording and replaying input-output requests issued by a user-mode program
US7702958B2 (en) * 2005-05-24 2010-04-20 Alcatel-Lucent Usa Inc. Auto-recording tool for developing test harness files
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
EP2014876B1 (de) * 2007-07-10 2012-06-06 Siemens Aktiengesellschaft Drehschieber zur Steuerung des Dampfdurchsatzes bei einer Dampfturbine
US8001468B2 (en) * 2007-09-19 2011-08-16 Sap Ag Method and system for accelerating test automation of software applications
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8463109B2 (en) * 2008-01-07 2013-06-11 Black Mariah, Inc. Editing digital film
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
DE102008060047A1 (de) * 2008-12-02 2010-06-17 Siemens Aktiengesellschaft Einrichtung zum Testen einer Vorrichtung
EP2246788A1 (en) * 2009-04-29 2010-11-03 Optofidelity OY A method, a system and a computer program for testing a user interface functionality
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US8312322B2 (en) * 2009-11-12 2012-11-13 Siemens Medical Solutions Usa, Inc. System for automated generation of computer test procedures
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
CN102262582A (zh) * 2010-05-25 2011-11-30 芯讯通无线科技(上海)有限公司 移动终端及其内存泄露检测方法
US9322872B2 (en) 2010-06-01 2016-04-26 The United States Of America As Represented By The Secretary Of The Navy Correlated testing system
US8429459B2 (en) * 2010-07-28 2013-04-23 Sap Ag Use of attribute sets for test entity identification during software testing
US8578340B1 (en) 2010-09-24 2013-11-05 Ca, Inc. Recording and replaying computer program execution with recorded execution event breakpoints
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US8689214B2 (en) * 2011-03-24 2014-04-01 Amazon Technologies, Inc. Replication of machine instances in a computing environment
US8577842B1 (en) 2011-09-19 2013-11-05 Amazon Technologies, Inc. Distributed computer system snapshots and instantiation thereof
US20120303570A1 (en) * 2011-05-27 2012-11-29 Verizon Patent And Licensing, Inc. System for and method of parsing an electronic mail
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
JP5648186B2 (ja) * 2011-08-22 2015-01-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation トランザクションを再生するためのデータを生成する装置及び方法
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US9122798B2 (en) * 2013-03-07 2015-09-01 Oracle International Corporation Debugger with method restart capability
US9703679B2 (en) 2013-03-14 2017-07-11 International Business Machines Corporation Probationary software tests
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
EP3008641A1 (en) 2013-06-09 2016-04-20 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US9268670B1 (en) * 2013-08-08 2016-02-23 Google Inc. System for module selection in software application testing including generating a test executable based on an availability of root access
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
TWI566107B (zh) 2014-05-30 2017-01-11 蘋果公司 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
CN106484605A (zh) * 2015-08-28 2017-03-08 中兴通讯股份有限公司 一种实现软件自动化测试的方法和系统
US9959197B2 (en) * 2015-08-31 2018-05-01 Vmware, Inc. Automated bug detection with virtual machine forking
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179588B1 (en) 2016-06-09 2019-02-22 Apple Inc. INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
CN110858174A (zh) * 2018-08-24 2020-03-03 山东华软金盾软件股份有限公司 一种移动设备聊天软件的图片审计方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1268557A (en) * 1986-04-01 1990-05-01 Mikio Tomioka Method for displaying program executing circumstances and an apparatus using the same
US4819233A (en) * 1987-04-08 1989-04-04 Westinghouse Electric Corp. Verification of computer software
IE60444B1 (en) * 1988-03-30 1994-07-13 Elverex Ltd A software verification apparatus
US5063535A (en) * 1988-11-16 1991-11-05 Xerox Corporation Programming conflict identification system for reproduction machines

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009134406A (ja) * 2007-11-29 2009-06-18 Nomura Research Institute Ltd コンピュータプログラムの実行結果を検証するためのテスト装置及び方法
JP2010016797A (ja) * 2008-06-06 2010-01-21 Ricoh Co Ltd 画像処理装置

Also Published As

Publication number Publication date
DE4118454A1 (de) 1991-12-12
JP3407809B2 (ja) 2003-05-19
DE4118454C2 (de) 2001-03-01
US5157779A (en) 1992-10-20

Similar Documents

Publication Publication Date Title
JP3407809B2 (ja) コンピュータ・アプリケーション・ソフトウェアの自動化試験システム
EP0785510B1 (en) Program debugging system for debugging a program having a graphical user interface
US5961610A (en) Systems, methods and apparatus for generating and controlling display of medical images
JP3008872B2 (ja) Guiシステム自動操作装置および操作マクロ実行装置
US6239800B1 (en) Method and apparatus for leading a user through a software installation procedure via interaction with displayed graphs
US5815711A (en) Apparatus and method for program generation
CA2211373C (en) Learn mode script generation in a medical imaging system
AU2005203508B2 (en) System and method for selecting test case execution behaviors for reproducible test automation
US6707469B1 (en) Synchronous execution in a medical imaging system
US5831612A (en) Cell overlap detection and correction in a medical imaging system
EP0939368B1 (en) Program debugging
US5781905A (en) Program generating method combining data item part with database manipulation part
WO1995032476A1 (en) A system and method for creating design configurations and for controlling the execution of multiple design tools
US5956511A (en) Program development support apparatus, program development support method, and storage medium therefor
JPH10149301A (ja) スクリプト作成装置
JPH05189274A (ja) 履歴情報管理システム
JPH09223040A (ja) ソフトウェアのシステムテスト支援装置およびこれに用いるテストシナリオ生成装置
JP2000353087A (ja) 高可用性システムの動作シナリオ開発環境を有する計算機システム
JP3083552B2 (ja) 階層編集処理装置
JP2013137716A (ja) マクロ展開装置及びプログラム
JP2007226739A (ja) ソフトウェア開発装置およびプログラム
JPH0991173A (ja) プログラムの実行履歴表示方法
Gervae et al. NeXT’s OPENSTEP for Windows NT
JPH09231064A (ja) ソフトウエア開発支援システム及び該システムを記憶した媒体
JPH09114536A (ja) 計算機操作の自動化方法

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees