JP6503908B2 - Control program, control method, and control device - Google Patents
Control program, control method, and control device Download PDFInfo
- Publication number
- JP6503908B2 JP6503908B2 JP2015119086A JP2015119086A JP6503908B2 JP 6503908 B2 JP6503908 B2 JP 6503908B2 JP 2015119086 A JP2015119086 A JP 2015119086A JP 2015119086 A JP2015119086 A JP 2015119086A JP 6503908 B2 JP6503908 B2 JP 6503908B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- test data
- program
- verification
- instruction
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
本発明は、制御プログラム、制御方法、及び、制御装置に関する。 The present invention relates to a control program, a control method, and a control device.
近年のビックデータ化に伴いソフトウェア(プログラム)が扱うデータ量が増大し、ICT(Information and Communication Technology:ICT)環境が大規模化している。大規模データを扱うICT環境では、膨大なデータを格納するために、大容量の記憶装置を備える。 The amount of data handled by software (programs) has been increasing with the recent development of big data, and the information and communication technology (ICT) environment has become large-scale. In an ICT environment that handles large-scale data, a large-capacity storage device is provided to store a large amount of data.
ソフトウェアの処理では、扱うデータ量が小さい場合には障害として顕在化しない事象が、データ量の増大に伴い、障害として顕在化する場合がある。したがって、ソフトウェアの動作の検証は、実際の運用環境と同様の大規模データを用いて行われる。例えば、検証装置は、大規模データが記憶された大容量の記憶装置にアクセスして、ソフトウェアの動作検証を行う。 In software processing, when the amount of data handled is small, an event that does not appear as a failure may appear as a failure as the amount of data increases. Therefore, verification of software operation is performed using large-scale data similar to the actual operation environment. For example, the verification apparatus accesses a large-capacity storage device in which large-scale data is stored to perform software operation verification.
ソフトウェアの動作検証に関する技術は、例えば、特許文献1、2に記載される。
Techniques related to software operation verification are described, for example, in
しかしながら、実際の運用環境と同様の大規模データを用いて動作検証を行う場合、大容量の記憶装置を用意することにより、動作検証にかかるコストが増大する。一方、コストの増大を抑えるために、動作検証に用いるデータの容量を抑制する場合、実際の運用環境のデータの構成と異なる構成に基づいて動作検証を行うことになる。これにより、運用環境と同様の動作検証が担保されず、ソフトウェアの動作検証の精度が低下する場合がある。 However, when performing operation verification using large-scale data similar to the actual operation environment, preparing a large-capacity storage device increases the cost of the operation verification. On the other hand, when suppressing the volume of data used for operation verification in order to suppress the increase in cost, the operation verification is performed based on a configuration different from the data configuration of the actual operation environment. As a result, the same operation verification as the operation environment is not secured, and the accuracy of the software operation verification may be degraded.
1つの側面では、本発明は、プログラムの動作検証の精度の低下を抑制する制御プログラム、制御方法、及び、制御装置を提供することを目的とする。 In one aspect, the present invention aims to provide a control program, a control method, and a control device that suppress a decrease in the accuracy of program operation verification.
1つの態様では、コンピュータに、マスタデータに基づいて生成したテストデータを第1の記憶部に記憶し、前記テストデータのうち、生成した前記テストデータを用いた処理を被検証プログラムが実行する際に読み出されたデータの位置を特定し、特定した前記位置に対応するデータを前記テストデータから抽出して第2の記憶部に記憶させ、前記第2の記憶部に記憶されたデータに基づいて検証処理を実行する、ことを実行させる。 In one aspect, when the computer stores test data generated based on master data in the first storage unit, and the program to be verified executes processing using the generated test data among the test data. The position of the data read out is specified, and the data corresponding to the specified position is extracted from the test data and stored in the second storage unit, based on the data stored in the second storage unit Execute the verification process.
1つの側面によれば、プログラムの動作検証の精度の低下を抑制する。 According to one aspect, the decrease in the accuracy of program operation verification is suppressed.
以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the technical scope of the present invention is not limited to these embodiments, but extends to the matters described in the claims and the equivalents thereof.
[検証システム]
図1は、本実施の形態におけるテストシステムの構成を示す図である。図1に示す検証システムは、検証装置(制御装置)100と、ストレージ装置SD1、SD2(ストレージ装置SDともいう)を有する。検証装置100は、ストレージ装置SD1、SD2と接続する。
[Verification system]
FIG. 1 is a diagram showing a configuration of a test system in the present embodiment. The verification system illustrated in FIG. 1 includes a verification device (control device) 100, and storage devices SD1 and SD2 (also referred to as storage devices SD). The
図1に示す検証装置100は、ソフトウェアの機能が適切に動作するか否か、また、ソフトウェアの性能が所定の基準を満たすか否か等の検証処理を行う。検証装置100は、ソフトウェアの検証処理を、例えば、ソフトウェアの開発時や、機能追加及び障害修正に伴うバージョンアップの際に行う。
The
検証装置100では、テストプログラム30、検証処理の対象となるソフトウェア(検証対象のソフトウェアともいう)20、及び、ドライバプログラム(制御プログラム)10が動作する。テストプログラム30は、検証対象のソフトウェア20に、検証処理の実行を指示するプログラムである。ドライバプログラム10は、例えば、検証装置100で動作するオペレーションシステム(図示せず)が含むプログラムであって、ストレージ装置SDに対するアクセス処理を制御する。
In the
本実施の形態において、検証対象のソフトウェア20は、例えば、データベース管理システム(DataBase Management System:DBMS)のソフトウェアである。DBMSのソフトウェアは、アクセス要求に応じたデータベースへのアクセス処理や、データベースの構築や管理等を行う。
In the present embodiment, the
なお、検証対象のソフトウェア20は、DBMSのソフトウェアの例に限定されるものではなく、ファイルシステムのソフトウェアや、データに基づいて演算処理等を行うソフトウェア等であってもよい。
The
検証対象のソフトウェア20がDBMSのソフトウェアである場合、検証装置100は、DBMSソフトウェアの、データベースへのアクセス処理やデータベースの構築処理が適切に動作するか否かを検証する。検証装置100は、基本的なアクセス処理(データの書き込み、読み出し、検索処理等)の検証に加えて、検証対象のソフトウェア20を使用する運用環境を想定した検証処理を行う。
When the
例えば、検証装置100は、検証対象のソフトウェア20による、大容量のデータベースの生成処理や、大容量のデータベースに対するアクセス処理が適切に動作するか否かを検証する。検証装置100は、検証対象のソフトウェア20による、大容量のデータベースの先頭、最後尾等の境界に位置するデータのアクセス処理や、任意の数のデータのアクセス処理が適切に動作するか否かを検証する。また、検証装置100は、検証対象のソフトウェア20による、大容量のデータベースのアクセス処理の性能が、所定の基準を満たすか否かを検証する。
For example, the
図1に示すストレージ装置SD1は、マスタデータMdを記憶する。本実施の形態におけるマスタデータMdは、テストデータTdの元となるデータである。マスタデータMdは、例えば、実際の検証対象のソフトウェア20の運用環境で用いられるデータであって、大容量のデータである。検証装置100は、マスタデータMdを元に、検証内容に応じた、様々なバリエーションのテストデータTdを生成する。マスタデータMdの一例を、図3にしたがって後述する。
The storage device SD1 shown in FIG. 1 stores master data Md. Master data Md in the present embodiment is data that is the source of test data Td. The master data Md is, for example, data used in an operation environment of the actual
図1に示すストレージ装置SD2は、テストデータTdや、検証処理の結果等の情報を記憶する。本実施の形態におけるテストデータTdは、ソフトウェア20の検証処理に用いるデータである。テストデータTdは、検証内容に応じたデータを有する。テストデータTdは、例えば、マスタデータMdが含む一部のデータdd−1〜dd−4(データddともいう)、または、全部のデータ、及び、マスタデータMdが含むデータを加工したデータを有する。テストデータTdの一例を、図4にしたがって後述する。
The storage device SD2 illustrated in FIG. 1 stores information such as test data Td and the result of verification processing. The test data Td in the present embodiment is data used for the verification process of the
なお、図1の例によると、マスタデータMdとテストデータTdは異なるストレージ装置SD1、SD2に記憶されているが、同一のストレージ装置SDに記憶されていてもよい。また、テストデータTdは、検証装置100内の記憶領域に格納されていてもよい。
Although the master data Md and the test data Td are stored in different storage devices SD1 and SD2 according to the example of FIG. 1, they may be stored in the same storage device SD. The test data Td may be stored in a storage area in the
次に、検証処理の一連の流れを説明する。テストプログラム30がテストの開始を指示すると、検証対象のソフトウェア20は、ストレージ装置SD1が記憶するマスタデータMdのデータddを読み出して必要に応じて加工し、ストレージ装置SD2に書き込む。この処理を繰り返すことによって、検証対象のソフトウェア20は、マスタデータMdに基づいてテストデータTdを生成する。
Next, the flow of the verification process will be described. When the
テストデータTdの生成が完了すると、検証対象のソフトウェア20は、テストプログラム30の指示にしたがって、ストレージ装置SD2に記憶されたテストデータTdに対するアクセス処理を行う。検証対象のソフトウェア20は、アクセス処理の結果を、検証処理の結果情報としてストレージ装置SD2に記憶する。テストプログラム30は、例えば、結果情報と期待値との比較結果に基づいて、検証対象のソフトウェア20が適切に動作したか否かを判定する。
When the generation of the test data Td is completed, the
このように、検証装置100は、テストプログラム30にしたがって、ソフトウェアプログラム20の機能を実行することにより、機能が適切に動作することを検証する。即ち、検証装置100は、テストデータTdの生成処理を通して、検証対象のソフトウェア20による、大容量のデータの読み出しや、大容量のデータの書き込みが適切に動作したか否かを検証する。また、検証装置100は、テストデータTdに対するアクセス処理を通して、検証対象のソフトウェア20のアクセス処理が適切に動作したか否かを検証する。
Thus, the
図2は、図1に示した検証装置100の検証処理の概要を模式的に説明する図である。図1で前述したとおり、検証装置100では、テストプログラム30、検証対象のソフトウェア20、及び、ドライバプログラム10が動作する。図1で前述したとおり、検証装置100は、マスタデータMdに基づくテストデータTdの生成処理F1と、生成したテストデータTdを用いた検証処理F2とを行う。
FIG. 2 is a diagram schematically illustrating the outline of the verification process of the
テストデータTdの生成処理F1では、テストプログラム30は、検証対象のソフトウェア20に、マスタデータMdの読み出し命令(リード命令)、及び、読み出したデータのストレージ装置SD2への書き込み命令(ライト命令)等を発行する。
In the test data Td generation process F1, the
検証対象のソフトウェア20は、テストプログラム30から受け付けた命令にしたがって、ドライバプログラム10に、ライト命令及びリード命令を出力する。ドライバプログラム10は、検証対象のソフトウェア20から受け付けた命令に応答して、ストレージ装置SDに記憶された各データにアクセスする。
The
テストデータTdを用いた検証処理F2では、テストプログラム30は、検証対象のソフトウェア20に、テストデータTdの読み出し命令(リード命令)、及び、テストデータTdに対する書き込み命令(ライト命令)等を発行する。
In the verification process F2 using the test data Td, the
検証対象のソフトウェア20は、テストプログラム30から受け付けた命令にしたがって、ドライバプログラム10に、ライト命令及びリード命令を発行する。ドライバプログラム10は、検証対象のソフトウェア20から受け付けた命令に応答して、ストレージ装置SD2に記憶されたテストデータTdにアクセスする。
The
ここで、図3、図4にしたがって、マスタデータMd、及び、テストデータTdの一例を説明する。本実施の形態におけるマスタデータMd及びテストデータTdは、CSV(Comma-Separated Values:CSV)形式のデータである。ただし、この例に限定されるものではなく、マスタデータMd、及び、テストデータTdは、別の形式(例えば、バイナリ形式等)のデータであってもよい。 Here, an example of the master data Md and the test data Td will be described according to FIGS. 3 and 4. The master data Md and the test data Td in the present embodiment are data in a CSV (Comma-Separated Values: CSV) format. However, the present invention is not limited to this example, and the master data Md and the test data Td may be data of another format (for example, binary format etc.).
[マスタデータMd]
図3は、マスタデータMdのデータ例の一部を示す図である。図3に示すマスタデータMdはデータの一部であって、実際には多量のデータを有する。
[Master data Md]
FIG. 3 is a view showing a part of data example of the master data Md. The master data Md shown in FIG. 3 is a part of data, and actually has a large amount of data.
図3に示すマスタデータMdは、プロフェッショナルスポーツに関する情報を有するデータであって、2種類のデータ群Md−1、Md−2を有する。図3の(A)に示すマスタデータMd−1は、選手情報を有するデータ群であって、図3の(B)に示すマスタデータMd−2は、チーム情報を有するデータ群である。 Master data Md shown in FIG. 3 is data having information on professional sports, and includes two types of data groups Md-1 and Md-2. Master data Md-1 shown in (A) of FIG. 3 is a data group having player information, and master data Md-2 shown in (B) of FIG. 3 is a data group having team information.
図3の(A)に示す、選手情報を有するマスタデータMd−1の各データは、データを識別する識別情報(No)、名前情報、所属情報、背番号情報、及び、得点数情報を有する。例えば、識別情報「1」のデータは、名前情報「PONEME」、所属情報「浦和ブルージェイズ」、背番号情報「10」、特定数情報「252」を有する。同様にして、識別情報「2」のデータは、名前情報「WAHI」、所属情報「浦和ブルージェイズ」、背番号情報「21」、特定数情報「108」を有する。他のデータについても同様である。 Each data of master data Md-1 having player information shown in FIG. 3A has identification information (No) for identifying data, name information, affiliation information, number information, and score number information. . For example, the data of identification information "1" has name information "PONEME", belonging information "Urawa Blue Jays", model number information "10", and specific number information "252". Similarly, data of identification information "2" has name information "WAHI", affiliation information "Urawa Blue Jays", serial number information "21", and specific number information "108". The same is true for other data.
また、図3の(B)に示す、チーム情報を有するマスタデータMd−2の各データは、データを識別する識別情報(No)、名称情報、優勝回数情報、及び、所在地情報を有する。例えば、識別情報「1」のデータは、名称情報「浦和ブルージェイズ」、優勝回数情報「7」、所在地情報「浦和」を有する。同様にして、識別情報「2」のデータは、名称情報「広島フレッチェ」、優勝回数情報「1」、所在地情報「広島」を有する。他のデータについても同様である。
Each data of master data Md-2 which has team information shown in (B) of
[テストデータTd]
図4は、テストデータTdのデータ例の一部を示す図である。図4に示すテストデータTdはデータの一部であって、テストデータTdは実際には多量のデータを有する。
[Test data Td]
FIG. 4 is a view showing a part of an example of test data Td. The test data Td shown in FIG. 4 is a part of data, and the test data Td actually has a large amount of data.
テストプログラム30は、検証対象のソフトウェア20に指示することによって、図3に示すマスタデータMdに基づいて、図4に示すテストデータTdを生成する。このとき、テストプログラム30は、マスタデータMdに加えて、予め生成した、生成規則やランダム値の生成に用いる論理等に基づいて、テストデータTdを生成してもよい。
The
図4の例によると、テストプログラム30は、図3の(A)(B)に示したマスタデータMdを組み合わせたテストデータTdを生成する。具体的に、図4のテストデータTdは、図3の(A)(B)の各データ群が有する所属情報をキーにして、各データ群を組み合わせて生成したデータである。
According to the example of FIG. 4, the
図4に示すテストデータTdの各データは、データを識別する識別情報、名前情報、所属情報、背番号情報、得点数情報、及び、優勝回数情報を有する。例えば、識別情報「1」のデータは、名前情報「PONEME」、所属情報「浦和ブルージェイズ」、背番号情報「10」、特定数情報「252」、及び、所属情報「浦和ブルージェイズ」に対応する優勝回数情報「7」を有する。同様にして、識別情報「4」のデータは、名前情報「HISA」、所属情報「広島フレッチェ」、背番号情報「9」、特定数情報「136」、及び、所属情報「広島フレッチェ」に対応する優勝回数情報「1」を有する。他のデータについても同様である。 Each data of test data Td shown in FIG. 4 includes identification information for identifying data, name information, affiliation information, number information, score number information, and winning times information. For example, the data of identification information "1" corresponds to name information "PONEME", affiliation information "Urawa Blue Jays", serial number information "10", specific number information "252", and affiliation information "Urawa Blue Jays" It has the winning number information "7". Similarly, the data of identification information "4" corresponds to name information "HISA", affiliation information "Hiroshima Fletce", identification number information "9", specific number information "136", and affiliation information "Hiroshima Fletce" Have the number of wins information “1”. The same is true for other data.
また、テストプログラム30は、他のデータと情報が重複するデータや、不正な情報を有するデータを任意に追加した、テストデータTdを生成してもよい。図4に示すテストデータTdは、識別情報「1」のデータと情報が重複する、識別情報「5」のデータや、名前情報や所属情報等に不正な情報を有する識別情報「6」のデータを含む。
Also, the
図1〜図4で説明してきたとおり、検証装置100は、マスタデータMdからデータを読み出してテストデータTdを生成し、生成したテストデータTdに基づいて検証を行う。実際の運用環境と同様の環境を想定した検証を行う場合、検証装置100は、例えば、大容量のテストデータTdを用いた検証処理を行う。
As described in FIGS. 1 to 4, the
テストデータTdのサイズが大きい場合、テストデータTdを記憶するために、大容量の記憶領域を備える記憶装置(例えば、図1、図2に示すストレージ装置SD2)を用意する必要があり、検証処理に要するコストが高くなる。一方、コストを抑えるために、テストデータTdのサイズを抑制する場合、実際の運用環境のデータの構成と異なる構成に基づいて動作検証を行うことになり、ソフトウェアの動作検証の精度が低下する場合がある。 When the size of test data Td is large, in order to store test data Td, it is necessary to prepare a storage device (for example, storage device SD2 shown in FIGS. 1 and 2) having a large capacity storage area. Costs for On the other hand, when suppressing the size of the test data Td in order to reduce the cost, the operation verification is performed based on a configuration different from the data configuration of the actual operation environment, and the accuracy of the software operation verification decreases. There is.
また、テストデータTdのサイズが大きい場合、検証装置100は、図1に示したように、検証装置100と通信を介して接続する大容量のストレージ装置SD2にテストデータTdを記憶し、ストレージ装置SD2にアクセスすることにより、検証処理を行う。通信を介してストレージ装置SD2にアクセスする場合、アクセス処理に時間がかかり、検証処理にかかる時間も長くなる。
In addition, when the size of the test data Td is large, the
[本実施の形態の概要]
したがって、本実施の形態の検証装置100は、マスタデータMdに基づいて生成したテストデータTdを第1の記憶部(ストレージ装置SD等)に記憶する。また、検証装置100は、テストデータTdのうち、生成したテストデータTdを用いた処理を被検証プログラム(検証対象のソフトウェア)20が実行する際に読み出されたデータの位置を特定する。そして、検証装置100は、特定した位置に対応するデータをテストデータTdから抽出して第2の記憶部(補助記憶装置202)に記憶させ、第2の記憶部に記憶されたデータに基づいて検証処理を実行する。
[Overview of this embodiment]
Therefore, the
図5は、本実施の形態における検証の概要を説明するフローチャート図である。 FIG. 5 is a flowchart for explaining an outline of verification in the present embodiment.
S1:検証装置100は、検証処理の実行前に、マスタデータMdに基づいて生成したテストデータTdをストレージ装置SD等に記憶し、テストデータTdのうち、検証対象のソフトウェア20が実行する際に読み出されたデータの位置を特定する。
S1: The
検証装置100は、例えば、検証処理の実行前に、図2で説明した、テストデータTdの生成処理F1と検証処理F2とを実行する。そして、検証装置100は、テストデータTdが含むデータのうち、検証処理F2の際に読み出されるデータを特定する。
The
S2:検証装置100は、検証処理を実行する際に、工程S1で特定した、位置に対応するデータを、テストデータTdから抽出し、検証装置100内の補助記憶装置202等の記憶領域に記憶する。
S2: When executing the verification process, the
S3:検証装置100は、記憶領域に記憶したデータに基づいて検証処理F2を実行する。検証処理F2の実行の際に、検証対象のソフトウェア20によって読み出されるデータは、記憶領域に記憶されている。したがって、検証装置100は、検証対象のソフトウェア20による、当該データに対する読み出し及び書き込みを検証できる。一方、検証対象のソフトウェア20によって読み出されないデータは、記憶領域に記憶されていないものの、読み出し対象とならないため、必ずしも記憶領域に記憶されている必要がない。
S3: The
このように、本実施の形態における検証装置100は、検証処理F2の実行の際に読み出されるデータを予め特定し、特定したデータを選択的に記憶領域に記憶し、当該記憶したデータに基づく検証処理を実現する。検証処理F2の際に読み出されるデータは、テストデータTdのうち、一部のデータである。これにより、検証装置100は、検証処理F2の際に、記憶領域に記憶するデータの容量を抑制することができる。
As described above, the
したがって、運用環境と同様の大容量のテストデータTdを用いた検証処理を行う場合であっても、検証処理に用いる記憶領域の容量を抑えることにより、検証にかかるコストを抑えることが可能になる。したがって、検証装置100は、ソフトウェア20の動作検証にかかるコストを抑えることにより、動作検証の精度の低下を抑制できる。
Therefore, even in the case of performing verification processing using large-capacity test data Td similar to the operation environment, it is possible to reduce the cost of verification by suppressing the capacity of the storage area used for verification processing. . Therefore, the
また、記憶領域に記憶するデータの容量を抑制可能になることにより、検証装置100は、検証処理に用いるテストデータTdを、検証装置100内の記憶領域(ローカルの記憶領域)に格納できる。ローカルの記憶領域に対するアクセス速度は、ストレージ装置SD(図1、図2)に対するアクセス速度より速い。したがって、検証装置100は、ローカルの記憶領域に格納したデータを用いて、より高速に、検証処理を行うことができ、検証処理にかかる時間を短縮できる。
In addition, since the capacity of data stored in the storage area can be reduced, the
また、本実施の形態における検証装置100は、検証処理F2の実行時に、記憶領域に記憶されていないデータ(即ち、検証処理F2の際に読み出されないデータ)に対する書き込みを行わない。これにより、書き込みにかかる時間を短縮可能になるため、検証装置100は、検証処理の実行にかかる時間をより短縮することができる。
Further, at the time of execution of verification process F2,
[検証装置100のハードウェア構成]
図6は、本実施の形態における検証装置100(図1、図2)のハードウェア構成図である。検証装置100は、例えば、CPU(Central Processing Unit:CPU)101、メインメモリ201や補助記憶装置202等を備えるメモリ102、通信インタフェース部103、外部インタフェース部104を有する。各部は、バス106を介して相互に接続する。
[Hardware Configuration of Verification Device 100]
FIG. 6 is a hardware configuration diagram of the verification device 100 (FIGS. 1 and 2) in the present embodiment. The
CPU101は、バス106を介してメモリ102等と接続するとともに、検証装置100全体の制御を行う。通信インタフェース部103は、インターネット等を介して、他の機器(図示せず)と接続する。RAM(Random Access Memory:RAM)等を示すメインメモリ201は、CPU101が処理を行うデータ等を記憶する。また、外部インタフェース部104は、ストレージ装置SD等(図1、図2)と接続する。
The
補助記憶装置202は、CPU101が実行するオペレーションシステムのプログラムを格納する領域(図示せず)を備える。また、補助記憶装置202は、ソフトウェアプログラム格納領域20、ドライバプログラム格納領域10、テストプログラム格納領域30を備える。また、補助記憶装置202は、リード領域テーブル格納領域60、抜粋テストデータ格納領域Tdx、及び、アドレス変換テーブル格納領域70を有する。補助記憶装置202は、HDD(Hard disk drive:HDD)、不揮発性半導体メモリ等を示す。
The
ソフトウェアプログラム格納領域20のソフトウェアプログラム(以下、ソフトウェアプログラム20と称する)は、CPU101の実行によって、ソフトウェアプログラム(検証対象のソフトウェア)20の処理を実現する。前述したとおり、ソフトウェアプログラム20は、例えば、DBMSのソフトウェアである。
The software program in the software program storage area 20 (hereinafter referred to as the software program 20) implements the processing of the software program (software to be verified) 20 by execution of the
テストプログラム格納領域30のテストプログラム(以下、テストプログラム30と称する)は、CPU101の実行によって、テストプログラム30の処理を実現する。テストプログラム30は、各処理F1、F2の開始及び終了や、各処理F1、F2におけるアクセス処理の指示を、ソフトウェアプログラム20に出力する。
The test program in the test program storage area 30 (hereinafter referred to as the test program 30) realizes the processing of the
ドライバプログラム格納領域10のドライバプログラム(以下、ドライバプログラム10と称する)は、CPU101の実行によって、ストレージ装置SDに対するアクセス処理等を実現する。ドライバプログラム10は、ソフトウェアプログラム20による、リード命令やライト命令等のアクセス命令に応答して当該命令に対応する処理を行い、処理結果をソフトウェアプログラム20に出力する。ドライバプログラム10の詳細は、図10のソフトウェアブロック図にしたがって後述する。
The driver program (hereinafter referred to as a driver program 10) in the driver
なお、例えば、ソフトウェアプログラム20の検証処理を行うユーザは、検証時にオペレーションシステム(図示せず)が有するドライバプログラム10を、本実施の形態におけるドライバプログラム10に置き換える。
For example, a user who performs a verification process of the
リード領域テーブル格納領域60のリード領域テーブル(以下、リード領域テーブル60と称する)は、ドライバプログラム10が生成し、参照するテーブルである。リード領域テーブル60は、テストデータTd(図4)が有するデータのうち、検証処理F2においてソフトウェアプログラム20が読み出す対象のデータを特定する情報を有するテーブルである。リード領域テーブル60の詳細は、図7で後述する。
The read area table (hereinafter referred to as a read area table 60) of the read area
抜粋テストデータ格納領域Tdxの抜粋テストデータ(以下、抜粋テストデータTdxと称する)は、テストデータTd(図4)が有するデータのうち、検証処理F2にてソフトウェアプログラム20が読み出す対象のデータを選択的に有するデータである。抜粋テストデータTdxの詳細は、図8で後述する。
The extraction test data (hereinafter, extraction test data Tdx) of the extraction test data storage area Tdx selects the data to be read by the
アドレス変換テーブル格納領域70のアドレス変換テーブル(以下、アドレス変換テーブル70と称する)は、抜粋テストデータTdxが有する各データの、テストデータTd内のアドレスと、抜粋テストデータTdx内のアドレスとの対応情報を有する。アドレス変換テーブル70の詳細は、図9で後述する。
The address conversion table (hereinafter referred to as the address conversion table 70) of the address conversion
[リード領域テーブル60]
図7は、図6に示したリード領域テーブル60の一例を示す図である。リード領域テーブル60は、前述したとおり、テストデータTdが有するデータのうち、検証処理F2の際に読み出されるデータを識別する情報を有する。言い換えると、リード領域テーブル60は、テストデータTdが記憶された記憶領域のうち、ソフトウェアプログラム20がリード命令の対象とする記憶領域を識別する情報を有する。
[Read area table 60]
FIG. 7 is a diagram showing an example of the read area table 60 shown in FIG. As described above, the read area table 60 has information for identifying data to be read out in the verification process F2 among data included in the test data Td. In other words, the read area table 60 has information for identifying, among the storage areas where the test data Td is stored, the storage area targeted by the
図7の例に示すリード領域テーブル60は、テストデータTdの先頭位置からのオフセットに対応するブロック番号(0〜N)と、当該ブロック番号のデータが読み出されたか否かを示すリードフラグの値とを有する。 The read area table 60 shown in the example of FIG. 7 has a block number (0 to N) corresponding to the offset from the start position of the test data Td and a read flag indicating whether or not the data of the block number is read. And have a value.
ブロック番号は、テストデータTdが記憶されたストレージ装置SD2の領域を、所定のサイズの領域に区分したブロックbkの識別情報である。本実施の形態では、説明を簡易にするために、ブロックbkのサイズが、テストデータTdが有する各データのサイズと同一である場合を例示する。図7の例では、テストデータTdの先頭のブロックbkから順に、ブロック番号「0」「1」「2」と称する。 The block number is identification information of the block bk obtained by dividing the area of the storage device SD2 in which the test data Td is stored into an area of a predetermined size. In the present embodiment, in order to simplify the description, the case where the size of the block bk is the same as the size of each data included in the test data Td is illustrated. In the example of FIG. 7, block numbers “0”, “1”, and “2” are referred to in order from the top block bk of the test data Td.
図7の例によると、ブロック番号「0」、「1」、「5」、「64」、「287」、「289」、「290」のリードフラグは、値「ON」である。これは、ブロック番号「0」、「1」、「5」、「64」、「287」、「289」、「290」の領域に記憶されたデータが、検証処理F2の際に、ソフトウェアプログラム20による読み出されることを示す。 According to the example of FIG. 7, the read flags of the block numbers “0”, “1”, “5”, “64”, “287”, “289”, and “290” have the value “ON”. This is because the data stored in the area of the block numbers “0”, “1”, “5”, “64”, “287”, “289”, “290” is a software program during the verification process F2. Indicates that it is read out by 20.
[抜粋テストデータTdx]
図8は、図6に示した抜粋テストデータTdxの一部のデータ例を示す図である。図8に示す抜粋テストデータTdxはデータの一部であって、抜粋テストデータTdxは実際には多量のデータを有する。
[Excerpt test data Tdx]
FIG. 8 is a diagram showing an example of part of the excerpted test data Tdx shown in FIG. The excerpt test data Tdx shown in FIG. 8 is a part of data, and the excerpt test data Tdx actually has a large amount of data.
抜粋テストデータTdxは、図4に示したテストデータTdが有するデータのうち、検証処理F2の際に読み出されるデータを有する。言い換えると、抜粋テストデータTdxは、テストデータTdが有するデータのうち、図7に示したリード領域テーブル60上で、リードフラグが値「ON」のブロック番号の領域に記憶されたデータを有する。 The excerpted test data Tdx has, among the data included in the test data Td shown in FIG. 4, data read out in the verification process F2. In other words, among the data included in the test data Td, the extracted test data Tdx has data stored in the area of the block number having the read flag “ON” on the read area table 60 illustrated in FIG. 7.
図7に示したリード領域テーブル60によると、例えば、ブロック番号「0」「1」「5」の領域に記憶されたデータのリードフラグの値が「ON」を示す。したがって、図8の例によると、抜粋テストデータTdxは、テストデータTd(図4)が有するデータのうち、ブロック番号「0」「1」「5」の領域に記憶された識別情報「1」「2」「6」のデータを有する。また、図8に図示していないが、他のリードフラグの値が「ON」のブロック番号についても同様にして、抜粋テストデータTdxは当該ブロック番号の領域のデータを有する。 According to the read area table 60 shown in FIG. 7, for example, the value of the read flag of the data stored in the area of the block numbers “0” “1” “5” indicates “ON”. Therefore, according to the example of FIG. 8, the extracted test data Tdx is identification information “1” stored in the area of the block numbers “0” “1” “5” among the data included in the test data Td (FIG. 4). It has data of "2" and "6". Further, although not shown in FIG. 8, the excerpted test data Tdx has data of the area of the block number in the same manner for the block numbers whose other read flags are “ON”.
図8の例によると、抜粋テストデータTdxは、検証処理F2で読み出しの対象にならない、ブロック番号「2」〜「4」の領域に記憶された識別情報「3」〜「5」のデータを有しない。したがって、例えば、識別情報「6」のデータの、テストデータTd内のオフセットと、抜粋テストデータTdx内のオフセットとは異なる。 According to the example of FIG. 8, the excerpt test data Tdx is not the target of reading in the verification process F2, and data of identification information "3" to "5" stored in the area of block numbers "2" to "4" Do not have. Therefore, for example, the offset in the test data Td of the data of the identification information “6” is different from the offset in the excerpted test data Tdx.
したがって、ドライバプログラム10は、図9に示すアドレス変換テーブル70にしたがって、ソフトウェアプログラム20から受信したアクセス要求の対象アドレス(テストデータTd内のアドレス)を、抜粋テストデータTdx内のアドレスに変換する。
Therefore,
[アドレス変換テーブル70]
図9は、図6に示したアドレス変換テーブル70の一例を示す図である。アドレス変換テーブル70は、図8に示した抜粋テストデータTdxが有する各データの、テストデータTd(図4)内のアドレス(オフセット)と、抜粋テストデータTdx(図8)内のアドレス(オフセット)との対応情報を有する。
[Address conversion table 70]
FIG. 9 is a diagram showing an example of the address conversion table 70 shown in FIG. The address conversion table 70 includes the address (offset) in the test data Td (FIG. 4) and the address (offset) in the excerpt test data Tdx (FIG. 8) of each data included in the excerpt test data Tdx shown in FIG. It has correspondence information with.
図9の矢印70−1が示す対応情報は、例えば、図7に示した識別情報「6」のデータの、テストデータTd内のオフセット「0x2a00000」と、抜粋テストデータTdx内のオフセット「0x1000000」を示す。アドレス変換テーブル70は、抜粋テストデータTdxが有する他のデータ(例えば、識別情報「1」「2」のデータ等)についても、同様にして、当該データのテストデータTd内のアドレスと、抜粋テストデータTdx内のアドレスとの対応情報を有する。 The correspondence information indicated by the arrow 70-1 in FIG. 9 is, for example, the offset "0x2a00000" in the test data Td and the offset "0x1000000" in the excerpt test data Tdx of the data of the identification information "6" shown in FIG. Indicates The address conversion table 70 similarly applies the address in the test data Td of the data and the excerpt test to the other data (for example, the data of the identification information “1” and “2” etc.) included in the excerpt test data Tdx. It has correspondence information with an address in data Tdx.
[検証装置100のソフトウェアブロック]
図10は、図6に示した検証装置100のドライバプログラム10のソフトウェアブロックの構成図である。ドライバプログラム10は、例えば、制御モジュール111、アクセスモジュール112、リード領域テーブル生成モジュール113、抜粋テストデータ生成モジュール114を有する。
[Software Block of Verification Device 100]
FIG. 10 is a block diagram of software blocks of the
制御モジュール111は、各モジュール112〜114の制御を行う。アクセスモジュール112は、ソフトウェアプログラム20からアクセス命令を受け付け、実行対象の処理F1、F2、及び、アクセス命令に応じて、マスタデータMd、テストデータTd、抜粋テストデータTdxに対するアクセス処理を行う。また、アクセスモジュール112は、アドレス変換テーブル70を参照し、アドレスに応じてアドレスを変換し、変換したアドレスに基づくアクセス処理を行う。
The
リード領域テーブル生成モジュール113は、テストデータTd(図4)が有するデータのうち、検証処理F2の際に読み出されるテストデータTd内の領域を特定し、リード領域テーブル60(図7)を生成する。リード領域テーブル生成モジュール113の処理の詳細は、図14のフローチャート図にしたがって後述する。
The read area
抜粋テストデータ生成モジュール114は、リード領域テーブル60(図7)とテストデータTd(図4)とに基づいて、抜粋テストデータTdx(図8)、及び、アドレス変換テーブル70(図9)を生成する。抜粋テストデータ生成モジュール114の処理の詳細は、図17にしたがって後述する。
The extracted test
[検証の流れ]
図11は、本実施の形態におけるソフトウェアプログラム20の検証の流れを説明するフローチャート図である。
[Flow of verification]
FIG. 11 is a flowchart for explaining the flow of verification of the
S11:検証装置100は、第1の準備工程を行う。第1の準備工程は、テストデータTdの生成処理F1−1(図11に図示せず)と、テストデータTdを用いたソフトウェアプログラム20の検証処理F2−1(図11に図示せず)を行う。
S11: The
検証装置100は、テストデータTdの生成処理F1−1にしたがってテストデータTdを生成し、検証処理F2−1にしたがってリード領域テーブル60を生成する。工程S11の処理の詳細は、図12〜図14にしたがって後述する。
The
S12:検証装置100は、第2の準備工程を行う。第2の準備工程は、リード領域テーブル60とテストデータTdとに基づく、抜粋テストデータTdx及びアドレス変換テーブル70の生成処理を行う。工程S12の処理の詳細は、図15〜図17にしたがって後述する。
S12: The
生成した抜粋テストデータTdx及びアドレス変換テーブル70は、例えば、検証工程(S13)を行う検証装置100の補助記憶装置202に格納される。なお、本実施の形態は、第1、第2の準備工程を行う検証装置100と、検証工程(S13)を行う検証装置100とが同一である場合を例示する。
The extracted test data Tdx and the address conversion table 70 thus generated are stored, for example, in the
S13:検証装置100は、検証工程を行う。検証工程は、テストデータTdの生成処理F1−2(図11に図示せず)と、ソフトウェアプログラム20の検証処理F2−2(図11に図示せず)を行う。工程S13の処理の詳細は、図18、図19にしたがって後述する。
S13: The
(テストデータTdの生成処理F1−2)
検証装置100は、工程S12にしたがって、検証処理に用いる抜粋テストデータTdxを生成済みである。ただし、図1で前述したとおり、検証装置100は、テストデータTdの生成処理を通して、検証対象のソフトウェア20による、大容量のデータの読み出しや、大容量のデータの書き込みが適切に動作したか否かを検証する。したがって、検証装置100は、検証工程(S13)においても、テストデータTdの生成処理F1−2を行う。
(Test data Td generation process F1-2)
The
また、実際の運用環境と同様のテストデータTdを用いた検証処理を行う場合、テストデータTdの元となるマスタデータMdは、多量の、運用環境と同様のデータを含んでいることが望ましい。ただし、マスタデータMdの容量の増大に伴ってマスタデータMdの読み出し時のオーバヘッドが増加し、マスタデータMdの読み出し処理に時間が長くなる。即ち、テストデータTdの生成処理にかかる時間が増大する。 Further, when performing verification processing using test data Td similar to the actual operation environment, it is desirable that master data Md that is the source of test data Td include a large amount of data similar to the operation environment. However, as the capacity of the master data Md increases, the overhead at the time of reading the master data Md increases, and the time for reading the master data Md increases. That is, the time taken to generate the test data Td increases.
なお、本実施の形態のように、マスタデータMdが、検証装置100と通信を介して接続するストレージ装置SD1に記憶されている場合、マスタデータMdの読み出し処理にかかる時間はさらに長くなり、テストデータTdの生成処理にかかる時間が増大する。
When the master data Md is stored in the storage device SD1 connected to the
したがって、検証工程S13におけるテストデータTdの生成処理F1−2では、以下の処理を行う。ドライバプログラム10は、ソフトウェアプログラム20によるマスタデータMdのリード命令、及び、テストデータTdに対するリード命令に応答して、命令の完了をソフトウェアプログラム20に通知する。即ち、ドライバプログラム10は、マスタデータMdのリード命令、及び、テストデータTdに対するリード命令に応答して処理を行わずに、制御をソフトウェアプログラム20に戻す。
Therefore, in the test data Td generation process F1-2 in the verification step S13, the following process is performed. The
これにより、ドライバプログラム10は、マスタデータMdの読み出し、及び、テストデータTdへの書き込みを省略でき、テストデータTdの生成処理F1−2にかかる時間を短縮可能になる。テストデータTdの生成処理F1−2の時間の短縮により、ドライバプログラム10は、検証処理にかかる時間を短縮できる。例えば、障害修正や機能追加等が高頻度に生じるソフトウェアプログラム20の場合、検証処理にかかる時間の短縮により、より効率的に、簡易に、ソフトウェアプログラム20を提供可能になる。
As a result, the
(検証処理F2−2)
検証工程S13における検証処理F2−2では、検証装置100は、補助記憶装置202に記憶した抜粋テストデータTdxとアドレス変換テーブル70に基づいて、ソフトウェアプログラム20の検証処理を行う。
(Verification process F2-2)
In the verification process F 2-2 in the verification step S 13, the
したがって、ドライバプログラム10は、ソフトウェアプログラム20による、検証処理F2の際に読み出される(位置情報に対応する)データのリード命令に応答し、リード命令の対象データを第2の記憶部(補助記憶装置202等の記憶領域)から読み出す。または、ドライバプログラム10は、検証処理F2の際に読み出されるデータに対するライト命令に応答し、ライト命令の対象データを第2の記憶部に書き込む。そして、ドライバプログラム10は、命令の完了をソフトウェアプログラム20に通知する。
Therefore, the
即ち、ドライバプログラム10は、抜粋テストデータTdxに含まれるデータに対するリード命令またはライト命令に応答して命令の処理を行い、命令の完了をソフトウェアプログラム20に通知する。
That is, the
また、ドライバプログラム10は、ソフトウェアプログラム20による、検証処理F2の際に読み出される(位置情報に対応する)データ以外のデータに対するライト命令に応答して、命令の完了をソフトウェアプログラム20に通知する。即ち、ドライバプログラム10は、抜粋テストデータTdxに含まれないデータに対するライト命令に応答して、命令の処理を行わずに、命令の完了をソフトウェアプログラム20に通知する。
Further, the
このように、ドライバプログラム10は、抜粋テストデータTdxに含まれないデータに対するライト命令に応答して書き込みを行わずに、制御をソフトウェアプログラム20に戻す。これにより、ドライバプログラム10は、テストデータTdの一部のデータのみを有する抜粋テストデータTdxに基づいた、ソフトウェアプログラム20の検証を実現する。
In this manner, the
また、抜粋テストデータTdxに含まれないデータに対する書き込みを行わないことにより、書き込みにかかる時間を短縮可能になる。したがって、検証装置100は、検証処理の実行にかかる時間をより短縮することができる。
In addition, by not writing data not included in the excerpt test data Tdx, the time required for writing can be shortened. Therefore, the
(検証を繰り返し行う場合)
ソフトウェアプログラム20の検証者は、第1の準備工程(S11)、及び、第2の準備工程(S12)を1回実施し、検証工程(S13)を、ソフトウェアプログラム20の機能追加や障害修正等に伴うレグレッションテストの都度、実施する。即ち、検証者は、1回の、第1の準備工程(S11)及び第2の準備工程(S12)にしたがって生成した、抜粋テストデータTdx及びアドレス変換テーブル70を用いて、繰り返しソフトウェアプログラム20の検証(S13)を行う。
(When the verification is repeated)
The verifier of the
このように、検証装置100は、テストデータTdから、ソフトウェアプログラム20が実行する際に読み出されるデータを抽出して記憶したデータに基づいて、検証処理の実行を繰り返す。
As described above, the
したがって、あるソフトウェアプログラム20に対して、抜粋テストデータTdx及びアドレス変換テーブル70の生成処理は1回のみ実行されればよい。これにより、検証装置100は、2回目以降は、抜粋テストデータTdx及びアドレス変換テーブル70の生成処理を省略可能になるため、検証にかかる時間を短縮することができる。したがって、検証処理に用いる記憶領域の容量を抑えるとともに、より効率的に、簡易に、ソフトウェアプログラム20の検証を行うことが可能になる。
Therefore, the extraction test data Tdx and the address conversion table 70 need only be generated once for a given
また、マスタデータMdは、例えば、検証装置100が有する記憶領域(補助記憶装置)202とは異なる別の記憶領域であって、アクセス速度が当該記憶領域に対するアクセス速度より遅い別の記憶領域(ストレージ装置SD1)に記憶される。これに対し、抜粋テストデータTdxは、テストデータTdに対して容量が小さいため、検証装置100が有する記憶領域に格納可能である。したがって、検証装置100は、検証装置100内に位置する記憶領域に記憶した抜粋テストデータTdxに基づいて、高速に、検証処理を実行できる。
The master data Md is, for example, another storage area different from the storage area (auxiliary storage device) 202 included in the
次に、図12〜図19にしたがって、図11で説明した、工程S11〜S13の各工程の詳細を、順次説明する。初めに、図12〜図14にしたがって、第1の準備工程(S11)を説明する。 Next, according to FIGS. 12 to 19, details of each step of steps S <b> 11 to S <b> 13 described in FIG. 11 will be sequentially described. First, the first preparation step (S11) will be described according to FIGS.
[第1の準備工程(図11のS11)の概要]
図12は、第1の準備工程(図11のS11)の処理を模式的に説明する図である。図12において、図2で示したものと同一のものは、同一の記号で示す。図12は、第1の準備工程(工程S11)における、テストデータTdの生成処理F1−1、及び、生成したテストデータTdを用いたソフトウェアプログラム20の検証処理F2−1を示す。
(テストデータTdの生成処理F1−1)
検証装置100は、図2で説明したとおり、マスタデータMdから読み出したデータddに基づいて、テストデータTdを生成する。
[Outline of First Preparation Step (S11 in FIG. 11)]
FIG. 12 is a diagram schematically illustrating the process of the first preparation step (S11 of FIG. 11). In FIG. 12, the same components as those shown in FIG. 2 are indicated by the same symbols. FIG. 12 shows the test data Td generation process F1-1 and the verification process F2-1 of the
(Test data Td generation process F1-1)
The
テストプログラム30は、マスタデータMdに対するリード命令を、ソフトウェアプログラム20を介して(x1)、ドライバプログラム10に出力する(x2)。ドライバプログラム10は、受信したリード命令に応答して、ストレージ装置SD1に記憶されたマスタデータMdを読み出し(x3)、読み出したデータddをソフトウェアプログラム20を介して(x2)、テストプログラム30に出力する(x1)。
The
テストプログラム30は、マスタデータMdから読み出したデータddを必要に応じて加工し、データddのテストデータTdに対するライト命令を、ソフトウェアプログラム20を介して(x4)、ドライバプログラム10に出力する(x5)。ドライバプログラム10は、受信したライト命令に応答して、ストレージ装置SD2に記憶されたテストデータTdにデータddを書き込む(x6)。
The
同様にして、ドライバプログラム10は、テストプログラム30にしたがってソフトウェアプログラム20から受信した命令にしたがって、マスタデータMdやテストデータTdに対するアクセス処理を行う(x11〜x16)。このアクセス処理を繰り返すことによって、ドライバプログラム10は、テストデータTdを生成する。
Similarly, the
テストデータTdの生成が完了すると、ドライバプログラム10は、後続の検証処理F2−1に伴うテストデータTdの更新に備えて、生成したテストデータTdを複写して、退避しておく(図示せず)。具体的に、ドライバプログラム10は、抜粋テストデータTdxの生成処理(図11のS12)に用いるために、更新前のテストデータTdを退避する。
When the generation of the test data Td is completed, the
(検証処理F2−1)
検証装置100は、生成したテストデータTdを用いて、予め定めた検証項目に応じた、ソフトウェアプログラム20の検証処理を行う。
(Verification process F2-1)
The
テストプログラム30は、検証内容に応じて、テストデータTdのアクセス命令(リード命令、ライト命令)を、ソフトウェアプログラム20を介して(y1、y4、y11、y14)、ドライバプログラム10に出力する(y2、y5、y12、y15)。ドライバプログラム10は、受信したアクセス命令に応答して、ストレージ装置SD2に記憶されたテストデータTdの対象のデータに対して、アクセス命令に対応する処理を行う(y3、y6、y13、y16)。
The
図12の例によると、ドライバプログラム10は、テストデータTd内の領域a1、a2のデータを読み出す(y3、y13)。また、ドライバプログラム10は、テストデータTd内の領域a2に対してデータを書き込み(y6)、領域a3に対してデータを書き込む(y16)。図12の例によると、検証処理F2−1において、領域a3のデータに対する書き込みは行われるものの、読み出しは行われない。
According to the example of FIG. 12, the
したがって、ドライバプログラム10は、テストデータTdが有するデータ(領域)のうち、リード命令の対象となるデータ(領域a1、a2等)を特定する。そして、ドライバプログラム10は、領域a1、a2に対応するブロック番号「0」「1」のリードフラグを値「ON」に設定した、リード領域テーブル60を生成し(y17)、ストレージ装置SD2に記憶する。
Therefore, the
[第1の準備工程(図11のS11)の処理の詳細]
図13は、第1の準備工程(図11のS11)の処理の詳細を説明するフローチャート図である。
[Details of Process of First Preparation Step (S11 in FIG. 11)]
FIG. 13 is a flowchart for explaining the details of the process of the first preparation step (S11 in FIG. 11).
S21:検証装置100は、図2で説明したとおり、テストデータTdの生成処理F1−1として、マスタデータMdから読み出したデータddに基づいて、テストデータTdを生成し、ストレージ装置SD2に記憶する。工程S21におけるドライバプログラム10の処理の詳細は、図19のフローチャート図で後述する。
S21: The
S22:テストデータTdの生成処理の完了通知をテストプログラム30から受信すると、ドライバプログラム10の制御モジュール111は、生成したテストデータTdを複写し、退避する。前述したとおり、制御モジュール111は、後続の工程S23に伴うテストデータTdの更新に備えて、テストデータTdを複写して退避する。
S22: When receiving the completion notice of the test data Td generation process from the
S23:検証装置100は、検証処理F2−1として、生成したテストデータTdを用いたソフトウェアプログラム20の検証処理を行う。
S23: The
図12で説明したとおり、ドライバプログラム10のアクセスモジュール112は、ソフトウェアプログラム20から受信したアクセス命令(リード命令、ライト命令)に応答して、テストデータTdに対するアクセス処理を行う。
As described in FIG. 12, the
このとき、リード領域テーブル生成モジュール113は、リード領域テーブル60(図7)を生成し、ストレージ装置SD2に記憶する。なお、リード領域テーブル生成モジュール113は、リード領域テーブル60を検証装置100内の補助記憶装置202に記憶してもよい。
At this time, the read area
次に、図14のフローチャート図にしたがって、工程S23の処理の詳細を説明する。 Next, the details of the process of step S23 will be described according to the flow chart of FIG.
[(図13のS23)リード領域テーブル60の生成処理]
図14は、図13の工程S23の処理の詳細を説明するフローチャート図である。
[(S23 in FIG. 13) generation process of the lead area table 60]
FIG. 14 is a flowchart for explaining the details of the process of step S23 of FIG.
S31:ドライバプログラム10の制御モジュール111は、ソフトウェアプログラム20からアクセス命令を受信した際に、アクセス命令の種別を取得する。
S31: When receiving the access instruction from the
S32:制御モジュール111は、取得した種別が、リード命令であるか否かを判定する。
S32: The
S33:リード命令であると判定した場合(S32のYes)、リード領域テーブル生成モジュール113は、リード命令のパラメータ(オフセット、サイズ)を取得する。そして、リード領域テーブル生成モジュール113は、オフセットとサイズとに基づいて、リード命令の対象の領域に対応するブロック番号を取得(特定)する。
S33: If it is determined that the command is a read command (Yes in S32), the read area
S34:リード領域テーブル生成モジュール113は、取得(特定)したブロック番号に対応する、リード領域テーブル60内のリードフラグを値「ON」に設定する。
S34: The read area
具体的に、識別情報「1」のデータに対するリード命令を受信した場合、リード領域テーブル生成モジュール113は、読み出されるデータのテストデータTd内の位置情報として、識別情報「1」のデータに対応するブロック番号「0」を特定する。そして、リード領域テーブル生成モジュール113は、ブロック番号「0」に対応する、リード領域テーブル60内のリードフラグを値「ON」に設定する。他の領域のデータを読み出した場合についても同様である。
Specifically, when a read command for data of identification information “1” is received, the read area
S35:アクセスモジュール112は、リード命令実行する。
S35: The
S36:アクセスモジュール112は、リード命令の処理の復帰値(戻り値)をセットし、リード命令の呼び出し元のソフトウェアプログラム20に制御を戻す。
S36: The
S37:一方、工程S31で取得した種別がライト命令であると判定した場合(S32のNo)、アクセスモジュール112は、ライト命令を実行する。
S37: On the other hand, when it is determined that the type acquired in step S31 is a write command (No in S32), the
S38:アクセスモジュール112は、ライト命令の処理の復帰値(戻り値)をセットし、ライト命令の呼び出し元のソフトウェアプログラム20に制御を戻す。
S38: The
次に、図15〜図17にしたがって、第2の準備工程(図11のS12)を説明する。まず、図15にしたがって、第2の準備工程の概要を説明する。 Next, the second preparation step (S12 in FIG. 11) will be described according to FIGS. First, the outline of the second preparation process will be described according to FIG.
[第2の準備工程(図11のS12)の概要]
図15は、第2の準備工程(図11のS12)の処理の概要を模式的に説明する図である。図15において、図12で示したものと同一のものは、同一の記号で示す。図15は、第2の準備工程における、抜粋テストデータTdx、及び、アドレス変換テーブル70の生成処理を示す。
[Overview of Second Preparation Step (S12 in FIG. 11)]
FIG. 15 is a diagram schematically illustrating the outline of the process of the second preparation step (S12 of FIG. 11). In FIG. 15, the same components as those shown in FIG. 12 are indicated by the same symbols. FIG. 15 shows generation processing of the excerpted test data Tdx and the address conversion table 70 in the second preparation step.
本実施の形態によると、リード領域テーブル60は、領域(領域a1、a2、…、ak等)に対応するブロック番号(「0」「1」…等)のリードフラグが値「ON」である旨の情報を有する。したがって、図15に示すように、ドライバプログラム10の抜粋テストデータ生成モジュール114は、退避したテストデータTdが有するデータのうち、領域(領域a1、a2、…、ak等)のデータを有する、抜粋テストデータTdxを生成する。
According to the present embodiment, in the read area table 60, the read flag of the block number ("0", "1", etc.) corresponding to the area (areas a1, a2, ..., ak etc.) has the value "ON". It has the information to the effect. Therefore, as shown in FIG. 15, the excerpt test
検証処理F−2の際に読み出されるデータは、テストデータTdが有するデータの一部のデータである。また、検証処理F−2の際に読み出されるデータは、検証内容によっては、テストデータTdが有するデータのうち、極一部のデータを示す。したがって、検証の内容によっては、抜粋テストデータTdxの容量を、テストデータTdに対して大幅に抑制することが可能になる。 The data read out in the verification process F-2 is part of data of the test data Td. Further, the data read out in the verification process F-2 indicates, depending on the contents of verification, data of a part of data included in the test data Td. Therefore, depending on the contents of the verification, the capacity of the excerpted test data Tdx can be largely suppressed with respect to the test data Td.
また、抜粋テストデータ生成モジュール114は、領域(領域a1、a2、…、ak等)に記憶されたデータの、テストデータTd内のアドレスと、抜粋テストデータTdx内のアドレスとの対応関係を有する、アドレス変換テーブル70を生成する。
Further, the excerpt test
[第2の準備工程(図11のS12)の詳細]
図16は、第2の準備工程(図11のS12)の処理の詳細を説明するフローチャート図である。
[Details of Second Preparation Step (S12 in FIG. 11)]
FIG. 16 is a flowchart for explaining the details of the process of the second preparation step (S12 in FIG. 11).
S41:抜粋テストデータ生成モジュール114は、リード領域テーブル60(図7)とテストデータTd(図4)とに基づいて、抜粋テストデータTdx(図8)及びアドレス変換テーブル70(図9)を生成する。工程S41の処理の詳細は、図17のフローチャート図で後述する。
S41: The extracted test
S42:ドライバプログラム10の制御モジュール111は、モード設定を、テストデータTd生成処理F1に設定する。
S42: The
S43:制御モジュール111は、テストケースを指定するテストプログラムの識別番号を設定する。例えば、テストデータTdはテストケースに応じて異なるため、抜粋テストデータTdxについても、テストケースに応じて異なる。
S43: The
S44:検証者は、対象のテストケースを指定するテストプログラムに対応する、抜粋テストデータTdx及びアドレス変換テーブル70を、検証工程(S13)を行う検証装置100の補助記憶装置202(図6)に記憶する。
S44: The verifier matches the excerpted test data Tdx and the address conversion table 70 corresponding to the test program for specifying the target test case to the auxiliary storage device 202 (FIG. 6) of the
次に、図17のフローチャート図にしたがって、工程S41に示す、抜粋テストデータTdx及びアドレス変換テーブル70の生成処理を説明する。 Next, according to the flow chart of FIG. 17, the process of generating the excerpted test data Tdx and the address conversion table 70 shown in step S41 will be described.
[(図16のS41)抜粋テストデータTdx、アドレス変換テーブル70の生成処理]
図17は、抜粋テストデータTdx及びアドレス変換テーブル70の生成処理(図16の工程S41)を説明するフローチャート図である。
[(S41 in FIG. 16) excerpted test data Tdx, generation process of address conversion table 70]
FIG. 17 is a flowchart for explaining the generation process (step S41 in FIG. 16) of the excerpt test data Tdx and the address conversion table 70.
S51:抜粋テストデータ生成モジュール114は、変数「K」に値「1」を設定する。
S51: The extracted test
S52:抜粋テストデータ生成モジュール114は、リード領域テーブル60の、変数「K」のブロック番号のリードフラグの値を取得する。
S52: The extraction test
S53:抜粋テストデータ生成モジュール114は、取得したリードフラグの値が値「ON」であるか否かを判定する。
S53: The extracted test
S54:値「ON」である場合(S53のYes)、抜粋テストデータ生成モジュール114は、テストデータTdから、変数「K」のブロック番号の領域のデータを読み出す。
S54: When the value is “ON” (Yes in S53), the excerpted test
S55:抜粋テストデータ生成モジュール114は、テストデータTdから読み出したデータの、テストデータTd内の先頭位置からのオフセット値を取得する。
S55: The excerpted test
S56:抜粋テストデータ生成モジュール114は、テストデータTdから読み出したデータを、抜粋テストデータTdxに書き込む。
S56: The extraction test
S57:抜粋テストデータ生成モジュール114は、工程S56で抜粋テストデータTdxに書き込んだデータの、抜粋テストデータTdx内の先頭位置からのオフセットを取得する。
S57: The excerpt test
S58:抜粋テストデータ生成モジュール114は、工程S56で抜粋テストデータTdxに書き込んだデータの、テストデータTd内のオフセットと抜粋テストデータTdx内のオフセットとの対応情報を、アドレス変換テーブル70に書き込む(追加する)。
S58: The excerpt test
例えば、抜粋テストデータ生成モジュール114は、図9に示したように、識別情報「6」のデータについて、テストデータTd内のオフセット「0x2a00000」と、抜粋テストデータTdx内のオフセット「0x1000000」を取得する。そして、抜粋テストデータ生成モジュール114は、取得したオフセットの対応情報を、アドレス変換テーブル70に書き込む。
For example, as shown in FIG. 9, the excerpt test
S59:値「ON」ではない場合(S53のNo)、または、工程S58の後、抜粋テストデータ生成モジュール114は、変数「K」の値をインクリメントする。
S59: If the value is not “ON” (No in S53), or after step S58, the extraction test
S60:抜粋テストデータ生成モジュール114は、リード領域テーブル60の終端に達したか否かを判定する。リード領域テーブル60の終端に達した場合(S60のYes)、抜粋テストデータ生成モジュール114は処理を終了する。一方、終端に達していない場合(S60のNo)、抜粋テストデータ生成モジュール114は、工程S52に遷移する。
S60: The extraction test
次に、図18、図19にしたがって、検証工程(図11のS13)を説明する。まず、図18にしたがって、検証工程の概要を説明する。 Next, the verification step (S13 in FIG. 11) will be described according to FIGS. First, the outline of the verification process will be described according to FIG.
[検証工程(図11のS13)の概要]
図18は、検証工程(図11のS13)の処理の概要を模式的に説明する図である。図18において、図12、図15で示したものと同一のものは、同一の記号で示す。図18は、検証工程(S13)における、テストデータTdの生成処理F1−2、及び、ソフトウェアプログラム20の検証処理F2−2を示す。
[Overview of Verification Process (S13 in FIG. 11)]
FIG. 18 is a diagram schematically illustrating the outline of the process of the verification step (S13 of FIG. 11). In FIG. 18, the same components as those shown in FIGS. 12 and 15 are indicated by the same symbols. FIG. 18 shows the test data Td generation process F1-2 and the
(テストデータTdの生成処理F1−2)
検証装置100は、第1の準備工程(図11のS11)と同様にして、マスタデータMdから読み出したデータddに基づいて、テストデータTdを生成する。
(Test data Td generation process F1-2)
The
第1の準備工程(S11)と同様にして、テストプログラム30は、マスタデータMdに対するリード命令を(x21)、ソフトウェアプログラム20を介して、ドライバプログラム10に出力する(x22)。ただし、図18の例に示すように、検証工程(S13)では、ドライバプログラム10は、受信したリード命令に応答して、マスタデータMdを読み出し処理を行うことなく(x23:点線)、制御をソフトウェアプログラム20に戻す(x22)。
Similar to the first preparation step (S11), the
また、テストプログラム30は、データddのテストデータTdに対するライト命令を(x24)、ソフトウェアプログラム20を介して、ドライバプログラム10に出力する(x25)。ドライバプログラム10は、リード命令と同様にして、受信したライト命令に応答して、テストデータTdにデータの書き込み処理を行うことなく(x26:点線)、制御をソフトウェアプログラム20に戻す。
Further, the
同様にして、ドライバプログラム10は、マスタデータMdに対するリード命令、及び、テストデータTdに対するライト命令を行うことなく、制御を呼び出し元に戻す(x31〜x36)。
Similarly, the
これにより、ドライバプログラム10は、マスタデータMdの読み出し、及び、テストデータTdへの書き込みを省略でき、テストデータTdの生成処理F1−2にかかる時間を短縮可能になる。
As a result, the
(検証処理F2−2)
検証装置100は、第1の準備工程(図11のS11)と同様にして、ソフトウェアプログラム20の検証処理を行う。ただし、検証工程S13では、検証装置100は、補助記憶装置202に記憶した抜粋テストデータTdxとアドレス変換テーブル70に基づいて、ソフトウェアプログラム20の検証処理を行う。
(Verification process F2-2)
The
図11で前述したとおり、ドライバプログラム10は、検証処理F2の際に読み出されるデータに対する、リード命令またはライト命令に応答して、命令に応じた処理を行った後、命令の完了をソフトウェアプログラム20に通知する。一方、ドライバプログラム10は、読み出されないデータに対するライト命令に応答して、処理を行うことなく、命令の完了をソフトウェアプログラム20に通知する。これにより、ドライバプログラム10は、テストデータTdの一部のデータのみを有する抜粋テストデータTdxに基づいた、ソフトウェアプログラム20の検証を実現する。
As described above with reference to FIG. 11, the
具体的に、テストプログラム30は、テストデータTdのアクセス命令(リード命令、ライト命令)を、ソフトウェアプログラム20を介して(y21、y24、y31、y34)、ドライバプログラム10に出力する(y22、y25、y32、y35)。検証工程S13では、ドライバプログラム10は、受信したアクセス命令に応答して、アクセス命令の対象のアドレスが、検証処理F2の際に読み出されるデータを示す場合に、アクセス命令に応じた処理を行う。
Specifically, the
本実施の形態において、ソフトウェアプログラム20から受信したアクセス命令(y22、y25、y32)の対象のアドレス(テストデータTd内の領域a1、a2のアドレス)は、検証処理F2の際に読み出されるデータを示す。したがって、ドライバプログラム10は、アドレス変換テーブル70に基づいて、アクセス命令の対象アドレス(テストデータTd内の領域a1、a2のアドレス)を、抜粋テストデータTdxのアドレスに変換する。そして、ドライバプログラム10は、変換後のアドレスに対してアクセス処理を行う(y23x、y26x、y33x)。
In the present embodiment, the address (the address of the area a1, a2 in the test data Td) of the target of the access instruction (y22, y25, y32) received from the
このように、ドライバプログラム10は、検証処理F2の際に読み出される(位置情報に対応する)データのリード命令に応答し、リード命令の対象アドレスを対応する第2の記憶部のアドレスに変換して、対象データを変換後のアドレスから読み出す。または、ドライバプログラム10は、検証処理F2の際に読み出されるデータに対するライト命令に応答し、ライト命令の対象アドレスを対応する第2の記憶部のアドレスに変換して、対象データを変換後のアドレスに書き込む。
As described above, the
このように、ドライバプログラム10は、ソフトウェアプログラム20から受信したアクセス命令の対象のアドレスを、抜粋テストデータTdxのアドレスに変換する。これにより、ドライバプログラム10は、テストデータTdの一部のデータのみを有する抜粋テストデータTdxに基づく、ソフトウェアプログラム20の検証を実現できる。
Thus, the
一方、ソフトウェアプログラム20から受信したライト命令(y35)の対象のアドレスは、テストデータTd内の領域a3のアドレスであって、検証処理F2の際に読み出されるデータを示していない(y36)。したがって、ドライバプログラム10は、ライト命令の受信に応答して、ライト命令の完了をソフトウェアプログラム20に通知する。即ち、ドライバプログラム10は、ライト命令の処理を行わずに、制御をソフトウェアプログラム20に戻す。
On the other hand, the target address of the write command (y35) received from the
次に、図19のフローチャート図にしたがって、図18に示した、検証工程(図11のS13)の処理の詳細を説明する。 Next, details of the process of the verification step (S13 in FIG. 11) shown in FIG. 18 will be described according to the flowchart of FIG.
[検証工程(図11のS13)の詳細]
図19は、検証工程(図11のS13)の処理の詳細を説明するフローチャート図である。
[Details of Verification Process (S13 in FIG. 11)]
FIG. 19 is a flowchart for explaining the details of the process of the verification step (S13 of FIG. 11).
検証工程(S13)におけるテストデータTdの生成処理F1−2の場合、テストプログラム30は、アクセス命令の対象のアドレスに、マスタデータMdやテストデータTdのアドレスとは異なる、ダミーアドレスを指定する。
In the case of the test data Td generation process F1-2 in the verification step (S13), the
S61:ドライバプログラム10のアクセスモジュール112は、実行対象のモード(処理)を判定する。
S61: The
S62:モードがテストデータTdの生成処理F1を示す場合(S61:生成処理)、アクセスモジュール112は、アクセス対象のアドレスが、予め指定されたダミーアドレス以上の値であるか否かを判定する。ダミーアドレス以上の値のアドレスは、当該アドレスがダミーアドレスであることを示す。
S62: When the mode indicates the generation process F1 of the test data Td (S61: generation process), the
S63:アクセス対象のアドレスがダミーアドレスより小さい値である(S62のNo)、第1の準備工程(S11)におけるテストデータTdの生成処理F1−1の場合を示す。したがって、アクセスモジュール112は、ソフトウェアプログラム20から受信したアクセス命令に応答して、アクセス命令を実行する。
S63: The case of the generation process F1-1 of the test data Td in the first preparation step (S11) is shown, in which the access target address is a value smaller than the dummy address (No in S62). Thus, the
一方、アクセス対象のアドレスがダミーアドレス以上の値である場合(S62のYes)、アクセスモジュール112は、マスタデータMdの読み出し、及び、テストデータTdへの書き込みを実行せずに、ソフトウェアプログラム20に制御を戻す。即ち、アクセスモジュール112は、テストデータTdの生成処理を省略する。
On the other hand, when the address to be accessed is a value greater than or equal to the dummy address (Yes in S62), the
S64:モードが検証処理F2を示す場合(S61:検証処理)、アクセスモジュール112は、ソフトウェアプログラム20から受信したアクセス命令が、リード命令であるかライト命令であるかを判定する。
S64: When the mode indicates the verification process F2 (S61: verification process), the
S65:アクセス命令がライト命令である場合(S64:ライト命令)、アクセスモジュール112は、ライト命令の対象のアドレスが、アドレス変換テーブル70に含まれるか否かを判定する。即ち、アクセスモジュール112は、ライト命令の対象のアドレスが、検証処理F2−2の際に読み出されるデータのアドレスであるか否かを示す。
S65: When the access instruction is a write instruction (S64: write instruction), the
ライト命令の対象のアドレスがアドレス変換テーブル70に含まれない場合(S65のNo)、アクセスモジュール112は、ライト命令の処理を行うことなく、ソフトウェアプログラム20に制御を戻す。
If the address of the target of the write command is not included in the address conversion table 70 (No in S65), the
S66:ライト命令の対象のアドレスがアドレス変換テーブル70に含まれる場合(S65のYes)、または、アクセス命令がリード命令である場合(S64:リード命令)、アクセスモジュール112は、アドレスの変換処理を行う。具体的に、アクセスモジュール112は、アドレス変換テーブル70を参照し、アクセス対象のアドレス(テストデータTd内のアドレス)を、抜粋テストデータTdxのアドレスに変換する。
S66: If the address of the target of the write instruction is included in the address conversion table 70 (Yes in S65), or if the access instruction is a read instruction (S64: read instruction), the
S67:アクセスモジュール112は、変換後のアドレスにしたがって、抜粋テストデータTdx内のデータのリード命令またはライト命令を実行する。
S67: The
これにより、ソフトウェアプログラム20からのアクセス命令に応答して、アクセス命令が対象とする、抜粋テストデータTdx内のデータにアクセスすることが可能になる。即ち、ドライバプログラム10は、抜粋テストデータTdxに基づいた、ソフトウェアプログラム20の検証を実現する。
Thereby, in response to the access instruction from the
[他の実施の形態]
上記の実施の形態によると、抜粋テストデータTdx、及び、アドレス変換テーブル70を検証装置100の補助記憶装置202に記憶する場合を例示した。ただし、この例に限定されるものではない。抜粋テストデータTdx、及び、アドレス変換テーブル70は、検証装置100と接続するストレージ装置SD2に記憶されてもよい。
Other Embodiments
The above embodiment exemplifies the case where the excerpted test data Tdx and the address conversion table 70 are stored in the
また、上記の実施の形態によると、検証装置100は、検証工程(S13)の際に、テストデータTdの生成処理F1−2を行う。ただし、検証装置100は、検証工程(S13)の際に、テストデータTdの生成処理F1−2自体を実行しなくてもよい。検証装置100は、例えば、検証工程(S13)の際に、検証処理F2−2のみを実行してもよい。
Further, according to the above-described embodiment, the
以上の実施の形態をまとめると、次の付記のとおりである。 The following is a summary of the above embodiment.
(付記1)
コンピュータに、
マスタデータに基づいて生成したテストデータを第1の記憶部に記憶し、
前記テストデータのうち、生成した前記テストデータを用いた処理を被検証プログラムが実行する際に読み出されたデータの位置を特定し、
特定した前記位置に対応するデータを前記テストデータから抽出して第2の記憶部に記憶させ、
前記第2の記憶部に記憶されたデータに基づいて検証処理を実行する、
ことを実行させることを特徴とする制御プログラム。
(Supplementary Note 1)
On the computer
Storing test data generated based on the master data in the first storage unit;
Identifying, among the test data, a position of data read out when the program to be verified executes a process using the generated test data;
Data corresponding to the specified position is extracted from the test data and stored in the second storage unit;
Executing verification processing based on the data stored in the second storage unit;
A control program characterized in that it performs.
(付記2)
付記1において、
前記実行は、前記被検証プログラムによる前記位置に対応するデータの読み出し命令または書き込み命令に応答し、前記読み出し命令の対象データを前記第2の記憶部から読み出し、または、前記書き込み命令の対象データを前記第2の記憶部に書き込み、前記命令の完了を前記被検証プログラムに通知し、前記被検証プログラムによる前記位置に対応するデータ以外のデータに対する書き込み命令に応答して前記命令の完了を前記被検証プログラムに通知する、
制御プログラム。
(Supplementary Note 2)
In
The execution responds to a read command or a write command of data corresponding to the position by the program to be verified, reads target data of the read command from the second storage unit, or targets data of the write command. The completion of the instruction is notified to the program to be verified, and the completion of the instruction is notified in response to a write instruction for data other than the data corresponding to the position by the program to be verified. Notify the verification program,
Control program.
(付記3)
付記2において、
前記実行は、前記位置に対応するデータの読み出し命令または書き込み命令に応答し、前記読み出し命令の対象アドレスを、当該対象アドレスに対応する前記第2の記憶部のアドレスに変換して、前記対象データを変換後のアドレスから読み出し、または、前記書き込み命令の対象アドレスを、当該対象アドレスに対応する前記第2の記憶部のアドレスに変換して、前記対象データを変換後のアドレスに書き込み、前記命令の完了を前記被検証プログラムに通知する、
制御プログラム。
(Supplementary Note 3)
In
The execution is responsive to a read instruction or a write instruction of data corresponding to the position, and converts the target address of the read instruction into the address of the second storage unit corresponding to the target address, and the target data Is read from the converted address, or the target address of the write instruction is converted to the address of the second storage unit corresponding to the target address, and the target data is written to the converted address, the instruction Informing the program to be verified of
Control program.
(付記4)
付記1乃至3のいずれかにおいて、
前記実行は、前記被検証プログラムによる前記マスタデータの読み出し命令、及び、前記被検証プログラムによる前記テストデータに対する書き込み命令に応答して、前記命令の完了を前記被検証プログラムに通知する、
制御プログラム。
(Supplementary Note 4)
In any of
The execution notifies the completion of the instruction to the program to be verified in response to a read instruction of the master data by the program to be verified and a write instruction to the test data by the program to be verified.
Control program.
(付記5)
付記1乃至4のいずれかにおいて、
前記実行は、前記第2の記憶部に記憶した前記データに基づいて前記検証処理の実行を繰り返す、
制御プログラム。
(Supplementary Note 5)
In any of
The execution repeats the execution of the verification process based on the data stored in the second storage unit.
Control program.
(付記6)
付記1乃至5のいずれかにおいて、
前記第1の記憶部に対するアクセス速度は、前記第2の記憶部に対するアクセス速度より遅い、
制御プログラム。
(Supplementary Note 6)
In any of
The access speed to the first storage unit is slower than the access speed to the second storage unit,
Control program.
(付記7)
処理部が、マスタデータに基づいて生成したテストデータを第1の記憶部に記憶し、
処理部が、前記テストデータのうち、生成した前記テストデータを用いた処理を被検証プログラムが実行する際に読み出されたデータの位置を特定し、
処理部が、特定した前記位置に対応するデータを前記テストデータから抽出して第2の記憶部に記憶させ、
処理部が、前記第2の記憶部に記憶されたデータに基づいて検証処理を実行する、
制御方法。
(Appendix 7)
The processing unit stores test data generated based on the master data in the first storage unit;
The processing unit specifies a position of data read out from the test data when the program to be verified executes a process using the generated test data,
The processing unit extracts data corresponding to the specified position from the test data and stores the data in the second storage unit.
The processing unit executes verification processing based on the data stored in the second storage unit;
Control method.
(付記8)
付記7において、
前記実行は、前記被検証プログラムによる前記位置に対応するデータの読み出し命令または書き込み命令に応答し、前記読み出し命令の対象データを前記第2の記憶部から読み出し、または、前記書き込み命令の対象データを前記第2の記憶部に書き込み、前記命令の完了を前記被検証プログラムに通知し、前記被検証プログラムによる前記位置に対応するデータ以外のデータに対する書き込み命令に応答して前記命令の完了を前記被検証プログラムに通知する、
制御方法。
(Supplementary Note 8)
In
The execution responds to a read command or a write command of data corresponding to the position by the program to be verified, reads target data of the read command from the second storage unit, or targets data of the write command. The completion of the instruction is notified to the program to be verified, and the completion of the instruction is notified in response to a write instruction for data other than the data corresponding to the position by the program to be verified. Notify the verification program,
Control method.
(付記9)
付記8において、
前記実行は、前記位置に対応するデータの読み出し命令または書き込み命令に応答し、前記読み出し命令の対象アドレスを、当該対象アドレスに対応する前記第2の記憶部のアドレスに変換して、前記対象データを変換後のアドレスから読み出し、または、前記書き込み命令の対象アドレスを、当該対象アドレスに対応する前記第2の記憶部のアドレスに変換して、前記対象データを変換後のアドレスに書き込み、前記命令の完了を前記被検証プログラムに通知する、
制御方法。
(Appendix 9)
In Appendix 8,
The execution is responsive to a read instruction or a write instruction of data corresponding to the position, and converts the target address of the read instruction into the address of the second storage unit corresponding to the target address, and the target data Is read from the converted address, or the target address of the write instruction is converted to the address of the second storage unit corresponding to the target address, and the target data is written to the converted address, the instruction Informing the program to be verified of
Control method.
(付記10)
付記7乃至9のいずれかにおいて、
前記実行は、前記被検証プログラムによる前記マスタデータの読み出し命令、及び、前記被検証プログラムによる前記テストデータに対する書き込み命令に応答して、前記命令の完了を前記被検証プログラムに通知する、
制御方法。
(Supplementary Note 10)
In any of
The execution notifies the completion of the instruction to the program to be verified in response to a read instruction of the master data by the program to be verified and a write instruction to the test data by the program to be verified.
Control method.
(付記11)
付記7乃至10のいずれかにおいて、
前記実行は、前記第2の記憶部に記憶した前記データに基づいて前記検証処理の実行を繰り返す、
制御方法。
(Supplementary Note 11)
In any of
The execution repeats the execution of the verification process based on the data stored in the second storage unit.
Control method.
(付記12)
付記7乃至11のいずれかにおいて、
前記第1の記憶部に対するアクセス速度は、前記第2の記憶部に対するアクセス速度より遅い、
制御方法。
(Supplementary Note 12)
In any of
The access speed to the first storage unit is slower than the access speed to the second storage unit,
Control method.
(付記13)
第1の記憶部と、
第2の記憶部と、
マスタデータに基づいて生成したテストデータを前記第1の記憶部に記憶し、前記テストデータのうち、生成した前記テストデータを用いた処理を被検証プログラムが実行する際に読み出されたデータの位置を特定し、特定した前記位置に対応するデータを前記テストデータから抽出して前記第2の記憶部に記憶させ、前記第2の記憶部に記憶されたデータに基づいて検証処理を実行する処理部と、
を有する制御装置。
(Supplementary Note 13)
A first storage unit,
A second storage unit,
Test data generated based on master data is stored in the first storage unit, and of the test data, data read out when the program to be verified executes processing using the generated test data A position is specified, data corresponding to the specified position is extracted from the test data, stored in the second storage unit, and a verification process is executed based on the data stored in the second storage unit. A processing unit,
A control device having
(付記14)
付記13において、
前記処理部は、前記被検証プログラムによる前記位置に対応するデータの読み出し命令または書き込み命令に応答し、前記読み出し命令の対象データを前記第2の記憶部から読み出し、または、前記書き込み命令の対象データを前記第2の記憶部に書き込み、前記命令の完了を前記被検証プログラムに通知し、前記被検証プログラムによる前記位置に対応するデータ以外のデータに対する書き込み命令に応答して前記命令の完了を前記被検証プログラムに通知する、
制御装置。
(Supplementary Note 14)
In appendix 13,
The processing unit responds to a read command or a write command of data corresponding to the position according to the program to be verified, reads target data of the read command from the second storage unit, or target data of the write command. Is written to the second storage unit, the completion of the instruction is notified to the program to be verified, and the instruction is completed in response to a write instruction for data other than the data corresponding to the position by Notify the program to be verified
Control device.
(付記15)
付記14において、
前記処理部は、前記位置に対応するデータの読み出し命令または書き込み命令に応答し、前記読み出し命令の対象アドレスを、当該対象アドレスに対応する前記第2の記憶部のアドレスに変換して、前記対象データを変換後のアドレスから読み出し、または、前記書き込み命令の対象アドレスを、当該対象アドレスに対応する前記第2の記憶部のアドレスに変換して、前記対象データを変換後のアドレスに書き込み、前記命令の完了を前記被検証プログラムに通知する、
制御装置。
(Supplementary Note 15)
In appendix 14,
The processing unit responds to a read command or a write command of data corresponding to the position, converts a target address of the read command into an address of the second storage unit corresponding to the target address, and The data is read from the converted address, or the target address of the write instruction is converted to the address of the second storage unit corresponding to the target address, and the target data is written to the converted address, Informing the program to be verified that the instruction has been completed,
Control device.
(付記16)
付記13乃至15のいずれかにおいて、
前記処理部は、前記被検証プログラムによる前記マスタデータの読み出し命令、及び、前記被検証プログラムによる前記テストデータに対する書き込み命令に応答して、前記命令の完了を前記被検証プログラムに通知する、
制御装置。
(Supplementary Note 16)
In any of appendices 13 to 15,
The processing unit notifies the verification program of completion of the instruction in response to a read instruction of the master data by the verification program and a write instruction for the test data by the verification program.
Control device.
(付記17)
付記13乃至16のいずれかにおいて、
前記処理部は、前記第2の記憶部に記憶した前記データに基づいて前記検証処理の実行を繰り返す、
制御装置。
(Supplementary Note 17)
In any one of appendices 13 to 16,
The processing unit repeats execution of the verification process based on the data stored in the second storage unit.
Control device.
(付記18)
付記13乃至17のいずれかにおいて、
前記第1の記憶部に対するアクセス速度は、前記第2の記憶部に対するアクセス速度より遅い、
制御装置。
(Appendix 18)
In any one of appendices 13 to 17,
The access speed to the first storage unit is slower than the access speed to the second storage unit,
Control device.
100:検証装置、SD1:ストレージ装置、SD2:ストレージ装置、10:ドライバプログラム、20:ソフトウェアプログラム、30:テストプログラム、Md:マスタデータ、Td:テストデータ、Tdx:抜粋テストデータ 100: verification device, SD1: storage device, SD2: storage device, 10: driver program, 20: software program, 30: test program, Md: master data, Td: test data, Tdx: excerpted test data
Claims (4)
マスタデータに基づいて生成したテストデータを第1の記憶部に記憶し、
前記テストデータのうち、生成した前記テストデータを用いた処理を被検証プログラムが実行する際に読み出されたデータの位置を特定し、
特定した前記位置に対応するデータを前記テストデータから抽出して第2の記憶部に記憶させ、
前記第2の記憶部に記憶されたデータに基づいて検証処理を実行し、
前記実行は、前記被検証プログラムによる前記位置に対応するデータの読み出し命令または書き込み命令に応答し、前記読み出し命令の対象データを前記第2の記憶部から読み出し、または、前記書き込み命令の対象データを前記第2の記憶部に書き込み、前記命令の完了を前記被検証プログラムに通知し、前記被検証プログラムによる前記位置に対応するデータ以外のデータに対する書き込み命令に応答して前記命令の完了を前記被検証プログラムに通知する、
ことを実行させることを特徴とする制御プログラム。 On the computer
Storing test data generated based on the master data in the first storage unit;
Identifying, among the test data, a position of data read out when the program to be verified executes a process using the generated test data;
Data corresponding to the specified position is extracted from the test data and stored in the second storage unit;
Perform verification processing based on the data stored in the second storage unit,
The execution responds to a read command or a write command of data corresponding to the position by the program to be verified, reads target data of the read command from the second storage unit, or targets data of the write command. The completion of the instruction is notified to the program to be verified, and the completion of the instruction is notified in response to a write instruction for data other than the data corresponding to the position by the program to be verified. Notify the verification program,
A control program characterized in that it performs.
マスタデータに基づいて生成したテストデータを第1の記憶部に記憶し、 Storing test data generated based on the master data in the first storage unit;
前記テストデータのうち、生成した前記テストデータを用いた処理を被検証プログラムが実行する際に読み出されたデータの位置を特定し、 Identifying, among the test data, a position of data read out when the program to be verified executes a process using the generated test data;
特定した前記位置に対応するデータを前記テストデータから抽出して第2の記憶部に記憶させ、 Data corresponding to the specified position is extracted from the test data and stored in the second storage unit;
前記第2の記憶部に記憶されたデータに基づいて検証処理を実行し、 Executing verification processing based on the data stored in the second storage unit;
前記実行は、前記被検証プログラムによる前記マスタデータの読み出し命令、及び、前記被検証プログラムによる前記テストデータに対する書き込み命令に応答して、前記命令の完了を前記被検証プログラムに通知する、 The execution notifies the completion of the instruction to the program to be verified in response to a read instruction of the master data by the program to be verified and a write instruction to the test data by the program to be verified.
ことを実行させることを特徴とする制御プログラム。 A control program characterized in that it performs.
第2の記憶部と、
マスタデータに基づいて生成したテストデータを前記第1の記憶部に記憶し、前記テストデータのうち、生成した前記テストデータを用いた処理を被検証プログラムが実行する際に読み出されたデータの位置を特定し、特定した前記位置に対応するデータを前記テストデータから抽出して前記第2の記憶部に記憶させ、前記第2の記憶部に記憶されたデータに基づいて検証処理を実行する処理部と、を有し
前記処理部は、前記実行において、前記被検証プログラムによる前記位置に対応するデータの読み出し命令または書き込み命令に応答し、前記読み出し命令の対象データを前記第2の記憶部から読み出し、または、前記書き込み命令の対象データを前記第2の記憶部に書き込み、前記命令の完了を前記被検証プログラムに通知し、前記被検証プログラムによる前記位置に対応するデータ以外のデータに対する書き込み命令に応答して前記命令の完了を前記被検証プログラムに通知する、
制御装置。 A first storage unit,
A second storage unit,
Test data generated based on master data is stored in the first storage unit, and of the test data, data read out when the program to be verified executes processing using the generated test data A position is specified, data corresponding to the specified position is extracted from the test data, stored in the second storage unit, and a verification process is executed based on the data stored in the second storage unit. It includes a processing unit, a
The processing unit, in the execution, responds to a read command or a write command of data corresponding to the position by the program to be verified, reads target data of the read command from the second storage unit, or the write The target data of an instruction is written to the second storage unit, the completion of the instruction is notified to the program to be verified, and the instruction is performed in response to a write instruction for data other than the data corresponding to the position by the program to be verified. Informing the program to be verified of
Control device.
第2の記憶部と、 A second storage unit,
マスタデータに基づいて生成したテストデータを前記第1の記憶部に記憶し、前記テストデータのうち、生成した前記テストデータを用いた処理を被検証プログラムが実行する際に読み出されたデータの位置を特定し、特定した前記位置に対応するデータを前記テストデータから抽出して前記第2の記憶部に記憶させ、前記第2の記憶部に記憶されたデータに基づいて検証処理を実行する処理部と、を有し Test data generated based on master data is stored in the first storage unit, and of the test data, data read out when the program to be verified executes processing using the generated test data A position is specified, data corresponding to the specified position is extracted from the test data, stored in the second storage unit, and a verification process is executed based on the data stored in the second storage unit. And a processing unit
前記処理部は、前記実行において、前記被検証プログラムによる前記マスタデータの読み出し命令、及び、前記被検証プログラムによる前記テストデータに対する書き込み命令に応答して、前記命令の完了を前記被検証プログラムに通知する、 The processing unit notifies the verification program of completion of the instruction in response to an instruction to read the master data by the program to be verified and a write instruction to the test data by the program to be verified in the execution. Do,
制御装置。 Control device.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2015119086A JP6503908B2 (en) | 2015-06-12 | 2015-06-12 | Control program, control method, and control device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2015119086A JP6503908B2 (en) | 2015-06-12 | 2015-06-12 | Control program, control method, and control device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2017004344A JP2017004344A (en) | 2017-01-05 |
| JP6503908B2 true JP6503908B2 (en) | 2019-04-24 |
Family
ID=57752095
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2015119086A Expired - Fee Related JP6503908B2 (en) | 2015-06-12 | 2015-06-12 | Control program, control method, and control device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6503908B2 (en) |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63184829A (en) * | 1987-01-27 | 1988-07-30 | Fujitsu Ltd | Retrieving system for data base system |
| JPH06161858A (en) * | 1992-11-19 | 1994-06-10 | Toshiba Corp | Online transaction system database update test method |
| JP4474390B2 (en) * | 2006-07-26 | 2010-06-02 | 日本興亜損害保険株式会社 | Personal information masking system and method |
-
2015
- 2015-06-12 JP JP2015119086A patent/JP6503908B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2017004344A (en) | 2017-01-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103646082A (en) | Method and device for checking files | |
| CN105677509B (en) | The restoration methods and device of data in database | |
| CN115543466B (en) | Firmware interaction method, device, server and storage medium | |
| CN102609275A (en) | BIOS updating system and method thereof | |
| US20230117626A1 (en) | Convolution apparatus, convolution method, matrix unknit-knit device and matrix unknit-knit method | |
| JP2016058006A (en) | Information processing device and program | |
| CN101420484A (en) | Wallpaper displaying method used for mobile terminal and mobile terminal | |
| CN114238174B (en) | Page table generation method, device, system and related equipment | |
| WO2021139443A1 (en) | Data access control method and apparatus, and data access device and system | |
| CN109918343A (en) | A method and system for automatically generating ralf files | |
| EP3147789A1 (en) | Method for re-establishing standby database, and apparatus thereof | |
| JP6503908B2 (en) | Control program, control method, and control device | |
| JP2020510935A5 (en) | ||
| CN103685471B (en) | Method and system for updating software client sides in monopoly mode | |
| CN115033250B (en) | Application deployment method, computing device and readable storage medium | |
| CN110825714A (en) | File storage control method and device, file storage device and electronic device | |
| JP5545432B2 (en) | BIOS update method, BIOS update device, and BIOS update program | |
| CN114553859A (en) | BMC configuration management method and device, electronic equipment and storage medium | |
| CN120123328A (en) | Data consistency verification method, device, equipment, storage medium and program product | |
| CN113254888A (en) | Method for acquiring hardware information, authorization control system and computing equipment | |
| CN105740032A (en) | Network device system upgrading method and device | |
| CN103761247A (en) | Processing method and device for error files | |
| CN114443353A (en) | Mirror image file simulation method and device, electronic equipment and storage medium | |
| JPWO2012039143A1 (en) | DMA controller and data reading apparatus | |
| JP2018022433A (en) | Control program, apparatus, and method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180306 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181130 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181211 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190212 |
|
| 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: 20190226 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190311 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6503908 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |