Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4872357B2 - Program test support system, method and program - Google Patents
[go: Go Back, main page]

JP4872357B2 - Program test support system, method and program - Google Patents

Program test support system, method and program Download PDF

Info

Publication number
JP4872357B2
JP4872357B2 JP2006011271A JP2006011271A JP4872357B2 JP 4872357 B2 JP4872357 B2 JP 4872357B2 JP 2006011271 A JP2006011271 A JP 2006011271A JP 2006011271 A JP2006011271 A JP 2006011271A JP 4872357 B2 JP4872357 B2 JP 4872357B2
Authority
JP
Japan
Prior art keywords
test
program
execution
range
variable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006011271A
Other languages
Japanese (ja)
Other versions
JP2007193586A (en
Inventor
祥治 西村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2006011271A priority Critical patent/JP4872357B2/en
Publication of JP2007193586A publication Critical patent/JP2007193586A/en
Application granted granted Critical
Publication of JP4872357B2 publication Critical patent/JP4872357B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、プログラムテストを支援するプログラムテスト支援システム、方法及びプログラムに関し、特に、プログラムのうち指定した部分だけのプログラムテストを支援するプログラムテスト支援システム、方法及びプログラムに関する。   The present invention relates to a program test support system, method and program for supporting a program test, and more particularly to a program test support system, method and program for supporting a program test of only a specified portion of a program.

従来より、プログラムテストを支援するための様々な方法が考えられている。   Conventionally, various methods for supporting a program test have been considered.

図16は、プログラムテストを支援する従来のデバック方法の一例を説明するための機能構成図である。   FIG. 16 is a functional configuration diagram for explaining an example of a conventional debugging method for supporting a program test.

本従来例は図16に示すように、被テストプログラム実行部1100と、変数値入力部1120とから構成され、被テストプログラム実行部1100は、変数参照管理部1101を備えている。このように構成されたシステムにおいては、被テストプログラム実行部1100によって被テストプログラム1110を実行させる。被テストプログラム実行部1100は、変数への参照があった場合に変数参照管理部1101を参照し、変数参照管理部1101にてその変数が設定されていなければ、ユーザに変数入力部1120を介してその値の入力を促し、その値をその変数の値として実行を継続する(例えば、特許文献1参照。)。   As shown in FIG. 16, the conventional example includes a test program execution unit 1100 and a variable value input unit 1120, and the test program execution unit 1100 includes a variable reference management unit 1101. In the system configured as described above, the program under test 1110 is executed by the program under test execution unit 1100. The program under test execution unit 1100 refers to the variable reference management unit 1101 when there is a reference to a variable, and if the variable is not set in the variable reference management unit 1101, the variable is input to the user via the variable input unit 1120. The user is prompted to input the value, and the execution is continued with the value as the value of the variable (see, for example, Patent Document 1).

図17は、従来のプログラムテスト支援方法の他の例を説明するための図である。   FIG. 17 is a diagram for explaining another example of a conventional program test support method.

本従来例は図17に示すように、テスト範囲指定部1200と、テストプログラム生成部1210とから構成されている。このように構成されたシステムにおいては、被テストプログラム1220のうち所望の部分をテスト範囲指定部1200により指定すると、テスト範囲指定部1200において、その指定された範囲の命令列及びその命令列により参照されている変数定義を抽出し、命令列、変数定義抽出ファイル1230を生成する。そして、テストプログラム生成部1210において、命令列、変数定義抽出ファイル1230とテストデータ1240を入力として、テストプログラム1250を生成する(例えば、特許文献2参照。)。   As shown in FIG. 17, the conventional example includes a test range designation unit 1200 and a test program generation unit 1210. In the system configured as described above, when a desired portion of the program under test 1220 is designated by the test range designation unit 1200, the test range designation unit 1200 refers to the instruction sequence in the designated range and the command sequence. The extracted variable definition is extracted, and an instruction sequence and a variable definition extraction file 1230 are generated. Then, the test program generation unit 1210 generates a test program 1250 with the instruction sequence, the variable definition extraction file 1230, and the test data 1240 as inputs (see, for example, Patent Document 2).

図18は、プログラムテストを支援する従来のプログラムデバックシステムの他の例を説明するための図である。   FIG. 18 is a diagram for explaining another example of a conventional program debugging system that supports a program test.

本従来例は図18に示すように、ブロック区切り設定部1801と、ブロック実行部1802とから構成されている。このように構成されたシステムにおいては、ブロック区切り設定部1801にて被テストプログラム1810のブロック区切り1811,1812を設定し、ブロック実行部1802によって、被テストプログラム1810の実行開始行1815から次のブロック区切り1812までを実行する(例えば、特許文献3参照。)。
特開2001−229044号公報 特開2000−339192号公報(第9頁、図1) 特開2002−278791号公報
As shown in FIG. 18, the conventional example includes a block delimiter setting unit 1801 and a block execution unit 1802. In the system configured as described above, the block delimiter setting unit 1801 sets the block delimiters 1811 and 1812 of the program under test 1810, and the block execution unit 1802 starts the next block from the execution start line 1815 of the program under test 1810. Steps up to a break 1812 are executed (see, for example, Patent Document 3).
JP 2001-229044 A JP 2000-339192 A (page 9, FIG. 1) JP 2002-278791 A

しかしながら、上述した従来の技術においては、以下のような問題点がある。   However, the conventional techniques described above have the following problems.

(1)被テストプログラムを任意の点から開始する機能がないため、テストしたい場所からテストを開始することができない。特に、実装が複雑になりそうな部分を集中的に網羅する際、被テストプログラムに適切な入力を与え、その部分まで遷移させるようにすることは、手間がかかり、効率が悪い。   (1) Since there is no function for starting the program under test from an arbitrary point, the test cannot be started from the place where the test is desired. In particular, when intensively covering a part that is likely to be complicated to implement, it is time consuming and inefficient to give an appropriate input to the program under test and make transition to that part.

(2)テストプログラムを作成に必要な情報を被テストプログラムから取得する場合、被テストプログラムを修正する度にテストプログラムを作り直すことになり、テストプログラムの作成を効率的に行うことができない。さらに、被テストプログラムから取得した情報を元にテストプログラムを生成し、そのテストプログラムに編集を加えてテストプログラムを完成させる場合、再生成する度にテストプログラムを編集する必要があり、開発の手間がかかる上に、テストプログラム自身にバグを混入させてしまう可能性がある。   (2) When information necessary for creating a test program is acquired from the program under test, the test program is recreated every time the program under test is modified, and the test program cannot be created efficiently. In addition, when a test program is generated based on information obtained from the program under test and the test program is edited to complete the test program, it is necessary to edit the test program every time it is regenerated. In addition, there is a possibility of introducing bugs into the test program itself.

(3)プログラムテストを行うために必要となる変数の設定や検証を、テストを行う度に行わなければならず、そのための手間がかかってしまう。   (3) The setting and verification of variables necessary for performing a program test must be performed every time the test is performed, which takes time and effort.

本発明は、上述したような従来の技術が有する問題点に鑑みてなされたものであって、被テストプログラムのうち所望の部分だけをテストすることができ、かつ、被テストプログラムが編集された場合においてもその編集に左右されずにテストすることができ、かつ、テストを行うために必要となる変数の設定や検証のための手間をかけずにテストすることができるプログラムテスト支援システム、方法及びプログラムを提供することを目的とする。   The present invention has been made in view of the problems of the prior art as described above, and can test only a desired portion of a program under test, and the program under test has been edited. A program test support system and method that can be tested without being affected by editing, and can be tested without the need for setting and verifying variables necessary for testing. And to provide a program.

上記目的を達成するために本発明は、
被テストプログラムのテストを行うためのテストプログラムに従って、前記被テストプログラムのテストを実行する範囲を指定するとともに、前記被テストプログラムのうち前記指定される範囲に付与する変数の値を設定するテストプログラム実行手段と、前記被テストプログラムについて前記テストプログラム実行手段にて指定された範囲を実行し、該指定される範囲に付与された変数の値、並びに前記指定された範囲を実行した結果である変数の値を管理する被テストプログラム実行手段とを有し、前記テストプログラム実行手段が、前記被テストプログラム実行手段にて管理される、前記指定された範囲を実行した結果である変数の値を取得し、該変数の値を前記テストプログラムにて予め設定された値と比較することにより検証するプログラムテスト支援システムにおいて、
前記テストプログラム実行手段は、
前記テストプログラムに従って、前記被テストプログラムのテストを実行する範囲を指定する実行範囲指定手段と、
前記テストプログラムに従って、前記被テストプログラムのうち前記実行範囲指定手段にて指定される範囲に付与する変数の値を設定する変数値設定手段と、
前記被テストプログラム実行手段にて管理される、前記実行範囲指定手段にて指定された範囲を実行した結果である変数の値を取得し、該変数の値を前記テストプログラムにて予め設定された値と比較することにより検証する変数値検証手段と、
前記テストプログラムに従って、前記被テストプログラムのテスト実行範囲を解析し、当該テストプログラムにより指定された実行範囲のテスト終了点を成功終了位置とし、前記被テストプログラムの誤りによって前記成功終了位置へ遷移しないパスがある場合にそれを導出する実行範囲解析手段とを具備し、
前記実行範囲指定手段は、前記テストプログラムに従って、前記被テストプログラムのテストの前記成功終了位置を指定するとともに、前記実行範囲解析手段にて導出された、前記成功終了位置へ遷移しないパスの入り口を失敗終了位置として指定し、
前記被テストプログラム実行手段は、
前記実行範囲指定手段により指定された範囲に基づいて、前記被テストプログラムのテストの実行を開始する場所を制御する実行位置制御手段と、
前記実行範囲指定手段により指定された前記成功終了位置もしくは前記失敗終了位置で前記被テストプログラムの実行を停止させる実行停止手段と、
前記被テストプログラムについて前記変数値設定手段により設定された変数の値、並びに前記実行範囲指定手段にて指定された範囲を実行した結果である変数の値を管理する変数管理手段とを具備することを特徴とする。
In order to achieve the above object, the present invention provides:
A test program for designating a range for executing the test of the program under test according to a test program for testing the program under test and for setting a value of a variable to be given to the designated range of the program under test Execution means, a range designated by the test program execution means for the program under test, a value of a variable given to the designated range, and a variable that is a result of executing the designated range A test program execution means for managing the value of the variable, and the test program execution means obtains the value of a variable that is managed by the test program execution means and that is a result of executing the specified range And verifying the value of the variable by comparing it with a value preset in the test program. In the program test support system,
The test program execution means includes
According to the test program, execution range designation means for designating a range for executing the test of the program under test;
According to the test program, variable value setting means for setting a value of a variable to be given to a range specified by the execution range specifying means in the program to be tested;
The value of a variable that is managed by the program under test execution unit and that is a result of executing the range specified by the execution range specifying unit is acquired, and the value of the variable is preset by the test program Variable value verification means for verifying by comparing with a value;
According to the test program, the test execution range of the program under test is analyzed, the test end point of the execution range specified by the test program is set as a success end position, and the transition to the success end position is not caused by an error of the program under test. An execution range analyzing means for deriving the path when it exists ,
The execution range designating unit designates the success end position of the test of the program under test according to the test program, and enters an entrance of a path that is derived by the execution range analysis unit and does not transition to the success end position. Specify as failure end position,
The test program execution means includes:
An execution position control means for controlling a place where the execution of the test of the program under test is started based on the range designated by the execution range designation means;
Execution stop means for stopping execution of the program under test at the success end position or the failure end position specified by the execution range specifying means;
Variable management means for managing the value of the variable set by the variable value setting means for the program under test and the value of the variable that is the result of executing the range specified by the execution range specifying means It is characterized by.

上記のように構成された本発明においては、テストプログラム実行手段において、テストプログラムに従って、被テストプログラムのテストを実行する範囲が指定されるとともに、被テストプログラムのうち指定される範囲に付与する変数の値が設定される。被テストプログラム実行手段においては、テストプログラム実行手段にて指定された範囲に基づいて、被テストプログラムのテストの実行を開始する場所が制御され、テストプログラム実行手段の制御によって被テストプログラムが実行される。被テストプログラムの実行状態においては、被テストプログラム実行手段において、被テストプログラムについて指定される範囲にて参照される変数の値、並びに指定された範囲を実行した結果である変数の値が管理される。そして、指定された範囲の終了点で被テストプログラムの実行が停止する。その後、テストプログラム実行手段において、被テストプログラムについて指定された範囲を実行した結果である変数の値が被テストプログラム実行手段から取得され、その変数の値がテストプログラムにて予め設定された値と比較することにより検証される。   In the present invention configured as described above, in the test program execution means, the range for executing the test of the program under test is specified according to the test program, and the variable is given to the specified range of the program under test The value of is set. In the program under test execution means, the place where the test execution of the program under test is started is controlled based on the range specified by the test program execution means, and the program under test is executed under the control of the test program execution means. The In the execution state of the program under test, the value of the variable referred to in the range specified for the program under test and the value of the variable that is the result of executing the specified range are managed in the program under test execution means. The Then, execution of the program under test stops at the end point of the specified range. Thereafter, in the test program execution means, the value of a variable that is the result of executing the range specified for the program under test is acquired from the test program execution means, and the value of the variable is a value preset in the test program and It is verified by comparing.

本発明は、以上説明したように構成されているので、以下のような効果を奏する。   Since the present invention is configured as described above, the following effects can be obtained.

(1)テストプログラムにおいて、被テストプログラム中でテストをしたい範囲の選択、そのテスト範囲に対する入力となる変数値の設定及び出力となる変数値の検証が記述でき、かつ、被テストプログラム実行手段が、テストプログラムで指定された被テストプログラムのテスト範囲のみを実行でき、かつ、そのテスト範囲における変数の値を取得することができるため、被テストプログラムのうち所望の部分だけをテストすることができる。   (1) In a test program, selection of a range to be tested in a program under test, setting of a variable value as an input to the test range and verification of a variable value as an output can be described, and the program under test execution means Since only the test range of the program under test specified by the test program can be executed and the value of the variable in the test range can be obtained, only a desired portion of the test program can be tested. .

(2)被テストプログラムの修正に応じてテストプログラムを作り直さなくて済むだけでなく、テストプログラムのコードを固定させることができることでテストプログラムへのバグ混入させる機会を減らすことができ、テストプログラムの作成、実施を効率的に行うことができる。   (2) Not only does it not be necessary to recreate the test program according to the modification of the program under test, but also the possibility of fixing bugs in the test program can be reduced by fixing the test program code. Creation and implementation can be performed efficiently.

(3)被テストプログラムを動作させる範囲、変数値の設定、検証をテストプログラムに集約でき、かつ、それをテストプログラム実行手段により実行できるため、被テストプログラムの実行を常時監視する必要がなく、そのテスト実行結果を見るだけでテストの成功可否が可能となる。   (3) The range under which the program under test is operated, the setting of variable values, and verification can be consolidated into the test program and can be executed by the test program execution means, so there is no need to constantly monitor the execution of the program under test. Just by looking at the test execution result, the success or failure of the test becomes possible.

以下に、本発明の実施の形態について図面を参照して説明する。   Embodiments of the present invention will be described below with reference to the drawings.

(第1の実施の形態)
図1は、本発明のプログラムテスト支援システムの第1の実施の形態を示す図である。
(First embodiment)
FIG. 1 is a diagram showing a first embodiment of a program test support system of the present invention.

本形態は図1に示すように、プログラム制御により動作する、中央処理装置やプロセッサ、データ処理装置等となるコンピュータ100と、テストプログラム151が格納されたテストプログラム格納部150と、被テストプログラム161が格納された被テストプログラム格納部160とから構成されている。   In this embodiment, as shown in FIG. 1, a computer 100 that operates by program control and becomes a central processing unit, a processor, a data processing unit, etc., a test program storage unit 150 in which a test program 151 is stored, and a program to be tested 161 And a test program storage unit 160 in which is stored.

コンピュータ100は、テストプログラム格納部150からテストプログラム151を取り出し、テストプログラム151に従って被テストプログラム161のテストを実行するテストプログラム実行部110と、被テストプログラム格納手段160から被テストプログラム161を取り出し、テストプログラム実行部110の制御によって被テストプログラム161を実行する被テストプログラム実行部120とを含む。   The computer 100 extracts the test program 151 from the test program storage unit 150, extracts the test program 161 from the test program storage unit 160, and the test program execution unit 110 that executes the test of the program under test 161 according to the test program 151. A test program execution unit 120 that executes the test program 161 under the control of the test program execution unit 110.

テストプログラム151は、被テストプログラム161中のどの部分をテストの対象とするか、そして、そのテスト対象部分にどんな変数値を付与するのか、そして、そのテスト対象部分を実行した結果、どんな変数値になっていることを期待するかを含んでいる。   The test program 151 determines which part of the program under test 161 is a test target, what variable value is assigned to the test target part, and what variable value is obtained as a result of executing the test target part. Including what you expect to be.

テストプログラム実行部110は、テストプログラム151に従って、被テストプログラム161のテストを実行する範囲を指定する実行範囲指定部111と、テストプログラム151に従って、被テストプログラム161のうち実行範囲指定部111にて指定される範囲に付与する変数の値を設定する変数値設定部112と、被テストプログラム161について実行範囲指定部111にて指定された範囲を実行した結果である変数の値を、テストプログラム151にて予め設定された値と比較することにより検証する変数値検証部113とを有している。   The test program execution unit 110 includes an execution range specification unit 111 that specifies a range in which the test of the test target program 161 is executed according to the test program 151, and an execution range specification unit 111 of the test target program 161 according to the test program 151. A variable value setting unit 112 that sets a value of a variable to be assigned to a specified range, and a variable value that is a result of executing the range specified by the execution range specifying unit 111 for the program under test 161, And a variable value verifying unit 113 for verifying by comparing with a preset value.

被テストプログラム実行部120は、実行範囲指定部111により指定された範囲に基づいて、被テストプログラム161のテストの実行を開始する場所を制御する実行位置制御部121と、実行範囲指定部111により指定された範囲の終了点で被テストプログラム161の実行を停止させる実行停止部122と、被テストプログラム161について実行範囲指定部111にて指定される範囲にて参照される変数の値、並びに実行範囲指定部111にて指定された範囲を実行した結果である変数の値を管理する変数管理部123とを有しており、実行位置制御手段121により被テストプログラム161中の指定された場所から被テストプログラム161の実行を始め、実行停止手段122により被テストプログラム161を指定された場所で被テストプログラム161の実行を終了する。   The program under test execution unit 120 includes an execution position control unit 121 that controls a place where the test execution of the program under test 161 is started based on the range specified by the execution range specification unit 111, and the execution range specification unit 111. An execution stop unit 122 that stops execution of the program under test 161 at the end point of the specified range, a value of a variable that is referenced in the range specified by the execution range specification unit 111 for the program under test 161, and the execution A variable management unit 123 that manages the value of a variable that is a result of executing the range specified by the range specification unit 111, and from the specified location in the program under test 161 by the execution position control unit 121. When execution of the program under test 161 is started and the program under test 161 is designated by the execution stopping means 122 In to end the execution of the test program 161.

以下に、上記のように構成されたプログラムテスト支援システムにおける処理について説明する。   Hereinafter, processing in the program test support system configured as described above will be described.

図2は、図1に示したプログラムテスト支援システムにおける処理を説明するためのフローチャートである。   FIG. 2 is a flowchart for explaining processing in the program test support system shown in FIG.

まず、テストプログラム実行部110の実行範囲指定部111において、テストプログラム格納部150から取り出したテストプログラム151の内容に従って、被テストプログラム格納部160から取り出した被テストプログラム161の実行範囲を設定し、その実行開始位置を被テストプログラム実行部120の実行位置制御部121に対して指定するとともに、実行終了位置を被テストプログラム実行部120の実行停止部122に対して指定する(ステップA1)。なお、上述したように、テストプログラム151には、被テストプログラム161中のどの部分をテストの対象とするかが含まれているため、実行範囲指定部111においては、テストプログラム151の内容に従って被テストプログラム161の実行範囲を設定することができる。   First, in the execution range specifying unit 111 of the test program execution unit 110, the execution range of the test program 161 extracted from the test program storage unit 160 is set according to the content of the test program 151 extracted from the test program storage unit 150. The execution start position is specified to the execution position control unit 121 of the test program execution unit 120, and the execution end position is specified to the execution stop unit 122 of the test program execution unit 120 (step A1). As described above, since the test program 151 includes which part of the program under test 161 is to be tested, the execution range designating unit 111 performs the test according to the contents of the test program 151. The execution range of the test program 161 can be set.

次に、テストプログラム実行部110の変数値設定部112において、テストプログラム格納部150から取り出したテストプログラム151の内容に従って、被テストプログラム格納部160から取り出した被テストプログラム161のうち、実行範囲指定部111にて指定された範囲に付与する変数値を設定し、被テストプログラム実行部120の変数管理部123に通知する(ステップA2)。なお、上述したように、テストプログラム151には、テスト対象部分にどんな変数値を付与するのかが含まれているため、変数値設定部112においては、テストプログラム151の内容に従って被テストプログラム161に付与する変数値を設定することができる。   Next, in the variable value setting unit 112 of the test program execution unit 110, the execution range designation is specified in the test program 161 extracted from the test program storage unit 160 according to the content of the test program 151 extracted from the test program storage unit 150. The variable value to be given to the range specified by the unit 111 is set and notified to the variable management unit 123 of the program under test execution unit 120 (step A2). As described above, since the test program 151 includes what variable value is assigned to the test target portion, the variable value setting unit 112 sets the test program 161 according to the contents of the test program 151. The variable value to be assigned can be set.

次に、被テストプログラム実行部120において、実行範囲指定部111から指定され、実行位置制御部121にて制御される実行開始位置から被テストプログラム161をステップ実行する(ステップA3)。   Next, in the program under test execution unit 120, the program under test 161 is step-executed from the execution start position designated by the execution range designation unit 111 and controlled by the execution position control unit 121 (step A3).

そして、被テストプログラム161の実行中において、変数値設定部112にて設定され、変数管理手段123で保持されていない変数の値が取得されれば(ステップA4)、テストは失敗とみなし終了する(ステップA5)。   If the value of the variable set by the variable value setting unit 112 and not held by the variable management unit 123 is acquired during the execution of the program under test 161 (step A4), the test is regarded as a failure and is terminated. (Step A5).

一方、被テストプログラム161が実行されていき、実行範囲指定部111から指定された実行終了位置に達した場合は(ステップA6)、実行停止部122によって被テストプログラム161の実行が停止し、テストプログラム実行部110の変数値検証部113において、変数管理部123から検証対象の変数値を取得し、その変数値が期待通りか検証して終了する(ステップA7)。なお、上述したように、テストプログラム151には、テスト対象部分を実行した結果、どんな変数値になっていることを期待するかが含まれているため、変数値検証部113においては、変数管理部123から取得した変数の値を、テストプログラム151にて予め設定された値と比較することにより検証することになる。   On the other hand, when the program under test 161 is executed and reaches the execution end position specified by the execution range specification unit 111 (step A6), the execution stop unit 122 stops the execution of the program under test 161, and the test The variable value verification unit 113 of the program execution unit 110 acquires the variable value to be verified from the variable management unit 123, verifies whether the variable value is as expected, and ends (step A7). As described above, since the test program 151 includes what variable value is expected as a result of executing the test target portion, the variable value verification unit 113 performs variable management. The value of the variable acquired from the unit 123 is verified by comparing it with a value preset in the test program 151.

上述したように本形態においては、被テストプログラムの実行開始位置、終了位置及び参照可能な変数をテストプログラムから制御できるように構成されているため、被テストプログラム中の所望の部分だけをテストすることができる。さらに、被テストプログラムからテストプログラムが生成される構成ではないため、被テストプログラムを編集してもテストプログラムを再生成する必要がない。この結果、テストプログラムを固定化することができ、テスト作成、実施にかかる時間を短くすることができる。   As described above, in the present embodiment, since the test program execution start position, end position and referenceable variables can be controlled from the test program, only a desired portion in the test program is tested. be able to. Further, since the test program is not generated from the program under test, it is not necessary to regenerate the test program even if the program under test is edited. As a result, the test program can be fixed, and the time required for test creation and execution can be shortened.

(第2の実施の形態)
図3は、本発明のプログラムテスト支援システムの第2の実施の形態を示す図である。
(Second Embodiment)
FIG. 3 is a diagram showing a second embodiment of the program test support system of the present invention.

本形態は図3に示すように、プログラム制御により動作する、中央処理装置やプロセッサ、データ処理装置等となるコンピュータ200と、テストプログラム251が格納されたテストプログラム格納部250と、被テストプログラム261が格納された被テストプログラム格納部260とから構成されている。   In this embodiment, as shown in FIG. 3, a computer 200 that operates by program control and becomes a central processing unit, a processor, a data processing unit, etc., a test program storage unit 250 in which a test program 251 is stored, and a test program 261 Is stored in the program under test storage unit 260.

コンピュータ200は、テストプログラム格納部250からテストプログラム251を取り出し、テストプログラム251に従って被テストプログラム261のテストを実行するテストプログラム実行部210と、被テストプログラム格納手段260から被テストプログラム261を取り出し、テストプログラム実行部210の制御によって被テストプログラム261を実行する被テストプログラム実行部220とを含む。   The computer 200 extracts the test program 251 from the test program storage unit 250, extracts the test program 261 from the test program storage unit 260, and the test program execution unit 210 that executes the test of the test program 261 according to the test program 251, A program under test execution unit 220 that executes the program under test 261 under the control of the test program execution unit 210.

テストプログラム251は、被テストプログラム261中のどの部分をテストの対象とするか、そして、そのテスト対象部分にどんな変数値を付与するのか、そして、そのテスト対象部分を実行した結果、どんな変数値になっていることを期待するかを含んでいる。   The test program 251 determines which part of the program under test 261 is to be tested, what variable value is assigned to the test target part, and what variable value as a result of executing the test target part. Including what you expect to be.

テストプログラム実行部210は、テストプログラム251に従って、被テストプログラム261のテスト実行範囲を解析し、被テストプログラム261の実行フロー上、条件分岐やループ、例外送出等、被テストプログラム261に誤りがあったとき、遷移しうる到達すべきでない実行位置のリストを抽出し、被テストプログラム261の誤りによってテスト終了点へ遷移しないパスを導出する実行範囲解析部214と、テストプログラム251に従って、被テストプログラム261のテストの実行開始位置及び成功終了位置を指定するとともに、実行範囲解析部214にて導出されたパスに基づいて、被テストプログラム261のテストの失敗終了位置を指定する実行範囲指定部211と、テストプログラム251に従って、被テストプログラム261のうち実行範囲指定部211にて指定される範囲に付与する変数の値を設定する変数値設定部212と、被テストプログラム261について実行範囲指定部211にて指定された範囲を実行した結果である変数の値を、テストプログラム251にて予め設定された値と比較することにより検証する変数値検証部213とを有している。   The test program execution unit 210 analyzes the test execution range of the program under test 261 in accordance with the test program 251, and there is an error in the program under test 261 such as conditional branching, looping, exception sending, etc. in the execution flow of the program under test 261. The execution range analysis unit 214 for extracting a list of execution positions that should not be reached and that should not be reached, and deriving a path that does not change to the test end point due to an error in the test program 261; An execution range designation unit 211 that designates the test execution start position and the success end position of the test 261, and designates the test failure end position of the program under test 261 based on the path derived by the execution range analysis unit 214; In accordance with the test program 251 The variable value setting unit 212 that sets the value of the variable to be assigned to the range specified by the execution range specifying unit 211 in the gram 261 and the range specified by the execution range specifying unit 211 for the program under test 261 were executed. A variable value verification unit 213 that verifies the value of the variable as a result by comparing the value with a value set in advance in the test program 251.

被テストプログラム実行部220は、実行範囲指定部211により指定された範囲に基づいて、被テストプログラム261のテストの実行を開始する場所を制御する実行位置制御部221と、実行範囲指定部211により指定された範囲の終了点で被テストプログラム261の実行を停止させる実行停止部222と、被テストプログラム261について実行範囲指定部211にて指定される範囲にて参照される変数の値、並びに実行範囲指定部211にて指定された範囲を実行した結果である変数の値を管理する変数管理部223とを有しており、実行位置制御手段221により被テストプログラム261中の指定された場所から被テストプログラム261の実行を始め、実行停止手段222により被テストプログラム261を指定された場所で被テストプログラム261の実行を終了する。この際、実行範囲指定部211にて指定された失敗終了位置にて被テストプログラム261の実行を終了する場合は、テストが失敗したことをテストプログラム実行部210に報告して終了する。   The program under test execution unit 220 includes an execution position control unit 221 that controls a place where the test execution of the program under test 261 is started based on the range specified by the execution range specification unit 211, and an execution range specification unit 211. An execution stop unit 222 that stops the execution of the program under test 261 at the end point of the specified range, the value of the variable that is referenced in the range specified by the execution range specification unit 211 for the program under test 261, and the execution A variable management unit 223 that manages the value of a variable that is a result of executing the range specified by the range specification unit 211. From the location specified in the program under test 261 by the execution position control means 221. When execution of the program under test 261 is started and the program under test 261 is designated by the execution stopping means 222 In to end the execution of the test program 261. At this time, when the execution of the program under test 261 is terminated at the failure end position designated by the execution range designation unit 211, the test program execution unit 210 is notified that the test has failed, and the process is terminated.

以下に、上記のように構成されたプログラムテスト支援システムにおける処理について説明する。   Hereinafter, processing in the program test support system configured as described above will be described.

図4は、図3に示したプログラムテスト支援システムにおける処理を説明するためのフローチャートである。   FIG. 4 is a flowchart for explaining processing in the program test support system shown in FIG.

まず、テストプログラム実行部210の実行範囲解析部214において、テストプログラム格納部250から取り出したテストプログラム251の内容に従って、被テストプログラム格納部260から取り出した被テストプログラム261の実行範囲を解析し、被テストプログラム261の誤り等によりテスト範囲から外れた実行位置に遷移しうる実行位置を抽出する(ステップB1)。   First, the execution range analysis unit 214 of the test program execution unit 210 analyzes the execution range of the test program 261 extracted from the test program storage unit 260 in accordance with the contents of the test program 251 extracted from the test program storage unit 250. An execution position that can transition to an execution position that is out of the test range due to an error in the program under test 261 or the like is extracted (step B1).

次に、テストプログラム実行部210の実行範囲指定部211において、テストプログラム格納部250から取り出したテストプログラム251の内容に従って、被テストプログラム261の実行開始位置を被テストプログラム実行部220の実行位置制御部221に対して指定し、また、被テストプログラム実行部220の実行停止部222に対して、被テストプログラム261のテストの成功終了位置を指定するとともに、実行範囲解析部214にて導出されたパスに基づいて、被テストプログラム261のテストの失敗終了位置を指定する(ステップB2)。なお、上述したように、テストプログラム251には、被テストプログラム261中のどの部分をテストの対象とするかが含まれているため、実行範囲解析部214においては、テストプログラム251の内容に従って被テストプログラム261の実行範囲を解析することができる。   Next, in the execution range designation unit 211 of the test program execution unit 210, the execution start position of the test program execution program 261 is controlled according to the contents of the test program 251 extracted from the test program storage unit 250. Designated to the unit 221 and designated to the execution stop unit 222 of the program under test execution unit 220 for the successful end position of the test of the program under test 261 and derived by the execution range analysis unit 214 Based on the path, the test failure end position of the program under test 261 is designated (step B2). As described above, since the test program 251 includes which part of the program under test 261 is to be tested, the execution range analysis unit 214 performs processing according to the contents of the test program 251. The execution range of the test program 261 can be analyzed.

次に、テストプログラム実行部210の変数値設定部212において、テストプログラム格納部250から取り出したテストプログラム251の内容に従って、被テストプログラム格納部260から取り出した被テストプログラム261のうち、実行範囲指定部211にて指定された範囲に付与する変数値を設定し、被テストプログラム実行部220の変数管理部223に通知する(ステップB3)。なお、上述したように、テストプログラム251には、テスト対象部分にどんな変数値を付与するのかが含まれているため、変数値設定部212においては、テストプログラム251の内容に従って被テストプログラム261に付与する変数値を設定することができる。   Next, in the variable value setting unit 212 of the test program execution unit 210, an execution range designation is specified in the test program 261 extracted from the test program storage unit 260 in accordance with the contents of the test program 251 extracted from the test program storage unit 250. The variable value assigned to the range designated by the unit 211 is set and notified to the variable management unit 223 of the program under test execution unit 220 (step B3). As described above, since the test program 251 includes what variable values are assigned to the test target portion, the variable value setting unit 212 sets the test program 261 according to the contents of the test program 251. The variable value to be assigned can be set.

次に、被テストプログラム実行部220において、実行範囲指定部211から指定され、実行位置制御部221にて制御される実行開始位置から被テストプログラム261をステップ実行する(ステップB4)。   Next, in the program under test execution unit 220, the program under test 261 is step-executed from the execution start position designated by the execution range designation unit 211 and controlled by the execution position control unit 221 (step B4).

そして、被テストプログラム261の実行中において、変数値設定部212にて設定され、変数管理手段223で保持されていない変数の値が取得されたり(ステップB5)、実行範囲指定部211から実行停止部222に指定された失敗終了位置に到達したりした場合は(ステップB6)、テストは失敗とみなし終了する(ステップB7)。   During execution of the program under test 261, the value of the variable set by the variable value setting unit 212 and not held by the variable management unit 223 is acquired (step B 5), or the execution is stopped from the execution range specifying unit 211. When the failure end position designated in the unit 222 is reached (step B6), the test is regarded as a failure and is ended (step B7).

一方、被テストプログラム261が実行されていき、実行範囲指定部211から指定された成功終了位置に達した場合は(ステップB8)、実行停止部222によって被テストプログラム261の実行が停止し、テストプログラム実行部210の変数値検証部213において、変数管理部223から検証対象の変数値を取得し、その変数値が期待通りか検証して終了する(ステップB9)。なお、上述したように、テストプログラム251には、テスト対象部分を実行した結果、どんな変数値になっていることを期待するかが含まれているため、変数値検証部213においては、変数管理部223から取得した変数の値を、テストプログラム251にて予め設定された値と比較することにより検証することになる。   On the other hand, when the program under test 261 is executed and reaches the success end position designated by the execution range designation unit 211 (step B8), the execution stop unit 222 stops the execution of the program under test 261, and the test The variable value verification unit 213 of the program execution unit 210 acquires the variable value to be verified from the variable management unit 223, verifies whether the variable value is as expected, and ends (step B9). As described above, since the test program 251 includes what variable value is expected as a result of executing the test target portion, the variable value verification unit 213 uses variable management. The value of the variable acquired from the unit 223 is verified by comparing with the value set in advance by the test program 251.

上述したように本形態においては、第1の実施の形態による効果に加えて、テストとしては到達すべきではないが、被テストプログラムの誤りなどにより到達しうる実行位置に失敗として終了できるように構成されているため、被テストプログラムに誤りがあった場合、直ちに実行を終了させることができる。これにより、テスト作成、実施の効率をさらに向上させることが可能である。   As described above, in the present embodiment, in addition to the effects of the first embodiment, the test should not be reached, but the execution position that can be reached due to an error in the program under test can be terminated as a failure. Since it is configured, if there is an error in the program under test, execution can be immediately terminated. As a result, the efficiency of test creation and execution can be further improved.

以下に、上述した実施の形態の動作について、具体的な実施例を用いて説明する。   In the following, the operation of the above-described embodiment will be described using specific examples.

(実施例1)
図5は、図1に示したプログラムテスト支援システムの一実施例を示す図である。
Example 1
FIG. 5 is a diagram showing an embodiment of the program test support system shown in FIG.

本発明のプログラムテスト支援システムは、例えば図5に示すように、コンピュータ1000のメモリ1002上に読み込まれ、CPU1002を操作して動作するプログラム1010として実施される。また、本実施例においては、テストプログラム及び被テストプログラムは、記憶装置1003やメモリ1002上に格納されている。被テストプログラムとしては、例えば、WS−BPELなどのビジネスプロセス実行言語で書かれたものや、JavaやC、C++等のプログラミング言語で書かれたものに適用可能である。そして、マウスやキーボード、タッチパネルなどの入力装置1004を通じて、テストの作成および実施の開始を指令する。   The program test support system of the present invention is implemented as a program 1010 that is read into a memory 1002 of a computer 1000 and operates by operating a CPU 1002, for example, as shown in FIG. In this embodiment, the test program and the program under test are stored on the storage device 1003 or the memory 1002. As a program to be tested, for example, a program written in a business process execution language such as WS-BPEL or a program written in a programming language such as Java, C, or C ++ can be applied. Then, an instruction to create and start a test is issued through an input device 1004 such as a mouse, a keyboard, or a touch panel.

図6は、テストプログラムの具体例を示す図であり、図7は、被テストプログラムの具体例を示す図である。   FIG. 6 is a diagram showing a specific example of the test program, and FIG. 7 is a diagram showing a specific example of the test program.

以下に、図6に示したようなテストプログラムによって、図7に示したような被テストプログラムを対象に実施例を説明する。   In the following, an embodiment will be described by using the test program as shown in FIG. 7 by using the test program as shown in FIG.

テストプログラムの内容としては、テスト範囲の識別子として“test1”で指定されるもので、そのテスト範囲へと入力となるのは、変数yで、その値は“<a><b>1</b><a>”であり、実行した結果、変数cには、1が設定されている。   The content of the test program is specified by “test1” as an identifier of the test range, and the variable y is input to the test range, and the value is “<a> <b> 1 </ b> <a> ”, and as a result of execution, 1 is set in the variable c.

図8及び図9は、図7に示した被テストプログラムに図6に示したテストプログラムを埋め込んだ状態を示す図である。   8 and 9 are diagrams showing a state in which the test program shown in FIG. 6 is embedded in the test target program shown in FIG.

被テストプログラムでは、そのテストプログラムによって検証したい範囲を図8の4行目及び11行目のように注釈として場所をあらわすラベルを埋め込んだり、図9のようにプログラムの実行には影響を与えない要素を埋め込んだりして実現する。つまり、被テストプログラム中の場所を一意に特定できる手段でかつ、プログラムの実行には影響を与えない方法であれば、どのようなものでもよい。   In the program under test, the range to be verified by the test program is annotated as shown in the fourth and eleventh lines of FIG. 8 and a label indicating the place is embedded, and the execution of the program is not affected as shown in FIG. Realize by embedding elements. That is, any means may be used as long as it is a means that can uniquely identify the location in the program under test and that does not affect the execution of the program.

テストプログラム実行部によりテストプログラムが読み込まれ、図6の1行目でテスト範囲を指示する命令があれば、実行位置制御部に“test1”として識別される開始位置から実行することを設定する。実行開始位置を制御する方法としては、被テストプログラムの先頭から、当該開始場所までの命令列を実行せずに読み飛ばす方法、もしくは、当該開始場所へのジャンプ命令を被テストプログラムの先頭に暗黙的に追加もしくは実行する方法として実現する。また、実行停止部の実現方法としては、被テストプログラムに実行停止位置となる場所にブレークポイントを設定する方法や、被テストプログラム実行部により、暗黙的に実行停止位置となる場所に実行ストップ命令を挿入する方法として実現される。   When the test program is read by the test program execution unit and there is an instruction for designating the test range in the first line of FIG. 6, the execution position control unit is set to be executed from the start position identified as “test1”. To control the execution start position, skip the instruction sequence from the beginning of the program under test to the start location without executing it, or jump to the start location implicitly at the beginning of the program under test. As a method to add or execute automatically. In addition, the execution stop unit can be implemented by setting a breakpoint at a location that is the execution stop position in the program under test, or by an execution stop instruction at a location that is implicitly executed by the test program execution unit. Is realized as a method of inserting

そして、テストプログラム実行部が図6の2行目で変数yへの値を設定する指示を読み込むと、被テストプログラム実行部に変数yの値を通知する。   Then, when the test program execution unit reads an instruction to set a value for the variable y in the second line of FIG. 6, the value of the variable y is notified to the test program execution unit.

図10は、変数管理の具体例を示す図である。   FIG. 10 is a diagram illustrating a specific example of variable management.

変数管理部としては、例えば、図10に示すように、変数名とその値のペアとして、メモリや記憶装置に格納することで実現する。また、変数管理部は、ブロッキングキューなどの変数値の設定と変数値の参照を待ち合わせる機構を用いて実現してもよい。次に、図6の3行目にあるテストプログラムが変数値を検証する指示する命令があると、被テストプログラムの実行が完了後に、その検証を実施する。   For example, as shown in FIG. 10, the variable management unit is realized by storing a pair of a variable name and its value in a memory or a storage device. The variable management unit may be realized by using a mechanism such as a blocking queue that waits for setting of a variable value and reference of the variable value. Next, when there is an instruction for instructing the variable value to be verified by the test program on the third line in FIG. 6, the verification is performed after the execution of the program under test is completed.

以下に、図8に示したような形式で場所を特定するように書かれた被テストプログラムの実行処理について説明する。   In the following, execution processing of a program under test written so as to specify a location in the format shown in FIG. 8 will be described.

テストプログラムからの指定により、被テストプログラムは、5行目から実行が開始される。すると7行目で変数yが参照される。ここで、テストプログラムにより変数yの値が“<a><b>1</b><a>”であると設定されているため、この値を用いて実行され、その結果、8行目で変数cに“1”が設定される。   Execution of the program under test is started from the fifth line by the designation from the test program. Then, the variable y is referred to in the seventh line. Here, since the value of the variable y is set to “<a> <b> 1 </ b> <a>” by the test program, the value is executed using this value. Thus, “1” is set to the variable c.

図11は、誤りが含まれた被テストプログラムの一例を示す図である。   FIG. 11 is a diagram illustrating an example of a program under test that includes an error.

もし、被テストプログラムが図11の7行目のように、変数yを参照すべきところ、変数xを参照していた場合、テストプログラムにより変数xの設定はされていないため、このテストは、失敗として終了する。   If the program to be tested should refer to the variable y as shown in the seventh line of FIG. 11, if the variable x is referred to, the test program does not set the variable x. Exit as a failure.

最後に、図8に示した11行目で、テスト範囲の終端であることがわかり、被テストプログラムの実行はここで打ち切られ、テストプログラムの3行目の変数cの検証が実施され終了する。   Finally, the 11th line shown in FIG. 8 shows that it is the end of the test range, the execution of the program under test is aborted here, the verification of the variable c on the 3rd line of the test program is performed, and the process ends. .

(実施例2)
本実施例においては、第1の実施例との差分として、第2の実施の形態にて示した実行範囲解析部の実現例について説明する。
(Example 2)
In this example, an implementation example of the execution range analysis unit shown in the second embodiment will be described as a difference from the first example.

図12は、図7に示した被テストプログラムに図6に示したテストプログラムを埋め込んだ状態を示す図である。また、図13及び図14は、実行範囲解析の具体例を示す図である。   FIG. 12 is a diagram showing a state in which the test program shown in FIG. 6 is embedded in the program to be tested shown in FIG. FIG. 13 and FIG. 14 are diagrams showing specific examples of the execution range analysis.

図12に示した被テストプログラムにおける実行範囲解析の実現方法としては、テストプログラムで指定されたテスト範囲に関する情報と、被テストプログラムの構造から、図13に示したような解析木を構築する。   As an implementation method of the execution range analysis in the program under test shown in FIG. 12, an analysis tree as shown in FIG. 13 is constructed from the information regarding the test range specified by the test program and the structure of the program under test.

図13に示した解析木中の矢印をたどることで、被テストプログラムの誤りにより、switchからotherwiseへと遷移する可能性があることを検出する。これを元に図14に示すように、終了点として指定されたものには成功終了点、成功終了点に至らないパスについては、その入り口に失敗終了点が必要であることを導出する。そして、図14に示した解析木に従って、被テストプログラムの実行停止位置を設定する。   By following the arrows in the analysis tree shown in FIG. 13, it is detected that there is a possibility of transition from switch to otherwise due to an error in the program under test. Based on this, as shown in FIG. 14, it is derived that a failure end point is required at the entrance of a path designated as an end point and a path that does not reach the success end point. Then, the execution stop position of the program under test is set according to the analysis tree shown in FIG.

図15は、誤りが含まれた被テストプログラムの一例を示す図である。   FIG. 15 is a diagram illustrating an example of a program under test that includes an error.

例えば、被テストプログラムが、図15の13行目のように、c==1とすべきところ、c==0となっていた場合、17行目のotherwiseを実行しようとする時点で実行が停止され、失敗と報告される。   For example, if the program under test should be c == 1 as shown in the 13th line of FIG. 15 and c == 0, the execution is executed at the time when another of the 17th line is to be executed. Stopped and reported as failed.

本発明のプログラムテスト支援システムの第1の実施の形態を示す図である。It is a figure which shows 1st Embodiment of the program test support system of this invention. 図1に示したプログラムテスト支援システムにおける処理を説明するためのフローチャートである。It is a flowchart for demonstrating the process in the program test support system shown in FIG. 本発明のプログラムテスト支援システムの第2の実施の形態を示す図である。It is a figure which shows 2nd Embodiment of the program test assistance system of this invention. 図3に示したプログラムテスト支援システムにおける処理を説明するためのフローチャートである。It is a flowchart for demonstrating the process in the program test support system shown in FIG. 図1に示したプログラムテスト支援システムの一実施例を示す図である。It is a figure which shows one Example of the program test support system shown in FIG. テストプログラムの具体例を示す図である。It is a figure which shows the specific example of a test program. 被テストプログラムの具体例を示す図である。It is a figure which shows the specific example of a to-be-tested program. 図7に示した被テストプログラムに図6に示したテストプログラムを埋め込んだ状態を示す図である。FIG. 8 is a diagram showing a state in which the test program shown in FIG. 6 is embedded in the program under test shown in FIG. 7. 図7に示した被テストプログラムに図6に示したテストプログラムを埋め込んだ状態を示す図である。FIG. 8 is a diagram showing a state in which the test program shown in FIG. 6 is embedded in the program under test shown in FIG. 7. 変数管理の具体例を示す図である。It is a figure which shows the specific example of variable management. 誤りが含まれた被テストプログラムの一例を示す図である。It is a figure which shows an example of the to-be-tested program containing the error. 、図7に示した被テストプログラムに図6に示したテストプログラムを埋め込んだ状態を示す図である。FIG. 8 is a diagram showing a state in which the test program shown in FIG. 6 is embedded in the program to be tested shown in FIG. 実行範囲解析の具体例を示す図である。It is a figure which shows the specific example of an execution range analysis. 実行範囲解析の具体例を示す図である。It is a figure which shows the specific example of an execution range analysis. 誤りが含まれた被テストプログラムの一例を示す図である。It is a figure which shows an example of the to-be-tested program containing the error. プログラムテストを支援する従来のデバック方法の一例を説明するための機能構成図である。It is a functional block diagram for demonstrating an example of the conventional debugging method which supports a program test. 従来のプログラムテスト支援方法の他の例を説明するための図である。It is a figure for demonstrating the other example of the conventional program test support method. プログラムテストを支援する従来のプログラムデバックシステムの他の例を説明するための図である。It is a figure for demonstrating the other example of the conventional program debug system which supports a program test.

符号の説明Explanation of symbols

100,200 コンピュータ
110,210 テストプログラム実行部
111,211 実行範囲指定部
112,212 変数値設定部
113,213 変数値検証部
120,220 被テストプログラム実行部
121,221 実行位置制御部
122,222 実行停止部
123,223 変数管理部
150,250 テストプログラム格納部
151,251 テストプログラム
160,260 被テストプログラム格納部
161,261 被テストプログラム
214 実行解析部
1000 コンピュータシステム
1001 CPU
1002 メモリ
1003 記憶装置
1004 入力装置
1005 出力装置
1010 部分テスト作成実施プログラム
100, 200 Computer 110, 210 Test program execution unit 111, 211 Execution range specification unit 112, 212 Variable value setting unit 113, 213 Variable value verification unit 120, 220 Test program execution unit 121, 221 Execution position control unit 122, 222 Execution stop unit 123, 223 Variable management unit 150, 250 Test program storage unit 151, 251 Test program 160, 260 Test program storage unit 161, 261 Test program 214 Execution analysis unit 1000 Computer system 1001 CPU
1002 Memory 1003 Storage device 1004 Input device 1005 Output device 1010 Partial test creation execution program

Claims (3)

被テストプログラムのテストを行うためのテストプログラムに従って、前記被テストプログラムのテストを実行する範囲を指定するとともに、前記被テストプログラムのうち前記指定される範囲に付与する変数の値を設定するテストプログラム実行手段と、前記被テストプログラムについて前記テストプログラム実行手段にて指定された範囲を実行し、該指定される範囲に付与された変数の値、並びに前記指定された範囲を実行した結果である変数の値を管理する被テストプログラム実行手段とを有し、前記テストプログラム実行手段が、前記被テストプログラム実行手段にて管理される、前記指定された範囲を実行した結果である変数の値を取得し、該変数の値を前記テストプログラムにて予め設定された値と比較することにより検証するプログラムテスト支援システムにおいて、
前記テストプログラム実行手段は、
前記テストプログラムに従って、前記被テストプログラムのテストを実行する範囲を指定する実行範囲指定手段と、
前記テストプログラムに従って、前記被テストプログラムのうち前記実行範囲指定手段にて指定される範囲に付与する変数の値を設定する変数値設定手段と、
前記被テストプログラム実行手段にて管理される、前記実行範囲指定手段にて指定された範囲を実行した結果である変数の値を取得し、該変数の値を前記テストプログラムにて予め設定された値と比較することにより検証する変数値検証手段と、
前記テストプログラムに従って、前記被テストプログラムのテスト実行範囲を解析し、当該テストプログラムにより指定された実行範囲のテスト終了点を成功終了位置とし、前記被テストプログラムの誤りによって前記成功終了位置へ遷移しないパスがある場合にそれを導出する実行範囲解析手段とを具備し、
前記実行範囲指定手段は、前記テストプログラムに従って、前記被テストプログラムのテストの前記成功終了位置を指定するとともに、前記実行範囲解析手段にて導出された、前記成功終了位置へ遷移しないパスの入り口を失敗終了位置として指定し、
前記被テストプログラム実行手段は、
前記実行範囲指定手段により指定された範囲に基づいて、前記被テストプログラムのテストの実行を開始する場所を制御する実行位置制御手段と、
前記実行範囲指定手段により指定された前記成功終了位置もしくは前記失敗終了位置で前記被テストプログラムの実行を停止させる実行停止手段と、
前記被テストプログラムについて前記変数値設定手段により設定された変数の値、並びに前記実行範囲指定手段にて指定された範囲を実行した結果である変数の値を管理する変数管理手段とを具備することを特徴とするプログラムテスト支援システム。
A test program for designating a range for executing the test of the program under test according to a test program for testing the program under test and for setting a value of a variable to be given to the designated range of the program under test Execution means, a range designated by the test program execution means for the program under test, a value of a variable given to the designated range, and a variable that is a result of executing the designated range A test program execution means for managing the value of the variable, and the test program execution means obtains the value of a variable that is managed by the test program execution means and that is a result of executing the specified range And verifying the value of the variable by comparing it with a value preset in the test program. In the program test support system,
The test program execution means includes
According to the test program, execution range designation means for designating a range for executing the test of the program under test;
According to the test program, variable value setting means for setting a value of a variable to be given to a range specified by the execution range specifying means in the program to be tested;
The value of a variable that is managed by the program under test execution unit and that is a result of executing the range specified by the execution range specifying unit is acquired, and the value of the variable is preset by the test program Variable value verification means for verifying by comparing with a value;
According to the test program, the test execution range of the program under test is analyzed, the test end point of the execution range specified by the test program is set as a success end position, and the transition to the success end position is not caused by an error of the program under test. An execution range analyzing means for deriving the path when it exists ,
The execution range designating unit designates the success end position of the test of the program under test according to the test program, and enters an entrance of a path that is derived by the execution range analysis unit and does not transition to the success end position. Specify as failure end position,
The test program execution means includes:
An execution position control means for controlling a place where the execution of the test of the program under test is started based on the range designated by the execution range designation means;
Execution stop means for stopping execution of the program under test at the success end position or the failure end position specified by the execution range specifying means;
Variable management means for managing the value of the variable set by the variable value setting means for the program under test and the value of the variable that is the result of executing the range specified by the execution range specifying means Program test support system characterized by
テストプログラムに従って被テストプログラムのテストを実行するテストプログラム実行手段と、前記テストプログラム実行手段の制御によって前記被テストプログラムを実行する被テストプログラム実行手段とを有してなるプログラムテスト支援システムを用いて前記被テストプログラムのテストを実行する方法であって、
前記テストプログラム実行手段が、前記テストプログラムに従って、前記被テストプログラムのテスト実行範囲を解析し、当該テストプログラムにより指定された実行範囲のテスト終了点を成功終了位置とし、前記被テストプログラムの誤りによって前記成功終了位置へ遷移しないパスがある場合にそれを導出する処理と、
前記テストプログラム実行手段が、前記テストプログラムに従って、前記被テストプログラムのテストを実行する範囲を指定する処理と、
前記テストプログラム実行手段が、前記テストプログラムに従って、前記被テストプログラムのテストの前記成功終了位置を指定するとともに、前記導出された、前記成功終了位置へ遷移しないパスの入り口を失敗終了位置として指定する処理と、
前記テストプログラム実行手段が、前記テストプログラムに従って、前記被テストプログラムのうち前記指定される範囲に付与する変数の値を設定する処理と、
前記被テストプログラム実行手段が、前記指定された範囲に基づいて、前記被テストプログラムのテストの実行を開始する場所を制御する処理と、
前記被テストプログラム実行手段が、前記テストプログラム実行手段の制御によって前記被テストプログラムのうち前記指定された範囲を実行する処理と、
前記被テストプログラム実行手段が、前記被テストプログラムについて前記テストプログラム実行手段により設定された変数の値、並びに前記被テストプログラムについて前記指定された範囲を実行した結果である変数の値を管理する処理と、
前記被テストプログラム実行手段が、前記指定された前記成功終了位置もしくは前記失敗終了位置で被テストプログラムの実行を停止させる処理と、
前記テストプログラム実行手段が、前記被テストプログラム実行手段にて管理される、前記被テストプログラムについて前記指定された範囲を実行した結果である変数の値を取得し、該変数の値を前記テストプログラムにて予め設定された値と比較することにより検証する処理とを有する方法。
Using a program test support system comprising test program execution means for executing a test of a program under test according to a test program, and test program execution means for executing the test program under control of the test program execution means A method for executing a test of the program under test,
The test program execution means analyzes the test execution range of the program under test according to the test program , sets the test end point of the execution range specified by the test program as a successful end position, and causes an error in the program under test. A process of deriving a path that does not transition to the successful end position ;
The test program execution means designates a range for executing a test of the program under test according to the test program;
The test program executing means, in accordance with the test program, the with designating the success completion position of the test of the test program, the derived, specifying the entrance path that does not transition to the success end position as a failure end position Processing,
The test program execution means, according to the test program, to set a value of a variable to be given to the specified range of the program under test;
A process for controlling where the test target program execution means starts execution of a test of the test target program based on the specified range;
A process in which the program under test execution unit executes the designated range of the program under test under the control of the test program execution unit;
Process for managing the value of a variable set by the test program execution means for the program under test and the value of a variable as a result of executing the specified range for the program under test by the program under test execution means When,
The program under test execution means stops the execution of the program under test at the designated success end position or the failure end position ;
The test program execution means acquires a value of a variable that is managed by the test program execution means and that is a result of executing the specified range for the program under test, and sets the value of the variable to the test program And a process of verifying by comparing with a preset value.
テストプログラムに従って被テストプログラムのテストを実行するコンピュータに、
前記テストプログラムに従って、前記被テストプログラムのテスト実行範囲を解析し、当該テストプログラムにより指定された実行範囲のテスト終了点を成功終了位置とし、前記被テストプログラムの誤りによって前記成功終了位置へ遷移しないパスがある場合にそれを導出する手順と、
前記テストプログラムに従って、前記被テストプログラムのテストを実行する範囲を指定する手順と、
前記テストプログラムに従って、前記被テストプログラムのテストの前記成功終了位置を指定するとともに、前記導出された、前記成功終了位置へ遷移しないパスの入り口を失敗終了位置として指定する手順と、
前記テストプログラムに従って、前記被テストプログラムのうち前記指定される範囲に付与する変数の値を設定する手順と、
前記テストプログラムの制御によって前記被テストプログラムのうち前記指定された範囲を実行する手順と、
前記指定された範囲に基づいて、前記被テストプログラムのテストの実行を開始する場所を制御する手順と、
前記被テストプログラムについて設定された変数の値、前記被テストプログラムについて前記指定された範囲を実行した結果である変数の値を管理する手順と、
前記指定された前記成功終了位置もしくは前記失敗終了位置で被テストプログラムの実行を停止させる手順と、
前記被テストプログラムについて前記指定された範囲を実行した結果である変数の値を前記テストプログラムにて予め設定された値と比較することにより検証する手順とを実行させるプログラム。
To the computer that executes the test of the program under test according to the test program,
According to the test program, the test execution range of the program under test is analyzed, the test end point of the execution range specified by the test program is set as a success end position, and the transition to the success end position is not caused by an error of the program under test. A procedure to derive the path, if any ,
In accordance with the test program, a procedure for specifying a range for executing the test of the program under test;
In accordance with the test program, and the procedure specified with specifying the successful completion position of the test of the test program, the derived, the entrance path that does not transition to the success end position as a failure end position,
In accordance with the test program, a procedure for setting a value of a variable to be given to the designated range in the program under test;
A step of executing the specified range of the program under test under the control of the test program;
A procedure for controlling where to start executing a test of the program under test based on the specified range;
Managing a value of a variable set for the program under test, a value of a variable that is a result of executing the specified range for the program under test;
A procedure for stopping execution of the program under test at the designated success end position or failure end position ;
A program for executing a procedure of verifying a value of a variable, which is a result of executing the specified range, with respect to the program to be tested by comparing the value with a value preset in the test program.
JP2006011271A 2006-01-19 2006-01-19 Program test support system, method and program Expired - Fee Related JP4872357B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006011271A JP4872357B2 (en) 2006-01-19 2006-01-19 Program test support system, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006011271A JP4872357B2 (en) 2006-01-19 2006-01-19 Program test support system, method and program

Publications (2)

Publication Number Publication Date
JP2007193586A JP2007193586A (en) 2007-08-02
JP4872357B2 true JP4872357B2 (en) 2012-02-08

Family

ID=38449237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006011271A Expired - Fee Related JP4872357B2 (en) 2006-01-19 2006-01-19 Program test support system, method and program

Country Status (1)

Country Link
JP (1) JP4872357B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5365846B2 (en) * 2009-03-03 2013-12-11 日本電気株式会社 Program verification apparatus, program verification method, and verification function execution program
JP5626786B2 (en) * 2010-11-09 2014-11-19 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Software development support method, software development support device, and software development support program

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0520060A (en) * 1991-07-16 1993-01-29 Matsushita Electric Ind Co Ltd Program partial execution method and program partial execution device
JP2762829B2 (en) * 1992-02-06 1998-06-04 日本電気株式会社 Electronic computer
JPH05233349A (en) * 1992-02-21 1993-09-10 Fuji Electric Co Ltd Program module automatic test tool
JPH0695914A (en) * 1992-09-11 1994-04-08 Toshiba Corp Program monitoring device
JPH07311694A (en) * 1994-05-16 1995-11-28 Hitachi Ltd Program execution path analysis method
JP2001229044A (en) * 2000-02-16 2001-08-24 Hitachi Ltd How to debug

Also Published As

Publication number Publication date
JP2007193586A (en) 2007-08-02

Similar Documents

Publication Publication Date Title
JP4901075B2 (en) Computer-readable medium, method and computing device
US8839201B2 (en) Capturing test data associated with error conditions in software item testing
US9684587B2 (en) Test creation with execution
CN103279418B (en) A kind of method of testing of configuration control information and device
US20150212923A1 (en) Nontransitory processor readable recording medium having fault injection program recorded therein and fault injection method
JPH08272648A (en) Method for automatically generating debug command file and device for automatically regenerating breakpoint in debug command file
WO2013007068A1 (en) Automatic test system and method oriented to functions of hardware apparatus
US20070074168A1 (en) Automated step type determination
CN111258561A (en) Method for starting and monitoring software automatic compiling and deploying
CN112084113A (en) Configurable automatic test method and system based on embedded simulation verification software
CN102567164A (en) Instruction set batch testing device and method for processor
CN102279789A (en) Debugging system and debugging method for embedded system of production phase
US20140109050A1 (en) Altering a test
CN102479152A (en) Method and device for obtaining tool automatic test results based on Android platform
CN111984524A (en) Fault injection method, fault simulation method, fault injection device and storage medium
CN121070314A (en) Test code repairing method and related equipment
CN112389506A (en) Train signal system and linkage method thereof
JP4872357B2 (en) Program test support system, method and program
US9292422B2 (en) Scheduled software item testing
JP7479188B2 (en) DEBUG SUPPORT DEVICE, DEBUG SUPPORT METHOD, AND PROGRAM
CN108132799B (en) Interprocess static program analysis information extraction method, device and device
JP5481267B2 (en) Control program creation device and control program creation device drive method
CN115562672A (en) Automatic compiling method and system for source code, electronic device and storage medium
CN117992323A (en) Automated testing method, device and electronic equipment for in-vehicle entertainment system
CN112698881A (en) Dynamic detection method for Android picture loading behavior defect

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110426

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111025

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111107

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141202

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4872357

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees