JPH0675253B2 - サービス・プロセツサ・テスト装置 - Google Patents

サービス・プロセツサ・テスト装置

Info

Publication number
JPH0675253B2
JPH0675253B2 JP2215119A JP21511990A JPH0675253B2 JP H0675253 B2 JPH0675253 B2 JP H0675253B2 JP 2215119 A JP2215119 A JP 2215119A JP 21511990 A JP21511990 A JP 21511990A JP H0675253 B2 JPH0675253 B2 JP H0675253B2
Authority
JP
Japan
Prior art keywords
screen
service processor
test
screens
program
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.)
Expired - Lifetime
Application number
JP2215119A
Other languages
English (en)
Other versions
JPH0388046A (ja
Inventor
テイモシイー・グレーン・エバンズ
マーク・ウイリアム・ゴールド
テイモシー・ジヨン・マクナマラ
Original Assignee
インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
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 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン filed Critical インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Publication of JPH0388046A publication Critical patent/JPH0388046A/ja
Publication of JPH0675253B2 publication Critical patent/JPH0675253B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2257Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using expert systems

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明は、一般にコンピュータ・テスト装置に関し、よ
り詳しくは、テスト・ケースを自動的に生成して、他の
コンピュータに関連するサービス・プロセッサをテスト
するためのコンピュータ・ツールに関する。
B.従来の技術及びその課題 多くのコンピュータは、コンピュータが適切に稼働して
いることを確証するか、またはコンピュータをデバッグ
する場合に人を支援するために使用される、サービスま
たはサポート・プロセッサを備えている。サービス・プ
ロセッサには、コンピュータ・メモリに書き込み、それ
からメモリの内容を読み取って、メモリが適切に稼働し
ているか否かをを判断する能力を有するものもある。ま
た、サービス・プロセッサには、初期プログラムをロー
ドし、初期マイクロコードをロードし、メモリが適用業
務に割り当てられたことを確認し、そして動作可能な通
信チャネルを識別できるものもある。またサービス・プ
ロセッサには、いくつかの誤動作を修正したり、修正を
行なうためにいくつかの機能をリセットできるものもあ
る。
従来周知のIBM(IBM社の登録商標)サービス・プロセッ
サは、あるパーソナル・コンピュータ中に内在し、IBM9
370コンピュータで使用され、上記の機能を発揮してい
る。このサービス・プロセッサは、初期及び中間メニュ
ー画面を表示し、メニュー画面を経路設定法で用いて人
によって選択される終点画面を表示する。各終点画面
は、サービス・プロセッサが実施する機能、たとえばコ
ンピュータ・メモリ中の場所へのアクセス(読取り/書
込み)、初期マイクロコード・ローディング(IML)、
初期プログラム・ローディング(IPL)、メモリ構成な
どを表示する。
これまでは、このサービス・プロセッサのテストは、人
の手または半自動的に行なわれていた。サービス・プロ
セッサを手でテストするには、人はまずメニュー画面を
手で利用して、サービス・プロセッサの経路設定機能を
検査する。次に、メモリ中のある位置を示す終点画面に
到達して、(a)サービス・プロセッサに対して、画面
上でカーソルによって参照したメモリ中の位置に書き込
むよう指示し、それから(b)続いて、サービス・プロ
セッサの支援によってメモリ中の場所の内容の読取りを
意図し、サービス・プロセッサとメモリ中のその位置が
適切に稼働していることを検査する(すなわち、終点画
面を実行する)。IMLまたはIPLなどの別の機能を表示す
る他の終点画面は、同じ方法でテストされる。
サービス・プロセッサを半自動的にテストするには、人
はまず、サービス・プロセッサに対して経路中の各画面
を順次呼び出すように指示するために、各画面について
コマンドを指定した個別のテスト・プログラムを書き込
む。このプログラムはまた、各メニュー画面のためのコ
マンドも含み、メニュー画面の経路設定機能が適切に稼
働しているか否かを判定する。このプログラムはまた、
終点画面を実行させるためのステップも含む。
しかし、テスト・プログラムを使用して提供された自動
化のレベルにもかかわらず、サービス・プロセッサをテ
ストするための周知のプロセスはなお時間のかかるもの
である。この理由は、人が、経路中のどの画面も、テス
トのためのどの終点画面も特定しなければならず、した
がって、実行を要求するこのようなサービス・プロセッ
サに関連する数百の終点画面、及び経路設定テストを要
求するさらに多くのメニュー画面が存在可能であること
である。
したがって、本発明の一般的な目的は、上記及び他のサ
ービス・プロセッサのメニュー及び終点または機能画面
をテストするための、完全自動テスタを提供することで
ある。
本発明のさらに特定の目的は、多様なサービス・プロセ
ッサ及びそれに関連する画面に容易に適用できるテスト
・ケース・ジェネレータを提供することである。
本発明の他の特定の目的は、必要テスト時間を最小にす
るために選択された画面グループからのサンプル・テス
トのためにプログラム可能な、上記の形式のテスト・ツ
ールを提供することである。
本発明の他の特定の目的は、汎用メニュー画面及び関連
する終点画面をテストするために使用できる、上記のよ
うなテスト・ツールを提供することである。
C.発明が解決しようとする課題 本発明は、コンピュータに関連するサービス・プロセッ
サをテストするために、テスト・ケースを自動的に発生
させる装置にある。この装置は、サービス・プロセッサ
によって生成されるマッピング画面のためのメモリまた
は知識ベースを含む。サービス・プロセッサの画面は階
層様式に配置され、階層内で下位の他の画面にアクセラ
するメニュー画面、及びサービス・プロセッサによって
サービスされるコンピュータのメモリを表す終点画面を
含む。この装置はまた、サービス・プロセッサによって
生成される少なくとも1つの画面を選択するためのユー
ザ・インタフェースを含み、この画面は、テスト用の1
つまたは複数の経路において、1つの画面グループを識
別する。プログラム・ジェネレータは、ユーザ・インタ
フェース及び知識ベースに結合され、メモリからグルー
プ内の画面を識別する。プログラム・ジェネレータはま
た、グループの画面を呼び出すようにサービス・プロセ
ッサを指示し、サービス・プロセッサによって実際に呼
び出された画面と、テスト・プログラムの予想を比較す
ることによって、グループの画面間の経路設定をテスト
するプログラムを生成する。
本発明の1つの機能によれば、このグループは階層の画
面の1分岐に含まれ、またプログラム・ジェネレータ
は、分岐中の経路の経路数より少ない部分をテスト用に
選択することができる。
本発明の他の機能によれば、無作為テストが順次生成さ
れることができ、プログラムが停止するまで動作する。
プログラムはまた、グループ中の終点画面をテスト用に
選択する。プログラムは、サービス・プロセッサに有効
データを入力し、次いでデータが本当に入力されたこと
を検査し、または無効データが入力されるとエラー・メ
ッセージを待つことによって、終点画面を実行するよう
指示する。本発明の他の機能によれば、プログラム・ジ
ェネレータは、終点画面内のすべて、またはすべてより
少ない領域を選択することができる。次いでプログラム
・ジェネレータは、コンピュータ中のこれらの領域にデ
ータを書き込み、適切な出力域から読み取るサービス・
プロセッサの能力をテストするためのプログラムを生成
する。
本発明の他の機能によれば、プログラム・ジェネレータ
は、領域内部値より大きな領域境界値部分を実行するこ
とができる。境界では多くのエラーが発生するので、こ
の機能は有用である。
D.実施例 これから図面を参照するが、同じ参照番号はいくつかの
図面を通じて同じ要素を示す。第1図は、従来の技術に
よる一般に10で示す中型コンピュータの選択された構成
要素、及び一般に12で示すサービス・プロセッサを図示
する。例として、コンピュータ10はIBM9370コンピュー
タであり、これはクロック・メンテナンス14、CPU16、
制御記憶メモリ18、局所記憶メモリ20、主メモリ22、及
びチャネル・サブシステム24を含む。IBM9370コンピュ
ータ及びサービス・プロセッサ12の上記の構成要素は、
ニューヨーク州アーモンクのIBM社によって1981年に出
版されたIBMシステム/370「動作原理(Principles of O
peration)」マニュアル(注文番号GA22−7000)及びニ
ューヨーク州アーモンクのIBM社によって1987年に出版
されたIBMシステム/370「動作原理(Principles of Ope
ration)」マニュアル(注文番号GA22−7200)に、より
詳しく記載されている。これら2つの出版物は、本明細
書に本発明の開示の一部として参照されて包含されてい
る。
例として、サービス・プロセッサ12はCRT17を含むパー
ソナル・コンピュータであり、コンピュータ10の上記の
構成要素の各々と、クロック・メンテナンス14を介して
対話する。
第2図は、例示的なメニュー階層と、人がコンピュータ
10をウィンドウ及び制御することができるようにするサ
ービス・プロセッサ12(IBM370サービス・プロセッサに
はない)によって生成される終点画面を、分割した形で
図示する。サービス・プロセッサ12が活動化されると、
サービス・プロセッサはまず、「サイン・オン」画面30
を生成し、このサイン・オン画面は、ある中間メニュー
画面、すなわち開発デバッグ画面32、オペレータ画面3
4、またはカストマ・エンジニア画面36を選択するため
のメニューとして使用される。このような中間画面は3
つの汎用サービス・プロセッサ機能を定義する。第2図
はまた、開発デバッグ画面32から出たメニュー画面、す
なわちカストマイズド・システム画面38及びオープン・
ツールボックス画面40を図示する。他の中間メニュー画
面42〜47及び終点画面62、64、66は、オープン・ツール
ボックス画面40から出る。絶対記憶画面62、実記憶画面
64、及び仮想記憶画面66はすべて、メモリ22の部分を表
すが、異なった表示モードを提供する。
第3図は、サービス・プロセッサ12をテストするための
半自動システムの従来の技術のブロック図である。従来
の技術によれば、人はまず、経路の中で順次に各画面を
呼び出すようにサービス・プロセッサに指示するため
に、各画面についてコマンドを指定した、個別のテスト
・プログラム77を書き込む。このプログラムは順次ロー
ドされ、パーソナル・コンピュータを含むテスト・シス
テム70の中で実行される。実際に呼び出された画面は、
テスト・プログラム中で追加コードを介して検査され、
メニュー画面の経路設定された機能が適切に稼働してい
るか否かを判定する。またプログラムは、終点画面を働
かせるためのステップを含む。たとえば、終点画面がメ
モリの1部分を示す場合には、テスト・システム70が使
用されて、メモリにデータを書き込むようにサービス・
プロセッサ12を指示するためのプログラムを実行させ
る。プログラムは、キーストローク・インタフェース72
を介して情報を伝送し、モニタ17上のカーソルを操作し
て、これによりメモリ中の正確な位置を指示する。次
に、プログラムはキーストローク・インタフェース72を
介して、サービス・プロセッサ12に書込み要求を転送す
る。キーストローク・インタフェース72は、キーボード
73上のキーストロークと同じサービス・プロセッサ12へ
の入力を生成する。これらのステップを、さらに詳しく
下記に示す。
CUR MOVE(ROW X,COLUMN Y) このステップによって、カーソルが指定された行と別に
置かれるまで、キーストローク・インタフェースはカー
ソル・タブ・キーの繰返し動作をさせることになる。プ
ログラムにおける次のステップは、書込み要求と書き込
もうとするデータを、カーソルで指示された位置に指定
する。
CALL KEYS(DATA) これに応答して、サービス・プロセッサは、実際に書き
込まれたデータによって、画面上の同じ列位置の次の行
を更新する。この位置は、前の行と列につながってお
り、前の行の内容を表示するために使用される。プログ
ラム・ステップは下記の通りである。
CALL LOOK FOR(ROW+1,COLUMN,DATA) このプログラム・ステップも、「CALL KEYS」ステップ
中に書き込まれた実際のデータを、書き込むように要求
された「データ」と比較するように、サービス・プロセ
ッサ12を指示する。サービス・プロセッサ12はリターン
・コードを生成し、この2つが同じであるか否かを示
す。次に、プログラムはリターン・コードを読み取る。
CHECK RETURN CODE この2つが同じである場合には、リターン・コードはゼ
ロに等しく、サービス・プロセッサは適切に稼働してい
ると思われる。しかしながら、2つが同じでない場合に
は、リターン・コードはゼロでなく、サービス・プロセ
ッサ12が適切に稼働していないか、またはメモリ22が適
切に稼働していないかであり、そしてエラー・メッセー
ジがエラーログ75に書き込まれ、エラー回復プロセスが
呼び出される。
テスト・システム70と個別のテスト・プログラム77がサ
ービス・プロセッサ12のテストを容易化しても、全体の
テスト・プロセスは、階層中に非常に多くの画面があっ
て、ユーザはテストしようとする各メニューと終点画面
を特定しなければならず、そしてユーザは各テストにつ
いてコードを書き込まなければならないので、長い時間
がかかる。
本発明に注目すると、第4図は、全体が100で示される
完全自動テスト・システムを図示している。システム10
0は、本発明を実現する新しいテスト・プログラムすな
わちテスト・ケース生成システム102、半自動テスト・
システム70(個別のテスト・プログラム77は除く)、及
びその間の従来の技術のゲートウェイ経路指定インタフ
ェース108を含む。システム102は、ユーザ・インタフェ
ース103、コーディネータ104、及びテスト・プログラム
すなわちテスト・ケース・ジェネレータ106を有する。
さらに詳しく後述するように、テスト・プログラム・ジ
ェネレータ106は、テスト・プログラム109をオフライン
で自動的に生成し、メニュー画面の経路設定機能をテス
トし、サービス・プロセッサの終点画面を実行させる、
知識ベース・システムである。それから、プログラムは
システム70にロードされ、実行され、そしてすべての所
望されたテスト・ケースは、人手によってもはや入力す
ることなく実行される。
第5図は、システム100の基本動作モードを示す流れ図
である。ステップ80で、ユーザは第2図の画面階層によ
って、テスト用画面またはテスト経路中の開始終了画面
の1分岐に、最も高位の画面を指定する。テスト・プロ
グラム・ジェネレータ106が使用可能になると、コーデ
ィネータ104はステップ80の作業要求をジェネレータ106
に伝送し(ステップ82)このためジェネレータ106は対
応するテスト・プログラム109を書き込むことができ
る。次に、テスト・プログラム・ジェネレータ106は、
その知識ベースから、ステップ80で指定した開始画面に
よって始まる分岐または経路に、画面を決定する(ステ
ップ83)。次に、テスト・プログラム・ジェネレータ10
6はテスト・プログラム109を書き込み、(a)サービス
・プロセッサ12が、サービス・プロセッサ12によって実
際に生成された分岐または経路における適切なメニュー
画面の各々または抽出見本に、実際にアクセスすること
ができることを検査し、そして(b)終点画面を実行さ
せる(ステップ84)。次に、テスト・プログラム109は
システム70にロードされ(ステップ85)、サービス・プ
ロセッサ12によって実際に提供された経路設定をテスト
するために実行される(ステップ86)。何らかのエラー
がログ75に記録され(ステップ87、88)、エラー回復プ
ロセスが呼び出される。次に、テスト・プログラムは、
分岐または経路中の終点画面を実行させ、サービス・プ
ロセッサ12が実際に、この画面によって示される機能を
実施できるか否かを判定する(ステップ89)。このよう
な機能は、サービス・プロセッサ12によるメモリへの書
込み及びメモリからの読取り、適用業務のためのサービ
ス・プロセッサ12によるメモリの割当て、及びCPU16を
パワーアップするためのサービス・プロセッサ12の能力
を含む。何らかのエラーがログ75に記録されて(ステッ
プ90、92)、エラー回復プロセスが呼び出される。
ユーザ・インタフェース ユーザ・インタフェース103は、第6図で示された画面
を表示し、この画面によって、ユーザは作業要求を指定
することができる(第5図のステップ80)。画面122に
よって、ユーザは3つのテスト・モード、すなわち「生
成のみ」、「生成と実行」、及び「生成と連続実行」の
うちの任意の1つを選択することができる。「生成の
み」テスト・モードは、テスト・プログラム109を書き
込むが、それをシステム70によって実行させないよう
に、テスト・プログラム・ジェネレータに指示する。
「生成と実行」モードは、テスト・プログラムを書き込
み、そしてまたそれを実行させるように、テスト・プロ
グラム・ジェネレータに指示する。「生成と連続実行」
モードは、テスト・プログラムを書き込み、分岐中の何
らかの経路及び終点画面を無作為にテストするように、
テスト・プログラム・ジェネレータに、(さらに詳しく
後述するコーディネータ104によって供給された作業要
求を介して)指示する。しかし、このテストが実行され
た後、プログラムはシステム70にコーディネータ104を
通知するように指示する。これに応答して、コーディネ
ータ104は、他のテスト・プログラムを生成して、同じ
分岐上の何らかの経路及び終点画面を無作為にテストす
るように、テスト・プログラム・ジェネレータ106に指
示する。このプロセスは、人手による停止か所定の時間
切れまで繰り返される。この最後のモードは、テスト画
面数が非常に多く、そしてユーザがテスト・プログラム
を実行させるために限られた時間を有し、しかしこの時
間を満たすための最大強度係数を知らない状況で、使用
可能である。
次の画面124は、ジェネレータ106を「フロー・テスト」
モードに指示し、テスト・プログラムを書き込み、画面
間の経路設定をチェックし、終点画面を実行させず、ま
たは「機能」モードに指示して、テスト・プログラムを
書き込み、経路設定をチェックして、終点画面を実行さ
せる。
「機能」または「フロー」モードは、画面124から選択
され、次にユーザ・インタフェースは画面126を提供
し、この中にINAVALID、VALID、またはMIXオプションが
提供される。INVALIDオプションは、サービス・プロセ
ッサ12によって無効データの処理を試みるテスト・プロ
グラムを作り出す。たとえば、INVALIDオプション選択
の後に、テスト・プログラム107は、範囲外の値を1つ
のフィールドに書き込もうと試み、文字などの間違った
形式のデータを数字の代わりに数字フィールドに入力す
ることを試み、無効のPFキーを押し、または無効の選択
を行なう。VALIDオプションは、適切な形式のデータを
フィールドに書き込み、次いで、データが実際に上記の
フィールドに書き込まれたか否かを判定することを試み
るテスト・プログラムを作り出す。MIXオプションは、
両形式のテスト、すなわちINVALIDデータ及びVALIDデー
タを作るテスト・プログラムを作り出す。
画面126が使用された後、ユーザ・インタフェース103
は、「ランダム」、「固定」、及び「フル」オプション
を表示する画面130を提供する。「固定」オプションに
よってユーザは、画面Aのような開始画面、及び後記の
画面Bのような1つまたは複数の最終画面を脂定し、そ
して画面Aと任意の指定された画面Bとの間の経路中の
画面をテストするように、テスト・プログラム・ジェネ
レータ106に指示することができる。
「フル」オプションによって、ユーザは、分岐の開始画
面を提供し、テスト・プログラムを書き込んで、樹形階
層中の指定された画面の下のすべての経路をテストする
ように、テスト・プログラム・ジェネレータ106に指示
することができる。「ランダム」オプションはユーザが
無作為テストの所望の「強度」を入力する画面132を呼
び出す。このユーザ・エントリはパーセンテージの形式
であり、ユーザがテスト・プログラムをテストしようと
望んでいる、テスト分岐または経路内の経路及び画面の
パーセンテージを指示する。ユーザはまた、所与のテス
ト・プログラム・セットの再生のためのシードを指定す
るためのオプションを有する。これは提供されない場合
は、無作為に選択されることになる。インタフェース10
3が画面132を提示した後、または「固定」または「フ
ル」オプシヨンが画面130から選択された後、画面134が
提示されて、この中には、第2図の階層の第1画面30が
提示される。次の図示例では、ユーザは、画面30によっ
てアクセスされた画面32、34、または36の1つを、テス
トのための開始点として、選択する機会を有する。ユー
ザが、テスト時間を減少するために、選択された画面3
2、34、36より低いテストを開始しようと望む場合に
は、ユーザは、選択された画面32、34、36によってアク
セスされた画面の1つを選択することができる。これに
応答して、ユーザ・インタフェース103は、選択された
画面を提示することになり、これによってユーザは、ア
クセスされた画面の任意のものをテストにおける開始点
として指定することができる。この手順は、ユーザがテ
ストを開始するために選択をするまで繰り返される。選
択が行なわれると、ユーザ・インタフェース103は、す
べての選択番号をファイル(後述)に書き込む。
ユーザ・インタフェース103はまた、「固定→モードで
の第1選択の下に追加の画面を作り、テスト中の経路を
すべての選択された画面を含む経路に限ることができる
ようにする。これらの経路はまた、実行させる終点画面
を定義する。ユーザ・インタフェース103はまた、追加
画面の1つまたは複数の選択番号をファイルの中に記憶
する。すべての選択が行なわれると、ファイルはコーデ
ィネータ104を介してテスト・プログラム・ジェネレー
タ106に送られ、開始画面の下のすべての経路を決定
し、(そして選択された場合には他の1つまたは複数の
画面を含み)そして後述のように、テスト用に(無作為
テストの場合には)経路のどれかを疑似無作為に選択す
る。
コーディネータ 図示した実施例では、多くのユーザがシステム102への
アクセスを持つことができる。第7図に示すように、コ
ーディネータ104は、ユーザ・インタフェース103を介し
て、1人または複数のユーザから、1つまたは複数のフ
ァイルに1つまたは複数の作業要求を受け取り、作業要
求の第1はコーディネータを「呼び覚ます」(ステップ
300)。作業要求ファイルは、開始画面(とオプション
でテスト中の追加画面)を指示する選択番号を含み、上
述の経路テストと終点画面を定義する。次にコーディネ
ータ104は、作業要求を名付け、待ち合わせる(ステッ
プ302)。次にコーディネータ104は、ユーザによる将来
の参照のために作業要求をフォーマットする(ステップ
304)。テストを連続して実行するために、コーディネ
ータ104はまた、テストのために予定された経路と、各
経路が異なったテストのために何回テストされることに
なるかを示す統計を保持する。このような統計によっ
て、ユーザは、各経路について十分なテストがなされる
か否か、そして追加テストが必要であるか否か、を判定
することができる。この統計はまた、各終点画面につい
てどれだけのテスト・ケースが実行されることになるか
を示す。
最初に線上にある作業要求は、実行のためにテスト・プ
ログラム・ジェネレータ106に送られる(ステップ30
6)。次にコーディネータ104は、テスト・プログラム・
ジェネレータからの結果を待つ(ステップ308)。作業
要求がうまく実行された場合には、(判断ブロック30
9)、テスト・ケースを含む完成ファイルはユーザに送
られる(ステップ310)。作業要求にエラーがあるか、
または何か他の問題が生じた場合には、エラー信号がユ
ーザに伝送される(ステップ312)。ステップ310または
312の後に、コーディネータ104は、待ち行列中に他の作
業要求があるか否かを判定する(判断ブロック314)。
そうである場合には、制御はステップ302に戻る。そう
でない場合は、コーディネータは再び眠らされる(ステ
ップ316)。実際の経路設定及び実行テスト・プログラ
ムは、ステップ308の後に生成される。第4図に示すよ
うに、ログ75に記録された何らかのエラーが、インタフ
ェース・ゲートウェイ108と通信回線320を介して、ユー
ザ・インタフェース103に直接報告される。
テスト・プログラム・ジェネレータ テスト・プログラム・ジェネレータ106は、規則指向の
知識ベース・システムで、例として、VM/PROLOG言語と
その組込み推論機構を使用する。ジェネレータ106は、
規則/事実を含み、規則/事実を連鎖し分析して、適切
なテスト手段に達する。さらに、ジェネレータ106はま
た、番号のフォーマットをファイルから読み取り、ファ
イルに書き込み、変更し、そして他のコンピュータ言語
へのインタフェースを提供する。ジェネレータ106の知
識ベースは、特定規則/事実111を含み、これは、第2
図に示すようなサインオン・メニュー画面30、直接メニ
ュー画面32〜47、及び終点画面62〜66を含む、サービス
・プロセッサ12によって生成されるすべての画面を定義
(メニュー機能を含む)するために使用される。各メニ
ュー画面について、少なくとも、その画面によってアク
セスされる画面の数だけの特定規則/事実がある。第2
図に示す例では、サインオン画面30は開発デバッグ画面
32、オペレータ画面34、及びカストマ・エンジニア画面
36にアクセスするために使用される。従って、サインオ
ン画面30が他の画面32、34、36の各々に先行することを
示す特定規則/事実がある。システム100は、次のPROLO
Gフォーマットを使用して、これらの関係を指示する。
1.PANEL DEF(“SIGN−ON",“DEVELOPMENT DEBUG",1,
D,“DEVELOPMENT DEBUG"). 2.PANEL DEF(“SIGN−ON".“OPERATOR INTERFACE",2,
0,“OPERATOR"). 3.PANEL DEF(“SIGN−ON",“CUSTOMER INTERFACE",3,
C,“CUSTOMER ENGINEER"). 上記のPROLOGフォーマットでは、3つの規則/事実の各
々は、サインオン・パネルすなわち画面30の定義であ
る。上記の規則/事実の各々では、「サインオン」に続
く用語は、サインオン画面30のメニューによってアクセ
スされる他の画面またはパネルの説明である。画面説明
語に続く番号は、アクセスされた画面を識別する選択番
号(上述)であり、この選択番号に続く文字は、アクセ
スされた画面を選択するためのキーボード73入力であ
る。各規則/事実における最終語は、アクセスされた画
面の実際のタイトルである。パネル定義における記述
は、実際のタイトルと同じであってもなくてもよい。知
識ベースは、サービス・プロセッサ12によって表示され
たすべての画面について、アナログ規則/事実を含む。
たとえば、下記は開発デバッグ画面32についての規則/
事実である。
1.PANEL DEF(“DEVELOPMENT DEBUG",“CUSTOMIZE SYS
TEM",4,C,“CUSTOMIZE SYSTEM"). 2.PANEL DEF(“DEVELOPMENT DEBUG",“TOOLLIST,5,0,
“OPEN TOOL BOX"). このような規則/事実は、第2図に示す階層ツリーを定
義し、サービス・プロセッサ12で生成可能な画面のすべ
て、及びすべての画面の間の経路設定を含む。
テスト・プログラム・ジェネレータ106は、他の特定テ
スト規則/事実も含み、これはコンピュータ10における
機能に対応する画面62、64、66を含む、すべての終点画
面を定義する。たとえば、第2図では、実記憶画面34は
メモリ22に対応し、下記の規則によって部分的に定義さ
れる。
1.VAR VYPE(“REAL STORAGE",VAR 1,“HEX"); 2.VAR RANGE(“REAL STORAGE",VAR 1,[0,FFFF]); 3.VAR POS(“REAL STORAGE",VAR 1,11,20); 4.VAR OPT(“REAL STORAGE",VAR 1,W). 実記憶画面64で、上の規則/事実第1番は、「VAR
1」としてフィールドを識別し、「VAR 1」フィール
ドが16進法のデータを含むことを示す。規則/事実2
は、VAR 1フィールドが0〜FFFFの範囲で16進法入力
を準備できることを指定する。規則/事実3は、VAR
1フィールドが画面64の第11行第20列に置かれているこ
とを示す。規則/事実4は、VAR 1フィールドが書込
み(W)フィールドであること、すなわちデータがVAR
1フィールドに書き込まれることができることを指定
する。画面64に他のすべての書込みフィールドを定義す
ることのできる、他の規則/事実があり、画面64はいく
つかのページを含むことができる。
テスト・プログラム・ジェネレータ106はまた、実記憶
画面64内で読取りフィールドを識別し、記述する他の特
定のテスト規則/事実を含む。たとえば、4つの規則/
事実からなる他のセットは、VAR 2フィールドを記述
し、このフィールドは、VAR 2フィールドに書き込も
うと意図されたデータが実際にメモリに書き込まれたか
否か、を判定するために使用される。
1.VAR TYPE(“REAL STORAGE",VAR 2,“HEX"); 2.VAR RANGE(“REAL STORAGE",VAR 2,[0,FFFF]); 3.VAR POS(“REAL STORAGE",VAR 2,12,20); 4.VAR OPT(“REAL STORAGE",VAR 2,R). 規則/事実1は、VAR 2フィールドが16進法データを
含むことを示す。規則/事実2は、VAR 2フィールド
の範囲が0〜FFFFであることを示す。規則3は、VAR
2フィールドがVAR 1フィールドの直ぐ下の第12行第2
0列に位置していることを示し、そのためにこれらの両
フィールドを比較の目的のために、モニタ17上で同時に
見ることができる。サービス・プロセッサは、これらの
フィールドが同じ列の続いた行(奇数行、偶数行)に位
置するために、これらの両フィールドをメモリの同じ位
置に結び付けるようにプログラミングされる。サービス
・プロセッサはまた、同じ理由で、書込みフィールドと
しての第11行、及び読取りフィールドとしての第12行に
応答するようにプログラミングされる。規則4は、VAR
2フィールドが読取りフィールド(R)であることを
示す。
画面64内に他の読取りフィールドを定義する、他の規則
/事実がある。メモリはまたはパワーのアップ/ダウン
を割り当てるために使用される他の読取りフィールドを
定義する他の終点画面は、書込みフィールドと読取りフ
ィールド、及び先にリストしたものと類似した規則/事
実を含む。
上記の特定テスト規則/事実はすべて、詳しく後述する
ように、完全自動テストを可能にする方法で、サービス
・プロセッサ12間の経路設定、及び終点画面のフォーマ
ットを記述する。パネル定義及びフィールド定義のため
の情報は、人の手で入力されることができるか、また
は、サービス・プロセッサをプログラミングするために
使用されるデータベースから直接(電子的に)取り出す
ことができることが好ましい。
テスト・プログラム・ジェネレータ106はまた、2つの
一般カテゴリに入る一般テスト規則110、ユーティリテ
ィ規則、及び解釈規則を含む。ユーティリティ規則は、
速記インタフェースをファイルに供給することによっ
て、ファイルにテスト・プログラムを書き込む場合の支
援となる。たとえば、ユーティリティ規則は、OPEN FI
LEコマンドが対応する詳細なPROLOGコマンドの速記代替
であることを表すために、使用することができる。同様
に、ユーティリティ規則は、WRITE INTO FILEコマン
ドが対応する詳細なPROLOGコマンドの速記代替であるこ
とを表すために、使用することができる。ユーティリテ
ィ規則の他の例は、疑似乱数を生成するため、すなわち
シードに基づく乱数を発生させるための規則である。よ
り詳しく後述するように、疑似乱数は、テスト実行に要
する時間を減らすために、分岐内の経路及び各テスト経
路内の画面のいくつかを、しかしすべてではないが、テ
ストするために使用される。他の形式のユーティリティ
規則は、16進数から10進数への変換を定義するための規
則である。この規則は、システム100が、16進コードま
たは10進コードのいずれかによって動作するサービス・
プロセッサにインタフェースすることができるように、
含まれている。
解釈規則は、テストのための経路を決定し、テストを生
成し、これらの経路を実行させるために使用される。た
とえば次の解釈規則が、固定テスト・モードにおいて2
つの特定の画面A、Bの間の経路設定をテストするため
に、循環的に使用される。
1.IF ARC(SCREEN A,SCREEN B),THEN PATH(SCREEN A,
SCREEN B) 2.IF ARC(SCREEN A,SCREEN INT)AND PATH(SCREEN IN
T,SCREEN B),THEN PATH(SCREEN A,SCREEN B). 「ARC」は、中間画面なしでの2つの画面の間の直接連
結であり、「path」は中間画面があるかまたはない結合
である。規則1または規則2のいずれかが満足される場
合には、2つの画面の間には「path」がある。規則1と
規則2は、直接結合が中間画面から画面Bに見つからま
で、循環的に適用される。次にジェネレータ106は、こ
の経路についての記録を更新し、識別したことに留意さ
れたい。この時点でジェネレータ106は、ジェネレータ1
06の知識ベース内で識別及び検査しただけである。第2
図の例では、ユーザの選択で画面Aは画面32、画面Bは
画面64にすることができる。規則1は、画面Aから画面
BへのARCがある場合には、画面Aから画面Bへ経路が
あるという意味に解される。規則2は、画面Aから中間
画面へのARCがあり、中間画面から画面Bへ経路がある
場合には、画面Aから画面Bに経路があるという意味に
解される。
テスト・プログラム・ジェネレータ106は、画面Aにつ
いて上記のパネル定義規則/事実をすべて読み取ること
によって、規則1をテストし、画面Aから画面Bへの直
接経路またはARCがあるか否かを判定する。このステッ
プは、画面Aについてパネル定義規則/事実のための最
終エントリを読み取ることによって実行される。この規
則が満足される場合には、ジェネレータ106は、ジェネ
レータ106の知識ベース内に経路を位置決めしている。
この規則が満足されない場合には、ジェネレータは規則
2をテストする。規則2をテストするために、ジェネレ
ータは画面INTの代わりに、画面Aによってアクセスさ
れた画面の1つを代用する。この情報は、上記のパネル
定義規則/事実から得られる。次に、ジェネレータ106
は、規則1の仕分けによって規則2の第2前提を分析す
る。すなわち、画面中間から画面Bに、その間に直接結
合がある場合には、経路がある。この情報は、パネル中
間のためのパネル定義規則/事実から得られる。規則2
の両前提がテストされ、中間パネルが画面Aのためのパ
ネル定義規則/事実によって定義されると、ジェネレー
タ106はテストされた経路を記録する。この時点で、経
路用の記録は、画面A用の選択番号、及び画面Aによっ
てアクセスされた第1画面用のキーストローク文字を含
む。たとえば、上記ステップ1、2の第1反復の後に、
次の記録が画面30から画面32への経路、すなわち1、d
について行なわれる。
規則2が第1反復中に満足されなかったと仮定すれば、
画面32によってアクセスされた画面の1つは、新しい中
間パネルとなる。画面32用のパネル定義によれば、新し
い中間パネルは画面38である。この画面の存在は、規則
2の第1前提を満足する。次に、規則2の第2前提は、
新しい中間パネルから画面Bに何らかの結合があるか否
かを判定することによって、テストされる。この情報
は、画面38用のパネル定義から得られる。次に、ジェネ
レータ106は、テスト中の経路の記録、1、d、cを更
新する。このプロセスは、この経路が画面Bに行くまで
繰り返される。前の場合では、テスト・プログラム・ジ
ェネレータ106は、テスト・プログラム107中に、画面A
から画面bへの有効経路のキーストローク文字、並びに
各画面用の画面タイトルを合併する。各終点画面用のパ
ネル定義は、終点画面がどの下位画面も識別しないの
で、中間画面用のパネル定義とは異なる。
PANEL DEF(“ABSOLUTE STORAGE",*,*,‘ENTER',
“ABSOLUTE STORAGE") ジェネレータ106が「入力」エントリを読み取ると、ジ
ェネレータは、絶対記憶画面が終点画面であって、経路
を完結することを実現する。終点画面が画面Bでない場
合には、テスト・プログラム・ジェネレータ106は、終
点画面からの1つのレベルをバックアップして、経路を
再定義し、1レベルアップ画面によってアクセスされた
画面の異なった1つを含む。たとえば、第1経路が絶対
記憶画面62に進み、画面62が画面Bでない場合には、ジ
ェネレータ106は、記憶画面46をバックアップし、実記
憶画面64への新しい経路を定義する。実記憶画面64が画
面Bでない場合には、ジェネレータ106は、実記憶画面4
6を再びバックアップし、仮想記憶画面66への新しい経
路を定義する。仮想記憶画面66が画面Bでない場合に
は、ジェネレータ106は、表示変更画面43へさらに1レ
ベルだけバックアップし、制御情報画面47への経路を定
義する。上記のプロセスは、画面Bが置かれ、経路が画
面A用の選択番号と、画面Aから画面Bに進むキースト
ローク文字によって定義されるまで、繰り返される。
作業要求が、単一開始画面から出る画面の分岐をテスト
することである場合には、ジェネレータ106は、先ず分
岐中のすべての終点画面を判定し、次いで開始画面から
派生する各経路を、分岐中の終点画面のすべて(フル・
テスト)または幾つか(無作為テスト)にマップする。
分岐中の終点画面はすべて、次のように判定決定され
る。すなわち、上記の規則1、2は、分岐中の候補画面
を識別するために利用され、この候補画面は終点画面で
あってもなくてもよい。この目的に規則1、2を利用す
るために、開始画面は画面Aに代わりにされ、画面B
は、規則1、2及びパネル定義の知識ベースによって候
補画面として識別される。それから、次の規則が分析さ
れ、候補画面が終点画面であるか否かを判定する。すな
わち、 3.経路(開始画面から候補画面へ)及びNOARCであれ
ば、終点画面。
規則3の第2前提が満足される場合には、候補画面は終
点画面であり、終点画面タイトルと選択番号はリストに
記憶され、他の候補画面は規則1、2を用いて選択さ
れ、画面Aは変わらない。規則3の第2前提が満足され
ないと、候補画面は終点画面ではなく、規則1、2は再
び分析され、画面Aは前の候補にセットされる。上記の
プロセスは、すべての候補がテストされ、すべての終点
画面が識別されて、リストに記憶されるまで、繰り返さ
れる。
フル・テストが選択された場合には、規則1、2が適用
され、リスト内の各終点画面について記載され、画面A
は開始画面に、画面Bは終点画面にセットされる。結果
は、開始画面から各終点画面への経路マップである。し
かし、無作為テストが選択されると、疑似乱数ジェネレ
ータ113と選択された強度ファクタ・パーセンテージ
が、終点画面のいくつかのみを選択するために使用され
る。次に、規則1、2は、選択された終点画面の各々に
ついて適用され、開始画面から選択された終点画面の各
々への経路マップを決定する。
「固定」または「フル」オプションが画面130(第6
図)で選択された場合には、この手順は画面A下の終点
画面のリスト中の各終点画面について繰り返される。し
かし、「無作為」オプションが画面130で選択された場
合には、この手順は、1つの選択された画面から出た経
路の疑似無作為部分について利用される。第8図は、テ
スト用の経路を疑似無作為に選択するために、ジェネレ
ータ106によって実行されるプロセスを示す。ステップ4
02で、ジェネレータ106は、1つの選択された画面から
出るすべての経路における、すべての終点画面のリスト
を作成する。ジェネレータ106はまた、各終点画面に順
次番号を割り当てる。次にジェネレータ106は、ステッ
プ132(第6図)で選択された強度と終点画面数とを掛
けたもの(ステップ404)に基づいてテストされるべ
き、経路の数(番号)を決定する。ジェネレータ106は
また、変数「T」をこの数(番号)に等しく設定する。
次にジェネレータ106は、疑似乱数ジェネレータ113を使
用して、リスト中に1と終点画面の数との間の乱数を得
て、このリストからこの番号(第x)の終点画面を選択
する。次に、ジェネレータ106は、画面Aから画面Bへ
の経路を生成する(ステップ408)。次にジェネレータ1
06は、リストから画面Xを削除し、リスト中の画面数を
減分し、変数「T」を減分する(ステップ410)。ステ
ップ406、408、410は、T=0になるまで、画面を残す
ために繰り返される(判断ブロック412)。上記は、ど
のようにテスト・システムがある画面から他の画面への
経路をチェックし、経路中の画面がサービス・プロセッ
サ12によって適切にアクセスされることを検査するか、
を説明したものである。
それから、テスト・プログラム107は、2つの選択され
た画面、または知識ベースで識別された1つの選択され
た画面から出た画面の間の経路にある画面の各々、また
はサンプルが、同じ階層配列中のサービス・プロセッサ
12によって実際に生成されているか否かを判定する。こ
の目的のために、テスト・プログラムは、コマンド(キ
ーストローク文字)をインタフェース72を介してサービ
ス・プロセッサ12に送り、サービス・プロセッサ12をパ
ワーアップし、次に、キーストローク文字を画面Aすな
わち分岐中の開始画面に進める。次にプログラムは、キ
ーストローク・コードをインタフェース72を介して送
り、経路中の次画面を呼び出す。次にテスト・プログラ
ムは、画面がパネル定義におけるタイトルに合致してい
るか否かを判定する。たとえば、画面Aがサイン・オン
画面30に対応しており、知識ベースによる経路中の次画
面が開発デバッグ画面32である場合には、テスト・プロ
グラム107は、下記の用に、キーストローク「D」用の
コードをサービス・プロセッサに送る。
CALL KEYS(“D") 次に、テスト・プログラム107は、サービス・プロセッ
サ12のコードに送り、実画面タイトルを「開発デバッ
グ」と比較する。すなわち、 CALL LOOK FOR(PANEL“DEVELOPMENT DEBUG"). これに応答して、サービス・プロセッサ12は、実際に呼
び出された画面中のタイトルをタイトル「開発デバッ
グ」と比較することになり、それらが合致している場合
には、ゼロのリターン・コードを返し、プログラム107
をテストする。
次に、テスト・プログラムがサービス・プロセッサ12を
介して、メモリ画面に書き込むことなどによって、そし
て実際に書き込まれたものを、書き込もうとしたものと
比較するなどして、どのように終点画面を動かすかを説
明する。ユーザ・インタフェースからフル・オプション
が選択された場合には、リスト中のすべての終点画面及
び各画面中のすべてのフィールドが動かされる。無作為
オプションが選択された場合には、リスト中の終点画面
が、テストのためにジェネレータ113によって疑似無作
為に選択される。また、選択された画面の各々における
フィールドが、テストのためにジェネレータ113によっ
て疑似無作為に選択される。固定オプションが選択され
た場合には、ユーザは、どの終点画面がテストされるべ
きであるかを指定する。指定された終点画面の各々にお
けるすべてのフィールドがテストされる。
このテストのためには、解釈規則が使用される。テスト
・プログラム107は、サービス・プロセッサ12にインタ
フェース72を介してキーストローク・コードを送り、
(1)メモリ画面を呼び出し、(2)カーソルを適切な
データ入力位置またはフィールドに動かし、そして
(3)データを下記のようにメモリに書き込む。
1.(a)CALL KEYS(KEYSTROKE LETTER). 2.(b)CALL KEYS(KEYSTROKE LETTER). 2.CUR MOVE(ROW X,COLUMN Y). 3.CALL KEYS(DATA). これらのコマンドは、サービス・プロセッサ12に対し
て、指定されたデータを、カーソルの位置によって示さ
れたフィールドに書き込むよう指示する。カーソルの位
置で示したメモリ位置の内容を読み取り、カーソルの位
置で示したメモリ位置におけるデータを、コマンド中に
述べたデータと比較するように、下記のコマンドを用い
て指示する。
CALL LOOK FOR(DATA). このコマンドに応答して、リターン・コードがテスト・
プロセッサ107に返され、指定されたデータが適切な位
置に書き込まれたことを、サービス・プロセッサ12が確
知したかどうかを示す。
より詳しく後述するように、テスト・プログラム・ジェ
ネレータ106は、ユーザが要求した場合には、メモリ画
面中のすべてのフィールドをテストするテスト・プログ
ラムを書き込むことができる。しかし、テスト・プログ
ラム・ジェネレータ106は、第9図に示す方法で、メモ
リ画面内のメモリ・フィールドの1つより小さい部分を
テストすることもできる。テストへのこのような部分的
アプローチは、全体のテスト時間を短縮する。また第9
図は、テスト・プログラム・ジェネレータ106がアドレ
ス・フィールドとデータ・フィールドの両方の境界のテ
ストを強調する方法も示す。
ステップ202で、テスト・プログラム・ジェネレータ106
は、フィールドの下境界と上境界を決定する。有効テス
トがユーザ・インタフェース103から選択された場合に
は(判断ブロック203)、テスト・プログラム・ジェネ
レータ106は、疑似乱数ジェネレータ113を使用して、1
〜7の範囲の乱数を選択する(ステップ204)。乱数が
1である場合には(判断ブロック206)、ジェネレータ1
06は、その範囲の下境界すなわち最低値をテストする
(ステップ208)。上の例では、「VAR」フィールドは規
則1〜4によって記述されており、最低値は0000であ
る。ステップ204で選択された乱数が1ではなく2であ
った場合には(判断ブロック210)、ジェネレータ106
は、最低値プラス1をテストする(ステップ212)。「V
AR」フィールドについての上の例では、この値は0001で
ある。ステップ204で選択された乱数が3であった場合
には(判断ブ呂ック214)、ジェネレータ106は、最高値
すなわち上境界マイナス1、FFFEをテストする(ステッ
プ216)。しかし、ステップ204で選択された乱数が4で
あった場合には(判断ブロック218)、ジェネレータ106
は、その範囲の最高値すなわち下境界をテストする(ス
テップ220)。「VAR」フィールドについての上の例で
は、この最高値はFFFFである。しかし、ステップ204で
選択された乱数が5と7の間であった場合には、ジェネ
レータ106は、疑似乱数ジェネレータ113を使用して(ス
テップ222)、最高値と最低値の間の疑似無作為フィー
ルドを選択する。これは上の例では0000とFFFFの間であ
る。
上記のように、7例のうちからほぼ4例について、境界
条件がテストされる。境界条件テストに関してこの強調
をするのは、境界の間で発生したエラーに比較して、問
題の大部分が境界位置で発生しているからである。図示
した例では、7つのうちのほぼ4つのテストが境界条件
について行なわれている。しかし、望むならば、境界条
件の別のパーセンテージを、ステップ204で生成した乱
数の範囲を単に変えることによって、テストすることが
できる。範囲が増すと、より低いパーセンテージのテス
トが境界条件で行なわれ、その逆もあり得る。また第8
図は、ステップ222で、境界条件間のテストが無作為ま
たは疑似無作為ベースで行なわれることを示す。
第9図はまた、「無効」テストを、このテストがユーザ
・インタフェース103によって選択された場合には(判
断ブロック203)、テスト・プログラムが行なうことも
できることを示す。乱数が8であるこのような場合(ス
テップ221)、この範囲における最低値より小さいデー
タ・エントリが試みられる(判断ブロック223及びステ
ップ225)。乱数が9である場合には、この範囲におけ
る最高値より大きなデータ・エントリが試みられる(ス
テップ229)。
解釈規則も、サービス・プロセッサ12の能力のテストに
使用され、メモリを特定の適用業務に割り当てる。この
テストのために、テスト・プログラム109はキーストロ
ーク・コードをインタフェースを介して伝送し、メモリ
割当て画面を呼び出し、カーソルを適切なデータ・エン
トリ位置に動かし、次のようにメモリを割当てる。
CALL KEYS(KEYSTROKE LETTER). CUR MOVE(ROW X,COLUMN Y). CALL KEYS(12MEG). このコマンドは、サービス・プロセッサ12に対して、適
用業務のために12メガバイトのメモリ12を割り当てるよ
う指示する。そしてテスト・プログラム109は、サービ
ス・プロセッサ12に、下記のコマンドを送ることによっ
てどれだけのメモリが実際に割り当てられたかをチェッ
クする。
CALL LOOK FOR(MACHINE NOW HAS 12 MEG). これに応答して、サービス・プロセッサ12は、カーソル
によって指示されたメモリ割当て位置のデータを要求さ
れた位置と比較し、リターン・コードがテスト・プログ
ラム109に送られ、サービス・プロセッサ12が、適切な
量のメモリが割り当てられたことを認知したか否かを示
す。これは、メモリに正確に書き込み、メモリから正確
に読み取るサービス・プロセッサ12の能力の別のテスト
である。
テスト・プログラム・ジェネレータ106はまた、サービ
ス・プロセッサ12がプロセッサの付勢を試みた後にCPU1
6がパワー・アップされたことを、テストする規則を含
む。このテストのために、テスト・プログラム107はパ
ワー・アップ・コードをサービス・プロセッサ12に送
り、コードを送ってカーソルを位置に動かし、そしてサ
ービス・プロセッサに、その位置の情報を期待されてい
る情報と比較するよう求める。
CALL KEYS(KEYSTROKE LETTER). CUR MOVE(ROW X,COLUMN Y). CALL KEY(DATA). CALL LOOK FOR(DATA). テスト・プログラム・ジェネレータ106はまた、第4図
に示す構文規則112も含む。この構文規則によって、テ
スト・プログラム・ジェネレータは、他の形式のサービ
ス・プロセッサ及びインタフェースのために他のフォー
マットでコードを生成することができる。
上記に基づいて、サービス・プロセッサ用の自動テスタ
を開示した。しかし、本発明の範囲を逸脱することな
く、多くの変更及び代替が可能である。たとえば、サー
ビス・プロセッサは、システム10の他の機能及び制御機
構をテストすることができ、そしてテスタ100は、サー
ビス・プロセッサによって提供されたこれらの他の機能
及び制御機構をテストするために使用することができ
る。また、システム100は、サービス・プロセッサ及び
第2図に示す画面以外の画面を表示する他の形式の適用
業務と共に使用可能である。したがって本発明は、図示
によって開示され、それに制御されるものではなく、ま
た本発明の範囲を画定するために、冒頭の特許請求の範
囲を参照されたい。
E.発明の効果 以上のように、本発明によれば人手を用いない自動的な
サービス・プロセッサのテストが可能となる。
【図面の簡単な説明】
第1図は、従来技術によるコンピュータとサービス・プ
ロセッサを示す略ブロック図である。 第2図は、第1図のサービス・プロセッサによって表示
されたメニューと終点コンピュータ画面の階層を示す略
図である。 第3図は、第1図のサービス・プロセッサをテストする
ための、従来技術による半自動テスト装置を示すブロッ
ク図である。 第4図は、本発明による自動サービス・プロセッサ・テ
スタを示すブロック図である。この自動テスタは、半自
動テスタと組み合わせた新しいテスト・プログラムまた
はテスト・ケース・ジェネレータ(個別のテスト・プロ
グラムを除く)、サービス・プロセッサ、インタフェー
ス・ゲートウェイ、及び第3図のコンピュータを含む。 第5図は、第4図の自動サービス・プロセッサ・テスト
・ケース・ジェネレータの一般的動作、及びテスト・プ
ログラムの順次実行を示す流れ図である。 第6図は、第4図のテスト・プログラム生成システムを
開始するためのユーザ・インタフェース・メニューを示
す図である。 第7図は、第4図のテスト・プログラム生成システムに
よるコーディネータの動作を示す流れ図である。 第8図は、メニュー画面から出た経路を疑似無作為にテ
ストするために、テスト・プログラムによって実行され
る、任意選択サブルーチンを示す流れ図である。 第9図は、終点画面内のフィールドを疑似無作為にテス
トし、なおもフィールドの境界値のテスト度合いを増加
させるために、第4図のテスト・プログラム生成システ
ムによって実行される、サブルーチンを示す流れ図であ
る。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 テイモシー・ジヨン・マクナマラ アメリカ合衆国ニユーヨーク州エンデイコ ツト、ステイン・ドライブ330番地 (56)参考文献 特開 平2−108134(JP,A)

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】サービス・プロセッサによって生成される
    第1,第2及び第3画面、及びどの画面が階層中の下位の
    他の画面を選択するためのメニューとして使用されるか
    を示す上記画面間の階層関係を含む、画面を表わすため
    のメモリ手段であって、上記画面が上記サービス・プロ
    セッサによってサービスされるコンピュータの状況を表
    わし、上記第1画面が階層内で下位にある上記第2画面
    または上記第3画面を選択するためのメニューとして使
    用される、上記のメモリ手段と、 上記メモリ手段に結合されており、上記第1画面の表示
    内容を上記メモリ手段から読み取るため、及び第2画面
    を呼び出すよう上記サービス・プロセッサに指示するた
    めのプログラムを生成し上記指示に応答して上記サービ
    ス・プロセッサによって実際に呼び出された画面を、上
    記メモリ手段から得られた上記第2画面と比較し、上記
    サービス・プロセッサが適切に稼働しているか否かを判
    定するための第1ジェネレータ手段と、 を具備することを特徴とするコンピュータ内のサービス
    ・プロセッサをテストするためのサービス・プロセッサ
    ・テスト装置。
  2. 【請求項2】上記メモリ手段に結合されており、上記第
    1画面によって始まる複数の経路において画面を識別す
    るため、及び階層中の他のレベルに向けるためであっ
    て、上記経路の第1経路が上記第1画面、上記第3画
    面、及び上記第3画面によってアクセスされた第4画面
    を含む、第2ジェネレータ手段をさらに備え、 上記第1ジェネレータ手段は、上記第2ジェネレータ手
    段にも結合されており、上記第1画面によって始まる上
    記第1経路内の画面の表示内容を読み取るため、上記第
    3画面を呼び出すように上記サービス・プロセッサを指
    示するためのプログラムを生成し、上記指示に応答して
    上記サービス・プロセッサによって実際に呼び出された
    画面を、上記メモリ手段から得られた上記第3画面と比
    較し、上記サービス・プロセッサが適切に稼働している
    か否かを判定するため、及び上記第3画面の表示内容を
    読み取り、上記第4画面を呼び出すように上記サービス
    ・プロセッサに指示するためのプログラムを生成して、
    上記指示に応答して上記サービス・プロセッサによって
    実際に呼び出された画面を、上記メモリ手段から得られ
    た上記第4画面と比較して、上記サービス・プロセッサ
    が適切に稼働しているか否かを判定することを特徴とす
    る請求項1に記載のサービス・プロセッサ・テスト装
    置。
  3. 【請求項3】上記メモリ手段に結合されて、画面の組を
    各組が少なくとも2つの画面を有し、それらのうち1つ
    は他の画面へのメニュー・アクセスを提供する第2ジェ
    ネレータ手段をさらに備え、 上記第1ジェネレータ手段は、上記第2ジェネレータ手
    段にも結合されており、各組の上記の1つの画面によっ
    て始まる上記の組の画面の表示内容を読み取るため、及
    び上記の組の上記の他の画面を呼び出すように上記サー
    ビス・プロセッサに指示するためのコンピュータ・プロ
    グラムを生成し、上記指示に応答して上記サービス・プ
    ロセッサによって実際に呼び出された画面を、上記メモ
    リ手段から得られた上記の他の画面と比較し、上記サー
    ビス・プロセッサが適切に稼働しているか否かを判定す
    ることを特徴とする請求項1に記載のサービス・プロセ
    ッサ・テスト装置。
  4. 【請求項4】コンピュータに関連するサービス・プロセ
    ッサをテストするためのサービス・プロセッサ・テスト
    装置において、 サービス・プロセッサによって表示される画面の階層を
    マッピングするためであり、上記サービス・プロセッサ
    の上記画面が、階層内で下位にある他のメニュー画面と
    終点画面にアクセスするメニュー画面を含む、メモリ手
    段と、 上記メモリ手段に結合されており、上記階層内で上記メ
    モリ手段から上記終点画面を識別するため、及び上記終
    点画面を動作させるためのプログラムを生成するための
    プログラム生成手段と、 を具備することを特徴とするサービス・プロセッサ・テ
    スト装置。
  5. 【請求項5】上記サービス・プロセッサによって表示さ
    れる、上記階層中の画面のうちの1つの分岐を識別する
    少なくとも1つの画面を選択するためのユーザ・インタ
    ーフェースの手段をさらに備え、 上記プログラム生成手段が上記ユーザ・インターフェー
    スに結合されて、上記分岐の終点画面を動作させるため
    のプログラムを生成することを特徴とする請求項4に記
    載のサービス・プロセッサ・テスト装置。
  6. 【請求項6】上記プログラム生成手段が、テストのため
    に、上記分岐の上記終点画面の1つよりも小さい部分を
    選択するための手段を含むことを特徴とする請求項5に
    記載のサービス・プロセッサ・テスト装置。
  7. 【請求項7】上記終点画面が、上記サービス・プロセッ
    サによってサービスされるコンピュータのメモリを表わ
    し、そして 上記プログラム生成手段が、上記終点画面内のメモリ・
    フィールドの1つより小さい部分を選択するため、及び
    選択されたフィールドを動作させるプログラムを生成し
    て、上記サービス・プロセッサの能力をテストし、上記
    コンピュータの実メモリ中の上記フィールドに書き込
    み、そしてコンピュータ中の上記メモリ・フィールドか
    ら読み取るため、の手段を含むことを特徴とする請求項
    4に記載のサービス・プロセッサ・テスト装置。
JP2215119A 1989-08-16 1990-08-16 サービス・プロセツサ・テスト装置 Expired - Lifetime JPH0675253B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/394,696 US5067129A (en) 1989-08-16 1989-08-16 Service processor tester
US394696 1989-08-16

Publications (2)

Publication Number Publication Date
JPH0388046A JPH0388046A (ja) 1991-04-12
JPH0675253B2 true JPH0675253B2 (ja) 1994-09-21

Family

ID=23560044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2215119A Expired - Lifetime JPH0675253B2 (ja) 1989-08-16 1990-08-16 サービス・プロセツサ・テスト装置

Country Status (4)

Country Link
US (1) US5067129A (ja)
EP (1) EP0413133B1 (ja)
JP (1) JPH0675253B2 (ja)
DE (1) DE69023420T2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2804125B2 (ja) * 1989-11-08 1998-09-24 株式会社日立製作所 情報処理システムの障害監視装置と制御方法
US5214653A (en) * 1990-10-22 1993-05-25 Harris Corporation Fault finder expert system
GB2278213A (en) * 1993-05-18 1994-11-23 Ibm Test program generator.
US5870590A (en) * 1993-07-29 1999-02-09 Kita; Ronald Allen Method and apparatus for generating an extended finite state machine architecture for a software specification
US5414836A (en) * 1993-09-29 1995-05-09 International Business Machines Corporation Software testing system that employs a graphical interface to generate test cases configured as hybrid tree structures
US5629878A (en) * 1993-10-07 1997-05-13 International Business Machines Corporation Test planning and execution models for generating non-redundant test modules for testing a computer system
US5648898A (en) * 1994-12-19 1997-07-15 Caterpillar Inc. Method for programming a vehicle monitoring and control system
US5724242A (en) * 1995-03-21 1998-03-03 Caterpillar Inc. Method for producing production control software for a natural gas engine controller
US6269300B1 (en) 1995-03-29 2001-07-31 Caterpillar Inc. Method for producing production control software for a natural gas or diesel engine controller
US5845064A (en) * 1995-09-11 1998-12-01 Digital Equipment Corporation Method for testing and verification of a CPU using a reference model
US5913023A (en) * 1997-06-30 1999-06-15 Siemens Corporate Research, Inc. Method for automated generation of tests for software
JP4190610B2 (ja) * 1998-02-18 2008-12-03 富士通株式会社 ロードモジュールの試験ルート決定装置
US6357020B1 (en) * 1999-02-01 2002-03-12 International Business Machines Corporation Method and system for low level testing of central electronics complex hardware using Test nano Kernel
US6574764B2 (en) * 2001-04-25 2003-06-03 Agilent Technologies, Inc. Algorithmically programmable memory tester with history FIFO's that aid in error analysis and recovery
US6907550B2 (en) * 2002-02-28 2005-06-14 Microsoft Corporation Stochastic simulation of computer activity based on user categories
US20050114066A1 (en) * 2003-11-24 2005-05-26 Kolman Robert S. Method and apparatus for detecting and correcting invalid test definition data
US20050172178A1 (en) * 2004-01-15 2005-08-04 Elias Gedamu Cache-testable processor identification
US20050172182A1 (en) * 2004-01-15 2005-08-04 Elias Gedamu Optimal operational voltage identification for a processor design
US20050159925A1 (en) * 2004-01-15 2005-07-21 Elias Gedamu Cache testing for a processor design
US8881105B2 (en) * 2007-04-11 2014-11-04 Patrick J. Quilter, Jr. Test case manager
US9317411B2 (en) 2013-07-31 2016-04-19 Bank Of America Corporation Testing coordinator
US10127141B2 (en) 2017-02-20 2018-11-13 Bank Of America Corporation Electronic technology resource evaluation system
US20220229767A1 (en) * 2019-05-30 2022-07-21 Nippon Telegraph And Telephone Corporation Test script generation apparatus, test script generation method and program

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1479122A (en) * 1975-12-11 1977-07-06 Ibm Method of operating a computer to produce test case programmes
GB1510240A (en) * 1976-11-25 1978-05-10 Ibm Method of operating a computer to produce test case programmes
EP0052684B1 (en) * 1980-11-26 1985-09-04 International Business Machines Corporation A method of testing a display apparatus
DE3116079A1 (de) * 1981-04-23 1982-11-11 Robert Bosch Gmbh, 7000 Stuttgart Pruefsystem
FR2531230A1 (fr) * 1982-07-27 1984-02-03 Rank Xerox Sa Ensemble destine au test automatique centralise de circuits imprimes et procede de test de circuits a microprocesseur faisant application de cet ensemble
JPS5945561A (ja) * 1982-09-07 1984-03-14 Mitsubishi Electric Corp 電子計算機のサ−ビスプロセツサ
US4550406A (en) * 1983-06-14 1985-10-29 Everett/Charles Test Equipment, Inc. Automatic test program list generation using programmed digital computer
US4606025A (en) * 1983-09-28 1986-08-12 International Business Machines Corp. Automatically testing a plurality of memory arrays on selected memory array testers
US4649515A (en) * 1984-04-30 1987-03-10 Westinghouse Electric Corp. Methods and apparatus for system fault diagnosis and control
US4654852A (en) * 1984-05-15 1987-03-31 International Business Machines Corporation On-line problem-determination procedure for diagnosis of faults in a data-processing system
US4727473A (en) * 1986-01-02 1988-02-23 Fischer & Porter Company Self-learning mechanism for a set of nested computer graphics
US4759019A (en) * 1986-07-10 1988-07-19 International Business Machines Corporation Programmable fault injection tool
US4766595A (en) * 1986-11-26 1988-08-23 Allied-Signal Inc. Fault diagnostic system incorporating behavior models
JPH02108134A (ja) * 1988-10-17 1990-04-20 Fujitsu Ltd 自動試験方式
US4970725A (en) * 1989-03-14 1990-11-13 Westinghouse Electric Corp. Automated system testability assessment method
US4932021A (en) * 1989-04-03 1990-06-05 At&T Bell Laboratories Path learning feature for an automated telemarketing system

Also Published As

Publication number Publication date
DE69023420T2 (de) 1996-06-20
EP0413133B1 (en) 1995-11-08
US5067129A (en) 1991-11-19
EP0413133A3 (en) 1992-02-26
JPH0388046A (ja) 1991-04-12
EP0413133A2 (en) 1991-02-20
DE69023420D1 (de) 1995-12-14

Similar Documents

Publication Publication Date Title
JPH0675253B2 (ja) サービス・プロセツサ・テスト装置
US5233611A (en) Automated function testing of application programs
US4821211A (en) Method of navigating among program menus using a graphical menu tree
US4675814A (en) Method of switching operating systems for a data processing system
US5548717A (en) Software debugging system and method especially adapted for code debugging within a multi-architecture environment
JPH05241797A (ja) ソフトウェア・アプリケーション・パッケージ準備支援データ処理システム
JPH02130628A (ja) データ入力方法
WO1998041917A1 (en) Process monitoring system
US6587122B1 (en) Instruction syntax help information
Darlington et al. The role of excursions in interactive systems
JPH07175620A (ja) メニューシステム
JPH05265802A (ja) ソフトウェアデバッグ装置
JP3422646B2 (ja) 分析装置
JPH02275539A (ja) デバッグ処理方式
JPH0833834B2 (ja) 表示パネル生成方法
JP2001318796A (ja) 内外イベントドリブン方式によるプログラム実行制御方法、記録媒体およびプログラム作成支援システム
JPH1165888A (ja) ソフトウェア試験装置および記憶媒体
JPH07219980A (ja) テスト実行方式
JPS62274438A (ja) プログラム試験システム
JPH10133901A (ja) テスト支援ツール
JPH01309157A (ja) 処理装置の制御方法
JPS6033640A (ja) デ−タ・モニタ方式
JPH0527961A (ja) コンピユータのウインドウシステム
JPH1153219A (ja) ソフトウェア検証装置
JPH0713725A (ja) ソフトウェア開発支援装置