WO2023276253A1 - 解析装置、解析方法 - Google Patents

解析装置、解析方法 Download PDF

Info

Publication number
WO2023276253A1
WO2023276253A1 PCT/JP2022/006786 JP2022006786W WO2023276253A1 WO 2023276253 A1 WO2023276253 A1 WO 2023276253A1 JP 2022006786 W JP2022006786 W JP 2022006786W WO 2023276253 A1 WO2023276253 A1 WO 2023276253A1
Authority
WO
WIPO (PCT)
Prior art keywords
test
score
conditional expression
information
analysis device
Prior art date
Application number
PCT/JP2022/006786
Other languages
English (en)
French (fr)
Inventor
大二郎 村田
昌永 金子
敦介 新原
直人 長谷川
陽春 佐藤
Original Assignee
日立Astemo株式会社
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 日立Astemo株式会社 filed Critical 日立Astemo株式会社
Priority to EP22832420.8A priority Critical patent/EP4365746A1/en
Priority to US18/564,824 priority patent/US20240289263A1/en
Publication of WO2023276253A1 publication Critical patent/WO2023276253A1/ja

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
    • 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/3692Test management for test results analysis
    • 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/3688Test management for test execution, e.g. scheduling of test suites

Definitions

  • the present invention relates to an analysis device and an analysis method.
  • Patent Document 1 regarding a defect that is a deliverable in a defect management tool, a revision that is a deliverable in a configuration management tool, and a test item that is a deliverable in a test management tool, the test management tool, the configuration management tool, the defect Predetermined management tool data including test results for each deliverable is input from a management tool, and period extraction for extracting a period from failure to success or from success to failure for the test results related to the defect. Narrowing processing for narrowing down related candidates in associating the defect with other deliverables related to the defect, using the attribute change relationship between the deliverables in the period extracted by the period extracting unit and the period extracting unit.
  • a related candidate generating apparatus for a deliverable is disclosed, which includes a section.
  • An analysis device is an analysis device for identifying a cause when a test of software under test fails in a test environment, which is an environment for executing a test, wherein the test includes: Software execution and execution result confirmation are executed by a test script without human intervention, and test data is data read into the test target software and the test script when the test is executed, and the test target A score calculation unit that calculates a failure cause score based on the presence or absence of change for each of software, test data, test script, and test environment; , test data, test script, and test environment.
  • An analysis method is an analysis method in which a computer identifies the cause when a test of software under test fails in a test environment, which is an environment for executing a test, wherein the test includes: execution of the software under test and confirmation of execution results are executed by a test script without human intervention, and test data is data read into the software under test and the test script when the test is executed; Calculating a failure cause score based on the presence or absence of change for each of the software under test, test data, test script, and test environment, and based on the failure cause score, the cause of the failure of the test is the software under test , test data, test script, and test environment.
  • Functional configuration diagram of the analysis device in the first embodiment Hardware configuration diagram of analysis equipment Diagram explaining the outline of the test analyzed by the analysis device Diagram showing an example of configuration information Diagram showing an example of test case information Diagram showing an example of score calculation rule information Diagram showing an example of change history information Diagram showing an example of test execution information Diagram showing an example of score summary information Diagram showing an example of name correspondence information
  • a diagram showing an example of output to an output device Flowchart showing processing of the score calculation unit in the first embodiment Flowchart explaining the details of the score calculation process
  • Functional configuration diagram of an analysis device according to the second embodiment Diagram showing an example of extended test case information Diagram showing an example of score calculation extended rule information Diagram showing an example of extended score aggregation information Diagram showing an example of element definition information Diagram showing an example of element-related information
  • a diagram showing an example of output to an output device by the display generation unit Flowchart showing the processing of the rule generator Flowchart showing the processing
  • FIG. 1 A first embodiment of an analysis apparatus according to the present invention will be described below with reference to FIGS. 1 to 13.
  • FIG. 1 A first embodiment of an analysis apparatus according to the present invention will be described below with reference to FIGS. 1 to 13.
  • FIG. 1 A first embodiment of an analysis apparatus according to the present invention will be described below with reference to FIGS. 1 to 13.
  • FIG. 1 A first embodiment of an analysis apparatus according to the present invention will be described below with reference to FIGS. 1 to 13.
  • FIG. 1 is a functional configuration diagram of an analysis device 1 that analyzes software test results.
  • the analysis device 1 includes a score calculation unit 151, an estimation unit 152, and a display generation unit 153 as its functions.
  • the analysis device 1 has a storage unit 84 .
  • the storage unit 84 stores test case information 101, score calculation rule information 102, change history information 103, test execution information 104, score total information 105, and name correspondence information 106.
  • FIG. 2 is a hardware configuration diagram of the analysis device 1.
  • the analysis device 1 includes a CPU 81 that is a central processing unit, a ROM 82 that is a read-only storage device, a RAM 83 that is a readable/writable storage device, a storage section 84 , and an input/output interface 85 .
  • Analysis device 1 is connected to input device 2 and output device 3 via input/output interface 85 .
  • the input device 2 is a keyboard or mouse.
  • the output device 3 is a device for displaying images, such as a liquid crystal display. However, a touch panel or the like in which the input device 2 and the output device 3 are integrated may be used.
  • the input device 2 transmits input from a person who uses the analysis device (hereinafter referred to as a “user”) to the analysis device 1 .
  • the output device 3 presents the information output by the analysis device 1 to the user.
  • the CPU 81 implements the score calculation unit 151, the estimation unit 152, and the display generation unit 153 by expanding the program stored in the ROM 82 into the RAM 83 and executing it.
  • the score calculator 151 and the estimator are rewritable logic circuits FPGA (Field Programmable Gate Array) and application-specific integrated circuits ASIC (Application Specific Integrated Circuit).
  • FPGA Field Programmable Gate Array
  • ASIC Application Specific Integrated Circuit
  • the score calculation unit 151, the estimation unit 152, and the display generation unit 153 may be realized by a combination of different configurations, for example, a combination of the CPU 81, the ROM 82, the RAM 83, and an FPGA instead of the combination of the CPU 81, the ROM 82, and the RAM 83. .
  • the storage unit 84 is a non-volatile storage device such as a hard disk drive or flash memory. Most of the information stored in the storage unit 84 is created in advance, and only the score total information 105 is created by the score calculation unit 151 and the estimation unit 152 .
  • the input/output interface 85 may be a general-purpose communication interface, or may be a dedicated interface conforming to the specifications of the input device 2 and the output device 3 .
  • FIG. 3 is a diagram explaining the outline of the test analyzed by the analysis device 1.
  • FIG. A test to be analyzed in the present embodiment targets software. However, since not only the software itself but also the conditions incidental to the software affect the test, these are also included in the test items. Specifically, in the present embodiment, four components of the test target software Src, the test data Dat, the test script Ts, and the test environment Env are used. Although various conditions are different for each test, they all have in common that they combine four components: the software under test Src, the test data Dat, the test script Ts, and the test environment Env.
  • test target software Src test data Dat
  • test script Ts test environment Env
  • test environment Env may be referred to as "types" of components.
  • these components are conceptual, and concrete ones are used in practice.
  • the software under test Src includes a plurality of resources such as source codes and icons, which are updated according to the development status and the version number is changed.
  • the test target software Src is essentially the software to be tested.
  • the software under test Src is composed of, for example, one or more source codes.
  • the software under test Src includes two source codes, but the number of source codes may increase or decrease as the development progresses. Also, the version number of each source code is changed whenever the content is changed. That is, each test may have a different version of the source code or a different number of source codes.
  • the software under test Src may include, for example, statically linked libraries in addition to source code.
  • the test data Dat is data read by the test target software Src and the test script Ts during test execution, and is, for example, a combination of a variable name and its value.
  • the test data Dat is composed of one or more data. These data are prepared according to the software under test Src, and are, for example, text data, image data, voice data, or a combination thereof.
  • the test data Dat consists of one sample data. The version number of each data is changed every time the content is changed.
  • the test script Ts is a script file for executing the test target software Src and confirming the execution results without human intervention.
  • the test script Ts is, for example, a shell script or batch file.
  • the test script Ts consists of one script. Each script changes its version number whenever its contents change.
  • the test is called a "script" for the sake of convenience, but it is not essential to be a script, and the program itself may be used.
  • the test environment Env is the hardware used for testing, and the software used for testing, excluding the test target software Src.
  • the test environment Env consists of an OS and a hardware configuration. Those versions are updated whenever the test environment is changed or updated.
  • the version number is changed every time the configuration is changed, but instead of this, the name of the configuration may be changed. Details will be described later.
  • FIG. 4 is a diagram showing an example of the configuration information 100.
  • the configuration information 100 is information indicating the correspondence between the specific configuration of each of the test target software Src, the test data Dat, the test script Ts, and the test environment Env and the configuration ID. However, the configuration information 100 does not include the version number of each configuration. In other words, the configuration information 100 is information that can specify the conditions of each test by being combined with the version information of each configuration.
  • the configuration ID is a combination of "K” and a number. For example, if the configuration ID is "K1" in the software under test Src, it indicates that the software under test Src is composed of "initial operation source code" and "main processing source code".
  • test target software Src has a configuration ID of "K2”
  • test data Dat has a configuration ID of "K4"
  • test script Ts has a configuration ID of "K1”
  • test environment Env has a configuration ID of "K2”.
  • FIG. 5 is a diagram showing an example of the test case information 101.
  • the test case information 101 is information indicating the configuration of each test case.
  • the test case information 101 consists of a plurality of records, and each record includes fields of test case ID 1011 and configuration ID 1012 .
  • the test case ID 1011 stores the identifier of the test case.
  • a "test case" is a combination in which a configuration ID is designated for each of the test target software Src, test data Dat, test script Ts, and test environment Env that constitute the test.
  • test case ID is "TC1”
  • configuration "K1" of the software under test Src is a combination of
  • FIG. 6 is a diagram showing an example of the score calculation rule information 102.
  • the score calculation rule information 102 is information on rules for calculating failure cause scores.
  • the failure cause score is a score for specifying which of the test script Ts, the test data Dat, the test target software Src, and the test environment Env is the cause of the test failure.
  • a failure cause score is calculated for each test for each of the test script Ts, the test data Dat, the software under test Src, and the test environment Env. The initial value is zero, and the one with the highest score among the four is determined to be the cause of the test failure.
  • the score calculation rule information 102 consists of a plurality of records, and each record includes fields of a rule ID 1021, a conditional expression 1022, and an addition value 1023.
  • a rule ID 1021 is an identifier of a rule for calculating a score, and is represented by a combination of "R" and a number.
  • a conditional expression 1022 is a conditional expression for adding the score, and when the conditional expression is established, the value described in the addition value 1023 is added to each failure cause score. The added value 1023 indicates a value added to the failure cause score when the conditional expression is satisfied.
  • the conditional expression includes a function that is uniquely appropriate.
  • the function "IsChangedV” is a function that outputs whether a particular type of test configuration has changed from the first version to the second version.
  • the function “IsChangedV” outputs "true” if there is a change and "false” if there is no change.
  • the function “IsChangedV” has a first argument representing the type of test configuration, a second argument representing a numerical value indicating the first version, and a third argument representing a numerical value indicating the second version.
  • the numbers of the second and third arguments are integers, "1" or more is the specific version number itself, "0” is the current version, "-1” is the previous version, and "-2” is the previous version. version, and similarly, the larger the negative value, the older the version.
  • IsChangedV(Ts_x, -1,0) outputs whether or not the test script Ts has changed since the previous execution.
  • the third argument is set to "0" as a default argument. That is, "IsChangedV(Ts_x, -1)" and “IsChangedV(Ts_x, -1,0)" mean the same input.
  • FIG. 7 is a diagram showing an example of the change history information 103.
  • the change history information 103 is information indicating the change history of test components.
  • the change history information 103 is composed of a plurality of records, and each record has fields of type 1031 , configuration ID 1032 , version 1033 , and date and time of change 1034 .
  • the type 1031 is information indicating any one of the test target software Src, test data Dat, test script Ts, and test environment Env.
  • the configuration ID 1032 is one of the configuration IDs 1001 shown in the configuration information 100, which is information specifying the configuration.
  • the version 1033 is information specifying the version of the configuration.
  • the same configuration has the same version number in order to simplify the explanation, but the version number may be different even within the same configuration.
  • the information specifying each version number is version 1033 .
  • the date and time of change 1034 is the date and time when the version was changed.
  • the "automatic execution script" whose configuration ID of the test script Ts is "K1” has a version "1" of "February 3, 2021" in Japan time. It is shown that it was created at 4:05:32.
  • FIG. 8 is a diagram showing an example of the test execution information 104.
  • the test execution information 104 is information for managing the configuration of each test and the execution of the test. The test case above did not specify the configuration version, but the test execution information 104 also specifies the version.
  • the test execution information 104 consists of a plurality of records, each record having fields of test execution ID 1041 , test case ID 1042 , configuration ID and version 1043 , priority 1044 and test status 1045 .
  • the test execution ID 1041 is an identifier that identifies the test, and is represented by a combination of "E" and a number.
  • Test case ID 1042 is the same as test case ID 1011 in test case information 101 .
  • the configuration ID and version 1043 are the configuration ID and version number of each configuration for each of the test script Ts, test data Dat, software under test Src, and test environment Env. Specifically, it is a combination of the configuration ID 1011 in the test case information 101 and the version 1053 in the score total information 105 . Since the combination of the test case ID and the configuration ID is indicated in the test case information 101, the information of the test case information 101 and the test execution information 104 overlap in this respect.
  • the priority 1044 is the priority for executing tests.
  • the test identified by the test execution ID of the record whose priority 1044 is set to "high” is executed before the test identified by the test execution ID of the record whose priority 1044 is set to "low". be.
  • the test status 1045 is information indicating before and after test execution or test execution results.
  • the test states 1045 "successful” and “failed” indicate that the test has been executed, and the test state 1045 "not started” indicates that the test has not been executed.
  • a "successful” test state 1045 indicates that the executed test succeeded, and a "failed” test state 1045 indicates that the executed test failed.
  • the success of the test means that the execution result of the test target software Src was as intended by the developer.
  • a test failure means that the execution result of the test target software Src was not as intended by the developer.
  • FIG. 9 is a diagram showing an example of the score total information 105.
  • the score summary information 105 is a table showing the summary result of failure cause scores for each test and the presumed cause of failure.
  • Score total information 105 is generated by score calculator 151 and estimator 152 .
  • the score total information 105 consists of a plurality of records, and each record has fields of test execution ID 1051 , failure cause score 1052 , rule ID 1053 , and estimated failure cause 1054 .
  • the test execution ID 1051 is the same as the test execution ID 1041 of the test execution information 104 .
  • the failure cause score 1052 is a value calculated by the score calculator 151 based on the score calculation rule information 102 .
  • the rule ID 1053 is a list of rule IDs 1021 input by the score calculator 151 .
  • the estimated cause of failure 1054 is the cause of failure estimated by the estimation unit 152 .
  • FIG. 10 is a diagram showing an example of the name correspondence information 106.
  • the name correspondence information 106 is a correspondence table of codes and names, and specifically shows correspondence between the type ID of the test failure factor and the failure factor type, that is, the configuration type.
  • FIG. 11 is a diagram showing an output example to the output device 3.
  • FIG. Specifically, it shows an example of an analysis result for one test execution result.
  • the test execution ID shows the result of "E1”
  • the test execution ID and the ID of the test case in the test are shown at the top.
  • a list of failure factors, configuration IDs, versions, failure factors, scores, and rule IDs is displayed in the center of the screen.
  • the failure factor stores the name of each of the test script Ts, test data Dat, test target software Src, and test environment Env.
  • the configuration ID and version display the configuration ID and version of the target test, which is the test whose test execution ID is "E1" in this example.
  • “YES” is displayed for items that are presumed to be the cause of failure.
  • the score and rule ID display the failure cause score and the rule ID that contributed to the score value.
  • only the rule with the rule ID "R1" is applicable, and only the failure cause score of the test script Ts is added. Therefore, since the test script Ts has the highest score among the four, "YES" is displayed in the test script failure cause column. If there are multiple applicable rules, multiple rule IDs are entered in the rule ID column.
  • FIG. 12 is a flowchart showing the processing of the score calculation unit 151.
  • FIG. Execution of the processing of the score calculation unit 151 described below is started when execution of one or more tests is completed and one or more records of the test execution information 104 are completed. Also, in this case, the record of the test execution ID described in the test execution information 104 is not described in the score total information 105 . For example, three records E1 to E3 are recorded in the test execution information 104, and no information is recorded in the score total information 105, and the processing of the score calculation unit 151 described below is started.
  • step S301 the score calculation unit 151 adds a record to the score total information 105 and describes the test execution ID to be processed.
  • step S302 the score calculation unit 151 reads one record whose test status 1045 is "failed”. If there are multiple records whose test status 1045 is "failed", any one record that has not yet been read is read.
  • the record read in this step is hereinafter referred to as a "target test record”.
  • the score calculation unit 151 reads records with the usage flag 1024 of "TRUE" from the score calculation rule information 102. If there are a plurality of records with the use flag 1024 set to "TRUE", any one record that has not yet been read is read. Below, the record read in this step is called a "target rule record”. In subsequent step S304, the score calculation unit 151 executes score calculation processing using the target test record and the target rule record. Details of the score calculation process will be described later.
  • the score calculation unit 151 refers to the score calculation rule information 102 and determines whether or not there is a record with the usage flag 1024 of "TRUE” that is not set as the target rule record. If it is determined that another record with the usage flag 1024 of "TRUE” still exists, the process returns to step S303, and if it is determined that there is no other record with the usage flag 1024 of "TRUE", the process proceeds to step S306.
  • step S306 the score calculation unit 151 determines whether or not there is a record with the test status 1045 of "failed” that has not yet been set as the target test record. If it is determined that there are still other records with the test status 1045 of "failed”, the process returns to step S302, and if it is determined that there are no other records with the test status 1045 of "failed", the processing shown in FIG. 12 is terminated. do. For example, when the test execution information 104 has three records with the test status 1045 of "failed” and the score calculation rule information 102 has five records with the usage flag 1024 of "true", the score calculation process in step S304 is , the product of 3 and 5 is executed 15 times.
  • FIG. 13 is a flowchart explaining the details of step S304 in FIG. 12, that is, the score calculation process.
  • the score calculation unit 151 evaluates the conditional expression in the target rule record. Specifically, the score calculation unit 151 calculates the value of the conditional expression and determines whether the condition is met.
  • the score calculation unit 151 determines whether or not the conditions in the target rule record are satisfied according to the evaluation result in step S311. The score calculation unit 151 proceeds to step S313 when determining that the condition is satisfied, and terminates the processing shown in FIG. 13 when determining that the condition is not satisfied.
  • step S313 the score calculation unit 151 adds the rule ID 1021 of the target rule record to the rule ID 1053 of the record added in step S301 of FIG. However, it is not added to the cause of failure for which the additional value 1023 is zero.
  • the target test record is the record "E1" shown in the top of FIG. 7
  • the target rule record is the record "R1” shown in the top of FIG.
  • "R1" is entered only in the "Ts" column in the rule ID 1053 of the score total information 105, and is not entered in the other columns.
  • the score calculation unit 151 adds the additional value 1023 of the target rule record to the failure cause score 1052 of the score summary information 105, and ends the processing shown in FIG.
  • the value of the failure cause score 1052 is the value of the additional value 1023 of the applicable rule.
  • the estimation unit 152 describes the estimation failure cause 1054 for each record in the score total information 105 generated by the score calculation unit 151 . Specifically, the estimating unit 152 compares the values of the failure cause scores 1052 in each record of the score total information 105 and writes the name of the failure cause having the maximum value in the estimated failure cause 1054 . If there are multiple failure causes with the maximum value, the estimation unit 152 describes all of them in the estimated failure cause 1054 .
  • the display generation unit 153 refers to the test execution information 104 and the score total information 105 to generate the image of the display screen shown in FIG. First, the display generator 153 starts processing when the test execution ID of the test to be displayed is designated from the outside. The display generation unit 153 writes the designated test execution ID as, for example, "E1" on the upper right of the screen.
  • the display generation unit 153 identifies the record of the test execution information 104 corresponding to the specified test execution ID. Then, the values of the test case ID 1042, configuration ID and version 1043 described in the specified record are transcribed on the screen. Furthermore, the display generation unit 153 identifies a record of the score total information 105 corresponding to the designated test execution ID, and transcribes the values of the failure cause score 1052 and the rule ID 1053 on the screen. Finally, the display generation unit 153 writes "YES" in the failure cause column corresponding to the estimated failure cause 1054, and ends the process.
  • the analysis device 1 identifies the cause when the test of the test target software Src fails in the test environment Env, which is the environment for executing the test. In this test, execution of the software under test and confirmation of the execution result are executed by the test script Ts without human intervention.
  • the test data Dat is data read into the test target software Src and the test script Ts when the test is executed.
  • a score calculation unit 151 that calculates a failure cause score 1052 based on the presence or absence of change for each of the test target software Ts, the test data Dat, the test script Ts, and the test environment Env, and the test fails based on the failure cause score 1052.
  • an estimating unit 152 that identifies which one of the software under test Src, the test data Dat, the test script Ts, and the test environment Env is the cause of the error. Therefore, it is possible to identify which one of the test target software Src, the test data Dat, the test script Ts, and the test environment Env is the cause of the test failure.
  • a software test is performed for the purpose of improving the quality of the software under test Src, but it may fail due to other elements that constitute the test, that is, the test data Dat, the test script Ts, and the test environment Env. .
  • An expert who is familiar with all aspects of testing, including the test environment Env, can quickly identify the cause of a test failure, but it is not easy for an inexperienced person to identify the cause of a test failure. .
  • the analysis device 1 even a non-skilled person can easily identify the cause of a test failure, and the efficiency of software development can be improved.
  • the analysis device 1 stores the score calculation rule information 102 including a plurality of combinations of the conditional expression 1022 and the additional value 1023 of the failure cause score that is added when the conditional expression 1022 is satisfied.
  • the score calculator 151 calculates a failure cause score 1052 based on the score calculation rule information 102 .
  • Analysis device 1 includes display generation unit 153 that generates video information including failure cause score 1052 and rule ID 1053 that is information indicating a conditional expression used to calculate failure cause score 1052, such as that shown in FIG. , and an input/output interface 85 for outputting video information generated by the display generation unit 153 to the output device 3 . Therefore, the analysis device 1 can present the reason for specifying the cause of failure to the user.
  • Conditional expression 1022 relates to changes in detailed components, which are components of the software under test Src, test data Dat, test script Ts, and test environment Env. Therefore, the analysis device 1 can identify the cause of the failure using objective facts.
  • the analysis device 1 has been described as one hardware device. However, it may be configured as an analysis system in which a plurality of hardware devices share and realize functions similar to those of the analysis device 1 .
  • FIG. 14 to 31 A second embodiment of the analysis device will be described with reference to FIGS. 14 to 31.
  • FIG. 14 to 31 the same components as those in the first embodiment are assigned the same reference numerals, and differences are mainly described. Points that are not particularly described are the same as those in the first embodiment.
  • This embodiment differs from the first embodiment mainly in that score calculation rule information 102 is generated.
  • FIG. 14 is a functional configuration diagram of an analysis device 1A according to the second embodiment.
  • the analysis apparatus 1A according to the present embodiment further includes a rule generation unit 161, a test addition execution unit 162, a priority change unit 163, and a failure cause correction unit 164.
  • the storage unit M further stores element definition information 111, element related information 112, conditional expression initial values 113, detailed configuration information 114, and detailed related information 115.
  • FIG. The storage unit M stores extended test case information 101A instead of the test case information 101, score calculation extended rule information 102A instead of the score calculation rule information 102, and extended score Total information 105A is stored.
  • the operations of the score calculator 151A and the display generator 153A are different from those of the first embodiment.
  • configuration information 100 change history information 103, name correspondence information 106, element definition information 111, element related information 112, conditional expression initial values 113, detailed configuration information 114, and detailed related information 115 are created in advance. be.
  • Some records are added to the extended test case information 101A by the test addition execution unit 162 .
  • the score calculation extended rule information 102A is generated by the rule generator 161. FIG. However, some records may be recorded in advance in the score calculation expansion rule information 102A.
  • the test execution information 104 some records are written by the test addition execution unit 162 and priority levels 1044 of some records are written by the priority change unit 163 .
  • the extended score summary information 105A is written in some fields by the failure cause correction unit 164.
  • FIG. 15 is a diagram showing an example of extended test case information 101A.
  • a confirmation 1013 field is added to each record of the test case information 101 in the first embodiment. Confirmation 1013 indicates whether the computer or the operator will judge the results of the test. For test cases whose confirmation 101 is "automatic”, the test script Ts determines whether the result of the test is success or failure. For test cases whose confirmation 101 is "manual”, the operator determines whether the result of the test is success or failure.
  • FIG. 16 is a diagram showing an example of score calculation extended rule information 102A.
  • Score calculation extended rule information 102A is obtained by adding detailing state 1025 and reliability 1026 fields to each record of score calculation rule information 102 in the first embodiment.
  • Refinement state 1025 is rewritten in the process of creating detailed rules based on existing rules. Specifically, the detailing state 1025 transitions from the initial state of "not detailed” to the final state of “completion” through “refining” and "difference value not calculated”.
  • the reliability 1026 is a numerical value between 0 and 1.0 indicating the reliability of the rule, and the initial value is "1.0" indicating the highest reliability.
  • the extended score calculation rule information 102A includes the following conditional expression, which is not included in the kicking score calculation rule information 102 of the first embodiment.
  • the function "IsChangedT” is a function that outputs whether a particular type of test configuration has changed from a first time to a second time. Outputs "true” if there is a change, and outputs "false” if there is no change.
  • the function "IsChangedT" has a first argument representing the type of test configuration, a second argument representing a numerical value indicating a first time, and a third argument representing a numerical value indicating a second time.
  • the function "IsSuccess" has an argument as a conditional expression and outputs whether or not the evaluation result of the conditional expression of the argument is "true".
  • FIG. 17 is a diagram showing an example of extended score total information 105A.
  • the extended score total information 105A has a user input 1055 field added to each record of the score total information 105 in the first embodiment.
  • the user input 1055 is the test failure cause input by the user, and is any of test script Ts, test data Dat, test target software Src, and test environment Env. When the test is run, the probable cause of failure 1054 and/or user input 1055 fields are populated.
  • FIG. 18 is a diagram showing an example of the element definition information 111.
  • the element definition information 111 indicates element types subdivided according to the types of constituent elements. That is, at the beginning of the first embodiment, it was explained that each test consists of four components: test script Ts, test data Dat, test target software Src, and test environment Env. Element types are subdivided.
  • the element definition information 111 consists of a plurality of records, and each record has fields of type 1111 , element type 1112 , and configuration name 1113 .
  • the type 1111 indicates which type is the component of the test.
  • Element type 1112 is the type of subdivided configuration.
  • the configuration name 1113 is the name of the detailed configuration.
  • an element type is also called a "detailed component.”
  • Src is subdivided into interface SrcIf, constant/variable SrcV, processing logic SrcLogic, comment SrcCmt, and component SrcComp.
  • each type is subdivided into two or more configurations, but it is not essential to subdivide all types. good.
  • the element type is only a classification and does not indicate a specific configuration. Therefore, by combining an element type with an individual ID, it is associated with a specific configuration.
  • FIG. 19 is a diagram showing an example of the element-related information 112.
  • FIG. The element relation information 112 indicates relations between detailed configurations.
  • the element related information 112 consists of one or more records, and each record has fields of element A 1121, element B 1122, and relationship 1123.
  • FIG. Element A1121 and element B1122 show any detailed configuration.
  • Relationship 1123 indicates the relationship between element A 1121 and element B 1122 . In the example shown in the first record of FIG. 19, the relationship 1123 is "one way from A to B", so that changes in element A1121 affect element B1122, but changes in element B1122 do not affect element A1121. It is shown.
  • the relevance 1123 in the second record is "two-way", indicating that changing one affects the other. It should be noted that the elements A and B are for the sake of convenience, and the same thing can be said even if the elements A and B are interchanged in the first record and the relationship 1123 is set to the opposite direction "one direction from B to A”. do.
  • FIG. 20 is a diagram showing an example of the conditional expression initial value 113.
  • the conditional expression initial value 113 is an initial value read by the rule generation unit 161 to generate a plurality of conditional expressions 1022 .
  • the conditional expression initial value 113 consists of one or more records, each record including an initial expression ID 1131 and a conditional expression 1132 .
  • the initial formula ID 1131 is the identifier of the initial formula.
  • a conditional expression 1132 is an initial conditional expression. Although the details will be described later, the rule generation unit 161 uses the conditional expression 1132 to create various conditional expressions.
  • FIG. 21 is a diagram showing an example of the detailed configuration information 114.
  • the detailed configuration information 114 is information indicating the correspondence between the configuration ID for each configuration type and the specific configuration of the detailed configuration, that is, the combination of the element type and the individual ID.
  • the detailed configuration information 114 indicates the correspondence between the configuration 1141 and the detailed configuration 1142. Specifically, it indicates the correspondence between the configuration ID for each type and the combination of the element type and the individual ID.
  • FIG. 22 is a diagram showing an example of the detailed related information 115.
  • the detailed related information 115 is a relationship between specific configurations, and differs in specific points from the general correlation between the types shown in the element related information 112 .
  • the detailed related information 115 is composed of one or more records, and each record has fields of element X 1151 , element Y 1152 , relationship 1153 and similarity 1154 .
  • Element X1151 and element Y1152 are combinations of element types and individual IDs that identify specific configurations.
  • Relationship 1153 is the relationship between element X 1151 and element Y 1152 and is one of “similar,” “X depends on Y,” and "Y depends on X.”
  • the degree of similarity 1154 is the degree of similarity between the element X 1151 and the element Y 1152 and is represented by a value of 0-1. A value is set in the degree of similarity 1154 only when the relationship 1153 is “similar”.
  • FIG. 23 is a diagram showing an output example to the output device 3 by the display generation unit 153A. Specifically, it shows an analysis result for one test execution result and an example of input by the user.
  • the display generator 153 ⁇ /b>A performs the processing of the display generator 153 in the first embodiment, and further reflects the input operation by the user using the input device 2 to the output device 3 .
  • the difference from FIG. 10 in the first embodiment is that the failure cause column is subdivided into "calculation” and "user designation".
  • the cause of failure estimated by the estimation unit 152 as in the first embodiment is indicated by "YES" in the "calculation” column.
  • a value is entered in the "user specified" column by the user's input.
  • radio buttons are arranged as indicated by reference symbol G21, and the user can select only one of the four.
  • the value input by the user is input to the analysis device 1 as the value of the user input 1055 of the extended score total information 105A.
  • unselected items are represented by white circles, and selected items are represented by black circles.
  • step S341 the rule generation unit 161 reads the initial expression 113, transcribes all the conditional expressions 1132 to the column of the conditional expression 1022 of the score calculation extended rule information 102A, and creates the detailed state 1025, the reliability 1026, and the usage An initial value is set in the flag 1024 . Specifically, the detailing state 1025 is set to "not detailed”, the reliability 1026 is set to "1.0”, and the usage flag 1024 is set to "True", and the process proceeds to the next step S342.
  • the rule generating unit 161 arbitrarily selects one record whose detailing state 1025 is "not detailed” in the score calculation extended rule information 102A.
  • the record selected in step S342 is hereinafter referred to as a "refinement target record”.
  • the rule generation unit 161 changes the detailing state 1025 of the detailing target record selected in step S342 to "detailing”.
  • the rule generation unit 161 executes conditional expression addition processing, which will be described later, on the detailing target record. Change to Calculation.
  • step S346 the rule generation unit 161 determines whether or not there is a record in the extended score calculation rule information 102A with the detailing state 1025 of "not detailed”. If the rule generation unit 161 determines that there is still a record whose detailing state 1025 is "undetailed”, it returns to step S342, and there is no longer any record whose detailing state 1025 is "undetailed”. If so, the process proceeds to step S350 in FIG. 25 via the circled A.
  • step S350 of FIG. 25 the rule generation unit 161 arbitrarily selects one record whose detail state 1025 is "difference value not calculated" in the score calculation extended rule information 102A.
  • the record selected in step S342 is hereinafter referred to as a "difference target record”.
  • the rule generation unit 161 changes the detailing state 1025 of the difference target record to "detailing”.
  • the rule generation unit 161 executes the later-described difference geographic calculation for the difference target record, and in the subsequent step S345, the rule generation unit 161 changes the detailing state 1025 of the difference target record to "completed". do.
  • step S354 the rule generation unit 161 determines whether or not there is a record in the extended score calculation rule information 102A with the detailed state 1025 of "difference value not calculated". If the rule generation unit 161 determines that there is still a record with the detailing state 1025 of "difference value uncalculated", the process returns to step S350, and there are no more records with the detailing state 1025 of "difference value not calculated”. If it is determined that it does not exist, the process proceeds to step S355.
  • step S355 the rule generation unit 161 changes the usage flag 1024 of the record in which all four types of scores of the added value 1023 are less than a predetermined threshold value, for example, 0.5, to "False” in the score calculation extended rule information 102A.
  • the rule generation unit 161 changes the usage flag 1024 of the record whose reliability 1026 value is less than a predetermined threshold value, for example, 0.4 in the score calculation expansion rule information 102A to "False”, and changes the usage flag 1024 to "False”. Terminate the indicated process.
  • FIGS. 26 and 27 are flowcharts showing details of the process of step S344 in FIG. 24, that is, the conditional expression addition process. 26 and 27 are added to a new record in the Kakehi Suo extended rule information 102A, but the detailed state 1025 of this record is set to "completed” from the beginning. set. Also, the reliability 1026 is set to "1" and the usage flag 1024 is set to "True", as in the previous case.
  • step S361 the rule generation unit 161 determines whether or not the conditional expression in the refinement target record includes any of the superordinate concepts, ie, Ts, Dat, Src, and Env. If the rule generation unit 161 determines that any superordinate concept is included, the process proceeds to step S362, and if it determines that the rule generation unit 161 does not include any superordinate concept, the process proceeds to step S363.
  • step S362 the rule generation unit 161 refers to the element definition information 111, adds the conditional expression in which the superordinate concept is replaced by each subordinate concept to the new record of the score calculation extended rule information 102A, and proceeds to step S363.
  • the conditional expression of the detailing target record includes Src
  • five conditional expressions are added by replacing Src in the conditional expression with SrcIf, SrcV, SrcLogic, SrcCmt, and SrcComp.
  • the detailed state 1025 of the added record has an initial value, that is, the detailed state 1025 is "undetailed", the reliability 1026 is "1.0”, and the usage flag 1024 is "True". set.
  • step S363 the rule generation unit 161 determines whether the conditional expression in the refinement target record and the conditional expression added in step S362 include any of the element types included in the element related information 112. If the rule generating unit 161 determines that any of the element types included in the element related information 112 is included, the process proceeds to step S364. Proceed to FIG. 27 via circled B.
  • the element type paired with the element type determined to be included in the element related information 112 in step S363 is called a "correlation element". For example, if TsAs is included in either the conditional expression in the refinement target record or the conditional expression added in step S362, according to the example of FIG. called an element.
  • the rule generation unit 161 first determines in step 371 whether or not any of the conditional expressions in the refinement target record and the conditional expressions added in step S362 include time designation. If it is determined that any conditional expression includes time specification, the process proceeds to step S372, and if it is determined that none of the conditional expressions includes time specification, the process proceeds to step S373. In step S372, the rule generation unit 161 adds the conditional expression in which the time specified in the expression including the time specification is replaced with the complement to the new record of the extended score calculation rule information 102A, and proceeds to step S373.
  • step S373 the rule generation unit 161 determines whether any of the conditional expressions in the refinement target record and the conditional expressions added in step S362 include version designation. If it is determined that any conditional expression includes version specification, the process proceeds to step S374, and if it is determined that none of the conditional expressions includes version specification, the process proceeds to step S375. In step S374, the rule generation unit 161 adds the conditional expression in which the version specified in the expression including the version specification is replaced with the complement to the new record of the extended score calculation rule information 102A, and proceeds to step S375.
  • step S375 the rule generation unit 161 determines whether any of the conditional expressions in the refinement target record and the conditional expressions added in step S362 include time designation or version designation. If it is determined that any conditional expression includes time designation or version designation, the process proceeds to step S376, and if it is determined that none of the conditional expressions includes version designation, the processing shown in FIG. 27 ends.
  • FIG. 28 is a flowchart showing details of the difference value calculation process in step S352 of FIG.
  • the rule generation unit 161 initializes variables rTotal, rTs, rDat, rSrc, and rEnv to zero. These variables are counters used to count total cases, count Ts, count Dat, count Src, and count Env.
  • the rule generation unit 161 selects one record whose test status 1045 is "success" or "failure" from the test execution information 104. Below, the record selected in this step is called a "selected record”.
  • the rule generating unit 161 refers to the detailed configuration information 114, the detailed related information 115, and the change history information 103 as necessary to determine whether or not the conditions of the conditional expression in the selected record are satisfied. If the rule generation unit 161 determines that the conditional expression is satisfied, it proceeds to step S384, and if it determines that the conditional expression is not satisfied, it proceeds to step S386.
  • step S384 the rule generation unit 161 increases the value of the variable rTotal by "1”, and in subsequent step S385, the rule generation unit 161 generates the corresponding rTs, rDat, rSrc, and Any one value of rEnv is incremented by "1" and the process proceeds to step S386.
  • step S386 the rule generation unit 161 determines whether or not all records with the test status 1045 of "success" or "failure" have been selected. If it is determined that all records have been selected, the process proceeds to step S387, and if it is determined that there are records that have not been selected, the process returns to step S382.
  • step S387 the rule generation unit 161 divides each of rTs, rDat, rSrc, and rEnv by rTotal.
  • step S388 the rule generation unit 161 writes the calculation result of step S387 in each column of the added value 1023 of the score calculation expansion rule information 102A, and ends the difference value calculation process.
  • 29 and 30 are flowcharts showing the processing of the score calculation unit 151A in the second embodiment.
  • the difference from the processing shown in FIGS. 12 and 13 of the first embodiment is that processing is added between steps S303 and S304.
  • the process shown in FIG. 30 is performed via the circled C, and when those processes are completed, the process after step S304 is performed.
  • the score calculation unit 151A determines whether or not all the tests necessary for evaluating the conditional expression have been executed. When the score calculation unit 151A determines that all the tests have been executed, it ends the processing of FIG. 30 and returns to FIG. 29 to determine that even one test required for evaluating the conditional expression has not been completed. If so, the process proceeds to step S392. In step S392, the score calculation unit 151A determines whether or not there is a test that is necessary for evaluating the conditional expression but is not scheduled to be executed. If the score calculation unit 151A determines that there is a test that is not scheduled to be executed, the process proceeds to step S393, and if it determines that all necessary tests are scheduled to be performed, the process proceeds to step S394.
  • step S393 the score calculation unit 151A causes the test addition execution unit 162 to generate a test item for executing a test that is necessary for evaluating the conditional expression and is not scheduled to be executed, and proceeds to step S394. At this time, the test addition execution unit 162 adds a new record with the priority 1044 set to “high” to the test execution information 104 .
  • step S394 the score calculation unit 151A calls the test execution unit (not shown), waits for a predetermined waiting time, and then returns to step S391. The above is the description of the processing shown in FIG. Although the score calculation unit 151A calls the test execution unit in this flowchart, the test addition execution unit 162 may call the test execution unit.
  • the test execution unit executes the test according to the description of the test execution information 104. However, since the contents of the actual test execution are described in the corresponding test script Ts, the detailed description of the operation of the test execution unit will be omitted.
  • FIG. 31 is a flowchart showing the processing of the test addition execution unit 162.
  • step S401 the test addition execution unit 162 reads one record of which the test status 1045 is "not started” in the test execution information 104 in descending order of priority 1044.
  • FIG. The record read in this step is called an "execution record” in the following description of this flowchart.
  • step S402 the test addition execution unit 162 executes the corresponding test script in order to execute the test of the execution record read in step S401. For example, when a record having a test execution ID of "E3" in FIG. 7 is read, a test script having a configuration ID of "K2" and a version of "V1" is executed.
  • the test addition execution unit 162 refers to the extended test case information 101A and determines whether the value of the confirmation 1013 of the test to be executed is "automatic” or “manual”. If the test addition execution unit 162 determines that the confirmation 1013 is "automatic”, it proceeds to step S404, and if it determines that the confirmation 1013 is "manual”, it proceeds to step S405. In step S404, the test addition execution unit 162 records the test result output by the test script, that is, "success" or "failure” in the test status 1045 of the execution record in the test execution information 104, and proceeds to step S406.
  • step S405 the test addition execution unit 162 records the test result in the test status 1045 of the execution record in the test execution information 104 based on the user's input from the input device, and proceeds to step S406.
  • step S406 the test addition executing unit 162 determines whether or not there is a record whose test status 1045 is "not started”. The test addition executing unit 162 returns to step S401 if it determines that there is a "not started” record, and terminates the processing shown in FIG. 31 if it determines that there is no "not started” record.
  • the conditional expression 1022 is a change of the detailed component which is each component of the test target software Src, the test data Dat, the test script Ts, and the test environment Env, the dependency relationship between the detailed components, and the detailed configuration. It relates to similarity relationships between elements. Therefore, the analysis device 1 can identify the cause of the failure from multiple viewpoints.
  • the analysis device 1A calculates a new conditional expression by replacing each of the test target software Src, the test data Dat, the test script Ts, and the test environment Env in the conditional expression of the score calculation rule information with detailed components. It further includes a rule generator 161 added to the extended rule information 102A. This process is shown in steps S361-S362 of FIG. Therefore, unlike the first embodiment, the user does not have to prepare all the score calculation rule information 102 .
  • the rule generator 161 further adds new conditional expressions based on the relationships between the detailed components, as shown in S363-S365 of FIG. Therefore, unlike the first embodiment, the user does not have to prepare all the score calculation rule information 102 .
  • the rule generation unit 161 generates a new conditional expression by changing the time or version included in the conditional expression of the score calculation extended rule information 102A as shown in S371 to S376 of FIG. Add to 102A. Therefore, unlike the first embodiment, the user does not have to prepare all the score calculation rule information 102 .
  • the analysis apparatus 1A includes a test addition execution unit 162 that newly generates and executes test items necessary for evaluating the conditional expression 1022 . Therefore, additional tests necessary for evaluating conditional expressions can be performed.
  • the configuration of the functional blocks is merely an example. Some functional configurations shown as separate functional blocks may be configured integrally, or a configuration represented by one functional block diagram may be divided into two or more functions. Further, a configuration may be adopted in which part of the functions of each functional block is provided in another functional block.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

解析装置は、テストを実行する環境であるテスト環境において、テスト対象ソフトウエアのテストが失敗した際の原因を特定する解析装置であって、テストでは、テスト対象ソフトウエアの実行と実行結果の確認が、人が介入することなくテストスクリプトにより実行され、テストデータは、テストの実行時にテスト対象ソフトウエアおよびテストスクリプトに読み込まれるデータであり、テスト対象ソフトウエア、テストデータ、テストスクリプト、およびテスト環境のそれぞれについて、変更の有無に基づき失敗原因スコアを算出するスコア算出部と、失敗原因スコアに基づき、テストが失敗した原因が、テスト対象ソフトウエア、テストデータ、テストスクリプト、およびテスト環境のいずれであるかを推定する推定部と、を備える。

Description

解析装置、解析方法
 本発明は、解析装置、および解析方法に関する。
 ソフトウエアの品質を確保する重要性が増しており、不具合を発見するためのツールなども開発されている。特許文献1には、不具合管理ツールにおける成果物である不具合、構成管理ツールにおける成果物であるリビジョン、テスト管理ツールにおける成果物であるテスト項目について、前記テスト管理ツール、前記構成管理ツール、前記不具合管理ツールから、前記成果物毎にテスト結果を含む所定の管理ツールデータを入力し、前記不具合に関連する前記テスト結果が、失敗から成功または成功から失敗に変化するまでの期間を抽出する期間抽出部と、前記期間抽出部による抽出期間における前記成果物間の属性変化の関係を利用し、前記不具合と前記不具合に関係のある他の前記成果物との関連付けにおける関連候補の絞り込みを行う絞り込み処理部とを備える成果物の関連候補生成装置が開示されている。
日本国特開2015-69615号公報
 特許文献1に記載されている発明では、テストが失敗した原因を特定できない。
 本発明の第1の態様による解析装置は、テストを実行する環境であるテスト環境において、テスト対象ソフトウエアのテストが失敗した際の原因を特定する解析装置であって、前記テストでは、テスト対象ソフトウエアの実行と実行結果の確認が、人が介入することなくテストスクリプトにより実行され、テストデータは、前記テストの実行時に前記テスト対象ソフトウエアおよび前記テストスクリプトに読み込まれるデータであり、テスト対象ソフトウエア、テストデータ、テストスクリプト、およびテスト環境のそれぞれについて、変更の有無に基づき失敗原因スコアを算出するスコア算出部と、失敗原因スコアに基づき、前記テストが失敗した原因が、テスト対象ソフトウエア、テストデータ、テストスクリプト、およびテスト環境のいずれであるかを推定する推定部と、を備える。
 本発明の第2の態様による解析方法は、テストを実行する環境であるテスト環境において、テスト対象ソフトウエアのテストが失敗した際の原因をコンピュータが特定する解析方法であって、前記テストでは、テスト対象ソフトウエアの実行と実行結果の確認が、人が介入することなくテストスクリプトにより実行され、テストデータは、前記テストの実行時に前記テスト対象ソフトウエアおよび前記テストスクリプトに読み込まれるデータであり、テスト対象ソフトウエア、テストデータ、テストスクリプト、およびテスト環境のそれぞれについて、変更の有無に基づき失敗原因スコアを算出することと、失敗原因スコアに基づき、前記テストが失敗した原因が、テスト対象ソフトウエア、テストデータ、テストスクリプト、およびテスト環境のいずれであるかを推定することと、を含む。
 本発明によれば、テストが失敗した原因がテスト対象ソフトウエア、テストデータ、テストスクリプト、およびテスト環境のいずれであるかを特定できる。
第1の実施の形態における解析装置の機能構成図 解析装置のハードウエア構成図 解析装置が解析するテストの概要を説明する図 構成情報の一例を示す図 テストケース情報の一例を示す図 スコア計算ルール情報の一例を示す図 変更履歴情報の一例を示す図 テスト実行情報の一例を示す図 スコア集計情報の一例を示す図 名称対応情報の一例を示す図 出力装置への出力例を示す図 第1の実施の形態におけるスコア算出部の処理を示すフローチャート スコア算出処理の詳細を説明するフローチャート 第2の実施の形態における解析装置の機能構成図 拡張テストケース情報の一例を示す図 スコア計算拡張ルール情報の一例を示す図 拡張スコア集計情報の一例を示す図 要素定義情報の一例を示す図 要素関連情報の一例を示す図 条件式初期値の一例を示す図 詳細構成情報の一例を示す図 詳細関連情報の一例を示す図 表示生成部による出力装置への出力例を示す図 ルール生成部の処理を示すフローチャート ルール生成部の処理を示すフローチャート 条件式追加処理の詳細を示すフローチャート 条件式追加処理の詳細を示すフローチャート 差分値算出処理の詳細を示すフローチャート 第2の実施の形態におけるスコア算出部の処理を示すフローチャート 第2の実施の形態におけるスコア算出部の処理を示すフローチャート テスト追加実行部の処理を示すフローチャート
―第1の実施の形態―
 以下、図1~図13を参照して、本発明に係る解析装置の第1の実施の形態を説明する。
 図1は、ソフトウエアのテスト結果を解析する解析装置1の機能構成図である。解析装置1はその機能として、スコア算出部151と、推定部152と、表示生成部153と、を備える。解析装置1は記憶部84を備える。記憶部84には、テストケース情報101と、スコア計算ルール情報102と、変更履歴情報103と、テスト実行情報104と、スコア集計情報105と、名称対応情報106とが格納される。
 図2は、解析装置1のハードウエア構成図である。解析装置1は、中央演算装置であるCPU81と、読み出し専用の記憶装置であるROM82と、読み書き可能な記憶装置であるRAM83と、記憶部84と、入出力インタフェース85とを備える。解析装置1は、入出力インタフェース85を介して、入力装置2および出力装置3と接続される。入力装置2は、キーボードやマウスである。出力装置3は、映像を表示する装置、たとえば液晶ディスプレイである。ただし入力装置2と出力装置3が一体化されたタッチパネルなどを用いてもよい。入力装置2は、解析装置を使用する人間(以下では、「ユーザ」と呼ぶ)の入力を解析装置1に伝達する。出力装置3は、解析装置1が出力する情報をユーザに提示する。
 CPU81がROM82に格納されるプログラムをRAM83に展開して実行することでスコア算出部151、推定部152、および表示生成部153を実現する。ただし、CPU81、ROM82、およびRAM83の組み合わせの代わりに書き換え可能な論理回路であるFPGA(Field Programmable Gate Array)や特定用途向け集積回路であるASIC(Application Specific Integrated Circuit)によりスコア算出部151、推定部152、および表示生成部153が実現されてもよい。またスコア算出部151、推定部152、および表示生成部153は、CPU81、ROM82、およびRAM83の組み合わせの代わりに、異なる構成の組み合わせ、たとえばCPU81、ROM82、RAM83とFPGAの組み合わせにより実現されてもよい。
 記憶部84は不揮発性の記憶装置、たとえばハードディスクドライブやフラッシュメモリである。なお記憶部84に格納される情報のほとんどはあらかじめ作成されたものであり、スコア集計情報105のみがスコア算出部151および推定部152により作成される。入出力インタフェース85は、汎用の通信インタフェースでもよいし、入力装置2や出力装置3の仕様にあわせた専用のインタフェースでもよい。
 図3は、解析装置1が解析するテストの概要を説明する図である。本実施の形態において解析対象となるテストは、ソフトウエアを対象としている。ただしソフトウエアそのものだけでなく、ソフトウエアに付帯する条件もテストに影響を与えるため、これらもテスト項目に含める。具体的には本実施の形態では、テスト対象ソフトウエアSrc、テストデータDat、テストスクリプトTs、およびテスト環境Envの4つをテストの構成要素とする。テストごとに様々な条件が異なるが、テスト対象ソフトウエアSrc、テストデータDat、テストスクリプトTs、およびテスト環境Envの4つの構成要素が組み合わされる点は共通している。
 なお以下では、テスト対象ソフトウエアSrc、テストデータDat、テストスクリプトTs、およびテスト環境Envを構成要素の「種類」と呼ぶことがある。また、これらの構成要素は概念的なものであり、実際には具体的なものが用いられる。たとえばテスト対象ソフトウエアSrcには、複数のソースコードやアイコンなどのリソースが含まれ、それらは開発の状況に応じて更新されてバージョン番号が変更される。
 テスト対象ソフトウエアSrcは、本来的にテスト対象となるソフトウエアである。テスト対象ソフトウエアSrcはたとえば、1または複数のソースコードから構成される。図2に示す例では、テスト対象ソフトウエアSrcには2つのソースコードが含まれるが、開発の進行にともないソースコードの数が増減することがある。また、各ソースコードは内容が変更されるたびにバージョン番号が変更される。すなわち、テストごとにソースコードのバージョンが異なってもよいし、ソースコードの数が異なってもよい。テスト対象ソフトウエアSrcには、ソースコード以外にも、たとえば静的にリンクするライブラリが含まれてもよい。
 テストデータDatは、テスト実行時にテスト対象ソフトウエアSrcおよびテストスクリプトTsが読み込むデータであり、たとえば変数名とその値の組合せである。テストデータDatは、1または複数のデータから構成される。これらのデータはテスト対象ソフトウエアSrcに応じて用意されるものであり、たとえばテキストデータ、画像データ、音声データなど、またはこれらの組合せである。図2に示す例では、テストデータDatは1つのサンプルデータから構成される。各データは内容が変更されるたびにバージョン番号が変更される。
 テストスクリプトTsは、テストにおけるテスト対象ソフトウエアSrcの実行と実行結果の確認を、人が介入することなく実行するためのスクリプトファイルである。テストスクリプトTsはたとえば、シェルスクリプトやバッチファイルである。図2に示す例では、テストスクリプトTsは1つのスクリプトから構成される。各スクリプトは内容が変更されるたびにバージョン番号が変更される。なお本実施の形態では便宜的にテスト「スクリプト」と呼んでいるが、スクリプトであることは必須ではなく、プログラムそのものでもよい。
 テスト環境Envは、テストのために利用するハードウエア、およびテストのために利用するソフトウエアであってテスト対象ソフトウエアSrcを除くソフトウェアである。図2に示す例ではテスト環境Envは、OSとハードウエア構成の2つから構成される。テスト環境が変更または更新されるたびにそれらのバージョンが更新される。なお本図の説明において、構成が変更されるたびにバージョン番号が変更されると説明したが、この代わりに構成の名称を変更してもよい。詳しくは後述する。
 図4は、構成情報100の一例を示す図である。構成情報100は、テスト対象ソフトウエアSrc、テストデータDat、テストスクリプトTs、およびテスト環境Envのそれぞれの具体的な構成と、構成IDとの対応を示す情報である。ただし構成情報100には各構成のバージョン番号は含まれない。換言すると構成情報100は、各構成のバージョン情報と組み合わされることで、各テストの条件を特定できる情報である。本実施の形態では、構成IDは「K」と数字との組合せである。たとえばテスト対象ソフトウエアSrcにおいて構成IDが「K1」の場合は、テスト対象ソフトウエアSrcが「初期演算ソースコード」と「メイン処理ソースコード」の2つから構成されることが示されている。
 なお図4では、作図の都合によりテスト対象ソフトウエアSrc、テストデータDat、テストスクリプトTs、およびテスト環境Envの4つをまとめて記載しているが、それぞれの構成IDは独立している。たとえばあるテストにおいて、テスト対象ソフトウエアSrcは構成IDが「K2」、テストデータDatは構成IDが「K4」、テストスクリプトTsは構成IDが「K1」、テスト環境Envは構成IDが「K2」という組合せでもよい。
 図5は、テストケース情報101の一例を示す図である。テストケース情報101は、テストケースごとの構成を示す情報である。テストケース情報101は複数のレコードから構成され、各レコードはテストケースID1011と、構成ID1012と、のフィールドを含む。テストケースID1011には、テストケースの識別子が格納される。本実施の形態において「テストケース」とは、テストを構成するテスト対象ソフトウエアSrc、テストデータDat、テストスクリプトTs、およびテスト環境Envのそれぞれについて構成IDを指定した組合せである。たとえばテストケースIDが「TC1」は、テスト対象ソフトウエアSrcの構成「K1」と、テストデータDatの構成「K1」と、テストスクリプトTsの構成「K1」と、テスト環境Envの構成「K1」と、の組合せである。
 図6は、スコア計算ルール情報102の一例を示す図である。スコア計算ルール情報102は、失敗原因スコアを計算するルールに関する情報である。失敗原因スコアとは、テストが失敗した原因が、テストスクリプトTs、テストデータDat、テスト対象ソフトウエアSrc、およびテスト環境Envのいずれにあるのかを特定するためのスコアである。失敗原因スコアは、テストスクリプトTs、テストデータDat、テスト対象ソフトウエアSrc、およびテスト環境Envのそれぞれに対してテストごとに算出される。初期値はゼロであり、4つのうちスコアが最も大きいものがテスト失敗の原因と判断される。
 スコア計算ルール情報102は複数のレコードから構成され、各レコードはルールID1021と、条件式1022と、加算値1023と、のフィールドを含む。ルールID1021は、スコアを算出するルールの識別子であり、「R」と数字の組合せで表される。条件式1022はスコアを加算する条件式であり、条件式が成り立つ場合に加算値1023に記載の値がそれぞれの失敗原因スコアに加算される。加算値1023は、条件式が成立する場合に失敗原因スコアに加算される値を示している。
 条件式は独自に適宜された関数が含まれる。関数「IsChangedV」は、テスト構成の特定の種類が第1のバージョンから第2のバージョンまでに変化があるか否かを出力する関数である。関数「IsChangedV」は、変化がある場合には「true」を出力し、変化がない場合には「false」を出力する。関数「IsChangedV」は、第1引数がテスト構成の種類を表し、第2引数が第1のバージョンを示す数値を表し、第3引数が第2のバージョンを示す数値を表す。第2引数および第3引数の数値は整数であり、「1」以上は特定のバージョン番号そのもの、「0」が現在のバージョン、「-1」が前回のバージョン、「-2」が2回前のバージョン、以下同様にマイナスの値が大きいほど過去のバージョンを意味する。
 たとえば「IsChangedV(Ts_x, -1,0)」は、前回の実行時から今回までにテストスクリプトTsに変化があるか否かを出力する。ただし第3引数はデフォルト引数として「0」が設定されている。すなわち「IsChangedV(Ts_x, -1)」と「IsChangedV(Ts_x, -1,0)」とは同じ入力を意味する。
 図7は、変更履歴情報103の一例を示す図である。変更履歴情報103は、テストの構成物の変更履歴を示す情報である。変更履歴情報103は複数のレコードから構成され、各レコードは、種類1031と、構成ID1032と、バージョン1033と、変更日時1034と、のフィールドを有する。種類1031は、テスト対象ソフトウエアSrc、テストデータDat、テストスクリプトTs、およびテスト環境Envのいずれかを示す情報である。構成ID1032は、構成を特定する情報である、構成情報100において示した構成ID1001のいずれかである。バージョン1033は、構成のバージョンを特定する情報である。
 なお本実施の形態では説明を簡潔にするために同一の構成ではバージョン番号が同一とするが、同一構成内でもバージョン番号が異なってもよい。その場合にはそれぞれのバージョン番号を指定する情報がバージョン1033となる。変更日時1034は、バージョンが変更された日時である。図3の例を前提とする図6の例によれば、テストスクリプトTsの構成IDが「K1」である「自動実行スクリプト」は、バージョン「1」が日本時間の「2021年2月3日 4時5分32秒」に作成されたことが示されている。
 図8は、テスト実行情報104の一例を示す図である。テスト実行情報104は、各テストの構成およびテストの実行を管理する情報である。前述のテストケースは、構成のバージョンを特定していなかったが、テスト実行情報104ではバージョンも特定されている。テスト実行情報104は複数のレコードから構成され、各レコードは、テスト実行ID1041、テストケースID1042、構成IDとバージョン1043、優先度1044、およびテスト状態1045のフィールドを有する。
 テスト実行ID1041は、テストを気別する識別子であり、「E」と数字の組合せで表される。テストケースID1042は、テストケース情報101におけるテストケースID1011と同一である。構成IDとバージョン1043は、テストスクリプトTs、テストデータDat、テスト対象ソフトウエアSrc、およびテスト環境Envのそれぞれについての、各構成の構成IDおよびバージョン番号である。具体的には、テストケース情報101における構成ID1011と、スコア集計情報105におけるバージョン1053との組合せである。なおテストケースIDと、構成IDとの組合せはテストケース情報101に示されているので、この点でテストケース情報101とテスト実行情報104の情報は重複している。
 優先度1044は、テストを実行する優先度である。優先度1044が「高」に設定されたレコードのテスト実行IDにより特定されるテストは、優先度1044が「低」に設定されたレコードのテスト実行IDにより特定されるテストよりも先に実行される。
 テスト状態1045は、テストの実行前後、またはテストの実行結果を示す情報である。図8に示す例では、テスト状態1045の「成功」および「失敗」はテストを実行済みであることを示し、テスト状態1045の「未開始」はテストを実行していないことを示す。テスト状態1045の「成功」は実行済みのテストが成功したことを示し、テスト状態1045の「失敗」は実行済みのテストが失敗したことを示す。本実施の形態においてテストの成功とは、テスト対象ソフトウエアSrcの実行結果が開発者の意図したとおりであったことを意味する。本実施の形態においてテストの失敗とは、テスト対象ソフトウエアSrcの実行結果が開発者の意図したとおりではなかったことを意味する。
 図9は、スコア集計情報105の一例を示す図である。スコア集計情報105は、テストごとの失敗原因スコアの集計結果および推定される失敗の原因を示す表である。スコア集計情報105は、スコア算出部151および推定部152により生成される。スコア集計情報105は複数のレコードから構成され、各レコードは、テスト実行ID1051、失敗原因スコア1052、ルールID1053、および推定失敗原因1054のフィールドを有する。テスト実行ID1051は、テスト実行情報104のテスト実行ID1041と同一である。失敗原因スコア1052は、スコア計算ルール情報102に基づきスコア算出部151により算出される値である。ルールID1053は、スコア算出部151により入力されるルールID1021の列挙である。推定失敗原因1054は、推定部152により推定される失敗の原因である。
 図10は、名称対応情報106の一例を示す図である。名称対応情報106は、符号と名称の対応表であり、具体的にはテスト失敗要因の種類IDと、失敗要因種類、すなわち構成の種類との対応を示す。
 図11は、出力装置3への出力例を示す図である。具体的には、ある1つのテスト実行結果に対する解析結果の一例を示している。図11に示す例では、テスト実行IDが「E1」の結果を示しており、上部にはテスト実行IDと、そのテストにおけるテストケースのIDが示される。画面中央には、失敗要因、構成ID、バージョン、失敗原因、スコア、およびルールIDの一覧表が表示される。失敗要因には、テストスクリプトTs、テストデータDat、テスト対象ソフトウエアSrc、およびテスト環境Envのそれぞれの名称が格納される。構成IDおよびバージョンには、対象となるテスト、この例ではテスト実行IDが「E1」のテストにおける構成IDとバージョンが表示される。
 失敗原因には、失敗の原因と推定される項目に「YES」が表示される。スコアおよびルールIDには、失敗原因スコアと、そのスコア値の要因となったルールIDが表示される。図11に示す例では、ルールIDが「R1」のルールのみが該当し、テストスクリプトTsの失敗原因スコアのみに加算がされた。そのため4つのうち最もスコアタが高いのはテストスクリプトTsなので、テストスクリプトの失敗原因の欄に「YES」が表示されている。なお、適用されるルールが複数存在する場合にはルールIDの欄には複数のルールIDが記載される。
 図12は、スコア算出部151の処理を示すフローチャートである。以下に説明するスコア算出部151の処理は、1つ以上のテストの実行が完了し、テスト実行情報104の1つ以上のレコードが完成している状態で実行が開始される。またこの場合に、スコア集計情報105にはテスト実行情報104に記載されているテスト実行IDのレコードは記載されていない。たとえばテスト実行情報104にはE1~E3の3つのレコードが記録され、スコア集計情報105には何ら情報が記録されていない状態で以下に説明するスコア算出部151の処理が開始される。
 ステップS301ではスコア算出部151は、スコア集計情報105にレコードを追加し、処理対象とするテスト実行IDを記載する。続くステップS302ではスコア算出部151は、テスト状態1045が「失敗」のレコードを1つ読み込む。テスト状態1045が「失敗」のレコードが複数存在する場合には、まだ読み込んでいないいずれか1つのレコードを読み込む。以下では、本ステップにおいて読み込んだレコードを「対象テストレコード」と呼ぶ。
 続くステップS303ではスコア算出部151は、スコア計算ルール情報102から利用フラグ1024が「TRUE」のレコードを読み込む。利用フラグ1024が「TRUE」のレコードが複数存在する場合には、まだ読み込んでいないいずれか1つのレコードを読み込む。以下では、本ステップにおいて読み込んだレコードを「対象ルールレコード」と呼ぶ。続くステップS304ではスコア算出部151は、対象テストレコードおよび対象ルールレコードを用いて、スコア算出処理を実行する。スコア算出処理の詳細は後述する。
 続くステップS305ではスコア算出部151は、スコア計算ルール情報102を参照し、また対象ルールレコードとしていない利用フラグ1024が「TRUE」のレコードが存在するか否かを判断する。利用フラグ1024が「TRUE」のレコードがまだ他に存在すると判断する場合はステップS303に戻り、利用フラグ1024が「TRUE」のレコードはもう他に存在しないと判断する場合はステップS306に進む。
 ステップS306ではスコア算出部151は、まだ対象テストレコードとしていないテスト状態1045が「失敗」のレコードが存在するか否かを判断する。テスト状態1045が「失敗」のレコードがまだ他に存在すると判断する場合はステップS302に戻り、テスト状態1045が「失敗」のレコードが他に存在しないと判断する場合は図12に示す処理を終了する。たとえばテスト実行情報104にテスト状態1045が「失敗」のレコードが3つあり、スコア計算ルール情報102に利用フラグ1024が「True」のレコードが5つある場合には、ステップS304のスコア算出処理は、3と5の積で15回実行される。
 図13は、図12におけるステップS304、すなわちスコア算出処理の詳細を説明するフローチャートである。ステップS311ではスコア算出部151は、対象ルールレコードにおける条件式を評価する。具体的にはスコア算出部151は、条件式の値を算出して条件の成否を判断する。続くステップS312ではスコア算出部151は、ステップS311における評価の結果に従い、対象ルールレコードにおける条件を満たすか否かを判断する。スコア算出部151は、条件を満たすと判断する場合はステップS313に進み、条件を満たさないと判断する場合は図13に示す処理を終了する。
 ステップS313ではスコア算出部151は、スコア集計情報105における図12のステップS301で追加したレコードのルールID1053に、対象ルールレコードのルールID1021を追加する。ただし加算値1023がゼロの失敗原因には追加しない。たとえば、対象テストレコードが図7の最上段に示す「E1」のレコードで、対象ルールレコードが図5の最上段に示す「R1」のレコードの場合には、テストスクリプトTs以外は値がゼロなので、スコア集計情報105のルールID1053には「Ts」の欄のみ「R1」を記載し、他の欄には記載しない。
 続くステップS314ではスコア算出部151は、スコア集計情報105の失敗原因スコア1052に対象ルールレコードの加算値1023を失敗原因スコア1052に加算して図13に示す処理を終了する。ただしスコアの初期値はゼロなので、1つのルールしか該当しない場合には、失敗原因スコア1052の値は該当するルールの加算値1023の値そのものになる。スコア算出部151による処理が完了すると、スコア集計情報105の各レコードは、テスト実行ID1051、失敗原因スコア1052、およびルールID1053が記載された状態になり、推定失敗原因1054は空欄のままとなる。
 推定部152は、スコア算出部151が生成したスコア集計情報105の各レコードの推定失敗原因1054を記載する。具体的には推定部152はスコア集計情報105の各レコードにおいて失敗原因スコア1052の値を比較し、最大の値を有する失敗原因の名称を推定失敗原因1054に記載する。最大の値を有する失敗原因が複数存在する場合には、推定部152はそれらすべてを推定失敗原因1054に記載する。
 表示生成部153は、テスト実行情報104、およびスコア集計情報105を参照して図11に示した表示画面の映像を生成して入出力インタフェース85に出力する。まず表示生成部153は、表示対象とするテストのテスト実行IDが外部から指定されて処理が開始される。表示生成部153は、指定されたテスト実行IDを画面右上に、たとえば「E1」と記載する。
 次に表示生成部153は、指定されたテスト実行IDに対応するテスト実行情報104のレコードを特定する。そして特定されたレコードに記載されたテストケースID1042、および構成IDとバージョン1043の値を画面に転記する。さらに表示生成部153は、指定されたテスト実行IDに対応する、スコア集計情報105のレコードを特定し、失敗原因スコア1052およびルールID1053の値を画面に転記する。最後に表示生成部153は、推定失敗原因1054に対応する失敗原因の欄に「YES」を記載して処理を終了する。
 上述した第1の実施の形態によれば、次の作用効果が得られる。
(1)解析装置1は、テストを実行する環境であるテスト環境Envにおいて、テスト対象ソフトウエアSrcのテストが失敗した際の原因を特定する。このテストでは、テスト対象ソフトウエアの実行と実行結果の確認が、人が介入することなくテストスクリプトTsにより実行される。テストデータDatは、テストの実行時にテスト対象ソフトウエアSrcおよびテストスクリプトTsに読み込まれるデータである。テスト対象ソフトウエアTs、テストデータDat、テストスクリプトTs、およびテスト環境Envのそれぞれについて、変更の有無に基づき失敗原因スコア1052を算出するスコア算出部151と、失敗原因スコア1052に基づき、テストが失敗した原因が、テスト対象ソフトウエアSrc、テストデータDat、テストスクリプトTs、およびテスト環境Envのいずれであるかを特定する推定部152と、を備える。そのため、テストが失敗した原因がテスト対象ソフトウエアSrc、テストデータDat、テストスクリプトTs、およびテスト環境Envのいずれであるかを特定することができる。
 ソフトウエアのテストは、テスト対象ソフトウエアSrcの品質向上を目的として行われるが、テストを構成する他の要素、すなわちテストデータDat、テストスクリプトTs、およびテスト環境Envが原因で失敗することがある。テスト環境Envなどを含めたテストの全般に詳しい熟練者ならば、テストが失敗した原因を早期に突き止めることができるが、経験の浅い者にはテストが失敗した原因を特定することが容易ではない。しかし解析装置1を用いることで、熟練者以外でもテストが失敗した原因を容易に特定でき、ソフトウエア開発の効率を向上できる。
(2)解析装置1は、条件式1022と、条件式1022に該当した場合に加算される失敗原因スコアの加算値1023との組合せを複数含むスコア計算ルール情報102が格納される記憶部84を備える。スコア算出部151は、スコア計算ルール情報102に基づき失敗原因スコア1052を算出する。解析装置1は、失敗原因スコア1052および失敗原因スコア1052の算出に用いられた条件式を示す情報であるルールID1053を含む映像情報、たとえば図11に示したもの、を生成する表示生成部153と、表示生成部153が生成する映像情報を出力装置3に出力する入出力インタフェース85と、を備える。そのため解析装置1は、ユーザに失敗原因を特定した理由を提示できる。
(3)条件式1022は、テスト対象ソフトウエアSrc、テストデータDat、テストスクリプトTs、およびテスト環境Envのそれぞれの構成要素である詳細構成要素の変更に関するものである。そのため解析装置1は、客観的な事実を用いて失敗の原因を特定できる。
(変形例1)
 上述した第1の実施の形態では、解析装置1は1つのハードウエア装置として説明した。しかし、解析装置1と同様の機能を複数のハードウエア装置が分担して実現する、解析システムとして構成されてもよい。
―第2の実施の形態―
 図14~図31を参照して、解析装置の第2の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、スコア計算ルール情報102を生成する点で、第1の実施の形態と異なる。
 図14は第2の実施の形態における解析装置1Aの機能構成図である。本実施の形態における解析装置1Aは、第1の実施の形態の構成に加えて、ルール生成部161と、テスト追加実行部162と、優先度変更部163と、失敗原因修正部164とをさらに備える。また記憶部Mには、要素定義情報111と、要素関連情報112と、条件式初期値113と、詳細構成情報114と、詳細関連情報115とがさらに格納される。また記憶部Mには、テストケース情報101の代わりに拡張テストケース情報101Aが格納され、スコア計算ルール情報102の代わりにスコア計算拡張ルール情報102Aが格納され、スコア集計情報105の代わりに拡張スコア集計情報105Aが格納される。さらに、スコア算出部151Aおよび表示生成部153Aの動作が第1の実施の形態と異なる。
 第1の実施の形態では、記憶部84に格納される情報のほとんどがあらかじめ作成されていたが、本実施の形態ではこの限りではない。本実施の形態では、構成情報100、変更履歴情報103、名称対応情報106、要素定義情報111、要素関連情報112、条件式初期値113、詳細構成情報114、および詳細関連情報115があらかじめ作成される。拡張テストケース情報101Aは、一部のレコードがテスト追加実行部162により追加される。スコア計算拡張ルール情報102Aは、ルール生成部161により生成される。ただしスコア計算拡張ルール情報102Aにあらかじめいくつかのレコードが記録されていてもよい。テスト実行情報104は、一部のレコードがテスト追加実行部162により書き込まれ、一部のレコードの優先度1044が優先度変更部163により書き込まれる。拡張スコア集計情報105Aは、失敗原因修正部164により一部のフィールドに書き込まれる。
 図15は、拡張テストケース情報101Aの一例を示す図である。拡張テストケース情報101Aは、第1の実施の形態におけるテストケース情報101の各レコードに、確認1013のフィールドが追加されている。確認1013はテストの結果をコンピュータとオペレータのいずれが判断するかを示す。確認101が「自動」であるテストケースは、テストスクリプトTsによりテストの結果が成功および失敗のいずれであるかが判断される。確認101が「手動」であるテストケースは、オペレータによりテストの結果が成功および失敗のいずれであるかが判断される。
 図16は、スコア計算拡張ルール情報102Aの一例を示す図である。スコア計算拡張ルール情報102Aは、第1の実施の形態におけるスコア計算ルール情報102の各レコードに、詳細化状態1025および信頼度1026のフィールドが追加されている。詳細化状態1025は、既存のルールをもとに詳細なルールを作成する過程で書き換えられる。具体的には詳細化状態1025は、初期状態の「未詳細化」から、「詳細化中」および「差分値未計算」を経て、最終の「完了」に遷移する。信頼度1026は、ルールの信頼性を示す0~1.0の数値であり、初期値は最も信頼が高いことを示す「1.0」である。
 スコア計算拡張ルール情報102Aには、第1の実施の形態の蹴るスコア計算ルール情報102にはない、以下の条件式が含まれる。関数「IsChangedT」は、テスト構成の特定の種類が第1の時刻から第2の時刻までに変化があるか否かを出力する関数である。変化がある場合には「true」を出力し、変化がない場合には「false」を出力する。関数「IsChangedT」は、第1引数がテスト構成の種類を表し、第2引数が第1の時刻を示す数値を表し、第3引数が第2の時刻を示す数値を表す。関数「IsSuccess」は、引数が条件式であり、引数の条件式の評価結果が「true」であるか否かを出力する。
 図17は、拡張スコア集計情報105Aの一例を示す図である。拡張スコア集計情報105Aは、第1の実施の形態におけるスコア集計情報105の各レコードに、ユーザ入力1055のフィールドが追加されている。ユーザ入力1055は、ユーザが入力したテストの失敗原因であり、テストスクリプトTs、テストデータDat、テスト対象ソフトウエアSrc、およびテスト環境Envのいずれかである。テストが実行されると、推定失敗原因1054とユーザ入力1055の少なくとも一方のフィールドが入力される。
 図18は、要素定義情報111の一例を示す図である。要素定義情報111は、構成要素の種類ごとに分類を細分化した要素種類を示す。すなわち、第1の実施の形態の冒頭において各テストは、テストスクリプトTs、テストデータDat、テスト対象ソフトウエアSrc、およびテスト環境Envの4つの構成要素からなると説明したが、各構成要素の種類を細分化したのが要素種類である。要素定義情報111は複数のレコードから構成され、各レコードは種類1111、要素種類1112、および構成名称1113のフィールドを有する。種類1111は、テストの構成要素であるいずれの種類であるかを示す。要素種類1112は、細分化された構成の種類である。構成名称1113は、詳細構成の名称である。なお以下では、要素種類を「詳細構成要素」とも呼ぶ。
 この図18に示す例では、Srcは、インタフェースであるSrcIfと、定数・変数SrcVと、処理ロジックSrcLogicと、コメントSrcCmtと、コンポーネントSrcCompに細分化されることが示されている。なお図18に示す例ではいずれの種類も2つ以上の構成に細分化されているが、全ての種類を細分化することは必須の構成ではなく少なくとも1つの種類の構成が細分化されればよい。なお詳しくは後述するが、要素種類も分類にすぎず具体的な構成を示すものではない。そのため、要素種類に個別IDを組み合わせることで具体的な構成と対応付ける。
 図19は、要素関連情報112の一例を示す図である。要素関連情報112は、詳細構成同士の関連を示す。要素関連情報112は1以上のレコードから構成され、各レコードは要素A1121、要素B1122、および関連性1123のフィールドを有する。要素A1121および要素B1122は、いずれかの詳細構成を示す。関連性1123は、要素A1121と要素B1122との関係を示す。図19の最初のレコードに示す例では、関連性1123は「AからBへの一方向」なので、要素A1121の変更が要素B1122に影響するが、要素B1122の変更は要素A1121には影響しないことが示されている。
 2番目のレコードにおける関連性1123は「双方向」なので、いずれを変更しても他方に影響があることが示されている。なお要素Aと要素Bは便宜的なものであり、最初のレコードにおいて要素Aと要素Bとを入れ替えて、関連性1123を逆方向の「BからAへの一方向」としても同じことを意味する。
 図20は、条件式初期値113の一例を示す図である。条件式初期値113は、ルール生成部161が読み込んで、複数の条件式1022を生成するための初期値である。条件式初期値113は1以上のレコードから構成され、各レコードは初期式ID1131と条件式1132とを含む。初期式ID1131は、初期式の識別子である。条件式1132は、初期の条件式である。詳しくは後述するが、ルール生成部161がこの条件式1132を用いて様々な条件式を作成する。
 図21は、詳細構成情報114の一例を示す図である。詳細構成情報114は、構成の種類ごとの構成IDと、詳細構成の具体的な構成、すなわち要素種類と個別IDの組合せとの対応を示す情報である。要素定義情報111においてテストの構成の種類ごとに詳細な分類を説明したが、それらはあくまで分類であり具体的な構成ではない。そのため本実施の形態では、要素種類と個別IDとを組み合わせることで具体的な構成と対応付ける。詳細構成情報114は、構成1141と詳細構成1142との対応を示しており、具体的には種類ごとの構成IDと、要素種類および個別IDの組合せとの対応を示している。
 図22は、詳細関連情報115の一例を示す図である。詳細関連情報115は、具体的な構成同士の関連であり、要素関連情報112に示される種別同士の一般的な相関よりも具体的な点が異なる。詳細関連情報115は1以上のレコードから構成され、各レコードは要素X1151、要素Y1152、関係1153、および類似度1154のフィールドを有する。要素X1151および要素Y1152は、具体的な構成を特定する、要素種類と個別IDとの組合せである。関係1153は要素X1151と要素Y1152の関係であり、「類似」、「XがYに依存」、および「YがXに依存」のいずれかである。類似度1154は、要素X1151と要素Y1152とが類似する度合いであり、0~1の値で表される。なお、関係1153が「類似」の場合のみ類似度1154に値が設定される。
 図23は、表示生成部153Aによる出力装置3への出力例を示す図である。具体的には、ある1つのテスト実行結果に対する解析結果と、ユーザによる入力の一例を示している。表示生成部153Aは、第1の実施の形態における表示生成部153の処理を行い、さらにユーザによる入力装置2を用いた入力操作を出力装置3に反映させる。第1の実施の形態における図10との相違点は、失敗原因の欄が「計算」と「ユーザ指定」とに細分化されたことである。「計算」と「ユーザ指定」のうち、「計算」の欄には第1の実施の形態と同様に推定部152が推定した失敗の原因が「YES」で示される。「ユーザ指定」の欄にはユーザの入力により値が入力される。
 「ユーザ指定」の欄は、たとえば符号G21で示すようにラジオボタンが配置され、4つのうち1つのみをユーザは選択できる。ユーザがいずれかを選択した後で、符号G22で示すボタンを選択することにより、ユーザが入力した値が解析装置1に拡張スコア集計情報105Aのユーザ入力1055の値として入力される。図23に示す例では、未選択が白丸で表され、選択が黒丸で表されている。
 図24および図25は、ルール生成部161の処理を示すフローチャートである。ルール生成部161が処理を開始する時点では、スコア計算拡張ルール情報102Aにはいくつかのレコードが存在してもよいし、一切のレコードが存在しなくてもよい。ルール生成部161はまずステップS341において、初期式113を読み込んで、全ての条件式1132をスコア計算拡張ルール情報102Aの条件式1022の欄に転記し、詳細化状態1025、信頼度1026、および利用フラグ1024に初期値を設定する。具体的には、詳細化状態1025には「未詳細化」、信頼度1026には「1.0」、利用フラグ1024には「True」を設定して次のステップS342に進む。
 続くステップS342ではルール生成部161は、スコア計算拡張ルール情報102Aにおいて詳細化状態1025が「未詳細化」であるレコードを任意に1つ選択する。以下では、ステップS342において選択したレコードを「詳細化対象レコード」と呼ぶ。続くステップS343ではルール生成部161は、ステップS342において選択した詳細化対象レコードの詳細化状態1025を「詳細化中」に変更する。続くステップS344ではルール生成部161は、詳細化対象レコードを対象に後述する条件式追加処理を実行し、続くステップS345ではルール生成部161は、処理対象レコードの詳細化状態1025を「差分値未計算」に変更する。
 続くステップS346ではルール生成部161は、スコア計算拡張ルール情報102Aに詳細化状態1025が「未詳細化」であるレコードが存在するか否かを判断する。ルール生成部161は、詳細化状態1025が「未詳細化」であるレコードがまだ存在すると判断する場合にはステップS342に戻り、詳細化状態1025が「未詳細化」であるレコードはもう存在しないと判断する場合は丸囲みのAを経由して図25のステップS350に進む。
 図25のステップS350ではルール生成部161は、スコア計算拡張ルール情報102Aにおいて詳細化状態1025が「差分値未計算」であるレコードを任意に1つ選択する。以下では、ステップS342において選択したレコードを「差分対象レコード」と呼ぶ。続くステップS343ではルール生成部161は、差分対象レコードの詳細化状態1025を「詳細化中」に変更する。続くステップS344ではルール生成部161は、差分対象レコードを対象に後述する差分地算出理を実行し、続くステップS345ではルール生成部161は、差分対象レコードの詳細化状態1025を「完了」に変更する。
 続くステップS354ではルール生成部161は、スコア計算拡張ルール情報102Aに詳細化状態1025が「差分値未計算」であるレコードが存在するか否かを判断する。ルール生成部161は、詳細化状態1025が「差分値未計算」であるレコードがまだ存在すると判断する場合にはステップS350に戻り、詳細化状態1025が「差分値未計算」であるレコードはもう存在しないと判断する場合はステップS355に進む。
 ステップS355ではルール生成部161は、スコア計算拡張ルール情報102Aにおいて加算値1023の4種類全てのスコアが所定の閾値、たとえば0.5未満であるレコードの利用フラグ1024を「False」に変更する。続くステップS356ではルール生成部161は、スコア計算拡張ルール情報102Aにおいて信頼度1026の値が所定の閾値、たとえば0.4未満であるレコードの利用フラグ1024を「False」に変更して図25に示す処理を終了する。
 図26および図27は、図24におけるステップS344の処理、すなわち条件式追加処理の詳細を示すフローチャートである。以下では個別に説明しないが、図26および図27において生成した条件式は周防筧さん拡張ルール情報102Aの新たなレコードに追加されるが、このレコードの詳細化状態1025ははじめから「完了」に設定される。また、信頼度1026が「1」に設定され、利用フラグ1024が「True」に設定される点は、先ほどと同様である。
 前述のように、条件式追加処理が実行される前に詳細化対象レコードが決定されている。まずステップS361においてルール生成部161は、詳細化対象レコードにおける条件式は上位概念、すなわちTs、Dat、Src、およびEnvのいずれかを含むか否かを判断する。ルール生成部161は、いずれかの上位概念を含むと判断する場合はステップS362に進み、いずれの上位概念も含まないと判断する場合はステップS363に進む。
 ステップS362ではルール生成部161は、要素定義情報111を参照して、上位概念をそれぞれの下位概念に置き換えた条件式をスコア計算拡張ルール情報102Aの新たなレコードに追加してステップS363に進む。たとえば詳細化対象レコードの条件式がSrcを含む場合には、条件式のSrcを、SrcIf、SrcV、SrcLogic、SrcCmt、SrcCompのそれぞれに置き換えた5つの条件式を追加する。なお、追加されたレコードの詳細化状態1025などには初期値、すなわち詳細化状態1025には「未詳細化」、信頼度1026には「1.0」、利用フラグ1024には「True」が設定される。
 ステップS363ではルール生成部161は、詳細化対象レコードにおける条件式およびステップS362において追加された条件式が、要素関連情報112に含まれるいずれかの要素種類を含むか否かを判断する。ルール生成部161は、要素関連情報112に含まれるいずれかの要素種類を含むと判断する場合はステップS364に進み、要素関連情報112に含まれるいずれの要素種類も含まないと判断する場合は、丸囲みのBを経由して図27に進む。
 以下では、ステップS363において要素関連情報112に含まれると判断された要素種類と対になる要素種類を「相関要素」と呼ぶ。たとえば、詳細化対象レコードにおける条件式およびステップS362において追加された条件式のいずれかにTsAsが含まれていた場合には、図19の例によれば2番目のレコードの記載から、SrcLogicが相関要素と呼ばれる。
 ステップS364ではルール生成部161は、要素関連情報112に含まれるいずれかの要素種類を含む条件式に対して、相関要素の変更があることを論理積とする条件式を追加する。たとえば、詳細化対象レコードにおける条件式およびステップS362において追加された条件式のいずれかが「IsChangedV(TsAs_x, -1) = true」の場合には、ステップS364において次の条件式が生成される。すなわち、既存の条件式に含まれる「TaAs」は、「SrcLogic」に依存することが詳細関連情報115から判明すると、「SrcLogic」に変更があることを示す条件式である「IsChangedV(SrcLogic_x, -1) = true」との論理積である、「IsChangedV(TsAs_x, -1) = true && IsChangedV(SrcLogic_x, -1) = true」という条件式が追加される。この条件式がスコア計算拡張ルール情報102Aにおいて「R15」のルールIDで示されている。
 続くステップS365ではルール生成部161は、要素関連情報112に含まれるいずれかの要素種類を含む条件式に対して、相関要素の変更がないことを論理積とする条件式を追加する。すなわちステップS363とは逆の条件との論理積をとる。すなわちステップS363の例と同様の前提に立てば、本ステップでは「IsChangedV(TsAs_x, -1) = true && IsChangedV(SrcLogic_x, -1) = false」という条件式が追加される。この条件式がスコア計算拡張ルール情報102Aにおいて「R16」のルールIDで示されている。ステップS365の処理が完了するとルール生成部161は丸囲みのBを経由して図27に進む。
 図27においてルール生成部161は、まずステップ371において、詳細化対象レコードにおける条件式およびステップS362において追加された条件式のいずれかが、時間指定を含むか否かを判断する。いずれかの条件式が時間指定を含むと判断する場合はステップS372に進み、いずれの条件式も時間指定を含まないと判断する場合はステップS373に進む。ステップS372ではルール生成部161は、時間指定を含む式において指定されている時間を補集合に置き換えた条件式をスコア計算拡張ルール情報102Aの新たなレコードに追加してステップS373に進む。
 ステップS373ではルール生成部161は、詳細化対象レコードにおける条件式およびステップS362において追加された条件式のいずれかが、バージョン指定を含むか否かを判断する。いずれかの条件式がバージョン指定を含むと判断する場合はステップS374に進み、いずれの条件式もバージョン指定を含まないと判断する場合はステップS375に進む。ステップS374ではルール生成部161は、バージョン指定を含む式において指定されているバージョンを補集合に置き換えた条件式をスコア計算拡張ルール情報102Aの新たなレコードに追加してステップS375に進む。
 ステップS375ではルール生成部161は、詳細化対象レコードにおける条件式およびステップS362において追加された条件式のいずれかが、時間指定またはバージョン指定を含むか否かを判断する。いずれかの条件式が時間指定またはバージョン指定を含むと判断する場合はステップS376に進み、いずれの条件式もバージョン指定を含まないと判断する場合は図27に示す処理を終了する。
 ステップS376ではルール生成部161は、時間指定またはバージョン指定を含む条件式に対して、直前のバージョンでテストが成功したことを追加の論理積とする条件式を追加して図27に示す処理を終了する。たとえば、詳細化対象レコードにおける条件式およびステップS362において追加された条件式のいずれかが「IsChangedV(TsAs_x, -1) = true」の場合には、直前のバージョンでテストが成功したことを示す条件式である「IsSuccess(Replace(Ts, Version(Ts, -1)) = true」との論理積である、「IsChangedV(TsAs_x, -1) = true && IsSuccess(Replace(Ts, Version(Ts, -1)) = true」という条件式が追加される。
 図28は、図25のステップS352における、差分値算出処理の詳細を示すフローチャートである。まずステップS381ではルール生成部161は、変数rTotal、rTs、rDat、rSrc、およびrEnvをゼロで初期化する。これらの変数は、トータル件数のカウント、Tsのカウント、Datのカウント、Srcのカウント、Envのカウントに用いられるカウンタである。
 続くステップS382ではルール生成部161は、テスト実行情報104からテスト状態1045が「成功」または「失敗」のレコードを1つ選択する。以下では、本ステップにおいて選択したレコードを「選択レコード」と呼ぶ。続くステップS383ではルール生成部161は、必要に応じて詳細構成情報114、詳細関連情報115、および変更履歴情報103を参照して選択レコードにおける条件式の条件を満たすか否かを判断する。ルール生成部161は条件式を満たすと判断する場合はステップS384に進み、条件式を満たさないと判断する場合はステップS386に進む。ステップS384ではルール生成部161は、変数rTotalの値を「1」だけ増加させ、続くステップS385ではルール生成部161は、ユーザが入力する失敗の原因に基づき、対応するrTs、rDat、rSrc、およびrEnvのいずれか1つの値を「1」だけ増加させてステップS386に進む。
 ステップS386ではルール生成部161は、テスト状態1045が「成功」または「失敗」のレコードをすべて選択したか否かを判断する。すべて選択したと判断する場合はステップS387に進み、選択していないレコードがあると判断する場合はステップS382に戻る。ステップS387ではルール生成部161は、rTs、rDat、rSrc、およびrEnvのそれぞれをrTotalで除算する。続くステップS388ではルール生成部161は、ステップS387の算出結果をスコア計算拡張ルール情報102Aの加算値1023の各欄に記載して、差分値算出処理を終了する。
 図29および図30は、第2の実施の形態におけるスコア算出部151Aの処理を示すフローチャートである。第1の実施の形態の図12~図13に示した処理との違いは、ステップS303とステップS304との間に処理が追加されている点である。本実施の形態では、ステップS303の処理が終了すると丸囲みのCを経由して図30に示す処理を行い、それらの処理が完了するとステップS304以降の処理を実行する。
 図30において、スコア算出部151Aは条件式の評価に必要なすべてのテストが実行済であるか否かを判断する。スコア算出部151Aは全てのテストが実行済であると判断する場合は図30の処理を終了して図29に戻り、条件式の評価に必要なテストが1つでも完了していないと判断する場合はステップS392に進む。ステップS392ではスコア算出部151Aは、条件式の評価に必要であるが実行が予定されていないテストが存在するか否かを判断する。スコア算出部151Aは、実行が予定されていないテストが存在すると判断する場合はステップS393に進み、必要なすべてのテストは実行が予定されていると判断する場合はステップS394に進む。
 ステップS393ではスコア算出部151Aは、条件式の評価に必要であり実行が予定されていないテストを実行するためのテスト項目をテスト追加実行部162に生成させてステップS394に進む。この際にテスト追加実行部162は、優先度1044を「高」に設定した新たなレコードをテスト実行情報104に追加する。ステップS394ではスコア算出部151Aは、不図示のテスト実行部を呼び出して所定時間待機時間だけ待機した後でステップS391に戻る。以上が図30に示す処理の説明である。なお本フローチャートではスコア算出部151Aがテスト実行部を呼び出したが、テスト追加実行部162がテスト実行部を呼び出してもよい。
 テスト実行部は、テスト実行情報104の記載に従ってテストを実行する。ただし実際のテストの実行内容は、該当するテストスクリプトTsに記載されているのでテスト実行部の動作の詳細は説明を省略する。
 図31は、テスト追加実行部162の処理を示すフローチャートである。ステップS401ではテスト追加実行部162は、テスト実行情報104においてテスト状態1045が「未開始」のレコードを優先度1044が高いほうから1つ読み込む。本ステップで読み込んだレコードを、本フローチャートの以下の説明では「実行レコード」と呼ぶ。続くステップS402ではテスト追加実行部162は、ステップS401において読み込んだ実行レコードのテストを実行するために、該当するテストスクリプトを実行する。たとえば図7における「E3」のテスト実行IDを有するレコードを読み込んだ場合には、構成IDは「K2」でバージョンが「V1」のテストスクリプトを実行する。
 続くステップS403ではテスト追加実行部162は、拡張テストケース情報101Aを参照して、実行するテストの確認1013の値が「自動」と「手動」のいずれであるかを判断する。テスト追加実行部162は、確認1013が「自動」であると判断する場合はステップS404に進み、確認1013が「手動」であると判断する場合はステップS405に進む。ステップS404ではテスト追加実行部162は、テストスクリプトが出力するテスト結果、すなわち「成功」または「失敗」を、テスト実行情報104における実行レコードのテスト状態1045に記録してステップS406に進む。
 ステップS405ではテスト追加実行部162は、ユーザによる入力装置からの入力に基づき、テスト結果をテスト実行情報104における実行レコードのテスト状態1045に記録してステップS406に進む。ステップS406ではテスト追加実行部162は、テスト状態1045が「未開始」のレコードが存在するか否かを判断する。テスト追加実行部162は、「未開始」のレコードが存在すると判断する場合はステップS401に戻り、「未開始」のレコードが存在しないと判断する場合は図31に示す処理を終了する。
 上述した第2の実施の形態によれば、次の作用効果が得られる。
(4)条件式1022は、テスト対象ソフトウエアSrc、テストデータDat、テストスクリプトTs、およびテスト環境Envのそれぞれの構成要素である詳細構成要素の変更、詳細構成要素同士の依存関係、ならびに詳細構成要素同士の類似関係に関するものである。そのため解析装置1は、複数の観点から失敗の原因を特定できる。
(5)解析装置1Aは、スコア計算ルール情報の条件式におけるテスト対象ソフトウエアSrc、テストデータDat、テストスクリプトTs、およびテスト環境Envのそれぞれを詳細構成要素に置き換えた新たな条件式をスコア計算拡張ルール情報102Aに追加する、ルール生成部161をさらに備える。この処理は図26のステップS361~S362に示されている。そのため、第1の実施の形態のようにユーザがスコア計算ルール情報102を全て用意する必要がない。
(6)ルール生成部161は、図26のS363~S365に示すように、詳細構成要素同士の関連に基づいて新たな条件式をさらに追加する。そのため、第1の実施の形態のようにユーザがスコア計算ルール情報102を全て用意する必要がない。
(7)ルール生成部161は、図27のS371~S376に示すようにスコア計算拡張ルール情報102Aの条件式に含まれる時間またはバージョンを変更した新たな条件式を生成してスコア計算拡張ルール情報102Aに追加する。そのため、第1の実施の形態のようにユーザがスコア計算ルール情報102を全て用意する必要がない。
(8)解析装置1Aは、条件式1022を評価するために必要なテスト項目を新たに生成して実行させるテスト追加実行部162を備える。そのため、条件式の評価に必要なテストを追加で実行できる。
 上述した各実施の形態および変形例において、機能ブロックの構成は一例に過ぎない。別々の機能ブロックとして示したいくつかの機能構成を一体に構成してもよいし、1つの機能ブロック図で表した構成を2以上の機能に分割してもよい。また各機能ブロックが有する機能の一部を他の機能ブロックが備える構成としてもよい。
 上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
1、1A…解析装置
84…記憶部
85…入出力インタフェース
101…テストケース情報
101A…拡張テストケース情報
102…スコア計算ルール情報
102A…スコア計算拡張ルール情報
103…変更履歴情報
104…テスト実行情報
105…スコア集計情報
105A…拡張スコア集計情報
106…名称対応情報
151、151A…スコア算出部
152…推定部
153、153A…表示生成部
161…ルール生成部
162…テスト追加実行部
163…優先度変更部
164…失敗原因修正部

Claims (8)

  1.  テストを実行する環境であるテスト環境において、テスト対象ソフトウエアのテストが失敗した際の原因を特定する解析装置であって、
     前記テストでは、テスト対象ソフトウエアの実行と実行結果の確認が、人が介入することなくテストスクリプトにより実行され、
     テストデータは、前記テストの実行時に前記テスト対象ソフトウエアおよび前記テストスクリプトに読み込まれるデータであり、
     テスト対象ソフトウエア、テストデータ、テストスクリプト、およびテスト環境のそれぞれについて、変更の有無に基づき失敗原因スコアを算出するスコア算出部と、
     失敗原因スコアに基づき、前記テストが失敗した原因が、テスト対象ソフトウエア、テストデータ、テストスクリプト、およびテスト環境のいずれであるかを推定する推定部と、を備える解析装置。
  2.  請求項1に記載の解析装置において、
     条件式と、前記条件式に該当した場合に加算される前記失敗原因スコアの加算値との組合せを複数含むスコア計算ルール情報が格納される記憶部をさらに備え、
     前記スコア算出部は、前記スコア計算ルール情報に基づき前記失敗原因スコアを算出し、
     前記失敗原因スコアおよび前記失敗原因スコアの算出に用いられた前記条件式を示す情報を含む映像情報を生成する表示生成部と、
     前記表示生成部が生成する前記映像情報を表示部に出力する入出力インタフェースと、をさらに備える解析装置。
  3.  請求項1に記載の解析装置において、
     条件式と、前記条件式に該当した場合に加算される前記失敗原因スコアの加算値との組合せを複数含むスコア計算ルール情報が格納される記憶部をさらに備え、
     前記条件式は、テスト対象ソフトウエア、テストデータ、テストスクリプト、およびテスト環境のそれぞれの構成要素である詳細構成要素の変更、前記詳細構成要素同士の依存関係、ならびに前記詳細構成要素同士の類似関係に関する、解析装置。
  4.  請求項3に記載の解析装置において、
     前記スコア計算ルール情報の前記条件式におけるテスト対象ソフトウエア、テストデータ、テストスクリプト、およびテスト環境のそれぞれを前記詳細構成要素に置き換えた新たな条件式を前記スコア計算ルール情報に追加する、ルール生成部をさらに備える、解析装置。
  5.  請求項4に記載の解析装置において、
     前記ルール生成部は、前記詳細構成要素同士の関連に基づいて新たな条件式をさらに追加する、解析装置。
  6.  請求項4に記載の解析装置において、
     前記ルール生成部は、前記スコア計算ルール情報の前記条件式に含まれる時間またはバージョンを変更した新たな条件式を生成して前記スコア計算ルール情報に追加する、解析装置。
  7.  請求項3に記載の解析装置において、
     前記条件式を評価するために必要なテスト項目を新たに生成して実行させるテスト追加実行部をさらに備える、解析装置。
  8.  テストを実行する環境であるテスト環境において、テスト対象ソフトウエアのテストが失敗した際の原因をコンピュータが特定する解析方法であって、
     前記テストでは、テスト対象ソフトウエアの実行と実行結果の確認が、人が介入することなくテストスクリプトにより実行され、
     テストデータは、前記テストの実行時に前記テスト対象ソフトウエアおよび前記テストスクリプトに読み込まれるデータであり、
     テスト対象ソフトウエア、テストデータ、テストスクリプト、およびテスト環境のそれぞれについて、変更の有無に基づき失敗原因スコアを算出することと、
     失敗原因スコアに基づき、前記テストが失敗した原因が、テスト対象ソフトウエア、テストデータ、テストスクリプト、およびテスト環境のいずれであるかを推定することと、を含む解析方法。
     
PCT/JP2022/006786 2021-06-28 2022-02-18 解析装置、解析方法 WO2023276253A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP22832420.8A EP4365746A1 (en) 2021-06-28 2022-02-18 Analysis device and analysis method
US18/564,824 US20240289263A1 (en) 2021-06-28 2022-02-18 Analysis Device and Analysis Method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-107100 2021-06-28
JP2021107100A JP2023005300A (ja) 2021-06-28 2021-06-28 解析装置、解析方法

Publications (1)

Publication Number Publication Date
WO2023276253A1 true WO2023276253A1 (ja) 2023-01-05

Family

ID=84692257

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/006786 WO2023276253A1 (ja) 2021-06-28 2022-02-18 解析装置、解析方法

Country Status (4)

Country Link
US (1) US20240289263A1 (ja)
EP (1) EP4365746A1 (ja)
JP (1) JP2023005300A (ja)
WO (1) WO2023276253A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014142872A (ja) * 2013-01-25 2014-08-07 Ntt Docomo Inc 試験装置
JP2015069615A (ja) * 2013-10-01 2015-04-13 株式会社東芝 成果物の関連候補生成装置
JP2018173703A (ja) * 2017-03-31 2018-11-08 日本電気株式会社 障害解析装置、障害解析方法および障害解析プログラム
WO2020072701A1 (en) * 2018-10-02 2020-04-09 Cser Tamas Software testing
US20210064518A1 (en) * 2019-08-27 2021-03-04 Shield34 LTD. Methods Circuits Devices Systems and Functionally Associated Machine Executable Code For Automatic Failure Cause Identification in Software Code Testing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014142872A (ja) * 2013-01-25 2014-08-07 Ntt Docomo Inc 試験装置
JP2015069615A (ja) * 2013-10-01 2015-04-13 株式会社東芝 成果物の関連候補生成装置
JP2018173703A (ja) * 2017-03-31 2018-11-08 日本電気株式会社 障害解析装置、障害解析方法および障害解析プログラム
WO2020072701A1 (en) * 2018-10-02 2020-04-09 Cser Tamas Software testing
US20210064518A1 (en) * 2019-08-27 2021-03-04 Shield34 LTD. Methods Circuits Devices Systems and Functionally Associated Machine Executable Code For Automatic Failure Cause Identification in Software Code Testing

Also Published As

Publication number Publication date
US20240289263A1 (en) 2024-08-29
EP4365746A1 (en) 2024-05-08
JP2023005300A (ja) 2023-01-18

Similar Documents

Publication Publication Date Title
US8589884B2 (en) Method and system for identifying regression test cases for a software
CN110928772B (zh) 一种测试方法及装置
JP5648584B2 (ja) ソフトウェアアプリケーションのプロファイリング方法及び装置
JP4876511B2 (ja) ロジック抽出支援装置
US20120272220A1 (en) System and method for display of software quality
US20070214173A1 (en) Program, method, and apparatus for supporting creation of business process model diagram
US10942840B2 (en) System and method for managing a code repository
US20090271661A1 (en) Status transition test support device, status transition test support method, and recording medium
KR20170052668A (ko) 데이터 구동 테스트 프레임워크
US20080155514A1 (en) Method and System for Graphical User Interface Testing
Yahya et al. Domain-driven actionable process model discovery
US9098638B2 (en) System and method for automatic test level generation
JP2014241021A (ja) ソフトウェア評価装置および方法
JP7077909B2 (ja) デッドコード解析プログラム、デッドコード解析方法及びデッドコード解析装置
JPWO2016174743A1 (ja) ソースコード等価性検証装置、および、ソースコード等価性検証方法
EP4318244A1 (en) Software testing with reliability metric
JP2016126552A (ja) テスト選択プログラム、テスト選択方法、及びテスト選択装置
JP5460629B2 (ja) 表形式ソフトウェア仕様作成支援方法、及び装置
WO2023276253A1 (ja) 解析装置、解析方法
CN111241766B (zh) 测试方法与测试系统
JP6622938B1 (ja) 相関性抽出方法および相関性抽出プログラム
US7620937B2 (en) System and method for debugging programs
JP2007304846A (ja) 仕様書作成支援方法および仕様書作成支援装置
CN115795479A (zh) 一种智能合约的漏洞检测方法、电子设备和存储介质
Rapos et al. SimPact: Impact analysis for simulink models

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18564824

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2022832420

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022832420

Country of ref document: EP

Effective date: 20240129