JPH08305609A - プログラムのテスト方法および装置 - Google Patents

プログラムのテスト方法および装置

Info

Publication number
JPH08305609A
JPH08305609A JP7104984A JP10498495A JPH08305609A JP H08305609 A JPH08305609 A JP H08305609A JP 7104984 A JP7104984 A JP 7104984A JP 10498495 A JP10498495 A JP 10498495A JP H08305609 A JPH08305609 A JP H08305609A
Authority
JP
Japan
Prior art keywords
test
program
test script
fault
script
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.)
Withdrawn
Application number
JP7104984A
Other languages
English (en)
Inventor
Tetsuo Oe
哲男 大江
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP7104984A priority Critical patent/JPH08305609A/ja
Publication of JPH08305609A publication Critical patent/JPH08305609A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 プログラム中の障害の有無の判定、その障害
の特定を、高いスキルを必要とすることなく自動的に行
なえるプログラムのテスト方法を提供する。 【構成】 テスト対象のプログラムに障害があるか否か
の判定に好適な障害有無判定用テストスクリプトをコン
ピユータの記憶部に登録する。テスト対象のプログラム
をテスト実行すると共にこのテストスクリプトに基づく
チェックを自動的に行ないその結果から障害の有無を判
定する。上記方法で障害を含むと判定されたプログラム
に対し次の処理をする。障害有無判定用テストスクリプ
トを、これによるテスト結果に基づき、障害特定に好適
な障害特定用テストスクリプトに変更する。テスト対象
のプログラムをテスト実行すると共にこの障害特定用テ
ストスクリプトに基づくチェックを自動的に行ないその
結果から障害を特定する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、プログラムに障害が
あるか否かを自動的にテストする方法およびその実施に
好適な装置、また、プログラムに障害があった際には障
害箇所の特定を容易にできる方法およびその装置に関す
るものである。
【0002】
【従来の技術】プログラムに障害があるか否かをテスト
するための従来方法の一つとして、テスト対象のプログ
ラム中に予めいくつかのブレークポイントを設定し、こ
れらブレークポイント毎に情報をダンプしてこの結果か
らデータが正しく処理されているかを人手によって確認
する方法があった。また、プログラムのデバッグを目的
としプログラムの実行履歴を蓄積し障害箇所を特定する
方法として、例えば特開平4−162151号公報に開
示されているように、障害解析関数をプログラマが作成
しこれをデバッグ制御プログラムに組み込むことによっ
て人手を介することなく障害箇所を命令単位で特定する
方法があった。
【0003】
【発明が解決しようとする課題】しかしながら、上述し
た従来方法のうちの、テスト対象のプログラム中に予め
いくつかのブレークポイントを設定する等する前者の方
法は、各ブレークポイント毎に情報をダンプして正しく
データが処理されているかの確認作業を人手によって行
なうことによる効率の悪さ及び確認ミスの発生という問
題があった。
【0004】また、障害解析関数をデバッグ制御プログ
ラムに組み込み、障害箇所を特定するという従来方法は
あくまでデバッグを目的とするものであり障害の有無の
判定を自動的に行なうものではない。従って、障害の有
無のテストを人手を介さず自動的に行なうことは不可能
であるという問題があった。さらに、障害を特定するた
めの障害解析関数の作成には、この関数が組み込まれる
デバッグ制御プログラムを熟知して障害解析関数を作成
する必要があるので、高いスキルが要求されると共に時
間がかかるという問題があった。
【0005】
【課題を解決するための手段】そこで、この出願の第一
発明によれば、テスト対象のプログラム中に障害がある
か否かを判定するに当たり、テストスクリプトを登録す
るための書き換え可能なファイルを記憶部に設けてお
く。そして、このファイルに、テスト対象のプログラム
に障害があるか否かの判定に好適な、該プログラムにお
ける所定ステップでの実行結果を出力させる旨および該
実行結果に対するテスト項目を少なくとも含むテストス
クリプト(以下、「障害有無判定用テストスクリプト」
ともいう。)を、予め登録しておく。そして、その後、
前記テスト対象のプログラムを実行すると共に、前記障
害有無判定用テストスクリプトに従い前記所定ステップ
での実行結果のダンプおよび前記テスト項目によるテス
トを行なわせ、該行わせたテスト結果により前記テスト
対象のプログラムに障害があるか否かを判定する。ただ
し、この第一発明および後の第三発明において、所定ス
テップは、テスト内容に応じ1箇所または複数箇所と出
来、また、テスト項目はテスト内容に応じ1項目または
複数項目とできる。
【0006】また、この出願の第二発明によれば、テス
ト対象のプログラム中に生じている障害を特定するに当
たり、障害特定用テストスクリプトを登録するための書
き換え可能なファイルを、前記記憶部に設けておく。そ
して、上記第一発明の方法に係る処理によって障害があ
ると判定された場合に、該ファイルに、上記第一発明の
方法に係る処理によって得られたテスト結果から見て当
該障害の特定に好適な、前記テスト対象のプログラムを
実行した際における所定ステップでの実行結果を出力す
る旨および該実行結果に対するテスト項目を少なくとも
含む障害特定用テストスクリプトを予め登録しておく。
そして、その後、前記テスト対象のプログラムの全部ま
たは一部を再度実行すると共に、前記障害特定用テスト
スクリプトに従い前記好適なステップでの実行結果のダ
ンプおよび前記好適なテスト項目によるテストを行なわ
せ、該行なわせたテスト結果によりテスト対象のプログ
ラムにおける障害箇所の特定を行なう。ただし、この第
二発明および後の第四発明において、好適なステップは
テスト内容に応じ1箇所または複数箇所と出来、また、
好適なテスト項目はテスト内容に応じ1項目または複数
項目とできる。また全部または一部を再実行させるの意
味は、障害特定がテスト対象のプログラムの一部再実行
で済む場合を考慮した意味である。
【0007】なお、この第二発明の実施に当たり、前記
障害特定用テストスクリプトは、テスト対象のプログラ
ム中に障害があるか否かを判定するためファイルに記憶
してある障害有無判定用テストスクリプトを変更するこ
とにより作成するのが好適である。
【0008】また、この出願の第三発明によれば、プロ
グラムに障害があるか否かをテストするための装置にお
いて、以下の(a) 〜(d) の各手段を具えたことを特徴と
する。
【0009】(a).テストスクリプトを記憶するための記
憶手段を有したテストスクリプト管理手段。
【0010】(b).前記記憶手段に、テスト対象のプログ
ラムに障害があるか否かの判定に好適な、該プログラム
における所定ステップでの実行結果を出力させる旨およ
び該実行結果に対するテスト項目を少なくとも含むテス
トスクリプト(すなわち、障害有無判定用テストスクリ
プト)を入力するための手段。
【0011】(c).前記テスト対象のプログラムを実行す
ると共に前記テストスクリプトに従い前記所定ステップ
での実行結果のダンプおよび前記テスト項目を実行する
手段。
【0012】(d).前記テスト項目を実行した際のテスト
結果を出力する手段。
【0013】また、この出願の第四発明によれば、プロ
グラムに障害があるか否かをテストするための装置にお
いて、上記(a) 〜(d) の各手段に加え、以下の(1) 〜
(5) の各手段をさらに具えたことを特徴とする。
【0014】(1).障害の有無をテストするモードか障害
を特定するモードかを選択する手段。
【0015】(2).障害特定用テストスクリプトを記憶す
るための手段を有したテストスクリプト管理手段。
【0016】(3).前記障害を特定するモードが選択され
た場合に動作し、上記第三発明に係る方法によって得ら
れたテスト結果から見て当該障害の特定に好適な、前記
テスト対象のプログラムを実行した際における所定ステ
ップでの実行結果を出力する旨および該実行結果に対す
るテスト項目を少なくとも含む障害特定用テストスクリ
プトを入力するための手段。
【0017】(4).前記テスト対象のプログラムの全部ま
たは一部を再度実行すると共に前記障害特定用テストス
クリプトに従い前記好適なステップでの実行結果のダン
プおよび前記テスト項目を実行する手段。
【0018】(5).前記障害特定に好適なテスト項目を実
行した際のテスト結果を出力する手段。
【0019】
【作用】この出願の第一発明の構成によれば、テスト対
象のプログラムを試験のために実行させた際に、このテ
スト対象のプログラムに適した任意のテスト内容を持つ
障害有無判定用テストスクリプトに基づくチェックが自
動的になされ、その結果が出力される。このため、例え
ばオペレータはこのチェック結果をみるのみで、このテ
スト対象のプログラム中に障害があるか否かを判定でき
る。
【0020】また、この出願の第二発明の構成によれ
ば、障害が生じているテスト対象のプログラムを再度実
行させた際に、このテスト対象のプログラムにおける障
害を特定するために適した任意のテスト内容を持つ障害
特定用テストスクリプトに基づくチェックが自動的にな
され、その結果が出力される。このため、例えばオペレ
ータはこのチェック結果をみるのみで、このテスト対象
のプログラム中における障害の特定ができる。またさら
に、特定をより進める為の更なる障害特定用スクリプト
を作成する必要がある場合はそのデータが得られる。ま
たここで用いる障害特定用スクリプトは、第一発明の方
法で得られたテスト結果に基づいて作成される。また上
記更なる障害特定用スクリプトは、前回の障害特定用テ
ストスクリプトによるテストで得られた結果に基づいて
作成される。このため、障害特定用スクリプト(更なる
障害特定用スクリプトの場合も含む。以下同様。)に含
ませるべきチェック内容(ダンプを取るべきステップや
テストすべき項目など)を、的確なものとし易いので、
熟練をそれほど必要とすることなく障害特定用テストス
クリプトを作成できる。
【0021】また、この出願の第三発明のプログラムテ
スト装置によれば、第一発明の実施を容易とする。ま
た、この出願の第四発明のプログラムテスト装置によれ
ば、第二発明の実施を容易とする。
【0022】
【実施例】以下、図面を参照してこの出願のプログラム
のテスト方法およびプログラムテスト装置の実施例につ
いて説明する。ただし、いずれの図もこれらの発明を理
解出来る程度に概略的に示してある。
【0023】1.プログラムテスト装置の説明 図1は、第一発明および第二発明の実施に好適なプログ
ラムテスト装置10(すなわち第三および第四発明の実
施例の装置)の説明図である。ただし、図1では、プロ
グラムテスト装置10と、テスト対象のプログラムを実
行する手段としてのターゲットシステム20と、検査者
例えばオペレータ30との関係も併せて示してある。こ
こで、このプログラムテスト装置10はコンピュータシ
ステム40の一部で構成してある。また、このコンピュ
ータシステム40は、その一部で、組み込みシステムを
デバッグするデバッガ(図示せず)をも構成しており、
プログラムテスト装置10はこのデバッガが有する機能
とリンクすることが出来る。もちろん、プログラムテス
ト装置10をターゲットシステム20を含む概念とする
場合があっても良いし、デバッガと切り離した構成のも
のとしても良く、汎用的な構成にすることができる。
【0024】このプログラムテスト装置10は、テスト
スクリプト管理手段10aと、テスト自動化制御手段1
0bと、テストスクリプト実行手段10cと、テスト合
否判定手段10dと、プログラム障害特定手段10eと
を具える。さらにこのプログラムテスト装置10は、検
査者30との間のインターフェース手段として、テスト
スクリプト入力手段10fと、テスト結果出力手段10
gと、モード切換え/実行手段10hと、デバッグコマ
ンド入力手段10iとを具える。これらインターフェー
ス手段10f〜10iは、それぞれ、テスト自動化制御
手段10bと接続してある。以下、これら構成成分10
a〜10iについて詳細に説明する。
【0025】先ず、テストスクリプト管理手段10a
は、テストスクリプト全体を管理するものであり、テス
トの実施内容が記述された1または複数のテストスクリ
プトの登録、削除、さらに、登録されたテストスクリプ
トの内容(これをテストスクリプト・ファイル情報とい
う)の入出力や、テストの順番、テストの合否判定情報
等から成るテストスクリプト管理情報の入出力等をする
ものである。具体的には、この実施例の場合、テストス
クリプト管理手段10aは、以下に図2を参照して説明
するような動作をするものとしてある。すなわち、テス
トスクリプトの登録か、テストスクリプトの削除か、テ
ストスクリプト・ファイル情報の要求か、テストスクリ
プト管理情報の要求か、テストの終了かの各動作中か
ら、検査者の希望するいずれかの動作を選択する(図2
のステップS1〜S5)。そして、それぞれの動作に応
じ、テストスクリプトの登録およびその結果をテスト自
動化制御手段10bへ返すこと(図2のステップS
6)、テストスクリプトの削除およびその結果をテスト
自動化制御手段10bへ返すこと(図2のステップS
7)、テストスクリプト・ファイル情報の検索およびそ
れがあった場合それを要求元へ返すこと(図2のステッ
プS8)、テストスクリプト管理情報を要求元へ返すこ
と(図2のステップS9)をそれぞれ行なう。ここで、
1または複数のテストスクリプトとは、上述の障害有無
判定用テストスクリプトや、障害特定用テストスクリプ
トである(以下、同様)。
【0026】また、テスト自動化制御手段10bは、テ
ストスクリプト管理手段10aと、テストスクリプト実
行手段10cと、各インターフェース手段10f〜10
iとの間の橋渡しをするもので、テストスクリプトの入
力/実行/判定/出力等の制御を行なうものである。具
体的には、この実施例の場合のテスト自動化制御手段1
0bは、以下に図3を参照して説明するような動作をす
るものとしてある。すなわち、テストスクリプトの登録
か、テストスクリプト・ファイル情報の要求か、テスト
スクリプトの実行か、デバックコマンドの実行か、テス
トの終了の各動作の中から検査者の希望するいずれかの
動作を選択する(図3のステップS1〜S5)。そし
て、それぞれの動作に応じ、テストスクリプトの登録を
テストスクリプト管理手段10aに要求しおよびその結
果をテストスクリプト入力手段10fへ返すこと(図3
のステップS6)、テストスクリプト・ファイル情報を
テストスクリプト管理手段10aに要求しその結果を要
求元へ返すこと(図3のステップS7)、テストスクリ
プト・ファイル情報をテストスクリプト管理手段10a
からテストスクリプト実行手段10cへ渡すこと(図3
のステップS8)、デバックコマンドをテストスクリプ
ト実行手段10cに渡しその実行結果を要求元に返すこ
と(図3のステップS9)をそれぞれ行なう。また、図
示は省略しているが、このテスト自動化制御手段10b
は、テストスクリプト管理手段10aからテストスクリ
プトの内容を受け取り、この内容に応じテスト対象のプ
ログラム(実行オブジェクトということもある。)の特
定や実行履歴保存環境の設定などをも行なう。
【0027】また、テストスクリプト実行手段10c
は、選択されているテストスクリプトの指示に従って必
要な情報のダンプ及びログ情報の出力を行なうデバッガ
の機能を具備したものである。具体的には、この実施例
の場合のテストスクリプト実行手段10cは、以下に図
4を参照して説明するような動作をするものとしてあ
る。テストスクリプトの情報をテストスクリプト管理手
段10aからテスト自動化制御手段10bを介して受け
取る(図4(ステップS1)。また、実行オブジェクト
すなわちテスト対象のプログラムをターゲットシステム
20(図1参照)にダウンロードする(図4のステップ
S2)。前記受け取ったテストスクリプトの情報に基づ
き指定されたアドレスにブレークポイントを設定する
(図4のステップS3)。次に、テストモード(障害有
無判定モード)なのかデバックモード(障害特定モー
ド)なのかを判定する(図4のステップS4)。テスト
モードの場合はテスト合否判定手段に判定用データを送
り、デバックモードの場合はプログラム障害特定手段に
特定判定用データを送る(図4のステップS5、S
6)。なお、合否判定用のデータや障害特定判定用のデ
ータは対応するテストスクリプト中に記載されている。
合否判定手段10dにおいてダンプされたデータを、実
行履歴保存環境の設定に従い保存する(図4のステップ
S7)。実行結果をテスト自動化制御手段に返送する
(図4のステップS8)。
【0028】また、テスト合否判定手段10dは、テス
ト対象のプログラムとのインターフェース部分となるも
のであり、テスト項目と一致しているか否かをチェック
するものである。具体的には、この実施例の場合のテス
ト合否判定手段10dは、以下に図5を参照して説明す
るような動作をするものとしてある。先ず、合否判定用
のデータをテストスクリプト実行手段10cから受け取
ると共にテスト対象のプログラムを実行する(図5のス
テップS1)。テスト対象のプログラムが判定位置(所
定ステップ)に来たか否かを判断する(図5のステップ
S2)。所定ステップに来た場合は必要なデータをダン
プしかつその判定を行ないかつ判定結果をテストスクリ
プト実行手段に返し(図5のステップS3,S4)、そ
うでない場合はログ情報を出力し、テストプログラムを
継続実行する(図5のステップS5)。
【0029】また、プログラム障害特定手段10eは、
テスト対象のプログラムにおいて障害がどこで発生して
いるかを特定するものである。ただし、このプログラム
障害特定手段10eは、検査者によってデバッグモード
(障害特定モード)が選択された場合に動作する。具体
的には、この実施例の場合のプログラム障害特定手段1
0eは、以下に図6を参照して説明するような動作をす
るものとしてある。先ず、障害特定用のデータをテスト
スクリプト実行手段10cから受け取ると共にテスト対
象のプログラムをステップトレース実行する(図6のス
テップS1)。テスト対象のプログラムが判定位置(所
定ステップ)に来たか否かを判断する(図6のステップ
S2)。所定ステップに来た場合は必要なデータをダン
プしかつ上記障害特定用データを用いその判定を行なう
(図6のステップS3)。判定結果が正しくない場合
(障害位置である可能性が低い場合)、ログ情報を出力
すると共にテスト対象のプログラムを継続実行した後障
害特定モードを終了する(図6のステップS5)。判定
結果が正しい場合はログ情報を出力した後(図6のステ
ップS6)、さらに別の障害特定のステップがないか否
かが判定され(図6のステップS7)、ない場合は判定
結果をテストスクリプト実行手段10cに返し(図6の
ステップS8)、ある場合はテスト対象のプログラムの
ステップトレースの実行を継続する(図6のステップS
9)。
【0030】また、テストスクリプト入力手段10f
は、どのようなテストを行ないたいかを、検査者30が
プログラムテスト装置10に入力するためのものであ
り、例えばコンピュータシステム40に備わるキーボー
ドやマウスなどを含む手段などで構成出来る。この実施
例の場合のテストスクリプト入力手段10fは、以下に
図7を参照して説明する様な動作をするものとしてあ
る。テストスクリプトの入力が終了か否かを検査者に問
う(図7のステップS1)。入力終了でない場合はテス
トスクリプトを新規に作成するか否かを検査者に問う
(図7のステップS2)。新規作成の場合は、プログラ
ムテスト装置の表示装置(図示せず)に予め定めた新規
テストスクリプト入力用のシートを表示する(図7のス
テップS3)、一方、新規作成でない場合は、既に作成
されたテストスクリプトの変更等と判断してテスト自動
化制御手段10bを介しテストスクリプト管理手段10
aにテストスクリプトファイルの確認(図7のステップ
S4)およびテストスクリプト情報を要求し、これによ
りテストスクリプト管理手段10aからこのテストスク
リプト情報を得、この情報に基づき所定の入力シートを
上記表示装置に表示する(図7のステップS5)。次
に、新規、既存いずれの場合も検査者の入力を待つ(図
7のステップS6)。次に、入力完了か否か、必要事項
の入力が済んだか否かを判定し(図7のステップS7,
S8)、完了の場合は入力データをテスト自動化制御手
段10bに送る(図7のステップS9)。この入力デー
タはテストスクリプト管理手段10aのファイルに登録
されるが、その際に返送される結果で登録完了か否かを
判定する(図7のステップS10)。そして完了した旨
の表示(図7のステップS11)若しくはエラー部分の
強調表示(例えば反転表示)をする(図7のステップS
12)。
【0031】また、テスト結果出力手段10gは、テス
ト結果を例えばある決められたフォーマット(詳細は後
述する)で出力するもので、例えばコンピュータシステ
ム40に備わる表示装置やプリンタなどを含む手段で構
成出来る。この実施例の場合のテスト結果出力手段10
gは、以下に図8を参照して説明する様な動作をするも
のとしてある。先ず、検査者によるテストスクリプトフ
ァイルの指定があるか否かを判定する(図8のステップ
S1)。ある場合は指定のテストスクリプトファイルに
関してのデータを、指定がない場合は既に指定されてい
るテストスクリプトファイルに関してのデータを、テス
ト自動化制御手段10bに要求する(図8のステップS
2,S3)。テスト自動化制御手段10bはテストスク
リプト管理手段10aを検索しその結果をテスト結果出
力部に返す。この返された結果から、テスト結果出力手
段10gはデータの有無を判定し(図8のステップS
4)、このテストスクリプトファイルに関するデータが
テストスクリプト管理手段になかった場合はエラーメッ
セージを表示し(図8のステップS5)、あった場合は
出力先の確認、出力フォーマットの確認、指定フォーマ
ットによる指定出力先への出力、終了メッセージの表示
を順次に行なう(図8のステップS6〜S9)。
【0032】また、モード切換え/実行手段10hは、
テストモード(障害有無判定モード)かデバッグモード
(障害特定モード)かのモード切換えを行なって実行す
るものである。この実施例の場合のモード切換え/実行
手段10hは、以下に図9を参照して説明する様な動作
をするものとしてある。テストモードか否かを問う(図
9のステップS1)。そうである場合はプログラムテス
ト装置10をテストモードすなわち障害有無判定用テス
トスクリプトを用いる処理モードに(図9のステップS
2)、そうでない場合はプログラムテスト装置10をデ
バッグモードすなわち障害特定用テストスクリプトを用
いる処理モードに、する(図9のステップS3)。次
に、テスト対象のプログラムを実行するか否かを問い、
検査者の対応に応じた処理をする(図9のステップS
4,S5)。
【0033】また、デバッグコマンド入力手段10i
は、コンピュータシステム40の一部で構成してあるデ
バッガに具備されているデバッガの機能を利用可能とす
るコマンドを入力するものである。この実施例の場合の
デバッグコマンド入力手段10iは、以下に図10を参
照して説明するような動作をするものとしてある。デバ
ックコマンド入力画面をプログラムテスト装置10の表
示装置(図示せず)に表示する(図10のステップS
1)。検査者によるデバッグコマンドの入力を待ち、ま
た、その入力が終了か否かを問う(図10のステップS
2,S3)。入力されたデバッグコマンドをテスト自動
化制御手段10bに送る(図10のステップS4)。テ
スト自動化制御手段10bから返されるデバッグコマン
ド実行結果を表示装置の画面に表示する(図10のステ
ップS5)。
【0034】2.プログラムテスト動作の説明 2−1.障害有無判定動作の説明 先ず、テスト対象のプログラムに障害があるか否かを判
定する方法(第一発明のプログラムテスト方法)の実施
例について説明する。
【0035】検査者は障害有無判定用テストスクリプト
を作成するためにテスト実施内容を上記のテストスクリ
プト入力手段10fを利用し入力する。この障害有無判
定用テストスクリプトの内容はテスト対象のプログラム
の仕様などを考慮して予め検査者により検討されるもの
である。理解を深めるため、障害有無判定用テストスク
リプトの一例を、図11(A)に示した。この図11
(A)に示した例は、テスト対象のプログラム(以下、
テスト対象プログラムAともいう。)を含むファイルの
名51が、testAであり、また、実行履歴保存ファイル
53(後述する)が、testA.loglというファイル名と
され、所定のブレークポイント(所定のステップ)55
が、番地xxxxであり、ダンプするべきデータ57が
変数B,C,DおよびアドレスA1,A2であり、所定
のテスト項目59が、Bが10であるか否かのテストで
ある例を示している。なお、障害有無判定用テストスク
リプトの入力においては、図7を用いて既に説明した様
に、テスト実施内容の記述チェックを行ない不備があっ
た場合は修正が要求される。不備がない場合は、この障
害有無判定用テストスクリプトはテストスクリプト管理
手段10aに登録される。
【0036】また、検査者は上記のモード切換え/実行
手段10hを利用してテストモードを選択する。する
と、テスト自動化制御手段10aは、テストスクリプト
管理手段10aに対して障害有無判定用テストスクリプ
トの情報を要求する。これに応じテストスクリプト管理
手段10aは、テスト対象プログラムA用の障害有無判
定用テストスクリプトこの場合は上記のファイルtestA
にある障害有無判定用テストスクリプトの情報を自動化
制御手段10cに送る。
【0037】すると、テスト自動化制御手段10bは、
この障害有無判定用テストスクリプからテスト対象プロ
グラムを格納しているファイル名この場合はtestAを識
別する。次に、実行履歴保存用のファイル名この場合は
testA.log を識別しそのためのファイルをオープンす
ることで実行履歴環境を設定する。その後、テスト対象
プログラムAとその他のスクリプト情報(図11(A)
の53〜59で示されるもの)とをテストスクリプト実
行手段10cに送る。テストスクリプト実行手段10c
ではロードファイル名testAにおける実行オブジェクト
(テスト対象プログラムA)をターゲットシステム20
にダウンロードすること、障害有無判定用テストスクリ
プトで指定されたアドレス(ここでは図11(A)の5
5参照)にブレークポイントを設定すること、障害有無
判定用テストスクリプトで指定されたダンプすべきデー
タ(ここでは図11(A)の57参照)およびテスト項
目(ここでは図11(A)の59参照)を合否判定手段
10dに送ること、テスト対象プログラムAの実行をそ
れぞれ行なう。テスト合否判定手段10dでは設定した
ブレークポイントでテスト対象プログラムAが停止した
時に受け取ったテストスクリプトのダンプデータの指示
に従ってデータのダンプを行なうと共にテスト項目に示
されたテストを行なう。その後ダンプしたデータとテス
ト合否判定結果をテストスクリプト実行手段10cに送
る。テストスクリプト実行手段10cは、この合否判定
結果をテスト結果出力手段10gおよびテストスクリプ
ト管理手段10aに送る。テスト結果出力手段は10g
は、図8を用いて説明した様に、予め決められたフォー
マットで合否判定結果を出力する。また、テストスクリ
プト管理手段10aは、この合否判定結果をテスト対象
プログラムA用の障害有無判定テストスクリプトの管理
情報として記録する。以上で、テスト対象プログラムA
の障害有無判定が行なえる。他にもテスト対象のプログ
ラムがある場合は上述の処理を繰り返して実施する。
【0038】この上述の障害有無判定方法では、障害有
無判定用テストスクリプトに所望のテスト内容を記入す
ることで、人手を介することなく自動的にテスト対象の
プログラムを実行しこのプログラム中の所定ポイント
(所定ステップ)で、データのダンプおよびテスト合否
判定を行なってこのプログラム中の障害の有無の判定結
果を出力する。このため、大量のテスト対象のプログラ
ムについて障害の有無を効率的にテストできる。
【0039】2−2.障害特定動作の説明 上記2−1項においては、大量のテスト対象のプログラ
ムそれぞれについてそれらが障害を持つものか否かのテ
ストを人手を介すことなく自動的かつ効率的に行なう方
法を示したが、プログラムの開発工程の次の段階では障
害を持つプログラムのどこに障害の原因があるのかを調
べる必要(障害を特定する必要)がある。これを行なう
方法(第二発明の方法)について以下説明する。
【0040】検査者は、障害を含んでいたためテストモ
ードにおいて不合格とされたプログラムに対応する障害
有無判定用テストスクリプトを、テストスクリプト入力
手段10fを利用して、プログラムテスト装置10の表
示装置(図示せず)に表示させる。次に、この障害を含
むプログラムの障害箇所特定に好適なテストスクリプト
すなわち障害特定用テストスクリプトを、テストスクリ
プト入力手段10fを利用して、テストスクリプト管理
手段10aの記憶部のファイルに登録する。この登録す
る障害特定用テストスクリプトは、従来技術において説
明した障害解析関数とは次の様な点で大きく相違する。
すなわち、第一発明の方法で障害があると判定された際
に得られたテスト結果から見て当該障害の特定に好適な
ように、障害有無判定用テストスクリプトを変更して
(流用して)作成される点で大きく相違する。図11
(B)に、図11(A)に示した障害有無判定用テスト
スクリプトを流用して作成した障害特定用テストスクリ
プトの例を示した。この図11(B)に示した例は、障
害有無判定のためのテストで得た結果から見て、ロード
ファイル61、実行履歴ファイル63の内容は障害有無
判定用テストスクリプトの場合のままで良い例であり、
ただし、ブレークポイント65はyyyyとし、ダンプ
するべきデータ67は変数AおよびアドレスA1,A2
とし、テスト項目69はAが14であるか否かのテスト
とそれぞれ変更するのが、障害特定に好適である例であ
る。なお、障害特定用テストスクリプトの入力、修正、
登録などは、障害有無判定用テストスクリプトの入力、
修正、登録手順と同様にテストスクリプト入力手段を利
用して行なわれるので、その説明は省略する。
【0041】次に、検査者はモード切換え/実行手段1
0hを利用してプログラムテスト装置10のモードをデ
バッグモードにする。すると、テスト自動化制御手段1
0bは、実行オブジェクトであるロードファイル名とモ
ードの識別および実行履歴保存環境の設定を障害有無判
定時と同様な手順で行ない、また、このロードファイル
名をその他の障害特定用テストスクリプト情報(図11
(B)の65〜69)と共にテストスクリプト実行手段
10cに送る。テストスクリプト実行手段10cでは実
行オブジェクト(テスト対象プログラムA)をターゲッ
トシステムにダウンロードすること、障害特定用テスト
スクリプトで指定されたアドレス(ここでは図11
(B)の65参照)にブレークポイントを設定するこ
と、障害特定用テストスクリプトで指定されたダンプす
べきデータ(ここでは図11(B)の67参照)および
テスト項目(ここでは図11(B)の69参照)を合否
判定手段10dに送ること、プログラム障害特定手段1
0eにテスト対象プログラムAの実行制御を依頼するこ
とを、それぞれ行なう。プログラム障害特定手段10e
は、テスト対象プログラムAをステップトレース実行し
ながら、障害特定用テストスクリプトで指示されたステ
ップでのデータのダンプやテスト項目を実施する。障害
が検知された場合、その旨はテストスクリプト実行手段
10c経由でテスト自動化制御手段10bに通知され
る。テスト自動化制御手段10bはこの通知された障害
特定のための情報をプログラムテスト装置10の表示装
置やプリンタ(図示せず)等の出力装置上に出力する。
検査者は出力された情報における障害発生位置情報や、
プログラム障害特定手段10eで収集された実行履歴情
報を利用して、障害原因の解析を行ない障害を特定す
る。なお、さらに解析に必要な情報を調べたい場合は、
通常デバッガで提供されているデバッグコマンドがこの
デバッグモードでは利用可能であるので、このデバッグ
コマンドをデバックコマンド入力手段10iを利用して
入力することで、必要な情報を得ることが出来る。
【0042】この第二発明に係る障害特定の方法によれ
ば、障害解析の箇所を変更するごとに障害解析関数を変
更しこの変更した関数をデバッグ制御プログラムに組み
込むという手間が必要なく、障害有無判定のテスト過程
で使用した障害有無判定用テストスクリプトを単に変更
して得た障害特定テストスクリプトを用い障害箇所の特
定が可能となる。また、検査者の判断を求めながら、障
害発生箇所を特定する必要もなくなるので、障害解析の
所要時間が軽減される。
【0043】
【発明の効果】上述した説明から明らかなように、第一
発明のプログラムテスト方法によれば、テスト対象のプ
ログラムに応じた障害有無判定用テストスクリプトを登
録する。そして、テスト対象のプログラムをテスト実行
すると共に障害有無判定用テストスクリプトに基づくチ
ェックを自動的に行ないその結果を出力できる。このた
め、大量のテストプログラムの実行とこれらプログラム
における障害の有無の判定とを、人手を介さずに自動的
に実行できるので、プログラムのテストを従来に比べ効
率的にかつ人為的なミスの少ない条件で行なえる。
【0044】また、第二発明のプログラムテスト方法に
よれば、障害特定に好適な障害特定用テストスクリプト
を登録する。そして、テスト対象のプログラムをテスト
実行すると共に障害特定用テストスクリプトに基づくチ
ェックを自動的に行ないその結果を出力できる。このた
め、テスト対象のプログラムに対する障害有無の判定お
よび障害特定という一連の処理を自動的に行なえる。ま
た、ここで用いる障害特定用テストスクリプトは、障害
有無判定用テストスクリプトを用いたテストの結果に基
づいて作成するものであるので、熟練をそれほど必要と
することなく、作成できる。したがって、デバッグ制御
プログラムに障害解析関数を組み込む従来技術で問題と
されていた、高いスキルが必要という問題と時間がかか
るという問題とを解決出来る。
【0045】また、この出願の第三発明のプログラムテ
スト装置によれば、第一発明の実施を容易とする。ま
た、この出願の第四発明のプログラムテスト装置によれ
ば、第二発明の実施を容易とする。
【図面の簡単な説明】
【図1】実施例のプログラムテスト装置の説明図であ
る。
【図2】テストスクリプト管理手段の説明図である。
【図3】テスト自動化制御手段の説明図である。
【図4】テストスクリプト実行手段の説明図である。
【図5】テスト合否判定手段の説明図である。
【図6】プログラム障害特定手段の説明図である。
【図7】テストスクリプト入力手段の説明図である。
【図8】テスト結果出力手段の説明図である。
【図9】モード切換え/実行手段の説明図である。
【図10】デバックコマンド入力手段の説明図である。
【図11】テストスクリプトの説明図であり、(A)は
障害有無判定用テストスクリプトの説明図、(B)は障
害特定用テストスクリプトの説明図である。
【符号の説明】
10:実施例のプログラムテスト装置 10a:テストスクリプト管理手段 10b:テスト自動化制御手段 10c:テストスクリプト実行手段 10d:テスト合否判定手段 10e:プログラム障害特定手段 10f:テストスクリプト入力手段 10g:テスト結果出力手段 10h:モード切換え/実行手段 10i:デバッグコマンド入力手段 20:ターゲットシステム 30:検査者 40:コンピュータシステム

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 テストスクリプトを登録するための書き
    換え可能なファイルを記憶部に設けておき、 該ファイルに、テスト対象のプログラムに障害があるか
    否かの判定に好適な、該プログラムにおける所定ステッ
    プでの実行結果を出力させる旨および該実行結果に対す
    るテスト項目を少なくとも含むテストスクリプトを、予
    め登録し、その後、 前記テスト対象のプログラムを実行すると共に、前記テ
    ストスクリプトに従い前記所定ステップでの実行結果の
    ダンプおよび前記テスト項目によるテストを行なわせ、 該行わせたテスト結果により前記テスト対象のプログラ
    ムに障害があるか否かを判定することを特徴とするプロ
    グラムのテスト方法。
  2. 【請求項2】 請求項1に記載のプログラムのテスト方
    法において、 障害特定用テストスクリプトを登録するための書き換え
    可能なファイルを、前記記憶部に設けておき、 請求項1に記載の処理によって障害があると判定された
    場合に、該ファイルに、請求項1の処理によって得られ
    たテスト結果から見て当該障害の特定に好適な、前記テ
    スト対象のプログラムを実行した際における所定ステッ
    プでの実行結果を出力する旨および該実行結果に対する
    テスト項目を少なくとも含む障害特定用テストスクリプ
    トを予め登録し、その後、 前記テスト対象のプログラムの全部または一部を再度実
    行すると共に、前記障害特定用テストスクリプトに従い
    前記好適なステップでの実行結果のダンプおよび前記好
    適なテスト項目によるテストを行なわせ、 該行なわせたテスト結果によりテスト対象のプログラム
    における障害箇所の特定を行なうことを特徴とするプロ
    グラムのテスト方法。
  3. 【請求項3】 請求項2に記載のプログラムのテスト方
    法において、 前記障害特定用テストスクリプトは、テスト対象のプロ
    グラム中に障害があるか否かを判定するため登録した請
    求項1に記載の前記テストスクリプトを変更することに
    より作成することを特徴とするプログラムのテスト方
    法。
  4. 【請求項4】 プログラムに障害があるか否かをテスト
    するための装置であって、 テストスクリプトを記憶するための記憶手段を有したテ
    ストスクリプト管理手段と、 前記記憶手段に、テスト対象のプログラムに障害がある
    か否かの判定に好適な、該プログラムにおける所定ステ
    ップでの実行結果を出力させる旨および該実行結果に対
    するテスト項目を少なくとも含むテストスクリプトを、
    入力するための手段と、 前記テスト対象のプログラムを実行すると共に前記テス
    トスクリプトに従い前記所定ステップでの実行結果のダ
    ンプおよび前記テスト項目を実行する手段と、 前記テスト項目を実行した際のテスト結果を出力する手
    段とを具えたことを特徴とするプログラムテスト装置。
  5. 【請求項5】 請求項4に記載のプログラムテスト装置
    において、 障害の有無をテストするモードか障害を特定するモード
    かを選択する手段と、 障害特定用テストスクリプトを記憶するための手段を有
    したテストスクリプト管理手段と、 前記障害を特定するモードが選択された場合に動作し、
    請求項4に記載のテスト結果から見て当該障害の特定に
    好適な、前記テスト対象のプログラムを実行した際にお
    ける所定ステップでの実行結果を出力する旨および該実
    行結果に対するテスト項目を少なくとも含む障害特定用
    テストスクリプトを入力するための手段と、 前記テスト対象のプログラムの全部または一部を再度実
    行すると共に前記障害特定用テストスクリプトに従い前
    記好適なステップでの実行結果のダンプおよび前記テス
    ト項目を実行する手段と、 前記障害特定に好適なテスト項目を実行した際のテスト
    結果を出力する手段とをさらに具えたことを特徴とする
    プログラムテスト装置。
  6. 【請求項6】 請求項5に記載のプログラムテスト装置
    において、 前記障害特定用テストスクリプトを入力するための手段
    は、請求項4に記載の障害の有無の判定に好適な前記テ
    ストスクリプトを変更することで当該入力を行なう手段
    であることを特徴とするプログラムテスト装置。
JP7104984A 1995-04-28 1995-04-28 プログラムのテスト方法および装置 Withdrawn JPH08305609A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7104984A JPH08305609A (ja) 1995-04-28 1995-04-28 プログラムのテスト方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7104984A JPH08305609A (ja) 1995-04-28 1995-04-28 プログラムのテスト方法および装置

Publications (1)

Publication Number Publication Date
JPH08305609A true JPH08305609A (ja) 1996-11-22

Family

ID=14395365

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7104984A Withdrawn JPH08305609A (ja) 1995-04-28 1995-04-28 プログラムのテスト方法および装置

Country Status (1)

Country Link
JP (1) JPH08305609A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000076094A (ja) * 1998-09-03 2000-03-14 Ricoh Co Ltd シミュレータ
JP2004272908A (ja) * 2003-03-06 2004-09-30 Microsoft Corp システムの設計、展開、管理のフェーズを統合する方法
US7941309B2 (en) 2005-11-02 2011-05-10 Microsoft Corporation Modeling IT operations/policies
JP2011113277A (ja) * 2009-11-26 2011-06-09 Mitsubishi Electric Corp プログラム試験装置、プログラム試験方法およびプログラム試験用プログラム
JP2017130068A (ja) * 2016-01-20 2017-07-27 富士電機株式会社 プログラマブルコントローラシステム、その開発支援装置、ターゲット装置
US10540159B2 (en) 2005-06-29 2020-01-21 Microsoft Technology Licensing, Llc Model-based virtual system provisioning

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000076094A (ja) * 1998-09-03 2000-03-14 Ricoh Co Ltd シミュレータ
JP2004272908A (ja) * 2003-03-06 2004-09-30 Microsoft Corp システムの設計、展開、管理のフェーズを統合する方法
US7886041B2 (en) 2003-03-06 2011-02-08 Microsoft Corporation Design time validation of systems
US10540159B2 (en) 2005-06-29 2020-01-21 Microsoft Technology Licensing, Llc Model-based virtual system provisioning
US7941309B2 (en) 2005-11-02 2011-05-10 Microsoft Corporation Modeling IT operations/policies
JP2011113277A (ja) * 2009-11-26 2011-06-09 Mitsubishi Electric Corp プログラム試験装置、プログラム試験方法およびプログラム試験用プログラム
JP2017130068A (ja) * 2016-01-20 2017-07-27 富士電機株式会社 プログラマブルコントローラシステム、その開発支援装置、ターゲット装置

Similar Documents

Publication Publication Date Title
JP2000112784A (ja) プログラムテスト支援装置及びプログラムテスト支援プログラムを記録した記録媒体
JPH08305609A (ja) プログラムのテスト方法および装置
JP2723762B2 (ja) 部品の自動品質検査装置
US20070168978A1 (en) Computer program code debugging method and system
JP2000322283A (ja) 電子計算機の障害検出方法
JP2009129132A (ja) ソフトウェア部分テストシステム、それに用いる方法およびプログラム
CN111752823A (zh) 一种车载电源应用软件的测试方法、装置及设备
CN117632723B (zh) 一种自动化模拟调测方法、系统、设备及介质
JP4149047B2 (ja) シミュレータ
JP2523692B2 (ja) 電子計算機調整不良解析支援システム
JP2009205314A (ja) ソフトウエア検証支援システム、及び検証支援機能を有するコンピュータプログラム
JPH03182941A (ja) プログラムテスト方式
JPH07168738A (ja) プログラム検査装置
JPH0317749A (ja) 試験プログラムの検証方法
JP2023000907A (ja) ソースコード修正支援装置及びソースコード修正支援方法
JPH07105045A (ja) 情報処理装置機能試験プログラムのデバッグ方式
JPH0254339A (ja) パラメータ検査処理方法
JPH05324756A (ja) 論理シミュレーション結果表示システム
JP2002182950A (ja) プログラムテスト情報入力支援方法及びシステム
JPH0675816A (ja) ループ処理誤り検出装置
JPS63204438A (ja) 装置試験方式
JPH05143395A (ja) 診断プログラム実行方式およびそれに使用されるログ情報表示方式
JPH06195237A (ja) 装置機能評価装置
JPH0468446A (ja) デバッグ支援装置
JPH05233349A (ja) プログラムモジュールの自動試験ツール

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020702