WO2014087493A1 - Test pattern creation device and creation method, and software verification device and verification method - Google Patents

Test pattern creation device and creation method, and software verification device and verification method Download PDF

Info

Publication number
WO2014087493A1
WO2014087493A1 PCT/JP2012/081419 JP2012081419W WO2014087493A1 WO 2014087493 A1 WO2014087493 A1 WO 2014087493A1 JP 2012081419 W JP2012081419 W JP 2012081419W WO 2014087493 A1 WO2014087493 A1 WO 2014087493A1
Authority
WO
WIPO (PCT)
Prior art keywords
verification
library
test pattern
software
test
Prior art date
Application number
PCT/JP2012/081419
Other languages
French (fr)
Japanese (ja)
Inventor
浩晃 中谷
Original Assignee
株式会社日立製作所
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 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2012/081419 priority Critical patent/WO2014087493A1/en
Publication of WO2014087493A1 publication Critical patent/WO2014087493A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis

Definitions

  • the present invention relates to an apparatus and method for creating a test pattern used for software verification, and an apparatus and method for verifying software using the test pattern.
  • test coverage The larger the test coverage, the wider the range of software is covered by the test.
  • Patent Document 1 expands the test pattern using a software simulator that is a non-real machine.
  • the coverage acquisition mechanism is described in a test pattern corresponding to a predetermined test item, the test coverage is measured, the coverage result is analyzed, the test constraint condition is controlled, and the software verification range is expanded.
  • Patent Document 2 The method disclosed in Patent Document 2 is to expand the verification range by monitoring the variables of the verification target software and directly setting the combination of unverified variables in the software. In this case, instead of expanding the test pattern, software variables are directly set in the actual machine test to expand the verification range.
  • test pattern expansion method of Patent Document 1 it is necessary to describe a coverage acquisition mechanism in the test pattern itself. For example, when a test pattern passed from a customer in a black box is used to perform verification in the customer's system, it is difficult to describe the coverage acquisition mechanism, and the verification range cannot be expanded.
  • An object of the present invention is to provide a test pattern creation apparatus and creation method and a software verification apparatus and verification method that do not require a description of a coverage acquisition mechanism in software verification and have few verification omissions.
  • the present invention is a test pattern creation device for creating a test pattern used for software verification, a test pattern detection unit that divides an input test pattern into a predetermined unit and creates a library, and a test that is made into a library A test coverage measurement unit that verifies the pattern for each library and measures test coverage; and a library optimization unit that changes the execution order of the libraries so that the test coverage is expanded based on the measured test coverage.
  • the library optimization unit changes control parameters of the library so that the test coverage is expanded based on the measured test coverage.
  • the present invention is a software verification apparatus that verifies software using the test pattern created by the test pattern creation apparatus, and that verifies software verification status and extracts combinations of software variables used at the time of verification. From the monitoring unit, the variable information storage unit that stores the extracted variable combination and extracts an unexecuted variable combination at the time of verification, and the external terminal of the verification target device incorporating the software using the unexecuted variable combination A variable control unit for setting software variables.
  • verification failure in software verification can be reduced by a new test pattern that optimizes an existing test pattern. Furthermore, when verification is performed using a new test pattern, verification failure can be compensated by forcibly setting variables from the outside. This expands test coverage during verification and contributes to software quality improvement.
  • FIG. 1 is a configuration diagram of a test pattern creation device according to Embodiment 1.
  • FIG. 1 is a configuration diagram of a test pattern creation device according to Embodiment 1.
  • FIG. It is a figure which illustrates typically the preparation method of a new test pattern. It is a flowchart which shows a new test pattern creation process. It is a detailed flowchart of a library optimization process. It is a detailed flowchart of a library optimization process.
  • FIG. 6 shows a configuration diagram of a software verification apparatus according to a second embodiment.
  • FIG. 6 shows a configuration diagram of a software verification apparatus according to a second embodiment. It is a figure explaining a software verification method typically. It is a flowchart which shows a software verification process.
  • Example 1 relates to creating a new test pattern from an existing test pattern. By detecting and analyzing an existing test pattern, creating a library, and automatically optimizing it, the verification range of the test is prevented and the verification range is verified. A new test pattern that can expand (test coverage) is created.
  • FIG. 1A and 1B are configuration diagrams of a test pattern creation device according to a first embodiment.
  • FIG. 1A shows a case where a test pattern creation device 10 is connected to the outside of the actual machine 1 to be tested.
  • the actual machine 1 incorporates software to be verified.
  • Two input units 31 and 32 are provided, an existing test pattern is input to the input unit 31, and verification priority order information indicating the priority order of verification items is input to the input unit 32.
  • the test pattern detection unit 11 divides the input test pattern into a certain unit and creates a library.
  • the library storage unit 12 stores the divided library.
  • the test target real machine 1 is connected to the library storage unit 12, and a test execution library or all test libraries are input from the library storage unit 12 to the test target real machine 1.
  • a software verification test is performed using the input library.
  • the test coverage measurement unit 13 connected to the test target real machine 1 measures the test coverage (verification range) of each library, and the coverage data storage unit 14 stores the measured test coverage data (coverage data).
  • the test acceptance / rejection determination unit 15 determines whether or not the coverage target value has been achieved for the acquired coverage data, that is, the pass / fail of the test result. If it is determined to be acceptable, a test pattern composed of the library is output from the output unit 33.
  • test acceptance / rejection determination unit 15 determines a failure
  • the test result is returned to the coverage data storage unit 14 and output to the library optimization unit 16.
  • the library optimizing unit 16 uses the library stored in the library storage unit 12 to expand the test coverage based on the test result obtained from the coverage data storage unit 14 and the verification priority information input from the input unit 32. Perform optimization. Then, the test is performed again on the test target real machine 1 using the optimized library, and coverage measurement and pass / fail determination are performed again. Thus, this process is repeated until the test passes, that is, the coverage target value is achieved, and an optimized new test pattern is output from the output unit 33.
  • FIG. 1B shows a case where the test pattern creation device 10 is mounted inside the actual machine 1 to be tested.
  • the test pattern creation device 10 is connected to the test target software storage module 2 in the test target real machine 1, and the test target software storage module 2 stores software to be verified.
  • the internal configuration of the test pattern creation device 10 is the same as that in FIG. 1A, and repeated description is omitted.
  • FIG. 2 is a diagram schematically illustrating a method for creating a new test pattern.
  • the existing test pattern 101 is divided into a plurality of libraries, and a new test pattern 108 is created by optimizing each library (changing execution order, changing control parameters).
  • the input existing test pattern 101 is divided into a group of units in the test pattern detection unit 11 and is made into a library.
  • a certain unit is, for example, a unit for each test scenario (video playback, application activation, high-speed calculation, etc.) existing in one test pattern, or for each data size for performing a data read operation in the video playback scenario. is there.
  • a test pattern 102 composed of a set of a plurality of libraries 1 to n is obtained.
  • a control parameter in each library is indicated by a symbol P.
  • the control parameter P corresponds to, for example, the length of data in the library and the address range.
  • the verification test is individually executed by each library, and the coverage data 1 to n is measured by the test coverage measuring unit 13.
  • the measured coverage data 103 of each library is stored in the coverage data storage unit 14.
  • the coverage data storage unit 14 also stores coverage data of the entire test pattern (a total value of coverage data of all libraries).
  • the library optimization unit 16 optimizes the configurations of the libraries 1 to n included therein.
  • the verification priority information 104 set at the time of software design or verification and the coverage data 103 stored in the coverage data storage unit 14 are used. That is, by referring to the verification priority information 104, a priority order for expanding the test coverage is determined from the source code having a low test coverage. Further, by referring to the coverage data 103, a source code of software having low test coverage is determined. Based on these, the test pattern 105 (a) by changing the execution order of the library, the test pattern 106 (b) by changing the control parameter in the library, or the test pattern 107 using both (a) + (b). Perform optimization.
  • Replacing the execution order of the library in (a) is effective for coverage expansion because the software state can change in the operation order.
  • changing the control parameter in the library in (b) is effective for expanding the coverage by changing the software variable value, the hardware register value, or the like, for example, and increasing the coverage. By combining these two, the coverage can be further expanded.
  • the library optimization enables the test coverage to reach the target value at an early stage, and thus has the effect of shortening the verification time. A coverage target value is achieved by these optimization processes, and is output as a new test pattern 108.
  • FIG. 3 is a flowchart showing a new test pattern creation process. Hereinafter, it demonstrates in order of a process.
  • the existing test pattern 101 is input to the test pattern detection unit 11.
  • the test pattern detection unit 11 divides the input test pattern into a certain unit and creates a library.
  • the library storage unit 12 stores each divided library 102.
  • a verification test is performed for each library on the actual machine, and the test coverage measurement unit 13 measures the test coverage for each library.
  • the coverage data storage unit 14 stores the measured coverage data 103.
  • the test pass / fail determination unit 15 adds the coverage data for each library and determines whether or not the target coverage has been reached. If the target is reached in the determination, the process ends here.
  • the process proceeds to S306, and the library optimization unit 16 optimizes the library.
  • the library optimizing unit 16 performs library optimization such as changing the library execution order and changing library control parameters, and creates a new test pattern. Thereafter, the process returns to S303, where the verification test is performed again with the new test pattern, and the test coverage for each library is measured. Coverage data is stored in S304, and it is determined whether or not the target coverage has been reached in S305. If the target has been reached, the process ends. If the target has not been reached, the optimization of S306 is performed again, and the process is repeated until the target is reached. In this way, a new test pattern 108 that satisfies the target coverage is created.
  • FIG. 4A and 4B are detailed flowcharts of the library optimization step S306.
  • FIG. 4A shows a case where the library execution order is changed
  • FIG. 4B shows a case where the library control parameters are changed.
  • optimization is performed by changing the library execution order using the verification priority information 104.
  • the verification priority information 104 is analyzed to determine which part of the source code is to be preferentially verified or which test pattern is to be preferentially verified.
  • optimization is performed by changing the execution order of the libraries based on the analysis result in S401.
  • a new test pattern as shown by 105 in FIG. 2 is created.
  • a verification test is performed on the new test pattern, and the test coverage is measured.
  • the coverage data of the previous test pattern is compared with the coverage data of the new test pattern. In this comparison, the coverage data of the entire test pattern is compared. However, coverage data for each library may be used to compare whether coverage can be ensured in a short time. If it is determined in S404 that the coverage is improved from the previous time, the process returns to S402 and the library execution order is changed again. The library optimization is repeatedly executed while the coverage is improved in the determination of S404.
  • the process proceeds to S405, where the previous test pattern, that is, the test pattern of the previous execution order to be optimized is returned.
  • S406 it is determined whether to optimize again by changing the library execution order. In this determination, the number of times that the coverage has not improved as a result of the determination in S404 may be counted, and if this reaches a predetermined number, it may be determined that “not optimized again”.
  • optimization is performed by changing the control parameter in the library using the verification priority information 104.
  • the verification priority order information 104 is analyzed, the coverage results at the time of executing each library are collated, and what part of the source code is preferentially verified or which test pattern is preferentially verified. To decide.
  • optimization is performed by changing the control parameter in the library.
  • a new test pattern as shown by 106 in FIG. 2 is created.
  • a verification test is performed on the new test pattern, and the test coverage is measured.
  • the coverage data of the previous test pattern is compared with the coverage data of the new test pattern. In this comparison, the coverage data of the entire test pattern is compared. However, coverage data for each library may be used to compare whether coverage can be ensured in a short time. If it is determined in S414 that the coverage has improved compared to the previous time, the process returns to S412 to change the control parameters in the library again. Then, the library optimization is repeatedly executed while the coverage is improved in the determination of S414.
  • the process When optimizing again in the determination in S416, the process returns to S412 to change the control parameter in the library and improve the coverage. If the optimization is not performed again in the determination in S416, the process ends here. Alternatively, it may be switched to another optimization process (for example, change of library execution order in FIG. 4A).
  • the library optimization in FIG. 4A and FIG. 4B is executed until the target coverage is reached.
  • the library execution order change in FIG. 4A and the in-library control parameter change in FIG. 4B can be performed, and either one may be selected as appropriate.
  • the goal cannot be achieved by only one of them, it is easy to achieve the coverage of the goal by executing both regardless of the order.
  • test coverage data for each test pattern divided into library units can provide more detailed test pattern information. It is possible to determine which part has low verification capability, that is, low test coverage. Based on this, test coverage can be improved by changing the execution order of libraries and changing library parameters. In addition, library execution order changes and library parameter changes are performed automatically, reducing the man-hours for test pattern designers. Furthermore, even if the test coverage is not changed by changing the execution order of the library, the test execution time can be shortened by changing the order in which the test coverage is saturated at an early stage. And, since test pattern analysis is performed by the test pattern detection unit and test pattern optimization is automatically performed, even when using an existing test pattern that is a black box, without newly describing a coverage acquisition mechanism, New test patterns can be created.
  • FIGS. 5A and 5B are configuration diagrams of the software verification apparatus according to the second embodiment.
  • the same elements as those of the first embodiment (FIGS. 1A and 1B) are denoted by the same reference numerals.
  • FIG. 5A shows a case where the software verification device 20 is connected to the outside of the actual machine 1 to be tested.
  • the actual machine 1 incorporates software to be verified.
  • Two input units 31 and 32 are provided, an existing test pattern is input to the input unit 31, and verification priority information is input to the input unit 32.
  • the test pattern detection unit 11, the library storage unit 12, the test coverage measurement unit 13, the coverage data storage unit 14, the test pass / fail determination unit 15, and the library optimization unit 16 in the software verification apparatus 20 are the same as those in the first embodiment (FIG. 1A). ) And the description thereof is omitted.
  • test pass / fail determination unit 15 determines that the test is successful (achieving the coverage target value)
  • the test target machine 1 software is verified using the test pattern. If it is determined that the test has failed, the test result is returned to the coverage data storage unit 14 and is output to the library optimization determination unit 21.
  • the library optimization determination unit 21 determines whether further library optimization, that is, further expansion of test coverage is possible. If possible, the library optimization unit 16 is instructed to optimize the library. At that time, the library optimizing unit 16 optimizes the library based on the test result obtained from the coverage data storage unit 14 and the verification priority information input from the input unit 32.
  • the optimization determining unit 21 sends a variable setting operation start signal to the variable control unit 24 when further library optimization (further expansion of test coverage) is impossible.
  • the verification information monitoring unit 22 is connected to the test target real machine 1, monitors and extracts the test pattern variable combination information during the software verification operation, and stores the variable combination information in the variable information storage unit 23.
  • the variable information storage unit 23 extracts unexecuted variable combination information that has not been tested, and outputs the unexecuted variable combination information to the variable control unit 24.
  • Coverage data is input to the variable control unit 24 from the coverage data storage unit 14 in addition to unimplemented variable combination information.
  • variable control unit 24 Based on the two pieces of information, the variable control unit 24 makes a one-to-one correspondence between the location where the verification failure has occurred and the unexecuted variable combination at that time, and sets the variable combination information where the verification has failed to the test target actual machine 1. Output.
  • the test coverage measurement unit 13 measures the test coverage again and executes variable control until the coverage target value is achieved.
  • the library optimization determination unit 21 may instruct the library optimization unit 16 to perform library optimization when it is determined that library optimization is possible on the way.
  • FIG. 5B shows a case where the software verification device 20 is installed inside the actual machine 1 to be tested.
  • the software verification device 20 is connected to the test target software storage module 2 in the test target real machine 1, and the test target software storage module 2 stores software to be verified.
  • the internal configuration of the software verification device 20 is the same as that in FIG. 5A, and repeated description is omitted.
  • FIG. 6 is a diagram schematically illustrating the software verification method.
  • the variable control information 204 is created for further coverage expansion, and the variables are set directly from the outside using hardware.
  • the process from the input existing test pattern 101 to the creation of a new test pattern 108 is the same as that shown in FIG.
  • variable information monitoring unit 22 monitors the verification state, extracts the variable combination used in the verification, and stores it as variable combination information 201 in the variable information storage unit 23. Further, the coverage data 202 when the new test pattern 108 is executed is measured and stored in the coverage data storage unit 14.
  • the variable information storage unit 23 refers to the variable combination information 201, extracts variable combinations that have not been verified (verification is omitted), and generates unexecuted variable combination information 203.
  • variable control unit 24 generates variable control information 204 using the unexecuted variable combination information 203 and the coverage data 202. That is, the location of the combination of variables in which verification failure has occurred is identified from the coverage data 202, and unexecuted variable combination information that could not be verified is output as variable control information 204.
  • this variable control information 204 for example, the hardware setting is changed directly from an external port (serial, GPIO (General Purpose Input / Output), debug pin, etc.) to forcibly set the variable. Thereby, a verification omission location is complemented and a coverage target value is achieved.
  • FIG. 7 is a flowchart showing the software verification process. This process consists of a new test pattern creation process in the first half and a variable setting process for verification omission in the second half.
  • the new test pattern creation process (S701 to S705, S707) in the first half is the same as that in FIG. 3, FIG. 4A, and FIG.
  • the process proceeds to S706.
  • the library optimization determination unit 21 determines whether or not library optimization is possible, that is, whether or not there is a possibility that coverage is improved. If library optimization is possible, the process advances to step S707, and the library optimization unit 16 performs library optimization such as changing the library execution order and changing library control parameters to generate a new test pattern.
  • step S706 If it is determined in step S706 that library optimization is impossible, that is, if the generated target pattern cannot be achieved even with the generated new test pattern, the process proceeds to step S708 and subsequent steps to the variable control unit 24 during software verification. Instructs to set variables from outside.
  • a verification test of the actual software is performed with the new test pattern, and the verification information monitoring unit 22 monitors the verification information.
  • information 201 such as a variable combination at the time of test execution is extracted from the verification information and stored in the variable information storage unit 23.
  • coverage data 202 is also measured from the verification information.
  • the variable information storage unit 23 refers to the variable combination information 201, and extracts information 203 on variable combinations that have not been tested.
  • the unexecuted variable combination information 203 and the measured coverage data 202 are associated on a one-to-one basis, and variable combination information of a place where a verification failure has occurred is specified.
  • variable control unit 24 generates variable control information 204 based on the unexecuted variable combination information 203 and executes variable control. That is, a verification test is performed by forcibly setting a variable from an external port.
  • the test coverage measurement unit 13 measures the test coverage after the variable control.
  • the test pass / fail determination unit 15 determines whether the target coverage has been reached. If the target is reached in the determination, the process ends here. If the target has not been reached, the process proceeds to S715, the variable setting timing is adjusted, and the variable corresponding to this is set at the timing when the verification failure occurs. Returning to S712, the timing is adjusted while monitoring the verification state, and variable control is performed again. In this way, the variable setting is repeated to reach the target coverage.
  • the location where the verification failure occurs is associated with the variable combination that has not been executed at that time, It is forcibly set using hardware. As a result, it is possible to reliably eliminate verification failure.
  • Test target software storage module 10: Test pattern creation device, 11: Test pattern detection unit, 12: Library storage unit, 13: Test coverage measurement unit, 14: Coverage data storage unit, 15: Test pass / fail judgment unit, 16: Library optimization unit, 20: Software verification device, 21: Library optimization determination unit, 22: Verification information monitoring unit, 23: Variable information storage unit, 24: Variable control unit, 101: Existing test pattern, 103: Coverage data, 104: Verification priority information, 108: New test pattern, 201: variable combination information, 202: Coverage data, 203: Unimplemented variable combination information, 204: Variable control information.

Abstract

In order to create a test pattern for which a description of the coverage acquisition mechanism is unnecessary and for which there is little verification leakage in the verification of software, a test pattern detection unit (11) divides an input test pattern into prescribed collected units, and forms libraries therefrom. A test coverage measurement unit (13) measures the test coverage by verifying, for each library, the test patterns that have been formed into the library. A library optimization unit (16) uses the measured test coverage and verification priority order information to change the library execution sequence or change a control parameter for the libraries so as to expand the test coverage, thereby creating a new test pattern.

Description

テストパタン作成装置と作成方法及びソフトウェア検証装置と検証方法Test pattern creation device and creation method, and software verification device and validation method
 本発明は、ソフトウェア検証に使用するテストパタンの作成装置と作成方法、及びテストパタンを用いたソフトウェアの検証装置と検証方法に関する。 The present invention relates to an apparatus and method for creating a test pattern used for software verification, and an apparatus and method for verifying software using the test pattern.
 ソフトウェア開発において、作成したソフトウェアの性能はテストパタンを用いて検証(テスト)される。ソフトウェアの検証範囲はテストカバレッジとも呼ばれ、テストカバレッジが大きい程、ソフトウェアの広い範囲がテストで網羅されていることを示す。ソフトウェアの検証範囲を拡大し検証漏れを防止するため、次のような方法が提案されている。 In software development, the performance of the created software is verified (tested) using a test pattern. The software verification range is also called test coverage. The larger the test coverage, the wider the range of software is covered by the test. In order to expand the verification range of software and prevent verification failure, the following methods have been proposed.
 特許文献1に開示される方法は、非実機であるソフトウェアシミュレータを使ってテストパタンを拡充するものである。この場合、所定のテスト項目に対応するテストパタンにカバレッジ取得機構を記述してテストカバレッジを計測し、カバレッジ結果を解析してテスト制約条件等を制御し、ソフトウェアの検証範囲を拡大させている。 The method disclosed in Patent Document 1 expands the test pattern using a software simulator that is a non-real machine. In this case, the coverage acquisition mechanism is described in a test pattern corresponding to a predetermined test item, the test coverage is measured, the coverage result is analyzed, the test constraint condition is controlled, and the software verification range is expanded.
 特許文献2に開示される方法は、検証対象ソフトウェアの変数を監視し、検証されていない変数の組合せをソフトウェアに直接設定することで、検証範囲を拡大させるものである。この場合、テストパタンの拡充ではなく、実機テストにおいてソフトウェアの変数を直接設定し、検証範囲を拡大させている。 The method disclosed in Patent Document 2 is to expand the verification range by monitoring the variables of the verification target software and directly setting the combination of unverified variables in the software. In this case, instead of expanding the test pattern, software variables are directly set in the actual machine test to expand the verification range.
特開2006-119922号公報JP 2006-119922 A 特開2009-157456号公報JP 2009-157456 A
 組込プロセッサを始めとする組込システム機器の高機能化、多機能化、複雑化に伴い、これに対応して新たなソフトウェアが導入される。例えば基本動作(読み書き)は同じであるストレージシステムにおいて、性能対策や機能追加により新たなソフトウェアが導入された場合、従来のテストパタンでは検証できない部分、いわゆる検証漏れが発生することがある。その結果、実機システムにおいて検証漏れのコマンドパタンが実行された場合、実機動作が停止したりハードウェアが故障したりする不具合が発生する恐れがある。 As embedded system devices such as embedded processors become more sophisticated, multifunctional, and complex, new software will be introduced. For example, in a storage system having the same basic operation (read / write), when new software is introduced as a result of performance measures or function addition, a portion that cannot be verified by a conventional test pattern, a so-called verification failure may occur. As a result, when an unverified command pattern is executed in the actual machine system, there is a possibility that the actual machine operation may be stopped or a hardware failure may occur.
 前述のように、ソフトウェアの検証範囲(テストカバレッジ)の拡大のために、テストパタンを拡充する方法あるいはソフトウェア変数を直接設定する方法が提案されている。しかしながら特許文献1のテストパタン拡充方法では、テストパタン自体にカバレッジ取得機構を記述する必要がある。例えば、顧客のシステムでの検証を実施するために、顧客からブラックボックスで渡されたテストパタンを用いる場合、カバレッジ取得機構の記述が困難であり、検証範囲を拡大することはできない。 As described above, a method for expanding test patterns or a method for directly setting software variables has been proposed in order to expand the verification range (test coverage) of software. However, in the test pattern expansion method of Patent Document 1, it is necessary to describe a coverage acquisition mechanism in the test pattern itself. For example, when a test pattern passed from a customer in a black box is used to perform verification in the customer's system, it is difficult to describe the coverage acquisition mechanism, and the verification range cannot be expanded.
 また特許文献2の変数直接設定方法では、対象ソフトウェアの全ての変数状態を制御可能とするための専用環境を備える必要がある。しかしながら、製品仕様に近い実機システムでは限られたデバッグ環境(検証用デバッグピンやパッド等)しか備えておらず、全変数状態を制御するのは困難で検証範囲の拡大には限界がある。 In addition, in the variable direct setting method of Patent Document 2, it is necessary to provide a dedicated environment for enabling control of all variable states of the target software. However, an actual system close to the product specification has only a limited debug environment (verification debug pins, pads, etc.), and it is difficult to control all variable states, and there is a limit to the expansion of the verification range.
 本発明の目的は、ソフトウェアの検証においてカバレッジ取得機構の記述が不要であって検証漏れが少ないテストパタンの作成装置と作成方法及びソフトウェアの検証装置と検証方法を提供することである。 An object of the present invention is to provide a test pattern creation apparatus and creation method and a software verification apparatus and verification method that do not require a description of a coverage acquisition mechanism in software verification and have few verification omissions.
 本発明は、ソフトウェアの検証に用いるテストパタンを作成するテストパタン作成装置であって、入力したテストパタンを所定の纏まった単位に分割してライブラリ化するテストパタン検出部と、ライブラリ化されたテストパタンをライブラリ毎に検証してテストカバレッジを計測するテストカバレッジ計測部と、計測したテストカバレッジを基に該テストカバレッジが拡大するよう前記ライブラリの実行順序を変更するライブラリ最適化部と、を備える。あるいは前記ライブラリ最適化部において、計測したテストカバレッジを基に該テストカバレッジが拡大するよう前記ライブラリの制御パラメータを変更する。 The present invention is a test pattern creation device for creating a test pattern used for software verification, a test pattern detection unit that divides an input test pattern into a predetermined unit and creates a library, and a test that is made into a library A test coverage measurement unit that verifies the pattern for each library and measures test coverage; and a library optimization unit that changes the execution order of the libraries so that the test coverage is expanded based on the measured test coverage. Alternatively, the library optimization unit changes control parameters of the library so that the test coverage is expanded based on the measured test coverage.
 本発明は、前記のテストパタン作成装置により作成したテストパタンを用いてソフトウェアを検証するソフトウェア検証装置であって、ソフトウェア検証状態を監視し、検証時に使用されるソフトウェア変数の組み合わせを抽出する検証情報監視部と、前記抽出した変数組み合わせを格納し検証時に未実施の変数組み合わせを抽出する変数情報格納部と、前記未実施の変数組み合わせを用いて、前記ソフトウェアを組み込んだ検証対象機器の外部端子からソフトウェア変数を設定する変数制御部と、を備える。 The present invention is a software verification apparatus that verifies software using the test pattern created by the test pattern creation apparatus, and that verifies software verification status and extracts combinations of software variables used at the time of verification. From the monitoring unit, the variable information storage unit that stores the extracted variable combination and extracts an unexecuted variable combination at the time of verification, and the external terminal of the verification target device incorporating the software using the unexecuted variable combination A variable control unit for setting software variables.
 本発明によれば、既存のテストパタンを最適化した新規のテストパタンにより、ソフトウェア検証における検証漏れを少なくすることができる。さらに、新規テストパタンで検証を行う際、外部から強制的に変数設定をすることで検証漏れを補完することができる。これにより、検証時のテストカバレッジを拡大し、ソフトウェアの品質向上に寄与する。 According to the present invention, verification failure in software verification can be reduced by a new test pattern that optimizes an existing test pattern. Furthermore, when verification is performed using a new test pattern, verification failure can be compensated by forcibly setting variables from the outside. This expands test coverage during verification and contributes to software quality improvement.
実施例1にかかるテストパタン作成装置の構成図を示す。1 is a configuration diagram of a test pattern creation device according to Embodiment 1. FIG. 実施例1にかかるテストパタン作成装置の構成図を示す。1 is a configuration diagram of a test pattern creation device according to Embodiment 1. FIG. 新規テストパタンの作成方法を模式的に説明する図である。It is a figure which illustrates typically the preparation method of a new test pattern. 新規テストパタン作成工程を示すフローチャートである。It is a flowchart which shows a new test pattern creation process. ライブラリ最適化工程の詳細フローチャートである。It is a detailed flowchart of a library optimization process. ライブラリ最適化工程の詳細フローチャートである。It is a detailed flowchart of a library optimization process. 実施例2にかかるソフトウェア検証装置の構成図を示す。FIG. 6 shows a configuration diagram of a software verification apparatus according to a second embodiment. 実施例2にかかるソフトウェア検証装置の構成図を示す。FIG. 6 shows a configuration diagram of a software verification apparatus according to a second embodiment. ソフトウェア検証方法を模式的に説明する図である。It is a figure explaining a software verification method typically. ソフトウェア検証工程を示すフローチャートである。It is a flowchart which shows a software verification process.
 以下、本発明の実施の形態を図面に基づいて詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
 実施例1は既存のテストパタンから新規のテストパタンを作成することに関し、既存のテストパタンを検出、解析し、ライブラリ化した後自動で最適化することで、テストの検証漏れを防止し検証範囲(テストカバレッジ)を拡大できる新規テストパタンを作成するものである。 Example 1 relates to creating a new test pattern from an existing test pattern. By detecting and analyzing an existing test pattern, creating a library, and automatically optimizing it, the verification range of the test is prevented and the verification range is verified. A new test pattern that can expand (test coverage) is created.
 図1A、図1Bは、実施例1にかかるテストパタン作成装置の構成図を示す。
  図1Aは、テスト対象となる実機1の外部にテストパタン作成装置10を接続した場合である。実機1には、検証対象となるソフトウェアが組み込まれている。2つの入力部31、32を有し、入力部31には既存のテストパタンが入力され、入力部32には、検証項目の優先順序を示す検証優先順位情報が入力される。テストパタン検出部11は、入力されたテストパタンを、ある纏まった単位に分割しライブラリ化する。ライブラリ格納部12は、分割されたライブラリを格納する。ライブラリ格納部12にはテスト対象実機1が接続され、ライブラリ格納部12からテスト対象実機1に、テスト実行ライブラリまたは全テストライブラリが入力される。テスト対象実機1では、入力されるライブラリによりソフトウェアの検証テストを実施する。テスト対象実機1に接続されたテストカバレッジ計測部13は、各ライブラリのテストカバレッジ(検証範囲)を計測し、カバレッジデータ格納部14は、計測されたテストカバレッジのデータ(カバレッジデータ)を格納する。テスト合否判定部15は、取得したカバレッジデータについて、カバレッジ目標値を達成したか否か、すなわちテスト結果の合格/不合格の判定を行う。合格と判定した場合は、当該ライブラリから成るテストパタンを出力部33から出力する。
1A and 1B are configuration diagrams of a test pattern creation device according to a first embodiment.
FIG. 1A shows a case where a test pattern creation device 10 is connected to the outside of the actual machine 1 to be tested. The actual machine 1 incorporates software to be verified. Two input units 31 and 32 are provided, an existing test pattern is input to the input unit 31, and verification priority order information indicating the priority order of verification items is input to the input unit 32. The test pattern detection unit 11 divides the input test pattern into a certain unit and creates a library. The library storage unit 12 stores the divided library. The test target real machine 1 is connected to the library storage unit 12, and a test execution library or all test libraries are input from the library storage unit 12 to the test target real machine 1. In the real machine 1 to be tested, a software verification test is performed using the input library. The test coverage measurement unit 13 connected to the test target real machine 1 measures the test coverage (verification range) of each library, and the coverage data storage unit 14 stores the measured test coverage data (coverage data). The test acceptance / rejection determination unit 15 determines whether or not the coverage target value has been achieved for the acquired coverage data, that is, the pass / fail of the test result. If it is determined to be acceptable, a test pattern composed of the library is output from the output unit 33.
 テスト合否判定部15にて不合格判定の場合は、テスト結果をカバレッジデータ格納部14に戻すとともに、ライブラリ最適化部16に出力する。ライブラリ最適化部16は、ライブラリ格納部12に格納されているライブラリについて、カバレッジデータ格納部14から得たテスト結果と入力部32から入力した検証優先順位情報に基づき、テストカバレッジが拡大するようライブラリの最適化を実施する。そして、最適化したライブラリによりテスト対象実機1にて再度テストを実施し、再度カバレッジ計測、合否判定を実施する。これによりテスト合格、つまりカバレッジ目標値達成までこの処理が繰り返し、出力部33からは最適化された新規のテストパタンが出力される。 If the test acceptance / rejection determination unit 15 determines a failure, the test result is returned to the coverage data storage unit 14 and output to the library optimization unit 16. The library optimizing unit 16 uses the library stored in the library storage unit 12 to expand the test coverage based on the test result obtained from the coverage data storage unit 14 and the verification priority information input from the input unit 32. Perform optimization. Then, the test is performed again on the test target real machine 1 using the optimized library, and coverage measurement and pass / fail determination are performed again. Thus, this process is repeated until the test passes, that is, the coverage target value is achieved, and an optimized new test pattern is output from the output unit 33.
 図1Bは、テスト対象となる実機1の内部にテストパタン作成装置10を搭載した場合である。この場合は、テストパタン作成装置10はテスト対象実機1内のテスト対象ソフトウェア格納モジュール2に接続され、テスト対象ソフトウェア格納モジュール2には検証対象となるソフトウェアが格納されている。テストパタン作成装置10の内部構成は図1Aと同様であり、繰返しの説明は省略する。 FIG. 1B shows a case where the test pattern creation device 10 is mounted inside the actual machine 1 to be tested. In this case, the test pattern creation device 10 is connected to the test target software storage module 2 in the test target real machine 1, and the test target software storage module 2 stores software to be verified. The internal configuration of the test pattern creation device 10 is the same as that in FIG. 1A, and repeated description is omitted.
 図2は、新規テストパタンの作成方法を模式的に説明する図である。ここでは、既存テストパタン101を複数のライブラリに分割し、各ライブラリの最適化(実行順序入替、制御パラメータ変更)により新規テストパタン108を作成するものである。 FIG. 2 is a diagram schematically illustrating a method for creating a new test pattern. Here, the existing test pattern 101 is divided into a plurality of libraries, and a new test pattern 108 is created by optimizing each library (changing execution order, changing control parameters).
 入力した既存テストパタン101は、テストパタン検出部11にてある纏まった単位に分割されライブラリ化される。ある纏まった単位とは、例えば、1つのテストパタン内に存在するテストシナリオ(動画再生、アプリケーション起動、高速演算等)毎、または、動画再生シナリオ中のデータ読み出し動作を行うデータサイズ毎の単位である。これにより、複数のライブラリ1~nの集合から成るテストパタン102となる。ここで各ライブラリにおける制御パラメータを記号Pで示す。制御パラメータPは、例えばライブラリ内のデータの長さ、アドレス範囲などが該当する。 The input existing test pattern 101 is divided into a group of units in the test pattern detection unit 11 and is made into a library. A certain unit is, for example, a unit for each test scenario (video playback, application activation, high-speed calculation, etc.) existing in one test pattern, or for each data size for performing a data read operation in the video playback scenario. is there. As a result, a test pattern 102 composed of a set of a plurality of libraries 1 to n is obtained. Here, a control parameter in each library is indicated by a symbol P. The control parameter P corresponds to, for example, the length of data in the library and the address range.
 各ライブラリにより個別に検証テストを実行し、テストカバレッジ計測部13によりそれぞれのカバレッジデータ1~nを計測する。計測された各ライブラリのカバレッジデータ103は、カバレッジデータ格納部14に格納される。カバレッジデータ格納部14には、この他にテストパタン全体のカバレッジデータ(全ライブラリのカバレッジデータの合算値)も格納される。 The verification test is individually executed by each library, and the coverage data 1 to n is measured by the test coverage measuring unit 13. The measured coverage data 103 of each library is stored in the coverage data storage unit 14. In addition to this, the coverage data storage unit 14 also stores coverage data of the entire test pattern (a total value of coverage data of all libraries).
 テストパタン102はライブラリ最適化部16にて、これに含まれるライブラリ1~nの構成が最適化される。最適化のために、ソフトウェア設計時あるいは検証時に設定される検証優先順位情報104、及びカバレッジデータ格納部14に格納されているカバレッジデータ103を利用する。すなわち、検証優先順位情報104を参照することで、テストカバレッジが低いソースコードの中から、テストカバレッジを拡大させるための優先順位を決定する。またカバレッジデータ103を参照することで、テストカバレッジが低いソフトウェアのソースコードを割り出す。これらを基に、(a)のライブラリの実行順序入替によるテストパタン105、(b)のライブラリ内制御パラメータ変更によるテストパタン106、またはその両方(a)+(b)を用いたテストパタン107への最適化を実施する。(a)のライブラリの実行順序を入れ替えることは、ソフトウェアの状態は動作順序で変わり得るので、カバレッジ拡大に有効である。また、(b)のライブラリ内制御パラメータを変更することは、例えばソフトウェアの変数値やハードウェアのレジスタ値等が変わることでソフトウェアの状態が変わり、カバレッジ拡大に有効である。これら2つを組み合わせることで、更なるカバレッジ拡大が可能となる。また、ライブラリ最適化により、テストカバレッジを目標値まで早期に到達させることが可能となるので、検証時間を短縮する効果もある。これらの最適化処理によりカバレッジ目標値を達成し、新規テストパタン108として出力する。 In the test pattern 102, the library optimization unit 16 optimizes the configurations of the libraries 1 to n included therein. For optimization, the verification priority information 104 set at the time of software design or verification and the coverage data 103 stored in the coverage data storage unit 14 are used. That is, by referring to the verification priority information 104, a priority order for expanding the test coverage is determined from the source code having a low test coverage. Further, by referring to the coverage data 103, a source code of software having low test coverage is determined. Based on these, the test pattern 105 (a) by changing the execution order of the library, the test pattern 106 (b) by changing the control parameter in the library, or the test pattern 107 using both (a) + (b). Perform optimization. Replacing the execution order of the library in (a) is effective for coverage expansion because the software state can change in the operation order. Further, changing the control parameter in the library in (b) is effective for expanding the coverage by changing the software variable value, the hardware register value, or the like, for example, and increasing the coverage. By combining these two, the coverage can be further expanded. In addition, the library optimization enables the test coverage to reach the target value at an early stage, and thus has the effect of shortening the verification time. A coverage target value is achieved by these optimization processes, and is output as a new test pattern 108.
 図3は、新規テストパタン作成工程を示すフローチャートである。以下、工程順に説明する。
  S301では、既存テストパタン101をテストパタン検出部11に入力する。S302では、テストパタン検出部11は、入力したテストパタンをある纏まった単位に分割、ライブラリ化する。ライブラリ格納部12は、分割された各ライブラリ102を格納する。S303では、実機にてライブラリ毎に検証テストを行い、テストカバレッジ計測部13はライブラリ毎のテストカバレッジを計測する。S304では、カバレッジデータ格納部14は計測したカバレッジデータ103を記憶する。S305では、テスト合否判定部15はライブラリ毎のカバレッジデータを合算して、目標のカバレッジに到達したかどうかを判定する。判定で目標に達していれば、これで終了する。
FIG. 3 is a flowchart showing a new test pattern creation process. Hereinafter, it demonstrates in order of a process.
In S <b> 301, the existing test pattern 101 is input to the test pattern detection unit 11. In S302, the test pattern detection unit 11 divides the input test pattern into a certain unit and creates a library. The library storage unit 12 stores each divided library 102. In S303, a verification test is performed for each library on the actual machine, and the test coverage measurement unit 13 measures the test coverage for each library. In S304, the coverage data storage unit 14 stores the measured coverage data 103. In S305, the test pass / fail determination unit 15 adds the coverage data for each library and determines whether or not the target coverage has been reached. If the target is reached in the determination, the process ends here.
 S305の判定で目標に到達していない場合は、S306へ進み、ライブラリ最適化部16にてライブラリの最適化を実施する。ライブラリ最適化部16では、ライブラリ実行順序の入替やライブラリ制御パラメータの変更等のライブラリ最適化を実施し、新規テストパタンを作成する。その後S303に戻り、新規テストパタンにより再度検証テストを行い、ライブラリ毎のテストカバレッジを計測する。S304にてカバレッジデータを記憶し、S305にて目標のカバレッジに到達したかどうかを判定する。目標に達していればこれで終了し、目標に到達していない場合は再度S306の最適化を実施し、目標に達するまで繰返す。このようにして、目標のカバレッジを満足する新規テストパタン108を作成する。 If the target is not reached in the determination of S305, the process proceeds to S306, and the library optimization unit 16 optimizes the library. The library optimizing unit 16 performs library optimization such as changing the library execution order and changing library control parameters, and creates a new test pattern. Thereafter, the process returns to S303, where the verification test is performed again with the new test pattern, and the test coverage for each library is measured. Coverage data is stored in S304, and it is determined whether or not the target coverage has been reached in S305. If the target has been reached, the process ends. If the target has not been reached, the optimization of S306 is performed again, and the process is repeated until the target is reached. In this way, a new test pattern 108 that satisfies the target coverage is created.
 図4Aと図4Bは、ライブラリ最適化工程S306の詳細フローチャートであり、図4Aはライブラリ実行順序を変更する場合、図4Bはライブラリ制御パラメータを変更する場合である。 4A and 4B are detailed flowcharts of the library optimization step S306. FIG. 4A shows a case where the library execution order is changed, and FIG. 4B shows a case where the library control parameters are changed.
 図4Aでは、検証優先順位情報104を用いてライブラリ実行順序を変更することで最適化を実施する。
  S401では、検証優先順位情報104を解析し、ソースコードのどこの箇所を優先して検証するのか、あるいは、どのテストパタンを優先して検証するのかを決定する。S402では、S401の解析結果に基づき、ライブラリの実行順序を変更することで最適化を行う。これより、例えば図2の105で示すような新規テストパタンを作成する。S403では、新規テストパタンについて検証テストを行い、テストカバレッジを計測する。
In FIG. 4A, optimization is performed by changing the library execution order using the verification priority information 104.
In step S401, the verification priority information 104 is analyzed to determine which part of the source code is to be preferentially verified or which test pattern is to be preferentially verified. In S402, optimization is performed by changing the execution order of the libraries based on the analysis result in S401. Thus, for example, a new test pattern as shown by 105 in FIG. 2 is created. In S403, a verification test is performed on the new test pattern, and the test coverage is measured.
 S404では、前回のテストパタンのカバレッジデータと新規テストパタンのカバレッジデータとを比較する。この比較では、テストパタン全体のカバレッジデータを比較するが、ライブラリ毎のカバレッジデータを利用し、短時間でカバレッジ確保できるか否かを比較しても良い。S404の判定で前回よりもカバレッジが向上した場合には、S402に戻り、再度ライブラリ実行順序を変更する。そして、S404の判定でカバレッジが向上する間はライブラリ最適化を繰り返し実行する。 In S404, the coverage data of the previous test pattern is compared with the coverage data of the new test pattern. In this comparison, the coverage data of the entire test pattern is compared. However, coverage data for each library may be used to compare whether coverage can be ensured in a short time. If it is determined in S404 that the coverage is improved from the previous time, the process returns to S402 and the library execution order is changed again. The library optimization is repeatedly executed while the coverage is improved in the determination of S404.
 S404の判定で前回よりもカバレッジが向上しなかった(または低下した)場合には、S405に進み、前回のテストパタン、つまり最適化する1つ前の実行順序のテストパタンに戻す。S406では、ライブラリ実行順序変更により再度最適化するか否かを判定する。この判定では、S404の判定結果でカバレッジが向上しなかった回数をカウントし、これが所定回数に達したら「再度最適化しない」と判定しても良い。 If it is determined in S404 that the coverage has not improved (or decreased) compared to the previous time, the process proceeds to S405, where the previous test pattern, that is, the test pattern of the previous execution order to be optimized is returned. In S406, it is determined whether to optimize again by changing the library execution order. In this determination, the number of times that the coverage has not improved as a result of the determination in S404 may be counted, and if this reaches a predetermined number, it may be determined that “not optimized again”.
 S406の判定で再度最適化する場合は、S402に戻り、ライブラリ実行順序を変更し、カバレッジ向上を図る。S406の判定で再度最適化しない場合は、これで終了する。あるいは、他の最適化処理(例えば図4Bのライブラリ内制御パラメータ変更)に切り替えても良い。 When optimizing again in the determination of S406, the process returns to S402, the library execution order is changed, and the coverage is improved. If the optimization is not performed again in the determination of S406, the process ends here. Or you may switch to other optimization processes (for example, control parameter change in a library of Drawing 4B).
 図4Bでは、検証優先順位情報104を用いてライブラリ内制御パラメータを変更することで最適化を実施する。
  S411では、検証優先順位情報104を解析し、各ライブラリ実行時のカバレッジ結果を照合して、ソースコードのどこの箇所を優先して検証するのか、あるいは、どのテストパタンを優先して検証するのかを決定する。S412では、S411の解析結果に基づき、ライブラリ内の制御パラメータを変更することで最適化を行う。これより、例えば図2の106で示すような新規テストパタンを作成する。S413では、新規テストパタンについて検証テストを行い、テストカバレッジを計測する。
In FIG. 4B, optimization is performed by changing the control parameter in the library using the verification priority information 104.
In S411, the verification priority order information 104 is analyzed, the coverage results at the time of executing each library are collated, and what part of the source code is preferentially verified or which test pattern is preferentially verified. To decide. In S412, based on the analysis result in S411, optimization is performed by changing the control parameter in the library. Thus, for example, a new test pattern as shown by 106 in FIG. 2 is created. In S413, a verification test is performed on the new test pattern, and the test coverage is measured.
 S414では、前回のテストパタンのカバレッジデータと新規テストパタンのカバレッジデータとを比較する。この比較では、テストパタン全体のカバレッジデータを比較するが、ライブラリ毎のカバレッジデータを利用し、短時間でカバレッジ確保できるか否かを比較しても良い。S414の判定で前回よりもカバレッジが向上した場合には、S412に戻り、再度ライブラリ内の制御パラメータを変更する。そして、S414の判定でカバレッジが向上する間はライブラリ最適化を繰り返し実行する。 In S414, the coverage data of the previous test pattern is compared with the coverage data of the new test pattern. In this comparison, the coverage data of the entire test pattern is compared. However, coverage data for each library may be used to compare whether coverage can be ensured in a short time. If it is determined in S414 that the coverage has improved compared to the previous time, the process returns to S412 to change the control parameters in the library again. Then, the library optimization is repeatedly executed while the coverage is improved in the determination of S414.
 S414の判定で前回よりもカバレッジが向上しなかった(または低下した)場合には、S415に進み、前回のテストパタン、つまり最適化する1つ前の制御パラメータのテストパタンに戻す。S416では、ライブラリ内制御パラメータにより再度最適化するか否かを判定する。 If it is determined in S414 that the coverage has not improved (or decreased) compared to the previous time, the process proceeds to S415, and the test pattern of the previous control parameter to be optimized is returned to the previous test pattern. In S416, it is determined whether to optimize again based on the control parameter in the library.
 S416の判定で再度最適化する場合は、S412に戻り、ライブラリ内制御パラメータを変更し、カバレッジ向上を図る。S416の判定で再度最適化しない場合は、これで終了する。あるいは、他の最適化処理(例えば図4Aのライブラリ実行順序変更)に切り替えても良い。 When optimizing again in the determination in S416, the process returns to S412 to change the control parameter in the library and improve the coverage. If the optimization is not performed again in the determination in S416, the process ends here. Alternatively, it may be switched to another optimization process (for example, change of library execution order in FIG. 4A).
 図4Aと図4Bのライブラリ最適化は、目標のカバレッジに到達するまで実行する。最適化方法として、図4Aのライブラリ実行順序変更と図4Bのライブラリ内制御パラメータ変更が可能であるが、いずれか一方を適宜選択すれば良い。一方のみで目標を達成できない場合は、順序は問わず、両方を実行することで目標のカバレッジを達成することが容易になる。 4) The library optimization in FIG. 4A and FIG. 4B is executed until the target coverage is reached. As an optimization method, the library execution order change in FIG. 4A and the in-library control parameter change in FIG. 4B can be performed, and either one may be selected as appropriate. When the goal cannot be achieved by only one of them, it is easy to achieve the coverage of the goal by executing both regardless of the order.
 本実施例によれば、新規機能追加や修正が行われたソフトウェアに対応して、既存のテストパタンを最適化して新規のテストパタンを容易に作成できる。最適化の際、ライブラリ実行順序の変更やライブラリ制御パラメータの変更によって、テストカバレッジの向上と検証時間の短縮化が図られ、テスト品質の向上とテスト工数の削減が可能となる。 According to this embodiment, it is possible to easily create a new test pattern by optimizing an existing test pattern in correspondence with software in which a new function is added or modified. When optimizing, changing the library execution order and changing library control parameters can improve test coverage and shorten verification time, thereby improving test quality and reducing test man-hours.
 詳細に言えば、例えば、既存テストパタン実行時、テストカバレッジが低い原因が不明であっても、ライブラリ単位に分割されたテストパタン毎のテストカバレッジデータを解析することで、より詳細にテストパタンのどの部分の検証能力が低いのか、つまりテストカバレッジが低いのか判断することができる。これを踏まえて、ライブラリの実行順序変更やライブラリパラメータを変更することで、テストカバレッジを向上させることができる。また、ライブラリの実行順序変更やライブラリパラメータの変更は自動で行うため、テストパタン設計者の工数削減もできる。更に、ライブラリの実行順序変更により、テストカバレッジは変わらなくても、早期にテストカバレッジが飽和する順序変更をすることで、テスト実行時間の短縮ができる。そして、テストパタン検出部によりテストパタン解析が行われ、自動でテストパタン最適化を実施するため、ブラックボックスである既存テストパタンを利用する場合においても、新たにカバレッジ取得機構を記述することなく、新規テストパタンの作成が可能となる。 More specifically, for example, when executing the existing test pattern, even if the cause of the low test coverage is unknown, analyzing the test coverage data for each test pattern divided into library units can provide more detailed test pattern information. It is possible to determine which part has low verification capability, that is, low test coverage. Based on this, test coverage can be improved by changing the execution order of libraries and changing library parameters. In addition, library execution order changes and library parameter changes are performed automatically, reducing the man-hours for test pattern designers. Furthermore, even if the test coverage is not changed by changing the execution order of the library, the test execution time can be shortened by changing the order in which the test coverage is saturated at an early stage. And, since test pattern analysis is performed by the test pattern detection unit and test pattern optimization is automatically performed, even when using an existing test pattern that is a black box, without newly describing a coverage acquisition mechanism, New test patterns can be created.
 実施例2は、実施例1による作成した新規テストパタンによっても目標のカバレッジを達成できない場合に、更なるカバレッジ拡大のために、ソフトウェア検証時に外部から直接ハードウェアを使ってソフトウェアの変数を設定するものである。 In the second embodiment, when the target coverage cannot be achieved even with the new test pattern created in the first embodiment, software variables are set directly from the outside at the time of software verification for further coverage expansion. Is.
 図5Aと図5Bは、実施例2にかかるソフトウェア検証装置の構成図を示す。実施例1(図1A、図1B)と同じ要素には同じ符号を付している。 FIGS. 5A and 5B are configuration diagrams of the software verification apparatus according to the second embodiment. The same elements as those of the first embodiment (FIGS. 1A and 1B) are denoted by the same reference numerals.
 図5Aは、テスト対象となる実機1の外部にソフトウェア検証装置20を接続した場合である。実機1には、検証対象となるソフトウェアが組み込まれている。2つの入力部31、32を有し、入力部31には既存のテストパタンが入力され、入力部32には検証優先順位情報が入力される。ソフトウェア検証装置20内の、テストパタン検出部11、ライブラリ格納部12、テストカバレッジ計測部13、カバレッジデータ格納部14、テスト合否判定部15、及びライブラリ最適化部16は、実施例1(図1A)と同様の構成であり、説明を省略する。 FIG. 5A shows a case where the software verification device 20 is connected to the outside of the actual machine 1 to be tested. The actual machine 1 incorporates software to be verified. Two input units 31 and 32 are provided, an existing test pattern is input to the input unit 31, and verification priority information is input to the input unit 32. The test pattern detection unit 11, the library storage unit 12, the test coverage measurement unit 13, the coverage data storage unit 14, the test pass / fail determination unit 15, and the library optimization unit 16 in the software verification apparatus 20 are the same as those in the first embodiment (FIG. 1A). ) And the description thereof is omitted.
 テスト合否判定部15にて合格(カバレッジ目標値を達成)と判定した場合は、当該テストパタンを用いてテスト対象実機1のソフトウェアを検証する。不合格と判定した場合は、テスト結果をカバレッジデータ格納部14に戻すとともに、ライブラリ最適化判断部21に出力する。ライブラリ最適化判断部21は、更なるライブラリの最適化、すなわち更なるテストカバレッジの拡大が可能かどうかを判断する。可能な場合は、ライブラリ最適化部16に対しライブラリ最適化を指示する。そのときライブラリ最適化部16は、カバレッジデータ格納部14から得たテスト結果と入力部32から入力した検証優先順位情報に基づき、ライブラリの最適化を実施する。 If the test pass / fail determination unit 15 determines that the test is successful (achieving the coverage target value), the test target machine 1 software is verified using the test pattern. If it is determined that the test has failed, the test result is returned to the coverage data storage unit 14 and is output to the library optimization determination unit 21. The library optimization determination unit 21 determines whether further library optimization, that is, further expansion of test coverage is possible. If possible, the library optimization unit 16 is instructed to optimize the library. At that time, the library optimizing unit 16 optimizes the library based on the test result obtained from the coverage data storage unit 14 and the verification priority information input from the input unit 32.
 最適化判断部21は、更なるライブラリの最適化(テストカバレッジのさらなる拡大)が不可能である場合には、変数制御部24に対し、変数設定動作開始信号を送る。検証情報監視部22は、テスト対象実機1に接続され、ソフトウェア検証動作時にテストパタンの変数組み合わせ情報を監視、抽出し、変数組み合わせ情報を変数情報格納部23に格納する。変数情報格納部23は、テスト実行されなかった未実施の変数組み合わせ情報を抽出し、変数制御部24に未実施の変数組み合わせ情報を出力する。変数制御部24には、未実施の変数組み合わせ情報の他にカバレッジデータ格納部14からカバレッジデータが入力される。変数制御部24は、2つの情報を基に、検証漏れが発生している箇所とその時の未実施の変数組み合わせを1対1に対応させ、検証が漏れた変数組み合わせ情報をテスト対象実機1に出力する。テストカバレッジ計測部13により、再度、テストカバレッジを計測し、カバレッジ目標値達成まで変数制御を実行する。ライブラリ最適化判断部21は、変数制御に加え、途中でライブラリ最適化可能と判断した場合は、ライブラリ最適化部16に対しライブラリ最適化を指示しても良い。 The optimization determining unit 21 sends a variable setting operation start signal to the variable control unit 24 when further library optimization (further expansion of test coverage) is impossible. The verification information monitoring unit 22 is connected to the test target real machine 1, monitors and extracts the test pattern variable combination information during the software verification operation, and stores the variable combination information in the variable information storage unit 23. The variable information storage unit 23 extracts unexecuted variable combination information that has not been tested, and outputs the unexecuted variable combination information to the variable control unit 24. Coverage data is input to the variable control unit 24 from the coverage data storage unit 14 in addition to unimplemented variable combination information. Based on the two pieces of information, the variable control unit 24 makes a one-to-one correspondence between the location where the verification failure has occurred and the unexecuted variable combination at that time, and sets the variable combination information where the verification has failed to the test target actual machine 1. Output. The test coverage measurement unit 13 measures the test coverage again and executes variable control until the coverage target value is achieved. In addition to variable control, the library optimization determination unit 21 may instruct the library optimization unit 16 to perform library optimization when it is determined that library optimization is possible on the way.
 図5Bは、テスト対象となる実機1の内部にソフトウェア検証装置20を搭載した場合である。この場合は、ソフトウェア検証装置20はテスト対象実機1内のテスト対象ソフトウェア格納モジュール2に接続され、テスト対象ソフトウェア格納モジュール2には検証対象となるソフトウェアが格納されている。ソフトウェア検証装置20の内部構成は図5Aと同様であり、繰返しの説明は省略する。 FIG. 5B shows a case where the software verification device 20 is installed inside the actual machine 1 to be tested. In this case, the software verification device 20 is connected to the test target software storage module 2 in the test target real machine 1, and the test target software storage module 2 stores software to be verified. The internal configuration of the software verification device 20 is the same as that in FIG. 5A, and repeated description is omitted.
 図6は、ソフトウェア検証方法を模式的に説明する図である。ここでは、作成した新規テストパタン108ではカバレッジ目標値を達成できない場合に、更なるカバレッジ拡大のために変数制御情報204を作成し、外部から直接ハードを使って変数を設定するものである。入力した既存テストパタン101から新規テストパタン108を作成するまでは、前記図2と同様であり、その説明を省略する。 FIG. 6 is a diagram schematically illustrating the software verification method. Here, when the created new test pattern 108 cannot achieve the target coverage value, the variable control information 204 is created for further coverage expansion, and the variables are set directly from the outside using hardware. The process from the input existing test pattern 101 to the creation of a new test pattern 108 is the same as that shown in FIG.
 新規テストパタン108を用いても検証漏れが発生しカバレッジ目標値を達成できない場合に、検証動作時のソフトウェア変数制御を実施する。新規テストパタン108を実行するとき、検証情報監視部22は検証状態を監視し、検証で使用された変数組み合わせを抽出し、変数組み合わせ情報201として変数情報格納部23に記憶する。また、新規テストパタン108を実行したときのカバレッジデータ202を計測し、カバレッジデータ格納部14に記憶する。変数情報格納部23では変数組み合わせ情報201を参照し、検証で実施されなかった変数組み合わせ(検証漏れ)を抽出して未実施変数組み合わせ情報203を生成する。 ∙ If a verification failure occurs even if the new test pattern 108 is used and the coverage target value cannot be achieved, software variable control is performed during the verification operation. When executing the new test pattern 108, the verification information monitoring unit 22 monitors the verification state, extracts the variable combination used in the verification, and stores it as variable combination information 201 in the variable information storage unit 23. Further, the coverage data 202 when the new test pattern 108 is executed is measured and stored in the coverage data storage unit 14. The variable information storage unit 23 refers to the variable combination information 201, extracts variable combinations that have not been verified (verification is omitted), and generates unexecuted variable combination information 203.
 変数制御部24では、未実施変数組み合わせ情報203とカバレッジデータ202を用いて、変数制御情報204を生成する。すなわち、カバレッジデータ202から検証漏れが発生している変数の組み合わせの場所を特定し、検証できなかった未実施の変数組み合わせ情報を変数制御情報204として出力する。この変数制御情報204を使って、例えば外部ポート(シリアル・GPIO(General Purpose Input/Output)・デバッグ用ピン等)から直接ハードウェアの設定を変更し強制的に変数設定する。これにより、検証漏れ箇所を補完し、カバレッジ目標値を達成させる。 The variable control unit 24 generates variable control information 204 using the unexecuted variable combination information 203 and the coverage data 202. That is, the location of the combination of variables in which verification failure has occurred is identified from the coverage data 202, and unexecuted variable combination information that could not be verified is output as variable control information 204. Using this variable control information 204, for example, the hardware setting is changed directly from an external port (serial, GPIO (General Purpose Input / Output), debug pin, etc.) to forcibly set the variable. Thereby, a verification omission location is complemented and a coverage target value is achieved.
 図7は、ソフトウェア検証工程を示すフローチャートである。この工程は、前半の新規テストパタン作成工程と、後半の検証漏れに対する変数設定工程からなる。前半の新規テストパタン作成工程(S701~S705、S707)は、前記図3、図4A、図4Bと同様であり、説明を省略する。 FIG. 7 is a flowchart showing the software verification process. This process consists of a new test pattern creation process in the first half and a variable setting process for verification omission in the second half. The new test pattern creation process (S701 to S705, S707) in the first half is the same as that in FIG. 3, FIG. 4A, and FIG.
 S705の判定で、新規テストパタンが目標のカバレッジに到達していない場合は、S706へ進す。S706では、ライブラリ最適化判断部21にてライブラリ最適化可能か否か、つまりカバレッジが向上する可能性の有無を判断する。ライブラリ最適化が可能である場合は、S707へ進み、ライブラリ最適化部16にて、ライブラリ実行順序の入替やライブラリ制御パラメータの変更等のライブラリ最適化を実施し、新規テストパタンを生成する。 If it is determined in S705 that the new test pattern has not reached the target coverage, the process proceeds to S706. In S706, the library optimization determination unit 21 determines whether or not library optimization is possible, that is, whether or not there is a possibility that coverage is improved. If library optimization is possible, the process advances to step S707, and the library optimization unit 16 performs library optimization such as changing the library execution order and changing library control parameters to generate a new test pattern.
 S706の判定で、ライブラリ最適化が不可能であると判断した場合、つまり、生成した新規テストパタンでもカバレッジ目標値を達成できない場合は、S708以降へ進み、変数制御部24に対し、ソフトウェア検証時に外部から変数設定を実施するよう指示する。 If it is determined in step S706 that library optimization is impossible, that is, if the generated target pattern cannot be achieved even with the generated new test pattern, the process proceeds to step S708 and subsequent steps to the variable control unit 24 during software verification. Instructs to set variables from outside.
 S708では、新規テストパタンにより実機のソフトウェアの検証テストを行い、検証情報監視部22により検証情報を監視する。S709では、検証情報からテスト実行時の変数組み合わせ等の情報201を抽出し、変数情報格納部23に記憶する。このとき検証情報から、カバレッジデータ202も計測する。S710では、変数情報格納部23は変数組み合わせ情報201を参照し、テストで未実施の変数組み合わせの情報203を抽出する。S711では、未実施変数組み合わせ情報203と計測したカバレッジデータ202を1対1に対応付け、検証漏れが発生している場所の変数組み合わせ情報を特定する。 In S708, a verification test of the actual software is performed with the new test pattern, and the verification information monitoring unit 22 monitors the verification information. In S <b> 709, information 201 such as a variable combination at the time of test execution is extracted from the verification information and stored in the variable information storage unit 23. At this time, coverage data 202 is also measured from the verification information. In S710, the variable information storage unit 23 refers to the variable combination information 201, and extracts information 203 on variable combinations that have not been tested. In S711, the unexecuted variable combination information 203 and the measured coverage data 202 are associated on a one-to-one basis, and variable combination information of a place where a verification failure has occurred is specified.
 S712では、変数制御部24により、未実施変数組み合わせ情報203を基に変数制御情報204を生成して変数制御を実施する。すなわち、外部ポートから強制的に変数設定を実施して、検証テストを行う。S713では、テストカバレッジ計測部13により変数制御実施後のテストカバレッジを計測する。S714では、テスト合否判定部15により、目標のカバレッジに到達したかどうかを判定する。判定で目標に達していれば、これで終了する。目標に到達していない場合は、S715へ進み、変数設定のタイミングを調整し、検証漏れが発生するタイミングでこれに対応する変数を設定する。S712に戻り、検証状態を監視しながらタイミングを調整し再度変数制御を実施する。このようにして、目標のカバレッジに到達するよう変数設定を繰り返す。 In S712, the variable control unit 24 generates variable control information 204 based on the unexecuted variable combination information 203 and executes variable control. That is, a verification test is performed by forcibly setting a variable from an external port. In S713, the test coverage measurement unit 13 measures the test coverage after the variable control. In S714, the test pass / fail determination unit 15 determines whether the target coverage has been reached. If the target is reached in the determination, the process ends here. If the target has not been reached, the process proceeds to S715, the variable setting timing is adjusted, and the variable corresponding to this is set at the timing when the verification failure occurs. Returning to S712, the timing is adjusted while monitoring the verification state, and variable control is performed again. In this way, the variable setting is repeated to reach the target coverage.
 本実施例によれば、検証テスト時の変数組み合わせ情報とテストカバレッジデータを使って、検証漏れが発生している箇所とその時の未実施の変数組み合わせを対応させ、検証が漏れた変数組み合わせを外部からハードを使って強制的に設定するものである。これにより、検証漏れを確実になくすことができる。 According to the present embodiment, by using the variable combination information and test coverage data at the time of the verification test, the location where the verification failure occurs is associated with the variable combination that has not been executed at that time, It is forcibly set using hardware. As a result, it is possible to reliably eliminate verification failure.
 詳細に言えば、新規に作成したテストパタンで検証網羅できない範囲が発生した場合においても検証漏れをなくすことが可能となる。その結果、検証範囲が拡大し、カバレッジ目標値を達成できる。また、新規テストパタンで極力検証範囲を拡大した後で、ハード直接制御による変数制御を行うため、制御が必要な変数の種類を削減でき、デバッグ用の端子、パッド等が潤沢ではない実機においても変数制御が可能となる。 More specifically, it is possible to eliminate omission of verification even when a range that cannot be covered by verification occurs in a newly created test pattern. As a result, the verification range is expanded and the coverage target value can be achieved. In addition, since the variable control by hardware direct control is performed after expanding the verification range as much as possible with new test patterns, the types of variables that need to be controlled can be reduced, even in actual machines where there are not enough terminals, pads, etc. for debugging Variable control is possible.
 1:テスト対象実機、
 2:テスト対象ソフトウェア格納モジュール、
 10:テストパタン作成装置、
 11:テストパタン検出部、
 12:ライブラリ格納部、
 13:テストカバレッジ計測部、
 14:カバレッジデータ格納部、
 15:テスト合否判定部、
 16:ライブラリ最適化部、
 20:ソフトウェア検証装置、
 21:ライブラリ最適化判断部、
 22:検証情報監視部、
 23:変数情報格納部、
 24:変数制御部、
 101:既存テストパタン、
 103:カバレッジデータ、
 104:検証優先順位情報、
 108:新規テストパタン、
 201:変数組み合わせ情報、
 202:カバレッジデータ、
 203:未実施変数組み合わせ情報、
 204:変数制御情報。
1: Actual machine to be tested
2: Test target software storage module,
10: Test pattern creation device,
11: Test pattern detection unit,
12: Library storage unit,
13: Test coverage measurement unit,
14: Coverage data storage unit,
15: Test pass / fail judgment unit,
16: Library optimization unit,
20: Software verification device,
21: Library optimization determination unit,
22: Verification information monitoring unit,
23: Variable information storage unit,
24: Variable control unit,
101: Existing test pattern,
103: Coverage data,
104: Verification priority information,
108: New test pattern,
201: variable combination information,
202: Coverage data,
203: Unimplemented variable combination information,
204: Variable control information.

Claims (14)

  1.  ソフトウェアの検証に用いるテストパタンを作成するテストパタン作成装置において、
     入力したテストパタンを所定の纏まった単位に分割してライブラリ化するテストパタン検出部と、
     ライブラリ化されたテストパタンをライブラリ毎に検証してテストカバレッジを計測するテストカバレッジ計測部と、
     計測したテストカバレッジを基に該テストカバレッジが拡大するよう前記ライブラリの実行順序を変更するライブラリ最適化部と、
     を備えることを特徴とするテストパタン作成装置。
    In a test pattern creation device that creates a test pattern used for software verification,
    A test pattern detection unit that divides the input test pattern into a predetermined unit and creates a library;
    A test coverage measurement unit that measures the test coverage by verifying the test pattern in a library for each library;
    A library optimization unit that changes the execution order of the libraries so that the test coverage is expanded based on the measured test coverage;
    A test pattern creation device comprising:
  2.  ソフトウェアの検証に用いるテストパタンを作成するテストパタン作成装置において、
     入力したテストパタンを所定の纏まった単位に分割してライブラリ化するテストパタン検出部と、
     ライブラリ化されたテストパタンをライブラリ毎にテストカバレッジを計測するテストカバレッジ計測部と、
     計測したテストカバレッジを基に該テストカバレッジが拡大するよう前記ライブラリの制御パラメータを変更するライブラリ最適化部と、
     を備えることを特徴とするテストパタン作成装置。
    In a test pattern creation device that creates a test pattern used for software verification,
    A test pattern detection unit that divides the input test pattern into a predetermined unit and creates a library;
    A test coverage measurement unit that measures the test coverage of each library in a test pattern that has been made into a library;
    A library optimization unit that changes the control parameters of the library so that the test coverage is expanded based on the measured test coverage;
    A test pattern creation device comprising:
  3.  請求項1または2に記載のテストパタン作成装置において、
     前記ライブラリ最適化部は、テストカバレッジを拡大させるために、検証項目の優先順序を示す検証優先順位情報を利用することを特徴とするテストパタン作成装置。
    In the test pattern creation device according to claim 1 or 2,
    The library optimizing unit uses verification priority order information indicating a priority order of verification items in order to expand test coverage.
  4.  請求項3に記載のテストパタン作成装置において、
     前記ライブラリ最適化部は、前記ライブラリの実行順序を変更しても前記テストカバレッジが拡大しない場合には、前記ライブラリの制御パラメータを変更し、
     前記ライブラリの制御パラメータを変更しても前記テストカバレッジが拡大しない場合には、前記ライブラリの実行順序を変更することを特徴とするテストパタン作成装置。
    In the test pattern creation device according to claim 3,
    The library optimization unit, if the test coverage does not expand even if the execution order of the library is changed, change the control parameter of the library,
    If the test coverage does not expand even if the control parameters of the library are changed, the execution order of the library is changed.
  5.  請求項1乃至4のいずれか記載のテストパタン作成装置により作成したテストパタンを用いてソフトウェアを検証するソフトウェア検証装置において、
     ソフトウェア検証状態を監視し、検証時に使用されるソフトウェア変数の組み合わせを抽出する検証情報監視部と、
     前記抽出した変数組み合わせを格納し検証時に未実施の変数組み合わせを抽出する変数情報格納部と、
     前記未実施の変数組み合わせを用いて、前記ソフトウェアを組み込んだ検証対象機器の外部端子からソフトウェア変数を設定する変数制御部と、
     を備えることを特徴とするソフトウェア検証装置。
    In a software verification device that verifies software using a test pattern created by the test pattern creation device according to any one of claims 1 to 4,
    A verification information monitoring unit that monitors the software verification status and extracts a combination of software variables used at the time of verification;
    A variable information storage unit for storing the extracted variable combinations and extracting unexecuted variable combinations at the time of verification;
    Using the unexecuted variable combination, a variable control unit that sets a software variable from an external terminal of the verification target device incorporating the software;
    A software verification apparatus comprising:
  6.  請求項5に記載のソフトウェア検証装置において、
     前記ソフトウェア検証時のテストカバレッジを計測するテストカバレッジ計測部を有し、
     前記変数制御部は、前記未実施変数組み合わせと前記計測したテストカバレッジを1対1に対応付け、検証漏れが発生している場所の変数組み合わせを用いてソフトウェア変数を設定することを特徴とするソフトウェア検証装置。
    The software verification device according to claim 5,
    A test coverage measuring unit for measuring test coverage at the time of the software verification;
    The variable control unit associates the unexecuted variable combination with the measured test coverage on a one-to-one basis, and sets a software variable using a variable combination at a location where a verification failure has occurred Verification device.
  7.  請求項6に記載のソフトウェア検証装置において、
     前記変数制御部は、前記ソフトウェア変数を設定するとき、検証漏れが発生するタイミングでこれに対応する変数を設定することを特徴とするソフトウェア検証装置。
    The software verification device according to claim 6,
    The variable control unit, when setting the software variable, sets a variable corresponding thereto at a timing when a verification failure occurs.
  8.  請求項5記載のソフトウェア検証装置において、
     前記作成したテストパタンについて前記ライブラリ最適化部により更なるテストカバレッジの拡大が可能か否かを判断するライブラリ最適化判断部を備え、
     テストカバレッジの拡大が不可能と判断した場合に、前記変数制御部によりソフトウェア変数を設定することを特徴とするソフトウェア検証装置。
    The software verification device according to claim 5, wherein
    A library optimization determination unit that determines whether or not further test coverage can be expanded by the library optimization unit for the created test pattern;
    A software verification apparatus characterized by setting a software variable by the variable control unit when it is determined that the test coverage cannot be expanded.
  9.  ソフトウェアの検証に用いるテストパタンを作成するテストパタン作成方法において、
     入力したテストパタンを所定の纏まった単位に分割してライブラリ化するステップと、
     ライブラリ化されたテストパタンをライブラリ毎に検証してテストカバレッジを計測するステップと、
     計測したテストカバレッジを基に該テストカバレッジが拡大するよう前記ライブラリの実行順序を変更、または前記ライブラリの制御パラメータを変更するステップと、
     を備えることを特徴とするテストパタン作成方法。
    In a test pattern creation method for creating a test pattern used for software verification,
    Dividing the input test pattern into a predetermined unit and creating a library;
    The step of verifying the test pattern that is made into a library and measuring the test coverage for each library,
    Changing the execution order of the libraries so as to expand the test coverage based on the measured test coverage, or changing the control parameters of the library;
    A test pattern creation method characterized by comprising:
  10.  請求項9に記載のテストパタン作成方法において、
     前記テストカバレッジを拡大させるために、検証項目の優先順序を示す検証優先順位情報を利用することを特徴とするテストパタン作成方法。
    The test pattern creation method according to claim 9,
    A test pattern creation method using verification priority information indicating a priority order of verification items in order to expand the test coverage.
  11.  請求項10に記載のテストパタン作成方法において、
     前記ライブラリの実行順序を変更しても前記テストカバレッジが拡大しない場合には、前記ライブラリの制御パラメータを変更し、
     前記ライブラリの制御パラメータを変更しても前記テストカバレッジが拡大しない場合には、前記ライブラリの実行順序を変更することを特徴とするテストパタン作成方法。
    The test pattern creation method according to claim 10,
    If the test coverage does not expand even if the execution order of the library is changed, the control parameter of the library is changed,
    If the test coverage does not increase even if the control parameters of the library are changed, the execution order of the library is changed.
  12.  請求項9乃至11のいずれか記載のテストパタン作成方法により作成したテストパタンを用いてソフトウェアを検証するソフトウェア検証方法において、
     ソフトウェア検証状態を監視し、検証時に使用されるソフトウェア変数の組み合わせを抽出するステップと、
     前記抽出した変数組み合わせを参照し検証時に未実施の変数組み合わせを抽出するステップと、
     前記未実施の変数組み合わせを用いて、前記ソフトウェアを組み込んだ検証対象機器の外部端子からソフトウェア変数を設定するステップと、
     を備えることを特徴とするソフトウェア検証方法。
    A software verification method for verifying software using a test pattern created by the test pattern creation method according to claim 9,
    Monitoring the software verification status and extracting a combination of software variables used during verification;
    Extracting the unexecuted variable combinations at the time of verification with reference to the extracted variable combinations;
    Using the unexecuted variable combination to set a software variable from an external terminal of the verification target device incorporating the software;
    A software verification method comprising:
  13.  請求項12に記載のソフトウェア検証方法において、
     前記ソフトウェア検証時のテストカバレッジを計測するステップと、
     前記未実施変数組み合わせと前記計測したテストカバレッジを1対1に対応付けるステップと、を有し、
     検証漏れが発生している場所の変数組み合わせを用いて、ソフトウェア変数を設定することを特徴とするソフトウェア検証方法。
    The software verification method according to claim 12, wherein
    Measuring test coverage during the software verification;
    Correlating the unexecuted variable combination with the measured test coverage on a one-to-one basis,
    A software verification method characterized in that a software variable is set using a variable combination at a place where a verification failure has occurred.
  14.  請求項13に記載のソフトウェア検証方法において、
     前記ソフトウェア変数を設定するとき、検証漏れが発生するタイミングでこれに対応する変数を設定することを特徴とするソフトウェア検証方法。
    The software verification method according to claim 13,
    A software verification method characterized in that, when setting the software variable, a variable corresponding thereto is set at a timing when a verification failure occurs.
PCT/JP2012/081419 2012-12-04 2012-12-04 Test pattern creation device and creation method, and software verification device and verification method WO2014087493A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/081419 WO2014087493A1 (en) 2012-12-04 2012-12-04 Test pattern creation device and creation method, and software verification device and verification method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/081419 WO2014087493A1 (en) 2012-12-04 2012-12-04 Test pattern creation device and creation method, and software verification device and verification method

Publications (1)

Publication Number Publication Date
WO2014087493A1 true WO2014087493A1 (en) 2014-06-12

Family

ID=50882944

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/081419 WO2014087493A1 (en) 2012-12-04 2012-12-04 Test pattern creation device and creation method, and software verification device and verification method

Country Status (1)

Country Link
WO (1) WO2014087493A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008071075A (en) * 2006-09-13 2008-03-27 Toshiba Corp Program inspection device, program inspection method, and program inspection program
JP2010250583A (en) * 2009-04-16 2010-11-04 Fujitsu Ltd Program and method for generating application test, and application test device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008071075A (en) * 2006-09-13 2008-03-27 Toshiba Corp Program inspection device, program inspection method, and program inspection program
JP2010250583A (en) * 2009-04-16 2010-11-04 Fujitsu Ltd Program and method for generating application test, and application test device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHIN KIMOTO: "Designing Pairwise Testsets that Optimize Executing Cost", IEICE TECHNICAL REPORT, vol. 107, no. 255, October 2007 (2007-10-01), pages 47 - 50 *

Similar Documents

Publication Publication Date Title
US7228262B2 (en) Semiconductor integrated circuit verification system
US10936474B2 (en) Software test program generation
US9405315B2 (en) Delayed execution of program code on multiple processors
CN104021072A (en) Machine and methods for evaluating failing software programs
JP4468410B2 (en) Software execution device and cooperative operation method
US20190146893A1 (en) Simulation device, simulation system, simulation method, and simulation program
CN106405277B (en) Testing device and method for main processing unit in nuclear power station protection system
EP3537303B1 (en) Trace data compression method selection device. method, and program
WO2014087493A1 (en) Test pattern creation device and creation method, and software verification device and verification method
CN107607853B (en) Chip debugging method and device, storage medium and processor
JP5292164B2 (en) Failure diagnosis method and failure diagnosis system
US8560987B2 (en) Test functionality integrity verification for integrated circuit design
JP4652317B2 (en) Logic circuit functional verification apparatus, functional coverage item verification method, and program
JPH11202033A (en) Critical path searching system
KR20180089121A (en) Apparatus and method of debugging post silicon using on-chip dram for multi-core design
JP6786449B2 (en) Semiconductor device
US20160070846A1 (en) System for testing ic design
JP5387521B2 (en) Logic verification scenario generation device and logic verification scenario generation program
JP7343197B2 (en) Information processing device, information processing system, information processing method and program
CN115510782B (en) Method for locating verification errors, electronic device and storage medium
JP2009075811A (en) Logical simulation device and logical simulation method
EP3998532A1 (en) Method for the selective tracing of the execution of instructions, related processing device and processor
JP4839638B2 (en) Tester simulation apparatus and test simulation method
JP2010165121A (en) Program and program verification method
CN116205184A (en) Chip verification method, chip verification platform and readable storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12889708

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12889708

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP