JP5444939B2 - Software testing method and program - Google Patents

Software testing method and program Download PDF

Info

Publication number
JP5444939B2
JP5444939B2 JP2009193500A JP2009193500A JP5444939B2 JP 5444939 B2 JP5444939 B2 JP 5444939B2 JP 2009193500 A JP2009193500 A JP 2009193500A JP 2009193500 A JP2009193500 A JP 2009193500A JP 5444939 B2 JP5444939 B2 JP 5444939B2
Authority
JP
Japan
Prior art keywords
category
weighting
test
weighting ratio
verification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009193500A
Other languages
Japanese (ja)
Other versions
JP2011044111A (en
Inventor
崇 朝日奈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2009193500A priority Critical patent/JP5444939B2/en
Publication of JP2011044111A publication Critical patent/JP2011044111A/en
Application granted granted Critical
Publication of JP5444939B2 publication Critical patent/JP5444939B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

ソフトウェアのテスト方法及びプログラムに関するものである。   The present invention relates to a software test method and program.

電子機器に搭載される集積回路は、一般的に、Verilog−HDLやVHDL(VHSIC Hardware Description Language)に代表されるハードウェア記述言語を用いて設計されている。   An integrated circuit mounted on an electronic device is generally designed using a hardware description language represented by Verilog-HDL or VHDL (VHSIC Hardware Description Language).

ハードウェア記述言語を用いて設計される集積回路は、ハードウェア記述言語で記述されたソースコードの状態で、仕様書通りの動作を行うかどうか論理検証される。詳しくは、検証作業者は、仕様書から入力データと、入力データに対する出力期待値を含むテストケースを作成する。検証装置は、テストケースについてソースコードの論理検証を行って、「良」又は「不良」の判定をする。   An integrated circuit designed using a hardware description language is logically verified to perform an operation according to the specification in the state of a source code described in the hardware description language. Specifically, the verification worker creates a test case including input data and an expected output value for the input data from the specification. The verification device performs logic verification of the source code for the test case, and determines “good” or “bad”.

つまり、検証装置は、ソフトウェアによりテストケースの入力データを処理して出力された出力データがテストケースの出力期待値と等しいか否かを判定する。検証装置は、出力データと出力期待値が等しい場合、「良」と判定し、反対に、検証装置は、出力データと出力期待値が等しくない場合、「不良」と判定する。   That is, the verification apparatus determines whether or not the output data output by processing the test case input data by software is equal to the expected output value of the test case. The verification device determines “good” when the output data and the output expected value are equal, and conversely, the verification device determines “bad” when the output data and the output expected value are not equal.

そして、検証作業者は、「不良」判定となったテストケースに基づいてソースコードの修正(デバッグ)を行う。検証装置は、テストケースについて、修正を行ったソースコードの論理検証を行って、「良」又は「不良」の判定をする。以後、全てのテストケースについて「良」判定となるまで、ソースコードの論理検証を行っていく。そして、全てのテストケースについて「良」判定になると、仕様書通りに正しくソースコードが記述されているとしてソースコードの論理検証を完了する。   Then, the verification operator corrects (debugs) the source code based on the test case that is determined to be “defective”. The verification device performs logic verification on the corrected source code for the test case, and determines “good” or “bad”. Thereafter, the logic verification of the source code is performed until all the test cases are judged as “good”. When all the test cases are judged as “good”, the logic verification of the source code is completed assuming that the source code is correctly described according to the specification.

近年、電子機器に求められる機能は複雑化および多機能化しており、それに伴い集積回路の機能も複雑化および多機能化している。これにより、集積回路のソースコードの論理検証では、テストケースの数が飛躍的に増大し、全てのテストケースについて論理検証を行う時間とコスト、及び、デバッグに要する時間とコストは膨大なものとなっている。   In recent years, functions required for electronic devices have become complicated and multifunctional, and accordingly, functions of integrated circuits have also become complicated and multifunctional. As a result, in the logic verification of the source code of the integrated circuit, the number of test cases increases dramatically, and the time and cost for performing logic verification for all test cases and the time and cost required for debugging are enormous. It has become.

そこで、従来、検証作業者は、実験計画法に沿って要因分析表及び直交表により、これまでソースコードの論理検証を行っていたテストケースを絞り込み、少ないテストケースについてソースコードの論理検証を行っていた。この結果、少ないテストケースについてソースコードの論理検証を行うだけで、これまでのソースコードの論理検証を行った効果と同等な効果を得ていた(例えば、特許文献1参照)。   Therefore, conventionally, the verification operator narrows down the test cases where the logic verification of the source code has been performed by the factor analysis table and the orthogonal table according to the experiment design method, and performs the logic verification of the source code for a small number of test cases. It was. As a result, only by performing logic verification of the source code for a small number of test cases, an effect equivalent to the effect of performing logic verification of the source code so far was obtained (for example, see Patent Document 1).

特開2002−259463号公報JP 2002-259463 A

しかしながら、上記のソースコードの論理検証では、テストケースについてソースコードの論理検証を行って「不良」と判定された場合、修正されたソースコードの論理検証を全てのテストケースについて同じ順番で行っていた。   However, in the logic verification of the above source code, if the logic verification of the source code is performed for the test case and it is determined as “bad”, the logic verification of the corrected source code is performed in the same order for all the test cases. It was.

従って、ソースコードの論理検証を行って1度「良」と判定されたテストケースについて、最初の段階でソースコードの論理検証を行うことになる。しかし、ソースコードの論理検証を行っていないテストケースについてソースコードの論理検証を行って「不良」と判定される比率より、1度「良」と判定されたテストケースについて修正されたソースコードの論理検証を行って「不良」と判定される比率は低い。このため、ソースコードの論理検証を行うテストケースの順番について考慮することで、ソースコードの論理検証を行う時間をさらに短縮する余地が残されている。   Therefore, the logic verification of the source code is performed at the first stage for the test case that is determined to be “good” once by performing the logic verification of the source code. However, the test code that has been determined to be “good” once for the test cases that have been determined to be “good” from the ratio that is determined to be “bad” by performing logic verification of the source code for test cases that have not been subjected to logic verification of the source code. The rate at which logic verification is carried out to determine “bad” is low. For this reason, there is room for further shortening the time for performing the logic verification of the source code by considering the order of the test cases for performing the logic verification of the source code.

このソフトウェアのテスト方法及びプログラムは、テスト時間を短縮することを目的とする。   The purpose of this software testing method and program is to shorten the test time.

本発明の一側面によれば、ソフトウェアのテスト方法は、入力データと、前記入力データに対する出力期待値とを有するテストケースを複数作成するテストケース作成工程と、定量情報及び定性情報に基づいて前記テストケースを分類したカテゴリに対して、分類された前記テストケースのテスト結果が不良と判定される可能性を示す重み付け比率がそれぞれ設定された重み付けテーブルの各カテゴリに対する前記重み付け比率に基づいて、ソフトウェアのテストを行う前記カテゴリを選択するカテゴリ選択工程と、前記カテゴリ選択工程において選択された前記カテゴリに分類された前記テストケースについて前記ソフトウェアのテストを行うソフトウェアテスト工程と、前記ソフトウェアのテスト結果に基づいて、前記ソフトウェアのテストを行った前記カテゴリに対する前記重み付けテーブルの重み付け比率を算出し、前記重み付け比率の算出結果に基づいて前記重み付けテーブルを変更するテーブル変更工程と、複数の前記テストケースの中から選択した1つの前記テストケースの出力期待値と、前記ソフトウェアにより選択した前記テストケースの前記入力データを処理して出力された出力データとが等しいか否かを判定する判定工程と、を有し、前記重み付けテーブルは、予め設定された基準重み付け比率と、前記基準重み付け比率の上限値及び下限値と、前記ソフトウェアのテスト結果に基づいて算出される統計重み付け比率とを有し、前記カテゴリ選択工程は、前記統計重み付け比率が前記基準重み付け比率の下限値以上且つ上限値以下の場合、前記基準重み付け比率を前記重み付け比率として選択し、前記統計重み付け比率が前記基準重み付け比率の下限値より低い又は上限値より高い場合、前記統計重み付け比率を前記重み付け比率として選択するAccording to one aspect of the present invention, testing the software, and input data, and the test case creation step of creating multiple test cases with an expected output value for the input data, based on the quantitative information and qualitative information for a category of classification of the test case, weighting ratio indicating the possibility that test results classified the test case is determined to be defective is based on the weighting ratio for each category of the set weighted tables respectively a category selection step of selecting the category to test the software, and software test step for selected the software test for classified the test case to the categories in the category selection process, the software test based on the bets result, the software te Calculating the weighting ratio of the weighting table for the category subjected to preparative, wherein the table change step of changing the weighting table based on the calculation result of the weighting ratio, one of the selected from a plurality of the test cases an output expected value of the test case, have a, a determination step of determining whether or not the output data outputted by processing is equal to the input data of the test cases selected by the software, the weighting table A predetermined reference weighting ratio, an upper limit value and a lower limit value of the reference weighting ratio, and a statistical weighting ratio calculated based on a test result of the software, and the category selection step includes the statistical weighting ratio When the ratio is not less than the lower limit and not more than the upper limit of the reference weight ratio, the reference weight Select the rate as the weighting ratio, the case statistical weighting ratio is higher than the lower or upper limit value than the lower limit of the reference weighting ratio, it selects the statistical weighting ratio as the weighting ratio.

本発明の一側面によれば、ソフトウェアのテスト方法及びプログラムは、テスト時間を短縮することができる。   According to one aspect of the present invention, a test method and program for software can reduce test time.

検証装置の概略構成図である。It is a schematic block diagram of a verification apparatus. ソースコードの論理検証の説明図である。It is explanatory drawing of the logic verification of a source code. 要因分析表の説明図である。It is explanatory drawing of a factor analysis table. 直交表の説明図である。It is explanatory drawing of an orthogonal table. 直交表の説明図である。It is explanatory drawing of an orthogonal table. テストケースファイルの説明図である。It is explanatory drawing of a test case file. カテゴリ重み付けテーブルの説明図である。It is explanatory drawing of a category weighting table. ソースコードの論理検証の説明図である。It is explanatory drawing of the logic verification of a source code.

以下、実施形態を図1〜図8に従って説明する。
図1は、ハードウェア記述言語で記述された集積回路のソースコードの論理検証を実施するためのコンピュータシステムの概略構成図である。
Hereinafter, embodiments will be described with reference to FIGS.
FIG. 1 is a schematic configuration diagram of a computer system for performing logic verification of a source code of an integrated circuit described in a hardware description language.

図1に示すように、このコンピュータ(検証装置)11は、中央処理装置(以下、CPUという)12、メモリ13、記憶装置14、表示装置15、入力装置16、及び、ドライブ装置17を備え、それらはバス18を介して相互にデータの授受を行っている。   As shown in FIG. 1, the computer (verification device) 11 includes a central processing unit (hereinafter referred to as CPU) 12, a memory 13, a storage device 14, a display device 15, an input device 16, and a drive device 17. They exchange data with each other via a bus 18.

CPU12は、メモリ13を利用してプログラムを実行し、ソースコードの論理検証等に必要な処理を実現する。メモリ13は、各種処理を提供するために必要なプログラムとデータを格納する。メモリ13は、通常、キャッシュ・メモリ、システム・メモリおよびディスプレイ・メモリを含む。   The CPU 12 executes a program using the memory 13 and realizes processing necessary for logical verification of the source code. The memory 13 stores programs and data necessary for providing various processes. The memory 13 typically includes a cache memory, a system memory, and a display memory.

表示装置15は、各種ウインドウやデータ等の表示に用いられ、これにはCRT、LCD、PDP等が用いられる。入力装置16は、ユーザからの要求や指示、パラメータの入力に用いられ、これにはキーボードおよびマウス装置(図示せず)等が用いられる。   The display device 15 is used for displaying various windows and data, and for this, a CRT, LCD, PDP, or the like is used. The input device 16 is used to input a request, an instruction, and a parameter from the user, and a keyboard and a mouse device (not shown) are used for this.

記憶装置14は、通常、磁気ディスク装置、光ディスク装置、光磁気ディスク装置を含む。この記憶装置14には、ソースコードの論理検証を行うためのプログラムデータとファイルが格納されている。ファイルとしては、仕様書20、ソースコード21、要因分析表22、直交表23、テストケースファイル24、カテゴリ重み付けテーブル25、その他ソースコードの論理検証に必要なファイルが格納されている。   The storage device 14 usually includes a magnetic disk device, an optical disk device, and a magneto-optical disk device. The storage device 14 stores program data and files for performing logic verification of the source code. As files, specifications 20, source code 21, factor analysis table 22, orthogonal table 23, test case file 24, category weighting table 25, and other files necessary for logical verification of source code are stored.

仕様書20は、検証する集積回路の動作について規定されたデータである。ソースコード21は、仕様書20に基づいてハードウェア記述言語で記述されたデータである。
要因分析表22は、ソースコード21の論理検証を行う際のパラメータとなる因子と、その因子の値である水準の2次元の表のデータである。本実施形態では、図3に示すように、要因分析表22は、仕様書20から抽出された因子F1〜Fnと、水準L1〜Lnから構成されている。
The specification 20 is data defined for the operation of the integrated circuit to be verified. The source code 21 is data described in a hardware description language based on the specification 20.
The factor analysis table 22 is data of a two-dimensional table of factors that are parameters when performing logical verification of the source code 21 and a level that is a value of the factor. In the present embodiment, as shown in FIG. 3, the factor analysis table 22 includes factors F1 to Fn extracted from the specification 20 and levels L1 to Ln.

さらに、要因分析表22は、水準L1〜Lnが最大値、最小値、同値クラス、境界値などの定量情報でカテゴリC1〜カテゴリCnに分類されている。ここで、最大値とは、検証する集積回路が正常動作可能な最大の入力値をいう。また、最小値とは、検証する集積回路が正常動作可能な最小の入力値をいう。さらに、同値クラスとは、検証する集積回路から同様な出力結果が得られる入力値の集合をいう。さらにまた、境界値とは、上記の各同値クラスの境界付近の代表値をいう。   Further, in the factor analysis table 22, the levels L1 to Ln are classified into categories C1 to Cn based on quantitative information such as maximum values, minimum values, equivalence classes, boundary values, and the like. Here, the maximum value means the maximum input value at which the integrated circuit to be verified can operate normally. The minimum value is the minimum input value at which the integrated circuit to be verified can operate normally. Further, the equivalence class refers to a set of input values from which a similar output result can be obtained from the integrated circuit to be verified. Furthermore, the boundary value refers to a representative value near the boundary of each equivalence class.

直交表23は、任意の2因子について、その水準の全ての組合せが同数回ずつ現れるという性質をもつ割り付け表のデータである。検証作業者は、直交表23に基づいて、因子と水準の全ての組合せから、特定の因子と水準の組合せに絞り込む。そして、検証作業者は、直交表23に基づいて絞り込んだ特定の因子と水準の組合せについて検証することで、因子及び水準の全ての組合せについて検証を行った場合と同様な効果を得ることができる。   The orthogonal table 23 is data of an allocation table having a property that, for any two factors, all combinations of the levels appear the same number of times. Based on the orthogonal table 23, the verification operator narrows down all combinations of factors and levels to specific factor and level combinations. Then, the verification operator can obtain the same effect as when verification is performed for all combinations of factors and levels by verifying the combinations of specific factors and levels narrowed down based on the orthogonal table 23. .

例えば、図4の表30に示すように、仕様書20から2水準(0,1)の因子A,B,Cを抽出した場合、全ての因子及び水準の組合せは「A1」〜「A8」の組合せの8通りになる。従って、検証作業者は、「A1」〜「A8」の8通りの組合せから作成された8つの入力データについてソースコード21の論理検証を行うことになる。しかし、図5に示すような「L4」と呼ばれる直交表31を用いることで、因子及び水準の組合せは「B1」〜「B4」の組合せの4通りに絞り込むことができる。   For example, as shown in Table 30 of FIG. 4, when two levels (0, 1) of factors A, B, and C are extracted from the specification 20, all combinations of factors and levels are “A1” to “A8”. There are 8 combinations. Therefore, the verification operator performs logical verification of the source code 21 for the eight input data created from the eight combinations “A1” to “A8”. However, by using an orthogonal table 31 called “L4” as shown in FIG. 5, the combinations of factors and levels can be narrowed down to four combinations of “B1” to “B4”.

この場合、直交表31では、因子A,B,Cのうち任意の2因子間の水準(0,1)の組合せを全て示している。従って、検証作業者は、「B1」〜「B4」の組み合わせから作成された4つの入力データについてソースコード21の論理検証を行うだけで、因子及び水準の全ての組合せから作成された8つの入力データについてソースコード21の論理検証を行う場合と同様な効果を得ることができる。   In this case, the orthogonal table 31 shows all combinations of levels (0, 1) between any two factors among the factors A, B, and C. Therefore, the verification operator simply performs logic verification of the source code 21 for the four input data created from the combinations “B1” to “B4”, and the eight inputs created from all combinations of factors and levels. It is possible to obtain the same effect as when the logic verification of the source code 21 is performed on the data.

テストケースファイル24は、図6に示すように、直交表23に基づいて作成された入力データと、入力データに対する出力期待値を含んだテストケースTa1〜Taj,……,Tn1〜Tnjが記憶されている。   As shown in FIG. 6, the test case file 24 stores test cases Ta1 to Taj,..., Tn1 to Tnj including input data created based on the orthogonal table 23 and output expected values for the input data. ing.

テストケースTa1〜Taj,……,Tn1〜Tnjは、カテゴリC1〜Cnにそれぞれ分類されている。CPU12は、カテゴリC1、カテゴリC2、……、カテゴリCnの順番で、分類されたテストケースTa1〜Taj,……,Tn1〜Tnjをテストケースファイル24から読み出すようになっている。   Test cases Ta1 to Taj,..., Tn1 to Tnj are classified into categories C1 to Cn, respectively. The CPU 12 reads the classified test cases Ta1 to Taj,..., Tn1 to Tnj from the test case file 24 in the order of category C1, category C2,.

さらに、テストケースTa1〜Taj,……,Tn1〜Tnjは、カテゴリC1〜Cn毎に、「1番」から「j番」の検証実行順位Pが設定されている。CPU12は、各カテゴリC1〜Cnにおいて、検証実行順位Pの「1番」から「j番」の順番でテストケースファイル24から対応するテストケースTa1〜Taj,……,Tn1〜Tnjを読み出すようになっている。   Further, in the test cases Ta1 to Taj,..., Tn1 to Tnj, the verification execution order P from “No. 1” to “No. j” is set for each category C1 to Cn. The CPU 12 reads the corresponding test cases Ta1 to Taj,..., Tn1 to Tnj from the test case file 24 in the order of “1st” to “jth” in the verification execution order P in each category C1 to Cn. It has become.

つまり、CPU12は、カテゴリC1に分類されているテストケースTa1〜Tajを検証実行順位Pが「1番」のテストケースTa1、検証実行順位Pが「2番」のテストケースTa2、……、検証実行順位Pが「n番」のテストケースTajの順番で読み出す。次に、CPU12は、カテゴリC2に分類されているテストケースTb1〜Tbjを検証実行順位Pが「1番」のテストケースTb1、検証実行順位Pが「2番」のテストケースTb2、……、検証実行順位Pが「n番」のテストケースTbjの順番で読み出す。   That is, the CPU 12 classifies the test cases Ta1 to Taj classified into the category C1 as the test case Ta1 with the verification execution order P of “No. 1”, the test case Ta2 with the verification execution order P of “No. 2”,. Read in the order of the test cases Taj whose execution order P is “No. n”. Next, the CPU 12 categorizes the test cases Tb1 to Tbj classified in the category C2 into the test case Tb1 with the verification execution order P being “No. 1”, the test case Tb2 with the verification execution order P being “No. 2”,. The test execution order P is read in the order of the test case Tbj with the “n-th” execution order P.

そして、カテゴリC3〜Cnに分類されているテストケースTc1〜Tcj、……、テストケースTn1〜Tnjについて、CPU12が、カテゴリC1,C2に続いて、テストケースTc1、……、Tcj、……、テストケースTn1、……、Tnjの順番に読み出すようになっている。   Then, for the test cases Tc1 to Tcj,..., And the test cases Tn1 to Tnj classified into the categories C3 to Cn, the CPU 12 follows the categories C1 and C2 to test cases Tc1,. The test cases Tn1,..., Tnj are read in this order.

カテゴリ重み付けテーブル25は、テストケースファイル24に記憶されているどのカテゴリC1〜CnのテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行うかを判定するためのテーブルである。   The category weighting table 25 is a table for determining which category C1 to Cn of the test cases Ta1 to Taj,..., Tn1 to Tnj stored in the test case file 24 is subjected to the logic verification of the source code 21. is there.

カテゴリ重み付けテーブル25は、図7に示すように、各カテゴリC1〜Cnに対して、統計重み付け比率RS1〜RSn、基準重み付け比率RK1〜RKn、上限値U1〜Un、及び、下限値LO1〜LOnが設定されている。なお、重み付け比率は、その値が高いほどソースコード21の論理検証を行って「不良」と判定される可能性が高く、その値が低いほどソースコード21の論理検証を行って「不良」と判定される可能性が低くなっている。   As shown in FIG. 7, the category weighting table 25 has statistical weighting ratios RS1 to RSn, reference weighting ratios RK1 to RKn, upper limit values U1 to Un, and lower limit values LO1 to LOn for each category C1 to Cn. Is set. The higher the weighting ratio, the higher the possibility that the logical verification of the source code 21 is performed and the determination is “bad”, and the lower the value is, the logical verification of the source code 21 is performed and “bad” is determined. The possibility of being judged is low.

統計重み付け比率RS1〜RSnは、各カテゴリC1〜Cnにおいて、CPU12がソースコード21の論理検証を行って「不良」と判定されたテストケースTa1〜Taj,……,Tn1〜Tnjの数と、CPU12がソースコード21の論理検証を行ったテストケースTa1〜Taj,……,Tn1〜Tnjの数との比率をいう。   The statistical weighting ratios RS1 to RSn are the numbers of test cases Ta1 to Taj,..., Tn1 to Tnj, in which the CPU 12 performs logic verification of the source code 21 and is determined to be “bad” in each category C1 to Cn. Is the ratio of the number of test cases Ta1 to Taj,..., Tn1 to Tnj in which the logic verification of the source code 21 is performed.

つまり、統計重み付け比率RS1〜RSnは、CPU12が対応するカテゴリC1〜Cnに分類されたテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行って「不良」と判定する可能性を示している。なお、分類されたテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行っていないカテゴリは、対応する統計重み付け比率RS1〜RSnを算出することができないため、統計重み付け比率RS1〜RSnを設定されていない。   That is, the statistical weight ratios RS1 to RSn are determined as “bad” by performing logic verification of the source code 21 for the test cases Ta1 to Taj,..., Tn1 to Tnj classified into the corresponding categories C1 to Cn by the CPU 12. It shows the possibility. Note that a category in which the logical verification of the source code 21 is not performed for the classified test cases Ta1 to Taj,..., Tn1 to Tnj cannot calculate the corresponding statistical weighting ratios RS1 to RSn. RS1 to RSn are not set.

また、基準重み付け比率RK1〜RKnは、CPU12が対応するカテゴリC1〜Cnに分類されたテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行って「不良」と判定する比率を検証作業者が予め予測したものをいう。   The reference weighting ratios RK1 to RKn are determined as “bad” by performing logic verification of the source code 21 for the test cases Ta1 to Taj,..., Tn1 to Tnj classified into the corresponding categories C1 to Cn by the CPU 12. The ratio is estimated by the verification operator in advance.

因みに、基準重み付け比率RK1〜RKnは、基準重み付け比率RK1、基準重み付け比率RK2、・・・・・・、基準重み付け比率RKnの順でその比率が高くなっている。言い換えると、検証作業者は、テストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行うと、基準重み付け比率RK1に対応するカテゴリC1、基準重み付け比率RK2に対応するカテゴリC2、……、基準重み付け比率RKnに対応するカテゴリCnの順で、分類されたテストケースTa1〜Taj,……,Tn1〜Tnjについて「不良」と判定される可能性が高いと予測している。   Incidentally, the reference weight ratios RK1 to RKn are higher in the order of the reference weight ratio RK1, the reference weight ratio RK2,..., And the reference weight ratio RKn. In other words, when the verification operator performs logic verification of the source code 21 for the test cases Ta1 to Taj,..., Tn1 to Tnj, the category C1 corresponding to the reference weighting ratio RK1 and the category C2 corresponding to the reference weighting ratio RK2. ,... It is predicted that the classified test cases Ta1 to Taj,..., Tn1 to Tnj are likely to be determined as “bad” in the order of the category Cn corresponding to the reference weighting ratio RKn.

CPU12は、各カテゴリC1〜Cnにおいて、統計重み付け比率RS1〜RSn又は基準重み付け比率RK1〜RKnのいずれかをカテゴリ重み付け比率として選択する。
詳述すると、各カテゴリC1〜Cnにおいて、統計重み付け比率RS1〜RSnが下限値LO1〜LOn(<基準重み付け比率RS1〜RSn)より低い場合、CPU12は、統計重み付け比率RS1〜RSnをカテゴリ重み付け比率として選択する。また、各カテゴリC1〜Cnにおいて、統計重み付け比率RS1〜RSnが下限値LO1〜LOn(<基準重み付け比率RS1〜RSn)以上、且つ、上限値U1〜Un(>基準重み付け比率RS1〜RSn)以下の場合、CPU12は、基準重み付け比率RS1〜RSnをカテゴリ重み付け比率として選択する。さらに、各カテゴリC1〜Cnにおいて、統計重み付け比率RS1〜RSnが上限値U1〜Un(>基準重み付け比率RS1〜RSn)より高い場合、CPU12は、統計重み付け比率RS1〜RSnをカテゴリ重み付け比率として選択する。
CPU12 selects either statistical weight ratio RS1-RSn or reference | standard weight ratio RK1-RKn as a category weight ratio in each category C1-Cn.
More specifically, in each category C1 to Cn, when the statistical weight ratios RS1 to RSn are lower than the lower limit values LO1 to LOn (<reference weight ratios RS1 to RSn), the CPU 12 sets the statistical weight ratios RS1 to RSn as the category weight ratios. select. In each category C1 to Cn, the statistical weight ratios RS1 to RSn are not less than the lower limit values LO1 to LOn (<reference weighting ratios RS1 to RSn) and not more than the upper limit values U1 to Un (> reference weighting ratios RS1 to RSn). In this case, the CPU 12 selects the reference weighting ratios RS1 to RSn as the category weighting ratio. Furthermore, in each category C1-Cn, when the statistical weight ratios RS1-RSn are higher than the upper limit values U1-Un (> reference weight ratios RS1-RSn), the CPU 12 selects the statistical weight ratios RS1-RSn as the category weight ratios. .

すなわち、CPU12は、テストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行った結果、予測した基準重み付け比率RS1〜RSn付近(上限値U1〜Unから下限値LO1〜LOn)に統計重み付け比率RS1〜RSnが入っていれば、基準重み付け比率RS1〜RSnをカテゴリ重み付け比率として選択する。一方、CPU12は、テストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行った結果、予測した基準重み付け比率RS1〜RSn付近(上限値U1〜Unから下限値LO1〜LOn)に統計重み付け比率RS1〜RSnが入っていないと、統計重み付け比率RS1〜RSnをカテゴリ重み付け比率としてそれぞれ選択する。   That is, as a result of logical verification of the source code 21 for the test cases Ta1 to Taj,..., Tn1 to Tnj, the CPU 12 is in the vicinity of the predicted reference weighting ratio RS1 to RSn (from the upper limit value U1 to Un to the lower limit value LO1 to LOn ) Includes the statistical weight ratios RS1 to RSn, the reference weight ratios RS1 to RSn are selected as the category weight ratios. On the other hand, the CPU 12 performs logic verification of the source code 21 for the test cases Ta1 to Taj,... ), If the statistical weight ratios RS1 to RSn are not included, the statistical weight ratios RS1 to RSn are respectively selected as the category weight ratios.

従って、CPU12は、テストケースファイル24からソースコード21の論理検証を行って「不良」と判定される可能性が高いカテゴリC1〜Cnの順番で、分類されたテストケースTa1〜Taj,……,Tn1〜Tnjを読み出すようになっている。   Therefore, the CPU 12 performs logic verification of the source code 21 from the test case file 24 and classifies the test cases Ta1 to Taj,... In the order of categories C1 to Cn that are likely to be determined as “bad”. Tn1 to Tnj are read out.

そして、CPU12は、入力装置16による指示に応答して、記憶装置14に格納されている。CPU12は、プログラムデータ、ファイルのデータをメモリ13へ転送し、それを実行する。   The CPU 12 is stored in the storage device 14 in response to an instruction from the input device 16. The CPU 12 transfers the program data and file data to the memory 13 and executes them.

ドライブ装置17は、記録媒体19を駆動し、その記憶内容にアクセスする。CPU12は、ドライブ装置17を介して記録媒体19からプログラムデータを読み出し、それを記憶装置14に格納する。   The drive device 17 drives the recording medium 19 and accesses the stored contents. The CPU 12 reads program data from the recording medium 19 via the drive device 17 and stores it in the storage device 14.

記録媒体19としては、磁気テープ(MT)、メモリカード、フレキシブルディスク、光ディスク(CD−ROM、DVD−ROM、…)、光磁気ディスク(MO、MD、…)等、任意のコンピュータ読み取り可能な記録媒体を使用することができる。この記録媒体19に、上述のプログラムデータを格納しておき、必要に応じて、メモリ13にロードして使用することもできる。   As the recording medium 19, any computer-readable recording such as magnetic tape (MT), memory card, flexible disk, optical disk (CD-ROM, DVD-ROM,...), Magneto-optical disk (MO, MD,...), Etc. Media can be used. The above-described program data can be stored in the recording medium 19 and loaded into the memory 13 for use as necessary.

尚、記録媒体19には、通信媒体を介してアップロード又はダウンロードされたプログラムデータを記録した媒体、ディスク装置を含む。更に、コンピュータによって直接実行可能なプログラムを記録した記録媒体だけでなく、一旦他の記録媒体(ハードディスク等)にインストールすることによって実行可能となるようなプログラムを記録した記録媒体や、暗号化されたり、圧縮されたりしたプログラムを記録した記録媒体も含む。   The recording medium 19 includes a medium and a disk device that record program data uploaded or downloaded via a communication medium. Furthermore, not only a recording medium that records a program that can be directly executed by a computer, but also a recording medium that records a program that can be executed once installed on another recording medium (such as a hard disk), or an encrypted program In addition, a recording medium on which a compressed program is recorded is also included.

次に、上記の検証装置11を用いて、仕様書20に基づいてVerilog−HDLやVHDLなどのハードウェア記述言語で記述されたソースコード21の論理検証を行う処理について図2に従って説明する。   Next, processing for performing logic verification of the source code 21 described in a hardware description language such as Verilog-HDL or VHDL based on the specification 20 using the verification device 11 will be described with reference to FIG.

まず、検証作業者は、入力装置16を操作し、仕様書20から図3に示す要因分析表22を作成する(ステップS1)。すなわち、検証作業者は、仕様書20から、ソースコード21の論理検証を行いたい集積回路の動作において影響を及ぼすパラメータと、そのパラメータにどのような値があるかを抽出している。また、検証作業者は、抽出した水準L1〜Lnを最大値、最小値、同値クラス、境界値などの定量情報でカテゴリC1〜Cnに分類する。次に、検証作業者は、抽出した水準L1〜LnがどのカテゴリC1〜Cnに分類されるかを要因分析表22に記述する。そして、検証作業者は、作成した要因分析表22を記憶装置14に格納する。   First, the verification operator operates the input device 16 and creates the factor analysis table 22 shown in FIG. 3 from the specification 20 (step S1). That is, the verification operator extracts from the specification 20 parameters that affect the operation of the integrated circuit for which the logic verification of the source code 21 is to be performed, and what values the parameters have. Further, the verification operator classifies the extracted levels L1 to Ln into categories C1 to Cn based on quantitative information such as the maximum value, the minimum value, the equivalence class, and the boundary value. Next, the verification operator describes in the factor analysis table 22 which category C1 to Cn the extracted levels L1 to Ln are classified into. Then, the verification operator stores the created factor analysis table 22 in the storage device 14.

そして、検証作業者は、入力装置16を操作し、ステップS1において作成して記憶装置14に格納した要因分析表22に基づいて直交表23を作成する(ステップS2)。
つまり、要因分析表22の因子F1〜Fn及び水準L1〜Lnの全ての組合せについて入力データを作成すると莫大な数になってしまう。このため、作成した莫大な数の入力データについてソースコード21の論理検証を行うと、ソースコード21の論理検証の検証時間は増大してしまう。そこで、直交表23を用いて因子F1〜Fn及び水準L1〜Lnの組合せを絞り込み、ソースコード21の論理検証を行う入力データの数を削減している。そして、検証作業者は、作成した直交表23を記憶装置14に格納する。
Then, the verification operator operates the input device 16 to create the orthogonal table 23 based on the factor analysis table 22 created in step S1 and stored in the storage device 14 (step S2).
That is, if input data is created for all combinations of the factors F1 to Fn and the levels L1 to Ln in the factor analysis table 22, the number becomes enormous. For this reason, if the logic verification of the source code 21 is performed on the enormous number of input data created, the verification time of the logic verification of the source code 21 increases. Therefore, the orthogonal table 23 is used to narrow down the combinations of the factors F1 to Fn and the levels L1 to Ln, and the number of input data for performing logic verification of the source code 21 is reduced. Then, the verification operator stores the created orthogonal table 23 in the storage device 14.

次に、検証作業者は、入力装置16を操作し、ステップS2において生成した直交表23に基づいて、テストケースを生成する(ステップS3)。すなわち、まず、検証作業者は、入力装置16を操作し、記憶装置14から直交表23を読み出す。次に、検証作業者は、直交表23の因子及び水準の組合せから入力データを作成するとともに、入力データに対する出力期待値を算出する。続いて、検証作業者は、入力データと、入力データに対する出力期待値を含んだテストケースを作成する。   Next, the verification operator operates the input device 16 to generate a test case based on the orthogonal table 23 generated in step S2 (step S3). That is, first, the verification operator operates the input device 16 and reads the orthogonal table 23 from the storage device 14. Next, the verification worker creates input data from combinations of factors and levels in the orthogonal table 23 and calculates an expected output value for the input data. Subsequently, the verification worker creates a test case including the input data and an output expected value for the input data.

さらに、検証作業者は、作成したテストケースを、対応する入力データに含まれる水準が分類されているカテゴリC1〜Cnに分類する。具体的には、検証作業者は、カテゴリC1にテストケースTa1〜Tajを分類し、カテゴリC2にテストケースTb1〜Tbjを分類し、・・・・・・、カテゴリCnにテストケースTn1〜Tnjを分類する。   Further, the verification operator classifies the created test cases into categories C1 to Cn in which the levels included in the corresponding input data are classified. Specifically, the verification worker classifies the test cases Ta1 to Taj into the category C1, classifies the test cases Tb1 to Tbj into the category C2, and..., Categorizes the test cases Tn1 to Tnj into the category Cn. Classify.

次に、検証作業者は、カテゴリC1〜Cn毎に分類されたテストケースTa1〜Taj,Tb1〜Tbj,……,Tn1〜Tnjを、図6に示すような順番でテストケースファイル24に格納する。   Next, the verification worker stores the test cases Ta1 to Taj, Tb1 to Tbj,..., Tn1 to Tnj classified into the categories C1 to Cn in the test case file 24 in the order shown in FIG. .

そして、CPU12は、図7に示すカテゴリ重み付けテーブル25に基づいて、ステップS3においてテストケースファイル24に格納されたテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行うカテゴリ(検証実行カテゴリ)を設定する(ステップS4、カテゴリ選択工程)。   Then, the CPU 12 performs the logical verification of the source code 21 for the test cases Ta1 to Taj,..., Tn1 to Tnj stored in the test case file 24 in step S3 based on the category weighting table 25 shown in FIG. (Verification execution category) is set (step S4, category selection step).

この時点では、テストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行っていないため、統計重み付け比率RS1〜RSnが設定されていない。これにより、CPU12は、各カテゴリC1〜Cnにおいて、基準重み付け比率RS1〜RSnをカテゴリ重み付け比率としてそれぞれ選択する。   At this time, since the logical verification of the source code 21 is not performed for the test cases Ta1 to Taj,..., Tn1 to Tnj, the statistical weighting ratios RS1 to RSn are not set. Thereby, CPU12 selects reference | standard weighting ratio RS1-RSn as a category weighting ratio in each category C1-Cn, respectively.

因みに、テストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行っている場合、CPU12は、検証実行カテゴリとなったカテゴリC1〜Cnでは、基準重み付け比率RS1〜RSn又は統計重み付け比率RS1〜RSnのいずれかをカテゴリ重み付け比率として選択している。   Incidentally, when the logic verification of the source code 21 is performed for the test cases Ta1 to Taj,..., Tn1 to Tnj, the CPU 12 uses the reference weighting ratios RS1 to RSn or the statistics in the categories C1 to Cn that are the verification execution categories. Any one of the weighting ratios RS1 to RSn is selected as the category weighting ratio.

続いて、CPU12は、カテゴリ重み付けテーブル25においてカテゴリ重み付け比率の最も高いカテゴリC1〜Cnを検証実行カテゴリとして設定する。すなわち、CPU12は、分類されているテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行って「不良」と判定する可能性が最も高いカテゴリC1〜Cnを検証実行カテゴリとして設定している。   Subsequently, the CPU 12 sets the categories C1 to Cn having the highest category weighting ratio in the category weighting table 25 as verification execution categories. That is, the CPU 12 performs the logic verification of the source code 21 for the classified test cases Ta1 to Taj,..., Tn1 to Tnj, and determines the category C1 to Cn that is most likely to be determined as “bad” as the verification execution category. It is set as.

次に、CPU12は、検証実行カテゴリとなったカテゴリC1〜Cnに分類されたテストケースファイル24のテストケースTa1〜Taj,……,Tn1〜Tnjを検証実行順位Pの高い順番で読み出す。   Next, the CPU 12 reads the test cases Ta1 to Taj,..., Tn1 to Tnj of the test case file 24 classified into the categories C1 to Cn, which are the verification execution categories, in descending order of the verification execution order P.

この時点では、CPU12は、カテゴリ重み付けテーブル25においてカテゴリ重み付け比率の最も高いカテゴリC1を検証実行カテゴリとして設定する。次に、CPU12は、検証実行カテゴリとなったカテゴリC1に分類されたテストケースファイル24のテストケースTa1〜Tajを検証実行順位Pの高い順番で読み出す。   At this time, the CPU 12 sets the category C1 having the highest category weighting ratio in the category weighting table 25 as the verification execution category. Next, the CPU 12 reads the test cases Ta1 to Taj of the test case file 24 classified into the category C1 that has become the verification execution category in the order of the high verification execution order P.

そして、CPU12は、読み出した検証実行カテゴリのカテゴリC1〜Cnに分類されたテストケースTa1〜Taj,……,Tn1〜Tnj(この場合、カテゴリC1に分類されたテストケースTa1〜Taj)についてソースコード21の論理検証を行う(ステップS5、ソフトウェアテスト工程)。   The CPU 12 then provides source code for the test cases Ta1 to Taj,..., Tn1 to Tnj (in this case, test cases Ta1 to Taj classified in the category C1) classified into the categories C1 to Cn of the read verification execution categories. 21 is verified (step S5, software test process).

従って、CPU12は、ソースコード21の論理検証を行って「不良」と判定される可能性が最も高いテストケースTa1〜Taj,……,Tn1〜Tnjから先にソースコード21の論理検証を行うことで、少ない検証回数で「不良」と判定されるテストケースTa1〜Taj,……,Tn1〜Tnjを検出している。   Accordingly, the CPU 12 performs the logic verification of the source code 21 first from the test cases Ta1 to Taj,..., Tn1 to Tnj that are most likely to be determined as “bad” by performing the logic verification of the source code 21. Thus, test cases Ta1 to Taj,..., Tn1 to Tnj that are determined as “bad” with a small number of verifications are detected.

この結果、CPU12は、「良」と判定される可能性が高いテストケースTa1〜Taj,……,Tn1〜Tnjについてのソースコード21の論理検証が後回しになり、そのテストケースTa1〜Taj,……,Tn1〜Tnjについて仕様書20の通りに正しく記述されていないソースコード21の論理検証を行う必要がなくなる。これに伴い、CPU12は、仕様書20の通りに正しく記述されていないソースコード21の論理検証の検証回数を削減することができる。   As a result, the CPU 12 postpones the logic verification of the source code 21 for the test cases Ta1 to Taj,..., Tn1 to Tnj that are likely to be determined as “good”, and the test cases Ta1 to Taj,. ... Tn1 to Tnj need not be logically verified for the source code 21 that is not correctly described as in the specification 20. Accordingly, the CPU 12 can reduce the number of verifications of the logic verification of the source code 21 that is not correctly described as in the specification 20.

そして、CPU12は、検証実行カテゴリのカテゴリC1〜Cnに分類されたテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行うと、その検証結果をカテゴリ重み付けテーブル25に反映する(ステップS6、テーブル変更工程)。   Then, when the CPU 12 performs logical verification of the source code 21 for the test cases Ta1 to Taj,..., Tn1 to Tnj classified into the categories C1 to Cn of the verification execution category, the verification result is reflected in the category weighting table 25. (Step S6, table changing step).

すなわち、CPU12は、検証実行カテゴリのカテゴリC1〜Cnに分類されるテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行った結果を、その検証実行カテゴリのカテゴリC1〜Cnに対する統計重み付け比率RS1〜RSnに反映する。   That is, the CPU 12 obtains the result of performing the logic verification of the source code 21 for the test cases Ta1 to Taj,. Reflected in the statistical weighting ratios RS1 to RSn for Cn.

具体的には、CPU12は、検証実行カテゴリのカテゴリC1〜Cnに分類されるテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行った結果、「不良」と判定されるテストケースTa1〜Taj,……,Tn1〜Tnjがないとき、検証実行カテゴリのカテゴリC1〜Cnに対する統計重み付け比率RS1〜RSnを「0%」にする。   Specifically, the CPU 12 performs logic verification of the source code 21 on the test cases Ta1 to Taj,..., Tn1 to Tnj classified into the verification execution categories C1 to Cn, and is determined to be “bad”. When there are no test cases Ta1 to Taj,..., Tn1 to Tnj, the statistical weight ratios RS1 to RSn for the verification execution categories C1 to Cn are set to “0%”.

一方、CPU12は、検証実行カテゴリのカテゴリC1〜Cnに分類されるテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行った結果、「不良」と判定されるテストケースTa1〜Taj,……,Tn1〜Tnjがあるとき、「不良」と判定されたテストケースTa1〜Taj,……,Tn1〜Tnjの数に応じて、検証実行カテゴリのカテゴリC1〜Cnに対する統計重み付け比率RS1〜RSnを増減する。   On the other hand, the CPU 12 performs the logic verification of the source code 21 for the test cases Ta1 to Taj,..., Tn1 to Tnj classified into the categories C1 to Cn of the verification execution category, and as a result, is determined as “bad”. When there are Ta1 to Taj,..., Tn1 to Tnj, statistical weighting for the categories C1 to Cn of the verification execution category is performed according to the number of test cases Ta1 to Taj,. Increase or decrease the ratios RS1 to RSn.

詳しくは、上記のように、統計重み付け比率RS1〜RSnは、各カテゴリC1〜Cnにおいて、CPU12がソースコード21の論理検証を行って「不良」と判定されたテストケースTa1〜Taj,……,Tn1〜Tnjの数と、CPU12がソースコード21の論理検証を行ったテストケースTa1〜Taj,……,Tn1〜Tnjの数との比率である。   Specifically, as described above, the statistical weighting ratios RS1 to RSn are the test cases Ta1 to Taj,..., In which the CPU 12 performs logic verification of the source code 21 and is determined as “bad” in each category C1 to Cn. It is a ratio between the number of Tn1 to Tnj and the number of test cases Ta1 to Taj,..., Tn1 to Tnj in which the CPU 12 performs logic verification of the source code 21.

このため、CPU12は、「不良」と判定されるテストケースTa1〜Taj,……,Tn1〜Tnjが多いほど、検証実行カテゴリのカテゴリC1〜Cnに対する統計重み付け比率RS1〜RSnを高くする。反対に、CPU12は、「不良」と判定されるテストケースTa1〜Taj,……,Tn1〜Tnjが少ないほど、検証実行カテゴリのカテゴリC1〜Cnに対する統計重み付け比率RS1〜RSnを低くする。   Therefore, the CPU 12 increases the statistical weighting ratios RS1 to RSn for the categories C1 to Cn of the verification execution category as the number of test cases Ta1 to Taj,..., Tn1 to Tnj determined as “defective” increases. Conversely, the CPU 12 decreases the statistical weighting ratios RS1 to RSn for the categories C1 to Cn of the verification execution category as the number of test cases Ta1 to Taj,.

この時点では、CPU12は、検証実行カテゴリであるカテゴリC1に分類されるテストケースTa1〜Tajについてソースコード21の論理検証を行った結果を、カテゴリC1に対する統計重み付け比率RS1に反映している。   At this time, the CPU 12 reflects the result of logical verification of the source code 21 for the test cases Ta1 to Taj classified in the category C1 that is the verification execution category in the statistical weight ratio RS1 for the category C1.

そして、CPU12は、ステップS5において検証実行カテゴリのカテゴリC1〜Cnに分類されるテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行った結果、「不良」と判定されたテストケースTa1〜Taj,……,Tn1〜Tnjがあるかどうかを検出する(ステップS7)。   Then, as a result of logical verification of the source code 21 for the test cases Ta1 to Taj,..., Tn1 to Tnj classified into the verification execution categories C1 to Cn in step S5, the CPU 12 is determined to be “bad”. It is detected whether there are test cases Ta1 to Taj,..., Tn1 to Tnj (step S7).

そして、CPU12が「不良」と判定されたテストケースTa1〜Taj,……,Tn1〜Tnjを検出する場合(ステップS7でYES)、検証作業者は、「不良」と判定されたテストケースTa1〜Taj,……,Tn1〜Tnjから不良原因を判断する。次に、検証作業者は、その不良原因がソースコード21に記述された論理が仕様書20の通りに記述されていなかったこと(論理障害)によるものか否かを判断する(ステップS8)。なお、論理障害以外の不良原因としては、テストケースTa1〜Taj,……,Tn1〜Tnjの入力データ及び出力期待値の内容に間違いがある場合、又は、仕様書20の内容に間違いがある場合がある。   When the CPU 12 detects the test cases Ta1 to Taj,..., Tn1 to Tnj determined to be “defective” (YES in step S7), the verification operator determines that the test cases Ta1 to Ta1 determined to be “bad”. The cause of the failure is determined from Taj,..., Tn1 to Tnj. Next, the verification operator determines whether or not the cause of the failure is due to the fact that the logic described in the source code 21 is not described as in the specification 20 (logic failure) (step S8). As a cause of failure other than a logical failure, there is an error in the contents of input data and output expected values of test cases Ta1 to Taj,..., Tn1 to Tnj, or an error in the contents of specification 20. There is.

すなわち、検証作業者は、「不良」と判定されたテストケースTa1〜Taj,……,Tn1〜Tnjに基づいて、不良原因がソースコード21の記述間違いによるものか、又は、テストケースTa1〜Taj,……,Tn1〜Tnjの内容及び仕様書20の内容の間違いによるものかを判断している。言い換えると、検証作業者は、「不良」と判定されたテストケースTa1〜Taj,……,Tn1〜Tnjに基づいて、仕様書20、ソースコード21、又は、テストケースTa1〜Taj,……,Tn1〜Tnjのうち、どの記述又は内容を修正するかを判断している。   That is, the verification operator determines whether the cause of the failure is due to a description error in the source code 21 based on the test cases Ta1 to Taj,..., Tn1 to Tnj determined as “bad” or the test cases Ta1 to Taj. ,..., Tn1 to Tnj and the specification 20 are determined to be due to an error. In other words, based on the test cases Ta1 to Taj,..., Tn1 to Tnj determined as “defective”, the verification operator can specify the specification 20, the source code 21, or the test cases Ta1 to Taj,. It is determined which description or content of Tn1 to Tnj is to be corrected.

そして、不良原因が論理障害によるものと判断すると(ステップS8でYES)、検証作業者は、入力装置16を操作し、記憶装置14からソースコード21を読み出してソースコード21の記述に間違いがある箇所を修正する(ステップS9)。   If it is determined that the cause of failure is due to a logical failure (YES in step S8), the verification operator operates the input device 16 to read the source code 21 from the storage device 14 and there is an error in the description of the source code 21. The location is corrected (step S9).

続いて、修正したソースコード21を記憶装置14に格納すると、CPU12は、ステップS4に戻り、再度、カテゴリ重み付けテーブル25に基づいてカテゴリ重み付け比率が最も高い検証実行カテゴリとしてのカテゴリC1〜Cnを設定する。   Subsequently, when the modified source code 21 is stored in the storage device 14, the CPU 12 returns to step S4, and again sets the categories C1 to Cn as the verification execution categories having the highest category weighting ratio based on the category weighting table 25. To do.

この時点では、CPU12は、カテゴリ重み付けテーブル25のカテゴリC1に対する統計重み付け比率RS1に、カテゴリC1に分類されたテストケースTa1〜Tajについてソースコード21の論理検証が行われた結果を反映している。CPU12は、カテゴリC1において、統計重み付け比率RS1と基準重み付け比率RK1を比較し、その比較結果に応じて統計重み付け比率RS1又は基準重み付け比率RK1のいずれかをカテゴリ重み付け比率として選択する。   At this time, the CPU 12 reflects the result of the logic verification of the source code 21 for the test cases Ta1 to Taj classified in the category C1 in the statistical weighting ratio RS1 for the category C1 in the category weighting table 25. In the category C1, the CPU 12 compares the statistical weighting ratio RS1 and the reference weighting ratio RK1, and selects either the statistical weighting ratio RS1 or the reference weighting ratio RK1 as the category weighting ratio according to the comparison result.

CPU12は、統計重み付け比率RS1が基準重み付け比率RK1の上限値U1以上、又は、統計重み付け比率RS1が基準重み付け比率RK1の下限値LO1〜LOn以下のとき、基準重み付け比率RK1をカテゴリ重み付け比率として選択する。この場合、CPU12は、カテゴリC1において基準重み付け比率RK1を選択したため、カテゴリC1〜Cnのカテゴリ重み付け比率に変更ない。   The CPU 12 selects the reference weighting ratio RK1 as the category weighting ratio when the statistical weighting ratio RS1 is not less than the upper limit value U1 of the reference weighting ratio RK1 or the statistical weighting ratio RS1 is not more than the lower limit values LO1 to LOn of the reference weighting ratio RK1. . In this case, since the CPU 12 has selected the reference weighting ratio RK1 in the category C1, it does not change to the category weighting ratios in the categories C1 to Cn.

つまり、CPU12は、カテゴリC1に分類されたテストケースTa1〜Tajについてソースコード21の論理検証を行った結果、統計重み付け比率RS1が基準重み付け比率RK1の上限値U1から下限値LO1の範囲に入って検証作業者の予測通りになったため、基準重み付け比率RK1としてのカテゴリC1のカテゴリ重み付け比率を変更しない。この場合、CPU12は、検証実行カテゴリに変更がないため、カテゴリC1に分類されたテストケースTa1〜Tajについてソースコード21の論理検証を再度行う(ステップS5)。   That is, as a result of logical verification of the source code 21 for the test cases Ta1 to Taj classified in the category C1, the CPU 12 has the statistical weighting ratio RS1 within the range from the upper limit value U1 to the lower limit value LO1 of the reference weighting ratio RK1. Since the verification worker predicted, the category weighting ratio of the category C1 as the reference weighting ratio RK1 is not changed. In this case, since there is no change in the verification execution category, the CPU 12 performs the logic verification of the source code 21 again for the test cases Ta1 to Taj classified in the category C1 (step S5).

一方、統計重み付け比率RS1が基準重み付け比率RK1の上限値U1より低い、又は、統計重み付け比率RS1が基準重み付け比率RK1の下限値LO1より高い場合、CPU12は、統計重み付け比率RS1をカテゴリ重み付け比率として選択する。   On the other hand, when the statistical weighting ratio RS1 is lower than the upper limit value U1 of the reference weighting ratio RK1 or the statistical weighting ratio RS1 is higher than the lower limit value LO1 of the reference weighting ratio RK1, the CPU 12 selects the statistical weighting ratio RS1 as the category weighting ratio. To do.

すなわち、CPU12は、カテゴリC1に分類されたテストケースTa1〜Tajについてソースコード21の論理検証を行った結果、統計重み付け比率RS1が予測した基準重み付け比率RK1の上限値U1から下限値LO1以内に入らなかったため、統計重み付け比率RS1をカテゴリ重み付け比率として選択する。   That is, as a result of logical verification of the source code 21 for the test cases Ta1 to Taj classified in the category C1, the CPU 12 falls within the lower limit LO1 from the upper limit U1 of the reference weighting ratio RK1 predicted by the statistical weighting ratio RS1. Since there was not, statistical weight ratio RS1 is selected as a category weight ratio.

これにより、カテゴリC1のカテゴリ重み付け比率がカテゴリC2のカテゴリ重み付け比率より高い場合、カテゴリC1のカテゴリ重み付け比率が最も高いため、カテゴリC1を検証実行カテゴリとして再度設定する。この場合、CPU12は、検証実行カテゴリに変更がないため、カテゴリC1に分類されたテストケースTa1〜Tajについてソースコード21の論理検証を再度行う(ステップS5)。   Thereby, when the category weighting ratio of the category C1 is higher than the category weighting ratio of the category C2, since the category weighting ratio of the category C1 is the highest, the category C1 is set again as the verification execution category. In this case, since there is no change in the verification execution category, the CPU 12 performs the logic verification of the source code 21 again for the test cases Ta1 to Taj classified in the category C1 (step S5).

換言すると、CPU12は、検証実行カテゴリのカテゴリC1に分類されたテストケースTa1〜Tajについてソースコード21の論理検証を行った結果、カテゴリC1のカテゴリ重み付け比率が高くなっても、カテゴリC1のカテゴリ重み付け比率が最も高いため、カテゴリC1としての検証実行カテゴリを維持している。   In other words, the CPU 12 performs the logic verification of the source code 21 on the test cases Ta1 to Taj classified in the category C1 of the verification execution category, and as a result, even if the category weighting ratio of the category C1 increases, the category weighting of the category C1 Since the ratio is the highest, the verification execution category as the category C1 is maintained.

反対に、カテゴリC1のカテゴリ重み付け比率がカテゴリC2のカテゴリ重み付け比率より低い場合、カテゴリC2のカテゴリ重み付け比率が最も高くなるため、CPU12は、カテゴリC2を検証実行カテゴリとして設定する。この場合、CPU12は、検証実行カテゴリのカテゴリC2に分類されたテストケースTb1〜Tbjについてソースコード21の論理検証を行う(ステップS5)。   On the contrary, when the category weighting ratio of category C1 is lower than the category weighting ratio of category C2, the category weighting ratio of category C2 is the highest, so CPU 12 sets category C2 as the verification execution category. In this case, the CPU 12 performs logic verification of the source code 21 for the test cases Tb1 to Tbj classified in the category C2 of the verification execution category (step S5).

すなわち、検証実行カテゴリのカテゴリC1に分類されたテストケースTa1〜Tajについてソースコード21の論理検証を行った結果、カテゴリC1のカテゴリ重み付け比率が2番目に高かったカテゴリC2のカテゴリ重み付け比率より低くなって、CPU12は、検証実行カテゴリをカテゴリC1からカテゴリC2に変更している。   That is, as a result of logical verification of the source code 21 for the test cases Ta1 to Taj classified into the category C1 of the verification execution category, the category weighting ratio of the category C1 is lower than the category weighting ratio of the category C2 that is the second highest. Thus, the CPU 12 changes the verification execution category from the category C1 to the category C2.

「不良」と判定されたテストケースTa1〜Taj,……,Tn1〜Tnjに基づいて不良原因が論理障害によるものではないと判断すると(ステップS8でNO)、検証作業者は、ステップS1に戻って、入力装置16を操作し、不良原因を踏まえて仕様書20又は要因分析表22を再度作成する。   If it is determined that the cause of failure is not due to a logical failure based on the test cases Ta1 to Taj,..., Tn1 to Tnj determined as “defective” (NO in step S8), the verification operator returns to step S1. Then, the input device 16 is operated, and the specification 20 or the factor analysis table 22 is created again based on the cause of the failure.

つまり、検証作業者は、仕様書20又は要因分析表22の内容に間違いがあったため、仕様書20又は要因分析表22を修正する。検証作業者は、仕様書20及び要因分析表22に基づいて、直交表23及びテストケースTa1〜Taj,……,Tn1〜Tnjを再度作成し、新たに作成したテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行うようになっている。   That is, the verification operator corrects the specification 20 or the factor analysis table 22 because there is an error in the contents of the specification 20 or the factor analysis table 22. The verification operator creates the orthogonal table 23 and the test cases Ta1 to Taj,..., Tn1 to Tnj again based on the specifications 20 and the factor analysis table 22, and newly created test cases Ta1 to Taj,. , Tn1 to Tnj are subjected to logic verification of the source code 21.

「不良」と判定されたテストケースTa1〜Taj,……,Tn1〜Tnjを検出しない場合(ステップS7でNO)、CPU12は、テストケースファイル24に記憶されているテストケースTa1〜Taj,……,Tn1〜Tnjが全て「良」と判定されたかどうかを判断する(ステップS10)。そして、CPU12は、「良」と判定されていないテストケースがある場合(ステップS10でYES)、再度、カテゴリ重み付けテーブル25に基づいてカテゴリ重み付け比率が最も高い検証実行カテゴリのカテゴリC1〜Cnを設定する(ステップS4)。   When the test cases Ta1 to Taj,..., Tn1 to Tnj determined as “bad” are not detected (NO in step S7), the CPU 12 stores the test cases Ta1 to Taj,. , Tn1 to Tnj are all determined to be “good” (step S10). Then, when there is a test case that is not determined as “good” (YES in step S10), the CPU 12 sets again the categories C1 to Cn of the verification execution category having the highest category weighting ratio based on the category weighting table 25. (Step S4).

この時点で、CPU12は、カテゴリ重み付けテーブル25のカテゴリC1に対する統計重み付け比率RS1に、カテゴリC1に分類されたテストケースTa1〜Tajについてソースコード21の論理検証を行った結果を反映している。   At this time, the CPU 12 reflects the result of logical verification of the source code 21 for the test cases Ta1 to Taj classified in the category C1 in the statistical weighting ratio RS1 for the category C1 in the category weighting table 25.

この場合、カテゴリC1に分類されたテストケースTa1〜Tajについてソースコード21の論理検証を行った結果、全てのテストケースTa1〜Tajについて「良」と判定されたため、CPU12は、カテゴリC1の統計重み付け比率RS1を「0%」にしている。これにより、CPU12は、カテゴリC1において、「0%」の統計重み付け比率RS1をカテゴリ重み付け比率として選択する。   In this case, as a result of performing logic verification of the source code 21 for the test cases Ta1 to Taj classified into the category C1, it is determined that all the test cases Ta1 to Taj are “good”. The ratio RS1 is set to “0%”. As a result, the CPU 12 selects the statistical weighting ratio RS1 of “0%” as the category weighting ratio in the category C1.

従って、カテゴリC1のカテゴリ重み付け比率が、カテゴリC2のカテゴリ重み付け比率より低くなる。この結果、CPU12は、検証実行カテゴリをカテゴリC2に設定し(ステップS4)、カテゴリC2に分類されるテストケースTb1〜Tbjについてソースコード21の論理検証を行う(ステップS5)。   Therefore, the category weight ratio of category C1 is lower than the category weight ratio of category C2. As a result, the CPU 12 sets the verification execution category to the category C2 (step S4), and performs logical verification of the source code 21 for the test cases Tb1 to Tbj classified into the category C2 (step S5).

換言すると、CPU12は、カテゴリC1に分類されたテストケースTa1〜Tajについてソースコード21の論理検証を行って問題がなかったため、2番目にカテゴリ重み付け比率が高かったカテゴリC2に分類されるテストケースTb1〜Tbjについてソースコード21の論理検証を行うようにしている。   In other words, the CPU 12 performs the logic verification of the source code 21 for the test cases Ta1 to Taj classified into the category C1, and there is no problem. Therefore, the test case Tb1 classified into the category C2 having the second highest category weighting ratio. The logic verification of the source code 21 is performed for .about.Tbj.

すなわち、CPU12は、ステップS4→ステップS5→ステップS6→ステップS7→ステップS10の順番で処理を繰り返し、テストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行っていく。その後、CPU12は、「不良」と判定されるテストケースTa1〜Taj,……,Tn1〜Tnjを検出するまで(ステップS7でYES)、最初の段階のカテゴリ重み付け比率が高いカテゴリC1〜Cnの順番で、そのカテゴリC1〜Cnに対応するテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行うようになっている。   That is, the CPU 12 repeats the processing in the order of step S4 → step S5 → step S6 → step S7 → step S10, and performs logical verification of the source code 21 for the test cases Ta1 to Taj,..., Tn1 to Tnj. Thereafter, until the CPU 12 detects the test cases Ta1 to Taj,..., Tn1 to Tnj determined as “bad” (YES in step S7), the order of the categories C1 to Cn having the first category weighting ratio is high. Thus, the logic verification of the source code 21 is performed for the test cases Ta1 to Taj,..., Tn1 to Tnj corresponding to the categories C1 to Cn.

この場合、CPU12は、それまでにソースコード21の論理検証を行った検証結果を、ソースコード21の論理検証を行ったテストケースTa1〜Taj,……,Tn1〜Tnjが分類されたカテゴリC1〜Cnに対する統計重み付け比率RS1〜RSnに反映している(ステップS6)。   In this case, the CPU 12 uses the verification results obtained by performing the logic verification of the source code 21 so far as the categories C1 to C1 in which the test cases Ta1 to Taj,. This is reflected in the statistical weighting ratios RS1 to RSn for Cn (step S6).

続いて、CPU12は、カテゴリ重み付けテーブル25のカテゴリC1〜Cnのカテゴリ重み付け比率が最も高いカテゴリC1〜Cnを検証実行カテゴリとして再度設定する(ステップS4)。つまり、CPU12は、「不良」と判定されたテストケースTa1〜Taj,……,Tn1〜Tnjが分類されているカテゴリC1〜Cn、又は、そのカテゴリC1〜Cnの次にカテゴリ重み付け比率が高かったカテゴリC1〜Cnのいずれかを検証実行カテゴリとして設定する。   Subsequently, the CPU 12 sets again the categories C1 to Cn having the highest category weight ratio of the categories C1 to Cn in the category weighting table 25 as verification execution categories (step S4). That is, the CPU 12 has the category weighting ratio next to the categories C1 to Cn into which the test cases Ta1 to Taj,... One of the categories C1 to Cn is set as the verification execution category.

その後、CPU12は、ステップS4→ステップS5→ステップS6→ステップS7→ステップS10の順番で処理を繰り返し、テストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行っていく。その後、CPU12は、「不良」と判定されるテストケースTa1〜Taj,……,Tn1〜Tnjを検出するまで、最初の段階のカテゴリ重み付け比率が高いカテゴリC1〜Cnの順番で、そのカテゴリC1〜Cnに対応するテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行うようになっている。   Thereafter, the CPU 12 repeats the processing in the order of step S4 → step S5 → step S6 → step S7 → step S10, and performs logical verification of the source code 21 for the test cases Ta1 to Taj,..., Tn1 to Tnj. Thereafter, the CPU 12 detects the test cases Ta1 to Taj,..., Tn1 to Tnj determined to be “bad” in the order of the categories C1 to Cn having the highest category weighting ratio in the first stage. The logic verification of the source code 21 is performed for the test cases Ta1 to Taj,..., Tn1 to Tnj corresponding to Cn.

そして、テストケースファイル24に記憶されているテストケースTa1〜Taj,……,Tn1〜Tnjが全て「良」と判定されると(ステップS10でNO)、CPU12は、仕様書20の通りにソースコード21が正しく記述されていると判断してソースコード21の論理検証を完了する。   When the test cases Ta1 to Taj,..., Tn1 to Tnj stored in the test case file 24 are all determined to be “good” (NO in step S10), the CPU 12 uses the source code as specified in the specification 20. Judging that the code 21 is correctly described, the logic verification of the source code 21 is completed.

図8に示す波形50,51は、一般的に「バグ曲線」と呼ばれ、ソースコード21の論理検証期間において、検出する仕様書20、ソースコード21、及び、要因分析表22の間違いを検出した累積検出件数を図示したものである。   Waveforms 50 and 51 shown in FIG. 8 are generally called “bug curves”, and errors in the specification 20 to be detected, the source code 21, and the factor analysis table 22 are detected during the logic verification period of the source code 21. The cumulative number of detected cases is shown in the figure.

ソースコード21の論理検証等のソフトウェアの検証では、バグ(本実施形態では、仕様書20、ソースコード21、及び、要因分析表22の間違い)は、検証の初期段階で多く検出され、その後、累積検出数が徐々に収束していく傾向がある。このようなバグ曲線では、ソフトウェアのテストを行ってバグの累積検出数がなだらかになる付近の目標累積検出数Dに到達すると、ソフトウェアの品質が安定していると判定することができる。   In software verification such as logic verification of the source code 21, many bugs (in the present embodiment, errors in the specification 20, the source code 21, and the factor analysis table 22) are detected at an initial stage of verification. The cumulative number of detections tends to converge gradually. With such a bug curve, it is possible to determine that the quality of the software is stable when a software test is performed and the target cumulative detection number D in the vicinity where the cumulative detection number of bugs becomes gentle is reached.

そこで、本実施形態では、ソースコード21の論理検証を行ってテストケースTa1〜Taj,……,Tn1〜Tnjについて全て「良」と判定されると、仕様書20、ソースコード21、及び、要因分析表22の間違いを検出した累積検出数が、目標累積検出数Dに到達するようになっている。   Therefore, in the present embodiment, when logic verification of the source code 21 is performed and all of the test cases Ta1 to Taj,..., Tn1 to Tnj are determined to be “good”, the specification 20, the source code 21, and the factors The cumulative number of detections in which an error in the analysis table 22 is detected reaches the target cumulative detection number D.

従来、テストケースTa1〜Taj,……,Tn1〜Tnjの順番を変更せずにソースコード21の論理検証を行うと、バグ曲線は図8に示す波形50のようになっていた。
本実施形態では、CPU12が検証カテゴリとなったカテゴリC1〜Cnに分類されるテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行う毎に、カテゴリ重み付けテーブル25のカテゴリC1〜Cnに対するカテゴリ重み付け比率に基づいて、カテゴリC1〜Cnの中から検証カテゴリを設定している。
Conventionally, when the logic verification of the source code 21 is performed without changing the order of the test cases Ta1 to Taj,..., Tn1 to Tnj, the bug curve has a waveform 50 shown in FIG.
In this embodiment, every time the source code 21 is logically verified for the test cases Ta1 to Taj,..., Tn1 to Tnj, which are classified into the categories C1 to Cn that are the verification categories, the category of the category weighting table 25 is used. A verification category is set from the categories C1 to Cn based on the category weighting ratios for C1 to Cn.

これにより、CPU12は、その時々で、最も「不良」と判定される可能性が高いテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行うことができるため、少ない検証回数で仕様書20、ソースコード21、及び、要因分析表22の間違いを検証することができる。   As a result, the CPU 12 can perform logic verification of the source code 21 for the test cases Ta1 to Taj,..., Tn1 to Tnj that are most likely to be determined as “bad” from time to time. It is possible to verify errors in the specification 20, the source code 21, and the factor analysis table 22 by the number of times.

従って、従来よりも少ない検証回数でソースコード21の論理検証を完了することができるとともに、図8に示す波形51のように、従来に比べて早く目標累積検出数Dに到達し、ソースコード21の論理検証の検証時間を短縮することができる。   Accordingly, the logic verification of the source code 21 can be completed with a smaller number of verifications than in the prior art, and the target cumulative detection number D is reached earlier than in the conventional case as shown by the waveform 51 in FIG. The verification time of the logic verification can be shortened.

以上記述したように、本実施の形態によれば、以下の効果を奏する。
(1)テストケースTa1〜Taj,……,Tn1〜Tnjを分類したカテゴリC1〜Cnに対して、統計重み付け比率RS1〜RSn、基準重み付け比率RK1〜RKn、上限値U1〜Un、下限値LO1〜LOnが設定されたカテゴリ重み付けテーブル25を設けた。CPU12は、各カテゴリC1〜Cnにおいて、基準重み付け比率RK1〜RKnの上限値U1〜Unから下限値LO1〜LOnの範囲に統計重み付け比率RS1〜RSnが入っている否かに応じて、基準重み付け比率RK1〜RKn又は統計重み付け比率RS1〜RSnのいずれかをカテゴリ重み付け比率として設定するようにした。次に、CPU12は、カテゴリ重み付け比率の最も高いカテゴリ重み付け比率のカテゴリC1〜Cnを検証実行カテゴリとして設定した。続いて、CPU12は、検証実行カテゴリとなったカテゴリC1〜Cnに分類されたテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行うようにした。
As described above, according to the present embodiment, the following effects can be obtained.
(1) For categories C1 to Cn into which test cases Ta1 to Taj,..., Tn1 to Tnj are classified, statistical weighting ratios RS1 to RSn, reference weighting ratios RK1 to RKn, upper limit values U1 to Un, lower limit values LO1 to LO1 A category weighting table 25 in which LOn is set is provided. In each category C1 to Cn, the CPU 12 determines the reference weighting ratio according to whether or not the statistical weighting ratios RS1 to RSn are in the range from the upper limit values U1 to Un of the reference weighting ratios RK1 to RKn to the lower limit values LO1 to LOn. Any one of RK1 to RKn or statistical weighting ratios RS1 to RSn is set as the category weighting ratio. Next, the CPU 12 sets the category weight ratios C1 to Cn having the highest category weight ratio as the verification execution categories. Subsequently, the CPU 12 performs logic verification of the source code 21 for the test cases Ta1 to Taj,...

従って、CPU12は、不良と判定される可能性が高いテストケースTa1〜Tnjについてソースコード21の論理検証を行うことができるため、少ない検証回数で不良と判定されるテストケースTa1〜Taj,……,Tn1〜Tnjを検出することができる。これに伴い、ソースコード21の論理検証の検証時間を短縮することができる。   Therefore, since the CPU 12 can perform logical verification of the source code 21 for the test cases Ta1 to Tnj that are highly likely to be determined as defective, the test cases Ta1 to Taj that are determined as defective with a small number of verifications. , Tn1 to Tnj can be detected. Along with this, the verification time of the logic verification of the source code 21 can be shortened.

(2)さらに、CPU12は、ソースコード21の論理検証を行った結果を、カテゴリ重み付けテーブル25の統計重み付け比率に反映するようにした。
従って、CPU12は、検証実行カテゴリとなったカテゴリC1〜Cnに分類されたテストケースTa1〜Taj,……,Tn1〜Tnjについてソースコード21の論理検証を行う毎に、その検証結果が反映されたカテゴリ重み付けテーブル25に基づいて検証実行カテゴリを設定することができる。この結果、CPU12は、さらに少ない検証回数で不良と判定されるテストケースTa1〜Taj,……,Tn1〜Tnjを検出することができる。これに伴い、ソースコード21の論理検証の検証時間をさらに短縮することができる。
(2) Further, the CPU 12 reflects the result of the logic verification of the source code 21 in the statistical weighting ratio of the category weighting table 25.
Therefore, each time the CPU 12 performs the logic verification of the source code 21 for the test cases Ta1 to Taj,..., Tn1 to Tnj classified into the categories C1 to Cn that are the verification execution categories, the verification result is reflected. A verification execution category can be set based on the category weighting table 25. As a result, the CPU 12 can detect the test cases Ta1 to Taj,..., Tn1 to Tnj that are determined to be defective with a smaller number of verifications. Accordingly, the verification time of the logic verification of the source code 21 can be further shortened.

尚、上記実施の形態は、以下の態様で実施してもよい。
・本実施形態では、ハードウェア記述言語で記述された集積回路のソースコードの論理検証に具体化していたが、ソフトウェアであればそのテスト方法に違いはないため、具体化するソフトウェアは特に制限されない。
In addition, you may implement the said embodiment in the following aspects.
In the present embodiment, the logic verification of the source code of the integrated circuit described in the hardware description language has been embodied, but since there is no difference in the test method as long as it is software, the software to be embodied is not particularly limited. .

・本実施形態では、検証作業者は、水準L1〜Lnを最大値、最小値、同値クラス、境界値などの定量情報に基づいてカテゴリC1〜Cnに分類した。これに限らず、因子F1〜Fnを定性情報に基づいてカテゴリC1〜Cnに分類してもよい。   In the present embodiment, the verification operator classifies the levels L1 to Ln into the categories C1 to Cn based on quantitative information such as the maximum value, the minimum value, the equivalence class, and the boundary value. Not limited to this, the factors F1 to Fn may be classified into categories C1 to Cn based on qualitative information.

・本実施形態では、CPU12は、検証実行カテゴリを、カテゴリ重み付けテーブル25の統計重み付け比率RS1〜RSnが最も高いカテゴリC1〜Cnに設定していた。これに限らず、検証カテゴリを、カテゴリ重み付けテーブル25の統計重み付け比率RS1〜RSnが高い複数のカテゴリC1〜Cnに設定してもよい。   In the present embodiment, the CPU 12 has set the verification execution category to the categories C1 to Cn having the highest statistical weighting ratios RS1 to RSn in the category weighting table 25. However, the verification category may be set to a plurality of categories C1 to Cn having high statistical weight ratios RS1 to RSn in the category weighting table 25.

11 コンピュータ
20 設計仕様(仕様書)
21 ソフトウェア(ソースコード)
25 重み付けテーブル(カテゴリ重み付けテーブル)
C1〜Cn カテゴリ
LO1〜LOn 下限値
RK1〜RKn 基準重み付け比率
RS1〜RSn 統計重み付け比率
Ta1〜Taj,……,Tn1〜Tnj テストケース
U1〜Un 上限値
11 Computer 20 Design specifications (specifications)
21 Software (source code)
25 Weighting table (category weighting table)
C1 to Cn Category LO1 to LOn Lower limit value RK1 to RKn Standard weighting ratio RS1 to RSn Statistical weighting ratio Ta1 to Taj, ..., Tn1 to Tnj Test cases U1 to Un Upper limit value

Claims (4)

力データと、前記入力データに対する出力期待値とを有するテストケースを複数作成するテストケース作成工程と、
定量情報及び定性情報に基づいて前記テストケースを分類したカテゴリに対して、分類された前記テストケースのテスト結果が不良と判定される可能性を示す重み付け比率がそれぞれ設定された重み付けテーブルの各カテゴリに対する前記重み付け比率に基づいて、ソフトウェアのテストを行う前記カテゴリを選択するカテゴリ選択工程と、
前記カテゴリ選択工程において選択された前記カテゴリに分類された前記テストケースについて前記ソフトウェアのテストを行うソフトウェアテスト工程と、
前記ソフトウェアのテスト結果に基づいて、前記ソフトウェアのテストを行った前記カテゴリに対する前記重み付けテーブルの重み付け比率を算出し、前記重み付け比率の算出結果に基づいて前記重み付けテーブルを変更するテーブル変更工程と、
複数の前記テストケースの中から選択した1つの前記テストケースの出力期待値と、前記ソフトウェアにより選択した前記テストケースの前記入力データを処理して出力された出力データとが等しいか否かを判定する判定工程と、
を有し、
前記重み付けテーブルは、
予め設定された基準重み付け比率と、前記基準重み付け比率の上限値及び下限値と、前記ソフトウェアのテスト結果に基づいて算出される統計重み付け比率とを有し、
前記カテゴリ選択工程は、
前記統計重み付け比率が前記基準重み付け比率の下限値以上且つ上限値以下の場合、前記基準重み付け比率を前記重み付け比率として選択し、
前記統計重み付け比率が前記基準重み付け比率の下限値より低い又は上限値より高い場合、前記統計重み付け比率を前記重み付け比率として選択する
ことを特徴とするソフトウェアのテスト方法。
And input data, and the test case creation step of creating multiple test cases with an expected output value for the input data,
For a category of classification of the test case based on the quantitative information and the qualitative information, each of the classified the test weighting table which case the test results weighting ratio indicating the likelihood that is determined to be defective is set respectively based on the weighting ratio for a category, the category selection step of selecting the category to test the software,
A software test step of testing the software for the test cases classified in the category selected in the category selection step;
Based on the test results of the software to calculate the weighting ratio of the weighting table for the categories tested of the software, the table change step of changing the weighting table based on the calculation result of the weighting ratio ,
Determine whether output expected value of one test case selected from a plurality of test cases is equal to output data output by processing the input data of the test case selected by the software A determination step to
I have a,
The weighting table is
A preset reference weighting ratio, an upper limit value and a lower limit value of the reference weighting ratio, and a statistical weighting ratio calculated based on a test result of the software,
The category selection step includes:
When the statistical weighting ratio is not less than the lower limit value and not more than the upper limit value of the reference weighting ratio, the reference weighting ratio is selected as the weighting ratio,
The software testing method , wherein the statistical weighting ratio is selected as the weighting ratio when the statistical weighting ratio is lower than a lower limit value or higher than an upper limit value of the reference weighting ratio .
記カテゴリ選択工程は、
前記重み付けテーブルの各カテゴリに対する前記重み付け比率のうち、最も高い前記重み付け比率のカテゴリを選択することを特徴とする請求項1に記載のソフトウェアのテスト方法。
Before Symbol category selection process,
2. The software testing method according to claim 1, wherein a category having the highest weighting ratio among the weighting ratios for each category of the weighting table is selected.
記ソフトウェアは、
プログラミング言語又はハードウェア記述言語で記述されたソースコードであることを特徴とする請求項1又は2に記載のソフトウェアのテスト方法。
Before Symbol software,
3. The software test method according to claim 1 , wherein the source code is a source code described in a programming language or a hardware description language.
力データと、前記入力データに対する出力期待値とを有する複数のテストケースを作成し、
定量情報及び定性情報に基づいて前記テストケースを分類したカテゴリに対して、分類された前記テストケースのテスト結果が不良と判定される可能性を示す予め設定された基準重み付け比率と、前記基準重み付け比率の上限値及び下限値と、ソフトウェアのテスト結果に基づいて算出される統計重み付け比率とを有する重み付けテーブルの前記統計重み付け比率が前記基準重み付け比率の下限値以上且つ上限値以下の場合、前記基準重み付け比率を前記重み付け比率として選択し、
前記重み付けテーブルの前記統計重み付け比率が前記基準重み付け比率の下限値より低い又は上限値より高い場合、前記統計重み付け比率を前記重み付け比率として選択し、
択された前記カテゴリに分類された前記テストケースについて前記ソフトウェアのテストを行
記ソフトウェアのテスト結果に基づいて、前記ソフトウェアのテストを行った前記カテゴリに対する前記重み付けテーブルの前記統計重み付け比率を算出し、
前記統計重み付け比率の算出結果に基づいて前記重み付けテーブルを変更し、
複数の前記テストケースの中から選択した1つの前記テストケースの出力期待値と、前記ソフトウェアにより選択した前記テストケースの前記入力データを処理して出力された出力データとが等しいか否かを判定する
処理をコンピュータに実行させることを特徴とするプログラム。
Create multiple test cases with the input data and the expected output value for the input data,
A reference weight ratio set in advance indicating the possibility that the test result of the classified test case is determined to be defective for the category in which the test case is classified based on quantitative information and qualitative information; and the reference weight When the statistical weighting ratio of the weighting table having the upper limit value and the lower limit value of the ratio and the statistical weighting ratio calculated based on the test result of the software is not less than the lower limit value and not more than the upper limit value of the reference weighting ratio, the reference Select a weighting ratio as the weighting ratio,
When the statistical weighting ratio of the weighting table is lower than the lower limit value or higher than the upper limit value of the reference weighting ratio, the statistical weighting ratio is selected as the weighting ratio,
There line testing of the software for the test case that has been classified as selected has been the category,
Based on the test results of the previous SL software, it calculates the statistical weighting ratio of the weighting table for the categories tested of the software,
Changing the weighting table based on the calculation result of the statistical weighting ratio ;
Determine whether output expected value of one test case selected from a plurality of test cases is equal to output data output by processing the input data of the test case selected by the software Do
A program that causes a computer to execute processing .
JP2009193500A 2009-08-24 2009-08-24 Software testing method and program Expired - Fee Related JP5444939B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009193500A JP5444939B2 (en) 2009-08-24 2009-08-24 Software testing method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009193500A JP5444939B2 (en) 2009-08-24 2009-08-24 Software testing method and program

Publications (2)

Publication Number Publication Date
JP2011044111A JP2011044111A (en) 2011-03-03
JP5444939B2 true JP5444939B2 (en) 2014-03-19

Family

ID=43831480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009193500A Expired - Fee Related JP5444939B2 (en) 2009-08-24 2009-08-24 Software testing method and program

Country Status (1)

Country Link
JP (1) JP5444939B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5940968B2 (en) * 2012-12-04 2016-06-29 株式会社日立製作所 Test case generation system and method
CN113127331B (en) * 2019-12-31 2024-01-05 航天信息股份有限公司 Test method and device based on fault injection and computer equipment
CN114265767A (en) * 2021-12-09 2022-04-01 瀚云科技有限公司 Test case multiplexing method and device, electronic equipment and storage medium

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6365542A (en) * 1986-09-05 1988-03-24 Nec Corp Debugging system
JPH1139363A (en) * 1997-07-18 1999-02-12 Fujitsu Ltd Data verification system
JP2000112784A (en) * 1998-09-30 2000-04-21 Hitachi Software Eng Co Ltd Program test support device and storage medium recording program test support program
JP2003099283A (en) * 2001-09-25 2003-04-04 Toshiba Corp Test priority derivation support method for software system, test case designing support method, and its support program
JP2005032098A (en) * 2003-07-09 2005-02-03 Canon Inc Method, program, and device for preparing slip
JP2005250937A (en) * 2004-03-05 2005-09-15 Matsushita Electric Ind Co Ltd Program verification device for microcomputer software
JP2009181536A (en) * 2008-02-01 2009-08-13 Dainippon Screen Mfg Co Ltd Software fault management device, test management device and program therefor

Also Published As

Publication number Publication date
JP2011044111A (en) 2011-03-03

Similar Documents

Publication Publication Date Title
US8943423B2 (en) User interface indicators for changed user interface elements
US7093238B2 (en) Automated software testing and validation system
US20050204241A1 (en) Method and device for analyzing software error
US20090204924A1 (en) Method, system and computer program product for failure analysis implementing automated comparison of multiple reference models
US20110131551A1 (en) Graphical user interface input element identification
US20090249299A1 (en) Evaluation of Software based on Review History
US8719745B2 (en) Method and system for automatically establishing hierarchical parameterized cell (PCELL) debugging environment
US7487477B2 (en) Parametric-based semiconductor design
US20050229045A1 (en) Method and device for managing software error
US8560991B1 (en) Automatic debugging using automatic input data mutation
JP3822044B2 (en) Design verification system, design verification method, and computer-readable recording medium storing design verification program
CN111814354B (en) Simulation test method, system, medium and electronic device for instrument performance
JP5444939B2 (en) Software testing method and program
CN105183641B (en) The data consistency verification method and system of a kind of kernel module
US8850407B2 (en) Test script generation
US8413102B2 (en) Vectorless IVD analysis prior to tapeout to prevent scan test failure due to voltage drop
US8739091B1 (en) Techniques for segmenting of hardware trace and verification of individual trace segments
US8281277B2 (en) Signal selecting apparatus, circuit amending apparatus, circuit simulator, circuit emulator, method of signal selection and program
KR101510752B1 (en) Method and apparatus for automated validation of semiconductor process recipes
CN117094269A (en) Verification method, verification device, electronic equipment and readable storage medium
CN112731117A (en) Automatic verification method and system for chip, and storage medium
US20030025490A1 (en) Method for verifying hardware circuits through simulation
TWI750849B (en) Automatic test system and method for testing application of device under test
US7962796B2 (en) State testing device and methods thereof
CN111241766B (en) Test method and test system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130903

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131101

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: 20131126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131209

R150 Certificate of patent or registration of utility model

Ref document number: 5444939

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees