JPH07200358A - ソフトウェア・アプリケーションの自動テスト方法 - Google Patents

ソフトウェア・アプリケーションの自動テスト方法

Info

Publication number
JPH07200358A
JPH07200358A JP6263918A JP26391894A JPH07200358A JP H07200358 A JPH07200358 A JP H07200358A JP 6263918 A JP6263918 A JP 6263918A JP 26391894 A JP26391894 A JP 26391894A JP H07200358 A JPH07200358 A JP H07200358A
Authority
JP
Japan
Prior art keywords
screen
test
file
data
path
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
JP6263918A
Other languages
English (en)
Other versions
JP2694122B2 (ja
Inventor
Francois Bonne
フランソワ・ボンヌ
Jean-Marie Grillet
ジャン−マリ・グリレ
Guy Mansel
ギー・マンセル
Paul Rouah
ポール・ルーアー
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 JPH07200358A publication Critical patent/JPH07200358A/ja
Application granted granted Critical
Publication of JP2694122B2 publication Critical patent/JP2694122B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/36—Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668—Testing of software
    • G06F11/3672—Test management

Landscapes

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

Abstract

(57)【要約】 【目的】 関連のデータ・ベースを用いたソフトウェア
・アプリケーションの自動テスト方法を提供する。 【構成】 ソフトウェア・アプリケーションのファンク
ションをテストするための全てのデータを含むテスト・
データ・ファイルと、スクリーン・フィールドマーク
(つまり、フィールド番号、スクリーンにおけるその位
置、そのタイトル、等)を含むスクリーン・フィールド
・マップ・ファイルと、インタースクリーン関係を記述
するインタースクリーン・ナビゲーション・ファイルの
3つのエンティティを使用し、さらにテスト・データに
必要とされるスクリーンを見つけるための論理;このス
クリーンを得て、そのテストを実施するための論理;そ
して、全ての矛盾を登録するための論理を有する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はソフトウェア・アプリケ
ーションのテストに関し、特に、関連のデータ・ベース
により自動的にソフトウェア・アプリケーションをテス
トする方法に関する。
【0002】
【従来の技術】世界的な規模で開発されるソフトウェア
・アプリケーションの数が増大し、また、各々の内容が
複雑になるので、産業界ではそれらソフトウェア・アプ
リケーションを効率良く、かつ正確にテストして開発担
当者を助けるツールの必要性が増加している。
【0003】ソフトウェア・アプリケーションをテスト
するための産業界での一般的方法は、キー入力を記録し
てそれを再生するロボットを使用することである。この
方法はテスト・データ(TEST DATA)文書を書き、それ
を記録し、再生することを含んでいる。定期刊行物のN
EWS 3X/400はAS/400システム(関連の
データ・ベースを使用するシステム)を扱っており、過
去に2つの製品を提示している、QES/アーキテクト
およびWITT(1993年2月発行)。両製品は同じ
手法を取っている。すなわち、スクリーン・フィールド
・マップ(SCREEN FIELD MAP)から独立したテスト・デ
ータ(TEST DATA)を有する可能性を持ち、キー入力を
記録し、再生する。
【0004】
【発明が解決しようとする課題】こうした有効な従来技
術のテスト・ツールにより、キー入力記録と再生は既製
のソフトウェア・アプリケーションには特に適してい
る。しかし、こうしたアプリケーションにおける全ての
変化については、記録のファイルの中でこの変化を見つ
け、ファイルを直接操作することは困難である。したが
って、唯一残った方法は、そのアプリケーションの一部
に対する別の記録および再生を続行することである。Q
ES/アーキテクトあるいはWITT製品を用いて、テ
スト・データ対スクリーン・フィールド・マップの独立
性は存在するが、テスト・データとインタースクリーン
・ナビゲーション(INTER-SCREEN NAVIGATION)間の独
立はない。すなわち、テスト・データは、経路選択目的
のデータからテスト・データのファンクション用のデー
タを区別することができない。
【0005】
【課題を解決するための手段】本発明によるソフトウェ
ア・アプリケーションの自動テストの方法は、QES/
アーキテクトあるいはWITT製品を超える利点を提供
する。つまりその利点とは、上記3つのエンティティ
(テスト・データ、スクリーン・フィールド・マップ、イ
ンタースクリーン・ナビゲーション)の独立性により以
下ような項目を改善する。すなわち、データ・ベースを
使用して、ファンクション・テストを行うためのテスト
・データの書込み、インタースクリーン・ナビゲーショ
ン・データの仕様の利用(これらの仕様は本明細書で詳
細に説明するコンピュータ・プログラムによりコード化
されている)、および上記3つのエンティティの2つは
変更せずエンティティ1つの変化である。
【0006】他の改善は、スクリーン・マップ(SCREEN
MAP)とインタースクリーン・ナビゲーション仕様を知
ることなく、ファンクション・テスト用のテスト・デー
タの書込みを行うことである。これは、アプリケーショ
ン・スクリーン(つまり、アプリケーションが運転中に
そのアプリケーションによってユーザに提示される種々
の表示スクリーン)がアプリケーション言語生成プログ
ラムによって、その独自の基準に基づき、また、時々、
そのコード化の終了点でのみ有効であるが、発生させら
れる時に特に有用である。
【0007】上記3つのエンティティの他にも、本発明
によるテスト方法で実行される論理は、上記3つのエン
ティティを使用するテスト・データによって端末を自動
的にエミュレートする。上記3つのエンティティ以外の
その論理の利点は、論理を変えることにより、異なった
基盤(AS/400、RISC等)上で生成したソフト
ウェア・アプリケーション用に同じテスト・データを使
用する可能性があるということである。
【0008】本発明によるソフトウェア・アプリケーシ
ョンの自動テスト方法は、以下の3つのエンティティを
使用している。テスト・データ・ファイル;ソフトウェ
ア・アプリケーションのファンクションをテストするた
めの全てのデータを含む。スクリーン・フィールド・マ
ップ・ファイル;スクリーン・フィールドマーク(つま
り、フィールド番号、スクリーンにおけるその位置、そ
のタイトル、等)を含む。インタースクリーン・ナビゲ
ーション・ファイル;インタースクリーン関係を記述す
る。さらに本発明の方法は、テスト・データに必要とさ
れるスクリーンを見つけるための論理;このスクリーン
を得て、そのテストを実施するための論理;そして、全
ての矛盾を登録するための論理である。
【0009】さらに、本発明によるソフトウェア・アプ
リケーションの自動テスト方法は、ディスプレイ手段と
キー入力手段を備え、テスト・データ・ファイル(ソフ
トウェア・アプリケーションのファンクションをテスト
するための仕様を含む)、スクリーン・フィールド・マ
ップ・ファイル(ソフトウェア・アプリケーションの実
行中にそのソフトウェア・アプリケーションによってユ
ーザに表示されるスクリーンのフィールドの仕様を含
む)、インタースクリーン・ナビゲーション・ファイル
(上記スクリーン間の関係の仕様を含む)等のファイル
を有するコンピュータにおいて、複数のテスト・ステッ
プを経てソフトウェア・アプリケーションを自動的にテ
ストするものであり、上記方法はさらに、上記複数のテ
スト・ステップの各々に対する有用なデータを収集し、
収集したデータをステップ・データ(STEP DATA)作業
ファイルに保存するステップと、上記スクリーンをリン
クする経路用に上記複数のテスト・ステップの各々を探
索し、またパス(PATH)作業ファイルを作るステップ
と、上記アプリケーション・プログラムを使用してユー
ザによるキー入力を上記複数のテスト・ステップの各々
に対してエミュレートするステップを有する。
【0010】
【実施例】添付図面を参照にして本発明で使用する3つ
のエンティティを以下に説明する。なお、添付図面内の
英文、記号等はコマンドやコード名、あるいはデータの
例であり、翻訳できない。
【0011】1.テスト・データ・ファイル(TEST DAT
A FILE):図1のテスト・データ・ファイルはファンク
ションのテストのためのデータを有する。各テスト・ス
テップは1つのデータ・ベースファイルに関して作成さ
れ、その構造に従う。 −1番目の記録:以下に示す分類を有するアクション
(ACTION)コード、 −CREATE、MODIFY のようなアクティブ・アクション・コ
ード、 −READ のようなパッシブ・アクション・コード、 −PRINT、DELETE のような結果、 −次の記録:そのデータとキーフィールド選択用のイン
デックスを有するデータ・ベースファイルのフィールド
名。 キーフィールドは関連のデータ・ベースの選択フィール
ドである。
【0012】テスト・データ・ファイルは以下のように
2段階で得られる。初めに、テスト・ステップの構造は
アプリケーション・データベースと相補データベースか
ら作られる。このアプリケーション・データベースはソ
フトウェア・アプリケーションのデータ・ベースであ
る。相補データベースは、アプリケーション・データベ
ースによっては考慮に入れられないが、その仕様にはデ
ータ処理、プリント等のためのオプションのように記述
されているフィールドを用いて「手動で」作成された。
次に、アクション・コードを有するテスト・データを上
記構造からのコピーにより書き込まれる。
【0013】2.スクリーン・フィールド・マップ・フ
ァイル(SCREEN FIELD MAP FILE):図2のスクリーン
・フィールド・マップ・ファイルはスクリーン・フィー
ルドの仕様を示す。各記録は以下のフォーマットを有す
る。 −フィールド名、 −アクション・コード −スクリーン名、 −スクリーン上にフィールドを位置決めするためのフィ
ールド・マーク(フィールド番号、位置、タイトル等が
可能である)。
【0014】テスト・データ・ファイルのキー・フィー
ルドはそのスクリーン・フィールド・マップ・ファイル
の幾つかのスクリーンに関連づけられている。テスト・
データ・ファイルの非キー・フィールドは、スクリーン
・フィールド・マップ・ファイルのアクション・コード
ごとに1つのスクリーンに関連づけられている。
【0015】スクリーン・フィールド・マップ・ファイ
ルは、次の2つの方法により得ることができる。 − 第1の方法は、アプリケーション用のスクリーン仕
様としてスクリーン・フィールド・マップ・ファイルを
得ることである。その仕様は本発明におけるようにコー
ド化される。 − 第2の方法は、アプリケーション・モックアップが
存在し、かつ承認される時に、そのスクリーン定義ソー
ス・ファイルを処理することである。これらファイルは
3つのフィールド(フィールド名、スクリーン名、マー
クであり、このマークは、例えばライン番号とコラム番
号の2つの図表によって与えられるスクリーン内の位置
である)と、第4のフィールド(アクション・コード)
を有し、第4のフィールドは標準(例えばスクリーン
名)あるいは「手動」入力により得られる。
【0016】3.インタースクリーン・ナビゲーション
・ファイル(INTER-SCREEN NAVIGATION FILE):図3の
インタースクリーン・ナビゲーション・ファイルはイン
タースクリーン関係を示す。各記録は以下のフォーマッ
トを有する。 − ソース・スクリーン(SOURCE SCREEN)名、 − コマンド(COMMAND)、キー入力の継続およびその
スクリーンへ付与した指令用のコードで、以下に示すよ
うな結果を提供する。 − モーション(MOTION)、(FORWARD、BACKWARD)、コマ
ンドがスクリーンの変更をもたらす時(MOTION がない
なら空白フィールドとなる)、 − 目標スクリーン(TARGET SCREEN)名(モーションが
ないなら空白フィールドとなる)、 − 応答(RESPONSE)、コマンドがプリントあるいは削除
をもたらす時。
【0017】インタースクリーン・ナビゲーション・フ
ァイルは、アプリケーションの仕様の一部の範囲で得る
ことが可能である:その仕様は、本発明では以下のアク
ションに対応する以下のコマンドを用いてコード化され
る。
【0018】 コマンド アクション ダイレクトコマンド x -1-ソース・スクリーン上でXをキー入力 -2-ENTERキー *PFk -1-PFkキー
【0019】 コマンド選択 *K -1-ソース・スクリーンにテストステップのキーデー タ をキー入力 -2-ENTERキー *Ki -1-ソース・スクリーン上でテストステップのキーデ ー タを有する記録を選択し、iでそれをマークする 。 -2-ENTERキー
【0020】 コマンド入力 *S -1-ソース・スクリーン上でテストステップの非キー ・ データを入力 -2-ENTERキー
【0021】 他のコマンドS *K*S -1-ソース・スクリーン上でテストステップのキー・ デ ータを入力 -2-ソース・スクリーン上でテストステップの非キー ・ データを入力 -3-ENTERキー C1(C2 -1-上記コマンド C1 -2-上記コマンド C2 ex:*K(*S ex:*Ki(*Pfk
【0022】テスト・データ実行 図4は本発明による方法の構造を示す。全ファイルおよ
びプログラムはソフトウェア・アプリケーションに接続
したワークステーション内にある。以下に本発明の方法
による1テスト・ステップの自動操作のための論理に含
まれるプログラムの一部分をリストアップした。使用し
たプログラム設計言語は当業者が本発明を理解すること
を可能にする。テスト・データのチェーンやエラー管理
等の通常のシーケンスは省略されている。以下の定義に
より説明が容易になろう。
【0023】定義 テスト・ステップ(TEST STEP): 基本アクション(ACTIO
N)( CREATE,READ,または MODIFY 等、図1参照)に対
するデータ群 エントランス・スクリーン(ENTRANCE SCREEN: アプリ
ケーションの初めのスクリーン 現スクリーン(Current Screen): アプリケーションが
立ち上がるスクリーン 前スクリーン(Prior Screen): 新しいテスト・ステ
ップを開始する前のスク
リーン 目標スクリーン(Objective Screen): テスト・ステッ
プデータをキー入力するために1乃至若干のスクリーン
が必要とされ、その最後のものを「目標スクリーン」と
称する。 最終スクリーン(Ultimate Screen): テスト・ステッ
プが終了した後のスクリ
ーン 順方向経路(Forward Path) : アプリケーションが新
しいスクリーンを呼び出す時、それは「順方向経路」に
あると称する。 逆方向経路(Backwards Path): アプリケーションが前
に呼び出したスクリーンに戻る時、それは「逆方向経
路」にあると称する。 クロス・スクリーン(Cross Screen): 「順方向経路」
と「逆方向経路」の交差の際のスクリーン キー・フィールド(Key Field): 関連データ・ベース
の選択フィールドである
フィールド 順方向経路非必須キー作業ファイル(Forward Path Non
mandatory key workfile: エントランス・スクリーン
と現スクリーンを接続する「順方向経路」に対するテス
ト・データを有する全キー・フィールドを保存するファ
イル
【0024】従って、本発明によれば、呼び出しは3つ
のコンピュータ・プログラム、テスト・データ収集、パ
ス・サーチ、およびテスト・ステップ・エミュレーショ
ンに対して連続的になされる。これらは、当業者によっ
て理解可能な高水準言語で下記のように示される。コメ
ントは、理解し易いように/*と*/の間に差し込まれて
いる。
【0025】テスト・データ収集 この目的はテスト・ステップに有用なデータを集め、そ
れをステップ・データ作業ファイルに保存することであ
る。(図5参照;「K」はキー・フィールドの指標であ
り、「M」は必須キー・フィールドの指標であり、「Ob
jective_Screen」は目標スクリーンの指標であり、「ll
_cc」はスクリーン位置の指標である)。
【0026】 /*Collect TEST DATA*/ >Read the next Test Step in the TEST DATA file >Write to STEP DATA work file ACTION Code, all Key Field names, their related data and the index K all non-Key Field names and their related data /*Add Screen names and Marks for non-Key Field names*/ >Do For every composite key(ACTION Code/Non-Key Field name) >Read the SCREEN FIELD MAP file >Write the screen name and Mark to STEP DATA work file for the related composite(ACTION Code/Non-Key Field name) /*the Mark here is ll_cc*/ >Enddo >Define Objective Screen = the last screen name, for the Read step above /*Define mandatory Key Fields*/ >Do for every composite key(Key Field name/data)of STEP DATA work file >IF not in the Forward Path Non Mandatory Key work file: /*this file is detailed with routine 3*/ >Write in the STEP DATA work file an index M for related composite(Key Field name/data) >Endif >Enddo
【0027】以上のプログラムは以下のようにも記載し
うる。 /* テスト・データを集める */ >テスト・データ・ファイルの次のテスト・ステップを
Read >ステップ・データ作業ファイルにWrite アクション・コード、 全キー・フィールド名、それらの関連データと指標K 全非キー・フィールド名、それらの関連データ /*スクリーン名および非キー・フィールド名のマーク
を加える*/ >各組合せキー(アクションコード/非キー・フィール
ド名)に対しDo >スクリーン・フィールド・マップファイルをRead >関連の組合せ(アクションコード/非キー・フィール
ド名)に対するステップ・データ作業ファイルにそのス
クリーン名とマークをWrite /*ここのマークはll_ccである*/ >Enddo >Define目標スクリーン=上記のReadステップに対する
最後のスクリーン名 /*必須キー・フィールド(mandatory key field)を定
義する*/ >ステップ・データ作業ファイルの各組合せキー(キー
・フィールド名/データ)に対してDo >IF順方向経路にない、非必須キー作業ファイル: /*このファイルはルーチン3で詳述される*/ >関連の組合せ(キー・フィールド名/データ)につい
ての指標Mをステップ・データ作業ファイルにWrite >Endif >Enddo
【0028】ステップ・データ作業ファイルの例は以下
のとおりである。 MODIFY K Company XYZ KM Serial N¢ 12345 Address BORDEAUX SCR342 05 13 Objective_screen scr342
【0029】パス・サーチ このプログラムの目的はテスト・ステップに必要なパス
(PATH)を探索することである。このプログラムは、前
スクリーン、クロス・スクリーン、目標スクリーン、お
よび最終スクリーンに接続し、図6に示すパス作業ファ
イルを作成する。これは、以下に示す5つのルーチンか
ら作られる。
【0030】ルーチン1は、目標スクリーンとエントラ
ンス・スクリーン間の順方向経路を探索することと、そ
れをパス作業ファイルに保存することである。
【0031】 >Initial condition:TARGET SCREEN = Objective Screen >Do while TARGET SCREEN not equal to Entrance Screen >Read the INTER-SCREEN NAVIGATION file for the composite key (MOTION='FORWARD'/TARGET SCREEN) >Write the record to PATH work file >TARGET SCREEN = SOURCE SCREEN, from the above record >Enddo >Call the subroutine: MKF(for:Mandatory Key Field)CHECKING, >If the MKF CHECKING is KO:search another path, i.e. restart routine 1
【0032】以上のプログラムは以下のようにも記載し
うる。 >初期条件:TARGET SCREEN=目標スクリーン >エントランス・スクリーンに等しくない目標スクリー
ンの間にDo >組合せキー(MOTION=FORWARD/TARGET SCREEN)に対す
るインタースクリーン・ナビゲーション・ファイルをRe
ad >パス作業ファイルに記録をWrite >目標スクリーン=ソース・スクリーン、上記記録から >Enddo >サブルーチン:MKF(必須キー・フィールド)CHECKIN
G、をCall >If MKF CHECKINGがKO:別の経路をsearch、つまり、
ルーチン1をrestart
【0033】他の経路を見つけるための論理は本発明の
構成要件ではない。
【0034】ルーチン2は最終スクリーンを探索する。
【0035】 /*If the ACTION Code is passive(such as READ)there is no MOTION*/ >If ACTION Code = READ >WRITE to PATH work file the following record (SOURCE SCREEN = Objective Screen and COMMAND = READ) >Endif /*Search for active ACTION Code(Such as CREATE, MODIFY)*/ >If ACTION Code = CREATE or MODIFY >Read the INTER-SCREEN NAVIGATION file for the composite key (SOURCE SCREEN/COMMAND) = (Objective Screen/*S) >Write the record in PATH work file >Endif /*Search for ACTION Code which are result such as PRINT, DELETE*/ >If ACTION Code = PRINT or DELETE >Read the INTER-SCREEN NAVIGATION file for the composite key (SOURCE SCREEN/response) = (Objective Screen/ACTION Code) >Write the record in PATH work file >Endif
【0036】以上のプログラムは以下のようにも記載し
うる。 /*If アクションコードがパッシブ(READのような)、
モーションは存在しない*/ >If アクション コード=READ > 以下の記録(ソース・スクリ-ン = 目標スクリーン
およびコマンド=READ) をパス作業ファイルにWRI
TE >Endif /*アクティブなアクション・コード(CREATE, MODIFY
等)の探索*/ >If アクション・コード=CREATEまたはMODIFY >組合せキー(ソース・スクリーン/コマンド)= (目
的スクリーン/*S)に対するインタースクリーン・ナ
ビゲーションファイルをRead >パス作業ファイルにその記録をWrite >Endif /*PRINT,DELETEのような結果となるアクションコード
を探索*/ >If アクション・コード = PRINT又はDELETE >組合せキー(ソース・スクリーン/応答)= (目標ス
クリーン/アクション・ コード)に対するインター
スクリーン・ナビゲーション・ファイルをRead >パス作業ファイルにその記録をWrite >Endif
【0037】ルーチン3は順方向経路非必須キー作業フ
ァイルを更新する。
【0038】 >Build up the list of screens of the following path: >If the Ultimate Screen is reached with the MOTION 'Forward': take the Forward Path defined at the end of the Routine 2 by the Path work file. >If the Ultimate Screen is reached with the MOTION 'Backwards': take the Forward Path(defined at the end of the routine 2 by the Path work file)between the Entrance Screen and the Ultimate Screen. >Do For all the Key Field names of the above screen list >WRITE the Forward Path Non Mandatory Key work file with (Key Field name and its data used in the Test Step) >Enddo
【0039】以上のプログラムは以下のようにも記載し
うる。 >次に続く経路のスクリーンのリストをBuild up: >If最終スクリーンがモーション 'Forward' により達
成される:パス作業ファイルによりルーチン2の終了で
定義された順方向(Forward)経路をtake >If最終スクリーンがモーション 'Backwards' により
達成される:エントランス・スクリーンと最終スクリー
ン間の(パス作業ファイルによりルーチン2の終了で定
義された)順方向経路をtake >上記スクリーン・リストの全てのキー・フィールド名
に対しDo >(キー・フィールド名およびテスト・ステップデータ
使用したそのデータ)とともに順方向経路非必須キー作
業ファイルをWRITE >Enddo
【0040】ルーチン4は、前スクリーンとクロス・ス
クリーン間の逆方向経路(Backwards Path)を探索し、
パス作業ファイルに保存する。
【0041】 >Initial condition:SOURCE SCREEN = Prior Screen >Do until crossing the Forward Path (i.e. until Cross Screen) >Read the INTER-SCREEN NAVIGATION file for the composite key (MOTION = 'BACKWARDS'/SOURCE SCREEN) >Write the record to PATH work file >SOURCE SCREEN = TARGET SCREEN >Enddo
【0042】以上のプログラムは以下のようにも記載し
うる。 >初期条件:ソース・スクリーン = 前スクリーン >順方向経路が交差するまで(つまり、クロス・スクリ
ーンまで)Do >組合せキー(モーション = 'BACKWARDS'/ソース・ス
クリーン)に対するインタースクリーン・ナビゲーショ
ン・ファイルをRead >パス作業ファイルにその記録をWrite >ソース・スクリーン = 目標スクリーン >Enddo
【0043】ルーチン5はテスト・ステップに対する経
路をセットする。
【0044】 >Set the PATH work file in the same order as the screens passes: >Backwards Path >Forward Path between the Cross Screen and the Objective Screen >Call the subroutine:MKF CHECKING, >If the MKF CHECKING is KO:search another Backwards Path(i.e. restart at routine 4, after refreshing the PATH work file in the status of the Routine 4 beginning)
【0045】以上のプログラムは以下のようにも記載し
うる。 >スクリーンが経過するのと同じ順番でパス作業ファイ
ルをSet: >逆方向経路 >クロス・スクリーンと目標スクリーン間の順方向経路 >サブルーチン:MKF CHECKINGをCall、 >If MKF CHECKINGが KO: 別の逆方向経路をsearch(つ
まり、ルーチン4開始のステータス内でパス作業ファイ
ルを一新した後、ルーチン4でrestart)
【0046】他の経路を見つけるための論理は本発明の
構成要件ではない。
【0047】サブルーチン:MKF CHECKING は、ステッ
プ・データ作業ファイルの各必須キー・フィールド名が
パス作業ファイルに記述された経路内に入力を有するか
どうかチェックする目的を有する。
【0048】 >Do for each mandatory Key Field name of STEP DATA >Check the link between records of the 2 files SCREEN FIELD MAP file PATH file Field name = mandatory Key Field name ACTION Code = 'KEY' Screen name = Screen name >Enddo
【0049】以上のプログラムは以下のようにも記載し
うる。 >ステップ・データの各必須キー・フィールド名に対し
Do >2ファイルの記録間のリンクをCheck スクリーン・フィールド・マップ file PATH file Field name = mandatory Key Field name アクション Code = 'KEY' Screen name = Screen name >Enddo
【0050】テスト・ステップ・エミュレーションこの
プログラムの目的はパス作業ファイルから端末をエミュ
レートすることである。以下の説明は1テスト・ステッ
プに対し有効であることに注意。キー入力は、図3に関
する説明によるコマンド・コードに関連した点で行われ
る。
【0051】 >Initial condition :the application is at the Current Screen = Prior Sc reen >READ sequentially the PATH work file to get COMMAND and TARGET SCREEN >If the COMMAND = a Selection COMMAND(*K or *Ki) >Do until end of file >Read SCREEN FIELD MAP file for the composite key (screen name/ACTION Code) = (Current Screen/'KEY') to get the Mark and the Field name >Emulation:Set the cursor for the Mark >Read the STEP DATA work file for the Field name to get the data >Emulation:key-in the data >Enddo >Emulation:'Enter'key >If COMMAND = *Ki:key-in 'i' on the index zone then 'Enter' >Call routine:Screen Identification Checking for TARGET SCREEN >Endif >If COMMAND = an Input COMMAND(Such as *S) >Do until end of file >Read sequentially STEP DATA work file for screen name = Current Scre en to get Mark and data >Emulation:Set the cursor for the Mark and key-in of the data >Enddo >Emulation:'Enter' key >Call routine:Screen Identification Checking for TARGET SCREEN >Endif >If COMMAND = a Direct COMMAND(such as x or *PFi) >Emulation:Key-in(x plus 'Enter')for COMMAND x, or key-in PK-key according to *PKi >Call routine:Screen Identification Checking for TARGET SCREEN >Endif >If COMMAND = Passive COMMAND(such as READ) >Do until end of file >Read sequentially STEP DATA work file for screen name = Current Scre en to get Mark and data >Emulation: Set the cursor for the Mark and read >Compare reading with data >If comparison is not OK: log a message. >Enddo >Endif
【0052】以上のプログラムは以下のようにも記載し
うる。 >初期条件:アプリケーションは現スクリーン=前スク
リーンにある。 >コマンドおよび目標スクリーンを得るためパス作業フ
ァイルを連続的にREAD >If コマンド = 選択コマンド(*K又は*Ki) >ファイルの終了までDo >マークおよびフィールド名を得るために、組合せキー
(スクリーン名/アクション・コード)=(現スクリー
ン/'KEY')に対するスクリーン・フィールド・マップ
・ファイルをRead >Emulation:マークに対するカーソルをSet >データを得るためにそのフィールド名に対するステッ
プ・データ作業ファイルをRead >Emulation:そのデータをkey-in >Enddo >Emulation: キーを'Enter' >If コマンド = *Ki: 指標ゾーンで'i'をkey-inして'
Enter' >ルーチン:目標スクリーンに対するスクリーン識別チ
ェック、をCall >Endif >If コマンド = (*Sのような)入力コマンド >ファイルの終了までDo >マークおよびデータを得るためスクリーン名=現スク
リーンに対するステップ・データ作業ファイルを連続的
にRead >Emulation:そのデータのマークとキー入力に対するカ
ーソルをSet >Enddo >Emulation:キーを'Enter' >ルーチン:目標スクリーンに対するスクリーン識別チ
ェック、をCall >Endif >If コマンド = (x又は*PFiのような)ダイレクトコ
マンド >Emulation:コマンド x に対しxをKey-in(プラス'Ent
er')、または*PFiによるPFキーをkey-in >ルーチン:目標スクリーンに対するスクリーン識別チ
ェック、をCall >Endif >If コマンド = (READのような)パッシブコマンド >ファイルの終了までDo >マークおよびデータを得るためスクリーン名=現スク
リーンに対するステップ・データ作業ファイルを連続的
にRead >Emulation:そのデータのマークに対するカーソルをSe
tそしてread >データの読込をCompare >If比較がOKでない:メッセージをlog. >Enddo >Endif
【0053】ルーチンはスクリーン識別チェックを行わ
せる。
【0054】 >Initial condition: TARGET SCREEN name >Check the identification of the Current Screen(it can be the screen na me) >If not OK >Log a message >Synchronize by emulation of backwards PFkey until a known screen /*In the present embodiment, synchronization is at the Entrance Screen* / >Endif
【0055】以上のプログラムは以下のようにも記載し
うる。 >初期状態:目標スクリーン名 >現スクリーンの識別(スクリーン名で可能である)を
Check >If OKでない >メッセージをLog >既知スクリーンまで逆方向PFキーのエミュレーション
によりSynchronize /*本実施例では、同期はエントランス・スクリーンで
行われる*/ >Endif
【0056】本発明は、請求の範囲を逸脱しない範囲に
おいて、幾多の変更、例えば複数の有効な経路、メッセ
ージのチェック、等が可能であることは当業者に類推で
きるであろう。
【0057】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0058】(1)ソフトウェア・アプリケーションを
実行し、ディスプレイ手段とキー入力手段を備え、さら
にソフトウェア・アプリケーションのファンクションを
テストするための全てのデータを含むテスト・データ・
ファイルと、上記ソフトウェア・アプリケーションの実
行中に該ソフトウェア・アプリケーションによってユー
ザに表示されたスクリーンのフィールドの仕様を含むス
クリーン・フィールド・マップ・ファイルと、上記スク
リーン間の関係の仕様を含むインタースクリーン・ナビ
ゲーション・ファイルとを有するコンピュータにおける
複数のテスト・ステップを経るソフトウェア・アプリケ
ーションの自動テスト方法であって、上記方法は、上記
複数のテスト・ステップの各々に対して有用なデータを
収集し、ステップ・データ作業ファイルにその収集デー
タを保存し、上記複数のテスト・ステップの各々を、ま
た、上記スクリーンをリンクするパスを探索し、そして
パス作業ファイルを作成し、上記複数のテスト・ステッ
プの各々に対して、上記アプリケーション・プログラム
を用いるユーザによるキー入力をエミュレートすること
を特徴とするソフトウェア・アプリケーションの自動テ
スト方法。 (2)上記複数のテスト・ステップの各々に対して有用
なデータを収集する工程は、上記テスト・データ・ファ
イルおよびスクリーン・フィールド・マップ・ファイル
からの収集を含むことを特徴とする、上記(1)に記載
のソフトウェア・アプリケーションの自動テスト方法。 (3)上記複数のテスト・ステップの各々に対してパス
を探索する工程は、キー入力テスト・ステップ・データ
のための最後のスクリーンである目標スクリーンと上記
アプリケーションの初めのスクリーンであるエントラン
ス・スクリーン間の順方向経路すなわち上記アプリケー
ションが新しいスクリーンを呼び出す時のパスを探索
し、テスト・ステップが終了した後のスクリーンである
最終スクリーンを探索し、順方向経路非必須キー作業フ
ァイルを更新し、テスト・ステップ開始以前の現スクリ
ーンである前スクリーンと順方向経路と逆方向経路の交
差時のスクリーンであるクロス・スクリーン間の逆方向
経路すなわち上記アプリケーションが以前に呼び出され
たスクリーンに戻りつつある時のパスを探索し、上記複
数のテスト・ステップの各々に対して経路をセットする
ことを特徴とする、上記(1)または(2)に記載のソ
フトウェア・アプリケーションの自動テスト方法。
【0059】
【発明の効果】 本発明によって、ソフトウェア・アプ
リケーションの自動テストの改善された方法が提供され
る。
【図面の簡単な説明】
【図1】アプリケーション・データベースと相補データ
ベースから本発明の方法により作成したテスト・データ
である。
【図2】スクリーン・フィールド・マップ ファイルの
フォーマットであり、スクリーン仕様となりえる。
【図3】インタースクリーン経路選択仕様となりえるイ
ンタースクリーン・ナビゲーション・ファイルのフォー
マットである。
【図4】本発明によるソフトウェア・アプリケーション
の自動テスト方法の構造を示す説明図である。
【図5】本発明によるソフトウェア・アプリケーション
の自動テストの実行を説明するためのステップ・データ
作業ファイルである。
【図6】本発明によるソフトウェア・アプリケーション
の自動テストの実行を説明するためのパス作業ファイル
である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジャン−マリ・グリレ フランス 33700、メリナック、アベニ ュ・ド・ベルフォー 10 (72)発明者 ギー・マンセル フランス 33600、ペサック、アレー・ デ・フェー 7 (72)発明者 ポール・ルーアー フランス 33290、ブランクフォール、 ル・ピアン・メドック、ルーアン、ル・ボ ワ・デュ・ルゲ 21

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】ソフトウェア・アプリケーションを実行
    し、ディスプレイ手段とキー入力手段を備え、さらにソ
    フトウェア・アプリケーションのファンクションをテス
    トするための全てのデータを含むテスト・データ・ファ
    イルと、 上記ソフトウェア・アプリケーションの実行中に該ソフ
    トウェア・アプリケーションによってユーザに表示され
    たスクリーンのフィールドの仕様を含むスクリーン・フ
    ィールド・マップ・ファイルと、 上記スクリーン間の関係の仕様を含むインタースクリー
    ン・ナビゲーション・ファイルとを有するコンピュータ
    における複数のテスト・ステップを経るソフトウェア・
    アプリケーションの自動テスト方法であって、 上記方法は、 上記複数のテスト・ステップの各々に対して有用なデー
    タを収集し、ステップ・データ作業ファイルにその収集
    データを保存し、 上記複数のテスト・ステップの各々を、また、上記スク
    リーンをリンクするパスを探索し、そしてパス作業ファ
    イルを作成し、 上記複数のテスト・ステップの各々に対して、上記アプ
    リケーション・プログラムを用いるユーザによるキー入
    力をエミュレートすることを特徴とするソフトウェア・
    アプリケーションの自動テスト方法。
  2. 【請求項2】上記複数のテスト・ステップの各々に対し
    て有用なデータを収集する工程は、上記テスト・データ
    ・ファイルおよびスクリーン・フィールド・マップ・フ
    ァイルからの収集を含むことを特徴とする、請求項1に
    記載のソフトウェア・アプリケーションの自動テスト方
    法。
  3. 【請求項3】上記複数のテスト・ステップの各々に対し
    てパスを探索する工程は、 キー入力テスト・ステップ・データのための最後のスク
    リーンである目標スクリーンと上記アプリケーションの
    初めのスクリーンであるエントランス・スクリーン間の
    順方向経路すなわち上記アプリケーションが新しいスク
    リーンを呼び出す時のパスを探索し、 テスト・ステップが終了した後のスクリーンである最終
    スクリーンを探索し、 順方向経路非必須キー作業ファイルを更新し、 テスト・ステップ開始以前の現スクリーンである前スク
    リーンと順方向経路と逆方向経路の交差時のスクリーン
    であるクロス・スクリーン間の逆方向経路すなわち上記
    アプリケーションが以前に呼び出されたスクリーンに戻
    りつつある時のパスを探索し、 上記複数のテスト・ステップの各々に対して経路をセッ
    トすることを特徴とする、請求項1または請求項2に記
    載のソフトウェア・アプリケーションの自動テスト方
    法。
JP6263918A 1993-12-22 1994-10-27 ソフトウェア・アプリケーションの自動テスト方法 Expired - Lifetime JP2694122B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR93480232.3 1993-12-22
EP93480232A EP0660235A1 (en) 1993-12-22 1993-12-22 Method for automated software application testing

Publications (2)

Publication Number Publication Date
JPH07200358A true JPH07200358A (ja) 1995-08-04
JP2694122B2 JP2694122B2 (ja) 1997-12-24

Family

ID=8214852

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6263918A Expired - Lifetime JP2694122B2 (ja) 1993-12-22 1994-10-27 ソフトウェア・アプリケーションの自動テスト方法

Country Status (3)

Country Link
US (2) US5594892A (ja)
EP (1) EP0660235A1 (ja)
JP (1) JP2694122B2 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0660235A1 (en) * 1993-12-22 1995-06-28 International Business Machines Corporation Method for automated software application testing
US6092075A (en) * 1997-08-14 2000-07-18 International Business Machines Corporation Framework for business applications using cached aggregate and specification key
US6163805A (en) * 1997-10-07 2000-12-19 Hewlett-Packard Company Distributed automated testing system
US6308146B1 (en) 1998-10-30 2001-10-23 J. D. Edwards World Source Company System and method for simulating user input to control the operation of an application
AU6428701A (en) * 2000-06-14 2001-12-24 Seiko Epson Corporation Automatic evaluation method and automatic evaluation system and storage medium storing automatic evaluation program
US6986125B2 (en) * 2001-08-01 2006-01-10 International Business Machines Corporation Method and apparatus for testing and evaluating a software component using an abstraction matrix
US6961873B2 (en) * 2001-09-14 2005-11-01 Siemens Communications, Inc. Environment based data driven automated test engine for GUI applications
US6948152B2 (en) * 2001-09-14 2005-09-20 Siemens Communications, Inc. Data structures for use with environment based data driven automated test engine for GUI applications
US7526498B2 (en) 2001-09-14 2009-04-28 Siemens Communications, Inc. Method for generating data structures for automatically testing GUI applications
US6993748B2 (en) 2001-10-26 2006-01-31 Capital One Financial Corporation Systems and methods for table driven automation testing of software programs
US8386852B2 (en) * 2002-11-05 2013-02-26 Hewlett-Packard Development Company, L.P. Automated recording and replaying of software regression tests
US7613953B2 (en) * 2003-05-27 2009-11-03 Oracle International Corporation Method of converting a regression test script of an automated testing tool into a function
US6889158B2 (en) * 2003-06-30 2005-05-03 Microsoft Corporation Test execution framework for automated software testing
US7870504B1 (en) 2003-10-01 2011-01-11 TestPlant Inc. Method for monitoring a graphical user interface on a second computer display from a first computer
US7043400B2 (en) * 2003-11-10 2006-05-09 Microsoft Corporation Testing using policy-based processing of test results
CN1326044C (zh) * 2004-10-22 2007-07-11 中国工商银行股份有限公司 一种基于脚本解释工具的自动化软件测试系统
US8032790B2 (en) * 2005-10-27 2011-10-04 International Business Machines Corporation Testing of a system logging facility using randomized input and iteratively changed log parameters
US20070101196A1 (en) * 2005-11-01 2007-05-03 Rogers William A Functional testing and verification of software application
US7900089B2 (en) * 2006-06-12 2011-03-01 International Business Machines Corporation Method for creating error tolerant and adaptive graphical user interface test automation
US8161399B2 (en) * 2007-01-20 2012-04-17 International Business Machines Corporation Automated learning system for improving graphical user interfaces
US8201150B2 (en) * 2007-03-20 2012-06-12 International Business Machines Corporation Evaluating software test coverage
US8892558B2 (en) 2007-09-26 2014-11-18 International Business Machines Corporation Inserting data into an in-memory distributed nodal database
US8027996B2 (en) * 2007-11-29 2011-09-27 International Business Machines Corporation Commitment control for less than an entire record in an in-memory database in a parallel computer system
CN102073625B (zh) * 2010-12-21 2012-11-28 福建二菱电子有限公司 一种生成机顶盒系列号文件的方法
US9135151B2 (en) 2013-09-18 2015-09-15 Yahoo! Inc. Automatic verification by comparing user interface images
CN104359495A (zh) * 2014-11-20 2015-02-18 百度在线网络技术(北京)有限公司 一种应用的测试方法及装置
GB2547222A (en) 2016-02-10 2017-08-16 Testplant Europe Ltd Method of, and apparatus for, testing computer hardware and software
GB2547220A (en) 2016-02-10 2017-08-16 Testplant Europe Ltd Method of, and apparatus for, testing computer hardware and software
CN106126424B (zh) * 2016-06-29 2018-09-14 厦门美图移动科技有限公司 一种脚本可视化的自动化测试方法、装置和移动终端

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03192415A (ja) * 1989-12-22 1991-08-22 Hitachi Ltd 会話処理制御方法及び装置
JPH05250218A (ja) * 1991-12-06 1993-09-28 Nec Corp オンラインプログラムのテスト方式

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6031648A (ja) * 1983-07-29 1985-02-18 Sharp Corp マルチ・タスク制御方法
US5045994A (en) * 1986-09-23 1991-09-03 Bell Communications Research, Inc. Emulation process having several displayed input formats and output formats and windows for creating and testing computer systems
US5218605A (en) * 1990-01-31 1993-06-08 Hewlett-Packard Company Software modules for testing computer hardware and software
US5157782A (en) * 1990-01-31 1992-10-20 Hewlett-Packard Company System and method for testing computer hardware and software
US5333252A (en) * 1990-04-05 1994-07-26 Claris Corporation Interface for arranging order of fields
US5233611A (en) * 1990-08-20 1993-08-03 International Business Machines Corporation Automated function testing of application programs
US5367671A (en) * 1990-09-25 1994-11-22 International Business Machines Corp. System for accessing extended object attribute (EA) data through file name or EA handle linkages in path tables
US5355497A (en) * 1992-06-10 1994-10-11 Physiotronics Corporation File directory structure generator and retrevial tool with document locator module mapping the directory structure of files to a real world hierarchical file structure
US5390325A (en) * 1992-12-23 1995-02-14 Taligent, Inc. Automated testing system
EP0660235A1 (en) * 1993-12-22 1995-06-28 International Business Machines Corporation Method for automated software application testing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03192415A (ja) * 1989-12-22 1991-08-22 Hitachi Ltd 会話処理制御方法及び装置
JPH05250218A (ja) * 1991-12-06 1993-09-28 Nec Corp オンラインプログラムのテスト方式

Also Published As

Publication number Publication date
EP0660235A1 (en) 1995-06-28
JP2694122B2 (ja) 1997-12-24
US5740408A (en) 1998-04-14
US5594892A (en) 1997-01-14

Similar Documents

Publication Publication Date Title
JP2694122B2 (ja) ソフトウェア・アプリケーションの自動テスト方法
US4742467A (en) Automated programming system for machine creation of applications program source code from non-procedural terminal input
US5634121A (en) System for identifying and linking domain information using a parsing process to identify keywords and phrases
US20190220504A1 (en) Method and system for editing text with a find and replace function leveraging derivations of the find and replace input
JPH0228831A (ja) バージョン管理方法
JPH09212352A (ja) プログラム開発支援システム
Tateosian Python For ArcGIS
JPH022419A (ja) プログラム情報管理方式
JPH0683598A (ja) ジョブフロー仕様書自動作成方法
US5907851A (en) Editing nested documents by appointing a portion for insertion with an alternative substitute
Bull et al. Semantic grep: Regular expressions+ relational abstraction
JPH03225523A (ja) ソフトウェア部品の表示装置
Einspruch An introductory guide to R: Easing the learning curve
JP3464159B2 (ja) テスト仕様書作成装置およびそのプログラムを格納した記憶媒体
KR100407009B1 (ko) 프로그램재생방법 및 장치 및 프로그램재생을 위한프로그램을 기록한 매체
Greulich Indexing with Excel, Part 2. Checking indexing data
JPH103405A (ja) テスト支援装置
JPH056291A (ja) テスト資源の作成・管理方法
JPH09101880A (ja) プログラム分析装置
JPH06161759A (ja) システム状態遷移ルールの検証支援方法および装置
JPH1153391A (ja) データベースアクセス方法
JP7612313B1 (ja) コミュニケーション支援システム
JP3309665B2 (ja) ハイパーメディアのプレゼンテーションシステム
JPH06103277A (ja) ソフトウェア開発管理用レポート出力方式
JP2000099544A (ja) ガイダンス方法及びガイダンスシステム及びdbmsの機能ガイダンスプログラムを記録したコンピュータ読み取り可能な記録媒体