JPH09101907A - プログラムテスト方法 - Google Patents

プログラムテスト方法

Info

Publication number
JPH09101907A
JPH09101907A JP7259879A JP25987995A JPH09101907A JP H09101907 A JPH09101907 A JP H09101907A JP 7259879 A JP7259879 A JP 7259879A JP 25987995 A JP25987995 A JP 25987995A JP H09101907 A JPH09101907 A JP H09101907A
Authority
JP
Japan
Prior art keywords
test
programs
program
debugger
debuggers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7259879A
Other languages
English (en)
Inventor
Toru Nakajima
徹 中島
Hiroshi Kouriyuu
太司 広隆
Shinichi Nakano
伸一 中野
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP7259879A priority Critical patent/JPH09101907A/ja
Publication of JPH09101907A publication Critical patent/JPH09101907A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 並列動作する多数のプログラムに対し、プロ
グラム間(テスト手続き間)の同期を意識したテストの
自動実行を可能にする。 【解決手段】 プロセサ3〜5上で並列動作するプログ
ラム10〜12に対応するテストデバッガ7〜9が制御
プロセサ2上で動作する。各テストデバッガはテスト手
続き(16〜18)に従って仮想端末装置13〜15に
より操作される。制御プロセサ2上で動作するテストデ
バッガ監視プログラム19を通して、テストデバッガ間
で一般事象の連絡が可能である。1台の端末装置6か
ら、複数のテストデバッガ及び被テストプロセサを監
視、操作できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のプロセサ上
で並列動作する複数のプログラムのテストを自動的に行
なう技術に関する。より具体的には、本発明は、複数の
プロセサとこれらプロセサの結合管理を行う結合機構を
有する並列コンピュータシステム、あるいは、この並列
コンピュータシステムを複数、通信回線により結合した
クラスタ結合型コンピュータシステムにおいて並列動作
するオペレーティングシステムや応用プログラムの自動
テスト技術に関する。
【0002】
【従来の技術】従来、この種の並列システムの自動テス
ト方法は、特開平4−149741号公報記載のよう
に、実施すべきテスト操作の手順をテスト手続きとして
予め記述しておく。このテスト手続きには、端末装置に
出力されるメッセージの監視を記述できるとともに、被
テストプログラムの動作に同期したテスト手順も記述す
ることができる。
【0003】しかしながら、複数の被テストプログラム
間の同期を意識したテストは自動実行することができ
ず、手作業によりテストを行なわなければならなかっ
た。例えば、あるプロセサ上で動作するプログラムにお
いて発生した事象を、他プロセサ上で動作するプログラ
ムのテストに利用するためには、テスト作業者が、複数
の端末装置を同時に操作して、複数の被テストプログラ
ムを1ステップづつ実行させ、一つ一つの端末装置の画
面上でプログラムの実行状況を確認する。そして、プロ
グラムの実行状況に応じた最適なデバッグ操作を各端末
装置から指示し、動作状況を確認する、という作業を繰
り返していた。
【0004】
【発明が解決しようとする課題】並列動作するプログラ
ムは、一般的に、一つのプログラムの実行結果が他のプ
ログラムの実行に影響を及ぼすという性質を持ってい
る。このような性質を持つ被テストプログラムのテスト
を、前述のように手作業で行うことは実際的でない。並
列に動作する被テストプログラムの数が2個の場合はま
だしも、例えば10個以上の被テストプログラムが同時
に動作する場合には、10個以上の端末装置を同時に操
作してテストを行うこととなるため、手作業でのテスト
は事実上不可能である。
【0005】また、被テストプログラムのステップ数が
大きい場合には、1ステップづつ手作業でテストを行な
う方法では、テストに極めて長い時間を要するという問
題もある。
【0006】さらに、一般に、1ステップの実行に要す
る時間は、コンピュータに与える命令の種類によって異
なるため、手作業で1ステップずつ被テストプログラム
を実行させたのでは、被テストプログラムを停止させず
に実行させた場合と同じ動作条件とはならず、実稼動に
近い動作条件でのテストを行ない得ないという問題があ
る。
【0007】よって本発明の目的は、複数のプロセサ上
で並列動作する複数のプログラムのテストを、プログラ
ム間の同期に関連した動作のテストも含め、自動実行で
きるようにすることである。
【0008】
【課題を解決するための手段】上記課題を解決するた
め、本発明は、複数のプロセサ上で並列動作する複数の
プログラムのそれぞれに対応して複数のテスト手続きを
用意し、また、該各プログラムに対応して、そのテスト
操作を対応した該テスト手続きに従って実行する複数の
テスト実行手段を用意し、さらに、該複数のテスト実行
手段の間の情報伝達のための手段とを用意する。
【0009】本発明によれば、各プログラムのテスト手
順を記述したテスト手続きに従って、複数のテスト実行
手段により複数のプログラムのテスト操作を自動実行す
ることができ、また、テスト実行手段間で情報伝達手段
を利用して情報を交換することによって、複数のプログ
ラムのテスト手続き間もしくはプログラム間で同期をと
りながらテストを実行することができ、したがって、手
作業に依存することなく、手作業による方法よりも実動
作に近い条件で、複数のプログラムのテストを行なうこ
とできる。
【0010】しかも、テスト実行手段間の情報伝達手段
を利用して、あるプログラムにおいて起こった事象を、
それに対応したテスト実行手段から他のプログラムに対
応したテスト実行手段へ連絡することができるので、あ
るプログラムに起こった事象によって他のプログラムの
テスト手順を制御するようにテスト手続きを記述するこ
とによって、並列に動作する被テストプログラムを連動
させた状態におけるテストも可能である。
【0011】
【発明の実施の形態】以下、本発明の一実施例について
図面により詳細に説明する。
【0012】図1は、本発明の一実施例のシステム構成
を示すブロック図である。図1において、2〜5はプロ
セサであり、これらはプロセサ制御装置1により放射状
に結合されている。プロセサ制御装置1はプロセサ2〜
5の状態の監視、プロセサ2〜5間の連絡を媒介する役
割を持ち、接続された全てのプロセサ25のメモリの参
照・更新を行うことが可能である。
【0013】プログラムテストを行なう場合、プロセサ
制御装置1に接続されたプロセサ2〜5の中の1つを制
御プロセサとして割り当てる。図1においては、プロセ
サ2が制御プロセサに割り当てられている。制御プロセ
サ2以外のプロセサ3〜5を被テストプロセサとする。
10〜12は被テストプロセサ3〜5上で動作するプロ
グラム、すなわちテストの対象となる被テストプログラ
ムである。
【0014】制御プロセサ2上で、被テストプロセサ3
〜5(もしくは被テストプログラム10〜12)に1対
1に対応する3個のテストデバッガ7〜9が時分割で同
時に動作する。各テストデバッガ7〜9は、対応する各
被テストプロセサ3〜5の動作状況を監視する機能、ブ
レークポイントの設定などのテスト操作の指示をプロセ
サ制御装置1を介し被テストプロセサ3〜5に送信する
機能を持つ。
【0015】各テストデバッガ7〜9には仮想端末装置
13〜15が接続される。各仮想端末装置13〜15に
は、対応した被テストプログラム10〜12のテストの
ための操作手順が記述されたテスト手続きファイル16
〜18が接続される。
【0016】各仮想端末装置13〜15の機能は、各テ
スト手続きファイル16〜15の内容(テスト手続き)
に従って、テストデバッガ7〜9へのコマンドの入力や
テストデバッガ7〜9の出力の監視を行なうことであ
る。つまり、テスト手続きと仮想端末装置は、手作業に
よるテストの場合におけるテスト作業者と端末装置の役
割をする。
【0017】テスト実行に関与する手段として、さら
に、制御プロセサ19上で動作するテストデバッガ監視
プログラム19がある。このテストデバッガ監視プログ
ラム19は、テストデバッガ7〜9の監視、制御の機能
を持ち、また、テストデバッガ7〜9間の連絡手段を提
供する。この連絡手段を利用することにより、テスト実
行中に、ある被テストプロセサ(被テストプログラム)
で発生した事象を他の被テストプロセサ(被テストプロ
グラム)に対するテストデバッガへ通知することができ
る。
【0018】制御プロセサ2には端末装置6を接続され
る。テスト実施時にテスト作業者が実際に操作する端末
は、この端末装置6である。テスト作業者は、端末装置
6によって、テストデバッガ7〜9及び被テストプロセ
サ3〜5を操作することができ、また、テストデバッガ
7〜9及び被テストプロセサ3〜5の出力を確認をする
ことができる。
【0019】端末装置6からテストの自動実行の命令が
入力されると、制御プロセサ2を通してテストデバッガ
7に命令が伝達される。この命令を受け、テストデバッ
ガ7は仮想端末装置13に対してテスト手続き(16)
の読み込みを命令する。この命令を受け、仮想端末装置
13はテスト手続き(16)を読み込み、そのテスト手
続きに従ったテストデバッガ7の操作を開始する。。
【0020】例えば、被テストプログラム10〜12わ
同時に起動することが必要な場合、テスト手続き(1
7,18)中の被テストプログラムを起動する命令の前
に、同期信号が送られるまでテストの実行を中断する命
令を記述し、いちばん最後に被テストプログラム起動命
令に到達するテスト手続き(16)には、被テストプロ
グラム起動命令の前に同期信号を発信する命令を記述し
ておく。図4は、そのようなテスト手続きの例である。
【0021】図4において、被テストプログラム10の
テスト手続き(16)には、テスト手続き(17,1
8)の動作開始命令a,bが記述されている。この命令
a,bが仮想端末装置13よりテストデバッガ7に入力
され、テストデバッガ7はその命令をテストデバッガ監
視プログラム19へ伝達する。テストデバッガ監視プロ
グラム19は、テストデバッガ8,9に対しテスト手続
き(17,18)の開始命令を出す。テストデバッガ
8,9は仮想端末装置14,15に対しテスト手続き
(17,18)の読み込みを命令する。仮想端末装置1
4,15はテスト手続き(17,18)を読み込み、そ
の内容に従ったテストデバッガ8,9の操作を開始する
のであるが、図4に示す例では、テスト手続き(17,
18)に同期信号待機命令e,gが記述されているの
で、仮想端末装置14,15は同期信号の待機状態とな
る。
【0022】一方、仮想端末装置13は、テスト手続き
(16)の次の命令eをテストデバッガ7に入力する。
この命令eは他のテストデバッガへの同期信号発信命令
であり、これがテストデバッガ7よりテストデバッガ監
視プログラム19へ伝達される結果、テストデバッガ監
視プログラム19よりテストデバッガ7〜9へ同期信号
が送られる。
【0023】仮想端末装置14,15は、テストデバッ
ガ8,9の同期信号受信出力を確認すると、同期信号待
機状態を脱してテスト手続き(17,18)の次の命令
f,hをテストデバッガ8,9に入力するが、命令f,
hは被テストプログラム11,12の起動命令である。
一方、仮想端末装置13は、テスト手続き(16)の次
の命令dをテストデバッガ7へ入力するが、この命令d
は被テストプログラム10の起動命令である。
【0024】したがって、テストデバッガ7,8,9か
ら制御プロセサ2を介してプロセサ制御装置1に被テス
トプログラム10,11,12の起動命令が伝達され、
被テストプログラム10,11,12が同時に起動され
ることになる。換言すれば、テスト手続き(13〜1
8)の開始の同期がとられたことになる。以下、テスト
手続き(16,17,18)に従ってテストデバッガ
7,8,9が自動操作され、被テキストプログラム1
0,11,12のテストが自動的に実行される。
【0025】上に述べた被テストプログラム間、もしく
は、それらのテスト手続き間の同期は、テスト過程の任
意の時点で可能である。
【0026】ここで、テストデバッガ7〜9とテストデ
バッガ監視プログラム19の動作を、上述の動作に関連
させて、図2及び図3によって、より詳しく説明する。
図2は各テストデバッガ7〜9の処理内容の一部を示す
フローチャートであり、図3はテストデバッガ監視プロ
グラム19の内容の一部を示すフローチャートである。
【0027】図2に示すように、各テストデバッガは、
動作を開始した直後にステップBに処理が移行し、何等
かの信号が到達するのを待つ。
【0028】ここで、テスト手続き(16)に、他のテ
ストデバッガに対して同期信号を送付する命令(図4の
c)が記述されていたとする。仮想端末装置13は、テ
ストデバッガ7に対して他テストデバッガへのデータ転
送を要求する。すると、テストデバッガ7はステップB
の待ち状態からステップCに処理が移行する。
【0029】ステップCでは、要求内容に従って処理の
分岐を行なう。ここでは、要求内容が他テストデバッガ
8,9への送信であるから、ステップDへ分岐し、ステ
ップD〜Fと処理を行い、テストデバッガ監視プログラ
ム19に対して、他テストデバッガへのデータ(同期信
号)送信要求を送付する。
【0030】テストデバッガ監視プログラム19は、図
3に示すステップNで待機状態にあったが、テストデバ
ッガ7からのデータ(同期信号)送信要求を受け取ると
ステップPへ処理が移行する。さらに、データ送信先は
全てのテストデバッガであるからステップQ、R、Sと
処理が進み、各テストデバッガ7〜9に対し同期信号を
送信する。
【0031】テストデバッガ7,8、9においては、図
2に示されたステップBの待機状態にあるが、同期信号
を受信すると、待機状態から脱してステップCに以降す
る。ここでは同期信号を受信したので、ステップKへ分
岐し、さらにステップLに処理が進み、仮想端末装置1
3,14、15に対し同期信号の送付が行われる。
【0032】仮想端末装置14,15は、同期信号の送
付を認識すると、テスト手続き(17,18)に記述さ
れた次の命令をテストデバッガ8,9へ入力する。ただ
し、仮想端末装置13は、テスト手続き(16)に同期
信号待機の記述がないので、同期信号の受信を待つこと
なく次の命令をテストデバッガ7に入力するが、そのタ
イミングは実質的に他の仮想端末装置14,15への次
の命令の入力と同時とみてよい。
【0033】テストデバッガ7,8,9は、ステップB
の待機状態であるが、次の命令が入力されると、待機状
態を脱しステップCに以降する。この命令が被テストプ
ログラム10,11,12の起動命令(図4のd,f,
h)だとする。この場合、図2には示されていないが、
ステップCより該当する処理へ分岐し、被テストプロセ
サ3,4,5に対し被テストプログラム10,11,1
2の起動を命令する。かくして、被テストプログラム1
0,11,12が実質的に同時に起動されることにな
る。
【0034】この後、テストデバッガ7〜9は、仮想端
末装置13〜15と協動してテスト手続き(16〜1
8)の内容に従って被テストプログラム10〜12のテ
ストを自動実行する。このテストの過程において、ある
被テストプログラム(例えば11)の動作結果が他の被
テストプログラム(例えば12)の動作(テスト手続
き)に影響するような場合のテストを行なう場合には、
前者の被テストプログラム(11)の動作結果が、それ
に対応したテストデバッガ(8)からテストデバッガ監
視プログラム19を経由し後者の被テストプログラム
(12)に対応するテストデバッガ(9)へ通知され
る。換言すれば、それに関係するテスト手続き(17,
18)に、そのような手順が予め記述されることにな
る。そして、通知内容に応じてテスト手順を選択するこ
とも、テスト手続き(18)にそのように記述しておけ
ば可能である。したがって、複数の被テストプログラム
の連動した状態のテストが可能である。
【0035】テストの自動実行は、図4に関連して説明
したように、端末装置6からの指令により仮想端末装置
13にテスト手続き(16)を読み込ませることにより
開始するが、テストの途中においてもテスト作業者は端
末装置6を通じて介入することができる。すなわち、テ
ストの途中でテスト作業者の介入を必要とする場合に
は、端末装置6への必要情報の出力と端末装置6からの
指示の要求のための手順をテスト手続き(16〜18)
に記述しておけばよい。このように、テスト作業者は、
1台の端末装置6を操作するだけで複数の被テストプロ
グラム10〜13のテストを行なうことができる。この
ことは、被テストプログラムがさらに増加しても同様で
ある。
【0036】以上、並列動作する被テストプログラムが
3個の場合について説明したが、被テストプログラムが
2個または4個以上の場合にも、テストデバッガ、仮想
端末装置及びテスト手続きを、その数に相当する数だけ
用意することにより、同様のテストを実行可能である。
端末装置(実端末装置)は、1台のままでよい。
【0037】
【発明の効果】以上の説明から明らかなように、本発明
によれば、複数のプロセサ上で並列動作する複数のプロ
グラムのテストを、人手作業によらず、自動的に実行す
ることができ、また、並列動作する複数のプログラムの
テスト手続き間で同期をとりながらテストを自動実行す
ることができるため、手作業によるテストに比べ、多数
のプログラムを実動作に近い条件でテストすることが可
能になる。さらに、並列動作する複数のプログラムの中
で、あるプロセサ上で動作するプログラムにおいて起こ
る事象に応じて、他プロセサ上で動作するプログラムの
テスト手順を制御するようなことができるため、複数の
プロセサ上で並列動作するプログラムを連動させた状態
のテストが可能になる。したがって、パラレル動作機能
をもつソフトウエアの開発の容易化及びソフトウエアの
信頼性向上を達成できる等の効果を得られる。
【図面の簡単な説明】
【図1】本発明の一実施例のシステム構成を示すブロッ
ク図である。
【図2】テストデバッガの処理内容の一部を示すフロー
チャートである。
【図3】テストデバッガ監視プログラムの処理内容の一
部を示すフローチャートである。
【図4】複数の被テストプログラムを同時に起動するテ
スト手続きの一例を説明するための図である。
【符号の説明】
1 プロセサ制御装置 2 プロセサ(制御プロセサ) 3,4,5 プロセサ(被テストプロセサ) 6 端末装置 7,8,9 テストデバッガ 10,11,12 被テストプログラム 13,14,15 仮想端末装置 16,17,18 テスト手続きファイル(テスト手続
き) 19 テストデバッガ監視プログラム

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセサ上で並列動作する複数の
    プログラムのそれぞれに対応して用意された複数のテス
    ト手続きと、該各プログラムに対応して用意された、該
    各プログラムのテスト操作を対応した該テスト手続きに
    従って実行する複数のテスト実行手段と、該複数のテス
    ト実行手段の間の情報伝達のための手段とを有し、複数
    のプロセサ上で並列動作する複数のプログラムのテスト
    を自動実行することを特徴とするプログラムテスト方
    法。
JP7259879A 1995-10-06 1995-10-06 プログラムテスト方法 Pending JPH09101907A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7259879A JPH09101907A (ja) 1995-10-06 1995-10-06 プログラムテスト方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7259879A JPH09101907A (ja) 1995-10-06 1995-10-06 プログラムテスト方法

Publications (1)

Publication Number Publication Date
JPH09101907A true JPH09101907A (ja) 1997-04-15

Family

ID=17340217

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7259879A Pending JPH09101907A (ja) 1995-10-06 1995-10-06 プログラムテスト方法

Country Status (1)

Country Link
JP (1) JPH09101907A (ja)

Similar Documents

Publication Publication Date Title
US4684885A (en) Arrangement for on-line diagnostic testing of an off-line standby processor in a duplicated processor configuration
JPH09101907A (ja) プログラムテスト方法
JPH01156896A (ja) 障害情報収集処理方式
JPH10269104A (ja) 並列システムテスト方法
JP3192890B2 (ja) 並列試験装置
JP4562439B2 (ja) プログラム検証システムおよびプログラム検証システム制御用コンピュータプログラム
JP2727847B2 (ja) デバッグ装置
JPS63177231A (ja) 並列プログラムデバグ方式
JP2004252585A (ja) プログラム検証システム
JPH06249746A (ja) 光線路試験装置
KR100204056B1 (ko) 원격 시험기에서 인터럽트에 의한 프로토콜 시험방법
JP5133526B2 (ja) 通信システムにおける試験制御方式
JPH01288949A (ja) 端末装置
JP2000285159A (ja) インターネットを利用したビル群管理方法及び装置
JP2003167836A (ja) デバイスドライバ
CN118331804A (zh) 功能测试方法、装置、电子设备及存储介质
JPH0887421A (ja) プロセス切換方法およびプロセス切換システム
JPH06119198A (ja) 共有端末装置制御方式
JPH07234805A (ja) 複数の中央処理装置の同時デバッグ方法
JPH0296842A (ja) 分散処理装置試験方法
JPH09288632A (ja) 通信処理装置
JPH0773390B2 (ja) 遠方監視制御装置
JP2002078030A (ja) リモート監視制御方式
JPH04241656A (ja) メッセージ受信処理方式
JPH01211043A (ja) データ転送装置