JP2005100068A - Automatic software verification system - Google Patents

Automatic software verification system Download PDF

Info

Publication number
JP2005100068A
JP2005100068A JP2003332558A JP2003332558A JP2005100068A JP 2005100068 A JP2005100068 A JP 2005100068A JP 2003332558 A JP2003332558 A JP 2003332558A JP 2003332558 A JP2003332558 A JP 2003332558A JP 2005100068 A JP2005100068 A JP 2005100068A
Authority
JP
Japan
Prior art keywords
software
state
function
test
verification method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003332558A
Other languages
Japanese (ja)
Inventor
Satoshi Endo
聰 遠藤
Koji Maruno
剛治 丸野
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 Electronics Corp
Panasonic Holdings Corp
Original Assignee
NEC Electronics Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Electronics Corp, Matsushita Electric Industrial Co Ltd filed Critical NEC Electronics Corp
Priority to JP2003332558A priority Critical patent/JP2005100068A/en
Publication of JP2005100068A publication Critical patent/JP2005100068A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an automatic software verification system for reducing man-hours required to create a regression test program necessary during development as a whole. <P>SOLUTION: In an automatic software verification method which supports a creation of a regression test method of software created during development of the software for use in products a part of the functions of which is achieved by the software, a state of each function of the products is defined (#100: S102-S112), the defined functions are associated with names of memory data RAMs of a micro processor to control the functions of the products (S108, S110), the associated functions are converted into absolute addresses of memory data and executes regression tests for the products (#150, #200), and the memory data of the absolute addresses indicating test results obtained after the regression tests are inversely converted into the functions (S206). <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、機能の一部がソフトウェアで実現される製品において、新製品の開発に際して作成されるソフトウェアのリグレッションテスト方法の作成を支援するソフトウェア自動検証システムに関する。   The present invention relates to a software automatic verification system that supports creation of a software regression test method created when developing a new product in a product in which a part of the functions is realized by software.

近年、電子機器を用いて構成される製品の多くは、その機能の一部または大部分がマイクロコンピュータを利用したソフトウェアで実現されている。そのために、新製品の開発の際には、新製品の全体としての機能は、従来の製品の機能と新たな機能とを含むソフトウェアが作成されて実現されることが多い。言い換えれば、新製品の開発は、ハードウェアの開発と共に、従来の製品の機能を実現するソフトウェアのバージョンアップによって実現されるとも言える。   In recent years, in many products configured using electronic devices, some or most of the functions are realized by software using a microcomputer. Therefore, when a new product is developed, the function of the new product as a whole is often realized by creating software including the function of the conventional product and the new function. In other words, the development of a new product can be said to be realized by upgrading the software that realizes the functions of the conventional product together with the development of hardware.

そして、製品化に先立って、開発される新製品が設計通りに機能するかを評価する一環として、新たに作成されたプログラムに誤りの有無およびソフトウェアの変更による予想外の影響の有無を確認するためのリグレッションテストが行われる。   Prior to commercialization, as part of evaluating whether the new product that will be developed will function as designed, the newly created program will be checked for errors and unexpected effects due to software changes. A regression test is performed.

リグレッションテストにおいては、当然新製品の全体の機能が対象となる。具体的には、開発者が新製品の機能を実現するソフトウェアの全ての検証項目を設定し、検証項目毎にマイクロコンピュータの内部に存在する特定のRAMの特定のアドレスに格納されているパラメータの値を検証することによってリグレッションテストを実行する方法が知られている。この方法では、リグレッションテストの機能も主にソフトウェア、つまりプログラムによって実現され、そのプログラムを実行させることでリグレッションテストが実行される。そして、リグレッションテストの結果、不具合が見つかればソフトウェアに対策を施し、対策されたソフトウェアにまたリグレッションテストを施す。そして、不具合が見つからなくなるまで、対策およびリグレッションテストが繰り返し実施される。   In the regression test, the entire function of the new product is of course the target. Specifically, the developer sets all the verification items of the software that realizes the functions of the new product, and for each verification item, the parameter stored in the specific address of the specific RAM existing in the microcomputer. Methods are known for performing regression tests by verifying values. In this method, the regression test function is also mainly realized by software, that is, a program, and the regression test is executed by executing the program. If a failure is found as a result of the regression test, a countermeasure is applied to the software, and a regression test is performed again on the countermeasured software. Then, countermeasures and regression tests are repeatedly performed until no defect is found.

従来、リグレッションテストを支援する手段として、モニタ上に表示されるウィンドウの表示内容がキーボードやマウスの入力に応答して変更されるウィンドウ作成手段の自動テストを可能とする自動テスト装置が提案されている(特許文献1)。当該自動テスト装置においては、キーボードおよびマウスによる入力信号に基づいて、イベント発生手段がイベント信号を作成する。そして、イベント記憶手段がイベント信号を記憶する。イベント信号に応答してウィンドウ作成手段で作成されたウィンドウは正しい状態であることは、予めユーザによって目視で確認されている。これをフレームバッファに記憶し、画像データ作成手段で画像データを作成する。一方、イベント信号をイベント再生手段で画像制御手段と同じ順序で再生する。再生されたイベント信号を入力としてウィンドウ作成手段でウィンドウを作成し、画像比較手段で得られた結果と正しいウィンドウの値とを比較しテスト結果を出力する。   Conventionally, as a means for supporting a regression test, an automatic test apparatus has been proposed that enables an automatic test of a window creation means in which the display content of a window displayed on a monitor is changed in response to a keyboard or mouse input. (Patent Document 1). In the automatic test apparatus, the event generating means creates an event signal based on input signals from the keyboard and mouse. Then, the event storage means stores the event signal. It has been visually confirmed in advance by the user that the window created by the window creating means in response to the event signal is in the correct state. This is stored in the frame buffer, and image data is created by the image data creation means. On the other hand, event signals are reproduced by the event reproduction means in the same order as the image control means. A window is created by the window creation means using the reproduced event signal as an input, the result obtained by the image comparison means is compared with the correct window value, and a test result is output.

さらに、バージョンアップされたソフトウェアのテストおよびデグレードバグ検出を迅速且つ効率的に行う手段として、ソフトウェアのテスト装置が提案されている(特許文献2)。当該テスト装置においては、バージョンアップ前のソフトウェア(従来のソフトウェア)をコンピュータシステムに搭載し、検査員がキーボード或いはマウスを使ってテストを行う。テスト結果は、コンバータを介して表示部に表示される。得られたテスト手順及びテスト結果は、コンバータを介してコンピュータシステム内に電子ファイル化して格納される。デグレードバグが検出されれば、コンピュータシステムが収集したバグ関連情報を、コンピュータシステム内に格納する。これによって、当初のソフトウェアのテスト内容が学習される。バージョンアップされたソフトウェアをコンピュータシステムに搭載して同一テストを行う場合は、学習結果であるテスト手順を読出して自動的なテストを行い、このテスト結果も、上記ファイル化したテスト結果と比較することでチェックする。バグ関連情報もバグ検出時には利用して点検に供する。   Furthermore, a software test apparatus has been proposed as a means for quickly and efficiently performing a test of upgraded software and a detection of a degradation bug (Patent Document 2). In the test apparatus, software before upgrading (conventional software) is installed in a computer system, and an inspector performs a test using a keyboard or a mouse. The test result is displayed on the display unit via the converter. The obtained test procedures and test results are stored as electronic files in a computer system via a converter. If a degradation bug is detected, bug related information collected by the computer system is stored in the computer system. Thus, the initial software test contents are learned. When performing the same test with the upgraded software installed in the computer system, the test procedure that is the learning result is read and an automatic test is performed, and this test result should also be compared with the test result filed above. Check with. Bug related information is also used when a bug is detected.

また、バージョンアップされたソフトウェアのテストによって検出されたデグレードバグの原因を追求する手段として、ソフトウェアの自動テスト方法が提案されている(特許文献3)。当該自動テスト方法においては、バージョンアップ前のシステムのトレース情報とバージョンアップ後のシステムのトレース情報を比較し、関数の呼出し順序或いは引数の値が異なる個所を発見し、モジュールの変更一覧から、どのモジュールにデグラデーション(劣化)の原因があるかを予測する。つまり、システムをテストする際に、関数が呼ばれる度に、該関数の属するモジュールの名称、関数の名称、入力因数の値、出力因数の値、リターン値を1トレースとして記録する。さらに、テストを実行した際のモジュール毎の作成日付を記憶する。システムをバージョンアップした際に、同様にトレース情報と、モジュール毎の作成日付を記憶する。トレース情報を前回のテスト時のトレース情報と比較し、違いをチェックする。   In addition, as a means for pursuing the cause of a degradation bug detected by testing the upgraded software, a software automatic test method has been proposed (Patent Document 3). In this automatic test method, the trace information of the system before the upgrade and the trace information of the system after the upgrade are compared, the part where the function call order or the argument value is different is found, and the module change list Predict whether the module is causing degradation. That is, each time a function is called when the system is tested, the name of the module to which the function belongs, the name of the function, the value of the input factor, the value of the output factor, and the return value are recorded as one trace. Furthermore, the creation date for each module when the test is executed is stored. Similarly, when the system is upgraded, the trace information and the creation date for each module are stored. Compare the trace information with the trace information from the previous test and check for differences.

違いの原因を究明するために、関数を呼び出した側のモジュールの作成日付と、呼び出されたモジュールの作成日付より、両モジュールが変更されているか否かを利用者に提示する。さらに、トレース情報より呼び出しの際の入力引数、出力引数、リターン値が変更されているか否かを利用者に提示する。これらの情報から、関数を呼び出したモジュールの動作が異なっているのか、関数が呼び出されたモジュールの動作が異なっているのか、あるいは、別のモジュールの動作が異なっているのかを利用者に提示する。これによって、利用者がデグラデーションを発生させる箇所を予測することを可能にする。   In order to investigate the cause of the difference, the user is shown whether or not both modules have been changed based on the creation date of the module that called the function and the creation date of the called module. In addition, the user is notified of whether the input argument, the output argument, and the return value at the time of the call are changed from the trace information. From this information, the user is informed whether the module that called the function is operating differently, the module that called the function is operating differently, or another module is operating differently. . This allows the user to predict where the degradation will occur.

さらに、トレース情報から第1のモジュールに属する関数の読み出し部分を検索し、トレース情報の記録の順で、第1のモジュールに属する関数を呼び出し、入力引数の値を渡す。関数の実行結果である出力引数の値、リターン値をトレース情報として記憶していた値と比べる。これによって、第1のモジュールの単体テストを可能にする。   Further, a part to be read of the function belonging to the first module is searched from the trace information, the function belonging to the first module is called in the order of recording the trace information, and the value of the input argument is passed. The output argument value and return value, which are the function execution results, are compared with the values stored as trace information. This allows unit testing of the first module.

さらに、トレースを記憶した際のテストデータとは異なるテストデータでテストを行う場合にも、入力引数の値、出力引数の値、リターン値は当然異なるが、関数の呼び出し順序は変わらない場合が多い。従って、関数の呼び出し順序のみを比較することで、デグラデーションの原因を追及することが可能となる。記憶しておいたトレース情報から関数の呼び出し順序の情報を抽出して、両情報を比較し、関数の呼び出しが異なっている箇所を検索して提示することで、関数を呼び出したモジュールにデグラデーションの原因があることを、利用者が判断することを可能にする。   Furthermore, even when testing with test data that is different from the test data when the trace was stored, the input argument value, output argument value, and return value are naturally different, but the function call order is often the same. . Therefore, the cause of the degradation can be pursued by comparing only the calling order of the functions. The function call order information is extracted from the stored trace information, the two information are compared, and the location where the function call is different is searched for and presented to the module that called the function. Allows the user to determine that there is a cause of

上述の如く、ユーザの操作入力に応答して表示が変わるウィンドウ作成プログラムの自動テスト装置(特許文献1)、バージョンアップされたソフトウェアのテストおよびデグレードバグ検出を行うプログラムのテスト装置(特許文献2)、およびバージョンアップされたソフトウェアのテストによって検出されたデグラレードバグの原因の推定に供されるソフトウェアの自動テスト方法(特許文献3)が提案されている。
特開平5−143269号公報 特開平8−212108号公報 特開平10−320234号公報
As described above, an automatic test apparatus for a window creation program whose display changes in response to a user's operation input (Patent Document 1), a test apparatus for a program for testing upgraded software and detecting a degradation bug (Patent Document 2) And a software automatic test method (Patent Document 3) used for estimating the cause of a degrading bug detected by testing the upgraded software.
JP-A-5-143269 JP-A-8-212108 JP-A-10-320234

新製品であってもその機能の大半は従来の機能と共通であり、その共通の機能は既に検証されている。この意味において、新製品の開発時に検証すべきテスト項目は、新たに追加されたソフトウェアの機能と、同ソフトウェアと従来の機能を実現するソフトウェアとの整合性である。   Even in the new product, most of the functions are the same as the existing functions, and the common functions have already been verified. In this sense, the test item to be verified when developing a new product is the function of the newly added software and the consistency between the software and the software that realizes the conventional function.

しかしながら、新機能を実現するソフトウェアと従来の機能を実現するソフトウェアとを明確に切り分けることは非常に難しい。それ故に、開発者が新製品の機能を実現するソフトウェアの全ての検証項目を改めて個々に設定すると共に、設定された検証項目についてリグレッションテストを実行せざるを得ない。そのため、既に検証済みの項目までも繰り返して検証が行われるという無駄がある。   However, it is very difficult to clearly separate software that realizes new functions from software that realizes conventional functions. Therefore, the developer is forced to set all the verification items of the software that realizes the functions of the new product individually, and to execute a regression test on the set verification items. Therefore, there is a waste that verification is repeatedly performed even on items that have already been verified.

さらに、近年は、同様の製品であっても、異なる機種毎にマイクロコンピュータを用いた機能開発の内容が急激に高度化且つ複雑化している。それにつれて、開発工数も急激に増大しており、開発負荷に開発能力が追いつかない状態である。また、製品の品質確保には、開発時点でのソフトウェアの徹底的な検証が必要であるが、開発工数の増大がその妨げとなっている。   Furthermore, in recent years, even for similar products, the contents of function development using a microcomputer for each different model are rapidly becoming more sophisticated and complicated. Along with that, the development man-hours are also increasing rapidly, and the development capacity cannot keep up with the development load. In addition, to ensure product quality, thorough software verification at the time of development is necessary, but the increase in development man-hours is an obstacle.

特に、リグレッションテストにおいては、開発者が設定した新製品の機能を実現するソフトウェアの全ての検証項目毎に、製品の制御装置内の特定のRAMの所定のアドレスに格納されているパラメータの値を検証することによって、バージョンアップされたソフトウェアにデグラデーションの有無が判断される。つまり、新製品のリグレッションテストにおいては、新たに付加される機能に関しては、バージョンアップされたプログラムによって、新たな機能に対応するRAMアドレスおよびパラメータとパラメータ値を特定すると共に、特定された値を検証するリグレッションテストプログラムを作成しなければならない。さらに、従来の機能に対応するRAMアドレスおよびパラメータとその値も、バージョンアップ時に新製品の機能に対応する機能を設定することで変化してしまう不都合も生じる。   In particular, in the regression test, the parameter value stored at a predetermined address of a specific RAM in the product control device is used for every verification item of the software that realizes the function of the new product set by the developer. By verifying, it is determined whether there is any degradation in the upgraded software. In other words, in the regression test of new products, regarding newly added functions, the RAM address and parameters and parameter values corresponding to the new functions are specified and the specified values are verified by the upgraded program. You must create a regression test program. Furthermore, the RAM address and parameter corresponding to the conventional function and the value thereof are also changed by setting the function corresponding to the function of the new product at the time of version upgrade.

デグラデーションの有無を検出するためには、ソフトウェアのバージョンアップによって変化するRAMアドレスと、同アドレスに対応するパラメータの値の正常値を正確に把握し、そのRAMアドレスのパラメータ値を判定するようにプログラムを作成する必要がある。そのようなプログラム作成には、非常に高度な知識が必要とされて、通常は専門のプログラマに依頼せざるを得ない。しかしながら、専門のプログラマは、新旧の製品の機能の検証されるべき内容に関する知識は有していない。一方、製品の開発者は、機能とパラメータの関係の知識や検証すべきテスト項目は熟知しているものの、その関係に基づいて特定のRAMアドレスの値を読むようなプログラムを作成するほどの技量を備える者は少ない。   In order to detect the presence / absence of the degradation, it is necessary to accurately grasp the RAM address that changes due to software upgrade and the normal value of the parameter value corresponding to the address, and determine the parameter value of the RAM address. Need to create a program. Such program creation requires very advanced knowledge and usually requires a specialized programmer. However, specialized programmers do not have knowledge about the contents to be verified of the functions of old and new products. On the other hand, the product developer knows the relationship between functions and parameters and the test items to be verified, but is skilled enough to create a program that reads the value of a specific RAM address based on the relationship. Few people have

それ故に、製品の開発者は、自身が決定する製品の機能に関してプログラマに説明し、プログラマは受けた説明に応じて、プラグラムを作成する必要がある。この過程でまた、開発者とプログラマの間での意思疎通の問題や、お互いの技量に起因して、正しいリグレッションテストプログラムが完成するまでに、多大な労力と時間とを要して非効率的である。それ故に、新製品に対する要求機能の内容を熟知している開発者が専門のプログラマの助けなく単独でリグレッションテストプログラムを作成することを可能とする支援システムが必要とされる。   Therefore, the developer of the product needs to explain to the programmer about the function of the product determined by the programmer, and the programmer needs to create a program according to the received explanation. This process is also inefficient due to communication problems between developers and programmers and the skills of each other, which can take a lot of effort and time to complete a correct regression test program. It is. Therefore, there is a need for a support system that allows a developer who is familiar with the content of required functions for a new product to create a regression test program alone without the assistance of a specialized programmer.

また、上述のウィンドウ作成プログラムの自動テスト装置(特許文献1)においては、キーボード及びマウス入力信号と、ウィンドウに表示されたデータを記憶しておき、キーボード及びマウス入力信号を再生し、作成されたウィンドウに表示されるデータと、記憶しておいたウィンドウに表示されたデータを比較しテスト結果を出力する。つまり、イベントに応答して、表示内容が変更されるウィンドウの表示プログラムにすぎない。デグラデーションを検出するリグレッションテストプログラムの作成を支援するものではない。   In the automatic test apparatus (Patent Document 1) for the window creation program described above, the keyboard and mouse input signals and the data displayed in the window are stored, and the keyboard and mouse input signals are reproduced and created. The data displayed in the window is compared with the data displayed in the stored window, and the test result is output. That is, it is only a window display program whose display contents are changed in response to an event. It does not support the creation of regression test programs that detect degradation.

また、上述のプログラムのテスト装置(特許文献2)においては、デグレードバグの有無をツールで検出する。しかしながら、バージョンアップされたソフトウェアに対しても、バージョンアップ前と同一のテスト手順およびテスト小結果を自動的に利用するために、新機能が追加されたソフトウェアに対して使用できない。また、バージョンアップによる追加機能に対するパラメータやRAMアドレスを適切に設定する手段を有しておらず、デグラデーションを検出するリグレッションテストプログラムの作成を支援するものではない。   In the above-described program test apparatus (Patent Document 2), the presence or absence of a degradation bug is detected by a tool. However, even software that has been upgraded cannot be used for software that has been added with a new function because the same test procedure and test results as before the upgrade are automatically used. Further, it does not have means for appropriately setting parameters and RAM addresses for additional functions due to version upgrade, and does not support the creation of a regression test program for detecting degradation.

さらに、ソフトウェアの自動テスト方法(特許文献3)においては、前回のテストのトレース情報と、今回のテストのトレース情報を比較して、モジュールの動作異常についての情報をユーザに提示することによって、ユーザのデグラデーション箇所の予測を支援する。しかしながら、バージョンアップによる追加機能に対するパラメータやRAMアドレスを適切に設定する手段を有しておらず、デグラデーションを検出するリグレッションテストプログラムの作成を支援するものではない。   Furthermore, in the software automatic test method (Patent Document 3), the user can compare the previous test trace information with the current test trace information and present the user with information on abnormal operation of the module. Supports prediction of degradation points. However, it does not have means for appropriately setting parameters and RAM addresses for additional functions due to version upgrades, and does not support the creation of a regression test program for detecting degradation.

よって、本発明は、既に検証済みの機能についての項目を自動的に設定すると共に、新たな機能についての項目のみを開発者が個々に設定することにより、製品全体として開発時に必要とされるリグレッションテストプログラム作成に要する工数を低減できるソフトウェア自動検証システムを提供することを目的とする。   Therefore, the present invention automatically sets items for functions that have already been verified, and allows the developer to individually set only items for new functions. An object of the present invention is to provide an automatic software verification system that can reduce the man-hour required for creating a test program.

機能の一部がソフトウェアで実現される製品に使用するソフトウェアの開発に際して作成されるソフトウェアのリグレッションテスト方法の作成を支援するソフトウェア自動検証方法であって、製品のそれぞれの機能の状態を定義するステップと、定義された機能を製品の機能を制御するマイコンのメモリデータRAM名称と関連づけるステップと、 関連づけられた機能をメモリデータの絶対アドレスに変換するステップと、製品に対してリグレッションテストを実行するステップとリグレッションテスト後に得られたテスト結果を表す絶対アドレスのメモリデータを機能に逆変換するステップとを備える。   A software automatic verification method for supporting creation of a software regression test method created when developing software used for a product in which a part of the function is realized by software, and defining the state of each function of the product A step of associating the defined function with a memory data RAM name of a microcomputer that controls the function of the product, a step of converting the associated function into an absolute address of the memory data, and a step of executing a regression test on the product And inversely converting memory data at an absolute address representing a test result obtained after the regression test into a function.

本発明においては、製品の機種が変更され、仕様の変更に伴うソフトウェアの追加や変更、或いは性能向上のために実施されるソフトウェアの変更に応じて、対応するRAMアドレスおよび値が変わっても、ユーザに対しては同じ状態名が表示される。それゆえに、ユーザは高度なプログラム技量を有していなくても、リグレッションテスト方法を作成し、テストを実行し、テスト結果を評価して、さらに評価結果に基づいて、リグレッションテストを編集できる。従って、ある製品でリグレッションテスト方法を設定すると、以降の新機種のためのリグレッションテスト方法には従来機種のリグレッションテスト方法の大部分が流用できる。つまり、新機種のリグレッションテストは、従来機種のリグレッションテスト方法に新機種による仕様追加部分を追加することで対応できる。結果、リグレッションテストに要する時間、労力、及び費用を含めてコストを低減できる。   In the present invention, even if the corresponding RAM address and value change according to the change of the software, which is performed for the addition or change of the software accompanying the change of the specification, or the software implemented for performance improvement, when the model of the product is changed. The same state name is displayed to the user. Therefore, the user can create a regression test method, execute the test, evaluate the test result, and further edit the regression test based on the evaluation result, even if the user does not have a high degree of program skill. Therefore, when a regression test method is set for a certain product, most of the regression test methods of the conventional model can be used for the subsequent regression test methods for new models. In other words, the regression test of the new model can be supported by adding the specification addition part of the new model to the regression test method of the conventional model. As a result, the cost can be reduced including the time, labor, and cost required for the regression test.

(第1の実施形態)
以下に、図1、図2、図3、図4、図5、図6、図7、図8、図9、図10、図11、および図12を参照して、本発明の実施形態にかかるソフトウェア自動検証システムについて説明する。本実施形態においては、後述する状態遷移表のマニュアル作成を可能とする。
(First embodiment)
Hereinafter, embodiments of the present invention will be described with reference to FIGS. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, and 12. Such a software automatic verification system will be described. In the present embodiment, it is possible to manually create a state transition table described later.

図1に示すように、本実施形態にかかるソフトウェア自動検証システムSvs1は、検査項目設定器100Aと、検証対象器200に大別される。検証対象器200は、ソフトウェア自動検証システムSvs1で動作検証の対象である検証対象機器(図示せず)の機能を司る機能を有し、好ましくはマイクロコンピュータで構成される。   As shown in FIG. 1, the software automatic verification system Svs1 according to the present embodiment is roughly divided into an inspection item setting device 100A and a verification target device 200. The verification target device 200 has a function that controls the function of a verification target device (not shown) that is a target of operation verification in the software automatic verification system Svs1, and is preferably configured by a microcomputer.

検査項目設定器100Aは、検証対象器200の動作を検証させるための検証用コマンドを有する検証コマンド信号S31を生成して、検証対象器200に出力する。   The inspection item setting device 100A generates a verification command signal S31 having a verification command for verifying the operation of the verification target device 200, and outputs the verification command signal S31 to the verification target device 200.

検証対象器200は、検証コマンド信号S31に基づいて、自身の機能に関してリグレッションテストを実施して、各機能の状態を検出する。検証対象器200はさらに、検出された機能状態に対応する検証対象機能状態情報を表す検証対象機器状態情報信号S43を生成して、検査項目設定器100に出力する。   Based on the verification command signal S31, the verification target device 200 performs a regression test on its own function and detects the state of each function. The verification target device 200 further generates a verification target device state information signal S43 representing the verification target function state information corresponding to the detected functional state, and outputs it to the inspection item setting unit 100.

また、検証対象器200は、コマンド受信器201、制御器203、機器制御用メモリ205、およびデータ受信器211を含む。機器制御用メモリ205は、検証対象器200が検証対象機器の制御用に使用する書き換え可能メモリであって、キー対応メモリ書込器207および状態対応メモリ読出器209を含む。   The verification target device 200 includes a command receiver 201, a controller 203, a device control memory 205, and a data receiver 211. The device control memory 205 is a rewritable memory used by the verification target device 200 for controlling the verification target device, and includes a key correspondence memory writer 207 and a state correspondence memory reader 209.

コマンド受信器201は、検査項目設定器100Aから入力される検証コマンド信号S31から検証コマンドS33を抽出して、制御器203に出力する。なお、検証コマンドS33は、後述の制御器110Aから出力される検証用コマンド信号S111と電圧レベルは異なるが本質的に同一の情報を含む信号である。   The command receiver 201 extracts the verification command S33 from the verification command signal S31 input from the inspection item setting unit 100A and outputs it to the controller 203. The verification command S33 is a signal including essentially the same information although the voltage level is different from that of the verification command signal S111 output from the controller 110A described later.

制御器203は、検証コマンドS33に基づいて、メモリ書込指示信号S35とメモリ読み出し指示信号S31を生成して、それぞれを機器制御用メモリ205に出力する。機器制御用メモリ205では、キー対応メモリ書込器207はメモリ書込指示信号S35に基づいて機器制御用メモリ205の所定のアドレスにキーに対応する検査対象器の操作キー(例えば、CD PLAYキー等)を押したことに相当するデータの書き込みを行う。さらに、状態対応メモリ読出器209は、検証コマンド信号S31に基づいて、機器制御用メモリ205の所定のアドレスから、検証対象機器の状態を表す情報を読み出して、状態メモリデータ信号S38として制御器203に出力する。   The controller 203 generates a memory write instruction signal S35 and a memory read instruction signal S31 based on the verification command S33, and outputs them to the device control memory 205. In the device control memory 205, the key-corresponding memory writer 207 operates the operation key (for example, CD PLAY key) of the inspection target device corresponding to the key at a predetermined address of the device control memory 205 based on the memory write instruction signal S35. Etc.) is written. Further, the state correspondence memory reader 209 reads information indicating the state of the verification target device from a predetermined address in the device control memory 205 based on the verification command signal S31, and the controller 203 reads the information as a state memory data signal S38. Output to.

制御器203は、状態メモリデータ信号S38に基づいて、機能に対応するメモリのアドレス値及び同アドレスに格納されているデータを抽出して、状態メモリデータS41としてデータ受信器211に出力する。データ受信器211は、状態メモリデータS41を、検証対象器200と検査項目設定器100A間の伝送路に適した形式を有する状態メモリデータ送信信号S43を生成する。   Based on the state memory data signal S38, the controller 203 extracts the address value of the memory corresponding to the function and the data stored in the same address, and outputs it to the data receiver 211 as the state memory data S41. The data receiver 211 generates a state memory data transmission signal S43 having a format suitable for the transmission path between the verification target device 200 and the inspection item setting device 100A.

図2に示すように、検査項目設定器100Aは、表示器101、操作器103、操作順番設定器105、操作順番記憶器106、期待値記憶器107、比較器109、コマンド送信器111、データ受信器113、状態対応メモリ記憶器117、ターゲットの状態名称への変換器119、および状態名称変換テーブルマニュアル作成登録器120、および制御器110Aを含む。制御器110Aは、検査項目設定器100Aの構成要素のすべてに接続されて、種々の信号を相互に交換して、これらの構成要素および検査項目設定器100Aの動作を制御する。   As shown in FIG. 2, the inspection item setting device 100A includes a display device 101, an operation device 103, an operation order setting device 105, an operation order storage device 106, an expected value storage device 107, a comparator 109, a command transmitter 111, data It includes a receiver 113, a state correspondence memory storage 117, a target state name converter 119, a state name conversion table manual creation register 120, and a controller 110A. The controller 110A is connected to all the components of the inspection item setting device 100A and exchanges various signals with each other to control the operation of these components and the inspection item setting device 100A.

表示器101は、制御器110Aから供給される画像信号S101に基づいて、ユーザに対して種々の情報およびユーザが検査項目設定器100Aに対して指示できる選択肢を映像或いは音響で提示する。表示器101は、好ましくは、ディスプレイモニタとスピーカによって構成される。   Based on the image signal S101 supplied from the controller 110A, the display device 101 presents various information to the user and options that the user can instruct the inspection item setting device 100A in video or sound. The display device 101 is preferably composed of a display monitor and a speaker.

操作器103は、ユーザによる操作を受けると共に、その操作の内容を表す操作信号S103を生成する。操作信号S103は制御器110Aに入力される。なお、制御器110Aは、操作信号S103に基づいて、各構成要素における処理に必要な情報を含む種々な信号を生成して、それぞれに出力する。   The operation device 103 receives an operation by the user and generates an operation signal S103 indicating the content of the operation. The operation signal S103 is input to the controller 110A. Note that the controller 110A generates various signals including information necessary for processing in each component based on the operation signal S103, and outputs the signals.

操作順番設定器105は、制御器110Aから供給される操作順番要求信号S135に基づいて、ユーザが検査項目設定器100Aに対して所望する被検証機器の操作順番を表す操作情報信号S136を生成する。操作情報信号S136は、制御器110Aに入力される。   Based on the operation order request signal S135 supplied from the controller 110A, the operation order setting unit 105 generates an operation information signal S136 indicating the operation order of the device to be verified that the user desires for the inspection item setting unit 100A. . The operation information signal S136 is input to the controller 110A.

期待値記憶器107は、制御器110Aと操作/データ信号S107とを交換して、期待値情報I107を生成して比較器109に出力する。   The expected value storage unit 107 exchanges the controller 110A with the operation / data signal S107, generates expected value information I107, and outputs it to the comparator 109.

状態名称変換テーブルマニュアル作成登録器120は、制御器110Aから入力される変換テーブルのマニュアル作成用コマンド信号S120に基づいて、状態名称変換テーブル情報I120を生成して、状態対応メモリ記憶器117に出力する。   The state name conversion table manual creation / registration device 120 generates state name conversion table information I120 based on the conversion table manual creation command signal S120 input from the controller 110A, and outputs the state name conversion table information I120 to the state correspondence memory storage device 117. To do.

状態対応メモリ記憶器117は、制御器110Aから入力される状態名称変換テーブル選択信号S117と、状態名称変換テーブルマニュアル作成登録器120から入力される状態名称変換テーブル情報I120に基づいて、検証中のモードに対応する状態名称変換テーブル情報I117を生成して、ターゲットの状態名称への変換器119に出力する。検証中のモードに対応する状態名称変換テーブル情報I117は、磁気記録ディスクなどの外部の記録媒体を介して状態対応メモリ記憶器117に入出力しても良い。   The state correspondence memory storage 117 is under verification based on the state name conversion table selection signal S117 input from the controller 110A and the state name conversion table information I120 input from the state name conversion table manual creation register 120. State name conversion table information I117 corresponding to the mode is generated and output to the target state name converter 119. The state name conversion table information I117 corresponding to the mode being verified may be input / output to / from the state correspondence memory storage 117 via an external recording medium such as a magnetic recording disk.

ターゲットの状態名称への変換器119は、制御器110Aから入力される検証用データ信号S119と、状態対応メモリ記憶器117から入力される検証中のモードに対応する状態名称変換テーブル情報I117に基づいて、状態名称情報I119を生成して、実行結果記憶器115に出力する。   The target state name converter 119 is based on the verification data signal S119 input from the controller 110A and the state name conversion table information I117 corresponding to the mode under verification input from the state correspondence memory storage 117. The state name information I119 is generated and output to the execution result storage unit 115.

実行結果記憶器115は、制御器110Aから入力される実行結果入出力信号S115と、ターゲットの状態名称への変換器119から入力される状態名称情報I119に基づいて、実行結果情報I115を生成して、比較器109に出力する。   The execution result storage unit 115 generates execution result information I115 based on the execution result input / output signal S115 input from the controller 110A and the state name information I119 input from the converter 119 to the target state name. And output to the comparator 109.

比較器109は、期待値記憶器107から入力される期待値情報I107と実行結果記憶器115から入力される実行結果情報I115を比較して、比較結果に対応する比較結果出力信号S109を生成して、制御器110Aに出力する。   The comparator 109 compares the expected value information I107 input from the expected value storage 107 with the execution result information I115 input from the execution result storage 115, and generates a comparison result output signal S109 corresponding to the comparison result. Output to the controller 110A.

データ受信器113は、検証対象器200から入力される検証対象機器状態情報信号S43に基づいて、検証用データを表す検証用データ信号S113を生成して、制御器110Aに出力する。   The data receiver 113 generates a verification data signal S113 representing verification data based on the verification target device state information signal S43 input from the verification target device 200, and outputs the verification data signal S113 to the controller 110A.

コマンド送信器111は、制御器110Aから入力される検証用コマンド信号S111に基づいて、検証コマンド信号S31を生成して、検証対象器200に出力する。   The command transmitter 111 generates a verification command signal S31 based on the verification command signal S111 input from the controller 110A and outputs the verification command signal S31 to the verification target device 200.

図3〜図12を参照して、検査対象器の動作出力を含むソフトウェア自動検証システムSvsの動作について説明する。   The operation of the software automatic verification system Svs including the operation output of the inspection target device will be described with reference to FIGS.

先ず、図3に示すメインフローチャートを参照して、ソフトウェア自動検証システムSvsの主な動作について説明する。ソフトウェア自動検証システムSvsの動作は、ステップ#100の「状態名定義」サブルーチン、ステップ#150の「操作順番設定」サブルーチン、ステップ#170の「実行用データ生成」サブルーチン、ステップ#200の「状態対応メモリデータ生成」サブルーチン、ステップ#250の「実行用データ編集」サブルーチン、およびステップ#270の「実行および結果表示」サブルーチンを実行することで実現される。   First, the main operation of the software automatic verification system Svs will be described with reference to the main flowchart shown in FIG. The operation of the automatic software verification system Svs is as follows: “State name definition” subroutine at step # 100, “Operation order setting” subroutine at step # 150, “Execution data generation” subroutine at step # 170, “State correspondence” This is realized by executing the “memory data generation” subroutine, the “execution data editing” subroutine in step # 250, and the “execution and result display” subroutine in step # 270.

ステップ#100の「状態名定義」サブルーチンにおいて、検証すべき機能の状態名称が定義される。   In the “state name definition” subroutine at step # 100, the state name of the function to be verified is defined.

ステップ#150の「操作順番設定」サブルーチンにおいて、検証順番が設定される。   In the “operation order setting” subroutine in step # 150, the verification order is set.

ステップ#170の「実行用データ生成」サブルーチンにおいて、検証を実行するために用いるデータが生成される。   In the “execution data generation” subroutine of step # 170, data used for executing verification is generated.

ステップ#200の「状態対応メモリデータ生成」サブルーチンにおいて、検証される機能の状態のそれぞれに対応して状態対応メモリ記憶器(図示せず)に記録されるべきデータが生成される。   In the “state-corresponding memory data generation” subroutine of step # 200, data to be recorded in a state-corresponding memory storage (not shown) is generated corresponding to each state of the function to be verified.

ステップ#250の「実行用データ編集」サブルーチンにおいて、ステップ#170の「実行用データ生成」サブルーチンにおいて生成された実行用データが、必要に応じて、編集される。   In the “execution data editing” subroutine of step # 250, the execution data generated in the “execution data generation” subroutine of step # 170 is edited as necessary.

ステップ#270の「実行および結果表示」サブルーチンにおいて、検証が実行されると共に検証結果がユーザに表示される。   In the “execution and result display” subroutine of step # 270, the verification is executed and the verification result is displayed to the user.

図4に示すように、#100の状態名定義のサブルーチンにおいては、先ず、ステップS102において、制御器110Aはユーザが状態名を定義するために選択し得る処理の一覧を描画する画像信号S101を生成する。そして、同画像信号S101に基づいて、表示器101は、「状態名定義メニュー」を表示してユーザの選択入力が促される。状態名定義メニューには、「状態データ登録」、「状態名指定」、「状態データRAMアドレス指定」、「状態データの具体値指定」、および「登録完」が含まれる。なお、このメニューは本サブルーチンの実行中は、常に表示器101に表示されて、ユーザは自由に選択入力できる。ユーザが操作器103を操作して、「状態名定義メニュー」に対して選択入力するに十分な所定時間の経過後に、制御は次のステップS104に進む。   As shown in FIG. 4, in the state name definition subroutine of # 100, first, in step S102, the controller 110A generates an image signal S101 for rendering a list of processes that the user can select to define the state name. Generate. Then, based on the image signal S101, the display device 101 displays a “state name definition menu” to prompt the user to input a selection. The state name definition menu includes “state data registration”, “state name designation”, “state data RAM address designation”, “specific value designation of state data”, and “registration complete”. This menu is always displayed on the display unit 101 during execution of this subroutine, and the user can freely select and input it. After the elapse of a predetermined time sufficient for the user to operate the operation device 103 to select and input the “state name definition menu”, the control proceeds to the next step S104.

ステップS104において、制御器110Aが操作信号S103に基づいて、ユーザが「状態データ登録」を選択したか否かを判断する。「状態データ登録」が選択されていない場合はNoと判断されて、制御は上述ステップS102に戻り、ステップS102およびステップS104の処理が繰り返される。「状態データ登録」が選択されている場合にはYesと判断されて、制御は次のステップS106に進む。   In step S104, controller 110A determines whether or not the user has selected “status data registration” based on operation signal S103. If “status data registration” is not selected, it is determined No, control returns to step S102 described above, and the processes of steps S102 and S104 are repeated. If "Register status data" is selected, the determination is Yes and control proceeds to the next step S106.

ステップS106において、ユーザが操作器103を利用して「状態名指定」メニューに対して行う、検証すべき状態に対応する状態データDSとして登録すべき状態名の指定が受け付けられる。そして、制御は次のステップS108に進む。   In step S106, designation of a state name to be registered as state data DS corresponding to a state to be verified, which is performed on the “state name designation” menu by the user using the operation device 103, is accepted. Then, the control proceeds to the next Step S108.

ステップS108において、ユーザが操作器103を利用して「状態データRAM名称指定」メニューに対して行う、ステップS106において受け付けられた状態名に対応する、機器制御用メモリ205内にある状態データRAM名称の指定が受け付けられる。そして、制御は次のステップS110に進む。   In step S108, the name of the state data RAM in the device control memory 205 corresponding to the state name accepted in step S106, which is performed on the “state data RAM name designation” menu by the user using the operating device 103. Is accepted. Then, the control proceeds to the next Step S110.

ステップS110において、ユーザが操作器103を利用して「状態データの具体値指定」メニューに対して行う、ステップS108で指定された状態データRAM名称に対応するアドレスに格納すべき値の指定が受け付けられる。図8に状態データDSの一例を示す。同図に示すように、状態対応メモリ記憶器に格納されている状態データDSは、一種のテーブルとして表現される。状態データDSは、それぞれ異なる状態を示す複数の状態名NSと、各状態を表す状態値VSを含む。なお、状態値VSは参照メモリに2進数値として格納されている。   In step S110, specification of a value to be stored at an address corresponding to the name of the state data RAM specified in step S108, which is performed on the “specify specific value of state data” menu by the user using the operation device 103, is accepted. It is done. FIG. 8 shows an example of the status data DS. As shown in the figure, the state data DS stored in the state correspondence memory storage is expressed as a kind of table. The state data DS includes a plurality of state names NS indicating different states and a state value VS indicating each state. The state value VS is stored as a binary value in the reference memory.

具体的には、本例においては、状態名NSとして、「電源OFF」、「電源ON(STOP)」、「PLAY」、および「PAUSE」と、それぞれに対する状態値VSとして「00000000」、「10000000」、「10001000」、および「10001100」が組になって状態データDSが構成されている。   Specifically, in this example, the state name NS is “power OFF”, “power ON (STOP)”, “PLAY”, and “PAUSE”, and “00000000” and “10000000” are the state values VS for each. ”,“ 10001000 ”, and“ 100001100 ”constitute a state data DS.

つまり、ステップS110においては、上述の5種類の状態名NSの少なくとも1つに対して状態値VSが具体的に指定される。そして、制御は次のステップS112に進む。   That is, in step S110, the state value VS is specifically designated for at least one of the above-described five kinds of state names NS. Then, the control proceeds to the next Step S112.

ステップS112において、制御器110Aは操作信号S103に基づいて、ユーザが状態データDSの登録が完了を意味する「登録完」メニューを選択しているか否かを判断する。選択されていない場合は、Noと判断されて、処理は上述のステップS102に戻り、ステップS102乃至ステップS110の処理を繰り返したのち、本ステップS112でYesと判断された時点で、本サブルーチンの処理を終了する。上述のように、本サブルーチンにおいて、リグレッションテストをする機能のそれぞれの状態が定義された後に、制御はステップ#150の「操作順番設定」サブルーチンに進む。   In step S112, controller 110A determines based on operation signal S103 whether the user has selected a “registration complete” menu meaning that registration of status data DS is complete. If it is not selected, it is determined No, the process returns to step S102 described above, and after repeating the processes of steps S102 to S110, the process of this subroutine is performed when it is determined Yes in step S112. Exit. As described above, in this subroutine, after each state of the function for performing the regression test is defined, the control proceeds to the “operation order setting” subroutine of step # 150.

ステップ#150の「操作順番設定」サブルーチンにおいては、先ず、ステップS2において、制御器110Aは、ユーザが操作順番の設定のために選択し得る処理の一覧を描画する画像信号S101を生成する。そして、同画像信号S101に基づいて、表示器101は、「操作記憶メニュー」を表示してユーザの選択入力を促す。図9に、操作記憶メニューの表示例を示す。操作記憶メニューISには、「POWER」、「PLAY」、「PAUSE」、および「STOP」の4種類のキーアイコンで表される選択項目と、「記憶開始」、「記憶終了」、「ファイル保存」および「実行画面」の選択項目が含まれる。なお、このメニューは本サブルーチンの実行中は、常に表示器101に表示されて、ユーザは自由に選択入力できる。ユーザが操作器103を操作して、操作記憶メニューISに対して選択入力するに十分な所定時間の経過後に、制御は次のステップS4に進む。   In the “operation order setting” subroutine of step # 150, first, in step S2, the controller 110A generates an image signal S101 for drawing a list of processes that the user can select for setting the operation order. Then, based on the image signal S101, the display device 101 displays an “operation storage menu” to prompt the user to make a selection input. FIG. 9 shows a display example of the operation storage menu. The operation memory menu IS includes selection items represented by four types of key icons of “POWER”, “PLAY”, “PAUSE”, and “STOP”, “memory start”, “memory end”, “file save” "And" Execution screen "selection items are included. This menu is always displayed on the display unit 101 during execution of this subroutine, and the user can freely select and input it. After the elapse of a predetermined time sufficient for the user to operate the operation unit 103 and select and input the operation storage menu IS, the control proceeds to the next step S4.

ステップS4において、制御器110Aは操作信号S103に基づいて、「記憶開始」が選択されているか否かを判断する。選択されている場合にのみ、制御は次のステップS6に進む。   In step S4, controller 110A determines whether or not “start storage” is selected based on operation signal S103. Only when it is selected, the control proceeds to the next step S6.

ステップS6において、操作順番設定器105は、制御器110Aを介して入力される操作信号S103に基づいて、操作記憶メニューISの4種類のキーアイコンのいずれかが選択されたか否かを判断する。Noと判断される場合には、本ステップによる処理が繰り返される。そして、Yesと判断される場合にのみ、制御は次のステップS8に進む。   In step S6, the operation order setting unit 105 determines whether any of the four types of key icons in the operation storage menu IS is selected based on the operation signal S103 input via the controller 110A. When it is determined No, the process according to this step is repeated. Only when the determination is Yes, control proceeds to the next step S8.

ステップS8において、操作順番設定器105は操作信号S103(S107)に基づいて、ステップS6において選択されたと判断されたキーアイコンの種類、および選択されたタイミングを表す操作情報IO(図示せず)である操作情報S106を生成して記憶する。そして、制御は次のステップS10に進む。   In step S8, the operation order setting unit 105 uses the operation information IO (not shown) indicating the type of the key icon determined to be selected in step S6 and the selected timing based on the operation signal S103 (S107). Some operation information S106 is generated and stored. Then, control proceeds to the next step S10.

ステップS10において、操作順番設定器105は操作情報IOに基づいて、「記憶終了」が選択されたか否かを判断する。Noの場合、制御は上述のステップS6に戻る。そして、ステップS8を経て、再度ステップS10において、「記憶終了」の選択の有無が判断される。このようにして、操作情報IOには、ユーザが選択した対象および選択したタイミングに選択した順番が追加される。なお、記憶された操作情報IOは、後に、制御器110Aから入力される操作順番要求信号S135に応答して、操作情報信号S136として制御器110Aに返される。そして、本サブルーチンの処理を終了制御は次のステップ#170の「実行用データ生成」サブルーチンに進む。つまり、本サブルーチンにおいて、リグレッションテストを実行する順番が決定された後に、ステップ#170の「実行用データ生成」が開始される。   In step S <b> 10, the operation order setting unit 105 determines whether or not “end of storage” has been selected based on the operation information IO. In No, control returns to above-mentioned step S6. Then, after step S8, in step S10 again, it is determined whether or not “end of storage” has been selected. In this way, the operation information IO is added with the target selected by the user and the order selected at the selected timing. The stored operation information IO is later returned to the controller 110A as an operation information signal S136 in response to an operation order request signal S135 input from the controller 110A. Then, the process of this subroutine is finished. The control proceeds to the “execution data generation” subroutine in the next step # 170. That is, in this subroutine, after the order of executing the regression test is determined, “execution data generation” in step # 170 is started.

ステップ#170の「実行用データ生成」サブルーチンにおいては、先ず、ステップS12において、制御器110Aは操作信号S103に基づいて、「ファイル保存」が選択されているか否かを判断する。Yesと判断されるまでは、本ステップにおける判断が繰り返される。本ステップにおいて、Yesと判断された時点で、制御は次のステップS14に進む。   In the “execution data generation” subroutine of step # 170, first, in step S12, the controller 110A determines whether or not “save file” is selected based on the operation signal S103. The determination in this step is repeated until it is determined Yes. When it is determined Yes in this step, the control proceeds to the next step S14.

ステップS14において、制御器110Aは操作順番要求信号S135を出力して、操作順番設定器105から上述のステップS10(#150)で生成された操作情報IOを、操作情報信号S136として読み出す。そして、操作情報信号S136に含まれる操作情報IOを所定のファイル名を有するファイルとして操作順番記憶器106に保存させる。そして、制御は次のステップS16に進む。   In step S14, the controller 110A outputs an operation order request signal S135, and reads the operation information IO generated in step S10 (# 150) from the operation order setting unit 105 as the operation information signal S136. Then, the operation information IO included in the operation information signal S136 is stored in the operation order storage unit 106 as a file having a predetermined file name. Then, the control proceeds to the next Step S16.

ステップS16において、制御器110Aは操作信号S103に基づいて、「実行画面」が選択されているか否かを判断する。Yesの場合に、制御は次のステップS18に進む。   In step S16, the controller 110A determines whether or not the “execution screen” is selected based on the operation signal S103. In the case of Yes, the control proceeds to the next step S18.

ステップS18において、制御器110Aは、ユーザが実行用データの生成のために選択し得る処理の一覧を描画する画像信号S101を生成する。そして、同画像信号S101に基づいて、表示器101は、「実行メニュー」を表示してユーザの選択入力を促す。図10に、「実行メニュー」の表示例を示す。実行メニューIEは、「実行ファイル設定」、「期待値ファイル指定」、および「実行」の選択項目を含む。なお、このメニューは本サブルーチンの実行中は、常に表示器101に表示されて、ユーザは自由に選択入力できる。ユーザが操作器103を操作して、実行メニューIEに対して選択入力するに十分な所定時間の経過後に、制御は次のステップS20に進む。   In step S <b> 18, the controller 110 </ b> A generates an image signal S <b> 101 that renders a list of processes that the user can select for generating execution data. Based on the image signal S101, the display device 101 displays an “execution menu” to prompt the user to make a selection input. FIG. 10 shows a display example of the “execution menu”. The execution menu IE includes selection items of “execution file setting”, “expected value file designation”, and “execution”. This menu is always displayed on the display unit 101 during execution of this subroutine, and the user can freely select and input it. After the elapse of a predetermined time sufficient for the user to operate the operation device 103 and select and input the execution menu IE, the control proceeds to the next step S20.

ステップS20において、制御器110Aは操作信号S103に基づいて、「実行ファイル指定」が選択されている否かを判断する。選択されている場合にYesと判断されて、制御は次のステップS22に進む。   In step S20, controller 110A determines whether or not “execute file designation” is selected based on operation signal S103. If it is selected, the determination is Yes, and the control proceeds to the next step S22.

ステップS22において、ステップS20で指定された実行ファイルが操作順番記憶器106から制御器110Aに読み出されて、実行用データDEが生成される。そして、制御は次のステップS24に進む。   In step S22, the execution file designated in step S20 is read from the operation order storage unit 106 to the controller 110A, and execution data DE is generated. Then, the control proceeds to the next Step S24.

ステップS24において、制御器110Aは操作信号S103に基づいて、「実行」が選択されているか否かを判断する。「実行」の選択がされている場合はYesと判断されて、制御はステップ#200の「状態対応メモリデータ生成」サブルーチンに進む。上述のように、ステップ#150において決定された順番通りにリグレッションテストを実行させる実行ファイルが完成された後に、リグレッションテストを実行して、その結果である状態対応メモリデータを生成するサブルーチン#200が開始される。   In step S24, controller 110A determines whether or not “execute” is selected based on operation signal S103. If “execute” is selected, the determination is Yes, and the control proceeds to the “state-corresponding memory data generation” subroutine of step # 200. As described above, after the execution file for executing the regression tests in the order determined in step # 150 is completed, the subroutine # 200 that executes the regression test and generates the state-corresponding memory data as a result thereof is provided. Be started.

ステップ#200の「状態対応メモリデータ生成」サブルーチンにおいては、先ず、ステップS202において、制御器110Aはコマンド送信器111を介して検証コマンド信号S31を送信する。つまり、キーに対応するマイコンRAM用メモリデータ(S111)がターゲットマイコンに指定されたタイミングで検証対象器200に対して、検証コマンド信号S31として出力される。つまり、マイコンRAMのどのアドレスのどのビットをどの様に変化させるのかをターゲットマイコンに指示する。   In the “state-corresponding memory data generation” subroutine of step # 200, first, in step S202, the controller 110A transmits a verification command signal S31 via the command transmitter 111. That is, the microcomputer RAM memory data (S111) corresponding to the key is output as the verification command signal S31 to the verification target device 200 at the timing designated by the target microcomputer. That is, it instructs the target microcomputer which bit of which address of the microcomputer RAM is to be changed.

具体的には、先ず、操作順番記憶器106からマイコンRAMメモリのフラグ名称で指定された内容が読み出される。そして、 マイコンソフトのコンパイル作業によって作成されるOUTファイル等と呼ばれる、名称から絶対アドレスへのアドレス変換テーブルを介して、当該読み出された内容に対応する値をマイコンRAM用メモリの絶対アドレスに実装する操作が実行される。これにより、例えば、「PLAYキーONフラグ」はマイコンRAMの絶対アドレス「052A(16進)のbit2」と変換され、当該ビットを「1」に設定するという処理が実行される。そして、制御は次のステップS204に進む。そして、制御は次のステップS204に進む。   Specifically, first, the contents designated by the flag name of the microcomputer RAM memory are read from the operation order storage unit 106. Then, the value corresponding to the read content is mounted on the absolute address of the microcomputer RAM memory via the name conversion table, which is called an OUT file created by compiling the microcomputer software. Is performed. Thereby, for example, the “PLAY key ON flag” is converted into the absolute address “052A (hexadecimal) bit2” of the microcomputer RAM, and the process of setting the bit to “1” is executed. Then, the control proceeds to the next Step S204. Then, the control proceeds to the next Step S204.

ステップS204において、制御器110Aは、状態対応メモリ記憶器117に対して、マイコンRAM内状態対応メモリデータを読み出すコマンド(図示せず)を送り、マイコンRAM内状態対応メモリデータ、例えば図8に示した参照メモリ(X‘0001)の内容を受信して検査項目設定器100Aの状態対応メモリ記憶器117に記憶する。そして、制御は次のステップS206に進む。なお、参照メモリ(X‘0001)に関しても、「PLAYキーONフラグ」と同様に絶対アドレスへの変換テーブルが使用される。   In step S204, the controller 110A sends a command (not shown) for reading the state RAM memory data in the microcomputer RAM to the state memory memory 117, and the memory data in the microcomputer RAM, for example, shown in FIG. The contents of the reference memory (X′0001) are received and stored in the state correspondence memory storage 117 of the inspection item setting device 100A. Then, the control proceeds to the next Step S206. As for the reference memory (X′0001), the conversion table to the absolute address is used as in the “PLAY key ON flag”.

ステップS206において、ステップS204において記憶された状態対応メモリデータD117がターゲットの状態名称への変換器119によってターゲットの状態名称D119に変換される。例えば、参照メモリ(X‘0001)の内容が「00000000」なら「電源OFF」と変換される。そして、制御は次のステップS208に進む。   In step S206, the state correspondence memory data D117 stored in step S204 is converted into the target state name D119 by the target state name converter 119. For example, if the content of the reference memory (X′0001) is “00000000”, it is converted to “power OFF”. Then, the control proceeds to the next Step S208.

ステップS208において、制御器110Aは操作記憶データの実行が終了しているか否かを判断する。終了していないと判断される場合、制御は上述のステップS202に戻り、ステップS204及びステップS206の処理を経て、本ステップでYesと判断(実行終了)された時点で、本サブルーチンを終了する。本サブルーチンにおいて、上述のサブルーチンで決定された内容と順番でリグレッションテストが実行された後に、ステップ#250の「実行用データ編集」サブルーチンに進む。   In step S208, the controller 110A determines whether or not the operation storage data has been executed. When it is determined that the process has not been completed, the control returns to step S202 described above, and after the processes of steps S204 and S206, the process is terminated when the result of this step is Yes (execution is completed). In this subroutine, after the regression test is executed in the order and content determined in the above subroutine, the process proceeds to the “execution data editing” subroutine in step # 250.

ステップ#250の「実行用データ編集」サブルーチンにおいては、先ず、ステップS26において、制御器110Aは、ステップS206で得られた状態名称D119とキー名を表す画像信号S101を生成して、表示器101に出力する。同画像信号S101に基づいて、表示器101はキー名と得られたターゲットの状態名称D119を表す「編集メニュー」を表示して、ユーザの選択入力を促す。図11に編集メニューの一例を示す。編集メニューIMは、選択されたキーと得られた状態を対照して表す取得状態表示テーブルTと、「編集」、「期待値として登録」、および「実行画面」の選択項目を含む。そして、制御は次のステップS28に進む。   In the “execution data editing” subroutine of step # 250, first, in step S26, the controller 110A generates the state name D119 obtained in step S206 and the image signal S101 representing the key name, and the display 101 Output to. Based on the image signal S101, the display unit 101 displays an “edit menu” representing the key name and the obtained target state name D119, and prompts the user to make a selection input. FIG. 11 shows an example of the edit menu. The edit menu IM includes an acquisition state display table T that represents the selected key and the obtained state, and selection items of “edit”, “register as expected value”, and “execution screen”. Then, the control proceeds to the next Step S28.

ステップS28において、操作信号S103に基づいて、制御器110Aは「編集」が選択されたか否かを判断する。「編集」キーの選択が検出された場合にはYesと判断されて、制御はステップS29に進む。   In step S28, based on the operation signal S103, the controller 110A determines whether or not “edit” has been selected. If selection of the “edit” key is detected, “Yes” is determined, and control proceeds to step S29.

ステップS29において、取得状態表示テーブルTに表示されている「得られた状態」の内容に対する、ユーザの編集作業が受け付けられる。編集は、ユーザが操作器103を操作することによって行われる。制御は上述のステップS28に戻る。   In step S <b> 29, the user's editing work on the content of “obtained state” displayed in the acquisition state display table T is accepted. Editing is performed by the user operating the operation device 103. Control returns to step S28 described above.

一方、ステップS28において、「編集」が選択されていない場合にはNoと判断されて、制御はステップS30に進む。   On the other hand, if “edit” is not selected in step S28, it is determined No and control proceeds to step S30.

ステップS30において、制御器110Aは操作信号S103に基づいて、「期待値として登録」が選択されているか否かを判断する。選択されていない場合はNoと判断されて、制御は上述のステップS28に戻り、ステップS29或いはステップS30における処理を繰り返す。そして、「期待値として登録」が選択されている場合にのみYesと判断されて、制御は次のステップS32に進む。   In step S30, controller 110A determines whether or not “register as expected value” is selected based on operation signal S103. If it is not selected, it is determined as No, and the control returns to step S28 described above, and the process in step S29 or step S30 is repeated. Then, only when “Register as expected value” is selected, the determination is Yes, and the control proceeds to the next step S32.

ステップS32において、編集後の「得られた状態」がファイル名をつけて保存される。そして、制御は次のステップS34に進む。   In step S32, the “obtained state” after editing is saved with a file name. Then, the control proceeds to the next Step S34.

ステップS34において、操作信号S103に基づいて、制御器110Aは「実行画面」が選択されているか否かを判断する。「実行画面」キーの選択が検出される場合にのみ制御は次のステップS36に進む。   In step S34, based on the operation signal S103, the controller 110A determines whether or not the “execution screen” is selected. Only when selection of the “execution screen” key is detected, control proceeds to the next step S36.

ステップS36において、制御器110Aは、図10に例示した実行メニューIEを描画する画像信号S101を再度生成して、表示器101に出力する。表示器101は、実行メニューIEを表示して、ユーザの選択操作を促す。ユーザの選択入力動作に必要とされるに十分な所定時間の経過後に、制御は次のステップS38に進む。   In step S <b> 36, the controller 110 </ b> A generates again the image signal S <b> 101 for rendering the execution menu IE illustrated in FIG. 10 and outputs the image signal S <b> 101 to the display device 101. The display device 101 displays an execution menu IE and prompts the user to perform a selection operation. After the elapse of a predetermined time sufficient for the user's selection input operation, the control proceeds to the next step S38.

ステップS38において、制御器110Aは操作信号S103に基づいて、「実行ファイル指定」キーが選択されたか否かを判断する。「実行ファイル指定」キーの選択が検出される場合にのみYesと判断されて、制御は次のステップS40に進む。   In step S38, the controller 110A determines whether or not the “execute file designation” key is selected based on the operation signal S103. Only when the selection of the “execute file designation” key is detected, the determination is Yes, and the control proceeds to the next step S40.

ステップS40においては、上述のステップS22と同様に、実行ファイルが読み出されて、実行用データDEが生成される。そして、本サブルーチンにおける処理が終了して、制御は次のステップ#270の「実行および結果表示」サブルーチンに進む。   In step S40, as in step S22 described above, the execution file is read and the execution data DE is generated. Then, the processing in this subroutine is completed, and the control proceeds to the “execution and result display” subroutine in the next step # 270.

ステップ#270の「実行および結果表示」サブルーチンにおいては、先ず、ステップS42において、上述のステップS24と同様に、制御器110Aは操作信号S103に基づいて、実行キーが選択されたか否かを判断する。実行キーの選択が検出されない場合、制御はステップS44に進む。   In the “execution and result display” subroutine of step # 270, first, in step S42, similarly to step S24 described above, controller 110A determines whether or not the execution key has been selected based on operation signal S103. . If selection of the execution key is not detected, control proceeds to step S44.

ステップS44において、「期待値ファイル指定」が選択されているか否かが判断される。Noの場合は、制御は上述のステップS42に戻る。一方、Yesと判断される場合は、制御はステップS46に進む。   In step S44, it is determined whether or not “expected value file designation” is selected. In No, control returns to above-mentioned step S42. On the other hand, if the determination is Yes, control proceeds to step S46.

ステップS46において、期待値記憶器107によって、指定ファイルが読み出されて、期待値とされる。そして、制御は上述のステップS42に進む。   In step S46, the specified value file is read by the expected value storage unit 107 and set as an expected value. Then, the control proceeds to step S42 described above.

一方、ステップS42において、実行キーの選択が検出された時点でYesと判断されて、制御はステップ#200の「状態対応メモリデータ生成」サブルーチンに進む。なお、#200のサブルーチンにおいて、上述の処理を経た後に、制御は次のステップS48に進む。   On the other hand, when the selection of the execution key is detected in step S42, the determination is Yes, and the control proceeds to the “state corresponding memory data generation” subroutine of step # 200. In the # 200 subroutine, after the above-described processing, the control proceeds to the next step S48.

ステップS48において、制御器110Aによって、期待値ファイルの指定があるか否かが判断される。期待値ファイルの指定がない場合はNoと判断されて、制御は上述のステップS26に戻る。そして、上述のステップS26〜ステップ#200における処理を繰り返す。そして、本ステップにおいて、Yesと判断された時点で、制御は次のステップS50に進む。   In step S48, controller 110A determines whether or not an expected value file is specified. If the expected value file is not specified, it is determined No and control returns to step S26 described above. Then, the processes in steps S26 to # 200 described above are repeated. Then, when it is determined Yes in this step, the control proceeds to the next step S50.

ステップS50において、比較器109は、ターゲット用キー毎に得られる状態と、得られた状態名称(実行結果記憶器115から出力された情報ID115)と、期待値ファイル内状態名称(期待値記憶器107から出力された情報ID107)とを比較する。比較結果を表す比較結果信号S109を生成して、110Aに出力する。そして、制御は次のステップS52に進む。   In step S50, the comparator 109 obtains the state obtained for each target key, the obtained state name (information ID 115 output from the execution result storage unit 115), and the expected value file state name (expected value storage unit). The information ID 107) output from 107 is compared. A comparison result signal S109 representing the comparison result is generated and output to 110A. Then, the control proceeds to the next Step S52.

ステップS52において、制御器110Aは、比較結果信号S109に基づいて、比較結果を描画する画像信号S101を生成して表示器101に出力する。図12に、表示器101で表示される比較結果画面IRCを例示する。比較結果画面IRCは、「選択されたキー」のそれぞれに対応する「得られた状態」、「期待値」、および「比較結果」とがマトリックス状に展開される。図12に示す例においては、「PLAY」、「PAUSE」、「PLAY」、「STOP」、および「POWER」が選択されており、それぞれの「得られた状態」、「期待値」、および「比較結果」が表示されている。同例においては、上から3番目の「PLAY」の比較結果が「NG」であることが陰影と共に表示されている。   In step S52, the controller 110A generates an image signal S101 for rendering the comparison result based on the comparison result signal S109 and outputs the image signal S101 to the display device 101. FIG. 12 illustrates a comparison result screen IRC displayed on the display device 101. In the comparison result screen IRC, “obtained state”, “expected value”, and “comparison result” corresponding to each of the “selected keys” are developed in a matrix. In the example illustrated in FIG. 12, “PLAY”, “PAUSE”, “PLAY”, “STOP”, and “POWER” are selected, and the “obtained state”, “expected value”, and “ “Comparison result” is displayed. In the same example, the fact that the comparison result of the third “PLAY” from the top is “NG” is displayed together with a shadow.

図8に、上述のステップS110において表示される状態データDSの一例を示す。   FIG. 8 shows an example of the state data DS displayed in step S110 described above.

図9に、上述のステップS2において表示される操作記憶メニューISの一例を示す。   FIG. 9 shows an example of the operation storage menu IS displayed in the above-described step S2.

図10に、上述のステップS18において表示される実行メニューIEの一例を示す。   FIG. 10 shows an example of the execution menu IE displayed in step S18 described above.

図11に、上述のステップS26において表示される編集メニューIMの一例を示す。   FIG. 11 shows an example of the edit menu IM displayed in step S26 described above.

図12に、上述のステップS52において表示されるIRCの一例を示す。   FIG. 12 shows an example of the IRC displayed in step S52 described above.

上述のように、本実施形態においては、製品の機能状態がソフト上のRAM名称と同様に、ユーザが認識し易い名前を用いてリグレッションプログラムのマイコン用のメモリデータと関連づけて定義される。なお、定義された名前は当該メモリデータが格納されている絶対アドレスに変換される。このように、機能とRAMのメモリデータを関連づけて製品の状態として、ハードウェアとユーザ間のインターフェースとして機能させる。結果、製品の機種が変更あるいはソフトウェアの変更に応じて、対応するRAMアドレスおよび値が変わっても、ユーザに対しては同じ状態名が表示される。   As described above, in this embodiment, the function state of the product is defined in association with the memory data for the microcomputer of the regression program using a name that is easy for the user to recognize, like the RAM name on the software. The defined name is converted into an absolute address where the memory data is stored. In this way, the function and the memory data in the RAM are associated with each other, and the product is made to function as an interface between the hardware and the user. As a result, the same state name is displayed to the user even if the corresponding RAM address and value change according to the change in the product model or the software.

さらに、リグレッションテスト後のRAMのメモリデータの値を製品の状態として、提示することによって、ユーザは、高度なプログラム技量を必要とせずに、リグレッションテスト結果を評価できる。さらに、この評価を元に、新たな機能に対するリグレッションテスト項目を状態名として追加設定できる。   Further, by presenting the value of the RAM memory data after the regression test as the state of the product, the user can evaluate the regression test result without requiring a high degree of programming skill. Furthermore, based on this evaluation, a regression test item for a new function can be additionally set as a state name.

なお、本発明において、マイコン用のRAM名称からRAMアドレスへの変換は公知の技術を利用できる。しかしながら、リグレッションテスト後のRAM値から状態への変換は、本発明において、独自に提案された手法で実現できる。なぜならば、テスト後の製品の状態を観るには、複数のマイコン用RAMの内容を参照する必要がある。例えば、本実施形態においては、説明の簡便化のために、PLAY状態でも、STOP状態でも、一つのRAMエリアで見ているが、実際には、複数のメモリの内容を組み合わせて見ることが一般的に必要である。   In the present invention, a known technique can be used for conversion from a RAM name for a microcomputer to a RAM address. However, the conversion from the RAM value to the state after the regression test can be realized by a method uniquely proposed in the present invention. This is because it is necessary to refer to the contents of a plurality of microcomputer RAMs in order to see the state of the product after the test. For example, in this embodiment, for simplification of explanation, the PLAY state and the STOP state are viewed in one RAM area, but in practice, it is generally viewed by combining the contents of a plurality of memories. Is necessary.

(第2の実施形態)
以下に、本発明の第2の実施形態にかかるソフトウェア自動検証システムについて説明する。本実施形態においては、後述するように遷移表の自動作成を可能とする。本実施形態にかかる自動検証システムSvs2は、図1に示した第1の実施形態にかかるソフトウェア自動検証システムSvs1において、検査項目設定器100Aが検査項目設定器100Bに置き換えられている。それ以外は、ソフトウェア自動検証システムSvs1と同様に構成されると共に動作する。よって、ソフトウェア自動検証システムSvs2に固有の特徴についてのみ重点的に説明する。
(Second Embodiment)
The automatic software verification system according to the second embodiment of the present invention will be described below. In the present embodiment, a transition table can be automatically created as will be described later. In the automatic verification system Svs2 according to the present embodiment, the inspection item setting unit 100A is replaced with an inspection item setting unit 100B in the software automatic verification system Svs1 according to the first embodiment shown in FIG. Other than that, it is configured and operates in the same manner as the software automatic verification system Svs1. Therefore, only features unique to the software automatic verification system Svs2 will be described mainly.

図13を参照して、検査項目設定器100Bについて説明する。検査項目設定器100Bは、検査項目設定器100Aにおいて、制御器110Aが制御器110Bに置き換えられていると共に、表計算アプリからの入力器132および表計算アプリへの出力器134が追加されている。   The inspection item setting device 100B will be described with reference to FIG. In the inspection item setting device 100B, in the inspection item setting device 100A, the controller 110A is replaced with the controller 110B, and an input device 132 from the spreadsheet application and an output device 134 to the spreadsheet application are added. .

表計算アプリからの入力器132は、検証対象器200において実行される検証テスト項目および手順を表すテスト項目データS132を表計算アプリケーションのデータ形式で、制御器110Bに出力する。   The input device 132 from the spreadsheet application outputs test item data S132 representing the verification test items and procedures executed in the verification target device 200 in the data format of the spreadsheet application to the controller 110B.

表示器101は、テスト項目データS132に基づいて、テスト項目および順番をユーザに提示する。   The display device 101 presents the test items and the order to the user based on the test item data S132.

ユーザは、表示器101に提示されたテスト項目及び順番に対して、操作器103を操作して、テスト項目データS132を編集することができる。   The user can edit the test item data S132 by operating the operation unit 103 with respect to the test items and the order presented on the display unit 101.

表計算アプリへの出力器134は、編集されたテスト項目データS132、あるいは検査実行した結果のデータを含んだ形での期待値データおよび実行結果データを表計算アプリケーションのデータ形式で、制御器110Bに出力する。   The output unit 134 for the spreadsheet application includes the edited test item data S132 or the expected value data and the execution result data including the data of the result of the inspection execution in the data format of the spreadsheet application in the controller 110B. Output to.

図14乃至図20を参照して、制御器110Bの主な動作について説明する。先ず、図14に示すように、制御器110Bのメインフローは、図3に示した制御器110Aのメインフローのステップ#100の「状態名定義」サブルーチンの前に、ステップ#300の「操作手順入力」サブルーチンが設けられている。ステップ#150の「操作順番設定」サブルーチンおよびステップ#170の「実行用データ生成」サブルーチンが、ステップ#400の「ターゲットの状態データ生成」サブルーチンに置き換えられている。   Main operations of the controller 110B will be described with reference to FIGS. First, as shown in FIG. 14, the main flow of the controller 110B is the “operation procedure” of step # 300 before the “state name definition” subroutine of step # 100 of the main flow of the controller 110A shown in FIG. An “input” subroutine is provided. The “operation order setting” subroutine in step # 150 and the “execution data generation” subroutine in step # 170 are replaced with the “target state data generation” subroutine in step # 400.

さらに、ステップ#200の「状態対応メモリデータ生成」サブルーチンが削除されている。また、ステップ#250の「実行用データ編集」サブルーチンがステップ#250Rの「実行用データ編集」サブルーチンに置き換えられ、ステップ#270の「実行および結果表示」サブルーチンがステップ#270Rの「実行および結果表示」サブルーチンに置き換えられている。   Furthermore, the “state-corresponding memory data generation” subroutine in step # 200 is deleted. Also, the “execution data editing” subroutine in step # 250 is replaced with the “execution data editing” subroutine in step # 250R, and the “execution and result display” subroutine in step # 270 is replaced with “execution and result display” in step # 270R. It has been replaced by a subroutine.

図15に示すように、操作手順入力サブルーチン#300においては、先ず、ステップS302において、市販の表計算アプリケーションで状態遷移表の元状態と操作キーの組み合わせ表が作成される。なお、状態遷移表とは、リグレッションテストを実施する際に、開発される製品の機能の実現にとっての優先度に基づいて決定されるテスト項目と順番を表すものである。そして、制御は次のステップS304に進む。   As shown in FIG. 15, in the operation procedure input subroutine # 300, first, in step S302, a combination table of the original state of the state transition table and the operation key is created by a commercially available spreadsheet application. The state transition table represents the test items and the order determined based on the priority for realizing the function of the developed product when the regression test is performed. Then, the control proceeds to the next Step S304.

ステップS304において、表計算アプリケーションで作成された組み合わせ表の内容がユーザによってCSV形式などの通常のデータベース構造のファイルに変換される。そして、このファイルが「組み合わせ表」に取り込まれる。そして、制御は次のステップS306に進む。   In step S304, the contents of the combination table created by the spreadsheet application are converted by the user into a file having a normal database structure such as CSV format. Then, this file is taken into the “combination table”. Then, the control proceeds to the next Step S306.

ステップS306において、それぞれの元の状態を作り出す操作手順が定義される。例えば、電源OFFからPLAYキーを押すとPLAYが定義される。同様に、電源OFFからPLAYを押し、さらにPAUSEを押すとPAUSEになる、等ということが定義される。そして、制御は次のステップS308に進む。   In step S306, an operation procedure for creating each original state is defined. For example, when the PLAY key is pressed after the power is turned off, PLAY is defined. Similarly, it is defined that when PLAY is pressed after the power is turned off and then PAUSE is pressed, PAUSE is set. Then, the control proceeds to the next Step S308.

ステップS308において、各操作キーに対応する「ターゲットに送るべきコマンド」が定義される。例えば、PLAYキーはF_PLAYという名のRAMフラグを1にするということを入力する。そして、本サブルーチンにおける処理が終了する。   In step S308, a “command to be sent to the target” corresponding to each operation key is defined. For example, the PLAY key inputs that the RAM flag named F_PLAY is set to 1. Then, the processing in this subroutine ends.

そして、ステップ#100の「状態名定義」サブルーチンを経て、ステップ#400の「ターゲットの状態データ生成」サブルーチンが開始される。   Then, after the “state name definition” subroutine in step # 100, the “target state data generation” subroutine in step # 400 is started.

図16に示すように、ターゲットの状態データ作成サブルーチン#400においては、先ず、ステップS402において、指定された元状態が作り出される。例えば、電源OFFの状態が作りだされる。そして、制御は次のステップS404に進む。   As shown in FIG. 16, in the target state data creation subroutine # 400, first, in step S402, the designated original state is created. For example, a power-off state is created. Then, the control proceeds to the next Step S404.

ステップS404において、指定されたターゲット用キーアイコンに相当するキー対応のマイコンRAM用メモリデータがターゲットマイコンに送信される。そして、制御は次のステップS406に進む。   In step S404, key-corresponding microcomputer RAM memory data corresponding to the designated target key icon is transmitted to the target microcomputer. Then, the control proceeds to the next Step S406.

ステップS406においては、マイコンRAM内の対応メモリデータを読み出すコマンドが送信される。同コマンドに応答して、返信される対応データを受信して、パソコンのRAMに記憶すると共に、ターゲットの状態名称に変換して状態名称が表に記入される。そして、制御は次のステップS408に進む。   In step S406, a command for reading the corresponding memory data in the microcomputer RAM is transmitted. In response to the command, the response data returned is received and stored in the RAM of the personal computer, and converted into the target state name, and the state name is entered in the table. Then, the control proceeds to the next Step S408.

ステップS408においては、組み合わせ実行が完了しているか否かが判断される。Noの場合は、制御はステップS410に進む。   In step S408, it is determined whether the combination execution has been completed. If no, control proceeds to step S410.

ステップS410において、次の組み合わせが指定される。そして、制御は上述のステップS402に戻る。   In step S410, the next combination is designated. And control returns to above-mentioned step S402.

一方、ステップS408で、組み合わせ実行が完了していると判断される場合、本サブルーチンにおける処理が終了して、制御は次の「実行用データ編集」サブルーチン#250Rに進む。   On the other hand, if it is determined in step S408 that the combination execution has been completed, the processing in this subroutine ends, and the control proceeds to the next “execution data editing” subroutine # 250R.

図16に示すように、ステップ#250Rは、図6に示したステップ#250において、ステップS26の「キー名と得られた状態名称を表示」処理が、ステップS26Rの「結果画面表示」処理と置き換えられ、ステップS29の「得られた状態の内容を編集」処理が、ステップS29Rの「表の内容を編集」処理に置き換えられている。また、ステップS30においてNoと判断された場合の制御の進み先が、ステップS28の「編集?」処理から、新たに設けられたステップS31の「実行として登録?」処理に置き換えられている。また、ステップS31でNoと判断された場合の制御の進み先として、ステップS33の「ファイル名をつけて保存」処理が追加されている。   As shown in FIG. 16, in step # 250R, in step # 250 shown in FIG. 6, the “display key name and obtained state name” process in step S26 is replaced with the “result screen display” process in step S26R. In step S29, the “edit contents in the obtained state” process in step S29 is replaced with the “edit table contents” process in step S29R. In addition, the advance of control when it is determined No in step S30 has been replaced with the newly registered “execution?” Process in step S31 from the “edit?” Process in step S28. In addition, a “save with file name” process in step S33 is added as a destination of control when it is determined No in step S31.

ステップ#250Rの処理が開始すると、先ずステップS26Rにおいて、ステップ#400において生成されたターゲットの状態データが表の形式で画面表示される。そして、制御は次のS28に進む。   When the process of step # 250R is started, first, in step S26R, the target state data generated in step # 400 is displayed on the screen in the form of a table. Then, the control proceeds to the next S28.

ステップS28においては、編集しないと判断される場合、制御はステップS29Rに進む。   In step S28, when it is determined not to edit, the control proceeds to step S29R.

ステップS29Rにおいては、ターゲット状態データ表の内容が編集される。そして、制御は上述のステップS26Rに戻る。   In step S29R, the contents of the target state data table are edited. And control returns to above-mentioned step S26R.

一方、ステップS28において、編集すると判断される場合、制御はステップS30に進む。   On the other hand, if it is determined in step S28 that editing is to be performed, control proceeds to step S30.

ステップS31において、画面表示されているターゲットの状態データを実行結果として登録するか否かが判断される。Noの場合、制御は上述のステップS26Rに戻る。一方、本ステップにおいてYesと判断される場合、制御はステップS33に進む。   In step S31, it is determined whether or not to register the target state data displayed on the screen as an execution result. In No, control returns to above-mentioned step S26R. On the other hand, when it is determined Yes in this step, the control proceeds to step S33.

ステップS33において、現在のターゲットの状態データがファイル名をつけられて保存される。そして、制御は上述のステップS26Rに戻る。   In step S33, the current target state data is saved with a file name. And control returns to above-mentioned step S26R.

そして、ステップS30において、Yesと判断される場合の処理は、上述のステップ#250におけるのと同一内容の処理を経て、本サブルーチンにおける処理を終了して、次の「実行および結果表示」サブルーチン#270Rが開始する。   Then, in the case where the determination in step S30 is Yes, the processing of the same content as in step # 250 described above is performed, the processing in this subroutine is terminated, and the next “execution and result display” subroutine # 270R starts.

図17に示すように、ステップ#270Rは、図7に示したステップ#270において、ステップS42とステップS46の間に、ステップS43の「順次実行?」処理、ステップS49の「表計算アプリに出力?」処理、およびステップS51の「アプリファイル指定?」処理が追加されている。また、ステップS42とステップS48の間には、ステップS45の「ランダム指定」処理、ステップS47の「順番指定」処理、ステップ#400の「ターゲットの状態データ生成」サブルーチンが挿入されている。さらに、ステップS50の「ターゲット用キー毎に得られた状態名称と期待値ファイル内の状態名称と比較処理」が「実行結果の表と期待値ファイルの表の状態名称を比較」処理に置き換えられている。   As shown in FIG. 17, in step # 270R, in step # 270 shown in FIG. 7, between step S42 and step S46, the “sequential execution?” Process in step S43, and “output to spreadsheet application” in step S49. ? "Processing and" application file designation? "Processing in step S51 are added. Further, between step S42 and step S48, a “random designation” process in step S45, an “order designation” process in step S47, and a “target state data generation” subroutine in step # 400 are inserted. Furthermore, the “comparison of status name obtained for each target key and status name in expected value file” in step S50 is replaced with “comparison of status name of execution result table and expected value file table” processing. ing.

ステップ#270Rが開始すると、先ず、ステップS42においてランダム実行か否かが判断される。Noの場合、制御はステップS43に進む。   When step # 270R starts, it is first determined in step S42 whether or not random execution is performed. In No, control progresses to step S43.

ステップS43において、順次実行か否かが判断される。Noの場合、制御はステップS44に進む。   In step S43, it is determined whether or not the sequential execution is performed. If no, the control proceeds to step S44.

ステップS44において、期待値ファイル指定か否かが判断される。Noの場合、制御は次のステップS49に進む。   In step S44, it is determined whether or not an expected value file is designated. If No, the control proceeds to the next step S49.

ステップS49において、表計算アプリケーションにデータを出力するか否かが判断される。Yesの場合、制御は次のステップS51に進む。   In step S49, it is determined whether to output data to the spreadsheet application. In the case of Yes, the control proceeds to the next step S51.

ステップS51において、データが表計算アプリケーションに出力された後に、制御は上述のステップS42に戻る。   In step S51, after the data is output to the spreadsheet application, control returns to step S42 described above.

一方、ステップS49においてNoと判断される場合、制御は上述のステップS42に戻る。   On the other hand, when it is determined No in step S49, the control returns to step S42 described above.

さらに、ステップS44でYesと判断される場合、制御は上述のステップS46を経て、ステップS42に戻る。   Furthermore, when it is determined Yes in step S44, the control returns to step S42 through step S46 described above.

なお、ステップS43においてYesと判断される場合、制御はステップS47に進む。   If it is determined as Yes in step S43, the control proceeds to step S47.

ステップS47において、順次実行する順番が指定される。そして、制御はステップ#400に進む。そして、ステップS48でYesと判断される場合、制御はステップS53に進む。   In step S47, the order of sequential execution is specified. Then, the control proceeds to step # 400. And when it is judged as Yes at Step S48, control progresses to Step S53.

ステップS42においてYesの場合、ステップS45においてランダム指定がなされた後で、制御はステップ#400に進む。   In the case of Yes in step S42, after the random designation is made in step S45, the control proceeds to step # 400.

ステップS53において、実行結果の表と期待値ファイルの表の状態名称が比較される。そして、制御はステップS55に進む。   In step S53, the status names of the execution result table and the expected value file table are compared. Then, the control proceeds to step S55.

ステップS55において、実行結果の表(得られた状態名称を表示した図19に示す内容)に比較結果を付加した内容(図20に示す)が表示される。そして、本サブルーチンが終了する。   In step S55, the content (shown in FIG. 20) with the comparison result added is displayed in the execution result table (the content shown in FIG. 19 showing the obtained state names). Then, this subroutine ends.

図18に、ステップS302で作成される、「元状態と操作キーの組み合わせ表」の一例を示す。   FIG. 18 shows an example of the “original state / operation key combination table” created in step S302.

図19に、ステップS26Rで表示される「結果画面」の一例を示す。   FIG. 19 shows an example of the “result screen” displayed in step S26R.

図20に、ステップS55で表示される、「比較結果を付加して表示される実行結果画面」の一例を示す。   FIG. 20 shows an example of the “execution result screen displayed with the comparison result added” displayed in step S55.

機能の一部あるいは大部分がソフトウェアで実現できる製品の新製品の開発時における、ソフトウェアのバージョンアップおよびソフトウェア開発等に利用できる。   It can be used for software upgrades, software development, etc. when developing a new product that can realize part or most of its functions in software.

本発明の第1の実施形態にかかるソフトウェア自動検証システムの構成を示すブロック図1 is a block diagram showing the configuration of an automatic software verification system according to a first embodiment of the present invention. 図1に示す検査項目設定器の構成を示すブロック図The block diagram which shows the structure of the inspection item setting device shown in FIG. 図1に示したソフトウェア自動検証システムの主な動作を示すフローチャートThe flowchart which shows the main operation | movement of the software automatic verification system shown in FIG. 図3に示したステップ#100の状態名定義サブルーチンにおける詳細な動作を示すフローチャートThe flowchart which shows the detailed operation | movement in the state name definition subroutine of step # 100 shown in FIG. 図3に示したステップ#150の操作順番設定サブルーチンおよびステップ#170の実行用データ生成サブルーチンにおける詳細な動作を示すフローチャートA flowchart showing detailed operations in the operation order setting subroutine of step # 150 and the execution data generation subroutine of step # 170 shown in FIG. 図3に示したステップ#200の状態対応メモリデータ生成サブルーチンおよびステップ#250の実行用データ編集サブルーチンにおける詳細な動作を示すフローチャートA flowchart showing detailed operations in the state-corresponding memory data generation subroutine of step # 200 and the execution data editing subroutine of step # 250 shown in FIG. 図3に示したステップ#270の実行および結果表示サブルーチンにおける詳細な動作を示すフローチャートFlowchart showing detailed operations in the execution of step # 270 and the result display subroutine shown in FIG. 図2に示す検査項目設定器によって生成される状態データの構成を示す模式図The schematic diagram which shows the structure of the state data produced | generated by the inspection item setting device shown in FIG. 図2に示す表示器によって表示される操作記憶メニューの一例を示す模式図The schematic diagram which shows an example of the operation memory menu displayed by the display shown in FIG. 図2に示す表示器によって表示される実行メニューの一例を示す模式図The schematic diagram which shows an example of the execution menu displayed by the indicator shown in FIG. 図2に示す表示器によって表示される編集メニューの一例を示す模式図The schematic diagram which shows an example of the edit menu displayed by the indicator shown in FIG. 図2に示す表示器によって表示される比較結果画面の一例を示す模式図The schematic diagram which shows an example of the comparison result screen displayed by the indicator shown in FIG. 本発明の第2の実施形態にかかる検査項目設定器の構成を示すブロック図The block diagram which shows the structure of the test | inspection item setting device concerning the 2nd Embodiment of this invention. 図13に示した検査項目設定器の主な動作を示すフローチャートThe flowchart which shows the main operation | movement of the test | inspection item setting device shown in FIG. 図14に示したステップ#300の状態名定義サブルーチンにおける詳細な動作を示すフローチャートA flowchart showing detailed operations in the state name definition subroutine of step # 300 shown in FIG. 図14に示したステップ#400のターゲットの状態データ生成サブルーチンおよびステップ#250Rの実行用データ編集サブルーチンにおける詳細な動作を示すフローチャートFIG. 14 is a flowchart showing detailed operations in the target state data generation subroutine of Step # 400 and the execution data editing subroutine of Step # 250R shown in FIG. 図14に示したステップ#270Rの実行および結果表示サブルーチンにおける詳細な動作を示すフローチャートFIG. 14 is a flowchart showing detailed operations in the execution of step # 270R and the result display subroutine shown in FIG. 図13に示す表示器によって表示される「元状態と操作キーの組み合わせ表」の一例を示す模式図Schematic diagram showing an example of the “original state and operation key combination table” displayed by the display shown in FIG. 図13に示す表示器によって表示される「結果画面」の一例を示す模式図Schematic diagram showing an example of a “result screen” displayed by the display shown in FIG. 図13に示す表示器によって表示される「比較結果画面」の一例を示す模式図Schematic diagram showing an example of a “comparison result screen” displayed by the display shown in FIG.

符号の説明Explanation of symbols

Svs1、Svs2 ソフトウェア自動検証システム
100A、100B 検査項目設定器
101 表示器
103 操作器
105 操作順番設定器
106 操作順番記憶器
107 期待値記憶器
109 比較器
111 コマンド送信器
113 データ受信器
115 実行結果記憶器
117 状態対応メモリ記憶器
119 ターゲットの状態名称への変換器
120 状態名称変換テーブルマニュアル作成登録器
132 表計算アプリからの入力器
134 表計算アプリへの出力器
200 検証対象器
201 コマンド受信器
203 制御器
205 機器制御用メモリ
207 キー対応メモリ書込器
209 状態対応メモリ読出器
211 データ受信器

Svs1, Svs2 Software automatic verification system 100A, 100B Inspection item setting unit 101 Display unit 103 Operation unit 105 Operation order setting unit 106 Operation order storage unit 107 Expected value storage unit 109 Comparator 111 Command transmitter 113 Data receiver 115 Execution result storage Device 117 state-corresponding memory storage device 119 target state name converter 120 state name conversion table manual creation / registration device 132 input device from spreadsheet application 134 output device to spreadsheet application 200 verification target device 201 command receiver 203 Controller 205 Device control memory 207 Key correspondence memory writer 209 State correspondence memory reader 211 Data receiver

Claims (10)

機能の一部がソフトウェアで実現される製品に使用するソフトウェアの開発に際して作成されるソフトウェアのリグレッションテスト方法の作成を支援するソフトウェア自動検証方法であって、
前記製品のそれぞれの機能の状態を定義するステップと、
前記定義された機能を、前記製品の機能を制御するマイコンのメモリデータRAM名称と関連づけるステップと、
前記関連づけられた機能をメモリデータの絶対アドレスに変換するステップと、
前記製品に対してリグレッションテストを実行するステップと、
前記リグレッションテスト後に得られたテスト結果を表す絶対アドレスのメモリデータを機能に逆変換するステップとを備えるソフトウェア自動検証方法。
A software automatic verification method that supports the creation of a software regression test method that is created when developing software for use in products whose functions are implemented in software,
Defining the state of each function of the product;
Associating the defined function with a memory data RAM name of a microcomputer that controls the function of the product;
Converting the associated function into an absolute address of memory data;
Performing a regression test on the product;
A method of automatically verifying software, comprising: inversely converting memory data at an absolute address representing a test result obtained after the regression test into a function.
前記関連づけられた機能のそれぞれについてリグレッションテストをする内容及び順番を決定するステップと、
前記製品に対して、決定された順番でリグレッションテストを実行するステップとをさらに備える請求項1に記載のソフトウェア自動検証方法。
Determining the content and order of regression testing for each of the associated functions;
The software automatic verification method according to claim 1, further comprising a step of executing a regression test on the product in a determined order.
前記逆変換された機能の状態名を表現するステップをさらに備える請求項2に記載のソフトウェア自動検証方法。   The software automatic verification method according to claim 2, further comprising a step of expressing a state name of the inversely converted function. 前記決定されたテストする順番を保存するステップを備える、請求項2に記載のソフトウェア自動検証方法。   The software automatic verification method according to claim 2, further comprising the step of storing the determined test order. テスト結果として予想される機能の状態名を期待値とし、その内容を前記逆変換された機能の状態名の内容と比較するステップと、
前記比較結果を表示するステップとを備える請求項3に記載のソフトウェア自動検証方法。
A function state name expected as a test result is set as an expected value, and the content is compared with the content of the state name of the inversely converted function;
The software automatic verification method according to claim 3, further comprising a step of displaying the comparison result.
製品の基本機能と考えられる機能の状態を元状態とし、当該元状態においてあり得る全ての入力に対する結果を得ようとするための検査項目の組み合わせを所定のソフトツールで事前に作成しておいて、それを利用出来ることを特徴とする請求項5に記載のソフトウェア自動検証方法。   Create a combination of inspection items in advance with a predetermined software tool to obtain the results for all the inputs that can be in the original state, with the state of the function considered as the basic function of the product as the original state. 6. The software automatic verification method according to claim 5, wherein the software can be used. 前記テスト結果に対するユーザの判定を入力として、前記期待値およびリグレッションテストの少なくとも一方の内容および順番を編集するステップを備える請求項3に記載のソフトウェア自動検証方法。   The software automatic verification method according to claim 3, further comprising a step of editing the content and order of at least one of the expected value and the regression test using a user judgment on the test result as an input. 前記編集結果を前記期待値と決定するステップを備える請求項7に記載のソフトウェア自動検証方法。 The software automatic verification method according to claim 7, further comprising a step of determining the editing result as the expected value. コンピュータに読み込まれることによって、当該コンピュータが請求項1乃至請求項8に記載の自動検証方法を実行できるコンピュータプログラム。   A computer program capable of executing the automatic verification method according to claim 1 by being read by the computer. コンピュータに読み込まれることによって、当該コンピュータが請求項1乃至請求項8に記載の自動検証方法を実行できるコンピュータコード手段を備えたコンピュータに読み取りが可能な媒体を備えたコンピュータプログラム製品。

A computer program product comprising a computer-readable medium provided with computer code means capable of executing the automatic verification method according to claim 1 by being read by the computer.

JP2003332558A 2003-09-24 2003-09-24 Automatic software verification system Pending JP2005100068A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003332558A JP2005100068A (en) 2003-09-24 2003-09-24 Automatic software verification system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003332558A JP2005100068A (en) 2003-09-24 2003-09-24 Automatic software verification system

Publications (1)

Publication Number Publication Date
JP2005100068A true JP2005100068A (en) 2005-04-14

Family

ID=34460827

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003332558A Pending JP2005100068A (en) 2003-09-24 2003-09-24 Automatic software verification system

Country Status (1)

Country Link
JP (1) JP2005100068A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272825B2 (en) 2004-03-31 2007-09-18 Omron Corporation Development aid device
JP2008077317A (en) * 2006-09-20 2008-04-03 I L C:Kk Verification device, verification program and verification method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272825B2 (en) 2004-03-31 2007-09-18 Omron Corporation Development aid device
JP2008077317A (en) * 2006-09-20 2008-04-03 I L C:Kk Verification device, verification program and verification method
JP4747060B2 (en) * 2006-09-20 2011-08-10 株式会社アイ・エル・シー Verification device, verification program, and verification method

Similar Documents

Publication Publication Date Title
US10176079B2 (en) Identification of elements of currently-executing component script
US6408403B1 (en) Method for integrating automated software testing with software development
US20060010429A1 (en) Method, system and program for model based software development with test case generation and evaluation
JP4295775B2 (en) GUI test support system and application program for test support
US7895575B2 (en) Apparatus and method for generating test driver
US20140013298A1 (en) Auto generation and linkage of source code to test cases
CN108874649B (en) Method and device for generating automatic test script and computer equipment thereof
CN111506509A (en) Automatic testing method, device, equipment and storage medium for automobile software unit
CN107450953B (en) Method and device for updating BIOS
JP2001356936A (en) Test support device and supporting method of gui system program
WO2020161994A1 (en) Dependence relationship detection device and dependence relationship detection method
KR101252358B1 (en) Apparatus and method for testing plc command
JP4702194B2 (en) Program development support apparatus, program development support method, and program development support program
JP2005100068A (en) Automatic software verification system
JPH10149301A (en) Script generation device
JP2765549B2 (en) Operation evaluation system in computer system
JPH10133914A (en) Computer system and device input/output simulator
JP2000215038A (en) Information management device and recording medium
JPH1165888A (en) Software testing device and storage medium
CN116932414B (en) Method and equipment for generating interface test case and computer readable storage medium
JPH06138911A (en) Programming device
CN115481041A (en) Code module testing method, device, equipment and storage medium
CN112711413A (en) Intelligent model development method and intelligent control method
CN114741303A (en) Test script generation method and device and electronic equipment
CN115629736A (en) PLC programming software interface design method, system, equipment and medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060920

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090831

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091224