JP2001243089A - Device and method for verifying software - Google Patents
Device and method for verifying softwareInfo
- Publication number
- JP2001243089A JP2001243089A JP2000049146A JP2000049146A JP2001243089A JP 2001243089 A JP2001243089 A JP 2001243089A JP 2000049146 A JP2000049146 A JP 2000049146A JP 2000049146 A JP2000049146 A JP 2000049146A JP 2001243089 A JP2001243089 A JP 2001243089A
- Authority
- JP
- Japan
- Prior art keywords
- test program
- test
- software
- program
- debugger
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、計算機のOS(O
peration System)を試験する装置及び
方法に関する技術である。特に、OSが提供するアプリ
ケーション・プログラミング・インタフェースを用いて
OSのサービス内容を確認する検証装置において、試験
失敗時の原因追求を容易とさせる、試験自動実行方法を
提供する。The present invention relates to a computer operating system (OS).
The present invention relates to an apparatus and a method for testing an operation system. In particular, the present invention provides an automatic test execution method for a verification device that checks the service contents of an OS using an application programming interface provided by the OS, which facilitates pursuit of a cause when a test fails.
【0002】[0002]
【従来の技術】プログラムのテストを自動化するための
従来方法には、例えば、特開平8−305609号公報
に開示されているテスト方法及びプログラムテスト装置
がある。図31に、従来システムの構成の一例を示す。
図31は、プログラムテスト装置10と、テスト対象の
プログラムを実行する手段としてのターゲットシステム
20と、検査者30、例えば、オペレータとの関係を示
す。プログラムテスト装置は、テストスクリプト管理手
段10aと、テスト自動化制御手段10bと、テストス
クリプト実行手段10cと、テスト合否判定手段10d
と、プログラム障害特定手段10eとを具える。さらに
このプログラムテスト装置10は、検査者30との間の
インタフェース手段として、テストスクリプト入力手段
10fと、テスト結果出力手段10gと、モード切変え
/実行手段10hと、デバッグコマンド入力手段10i
とを具える。これらインタフェース手段10f〜10i
は、それぞれ、テスト自動化制御手段10bと接続して
ある。2. Description of the Related Art Conventional methods for automating a program test include, for example, a test method and a program test apparatus disclosed in Japanese Patent Application Laid-Open No. 8-305609. FIG. 31 shows an example of the configuration of a conventional system.
FIG. 31 shows a relationship between the program test apparatus 10, a target system 20 as a means for executing a test target program, and an inspector 30, for example, an operator. The program test device includes a test script management unit 10a, a test automation control unit 10b, a test script execution unit 10c, and a test pass / fail determination unit 10d.
And a program fault specifying means 10e. Further, the program test apparatus 10 includes test script input means 10f, test result output means 10g, mode switching / executing means 10h, and debug command input means 10i as interface means with the inspector 30.
And These interface means 10f to 10i
Are respectively connected to the test automation control means 10b.
【0003】従来技術において、プログラムテスト動作
は以下の通りとなっている。テスト対象プログラムに障
害があるか否かの判定に好適なテスト対象プログラムに
おける所定ステップでの実行結果を出力させる旨及び該
実行結果に対するテスト項目を、少なくとも含むテスト
スクリプトを用意しておき、テスト対象のプログラムを
実行すると共に、所定ステップでの前記テストスクリプ
トの処理により、テスト対象プログラムに障害があるか
を判定する。In the prior art, the program test operation is as follows. Prepare a test script including at least a statement that outputs an execution result at a predetermined step in the test target program suitable for determining whether or not the test target program has a failure and a test item for the execution result. In addition to executing the program, it is determined whether or not the test target program has a failure by processing the test script in a predetermined step.
【0004】更に、従来技術において、障害特定動作が
ある。これは、以下のように行われる。検査者は、障害
を含んでいたためプログラムテスト動作において不合格
とされたプログラムに対する障害有無判定用テストスク
リプトを、テストスクリプト入力手段10fを利用し
て、プログラムテスト装置10の表示装置に表示させ
る。次に、この障害を含むプログラムの障害箇所特定に
好適な障害特定用テストスクリプトを、テストスクリプ
ト入力手段10fを利用して、テストスクリプト管理手
段10aの記憶部のファイルに登録する。Further, in the prior art, there is a fault identification operation. This is performed as follows. The inspector causes the display device of the program test apparatus 10 to display a test script for determining the presence or absence of a failure with respect to the program rejected in the program test operation because the failure includes the failure, using the test script input unit 10f. Next, a test script for fault identification suitable for identifying a fault location of a program including the fault is registered in a file in the storage unit of the test script management means 10a using the test script input means 10f.
【0005】この登録する障害特定用テストスクリプト
は、テストモード(上記公報からの引用省略)で障害が
あると判定された際に、得られたテスト結果から見て当
該障害の特定に好適なように、障害有無判定用テストス
クリプトを変更して作成する。例えば、ブレイクポイン
トやダンプすべきデータ名を変更している。この後、テ
ストプログラムの一部或は全部を再実行する。結果とし
て、障害特定用テストスクリプトの処理によって、障害
箇所を特定できるとしたものであった。[0005] When a failure is determined in the test mode (cited from the above publication), the failure identification test script to be registered is suitable for identifying the failure based on the obtained test results. Then, modify and create the test script for failure determination. For example, breakpoints and data names to be dumped are changed. Thereafter, part or all of the test program is re-executed. As a result, the fault location can be specified by the processing of the fault identification test script.
【0006】[0006]
【発明が解決しようとする課題】しかしながら、従来例
のように、一旦障害を検出した後に改めて障害箇所を特
定するスクリプトを登録して再実行する試験方法では、
再現性が低い障害に対して、原因追求が困難であるとい
う課題があった。この発明は、上述のような課題を解決
するためになされたもので、第1の目的は、試験対象プ
ログラムを試験プログラムを用いて自動的に検証する装
置において、試験プログラム上にブレイクポイントを設
定することを可能とし、試験動作を停止させるものであ
る。However, as in the prior art, a test method for once detecting a failure and then registering and re-executing a script for specifying the location of the failure is as follows.
There is a problem that it is difficult to find the cause of a failure with low reproducibility. A first object of the present invention is to set a breakpoint on a test program in an apparatus for automatically verifying a test target program using the test program. And stops the test operation.
【0007】第2の目的は、第1の目的で設定するブレ
イクポイントを試験プログラムが障害を検出する場所を
対象にする状況で、試験プログラム停止後に試験プログ
ラムの内部状態を得ることによって、再現が困難な障害
について、障害検出時に障害原因を解析するための情報
を得るものである。A second object is to set a breakpoint for the first object at a place where the test program detects a failure, and to obtain the internal state of the test program after stopping the test program so that reproduction can be performed. This is to obtain information for analyzing the cause of a difficult failure when the failure is detected.
【0008】第3の目的は、第1の目的で設定するブレ
イクポイントを試験プログラムが障害を検出した場所を
対象にする状況で、試験プログラム停止後に試験対象プ
ログラムの内部状態を得ることによって、再現が困難な
障害について、障害検出時に障害原因を解析するための
情報を得るものである。A third object is to reproduce a breakpoint set for the first object by obtaining an internal state of the test target program after the test program is stopped in a situation where the test program detects a failure. This is to obtain information for analyzing the cause of the failure when the failure is detected.
【0009】第4の目的は、第1の目的で設定するブレ
イクポイントを試験プログラムが障害を検出した場所を
対象にする状況で、試験プログラムが使用する資源で、
その状態によりオペレーティングシステム(以下、OS
と記す)の処理が変わることで試験プログラムの実行結
果に影響するような試験プログラムの実行環境に関する
情報を得るものである。A fourth object is to use a resource used by a test program in a situation where a breakpoint set for the first object is targeted at a place where the test program detects a failure.
Depending on the state, the operating system (hereinafter referred to as OS
The information about the execution environment of the test program that affects the execution result of the test program due to the change of the processing described in (1) is obtained.
【0010】第5の目的は、タイムアウト判定時間を定
義し、この時間内に試験プログラムが終了しない場合に
試験プログラムがハングアップを起こしたと判断し、ハ
ングアップを起こした要因を解析するためのデータを自
動収集した後、試験プログラムを終了させ、試験動作の
連続処理を可能にするものである。A fifth object is to define a time-out determination time, determine that the test program has hanged up if the test program does not end within this time, and analyze data for analyzing the cause of the hang-up. After the automatic collection of the test program, the test program is terminated to enable continuous processing of the test operation.
【0011】第6の目的は、第5の目的において、効率
良くタイムアウト判定時間を設定することを可能にする
ものである。A sixth object is to provide a method for setting a time-out determination time efficiently in the fifth object.
【0012】第7の目的は、試験プログラムの異常停止
によって試験の自動実行が停止することを防ぎ、且つ異
常停止を起こした要因を解析するためのデータ収集を行
うものである。A seventh object is to prevent the automatic execution of the test from being stopped by the abnormal stop of the test program, and to collect data for analyzing the cause of the abnormal stop.
【0013】第8の目的は、試験プログラムの実行によ
って試験対象のOSが重大障害を起こし、システムダウ
ンしたことで試験が失敗する状況において、試験対象の
OSが動作するターゲットマシンをハードウェア的にリ
セットし、ターゲットマシンが再起動した後に、試験動
作の連続処理を可能にするものである。An eighth object is to set a target machine on which the OS to be tested operates in terms of hardware in a situation where the OS to be tested causes a serious failure due to execution of the test program and the test fails due to a system down. After resetting and restarting the target machine, the test operation can be continuously performed.
【0014】[0014]
【課題を解決するための手段】この発明に係るソフトウ
ェア検証装置は、ソフトウェアを試験するデバッカを起
動可能なソフトウェア検証装置であって、試験対象とす
るソフトウェアのアプリケーション・プログラミング・
インタフェース(以下、「API」という)を用いて、
上記ソフトウェアの試験を行う試験プログラムを記憶す
る試験プログラム記憶部と、上記試験プログラム記憶部
に記憶された試験プログラムを、デバッカを用いて動作
させるプログラムとして指定して上記デバッカを起動
し、起動されたデバッカを用いて、指定された試験プロ
グラムが上記ソフトウェアのAPIによってエラーを把
握する試験プログラムの箇所へブレイクポイントを設定
し、設定した試験プログラムを起動されたデバッカを用
いて実行する試験自動実行化部とを備えたことを特徴と
する。A software verification device according to the present invention is a software verification device capable of activating a debugger for testing software, and includes an application programming program for software to be tested.
Using an interface (hereinafter referred to as “API”),
A test program storage unit that stores a test program for performing the software test, and the test program stored in the test program storage unit is designated as a program that operates using a debugger, and the debugger is started up. A test automatic execution unit that uses a debugger to set a breakpoint at a location of a test program in which a designated test program grasps an error by using an API of the software, and executes the set test program using the started debugger. And characterized in that:
【0015】上記試験プログラムは、上記ソフトウェア
のAPIで定義された実行結果によってソフトウェアの
動作が異常であることを把握するエラー検出ポイントを
含み、上記試験プログラム記憶部は、さらに、試験プロ
グラムのエラー検出ポイントを含む試験プログラムの実
行に関する定義を記憶し、上記試験自動実行化部は、上
記試験プログラム記憶部に記憶された試験プログラムの
エラー検出ポイントに基づいて、試験プログラムにブレ
イクポイントを設定することを特徴とする。The test program includes an error detection point for grasping that the operation of the software is abnormal based on an execution result defined by an API of the software. The test program storage unit further includes an error detection point for the test program. The test automatic execution unit stores a definition relating to execution of a test program including points, and sets a breakpoint in the test program based on an error detection point of the test program stored in the test program storage unit. Features.
【0016】上記ソフトウェア検証装置は、さらに、上
記設定されたブレイクポイントで試験プログラムが停止
した場合、試験プログラムが停止した時点の障害情報を
収集する障害情報収集部を備えたことを特徴とする。[0016] The software verification apparatus further includes a failure information collecting unit that collects, when the test program stops at the set breakpoint, failure information at the time when the test program stops.
【0017】上記試験プログラムは、試験プログラムが
実行中に使用する変数を特定する情報としての変数情報
を含み、上記障害情報収集部は、デバッカを用いて、上
記試験プログラムから上記変数情報を抽出し、抽出した
変数情報に基づいて、試験プログラムの変数の値を収集
することを特徴とする。The test program includes variable information as information for specifying variables used during the execution of the test program. The fault information collecting unit extracts the variable information from the test program using a debugger. And collecting variable values of the test program based on the extracted variable information.
【0018】上記ソフトウェアは、ソフトウェアが実行
中に使用する変数を特定する情報としての試験対象変数
情報を含み、上記障害情報収集部は、デバッカを用い
て、上記ソフトウェアから上記試験対象変数情報を抽出
し、抽出した試験対象変数情報に基づいて、試験プログ
ラムの変数の値を収集することを特徴とする。The software includes test target variable information as information for specifying a variable used during execution of the software, and the fault information collecting unit extracts the test target variable information from the software using a debugger. Then, values of the variables of the test program are collected based on the extracted test target variable information.
【0019】上記障害情報収集部は、上記ソフトウェア
の実行環境を変更し、変更した実行環境上で上記ソフト
ウェアを実行させ、実行させた上記ソフトウェアの実行
結果を取得することを特徴とする。[0019] The failure information collecting unit changes an execution environment of the software, causes the software to execute on the changed execution environment, and acquires an execution result of the executed software.
【0020】上記試験自動実行化部は、所定の時間経過
後に試験プログラムが終了しない場合、上記デバッカを
用いて試験プログラムを停止させ、上記障害情報収集部
は、停止させた試験プログラムの停止位置を取得すると
ともに、障害情報を収集することを特徴とする。If the test program does not end after a lapse of a predetermined time, the test automatic execution section stops the test program using the debugger, and the fault information collecting section determines the stop position of the stopped test program. It is characterized by acquiring and acquiring failure information.
【0021】上記試験自動実施化部は、試験プログラム
の実行結果に基づいて、上記所定の時間を変更すること
を特徴とする。[0021] The automatic test execution section changes the predetermined time based on the execution result of the test program.
【0022】上記試験自動実行化部は、試験プログラム
が異常停止したことを検知し、デバッカを用いて検知し
た試験プログラムを強制終了させ、上記障害情報収集部
は、強制終了させた試験プログラムの強制終了位置を取
得するとともに、障害情報を収集することを特徴とす
る。The test automatic execution section detects that the test program has stopped abnormally, and forcibly terminates the test program detected using the debugger. The fault information collection section forcibly terminates the test program that has been forcibly terminated. In addition to acquiring the end position, failure information is collected.
【0023】上記試験自動実行化部は、試験プログラム
が異常停止した後に、ソフトウェアが動作する計算機の
リセットを指示する信号を送出し、送出した信号によっ
て上記計算機が再起動した後に、試験プログラムを実行
させることを特徴とする。The test automatic execution unit sends a signal for instructing reset of a computer on which the software operates after the test program abnormally stops, and executes the test program after the computer is restarted by the sent signal. It is characterized by making it.
【0024】上記ソフトウェアは、オペレーティングシ
ステムまたはアプリケーションプログラムとのいずれか
を含むことを特徴とする。[0024] The software is characterized in that it includes either an operating system or an application program.
【0025】この発明に係るソフトウェア検証方法は、
ソフトウェアを試験するデバッカを起動可能なソフトウ
ェア検証方法であって、試験対象とするソフトウェアの
アプリケーション・プログラミング・インタフェース
(以下、「API」という)を用いて、上記ソフトウェ
アの試験を行う試験プログラムを記憶する試験プログラ
ム記憶工程と、上記試験プログラム記憶工程で記憶され
た試験プログラムを、デバッカを用いて動作させるプロ
グラムとして指定して上記デバッカを起動し、起動され
たデバッカを用いて、指定された試験プログラムが上記
ソフトウェアのAPIによってエラーを把握する試験プ
ログラムの箇所へブレイクポイントを設定し、設定した
試験プログラムを起動されたデバッカを用いて実行する
試験自動実行化工程とを備えたことを特徴とする。The software verification method according to the present invention comprises:
A software verification method capable of starting a debugger for testing software, wherein a test program for testing the software is stored using an application programming interface (hereinafter, referred to as “API”) of the software to be tested. The test program storage step and the test program stored in the test program storage step are designated as a program operated using a debugger, the debugger is started, and the specified test program is used by using the started debugger. A test automatic execution step of setting a breakpoint at a location of a test program for grasping an error by using an API of the software and executing the set test program by using a started debugger.
【0026】[0026]
【発明の実施の形態】実施の形態1.実施の形態1で
は、OSを試験プログラムの実行によって検証する状況
において、試験プログラムが障害検出直後に試験プログ
ラムを停止させ、障害検出時の状態を保持させたままと
する機構を提供する。そこで、この実施の形態は、ソフ
トウェア検証装置としてOSを検証するOS検証装置を
一例として説明する。また、実施の形態2から実施の形
態8においても同様に、OS検証装置を一例として説明
する。従って、試験対象となる試験対象プログラムは、
OSとなる。DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiment 1 In the first embodiment, in a situation where the OS is verified by executing the test program, a mechanism is provided in which the test program stops the test program immediately after the failure is detected and keeps the state at the time of the failure detection. In this embodiment, an OS verification device that verifies an OS will be described as an example of a software verification device. Similarly, in Embodiments 2 to 8, an OS verification device will be described as an example. Therefore, the test target program to be tested is
OS.
【0027】図1は、実施の形態1を実現するシステム
の一例の構成図を表わしている。100は、ソフトウェ
ア検証装置の一例として、OS検証装置を表わしてい
る。OS検証装置(100)は、本発明において、ター
ゲットマシン上で行うOSの試験を支援する。本実施の
形態では、OS検証装置(100)は、記憶部(試験プ
ログラム記憶部)(110)、試験自動実行化部(12
0)、仮想ターミナル(130)、ターゲットマシンと
接続する通信路とのインタフェース(101)で構成さ
れる。FIG. 1 shows a configuration diagram of an example of a system for implementing the first embodiment. Reference numeral 100 denotes an OS verification device as an example of a software verification device. In the present invention, the OS verification device (100) supports an OS test performed on a target machine. In the present embodiment, the OS verification device (100) includes a storage unit (test program storage unit) (110), a test automatic execution unit (12).
0), a virtual terminal (130), and an interface (101) with a communication path connected to the target machine.
【0028】110は、試験プログラム記憶部としての
記憶部(2次記憶装置)である。ここには、ターゲット
マシン上で実施する試験プログラム群(1)と、試験プ
ログラムの2次記憶装置上の位置情報(パス)を表わし
た試験プログラムのパス情報を表わすファイル(単に、
「試験プログラムのパス情報」ともいう)(4)があ
る。詳細は、図2と図3に示す。120は、OS検証装
置における試験自動実行化部で、図5に示す動作を行
う。130は、仮想ターミナルで、通信機能によって、
試験対象のOS上で動作する試験プログラムを動作させ
るセッションとしての試験プログラムのグループ(23
0)と接続する。仮想ターミナル(130)は、試験自
動実行化部(120)からの指示を試験プログラムのグ
ループ(230)へ通知する。Reference numeral 110 denotes a storage unit (secondary storage device) as a test program storage unit. Here, a test program group (1) to be executed on the target machine and a file (simply, a file representing path information of the test program representing the position information (path) of the test program on the secondary storage device)
(Also referred to as "test program path information") (4). Details are shown in FIG. 2 and FIG. Reference numeral 120 denotes an automatic test execution unit in the OS verification device, which performs the operation shown in FIG. Reference numeral 130 denotes a virtual terminal,
A group of test programs (23) as a session for operating a test program that runs on the OS under test.
0). The virtual terminal (130) notifies the instruction from the test automatic execution unit (120) to the test program group (230).
【0029】200は、ターゲットマシンを表わしてい
る。この上で、試験対象のOS(220)が動作する。
201は、OS検証装置と接続する通信路とのインタフ
ェースである。210は、ターゲットマシン上の2次記
憶装置である。220は、試験対象のOS(OSプログ
ラム)である。230は、試験対象のOS(220)上
で動作する試験プログラムのグループである。231
は、試験対象のOS上で動作するコマンドインタプリタ
で、試験プログラムのグループ(230)内で最初に起
動されるリーダー格である。コマンドインタプリタは、
試験プログラム終了後も、仮想ターミナル(130)と
接続が維持される限り、ターゲットマシン上に常駐す
る。Reference numeral 200 denotes a target machine. Then, the OS (220) to be tested operates.
Reference numeral 201 denotes an interface with a communication path connected to the OS verification device. 210 is a secondary storage device on the target machine. Reference numeral 220 denotes an OS (OS program) to be tested. 230 is a group of test programs operating on the OS (220) to be tested. 231
Is a command interpreter that operates on the OS under test, and is a leader that is first activated in the test program group (230). The command interpreter
After the test program ends, it stays on the target machine as long as the connection with the virtual terminal (130) is maintained.
【0030】232は、ユーザレベルデバッガで、コマ
ンドインタプリタ(231)上で起動される。233
は、試験プログラムで、ユーザレベルデバッガ(23
2)を介して起動される。300は、通信路で、OS検
証装置(100)とターゲットマシン(200)を接続
している。媒体としては、例えば、RS232Cやイー
サネットを用いる。この通信路を用いて、試験プログラ
ムをOS検証装置からターゲットマシンに転送したり、
ターゲットマシン上で動作するプログラムの標準入出力
をOS検証装置に向けることが可能になっている。Reference numeral 232 denotes a user level debugger which is activated on the command interpreter (231). 233
Is a test program, a user-level debugger (23
Invoked via 2). A communication path 300 connects the OS verification device (100) and the target machine (200). As the medium, for example, RS232C or Ethernet is used. Using this communication path, a test program is transferred from the OS verification device to the target machine,
It is possible to direct the standard input / output of the program operating on the target machine to the OS verification device.
【0031】図2は、試験プログラムが試験項目別のフ
ォルダによって管理される様子を表わしている。試験項
目毎のフォルダ(1a)は、階層構造を有しており、同
フォルダの階層的に下位のフォルダとして、試験プログ
ラムを生成するためのソースファイルを収めるsrcフ
ォルダ(2)と試験プログラムの実行時にファイルを収
めるbin(3)フォルダが存在する。srcフォルダ
(2)の中には、試験プログラムのソースファイル(2
1)、ソースファイルから試験プログラムを生成する手
続きを記述したファイル(22)がある。binフォル
ダ(3)の中には、前記試験プログラムのソースファイ
ル(21)から生成される試験プログラムのロードモジ
ュール(31)、試験プログラムの実行に関する定義
(5)を収める。FIG. 2 shows a state where the test program is managed by a folder for each test item. The folder (1a) for each test item has a hierarchical structure. The folder (1a) hierarchically lower than the folder has an src folder (2) for storing a source file for generating a test program, and the execution of the test program. Sometimes there is a bin (3) folder for storing files. In the src folder (2), source files (2
1) There is a file (22) that describes a procedure for generating a test program from a source file. The bin folder (3) contains a load module (31) of the test program generated from the test program source file (21) and a definition (5) relating to the execution of the test program.
【0032】試験プログラムの実行に関する定義(5)
は、試験プログラムのロードモジュール名に“.ru
n”の名前で定義することで、OS検証装置は、試験プ
ログラムのロードモジュール(31)に対する試験プロ
グラムの実行に関する定義(5)を把握することができ
る。Definition of Test Program Execution (5)
Is ".ru" in the load module name of the test program.
By defining with the name “n”, the OS verification device can grasp the definition (5) relating to the execution of the test program on the load module (31) of the test program.
【0033】図3は、試験プログラムのパス情報を記述
するファイル(4)とその形式を示している。試験プロ
グラムのパス情報を記述するファイルの中には、試験プ
ログラムのパス(41)が1行に1つの割合で記述され
ている。本実施の形態では、試験プログラム実行時にユ
ーザレベルデバッガを介するため、試験プログラムの実
行時にソースファイルを必要とする。試験プログラム
は、図2に示したように、階層構造を持つフォルダで管
理されており、試験プログラムのパス(41)中、最後
が試験プログラムのロードモジュールのファイル名、そ
の前がbinフォルダ、その前が試験項目名となってい
る。試験項目名の一例“/kernel/syscal
l/read/”を図3に示している。これにより、試
験自動実行化部(120)は、試験プログラム実行時
に、ターゲットマシンでのユーザレベルデバッガの動作
形態に応じて必要な試験項目毎のフォルダ(1a)の中
身を、ターゲットマシンに転送することが可能になって
いる。FIG. 3 shows a file (4) for describing path information of the test program and its format. In the file describing the path information of the test program, the path (41) of the test program is described one line at a time. In the present embodiment, since the test program is executed through the user-level debugger, a source file is required when the test program is executed. As shown in FIG. 2, the test program is managed in a folder having a hierarchical structure. In the path (41) of the test program, the last is the file name of the load module of the test program, the last is the bin folder, and the last is the bin folder. The previous item is the test item name. Example of test item name "/ kernel / syscal
1 / read / ”is shown in Fig. 3. With this, the test automatic execution unit (120) performs each test item necessary for the test program execution according to the operation mode of the user-level debugger on the target machine. The contents of the folder (1a) can be transferred to the target machine.
【0034】或は、この下のbinフォルダ(3)の中
身を転送する場合もある。binフォルダ(3)の中身
だけを転送する処理は、OS検証装置(100)がター
ゲットマシン(200)のクロス開発ホストとなってい
て、OS検証装置(100)上にあるユーザレベルデバ
ッガ本体がOS検証装置(100)上で動作し、ユーザ
レベルデバッガの一部と試験プログラムがターゲットマ
シン(200)上で動作する試験環境に対応する。OS
検証装置は、試験プログラムのパス情報を記述するファ
イル(4)中の試験プログラムのエントリを1つずつ処
理する。これにより、OS検証装置は、ターゲットマシ
ン上で実施中の試験プログラムを把握している。Alternatively, the contents of the bin folder (3) under this folder may be transferred. In the process of transferring only the contents of the bin folder (3), the OS verification device (100) is a cross development host of the target machine (200), and the user level debugger main body on the OS verification device (100) is an OS verification device. It operates on the verification device (100), and corresponds to a test environment in which a part of the user level debugger and the test program operate on the target machine (200). OS
The verification device processes each test program entry in the file (4) describing the path information of the test program. Thus, the OS verification device knows the test program being executed on the target machine.
【0035】図4は、試験プログラム実行に関する定義
(5)とその形式を示している。試験プログラム実行に
関する定義(5)は、試験項目毎のフォルダ(1a)内
に、試験プログラムに対して1つの割合で存在する。原
則として、試験プログラム名に対する拡張子(.ru
n)により、試験自動実行化部(120)が対応を把握
できる仕掛けになっている。試験プログラム実行に関す
る定義(5)には、本OS検証システム上で試験プログ
ラムを実行する際に必要となる、以下の情報がある。FIG. 4 shows the definition (5) relating to the execution of the test program and its format. The definition (5) relating to the execution of the test program exists in the folder (1a) for each test item at a ratio of one to the test program. In principle, the extension (.ru) for the test program name
By n), the test automatic execution unit (120) can grasp the correspondence. The definition (5) relating to the execution of the test program includes the following information required when executing the test program on the OS verification system.
【0036】51は、試験プログラム実行時の引数情報
である。本実施の形態では、先頭行に記している。52
は、試験プログラム実行時に設定するブレイクポイント
に関する情報である。本実施の形態では、2行目以降
に、1つのブレイクポイントに対して1行を用いて記載
している。ブレイクポイントに関する情報(52)は、
試験プログラムを構成するファイルをデバッガ上でリス
ト表示する際にキーワードとなる関数名(53)と試験
プログラムを構成するファイルでの行番号(54)から
成る。尚、試験プログラムにおけるブレイクポイントの
設定場所は、原則として、試験プログラムがエラーを検
出した場所として、試験実施者が選ぶ。Reference numeral 51 denotes argument information when the test program is executed. In the present embodiment, it is described in the first row. 52
Is information on a breakpoint set when the test program is executed. In the present embodiment, one line is used for one breakpoint after the second line. Information about the breakpoint (52)
It consists of a function name (53) which is a keyword when a list of files constituting the test program is displayed on the debugger, and a line number (54) in the file constituting the test program. In addition, the place where the break point is set in the test program is selected by the test implementer in principle as a place where the test program detects an error.
【0037】図5は、実施の形態1を実現する、OS検
証装置内の試験自動実行化部の処理の流れを示してい
る。以下に、各ステップでの処理を説明する。FIG. 5 shows the flow of processing of the automatic test execution unit in the OS verification device that implements the first embodiment. The processing in each step will be described below.
【0038】ステップ900では、OS検証装置(10
0)上に仮想ターミナル(130)を準備し、仮想ター
ミナルの通信機能を用いて、ターゲットマシン(20
0)上にコマンドインタプリタ(231)の起動を要求
し、生成されたコマンドインタプリタ(231)と接続
する。この仮想ターミナル(130)上での操作を通し
て、ターゲットマシン(200)上で、ユーザレベルデ
バッガ(232)と試験プログラム(233)の各種コ
マンドを起動し、試験対象のOS(220)を試験す
る。In step 900, the OS verification device (10
0), a virtual terminal (130) is prepared on the target machine (20) using the communication function of the virtual terminal.
0) requesting the command interpreter (231) to start, and connecting to the generated command interpreter (231). Through the operation on the virtual terminal (130), various commands of the user level debugger (232) and the test program (233) are activated on the target machine (200) to test the OS (220) to be tested.
【0039】ステップ1000では、試験プログラムの
パス情報(4)を読み込む。例えば、試験自動実行化部
(120)では、試験プログラムのパス情報(4)を記
述するファイル名を起動時の引数として渡すか固定のパ
スに設定しておくことで扱うことが可能になっている。
試験自動実行化部(120)は、ステップ1000から
ステップ1700迄の1回のループ処理で、1度に1個
の試験プログラムを扱う。このため、ステップ1000
では、試験プログラムのパス情報(4)において先頭か
ら順繰りに試験プログラムのエントリを読み込む。At step 1000, path information (4) of the test program is read. For example, the automatic test execution unit (120) can handle the file by passing the file name describing the path information (4) of the test program as an argument at the time of startup or setting it to a fixed path. I have.
The test automatic execution unit (120) handles one test program at a time in one loop process from step 1000 to step 1700. Therefore, step 1000
Then, in the path information (4) of the test program, the entries of the test program are read sequentially from the beginning.
【0040】ステップ1100では、ステップ1000
での処理で読み込んだパス情報を元にして、実施する試
験があるかないかで処理を変える。実行する試験の記述
が存在しないとは、試験プログラムのパス情報(4)フ
ァイルでの最終行迄行き着いたことをいう。実行する試
験の記述が存在する場合は、ステップ1200へ移り、
実行する試験の記述が存在しない場合は、試験自動実行
化部の処理を終了する。In step 1100, step 1000
Based on the path information read in the processing in step 2, the processing is changed depending on whether there is a test to be performed. No description of the test to be executed means that the test program has reached the last line in the path information (4) file. If there is a description of the test to be performed, proceed to step 1200,
If there is no description of the test to be executed, the process of the test automatic execution unit ends.
【0041】ステップ1200では、ステップ900で
準備した仮想ターミナル(130)に対して、オペレー
タがキータイプするのと同等の効果を生じさせることを
自動化した手段(以下、「自動化手段」ともいう)を用
いて実現する。仮想ターミナル(130)に対して行わ
れるキータイプ相当の処理で渡る文字列は、仮想ターミ
ナル(130)とターゲットマシン(200)上でのコ
マンドインタプリタが接続されているので、内容はコマ
ンドインタプリタによって解釈される。ここでの目的
は、ターゲットマシン(200)上でユーザレベルデバ
ッガ(232)を介して試験プログラム(233)を起
動することであるが、これは以下のようにして行う。In step 1200, means (hereinafter, also referred to as "automated means") for automatically providing the virtual terminal (130) prepared in step 900 with an effect equivalent to a key type by an operator is provided. It is realized using. The character string passed in the processing corresponding to the key type performed on the virtual terminal (130) is interpreted by the command interpreter since the virtual terminal (130) and the command interpreter on the target machine (200) are connected. Is done. The purpose here is to launch the test program (233) on the target machine (200) via the user level debugger (232), which is performed as follows.
【0042】まず、ターゲットマシン上で試験プログラ
ムを実行するために必要な試験セットをターゲットマシ
ンに転送する。例えば、リモートコピーコマンドの実行
をコマンドインタプリタに解釈させ、試験項目毎のフォ
ルダ(1)全体をターゲットマシン上の2次記憶装置
(210)に転送する。リモートコピーコマンド実行時
に必要となる転送すべきフォルダのパスは、試験プログ
ラムのパス情報(4)から、試験プログラム名とbin
フォルダ以下を除いたパスとして得ることができる。具
体的には、OS検証装置内では、“rcp −r OS
検証装置名:転送すべきフォルダのパス名 .(改
行)”といった文字列を、仮想ターミナル(130)上
に送る。ターゲットマシン上への試験プログラムの転送
が完了後、仮想ターミナル(130)上へ、ユーザレベ
ルデバッガのパスとそれに続けて試験プログラム名から
成る文字列送る。この文字列は、ターゲットマシン上の
コマンドインタプリタによって解釈されて、ターゲット
マシン上でユーザレベルデバッガを介して試験プログラ
ムが起動される。この時点で、試験プログラムはまだ実
行開始していない。First, a test set required to execute a test program on the target machine is transferred to the target machine. For example, the command interpreter interprets the execution of the remote copy command, and transfers the entire folder (1) for each test item to the secondary storage device (210) on the target machine. From the path information (4) of the test program, the test program name and the bin
It can be obtained as a path excluding the folder. Specifically, in the OS verification device, "rcp-r OS
Verification device name: Path name of the folder to be transferred. (Line feed) ”on the virtual terminal (130). After the transfer of the test program to the target machine is completed, the path of the user-level debugger to the virtual terminal (130) is followed by the test program. Sends a string consisting of a name, which is interpreted by the command interpreter on the target machine and invokes the test program on the target machine via the user-level debugger, at which point the test program still starts executing I haven't.
【0043】ステップ1300では、試験プログラムの
実行に関する定義(5)ファイルを読み込む処理であ
る。この処理で、試験プログラム実行時の引数(51)
と、試験プログラム中に設定するブレイクポイントに関
する情報(52)を得る。本実施の形態では、試験プロ
グラムの実行に関する定義(5)のファイルは、図2に
示したように、現在実行中の試験プログラムのパスに拡
張子“.run”を付けたものとして定義して、試験プ
ログラムが存在するフォルダに存在する。Step 1300 is processing for reading a definition (5) file relating to the execution of the test program. In this process, the argument (51) when the test program is executed
Then, information (52) on the breakpoint set during the test program is obtained. In the present embodiment, the file of the definition (5) relating to the execution of the test program is defined as the path of the currently executed test program with the extension “.run” as shown in FIG. Exists in the folder where the test program exists.
【0044】ステップ1400では、ステップ1200
に記載した自動化手段を用いて、ステップ1200の処
理でターゲットマシン(200)上に起動したユーザレ
ベルデバッガ上で、試験プログラム(233)にブレイ
クポイントを設定する。ここでは、ユーザレベルデバッ
ガに、ステップ1300で読み出した試験プログラム中
に設定するブレイクポイントに関する情報(52)のう
ち、53を用いて試験プログラムを構成するソースファ
イルを読み込ませ、次に、試験プログラムを構成するフ
ァイルでの行番号(54)にブレイクポイントを設定す
る。ブレイクポイントを複数設定する必要がある場合、
ユーザレベルデバッガ上での本操作を繰り返し実行す
る。In step 1400, step 1200
A breakpoint is set in the test program (233) on the user-level debugger started on the target machine (200) in the processing of step 1200 using the automation means described in (1). Here, the user-level debugger is caused to read the source file constituting the test program using 53 out of the information (52) relating to the breakpoints set in the test program read in step 1300, and then the test program is loaded. A breakpoint is set at the line number (54) in the constituent file. If you need to set multiple breakpoints,
Repeat this operation on the user-level debugger.
【0045】ステップ1500では、ステップ1200
に記載した自動化手段を用いて、ユーザレベルデバッガ
で起動した試験プログラムを、ステップ1300で得た
試験プログラム実行時の引数を伴なわせて開始させる。
具体的には、仮想ターミナル(130)に対して、ター
ゲットマシン上のユーザレベルデバッガが解釈して試験
プログラムを所望の引数を伴なって開始させる文字列、
図4の例では、“runarg1 arg2 arg3
(リターン)”を送る。In step 1500, step 1200
The test program started by the user-level debugger is started with the argument at the time of execution of the test program obtained in step 1300 using the automation means described in (1).
Specifically, for the virtual terminal (130), a character string interpreted by a user-level debugger on the target machine to start the test program with desired arguments,
In the example of FIG. 4, "runarg1 arg2 arg3
(Return) ”.
【0046】ステップ1600では、仮想ターミナル
(130)上での自動対話操作(画面キャプチャ)によ
り、試験プログラム(233)の終了を監視する処理で
ある。本処理は一定時間(例えば、1秒)毎に、仮想タ
ーミナル(130)の画面をキャプチャし、仮想ターミ
ナルのサイズに応じた文字列配列に文字データを得る。
例えば、80桁×24行の配列に仮想ターミナル(13
0)上に出力されている文字を取り込む処理を行う。具
体的には、仮想ターミナル(130)上で試験プログラ
ムとユーザレベルデバッガの標準出力が表示され、表示
内容が上方向にスクロールされる状況において、検査者
は、画面上の最下位行(24行目)に表示されるユーザ
レベルデバッガのプロンプトと、その前に出力されたこ
とで1行上(23行目)に表示されている筈のユーザレ
ベルデバッガによる試験プログラムの状態を示す情報を
文字列データとして得て監視する。上記2行分の文字列
データを、文字列の比較処理を行うことで、試験の実行
状況を把握する。ちなみに、試験プログラムが終了して
いないうちは、デバッガのプロンプトは表示されないの
で、画面キャプチャした画面上の24行目に相当する文
字列データが、デバッガのプロンプトを表わす文字列に
なっていない。Step 1600 is a process of monitoring the end of the test program (233) by an automatic interactive operation (screen capture) on the virtual terminal (130). In this process, the screen of the virtual terminal (130) is captured at regular intervals (for example, one second), and character data is obtained in a character string array corresponding to the size of the virtual terminal.
For example, the virtual terminal (13
0) Perform processing to capture the characters output above. Specifically, in a situation where the test program and the standard output of the user-level debugger are displayed on the virtual terminal (130), and the displayed content is scrolled upward, the examiner may select the lowest line (24 lines) on the screen. The prompt of the user-level debugger displayed in (E) and a character string indicating the information indicating the state of the test program by the user-level debugger that should have been output immediately before and displayed one line above (23rd line) Obtain and monitor as data. The execution status of the test is grasped by comparing the character string data of the two lines with the character strings. Incidentally, since the prompt of the debugger is not displayed until the test program is completed, the character string data corresponding to the 24th line on the screen captured by the screen capture is not a character string representing the prompt of the debugger.
【0047】ステップ1700では、ステップ1600
での処理に基づき、試験プログラム(233)がブレイ
クポイントで停止した場合には終了する。試験プログラ
ムがブレイクポイントで停止しなかった場合にはステッ
プ1000に戻る。ブレイクポイントで停止していた場
合の状態を示す例としては、ステップ1600の処理で
仮想ターミナル(130)を画面キャプチャしたデータ
において、画面上の24行目に相当する文字列データが
ユーザレベルデバッガのプロンプトと同じであり、更に
23行目に相当する文字列データがブレイク場所を示し
ており、更に22行目に相当する文字列データがブレイ
クポイントで停止したことを示している。In step 1700, step 1600
When the test program (233) stops at the breakpoint based on the processing in (1), the process ends. If the test program has not stopped at the breakpoint, the process returns to step 1000. As an example showing a state where the virtual terminal (130) is stopped at a breakpoint, in the data obtained by screen-capturing the virtual terminal (130) in the process of step 1600, the character string data corresponding to the 24th line on the screen is displayed by the user-level debugger. This is the same as the prompt, and furthermore, the character string data corresponding to the 23rd line indicates the break location, and the character string data corresponding to the 22nd line indicates that the recording has stopped at the break point.
【0048】以上の試験自動実行化部の処理により、試
験プログラムの実行中にブレイクポイントが検出されな
ければ、試験プログラムのパス情報(4)に基づいて試
験プログラムが順次自動実行される。一方、ブレイクポ
イントが検出された場合は、ステップ1400の処理で
設定したブレイクポイントによって、試験プログラムは
停止したままとなる。このようにして、試験プログラム
の所望の箇所で試験プログラムの実行を停止させる。If no breakpoint is detected during the execution of the test program, the test program is automatically executed sequentially based on the path information (4) of the test program. On the other hand, when a breakpoint is detected, the test program remains stopped due to the breakpoint set in the process of step 1400. In this way, the execution of the test program is stopped at a desired position in the test program.
【0049】このように、試験対象とする計算機のオペ
レーティングシステムを、OSが提供するアプリケーシ
ョン・プログラムミング・インタフェースを用いてOS
のサービス内容を確認する試験プログラムによって検証
するソフトウェア検証装置において、前記試験プログラ
ムをOS上に実現されたユーザレベルデバッガを介して
起動し、試験プログラムがエラーする箇所にブレイクポ
イントを設定した後に実行開始することで、障害検出後
に試験プログラムを停止させ、障害を検出した状態を保
持させたままとすることを特徴とする。As described above, the operating system of the computer to be tested is changed to the OS using the application programming interface provided by the OS.
In a software verification device for verifying with a test program for confirming service contents of the above, the test program is started via a user-level debugger realized on an OS, and execution is started after setting a breakpoint at a place where the test program causes an error. By doing so, the test program is stopped after the failure is detected, and the state in which the failure is detected is maintained.
【0050】実施の形態2.実施の形態2では、上記実
施の形態1のようにして、試験プログラムが設定された
ブレイクポイントで停止した場合、試験プログラムが用
いている変数の値(引数情報)を取得する障害情報の収
集処理機構を実現する場合を説明する。本実施の形態で
は、試験プログラムが障害検出時の試験対象プログラム
の内部状態を得ているが、これは試験対象プログラムが
障害を起こす手続きの把握や、試験プログラムの誤りに
よって試験対象プログラムが障害と判定される問題を回
避可能にする。この実施の形態も実施の形態1と同様
に、OS検証装置を一例として説明する。Embodiment 2 In the second embodiment, as in the first embodiment, when the test program stops at a set breakpoint, failure information collection processing for acquiring values (argument information) of variables used by the test program The case of realizing the mechanism will be described. In this embodiment, the test program obtains the internal state of the test target program when a failure is detected. The problem to be determined can be avoided. In this embodiment, as in the first embodiment, an OS verification device will be described as an example.
【0051】図6は、実施の形態2を実現するシステム
の一例の構成図である。140は、OS検証装置におけ
る障害情報収集部で、図9に示す動作を行う。111
は、障害情報である。本実施の形態における障害情報
は、障害情報収集部(140)によって収集される、タ
ーゲットマシン上で停止中の試験プログラムのデータで
ある。障害情報は、ターゲットマシン上で停止中の試験
プログラムの名前と関連付けられて、OS検証装置の2
次記憶装置に記録される。図6では、障害情報(11
1)は、記憶部(110)とは別の記憶装置として表わ
しているが、同じ記憶装置であってもよい。FIG. 6 is a configuration diagram of an example of a system for implementing the second embodiment. A failure information collection unit 140 in the OS verification device performs the operation shown in FIG. 111
Is failure information. The fault information in the present embodiment is data of a test program stopped on the target machine, which is collected by the fault information collecting unit (140). The failure information is associated with the name of the test program stopped on the target machine, and
It is recorded in the next storage device. In FIG. 6, the failure information (11
1) is represented as a storage device different from the storage unit (110), but may be the same storage device.
【0052】図7は、試験プログラム内部のシンボル情
報を表わす試験プログラムシンボル情報のファイル
(6)とその形式を示している。シンボル情報は、プロ
グラムがメモリ上に展開されるときにプログラム内部で
用いているデータ及び関数の先頭(シンボルと呼ぶ)が
割り当てられるアドレスを示す。通常、割り当てられる
アドレスは、プログラムのソースファイルをコンパイル
後、リンク処理されたときに決まるものである。シンボ
ル情報は、ロードモジュールに含まれている。この実施
の形態では、必要に応じて障害情報収集部(140)が
シンボル情報を取得する。これについては、後述する
(図9、ステップ1722)。試験プログラム内部のシ
ンボル情報を表わすファイル(6)は、例えば、標準U
NIX(「UNIX」は、登録商標)においては、試験
プログラムのロードモジュールにシンボルテーブルが含
まれる状態で、標準nmコマンドの引数に試験プログラ
ムのロードモジュールのパスを指定して実行することで
得られる。FIG. 7 shows a test program symbol information file (6) representing symbol information inside the test program and its format. The symbol information indicates an address to which the head (referred to as a symbol) of data and a function used inside the program when the program is expanded on the memory is allocated. Usually, the assigned address is determined when a program source file is compiled and then linked. The symbol information is included in the load module. In this embodiment, the failure information collection unit (140) acquires symbol information as needed. This will be described later (FIG. 9, step 1722). The file (6) representing the symbol information inside the test program is, for example, a standard U
In the case of NIX (“UNIX” is a registered trademark), it is obtained by specifying the path of the load module of the test program in the argument of the standard nm command in a state where the load module of the test program includes the symbol table. .
【0053】61は、シンボルのアドレスを表わす。6
2は、シンボルの識別子を表わす。シンボルの識別子
は、シンボルがデータであるか関数の先頭であるかを示
す。ここでの情報で、データであるシンボルを判別す
る。63は、シンボル名を表わす。シンボルの種類がデ
ータである場合、変数データの名前である。このシンボ
ル情報から得る変数データは、試験プログラムがブレイ
クポイントで停止した場合に、その時点での値を障害情
報として収集する対象となる。Reference numeral 61 denotes a symbol address. 6
2 represents a symbol identifier. The symbol identifier indicates whether the symbol is data or a head of a function. The information is used to determine a symbol that is data. 63 indicates a symbol name. If the symbol type is data, it is the name of variable data. When the test program stops at a breakpoint, the variable data obtained from the symbol information is a target for collecting the value at that time as fault information.
【0054】図8は、実施の形態2を実現する、試験自
動実行化部(120)の処理の流れの一例を表わした図
を示している。本処理は、図5に対して、ステップ17
00の処理を変更してステップ1710とし、ステップ
1720の処理を追加している。以下に、これら変更し
たステップでの処理について説明する。FIG. 8 is a diagram showing an example of a processing flow of the automatic test execution section (120) for realizing the second embodiment. This processing corresponds to step 17 in FIG.
The processing of step 00 is changed to step 1710, and the processing of step 1720 is added. The processing in these changed steps will be described below.
【0055】ステップ1710では、試験プログラム
(233)がステップ1400の処理で設定したブレイ
クポイントで停止したかどうかで処理を変えている。ブ
レイクポイントで停止していた場合は、ステップ172
0の処理に移る。ブレイクポイントで停止せずに終了し
た場合は、ステップ1000の処理に戻る。ブレイクポ
イントで停止していた場合の状態を示す例としては、ス
テップ1600の処理で仮想ターミナル(130)を画
面キャプチャしたデータにおいて、画面上の24行目に
相当する文字列データがユーザレベルデバッガのプロン
プトと同じであり、更に23行目に相当する文字列デー
タがブレイク場所を示しており、更に22行目に相当す
る文字列データがブレイクポイントで停止したことを示
している。In step 1710, the processing is changed depending on whether the test program (233) has stopped at the break point set in the processing in step 1400. If stopped at a breakpoint, go to step 172
Move to the process of 0. If the processing is terminated without stopping at the break point, the process returns to step 1000. As an example showing a state where the virtual terminal (130) is stopped at a breakpoint, in the data obtained by screen-capturing the virtual terminal (130) in the process of step 1600, the character string data corresponding to the 24th line on the screen is displayed by the user-level debugger. This is the same as the prompt, and furthermore, the character string data corresponding to the 23rd line indicates the break location, and the character string data corresponding to the 22nd line indicates that the recording has stopped at the break point.
【0056】ステップ1720では、障害情報収集部
(140)の処理を行う。ステップ1720の処理の詳
細は、図9の流れで示している。In step 1720, the processing of the fault information collection unit (140) is performed. Details of the processing of step 1720 are shown in the flow of FIG.
【0057】次に、図9について説明する。ステップ1
721では、仮想ターミナル(130)上での自動対話
操作(画面キャプチャ)により、試験プログラム(23
3)の停止行番号を獲得して、障害情報(111)を残
す処理である。ユーザレベルデバッガ上で設定したブレ
イクポイントで停止していた場合、例えば、画面キャプ
チャしたデータにおいて、仮想ターミナル(139)上
の24行目にユーザレベルデバッガのプロンプト、23
行目に停止行番号、22行目にブレイクポイントで停止
した旨と停止位置情報(試験プログラムのソースファイ
ルと停止行番号)が示されている。Next, FIG. 9 will be described. Step 1
At 721, the test program (23) is executed by an automatic interactive operation (screen capture) on the virtual terminal (130).
This is the process of acquiring the stop line number of 3) and leaving the failure information (111). In the case where the program has stopped at a breakpoint set on the user level debugger, for example, in the screen captured data, the user level debugger prompt,
The line indicates the stop line number, and the line 22 indicates the stop at the break point and stop position information (the source file of the test program and the stop line number).
【0058】本ステップでは、障害情報(111)をフ
ァイルに残すが、このファイル名として試験プログラム
名に“.log”の拡張子を付けたものを生成し、上記
キャプチャ処理して得たデータのうち22,23行目で
得た情報を書き込む。この内容の一例を、図10中に試
験プログラムの停止箇所(12)として示した。In this step, the failure information (111) is left in a file. A file having a test program name with an extension of “.log” is generated as this file name, and the file name of the data obtained by the above capture processing is generated. Write the information obtained in lines 22 and 23. An example of this content is shown in FIG. 10 as the stop point (12) of the test program.
【0059】ステップ1722では、実行中の試験プロ
グラム(233)のロードモジュールからシンボルテー
ブルを得て、試験プログラム(233)内部のデータ名
を得る処理である。本実施の形態では、記憶部(11
0)上の試験プログラムのロードモジュールにおいて、
nmコマンドを用いて、図7に示した形式の試験プログ
ラム内部で用いているシンボルの情報をファイルに得
る。次に、このファイルにおいて、シンボルの識別子が
データを表わしているものを抽出して、最終的に試験プ
ログラム内部の変数名を得る。In step 1722, a symbol table is obtained from the load module of the test program (233) being executed, and the data name in the test program (233) is obtained. In the present embodiment, the storage unit (11
0) In the load module of the test program above,
Using the nm command, information on the symbols used inside the test program in the format shown in FIG. 7 is obtained in a file. Next, in this file, those whose symbol identifiers represent data are extracted, and finally, the variable names inside the test program are obtained.
【0060】ステップ1723では、仮想ターミナル
(130)上でのステップ1200記載の自動化手続き
と画面キャプチャを行い、試験プログラム(233)内
部の変数について、試験プログラムがエラーを検出して
停止している状態での値を獲得して、障害情報(11
1)として記録する。具体的には、ステップ1722の
処理で得た試験プログラム内部の変数名において、仮想
ターミナルに文字列を送信して、ユーザレベルデバッガ
上でデータ値を表示させた後、ユーザレベルデバッガの
出力を画面キャプチャして、ステップ1721で作成し
た障害情報を記すファイルに記録する。In step 1723, the automation procedure described in step 1200 and screen capture are performed on the virtual terminal (130), and the test program detects an error and stops the variables in the test program (233). To obtain the failure information (11
Record as 1). Specifically, in the variable name in the test program obtained in the process of step 1722, a character string is transmitted to the virtual terminal to display the data value on the user-level debugger, and then the output of the user-level debugger is displayed on the screen. The captured information is recorded in a file that records the failure information created in step 1721.
【0061】例えば、ユーザレベルデバッガが、所望変
数の表示手続き(改行)、所望変数の値(改行)、プロ
ンプト(改行)と出力したものは、24行×80桁の仮
想ターミナル上で画面スクロールされると、22行目に
所望変数の表示手続き、23行目に所望変数の値、24
行目にプロンプトが表示される。画面キャプチャ機能に
より、これらを、文字列として得て、プログラム処理す
ることが可能になる。ここでのステップで得る障害情報
は、図10において、所望変数の表示手続き(113)
と、所望変数の値(114)である。For example, what the user-level debugger outputs as desired variable display procedure (line feed), desired variable value (line feed), and prompt (line feed) is scrolled on a virtual terminal of 24 lines × 80 columns. Then, the display procedure of the desired variable on the 22nd line, the value of the desired variable on the 23rd line, 24
A prompt appears on the line. The screen capture function enables these to be obtained as character strings and processed by a program. The failure information obtained in this step is shown in FIG. 10 by a desired variable display procedure (113).
And the value of the desired variable (114).
【0062】ステップ1724では、仮想ターミナル
(130)上でのステップ1200記載の自動化手続き
によって、停止した試験プログラム(233)のスタッ
クのバックトレース等試験プログラム実行時のフローを
解析するのに役立つ情報表示をユーザレベルデバッガに
行わせる。尚、本処理は、使用するユーザレベルデバッ
ガの機能依存である。In step 1724, information useful for analyzing the flow of the execution of the test program, such as the back trace of the stack of the stopped test program (233), by the automation procedure described in step 1200 on the virtual terminal (130). To the user-level debugger. This processing depends on the function of the user level debugger used.
【0063】例えば、バッグトレースを行うにあたっ
て、仮想ターミナルに対して“bt(リターン)”とい
う文字列を送信して、ユーザレベルデバッガに指示を与
える。これにより、ユーザレベルデバッガは、停止して
いる試験プログラムのスタックフレームを解析する。こ
の結果、現在の停止地点がどういった経歴で呼ばれてき
たかを示す停止しているポイントを含む関数名、その関
数を含むソースファイル名が得られる。For example, when performing a bag trace, a character string “bt (return)” is transmitted to the virtual terminal to give an instruction to the user-level debugger. Thus, the user-level debugger analyzes the stack frame of the stopped test program. As a result, a function name including the stopping point indicating the history at which the current stopping point was called, and a source file name including the function are obtained.
【0064】更に、ユーザレベルデバッガでの結果結果
を仮想ターミナル上で行う画面キャプチャによって取得
し、ステップ1723での処理と同様に、障害情報(1
11)として残す。これらは、図10中のユーザレベル
デバッガへの指示(115)とユーザレベルデバッガに
よる解析結果(116)として示した。Further, the result obtained by the user-level debugger is acquired by screen capture performed on the virtual terminal, and the failure information (1
Leave as 11). These are shown as an instruction (115) to the user level debugger and an analysis result (116) by the user level debugger in FIG.
【0065】本実施の形態では、ユーザレベルデバッガ
から得る試験プログラムの変数値を画面キャプチャ機能
によって取得したが、仮想ターミナルにファイルへのロ
グ出力機能がある場合は、ステップ1721の処理開始
時点でこのロギング機能をオンして2次記憶装置上の障
害情報(111)を格納するファイルと関連付け、ステ
ップ1724の処理終了時点でロギング機能をオフする
ことで、ユーザレベルデバッガへの自動対話操作はキー
タイプのみ行なえば良くなる。In the present embodiment, the variable values of the test program obtained from the user-level debugger are obtained by the screen capture function. However, if the virtual terminal has a log output function to a file, this variable is used at the start of the processing in step 1721. By turning on the logging function and associating it with the file storing the fault information (111) on the secondary storage device and turning off the logging function at the end of the processing in step 1724, the automatic interactive operation to the user-level debugger can be performed with a key type. It only needs to be done.
【0066】このように、このソフトウェア検証装置
は、試験プログラムが設定したブレイクポイントで停止
した後、試験プログラムが用いている変数名を試験プロ
グラムのロードモジュールが含むシンボルテーブルから
得て、試験プログラムを動作させているユーザレベルデ
バッガを通して停止中の試験プログラムの変数値を取得
する障害情報の収集処理を備えたことを特徴とする。As described above, after stopping at the breakpoint set by the test program, the software verification apparatus obtains the variable names used by the test program from the symbol table included in the load module of the test program, and executes the test program. A fault information collecting process for acquiring a variable value of a test program being stopped through a running user level debugger is provided.
【0067】実施の形態3.実施の形態3では、試験プ
ログラムが設定されたブレイクポイントで停止した後、
試験対象のOSが用いている変数の値を取得する障害情
報の収集処理機構を実現する。Embodiment 3 In the third embodiment, after the test program stops at the set break point,
A failure information collection processing mechanism that acquires the value of a variable used by the OS under test is realized.
【0068】図11は、実施の形態3を実現するシステ
ムの構成図を表わしている。本実施の形態では、OS検
証装置(100)上で動作する通信機能を有した仮想タ
ーミナル(150)上で、ターゲットマシン(200)
上のOSをデバッグすることが可能な構成になってい
る。FIG. 11 shows a configuration diagram of a system for implementing the third embodiment. In the present embodiment, the target machine (200) is connected to a virtual terminal (150) having a communication function that operates on the OS verification device (100).
The above OS can be debugged.
【0069】150は、OS検証装置上で動作する仮想
ターミナルである。本仮想ターミナルは通信機能を用い
て、OS検証装置(100)上からターゲットマシン上
の試験対象のOSをデバッグ動作させるために、ターゲ
ットマシン上のカーネルレベルデバッガと接続する。
尚、OS検証装置(100)上で、本仮想ターミナル
(150)への入出力は、障害情報収集部(140)が
あたる。Reference numeral 150 denotes a virtual terminal that operates on the OS verification device. The virtual terminal is connected to a kernel level debugger on the target machine in order to perform a debugging operation of the OS to be tested on the target machine from the OS verification device (100) by using the communication function.
The input / output to / from the virtual terminal (150) on the OS verification device (100) is performed by the failure information collection unit (140).
【0070】221は、カーネルレベルデバッガで、試
験対象のOS内に実現されている。カーネルレベルデバ
ッガは、ターゲットマシン上の特定の通信ポートに関連
付けられており、この通信ポートを用いて入出力するこ
とで、試験対象のOSをデバッグ動作させることが可能
になっている。Reference numeral 221 denotes a kernel level debugger which is implemented in the OS to be tested. The kernel-level debugger is associated with a specific communication port on the target machine, and by performing input / output using this communication port, the OS under test can be debugged.
【0071】7は、試験対象のOSのロードモジュール
である。8は、試験対象のOS内部で用いているシンボ
ル情報を表わすファイル(単に、「試験対象のOS内部
で用いているシンボル情報」ともいう)である。内容
は、図12に示す。Reference numeral 7 denotes a load module of the OS to be tested. Reference numeral 8 denotes a file representing symbol information used inside the OS under test (also simply referred to as “symbol information used inside the OS under test”). The contents are shown in FIG.
【0072】図12は、試験対象のOS内部で用いてい
るシンボル情報を表わすファイル(8)とその形式を示
している。シンボル情報とは、OSがメモリ上に展開さ
れたときにOS内部で用いているデータ及び関数名(シ
ンボル)が割り当てられるアドレスを示す情報である。
通常、アドレスは、プログラムのソースファイルをコン
パイル後、リンクしたときに決まるものである。シンボ
ル情報は、ロードモジュールに含まれている。また、シ
ンボル情報は、リンク処理時にファイル等に出力するこ
とが可能である。FIG. 12 shows a file (8) representing symbol information used inside the OS under test and its format. The symbol information is information indicating an address to which data and a function name (symbol) used inside the OS when the OS is expanded on the memory are assigned.
Usually, the address is determined when a program source file is compiled and linked. The symbol information is included in the load module. The symbol information can be output to a file or the like at the time of link processing.
【0073】例えば、UNIXにおいては、OSのシン
ボル情報は、OSのロードモジュールにシンボルテーブ
ルが含まれる状態で、nmコマンドの引数にOSのロー
ドモジュールのパスを設定して実行することで得られ
る。また、これは、OS生成時に作成を要求することが
できる。本実施の形態では、OSのロードモジュールか
ら得る方法について扱う。For example, in UNIX, the OS symbol information can be obtained by setting the path of the OS load module in the argument of the nm command and executing it with the symbol table included in the OS load module. In addition, this can be requested to be created at the time of OS generation. In the present embodiment, a method of obtaining from the load module of the OS will be described.
【0074】81は、シンボルのアドレスを表わす。8
2は、シンボルの識別子を表わす。ここでの情報で、デ
ータであるシンボルを判別する。83は、シンボル名を
表わす。シンボルの種類がデータである場合、変数デー
タの名前である。このシンボル情報から得る変数データ
は、試験プログラムがブレイクポイントで停止した場合
に、その時点での値を障害情報として収集する対象とな
る。Reference numeral 81 denotes a symbol address. 8
2 represents a symbol identifier. The information is used to determine a symbol that is data. 83 indicates a symbol name. If the symbol type is data, it is the name of variable data. When the test program stops at a breakpoint, the variable data obtained from the symbol information is a target for collecting the value at that time as fault information.
【0075】図13は、この実施の形態における障害情
報収集部の処理の流れを表わしている。図3は、図9に
表わした障害情報収集部の処理の流れに加えて、ステッ
プ1725とステップ1726を拡張した。以下に、拡
張したステップでの処理ついて説明する。ステップ17
25では、試験対象のOSのロードモジュール内部で用
いているシンボル情報(8)から、OS内のデータ名と
それが割り当てられたアドレスを得る処理である。図1
2に示した情報において、アドレス(81)がデータ空
間に含まれるシンボル名(83)を以下の方法で得る。
記憶部(110)上の試験対象のOSのロードモジュー
ル(7)において、nmコマンドを用いて、図12に示
した形式の試験対象のOS内部で用いているシンボルの
情報をファイルに得る。FIG. 13 shows the flow of the process of the fault information collecting unit in this embodiment. FIG. 3 is an extension of step 1725 and step 1726 in addition to the processing flow of the failure information collection unit shown in FIG. The processing in the extended steps will be described below. Step 17
In step 25, the data name in the OS and the address to which the data name is assigned are obtained from the symbol information (8) used inside the load module of the OS to be tested. FIG.
In the information shown in FIG. 2, a symbol name (83) whose address (81) is included in the data space is obtained by the following method.
In the load module (7) of the OS to be tested on the storage unit (110), information of symbols used inside the OS to be tested in the format shown in FIG.
【0076】ステップ1726では、仮想ターミナル
(150)上で行うステップ1200記載の自動化手続
きにより、試験対象のOS(220)が使用しているデ
ータについて、試験プログラム(233)がエラーを検
出して停止している状態での値を表示させ、出力結果を
画面キャプチャによって獲得して、障害情報(111)
として記録する。In step 1726, the test program (233) detects an error and stops the data used by the OS (220) to be tested by the automation procedure described in step 1200 performed on the virtual terminal (150). Display the value in the state in which the error has occurred, obtain the output result by screen capture, and obtain the fault information (111).
Record as
【0077】具体的には、ステップ1725の処理で得
た試験対象のOS内部のシンボルの情報をステップ17
21で作成した障害情報(111)を記すファイルに追
記した後(図14中の8)、続けて、仮想ターミナル
(150)へのキータイプによりカーネルレベルデバッ
ガ上でカーネルのデータ空間をダンプする操作を行なっ
た後、画面キャプチャして、キャプチャしてデータを障
害情報(111)を記すファイルに追記する(図14中
のカーネルレベルデバッガへの要求(17)とカーネル
レベルデバッガによる出力(18))。ここで得られる
情報により、特定アドレスのメモリの内容が、実際にO
Sのどの変数に割り当てられているかを知ることが可能
になる。強いては、試験プログラムが障害検出時のOS
内部の変数値を知ることができる。Specifically, the information of the symbol inside the OS to be tested obtained in the processing of step 1725 is
After appending to the file describing the failure information (111) created in 21 (8 in FIG. 14), subsequently, the operation of dumping the kernel data space on the kernel level debugger by the key type to the virtual terminal (150) After that, the screen is captured, and the captured data is added to the file describing the failure information (111) (request (17) to the kernel level debugger in FIG. 14 and output (18) by the kernel level debugger). . With the information obtained here, the contents of the memory at the specific address are actually
It becomes possible to know which variable of S is assigned. If the test program is running on the OS
You can know the internal variable values.
【0078】本実施の形態では、カーネルレベルデバッ
ガから得る試験対象のOS内部のデータ値を画面キャプ
チャ機能によって取得したが、仮想ターミナルにファイ
ルへのログ出力機能がある場合は、ステップ1725の
処理開始時点でこのロギング機能をオンして2次記憶装
置上の障害情報(111)を格納するファイルと関連付
け、ステップ1726の処理終了時点でロギング機能を
オフすることで、仮想ターミナル(150)への自動対
話操作はキータイプのみ行なえば良くなる。In this embodiment, the data value in the OS to be tested obtained from the kernel level debugger is acquired by the screen capture function. However, if the virtual terminal has a log output function to a file, the processing in step 1725 is started. At this point, the logging function is turned on, the failure information (111) on the secondary storage device is associated with the file to be stored, and the logging function is turned off at the end of the processing in step 1726, so that the automatic transmission to the virtual terminal (150) is performed. Only the key type should be used for the interactive operation.
【0079】このように、このソフトウェア検証装置
は、試験プログラムが設定したブレイクポイントで停止
した場合、試験対象のOSが用いている変数名をOSの
ロードモジュールが含むシンボルテーブルから得て、試
験プログラムによって試験された状況下でのOS内部の
変数が保持する値をカーネルレベルデバッガを通して取
得する障害情報の収集処理を備えたことを特徴とする。As described above, when the software verification apparatus stops at the breakpoint set by the test program, the software verification apparatus obtains the variable names used by the OS under test from the symbol table included in the load module of the OS, and executes the test program. And a failure information collecting process for acquiring a value held by a variable inside the OS under a situation tested by a kernel level debugger.
【0080】実施の形態4.実施の形態4では、試験プ
ログラムが設定されたブレイクポイントで停止した後、
試験プログラムが使用するOSが管理する資源の状態を
取得する、障害情報の収集処理機構を実現する。Embodiment 4 In the fourth embodiment, after the test program stops at the set break point,
A failure information collection processing mechanism that acquires the status of resources managed by the OS used by the test program is realized.
【0081】図15は、実施の形態4を実現するシステ
ムの構成図を表わしている。241は、ターゲットマシ
ン(200)上で動作する障害情報を収集する際に利用
する障害用コマンドインタプリタである。本障害用コマ
ンドインタプリタは、試験開始時、OS検証装置(10
0)からの要求によって生成され、試験実施中ターゲッ
トマシン上に常駐する。160は、OS検証装置上で動
作する仮想ターミナルで、通信機能によって、ターゲッ
トマシン上で動作する障害用コマンドインタプリタ(2
41)から起動されるプログラムのグループ(240)
と接続されている。OS検証装置(100)上で、本仮
想ターミナルへの入出力は、障害情報収集部(140)
があたる。240は、ターゲットマシン(200)上で
試験対象のOS(220)上で動作する障害用コマンド
インタプリタ(241)が起動するプログラムのグルー
プである。障害情報収集部(140)が仮想ターミナル
(160)を介して行う障害用コマンドインタプリタ
(241)に対する要求によって、ターゲットマシン
(200)上で各種プログラム(242)が生成され、
これらのプログラムの標準出力が仮想ターミナル(16
0)上で確認可能となっている。140は障害情報収集
部である。障害情報収集部(140)の処理は、本実施
例において拡張される。詳細は、図18に示す。FIG. 15 shows a configuration diagram of a system for implementing the fourth embodiment. Reference numeral 241 denotes a failure command interpreter used when collecting failure information operating on the target machine (200). At the start of the test, the command interpreter for the failure uses the OS verification device (10
0) and resides on the target machine during the test. Reference numeral 160 denotes a virtual terminal that operates on the OS verification device, and a failure command interpreter (2) that operates on the target machine by a communication function.
Group of programs started from (41) (240)
Is connected to On the OS verification device (100), input / output to / from the virtual terminal is performed by a failure information collecting unit (140).
Wins. 240 is a group of programs started by the failure command interpreter (241) operating on the OS (220) to be tested on the target machine (200). Various programs (242) are generated on the target machine (200) in response to a request for the failure command interpreter (241) made by the failure information collection unit (140) via the virtual terminal (160).
The standard output of these programs is the virtual terminal (16
0) above. 140 is a failure information collecting unit. The processing of the failure information collection unit (140) is extended in this embodiment. Details are shown in FIG.
【0082】図16は、試験プログラムの実行に関する
定義のファイル(5)とその形式の一例を表わしてい
る。図4に表わした定義のファイル(5)に比べて拡張
される要素は、以下の通りである。55は、ターゲット
マシン上のコマンドインタプリタと接続された仮想ター
ミナル上で実施する自動対話手続き(オペレータのキー
タイプ相当の処理の内容)を示している。本実施例で
は、“CMD:”という識別子に続けて記された文字列
(図16中のps −Al等)とリターンコードが、仮
想ターミナルに送られる。FIG. 16 shows an example of a definition file (5) relating to the execution of the test program and its format. Elements extended as compared with the definition file (5) shown in FIG. 4 are as follows. Reference numeral 55 denotes an automatic dialog procedure (contents of a process corresponding to a key type of an operator) performed on a virtual terminal connected to a command interpreter on a target machine. In this embodiment, a character string (such as ps-Al in FIG. 16) and a return code written after the identifier “CMD:” are sent to the virtual terminal.
【0083】図17は、この実施の形態の試験自動実行
化部(120)の処理を示している。図17は、図5に
表わした試験自動実行化部(120)の処理にステップ
900の処理を拡張した。以下に、拡張したステップに
ついて説明する。ステップ910では、OS検証装置
(100)上に仮想ターミナル(160)を準備し、仮
想ターミナルの通信機能を用いて、ターゲットマシン
(200)上にコマンドプロンプトを生成する。OS検
証装置では、この仮想ターミナル(160)上での操作
を通して、ターゲットマシン(200)上に各種プログ
ラム(242)の各種コマンドを起動し、その結果を得
ることが可能になっている。FIG. 17 shows the processing of the automatic test execution section (120) of this embodiment. FIG. 17 is an extension of the process of step 900 to the process of the automatic test execution section (120) shown in FIG. The following describes the extended steps. In step 910, a virtual terminal (160) is prepared on the OS verification device (100), and a command prompt is generated on the target machine (200) using the communication function of the virtual terminal. In the OS verification device, various commands of various programs (242) are activated on the target machine (200) through the operation on the virtual terminal (160), and the results can be obtained.
【0084】図18は、この実施の形態の障害情報収集
部(140)の処理を表わしている。図18は、図13
に表わした障害情報収集部(140)の処理にステップ
1727とステップ1728を拡張した。以下に、拡張
したステップでの処理について説明する。FIG. 18 shows the processing of the fault information collecting unit (140) of this embodiment. FIG.
Steps 1727 and 1728 are extended to the processing of the failure information collection unit (140) shown in FIG. Hereinafter, processing in the extended steps will be described.
【0085】ステップ1727では、ターゲットマシン
上の2次記憶装置(210)の情報等、試験プログラム
の実行に影響がある環境に関する情報を得るために、タ
ーゲットマシン上の障害用コマンドインタプリタ(24
1)上で行う手続きを得る。本実施の形態では、ターゲ
ットマシン上の障害用コマンドインタプリタ(241)
上で行う手続きは、図16に示す試験プログラムの実行
に関する定義(5)において、識別子“CMD:”で始
まる文字列で記されている。In step 1727, a failure command interpreter (24) on the target machine is used to obtain information on the environment that affects the execution of the test program, such as information on the secondary storage device (210) on the target machine.
1) Obtain the procedure to be performed above. In the present embodiment, the command interpreter for failure on the target machine (241)
The procedure performed above is described by a character string starting with the identifier "CMD:" in the definition (5) relating to the execution of the test program shown in FIG.
【0086】ステップ1728では、仮想ターミナル
(160)上で行うステップ1200に記載した自動化
手続きによって、ステップ1727の処理で得た試験プ
ログラムが使用するOSが管理する資源の状態を得る操
作を表わす文字列を、障害用コマンドインタプリタ(2
41)に送る。コマンドインタプリタは、この文字列を
解釈して、指示された操作を行う。In step 1728, a character string representing an operation for obtaining the status of resources managed by the OS used by the test program obtained by the processing in step 1727 by the automation procedure described in step 1200 performed on the virtual terminal (160) To the command interpreter for failure (2
Send to 41). The command interpreter interprets the character string and performs the specified operation.
【0087】これにより得られる結果出力は、仮想ター
ミナル(160)を画面キャプチャして、仮想ターミナ
ルサイズに応じた文字列データ(24行×80桁)に変
換し、障害情報(111)としてファイルに記録する。
ここでのステップで得られる障害情報は、図19中に、
コマンドインタプリタへの指示(117)、OSが管理
する資源の状態(118)として示した。The resulting output is obtained by capturing the screen of the virtual terminal (160), converting it into character string data (24 rows × 80 columns) corresponding to the virtual terminal size, and storing it in a file as failure information (111). Record.
The failure information obtained in this step is as shown in FIG.
This is shown as an instruction to the command interpreter (117) and the status of resources managed by the OS (118).
【0088】本実施の形態では、障害用コマンドインタ
プリタ(241)上で行なった操作によって得る試験環
境に関する情報を仮想ターミナル(160)において行
なう画面キャプチャによって取得したが、仮想ターミナ
ルにファイルへのログ出力機能がある場合は、ステップ
1728の処理開始時点でこのロギング機能をオンして
ログファイルを2次記憶装置上の障害情報(111)を
格納するファイルと関連付け、ステップ1728の処理
終了時点でロギング機能をオフすることで、仮想ターミ
ナル(160)への自動対話操作はキータイプのみ行な
えば良くなる。In the present embodiment, the information about the test environment obtained by the operation performed on the failure command interpreter (241) is obtained by the screen capture performed on the virtual terminal (160), but the log output to the virtual terminal is output to a file. If there is a function, the logging function is turned on at the start of the processing of step 1728, and the log file is associated with the file storing the failure information (111) on the secondary storage device. Is turned off, the automatic interactive operation to the virtual terminal (160) only needs to be performed by the key type.
【0089】このように、このソフトウェア検証装置
は、試験プログラムが設定したブレイクポイントで停止
した後、試験プログラムが使用する資源で、その状態に
よりOSの処理が変わることで試験プログラムの実行結
果に影響するような試験プログラムの実行環境に関する
情報を得るための操作を、試験対象のOS上で動作する
コマンドインタプリタ上で行い、この結果を得る障害情
報の収集処理を備えたことを特徴とする。As described above, this software verification device is a resource used by the test program after stopping at the breakpoint set by the test program, and the processing of the OS changes depending on the state, thereby affecting the execution result of the test program. An operation for obtaining information on the execution environment of the test program is performed on a command interpreter operating on the OS to be tested, and a failure information collecting process for obtaining the result is provided.
【0090】実施の形態5.実施の形態5では、請求項
5に関連して、試験プログラムにハングアップ判定を可
能とするタイムアウト時間の設定と試験プログラムハン
グアップ後に行う対処の定義を行うことを可能とし、タ
イムアウト時間経過後に試験プログラムが終了していな
かった場合は試験プログラムがハングアップを起こした
と判定して、試験プログラム停止、障害情報収集、試験
プログラム終了、ハングアップ時の対処といった一連の
処理を自動化する機構を実現する。Embodiment 5 In the fifth embodiment, it is possible to set a time-out period enabling a test program to determine a hang-up and to define a measure to be performed after the test program hangs up. If the program has not ended, it is determined that the test program has hung up, and a mechanism for automating a series of processes such as stopping the test program, collecting fault information, terminating the test program, and coping with the hang-up is realized.
【0091】図20は、実施の形態5を実現するために
メンバが拡張された試験プログラムの実行に関する定義
(5)を表わしている。以下に、拡張したメンバについ
て説明する。56は、タイムアウト時間である。ここに
示す時間が経過しても試験プログラムが終了しない場
合、試験プログラムがハングアップを起こしたと判断す
る。本実施の形態では、識別子“TOUT:”後に数字
で表記された数(図20中10と例示)を秒数として扱
っている。FIG. 20 shows a definition (5) relating to the execution of a test program whose members have been expanded to implement the fifth embodiment. The expanded member will be described below. 56 is a timeout time. If the test program does not end even after the time shown here, it is determined that the test program has hung up. In the present embodiment, the number represented by a number after the identifier “TOUT:” (exemplified as 10 in FIG. 20) is treated as the number of seconds.
【0092】57は、試験プログラムがハングアップし
たと判定した後の対処である。本実施の形態では、仮想
ターミナル(160)上に、ステップ1200に記載し
た自動化手続きによって、識別子“HUP:”後に表記
された文字列とリターンコードを送信する。ここには、
試験プログラムが使用するOSが管理する資源を解放す
る処理を登録する(図20の例では、一時ファイル
(*.tmp)の消去をrmコマンドにより行う)。こ
れにより、試験プログラムが最後迄終了しないことで、
OSが管理する資源を解放しなことで生じる問題を解決
する。Step 57 is a countermeasure after determining that the test program has hung up. In the present embodiment, the character string described after the identifier "HUP:" and the return code are transmitted to the virtual terminal (160) by the automation procedure described in step 1200. here,
The process of releasing the resources managed by the OS used by the test program is registered (in the example of FIG. 20, the temporary file (* .tmp) is deleted by the rm command). As a result, the test program does not end to the end,
It solves the problem caused by not releasing resources managed by the OS.
【0093】図21は、試験自動実行化部(120)の
処理の流れを表わしている。図21は、図17に表わし
た試験自動実行化部(120)の処理にステップ155
0、ステップ1730、ステップ1740の処理を拡張
し、ステップ1600の処理をステップ1601に変更
した。FIG. 21 shows the flow of processing of the automatic test execution section (120). FIG. 21 is a flowchart showing the processing of the test automatic execution section (120) shown in FIG.
0, the processing of steps 1730 and 1740 has been extended, and the processing of step 1600 has been changed to step 1601.
【0094】ステップ1550では、現時刻を試験プロ
グラム開始時間として取得すると共に、ステップ130
0の処理で獲得した試験プログラムのタイムアウト時間
後にタイムアウトが発生する様にアラームの設定を行な
っている。At step 1550, the current time is obtained as the test program start time, and at step 130
The alarm is set so that a timeout occurs after the timeout period of the test program acquired in process 0.
【0095】ステップ1601では、試験プログラムが
終了していなくても、ステップ1550で設定したアラ
ームが発生した(タイムアウトが生じた)場合、ステッ
プ1710の処理へ移る。In step 1601, even if the test program has not been completed, if the alarm set in step 1550 has occurred (timeout has occurred), the process proceeds to step 1710.
【0096】ステップ1730では、タイムアウトが起
きたかどうかで処理を変える。タイムアウトが起きてい
た場合はステップ1740の処理へ、起きていない場合
はステップ1700の処理へ進む。In step 1730, the process is changed depending on whether a timeout has occurred. If a timeout has occurred, the process proceeds to step 1740; otherwise, the process proceeds to step 1700.
【0097】ステップ1740では、タイムアウトが起
きていた場合の処理であるが、詳細は図22に示す。図
22は、実施の形態5で試験自動実行化部に拡張され
た、試験プログラムタイムアウト後の処理を表わしてい
る。以下に、拡張された処理の内容を説明する。Step 1740 is a process in the case where a timeout has occurred. Details are shown in FIG. FIG. 22 shows the processing after the test program times out, which is extended to the automatic test execution unit in the fifth embodiment. The details of the extended processing will be described below.
【0098】ステップ1741では、試験プログラムを
停止させる処理である。例えば、試験対象のOSがUN
IXの場合では、ユーザレベルデバッガ上で実施中の試
験プログラムにSIGINTシグナルを送って、試験プ
ログラムを停止させる。例えば、仮想ターミナル(13
0)上で、割り込みコード(ctrl−c)のコードを
タイプする。Step 1741 is processing for stopping the test program. For example, if the OS under test is UN
In the case of IX, a SIGINT signal is sent to the test program being executed on the user level debugger to stop the test program. For example, the virtual terminal (13
On 0), type the interrupt code (ctrl-c).
【0099】ステップ1720では、障害情報収集部
(1620)が処理を行う。処理の内容は、図18に示
してきた。At step 1720, the fault information collection unit (1620) performs processing. The contents of the processing are shown in FIG.
【0100】ステップ1742では、仮想ターミナル
(130)上でのステップ1200に記載した自動化手
続きにより、ユーザレベルデバッガ(232)に、試験
プログラム(233)を終了させる。例えば、仮想ター
ミナル(130)に、“quit(リターン)”という
文字列を送信する。In step 1742, the test program (233) is terminated by the user-level debugger (232) by the automation procedure described in step 1200 on the virtual terminal (130). For example, a character string “quit (return)” is transmitted to the virtual terminal (130).
【0101】ステップ1743では、試験プログラムハ
ングアップ後の対処(57)方法を、試験プログラムの
実行に関する定義(5)から読み込む。図20に示した
ように、本実施の形態で、試験プログラムの実行に関す
る定義(5)は、試験プログラムハングアップ後の対処
(57)が追加されている。図20の例では、“HU
P:”という文字列に続く、“rm *.tmp”とい
う文字列を読み込む。In step 1743, a method (57) for handling after the test program hangs up is read from the definition (5) relating to the execution of the test program. As shown in FIG. 20, in the present embodiment, a definition (5) relating to the execution of a test program includes an action (57) after the test program hangs up. In the example of FIG. 20, “HU
P: ”, followed by“ rm *. tmp "is read.
【0102】ステップ1744では、ステップ1743
の処理によって取得した文字列とリターンコードを仮想
ターミナル(160)上にステップ1200に記載した
自動化手続きによって送信すると共に、試験プログラム
がハングアップを起こして実行を中断した旨、障害情報
(111)に記録する。At step 1744, step 1743 is executed.
Is transmitted to the virtual terminal (160) by the automation procedure described in step 1200, and the failure information (111) indicates that the test program hangs up and execution is interrupted. Record.
【0103】このように、このソフトウェア検証装置
は、試験プログラムのタイムアウト時間とハングアップ
検出後の対処を定義可能としたことで、試験プログラム
が試験プログラムのタイムアウト時間を経過しても終了
或いは停止しない場合に、試験プログラムがハングアッ
プを起こしたと判断し、ユーザレベルデバッガ上で試験
プログラムにシグナルを送信して停止させた後、停止位
置を取得すると共に、障害情報の収集を行い、更にユー
ザレベルデバッガ上で試験プログラムを終了させ、前記
ハングアップ検出後の対処を実行する試験の自動化方法
を備えたことを特徴とする。As described above, the software verification device can define the timeout period of the test program and the action to be taken after detecting the hang-up, so that the test program does not end or stop even after the timeout period of the test program has elapsed. In this case, the test program determines that a hang-up has occurred, sends a signal to the test program on the user-level debugger, stops the program, obtains a stop position, collects fault information, and further performs user-level debugger. A test automation method for terminating the test program and executing a measure after the detection of the hang-up is provided.
【0104】実施の形態6.実施の形態6では、試験プ
ログラムのハングアップによって試験の自動実行が停止
することを防ぎ、且つハングアップを起こした要因を解
析するためにデータを自動収集する機能において、効率
良くタイムアウト判定時間を設定する機構を実現する。Embodiment 6 FIG. In the sixth embodiment, in the function of preventing the automatic execution of the test from being stopped due to the hang-up of the test program and automatically collecting data in order to analyze the cause of the hang-up, the time-out determination time is set efficiently. To realize a mechanism.
【0105】図23は、試験自動実行化部(120)の
処理の流れを表わしている。実施の形態6を実現するた
めに、図21へステップ1350とステップ1750の
処理を拡張した。以下に、拡張したステップでの処理を
説明する。FIG. 23 shows the flow of processing of the test automatic execution section (120). In order to realize the sixth embodiment, the processing of step 1350 and step 1750 is extended to FIG. The processing in the extended steps will be described below.
【0106】ステップ1350では、試験プログラムの
実行に関する定義ファイル(5)を書き込み可能モード
で再オープンする。実施の形態6では、実施の形態5で
拡張した試験プログラムの実行に関する定義ファイル
(5)(図20)におけるタイムアウト時間(55)を
実際に試験プログラムの実行に要した時間を元にした値
に書き換えて、次回の試験実施時のハングアップ判定時
間を最適化する。In step 1350, the definition file (5) relating to the execution of the test program is reopened in the writable mode. In the sixth embodiment, the timeout time (55) in the definition file (5) (FIG. 20) relating to the execution of the test program extended in the fifth embodiment is changed to a value based on the time actually required for executing the test program. Rewrite to optimize the hang-up determination time for the next test.
【0107】ステップ1750では、現時刻を試験プロ
グラム終了時刻として取得すると共に、ステップ155
0の処理で取得した試験プログラム開始時刻からの経過
時間+αを試験プログラムの実行に関する定義ファイル
(5)におけるタイムアウト時間(55)として書き出
す。+αは、ハングアップ判定に余裕をみる時間で、例
えば、ステップ1750で算出した試験プログラム開始
時刻からの経過時間でも良い。At step 1750, the current time is obtained as the test program end time, and at step 155
The elapsed time from the test program start time obtained in the process 0 + α is written as the timeout time (55) in the definition file (5) relating to the execution of the test program. + Α is the time to allow for the hang-up determination, and may be, for example, the elapsed time from the test program start time calculated in step 1750.
【0108】このように、ソフトウェアの試験を自動化
するソフトウェア検証装置及び方法において、試験プロ
グラムのタイムアウト時間を試験プログラム実施時の実
績値を元にして規定する試験プログラムのタイムアウト
時間決定する。As described above, in the software verification apparatus and method for automating software testing, the timeout period of the test program that determines the timeout period of the test program is determined based on the actual value when the test program is executed.
【0109】実施の形態7.実施の形態7では、試験プ
ログラムの異常停止によって試験の自動実行が停止する
ことを防ぎ、且つ異常停止を起こした要因を解析するた
めにデータを自動収集することを可能にする機構を実現
する。Embodiment 7 FIG. In the seventh embodiment, a mechanism that prevents the automatic execution of the test from being stopped due to the abnormal stop of the test program and realizes the automatic collection of data to analyze the cause of the abnormal stop is realized.
【0110】図24は、実施の形態7を実現するために
図20を拡張した試験プログラムの実行に関する定義
(5)である。以下に、拡張した部分について説明す
る。拡張は、試験プログラムが想定するシグナルを受け
て停止した場合、ユーザレベルデバッガ上で継続動作の
処理を行うためのものである。58は、試験プログラム
が受信を想定するシグナルに関する情報である。この形
式は、シグナル種類:試験プログラムのファイル名:想
定するシグナルを受ける行番号(開始):想定するシグ
ナルを受ける行番号(終了)からなる。FIG. 24 is a definition (5) relating to the execution of a test program which is an extension of FIG. 20 to realize the seventh embodiment. The expanded part will be described below. The extension is for performing a continuation operation on the user-level debugger when the test program stops upon receiving a signal assumed by the test program. Reference numeral 58 denotes information on a signal assumed to be received by the test program. This format is composed of: signal type: file name of test program: line number receiving expected signal (start): line number receiving expected signal (end).
【0111】本実施の形態では、試験対象のOSがUN
IXでシグナルが32種類定義されている状況におい
て、シグナル種類の表記は、実行中の試験プログラムが
シグナルを受けて停止する際に、ユーザレベルデバッガ
が表示する形式と同じにしている。In the present embodiment, the OS to be tested is UN
In the situation where 32 types of signals are defined in IX, the notation of the signal type is the same as the format displayed by the user-level debugger when the running test program receives a signal and stops.
【0112】具体的には、図24中の試験プログラムが
想定するシグナル(58)で、シグナル種類はSIGU
SR1となっているが、これは、ユーザレベルデバッガ
上で得られる表記と同じである。図24に示した試験プ
ログラムが受信を想定するシグナル(58)に関する情
報の定義では、SIGUSR1シグナルがtest_s
rc1.cファイルの1行目から100行目以内に受け
る可能性があるとしている。More specifically, the signal (58) assumed by the test program in FIG.
SR1 is the same as the notation obtained on the user-level debugger. In the definition of the information regarding the signal (58) assumed to be received by the test program shown in FIG. 24, the SIGUSR1 signal is test_s
rc1. It is stated that there is a possibility that the file will be received within the first 100 lines of the c file.
【0113】図25は、試験自動実行化部(120)の
処理を表わしている。実施の形態7を実現するために、
図23にステップ1760、ステップ1761、ステッ
プ1765の処理を拡張した。以下に、拡張したステッ
プでの処理について説明する。FIG. 25 shows the process of the automatic test execution section (120). In order to realize the seventh embodiment,
The processing of step 1760, step 1761, and step 1765 has been extended to FIG. Hereinafter, processing in the extended steps will be described.
【0114】ステップ1760では、試験プログラムが
異常停止した場合に、ステップ1761へ進み、それ以
外はステップ1765へ進む。ユーザレベルデバッガ上
での試験プログラムの異常停止は、試験プログラムがシ
グナルを受信したことによるが、このシグナルは、試験
プログラムの記述誤りによって不正処理を行なったため
OSから送りつけられることや、OSの障害によって送
りつけられる。一方、ユーザレベルデバッガ上で試験プ
ログラムが想定できる停止は、ブレイクポイントを実行
したことや、プログラム処理で想定できるシグナルを受
けたことによる。In step 1760, if the test program has stopped abnormally, the flow proceeds to step 1761; otherwise, the flow proceeds to step 1765. The abnormal termination of the test program on the user-level debugger is caused by the test program receiving a signal. This signal is sent from the OS due to illegal processing due to an error in the description of the test program. Sent by On the other hand, the stop that can be assumed by the test program on the user-level debugger is caused by executing a breakpoint or receiving a signal that can be assumed in the program processing.
【0115】このことから、試験プログラムが異常停止
したことの判断は、試験プログラムが停止している状態
を仮想ターミナル(130)を画面キャプチャしてター
ミナルサイズ(例えば、24行×80桁)の文字列配列
に得た後、文字列として得た情報の比較処理によって、
停止要因(どのシグナルを受信して、どのファイルの何
行目の処理を実行時に停止したか)を把握し、停止要因
がブレイクポイントでなく試験プログラムが想定するシ
グナル(58)でもないことを判定する。From this, it can be determined that the test program has stopped abnormally. To determine whether the test program has stopped, the virtual terminal (130) is screen-captured and characters of a terminal size (for example, 24 lines × 80 columns) are captured. After the information is obtained in a column array, by comparing the information obtained as a character string,
The cause of the stop (which signal was received and which line of the file was stopped at the time of execution) was grasped, and it was determined that the cause of the stop was neither a breakpoint nor a signal (58) expected by the test program. I do.
【0116】ただし、シグナルを受けて停止している場
所が試験プログラムのソースファイルに含まれていない
ライブラリ関数内である可能性もあるので、ステップ1
724に記したようなバックトレース操作を行なって、
試験プログラムでの最終的な呼び出し場所にて判定す
る。However, there is a possibility that the location stopped by receiving the signal is in a library function not included in the source file of the test program.
Perform a backtrace operation as described in 724,
Judge at the final call location in the test program.
【0117】具体的には、バックトレース情報を仮想タ
ーミナル画面をキャプチャしてターミナルサイズ(例え
ば、24行×80桁)の文字列配列に得た後、スタック
フレームの解析結果である、試験プログラムが停止して
いる場所を呼んだファイル名とそのファイルでの行番号
が、試験プログラムが想定するシグナル(58)内の範
囲に含まれていて、且つ前記停止要因で受信したシグナ
ルと試験プログラムが想定するシグナルが一致している
場合、異常停止ではないと判定する。Specifically, after capturing the back trace information on the virtual terminal screen and obtaining a character string array of a terminal size (for example, 24 lines × 80 columns), the test program which is the analysis result of the stack frame is used. The file name that called the stop location and the line number in that file are included in the range of the signal (58) assumed by the test program, and the signal received due to the stop factor and the test program If the signals are the same, it is determined that the operation is not abnormal stop.
【0118】ステップ1765では、ステップ1760
の判定処理で、試験プログラムが正常処理でシグナルを
受けて停止していた場合、ステップ1766へ進む。そ
れ以外で終了した場合は、ステップ1750へ進む。In step 1765, step 1760
If the test program has stopped in response to the signal in the normal processing in the determination processing of (1), the process proceeds to step 1766. Otherwise, the process proceeds to step 1750.
【0119】ステップ1766では、ユーザレベルデバ
ッガ上で試験プログラムを継続動作させる。具体的に
は、仮想ターミナル(130)に対して、ユーザレベル
デバッガ上で試験プログラムを継続実行させる自動対話
操作を行う。この後、ステップ1601の処理へ戻る。At step 1766, the test program is continuously operated on the user level debugger. Specifically, an automatic interactive operation for continuously executing the test program on the user-level debugger is performed on the virtual terminal (130). Thereafter, the process returns to step 1601.
【0120】ステップ1761は、試験プログラムが異
常停止した場合の処理であるが、詳細は図26に示す。Step 1761 is a process performed when the test program is abnormally stopped. Details are shown in FIG.
【0121】次に、図26に示した実施の形態7で試験
自動実行化部(120)を拡張した、試験プログラムが
異常停止した後の処理について説明する。以下に、本実
施の形態で拡張したステップでの処理について説明す
る。ステップ1720では、障害情報収集部(140)
が処理を行う。内容は、図18に示してきた。Next, a description will be given of a process after the test program abnormally stops, in which the automatic test execution section (120) is expanded in the seventh embodiment shown in FIG. The processing in the steps extended in the present embodiment will be described below. In step 1720, the failure information collection unit (140)
Performs the processing. The contents have been shown in FIG.
【0122】ステップ1742では、仮想ターミナル
(130)でステップ1200に記載した自動化手続き
を行い、ユーザレベルデバッガ(232)上で試験プロ
グラム(233)を終了させる。例えば、仮想ターミナ
ル(130)に対して、“quit(リターン)”とい
う文字列を送信する。In step 1742, the automation procedure described in step 1200 is performed in the virtual terminal (130), and the test program (233) is terminated on the user level debugger (232). For example, a character string “quit (return)” is transmitted to the virtual terminal (130).
【0123】ステップ1743では、本実施の形態でも
実施の形態5と同様に、試験プログラムは最後まで実施
されていないため、試験プログラムが使用したOSが管
理する資源を解放する目的で、試験プログラムの実行に
関する定義(5)から、試験プログラムがハングアップ
した後の対処(57)を読み込む。In step 1743, as in the fifth embodiment, since the test program has not been executed to the end similarly to the fifth embodiment, the test program is executed in order to release resources managed by the OS used by the test program. From the definition (5) relating to execution, a measure (57) after the test program hangs up is read.
【0124】ステップ1762では、仮想ターミナル
(160)に対してステップ1200に記載した自動化
手続きによってステップ1743の処理で取得した文字
列を送信し、障害用コマンドインタプリタ(241)上
で試験プログラム異常停止後の処理を実施する。加え
て、試験プログラムが異常停止した旨、障害情報(11
1)に記録する。In step 1762, the character string obtained in the processing in step 1743 is transmitted to the virtual terminal (160) by the automation procedure described in step 1200, and after the test program abnormally stops on the failure command interpreter (241). Is performed. In addition, the information that the test program stopped abnormally and the failure information (11
Record in 1).
【0125】このように、試験プログラム異常停止後の
対処を定義可能としたことで、試験の検証方法におい
て、試験プログラムが異常停止した後、停止位置を取得
すると共に障害情報収集部によって障害情報の収集を行
い、ユーザレベルデバッガ上で試験プログラムを終了さ
せ、前記試験プログラム異常停止後の対処を実行する試
験を自動化することを特徴とする。As described above, by making it possible to define the action to be taken after a test program abnormally stops, in the test verification method, after the test program abnormally stops, the stop position is acquired, and the fault information collecting unit obtains the fault information. The collection is performed, the test program is terminated on the user-level debugger, and a test for executing a measure after the abnormal stop of the test program is automated.
【0126】実施の形態8.実施の形態8では、試験対
象のOSの重大障害によりシステムダウンを生じて試験
が失敗した後のリカバリを可能とする、試験自動実行の
機構を実現する。Embodiment 8 FIG. In the eighth embodiment, an automatic test execution mechanism that enables recovery after a failure of a test due to a system failure due to a serious failure of an OS to be tested is realized.
【0127】図27は、実施の形態8を実現するため
に、図15にターゲットシステムをリセットする機能を
拡張したOS検証装置(100)とターゲットマシン
(200)を表わしている。以下に、拡張部分について
説明する。FIG. 27 shows an OS verification device (100) and a target machine (200) in which the function of resetting the target system is extended to FIG. 15 in order to realize the eighth embodiment. Hereinafter, the extended portion will be described.
【0128】250は、ハードウェアのリセット回路
で、外部(接点入力ポート)からの信号入力によってタ
ーゲットマシンをリセットする機能を有している。17
0は、出力信号制御ソフトウェアで、接点出力ポートを
使用して、ターゲットマシンをリセットするための信号
を出力する。尚、170と250は、低レベルにおい
て、電気的に結線されている。Reference numeral 250 denotes a hardware reset circuit having a function of resetting the target machine by inputting a signal from the outside (contact input port). 17
0 is output signal control software, which outputs a signal for resetting the target machine using the contact output port. Note that 170 and 250 are electrically connected at a low level.
【0129】図28は、実施の形態8を実現するために
図24を拡張した試験プログラムの実行に関する定義
(5)である。以下に、拡張した部分について説明す
る。FIG. 28 is a definition (5) relating to the execution of a test program which is an extension of FIG. 24 for realizing the eighth embodiment. The expanded part will be described below.
【0130】59は、リセット猶予時間である。試験プ
ログラムがハングアップしたと判定後、試験プログラム
を停止に導く際に待つ時間で、ここでの時間が経過して
もハングアップ状態が続いた場合、ターゲットマシンの
ハードウェアリセット処理を行う。本実施の形態では、
識別子“RST:”後の数字で表記された数を秒数とし
て扱っている。Reference numeral 59 denotes a reset delay time. After determining that the test program has hung up, this is the time to wait when the test program is brought to a halt. If the hang-up state continues even after the elapse of this time, hardware reset processing of the target machine is performed. In the present embodiment,
The number represented by the numeral after the identifier “RST:” is treated as the number of seconds.
【0131】図29は、障害情報収集部(140)の処
理で、実施の形態8を実現するために、図22に示した
障害情報収集部(140)の処理を拡張している。以下
に、拡張したステップにおける処理について説明する。FIG. 29 shows the processing of the failure information collection unit (140) shown in FIG. 22 in order to realize the eighth embodiment. The processing in the extended step will be described below.
【0132】ステップ1770は、ステップ1741の
処理で送ったシグナルによって試験プログラムが停止し
たかどうかで処理を変える。停止した場合はステップ1
720の処理へ移り、停止しない場合は拡張したステッ
プ1771の処理へ移る。The step 1770 changes the processing depending on whether or not the test program has been stopped by the signal sent in the processing of the step 1741. Step 1 if stopped
The process moves to step 720, and if not stopped, the process moves to extended step 1771.
【0133】ステップ1771では、ハングアップを起
こしたと判定されている試験プログラムにおけるここで
の処理が、1度目の場合と2度目の場合で処理を変えて
いる。1度目の場合は、ステップ1772からステップ
1775の処理へ移る。2度目の場合、途中にターゲッ
トマシンをリセットする処理を含む、ステップ1780
からステップ900の処理へ移る。以下に、ステップ1
771が1度目であった場合の処理について説明する。In step 1771, the processing here in the test program determined to have caused a hang-up is different between the first case and the second case. In the case of the first time, the process moves from step 1772 to step 1775. In the case of the second time, step 1780 including a process of resetting the target machine halfway
Then, the process proceeds to step 900. Step 1 below
The processing when 771 is the first time will be described.
【0134】ステップ1772では、カーネルレベルデ
バッガ(221)を呼び出す。具体的には、仮想ターミ
ナル(150)に対して、オペレータがカーネルレベル
デバッガを呼び出す際に行う特定のキータイプと同等の
効果を生じるデータ送信処理を行う。At the step 1772, the kernel level debugger (221) is called. Specifically, the virtual terminal (150) performs a data transmission process that has the same effect as a specific key type performed when the operator calls the kernel-level debugger.
【0135】ステップ1773では、ステップ1772
の処理でカーネルレベルデバッガ(221)が呼び出せ
たかどうかで処理を変えている。この判断は、以下のよ
うにして行う。仮想ターミナル(150)を画面キャプ
チャし、仮想ターミナルのサイズに応じた文字列配列に
文字データを得る。例えば、80桁×24行の配列に仮
想ターミナル(130)上に出力されている文字を取り
込む処理となる。仮想ターミナル(130)上でカーネ
ルレベルデバッガの出力が表示され、表示内容が上方向
にスクロールされる状況において、画面上の最下位行
(24行目)に表示されるカーネルレベルデバッガのプ
ロンプトが得られたかどうかで、カーネルレベルデバッ
ガを呼び出せたかどうかを判断できる。At step 1773, step 1772
The process is changed depending on whether the kernel level debugger (221) can be called in the process (1). This determination is made as follows. The screen of the virtual terminal (150) is captured, and character data is obtained in a character string array corresponding to the size of the virtual terminal. For example, the process is to take in characters output on the virtual terminal (130) into an array of 80 columns × 24 rows. When the output of the kernel-level debugger is displayed on the virtual terminal (130) and the displayed content is scrolled upward, the kernel-level debugger prompt displayed on the lowest line (line 24) on the screen is obtained. It can be determined whether or not the kernel level debugger can be called based on whether or not it has been called.
【0136】カーネルレベルデバッガ(221)を呼び
出せた場合はステップ1774の処理へ移り、カーネル
レベルデバッガを呼び出せなかった場合は試験対象のO
Sがハングアップを起こしていると判断してステップ1
780の処理へ移る。If the kernel level debugger (221) can be called, the process proceeds to step 1774. If the kernel level debugger cannot be called, the test target O
Judge that S is hanging up and step 1
Move on to 780.
【0137】ステップ1774では、カーネルレベルデ
バッガ(221)を終了し、OSの動作を継続させる。
具体的には、仮想ターミナル(150)に対して、オペ
レータがカーネルレベルデバッガから抜ける際に行う特
定のキータイプと同等の効果を生じる、データ送信処理
を行う。In step 1774, the kernel level debugger (221) is terminated, and the operation of the OS is continued.
Specifically, data transmission processing is performed on the virtual terminal (150), which has the same effect as a specific key type performed when the operator exits the kernel level debugger.
【0138】ステップ1775では、試験プログラムの
実行に関する定義(5)でのリセット猶予時間分の待ち
合せを行う。その後、ステップ1670の処理へ戻る。
次回、ステップ1671を通過時は、2度目と判断され
る。In step 1775, a wait for the reset delay time in the definition (5) relating to the execution of the test program is performed. Then, the process returns to step 1670.
The next time it passes through step 1671, it is determined to be the second time.
【0139】以下に、ステップ1771が2度目であっ
た場合の処理、即ち、試験プログラムが停止しない状態
が確実となった後のステップ1680からステップ16
82の処理について説明する。The processing in the case where the step 1771 is the second time, that is, the steps 1680 to 1616 after the state that the test program does not stop is assured is described below.
The process of 82 will be described.
【0140】ステップ1780では、出力信号制御ソフ
トウェア(170)を操作して、ターゲットマシンのハ
ードウェアリセット回路(250)にリセット信号を送
り、ターゲットマシンをリセットさせる。In step 1780, the output signal control software (170) is operated to send a reset signal to the hardware reset circuit (250) of the target machine to reset the target machine.
【0141】ステップ1781では、試験プログラムが
正常終了しないため、ターゲットマシンをリセットさせ
た旨を障害記録(111)に残す。At step 1781, since the test program does not end normally, the fact that the target machine has been reset is recorded in the failure record (111).
【0142】ステップ1782では、ターゲットマシン
が起動してくるのを待つ。At step 1782, the process waits until the target machine starts.
【0143】上記で説明した障害情報収集部の処理は、
実施の形態7で試験プログラムがタイムアウトを生じた
後の試験プログラムタイムアウト後の処理(ステップ1
740)から呼び出させる状況において、ターゲットマ
シンそのものがハングアップを起こしたことでターゲッ
トマシンを再起動させても、試験プログラムのパス
(4)に示されている次の試験を継続して実行させるこ
とが可能である。The processing of the fault information collection unit described above
Processing after Test Program Timeout After Test Program Timeout in Embodiment 7 (Step 1)
740), the next test indicated by the test program path (4) is continuously executed even if the target machine itself is hung up and the target machine is restarted. Is possible.
【0144】このように、ソフトウェアの試験の自動化
方法において、試験対象のOSがハングアップやクラッ
シュした場合に試験対象のOSが動作するターゲットマ
シンにハードウェアリセット信号を送出し、ターゲット
マシンが再起動した後に障害を起こした試験の次からの
試験を継続実行する試験の自動化方法であることを特徴
とする。As described above, in the software test automation method, when the test target OS hangs up or crashes, the hardware reset signal is transmitted to the target machine on which the test target OS operates, and the target machine is restarted. A test automation method for continuously executing a test after a test in which a failure has occurred after the test has been performed.
【0145】実施の形態9.上記実施の形態1から8で
は、ソフトウェア検証装置としてOS検証装置を一例と
して説明した。しかし、上記ソフトウェア検証装置は、
OS以外のソフトウェアとしてアプリケーション・プロ
グラムを検証する場合も含まれることは言うまでもな
く、上記以外でも、計算機上で動作するソフトウェアプ
ログラムであって、試験プログラムによって起動できる
もを含む。Embodiment 9 FIG. In the first to eighth embodiments, the OS verification device has been described as an example of the software verification device. However, the above software verification device
Needless to say, the case where the application program is verified as software other than the OS is also included. In addition to the above, a software program that operates on a computer and can be started by a test program is also included.
【0146】実施の形態10.上記実施の形態1から8
では、ソフトウェア検証装置とターゲットマシン(20
0)とが別の計算機上で実現されている場合を説明した
が、図30に一例として示すように、ターゲットマシン
(200)上に、ソフトウェア検証装置に備えられた機
能、例えば、ソフトウェアプログラム群(1)や試験プ
ログラムのパス情報(4)を設置してもよい。Embodiment 10 FIG. Embodiments 1 to 8 above
Then, the software verification device and the target machine (20
(0) is realized on another computer. However, as shown in FIG. 30 as an example, a function provided in the software verification device, for example, a software program group is provided on the target machine (200). (1) and path information (4) of the test program may be set.
【0147】[0147]
【発明の効果】以上のように、この発明に係るソフトウ
ェア検証装置又は方法によれば、試験プログラム上に設
定したブレイクポイントを通過した場合に試験プログラ
ムが停止したままとなるので、ブレイクポイントを障害
を検出した場所に設定することで、障害が生じている状
態を保持させたままとすることができる。As described above, according to the software verification apparatus or method according to the present invention, when a breakpoint set on the test program is passed, the test program remains stopped. Is set at the location where is detected, it is possible to keep the state where the failure has occurred.
【0148】また、この発明によれば、試験プログラム
が障害を検出した後に試験プログラムが停止したままの
状態で、試験プログラムの内部状態を得ることができ
る。これにより、再現が困難な障害について、障害検出
時に障害原因を特定するための情報を得て、試験対象プ
ログラムが障害を起こす手続きの把握や、試験プログラ
ムの誤りによって試験対象プログラムが障害と判定され
る問題を回避可能にするということができる。According to the present invention, the internal state of the test program can be obtained while the test program remains stopped after the test program detects a failure. As a result, for a fault that is difficult to reproduce, information for identifying the cause of the fault is detected at the time of fault detection, the procedure for causing the fault in the test target program is grasped, and the test target program is determined to be faulty due to an error in the test program. Problem can be avoided.
【0149】また、この発明によれば、試験プログラム
がエラーを検出した後に試験プログラムが停止したまま
の状態で、試験プログラムが使用したOS内部の資源に
関する変数値等のOSの内部状態を得ることができる。
このため、再現が困難な障害について、障害検出時に障
害原因を解析するための情報を得ることができる。Further, according to the present invention, it is possible to obtain the internal state of the OS such as a variable value related to the internal resources of the OS used by the test program while the test program remains stopped after the test program detects an error. Can be.
For this reason, it is possible to obtain information for analyzing the cause of a failure that is difficult to reproduce when the failure is detected.
【0150】また、この発明によれば、試験プログラム
がエラーを検出した後に試験プログラムが停止したまま
の状態において、試験プログラムが使用するOSが管理
する資源の状態を得ることができるという効果がある。Further, according to the present invention, there is an effect that the state of resources managed by the OS used by the test program can be obtained in a state where the test program remains stopped after the test program detects an error. .
【0151】また、この発明によれば、試験プログラム
がハングアップした時、試験プログラムを停止させ、ハ
ングアップの要因を解析するためのデータを自動収集
し、試験プログラムを終了させ、試験プログラムが利用
した資源を解放する。これにより、試験プログラムがハ
ングアップした場合でも、要因解析に必要なデータを取
得でき、試験の自動実行を継続させることができるとい
う効果がある。According to the present invention, when the test program hangs up, the test program is stopped, data for analyzing the cause of the hang-up is automatically collected, the test program is terminated, and the test program is used. Free up resources As a result, even if the test program hangs up, data necessary for factor analysis can be obtained, and the automatic execution of the test can be continued.
【0152】また、この発明によれば、試験プログラム
のハングアップによって試験の自動実行が停止すること
を防ぎ、且つハングアップを起こした要因を解析するた
めにデータを自動収集する機能において、効率良くタイ
ムアウト判定時間を設定することが可能になるという効
果がある。Further, according to the present invention, it is possible to prevent the automatic execution of the test from being stopped by the hang-up of the test program, and to efficiently collect data for analyzing the cause of the hang-up. There is an effect that the timeout determination time can be set.
【0153】また、この発明によれば、試験プログラム
の異常停止によって試験の自動実行が停止することを防
ぎ、且つ異常停止を起こした要因を解析するためにデー
タを自動収集することを可能にするという効果がある。Further, according to the present invention, it is possible to prevent the automatic execution of the test from being stopped due to the abnormal stop of the test program, and to automatically collect data for analyzing the cause of the abnormal stop. This has the effect.
【0154】また、この発明によれば、試験プログラム
の実行によって試験対象のOSが重大障害を起こし、シ
ステムダウンしたことで試験が失敗する状況において、
試験対象のOSが動作するターゲットマシンをハードウ
ェア的にリセットし、ターゲットマシンが再起動した後
に障害を起こした試験の次の試験からを継続実行する試
験自動実行を可能にするという効果がある。Further, according to the present invention, in a situation where the OS to be tested causes a serious failure due to execution of the test program and the test fails due to a system down,
There is an effect that the target machine on which the OS to be tested runs is reset in terms of hardware, and after the target machine is restarted, the test can be automatically executed to continuously execute the test following the test in which the failure occurred.
【図1】 実施の形態1を実現するシステムの一例を表
わした図。FIG. 1 is a diagram illustrating an example of a system that implements a first embodiment.
【図2】 試験プログラムを管理する試験項目別のフォ
ルダの一例を表わした図。FIG. 2 is a diagram showing an example of a folder for each test item for managing a test program.
【図3】 試験プログラムのパスの一例を表わした図。FIG. 3 is a diagram illustrating an example of a path of a test program.
【図4】 試験プログラムの実行に関する定義の一例を
を表わした図。FIG. 4 is a diagram illustrating an example of a definition related to execution of a test program.
【図5】 実施の形態1を実現する試験自動実行化部の
処理の流れの一例を表わした図。FIG. 5 is a diagram illustrating an example of a processing flow of an automatic test execution section that implements the first embodiment.
【図6】 実施の形態2を実現するシステムの一例を表
わした図。FIG. 6 is a diagram illustrating an example of a system that implements the second embodiment.
【図7】 試験プログラム内部で用いているシンボルの
情報の一例を表わした図。FIG. 7 is a diagram showing an example of symbol information used in a test program.
【図8】 実施の形態2を実現する試験自動実行化部の
処理の流れの一例を表わした図。FIG. 8 is a diagram illustrating an example of a processing flow of an automatic test execution section that implements a second embodiment.
【図9】 実施の形態2における障害情報収集部の処理
の一例を表わした図。FIG. 9 is a diagram illustrating an example of processing of a failure information collection unit according to the second embodiment.
【図10】 実施の形態2における障害情報の一例を表
わした図。FIG. 10 is a diagram illustrating an example of fault information according to the second embodiment.
【図11】 実施の形態3を実現するシステムの一例を
表わした図。FIG. 11 is a diagram illustrating an example of a system that implements the third embodiment.
【図12】 試験対象のOS内部で用いているシンボル
の一例を表わした図。FIG. 12 is a diagram illustrating an example of a symbol used inside an OS under test.
【図13】 実施の形態3における障害情報収集部の処
理の一例を表わした図。FIG. 13 is a diagram illustrating an example of processing of a failure information collection unit according to the third embodiment.
【図14】 実施の形態3における障害情報の一例を表
わした図。FIG. 14 is a diagram illustrating an example of fault information according to the third embodiment.
【図15】 実施の形態4を実現するシステムの一例を
表わした図。FIG. 15 is a diagram illustrating an example of a system that implements the fourth embodiment.
【図16】 実施の形態4で拡張される試験プログラム
の実行に関する定義の一例を表わした図。FIG. 16 is a diagram illustrating an example of a definition related to execution of a test program extended in the fourth embodiment.
【図17】 実施の形態4で拡張される試験自動実行化
部の処理の一例を表わした図。FIG. 17 is a diagram illustrating an example of a process of a test automatic execution unit extended in the fourth embodiment.
【図18】 実施の形態4を実現する障害情報収集部の
処理の一例を表わした図。FIG. 18 is a diagram illustrating an example of a process of a failure information collection unit that implements the fourth embodiment.
【図19】 実施の形態4における障害情報の一例を表
わした図。FIG. 19 is a diagram illustrating an example of failure information according to the fourth embodiment.
【図20】 実施の形態5を実現する試験プログラムの
実行に関する定義の一例を表わした図。FIG. 20 is a diagram illustrating an example of a definition related to execution of a test program for implementing the fifth embodiment.
【図21】 実施の形態5を実現する試験自動実行化部
の処理の一例を表わした図。FIG. 21 is a diagram illustrating an example of a process performed by an automatic test execution unit that implements the fifth embodiment.
【図22】 試験自動実行化部における試験プログラム
タイムアウト後の処理の一例を表わした図。FIG. 22 is a diagram illustrating an example of a process after a test program timeout in an automatic test execution section.
【図23】 実施の形態6を実現する試験自動実行化部
の処理の一例を表わした図。FIG. 23 is a diagram illustrating an example of a process performed by an automatic test execution unit that implements the sixth embodiment.
【図24】 実施の形態7を実現する試験プログラムの
実行に関する定義の一例を表わした図。FIG. 24 is a diagram showing an example of a definition related to execution of a test program for implementing the seventh embodiment.
【図25】 実施の形態7を実現する試験自動実行化部
の処理の一例を表わした図。FIG. 25 is a diagram illustrating an example of a process performed by an automatic test execution unit that implements the seventh embodiment.
【図26】 実施の形態7を実現する試験プログラム異
常停止後の処理の一例を表わした図。FIG. 26 is a diagram illustrating an example of processing after abnormal stop of a test program for implementing the seventh embodiment.
【図27】 実施の形態8を実現するOS検証装置の一
例を表わした図。FIG. 27 is a diagram illustrating an example of an OS verification device that implements Embodiment 8;
【図28】 実施の形態8を実現する試験プログラムの
実行に関する定義の一例を表わした図。FIG. 28 is a diagram illustrating an example of a definition related to execution of a test program for implementing the eighth embodiment.
【図29】 実施の形態8を実現する障害情報収集部の
処理の一例を表わした図。FIG. 29 is a diagram illustrating an example of processing of a failure information collection unit that realizes the eighth embodiment.
【図30】 実施の形態10を実現するシステムの一例
を表わした図。FIG. 30 is a diagram illustrating an example of a system that implements the tenth embodiment.
【図31】 従来システムの構成の一例を示す図。FIG. 31 is a diagram showing an example of the configuration of a conventional system.
1 試験プログラム群、1a 試験項目毎のフォルダ、
2 srcフォルダ、3 bin、4 試験プログラム
のパス情報、5 試験プログラムの実行に関する定義、
6 シンボル情報を表わすファイル、7 試験対象のO
Sのロードモジュール、8 試験対象のOS内部で用い
ているシンボル情報、10 プログラムテスト装置、1
0a テストスクリプト管理手段、10b テスト自動
化制御手段、10c テストスクリプト実行手段、10
d テスト合否判定手段、10eプログラム障害特定手
段、10f テストスクリプト入力手段、10g テス
ト結果出力手段、10h モード切変え/実行手段、1
0i デバックコマンド入力手段、20 ターゲットシ
ステム、21 試験プログラムのソースファイル、22
試験プログラムを生成する手続きを記述したファイ
ル、30 検査者、31 試験プログラムのロードモジ
ュール、41 試験プログラムのパス、51引数情報、
52 ブレイクポイントに関する情報、53 関数名、
54 行番号、56 タイムアウト時間、57 ハング
アップ時対処、59 リセット猶予時間、61 シンボ
ルのアドレス、62 シンボル識別子、63 シンボル
名、100 OS検証装置、101 インタフェース、
110 記憶部(試験プログラム記憶部)、111 障
害情報、120 試験自動実行化部、130 仮想ター
ミナル、140 障害情報収集部、150 仮想ターミ
ナル、160 仮想ターミナル、200 ターゲットマ
シン、201 インタフェース、210 2次記憶装
置、220 試験対象のOS、221 カーネルレベル
デバッガ、230試験プログラムのグループ、231
コマンドインタプリタ、232 ユーザレベルデバッ
ガ、233 試験プログラム、240 プログラムのグ
ループ、241 コマンドインタプリタ、242 各種
プログラム、300 通信路。1 test program group, 1a folder for each test item,
2 src folder, 3 bin, 4 path information of test program, 5 definition of test program execution,
6 File representing symbol information, 7 O to be tested
S load module, 8 symbol information used inside the OS under test, 10 program test device, 1
0a test script management means, 10b test automation control means, 10c test script execution means, 10c
d Test pass / fail determination means, 10e Program fault identification means, 10f Test script input means, 10g Test result output means, 10h Mode switching / execution means, 1
0i debug command input means, 20 target system, 21 test program source file, 22
File describing the procedure for generating the test program, 30 inspectors, 31 test program load module, 41 test program path, 51 argument information,
52 Breakpoint information, 53 Function name,
54 line number, 56 timeout time, 57 hang-up handling, 59 reset grace time, 61 symbol address, 62 symbol identifier, 63 symbol name, 100 OS verification device, 101 interface,
110 storage unit (test program storage unit), 111 failure information, 120 automatic test execution unit, 130 virtual terminal, 140 failure information collection unit, 150 virtual terminal, 160 virtual terminal, 200 target machine, 201 interface, 210 secondary storage Device, 220 OS to be tested, 221 kernel level debugger, 230 test program group, 231
Command interpreter, 232 user-level debugger, 233 test program, group of 240 programs, 241 command interpreter, 242 various programs, 300 communication paths.
Claims (12)
可能なソフトウェア検証装置であって、 試験対象とするソフトウェアのアプリケーション・プロ
グラミング・インタフェース(以下、「API」とい
う)を用いて、上記ソフトウェアの試験を行う試験プロ
グラムを記憶する試験プログラム記憶部と、 上記試験プログラム記憶部に記憶された試験プログラム
を、デバッカを用いて動作させるプログラムとして指定
して上記デバッカを起動し、起動されたデバッカを用い
て、指定された試験プログラムが上記ソフトウェアのA
PIによってエラーを把握する試験プログラムの箇所へ
ブレイクポイントを設定し、設定した試験プログラムを
起動されたデバッカを用いて実行する試験自動実行化部
とを備えたことを特徴とするソフトウェア検証装置。1. A software verification device capable of starting a debugger for testing software, wherein the software is tested using an application programming interface (hereinafter, referred to as "API") of the software to be tested. A test program storage unit that stores a test program, and a test program stored in the test program storage unit is specified as a program that operates using a debugger, the debugger is started, and the specified debugger is started using the started debugger. The tested test program is A
A software verification device, comprising: a test automatic execution unit that sets a breakpoint at a location of a test program that grasps an error by using a PI and executes the set test program using a started debugger.
アのAPIで定義された実行結果によってソフトウェア
の動作が異常であることを把握するエラー検出ポイント
を含み、 上記試験プログラム記憶部は、さらに、試験プログラム
のエラー検出ポイントを含む試験プログラムの実行に関
する定義を記憶し、 上記試験自動実行化部は、上記試験プログラム記憶部に
記憶された試験プログラムのエラー検出ポイントに基づ
いて、試験プログラムにブレイクポイントを設定するこ
とを特徴とする請求項1記載のソフトウェア検証装置。2. The test program includes an error detection point for grasping that the operation of the software is abnormal based on an execution result defined by an API of the software. The test program storage unit further stores the test program. A definition regarding execution of a test program including an error detection point is stored, and the test automatic execution unit sets a breakpoint in the test program based on an error detection point of the test program stored in the test program storage unit. The software verification device according to claim 1, wherein:
上記設定されたブレイクポイントで試験プログラムが停
止した場合、試験プログラムが停止した時点の障害情報
を収集する障害情報収集部を備えたことを特徴とする請
求項1記載のソフトウェア検証装置。3. The software verification device according to claim 2, further comprising:
2. The software verification apparatus according to claim 1, further comprising: a failure information collection unit that collects failure information at a time when the test program stops at the set breakpoint.
が実行中に使用する変数を特定する情報としての変数情
報を含み、 上記障害情報収集部は、デバッカを用いて、上記試験プ
ログラムから上記変数情報を抽出し、抽出した変数情報
に基づいて、試験プログラムの変数の値を収集すること
を特徴とする請求項3記載のソフトウェア検証装置。4. The test program includes variable information as information for specifying a variable used during execution of the test program, and the fault information collection unit uses a debugger to extract the variable information from the test program. 4. The software verification apparatus according to claim 3, wherein the extracted values of the variables of the test program are collected based on the extracted variable information.
行中に使用する変数を特定する情報としての試験対象変
数情報を含み、 上記障害情報収集部は、デバッカを用いて、上記ソフト
ウェアから上記試験対象変数情報を抽出し、抽出した試
験対象変数情報に基づいて、試験プログラムの変数の値
を収集することを特徴とする請求項3記載のソフトウェ
ア検証装置。5. The software includes test target variable information as information for specifying a variable to be used during execution of the software. The fault information collecting unit uses a debugger to convert the test target variable information from the software. 4. The software verification apparatus according to claim 3, wherein the software verification device extracts the values of the variables of the test program based on the extracted test target variable information.
アの実行環境を変更し、変更した実行環境上で上記ソフ
トウェアを実行させ、実行させた上記ソフトウェアの実
行結果を取得することを特徴とする請求項3記載のソフ
トウェア検証装置。6. The failure information collecting unit changes an execution environment of the software, causes the software to execute on the changed execution environment, and acquires an execution result of the executed software. Item 3. The software verification device according to Item 3.
過後に試験プログラムが終了しない場合、上記デバッカ
を用いて試験プログラムを停止させ、 上記障害情報収集部は、停止させた試験プログラムの停
止位置を取得するとともに、障害情報を収集することを
特徴とする請求項3から6いずれかに記載のソフトウェ
ア検証装置。7. The test automatic execution unit, if the test program does not end after a predetermined time has elapsed, stops the test program using the debugger, and the failure information collection unit stops the test program that has been stopped. 7. The software verification device according to claim 3, wherein the software verification device acquires a position and collects fault information.
ムの実行結果に基づいて、上記所定の時間を変更するこ
とを特徴とする請求項7記載のソフトウェア検証装置。8. The software verification device according to claim 7, wherein the automatic test execution unit changes the predetermined time based on an execution result of a test program.
ムが異常停止したことを検知し、デバッカを用いて検知
した試験プログラムを強制終了させ、 上記障害情報収集部は、強制終了させた試験プログラム
の強制終了位置を取得するとともに、障害情報を収集す
ることを特徴とする請求項3から6いずれかに記載のソ
フトウェア検証装置。9. The test automatic execution unit detects that the test program has stopped abnormally, and forcibly terminates the test program detected using a debugger. The fault information collection unit includes a test program that is forcibly terminated. The software verification device according to claim 3, wherein the software verification device acquires a forced termination position and collects failure information.
ラムが異常停止した後に、ソフトウェアが動作する計算
機のリセットを指示する信号を送出し、送出した信号に
よって上記計算機が再起動した後に、試験プログラムを
実行させることを特徴とする請求項1記載のソフトウェ
ア検証装置。10. The test automatic execution section sends a signal for instructing reset of a computer on which software runs after the test program has stopped abnormally, and restarts the computer by the sent signal. 2. The software verification device according to claim 1, wherein
グシステムまたはアプリケーションプログラムとのいず
れかを含むことを特徴とする請求項1記載のソフトウェ
ア検証装置。11. The software verification device according to claim 1, wherein the software includes one of an operating system and an application program.
動可能なソフトウェア検証方法であって、 試験対象とするソフトウェアのアプリケーション・プロ
グラミング・インタフェース(以下、「API」とい
う)を用いて、上記ソフトウェアの試験を行う試験プロ
グラムを記憶する試験プログラム記憶工程と、 上記試験プログラム記憶工程で記憶された試験プログラ
ムを、デバッカを用いて動作させるプログラムとして指
定して上記デバッカを起動し、起動されたデバッカを用
いて、指定された試験プログラムが上記ソフトウェアの
APIによってエラーを把握する試験プログラムの箇所
へブレイクポイントを設定し、設定した試験プログラム
を起動されたデバッカを用いて実行する試験自動実行化
工程とを備えたことを特徴とするソフトウェア検証方
法。12. A software verification method capable of starting a debugger for testing software, wherein the software is tested using an application programming interface (hereinafter, referred to as “API”) of the software to be tested. A test program storing step of storing a test program, and the test program stored in the test program storing step is designated as a program to be operated using a debugger, the debugger is started, and the specified program is designated by using the started debugger. A test automatic setting step of setting a breakpoint at a position of the test program in which an error is grasped by an API of the software, and executing the set test program by using the activated debugger. Characteristic software A verification method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000049146A JP2001243089A (en) | 2000-02-25 | 2000-02-25 | Device and method for verifying software |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000049146A JP2001243089A (en) | 2000-02-25 | 2000-02-25 | Device and method for verifying software |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001243089A true JP2001243089A (en) | 2001-09-07 |
Family
ID=18571128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000049146A Withdrawn JP2001243089A (en) | 2000-02-25 | 2000-02-25 | Device and method for verifying software |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001243089A (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7392149B2 (en) * | 2003-10-14 | 2008-06-24 | Hewlett-Packard Development Company, L.P. | Automatic software testing |
JP2008182650A (en) * | 2007-01-26 | 2008-08-07 | Fuji Xerox Co Ltd | Image forming apparatus and program |
US7840945B2 (en) | 2006-01-05 | 2010-11-23 | International Business Machines Corporation | Software resource testing |
JP2012221147A (en) * | 2011-04-07 | 2012-11-12 | Hitachi Ltd | Computer and resource management method |
JP2012529093A (en) * | 2009-06-05 | 2012-11-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method, system and computer program for screen capture |
KR101548364B1 (en) | 2014-10-22 | 2015-08-28 | 경북대학교 산학협력단 | Method for automatic verification of correctness of api sequences, recording medium and device for performing the method |
JP2017146699A (en) * | 2016-02-16 | 2017-08-24 | アイシン・エィ・ダブリュ株式会社 | Operation simulator system, operation simulator method, and computer program |
WO2020235621A1 (en) | 2019-05-23 | 2020-11-26 | コネクトフリー株式会社 | Programming assist system and programming assist method |
-
2000
- 2000-02-25 JP JP2000049146A patent/JP2001243089A/en not_active Withdrawn
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7392149B2 (en) * | 2003-10-14 | 2008-06-24 | Hewlett-Packard Development Company, L.P. | Automatic software testing |
US7840945B2 (en) | 2006-01-05 | 2010-11-23 | International Business Machines Corporation | Software resource testing |
JP2008182650A (en) * | 2007-01-26 | 2008-08-07 | Fuji Xerox Co Ltd | Image forming apparatus and program |
JP4636029B2 (en) * | 2007-01-26 | 2011-02-23 | 富士ゼロックス株式会社 | Image forming apparatus and program |
JP2012529093A (en) * | 2009-06-05 | 2012-11-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method, system and computer program for screen capture |
US8797335B2 (en) | 2009-06-05 | 2014-08-05 | International Business Machines Corporation | Platform agnostic screen capture tool |
US8797338B2 (en) | 2009-06-05 | 2014-08-05 | International Business Machines Corporation | Platform agnostic screen capture tool |
JP2012221147A (en) * | 2011-04-07 | 2012-11-12 | Hitachi Ltd | Computer and resource management method |
KR101548364B1 (en) | 2014-10-22 | 2015-08-28 | 경북대학교 산학협력단 | Method for automatic verification of correctness of api sequences, recording medium and device for performing the method |
JP2017146699A (en) * | 2016-02-16 | 2017-08-24 | アイシン・エィ・ダブリュ株式会社 | Operation simulator system, operation simulator method, and computer program |
WO2020235621A1 (en) | 2019-05-23 | 2020-11-26 | コネクトフリー株式会社 | Programming assist system and programming assist method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8589881B2 (en) | Web-based software debugging apparatus and method for remote debugging | |
US5513315A (en) | System and method for automatic testing of computer software | |
US6532552B1 (en) | Method and system for performing problem determination procedures in hierarchically organized computer systems | |
US8156475B2 (en) | Device and method for testing embedded software using emulator | |
US20070220370A1 (en) | Mechanism to generate functional test cases for service oriented architecture (SOA) applications from errors encountered in development and runtime | |
US20120331449A1 (en) | Device, method and computer program product for evaluating a debugger script | |
US20070067754A1 (en) | Server application state | |
US7380172B2 (en) | Expert software diagnostic tool | |
CN111427765B (en) | Method and system for automatically starting interface performance test realized based on jmeter | |
CN113064762B (en) | Service self-recovery method based on various detection | |
US20210286702A1 (en) | Debugging Multiple Instances of Code Using Thread Patterns | |
CN115686540A (en) | RPA control method and system based on Hongmong system | |
JP2001243089A (en) | Device and method for verifying software | |
JP2010256997A (en) | Error reproduction system and error reproduction investigation method for field trouble, and scenario execution program | |
CN111737138B (en) | Automatic recovery system and method for test environment | |
US7827540B2 (en) | Method for program debugging | |
US8997048B1 (en) | Method and apparatus for profiling a virtual machine | |
CN111666200A (en) | Testing method and terminal for time consumption of cold start of PC software | |
JPH02294739A (en) | Fault detecting system | |
CN111611161A (en) | Implementation method of lightweight debugging tool applied to avionic software | |
KR100428712B1 (en) | A Tracepoint Setting Method for Non-Stop Debugging of Multi-task Programs | |
JP3459898B2 (en) | Fault information tracer for embedded systems | |
JP5592828B2 (en) | Patch impact analysis apparatus, method and program | |
CN111666168B (en) | Method and terminal for automatically recording test exception | |
US20230305938A1 (en) | Method and device for determining coverage in hil testing, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20051018 |
|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070501 |