Autonomous testing device, autonomous testing method, and autonomous testing program

The autonomous testing device addresses the challenge of testing changing subjects by using a test execution judgment unit and a time-phase logical expression generator to create dynamic temporal logic expressions, enabling efficient and autonomous testing.

JP2025072688APending Publication Date: 2025-05-12MITSUBISHI ELECTRIC CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023182887
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-10-25
Publication Date
2025-05-12

AI Technical Summary

Technical Problem

Existing technologies are unable to perform autonomous testing when the test subject changes, as they fail to generate temporal logic equations dynamically and do not support autonomous testing protocols.

Method used

An autonomous testing device that includes a test execution judgment unit to determine if a test is needed based on the version of the target function and product update information, and a time-phase logical expression generator that creates an object description for temporal logic expressions using multiplex, metamodel, and pattern information.

Benefits of technology

Enables autonomous testing by generating temporal logic expressions that match the changed test subject, allowing for efficient and automated testing without manual intervention.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025072688000001_ABST
    Figure 2025072688000001_ABST
Patent Text Reader

Abstract

To provide an autonomous testing device for generating an object description described in a time-phase logic expression, and autonomously performing a test using the generated object description related to autonomous performance when a test object is changed in model checking.SOLUTION: An autonomous testing device 100 for executing model testing is provided with a test execution determining unit 90 and a time-phase logic expression generating unit 50. The test execution determining unit 90 determines whether or not to execute a test for a test target by using a test execution status for a target function and product update information that is information indicating the version of the target function. The time-phase logic expression generating unit 50 generates the object description of a time-phase logic expression by using multiplicity information indicating the multiplicity of each stereotype corresponding to each product included in the test object, metamodel information indicating the relationship between each operand name and each stereotype, and pattern information indicating the relationship between a template of the time-phase logic expression and a description rule of the object of the time-phase logic expression.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to an autonomous test device, an autonomous test method, and an autonomous test program. [Background technology]

[0002] In recent years, the configuration of computer systems has become more fluid due to the development of mobile terminals, the Internet of Things (IoT), satellite constellations, etc. Therefore, software and system configurations may change continuously after product shipment.

[0003] In the testing process of typical product development, tests are conducted before shipment, assuming various variations of the system. Here, the variations in systems that change after product shipment are enormous. Therefore, performing comprehensive tests for all expected ranges is not realistic from the viewpoint of implementation costs. Therefore, it is desirable to perform tests that match the computer system configuration after shipment.

[0004] Model checking is a technique for virtually testing all possible scenarios by giving the behavior of a test target. In model checking, the items to be checked for a test subject are described using temporal logic formulas. Temporal logic is a logical formula that can express order relations. For example, a temporal logic formula can be used to express a statement that means "if event p is true, then event q will definitely be true someday."

[0005] In model checking, it is necessary to create a temporal logic formula by combining each event (operand: a variable that takes a value indicating true or false) with a temporal logic operator in accordance with the changes to the test target. However, since temporal logic formulas are often difficult to understand intuitively, creating them is time-consuming. As a concrete example, the following is a temporal logic formula that expresses the behavior of the test target, "event q becomes true, and then event p becomes true before event r becomes true." []((q&<>r)->(!rUp))

[0006] Here, the meaning of the temporal logic operators is as follows: []p:p is always true. p&q: both p and q are true. q->p: If q is true, then p is true. !p:p is false. pUq: p is true until q is true.

[0007] Patent Document 1 discloses a technique for generating a temporal logic formula based on a sequence description in model checking. Specifically, a temporal logic formula is generated using a sequence description in which a data transmission / reception sequence is described, and a temporal logic formula template.

[0008] Patent Document 2 discloses a technology that checks whether a function in question has already been tested, and if the function in question has not been tested, outputs a "test case request" and acquires a test case to execute the test. [Prior art documents] [Patent documents]

[0009] [Patent Document 1] JP 2013-228780 A [Patent Document 2] JP 2018-77697 A Summary of the Invention [Problem to be solved by the invention]

[0010] A problem with the prior art is that it is not possible to perform tests autonomously when the test subject is changed. Specifically, the technology disclosed in Patent Document 1 cannot generate a temporal logic formula in accordance with changes in the test target, and the technology disclosed in Patent Document 2 cannot execute tests autonomously.

[0011] The present disclosure aims to generate object descriptions written in temporal logic formulas in model checking, and autonomously perform testing using the generated object descriptions, thereby autonomously performing testing when the test subject is changed. [Means for solving the problem]

[0012] The autonomous test device according to the present disclosure comprises: An autonomous test device that performs model checking on a test target including a plurality of products, a test execution determination unit that determines whether or not to execute a test on the test object by using a test status indicating a version of a target function of another product that is communicatively connected to a target product included in the test object at the time when the test on the target function was executed and product update information that is information indicating an update status of the target function and is information indicating the version of the target function; a temporal logic formula generation unit which, when it is determined that a test for the test target is to be executed, generates an object description of a temporal logic formula using multiplicity information indicating the multiplicity of each stereotype corresponding to each product included in the test target, metamodel information indicating the relationship between each operand name and each stereotype, and pattern information indicating the relationship between a template of a temporal logic formula and a description rule which is a rule for describing an object of a temporal logic formula; Equipped with. Effect of the Invention

[0013] According to the present disclosure, a test execution determination unit determines whether or not to execute a test on a target function based on an implementation status of the test on the target function and a version of the target function. Also, a temporal logic formula generation unit generates an object description of a temporal logic formula based on multiplicity information, metamodel information, and pattern information. Here, model checking of a test target may be performed using a temporal logic formula based on the generated object description. Thus, according to the present disclosure, in model checking, an object description described in a temporal logic formula is generated, and a test is autonomously performed using the generated object description, so that a test can be autonomously performed when a test target is changed. [Brief description of the drawings]

[0014] [Figure 1] 1 is a block diagram showing an example of the configuration of an autonomous test device 100 according to a first embodiment. [Diagram 2] 1 is a diagram showing an example of a hardware configuration of an autonomous test device 100 according to a first embodiment. [Diagram 3] 4 is a flowchart showing the operation of the autonomous test device 100 according to the first embodiment. [Figure 4] FIG. 3 shows an example 330 according to the first embodiment. [Diagram 5] 1A is a table showing a specific example of a test status 105, and FIG. 1B is a table showing a specific example of product update information 104. FIG. [Figure 6] 4 is a flowchart showing a test execution determination process according to the first embodiment. [Figure 7] 1A is a table showing a specific example of class diagram information 109; FIG. 1B is a table showing a specific example of multiplicity information 106; [Figure 8] 1A is a table showing specific examples of stereotype count information 51; FIG. 1B is a table showing specific examples of metamodel information 107; and FIG. 1C is a table showing specific examples of object information 52. [Figure 9] 4 is a flowchart showing a temporal logic formula generation process according to the first embodiment. [Figure 10] 5A and 5B are diagrams for explaining data according to the first embodiment, where FIG. 5A is a table showing a specific example of pattern information 53 and FIG. 5B is a table showing a specific example of logical expression information 108. [Figure 11] FIG. 2 is a diagram showing an example of a hardware configuration of an autonomous test device 100 according to a modification of the first embodiment. [Figure 12] FIG. 11 is a block diagram showing an example of the configuration of an autonomous test device 100 according to a second embodiment. [Figure 13] 10 is a flowchart showing the operation of the autonomous test device 100 according to the second embodiment. [Figure 14] 1A and 1B are diagrams for explaining a test model 101 according to a second embodiment, in which (a) is a diagram showing a specific example of a class diagram 200, and (b) is a diagram showing a specific example of a state transition description 340. [Figure 15] FIG. 11 is a block diagram showing an example of the configuration of an autonomous test device 100 according to a third embodiment. [Figure 16] 10 is a flowchart showing the operation of the autonomous test device 100 according to the third embodiment. [Figure 17] 13A and 13B are diagrams for explaining a test pattern 102 according to the third embodiment, in which FIG. 13A shows a specific example of a temporal logic expression pattern 310 and FIG. 13B shows a specific example of a temporal logic expression metamodel 320. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0015] In the description of the embodiments and the drawings, the same elements and corresponding elements are given the same reference numerals. Descriptions of elements given the same reference numerals are omitted or simplified as appropriate. Arrows in the drawings primarily indicate data flow or processing flow. In addition, "part" may be read as "circuit," "step," "procedure," "processing," or "circuitry" as appropriate.

[0016] Embodiment 1 Hereinafter, the present embodiment will be described in detail with reference to the drawings.

[0017] ***Configuration Description*** An example of a block configuration of an autonomous test device 100 according to this embodiment will be described with reference to Fig. 1. In this embodiment, product update information 104 is used as an input, and test request information 103 is used as an output. The autonomous test device 100 has a storage device 901, a processing device 902, and an input / output device 903. The autonomous test device 100 executes model checking on a test target including a plurality of products. The product update information 104 is information indicating the version of the functions installed in each product. The test request information 103 is information indicating a request to carry out a test.

[0018] The storage device 901 includes a test model storage unit 10 , a test pattern storage unit 20 , a test status storage unit 11 , an analysis information storage unit 12 , and a logical expression storage unit 13 . The processing device 902 includes a temporal logic formula generating section 50 , a test executing section 60 , and a test execution determining section 90 . The input / output device 903 includes a receiving unit 70 and a transmitting unit 80 .

[0019] The test model storage unit 10 stores a test model 101 . The test model 101 is a model that indicates a state transition description of the own product that can be input to a model checking tool. The own product is also called a target product. The test status storage unit 11 stores the test status 105 . The test status 105 indicates test information of other products connected to the own product. The test pattern storage unit 20 stores the test pattern 102 . The test pattern 102 is information indicating a pattern of a temporal logic formula. The analysis information storage unit 12 stores multiplicity information 106 and metamodel information 107 . The multiplicity information 106 is information indicating the multiplicity of each stereotype corresponding to each product included in the test subject. The metamodel information 107 is information indicating the relationship between each operand name and each stereotype. The logical expression storage unit 13 stores logical expression information 108 . The logical expression information 108 is information that indicates a temporal logical expression and is also called temporal logical expression information.

[0020] When it is determined that a test is to be performed on the test target, the temporal logic formula generation unit 50 generates an object description of a temporal logic formula using the multiplicity information 106, the metamodel information 107, and the pattern information 53. The pattern information 53 is information indicating the relationship between a template of a temporal logic formula and a description rule. The description rule is a rule for describing an object of a temporal logic formula. The temporal logic formula generation unit 50 generates a temporal logic formula to be used in model checking of the test target based on the generated object description. As a specific example, the temporal logic formula generating unit 50 generates logical formula information 108 based on the test pattern 102 , the class diagram information 109 and the metamodel information 107 , and stores the generated logical formula information 108 in the logical formula storage unit 13 . The class diagram information 109 is information showing a class diagram, information showing the relationships between classes, and information including stereotypes and multiplicities for each class.

[0021] The test execution section 60 executes model checking on the test target using the temporal logic formula generated by the temporal logic formula generation section 50 and a model checking tool for executing model checking. Specifically, the test execution unit 60 executes the test by performing model checking using a model checking tool based on the logical expression information 108 and the test model 101. The test execution unit 60 may use any model checking tool.

[0022] The test execution judgment unit 90 judges whether or not to execute a test on the test target using a test status indicating the version of the target function possessed by another product that is communicatively connected to the target product included in the test target at the time when the test was executed on the target function, and product update information which is information indicating the update status of the target function and is information indicating the version of the target function. Specifically, after the receiving unit 70 acquires the product update information 104, the test execution judgment unit 90 refers to the acquired product update information 104 and the test status 105 in the test status storage unit 11 to judge whether there is an update to the own product or to another product connected to the own product. If there is an update to the own product or to another product connected to the own product, the test execution judgment unit 90 judges that a test needs to be performed, and outputs test request information 103 from the transmitting unit 80.

[0023] 2 shows an example of a hardware configuration of the autonomous test device 100 according to this embodiment. The autonomous test device 100 is composed of a computer. The autonomous test device 100 may be composed of multiple computers.

[0024] As shown in the figure, the autonomous test device 100 is a computer including hardware such as a processor 21, a memory 22, an auxiliary storage device 23, an input / output IF (Interface) 24, and a communication device 25. These pieces of hardware are appropriately connected via signal lines 29.

[0025] The processor 21 is an integrated circuit (IC) that performs arithmetic processing and controls hardware included in a computer. Specific examples of the processor 21 include a central processing unit (CPU), a digital signal processor (DSP), or a graphics processing unit (GPU). The autonomous test device 100 may include a plurality of processors that replace the processor 21. The plurality of processors share the role of the processor 21.

[0026] The memory 22 is typically a volatile storage device, and a specific example is a random access memory (RAM). The memory 22 is also called a primary storage device or a main memory. Data stored in the memory 22 is saved in the auxiliary storage device 23 as necessary.

[0027] The auxiliary storage device 23 is typically a non-volatile storage device, and specific examples thereof include a ROM (Read Only Memory), an HDD (Hard Disk Drive), or a flash memory. Data stored in the auxiliary storage device 23 is loaded into the memory 22 as necessary. The memory 22 and the auxiliary storage device 23 may be integrated into one unit.

[0028] The input / output IF 24 is a port to which an input device and an output device are connected. A specific example of the input / output IF 24 is a Universal Serial Bus (USB) terminal. Specific examples of the input device are a keyboard and a mouse. A specific example of the output device is a display.

[0029] The communication device 25 is a receiver and a transmitter, and is, for example, a communication chip or a network interface card (NIC).

[0030] Each unit of the autonomous test device 100 may use the input / output IF 24 and the communication device 25 as appropriate when communicating with other devices.

[0031] The auxiliary storage device 23 stores an autonomous test program. The autonomous test program is a program that causes a computer to realize the functions of each unit of the autonomous test device 100. The autonomous test program is loaded into the memory 22 and executed by the processor 21. The functions of each unit of the autonomous test device 100 are realized by software.

[0032] Data used when executing the autonomous test program and data obtained by executing the autonomous test program are appropriately stored in the storage device. Each part of the autonomous test device 100 uses the storage device as appropriate. As a specific example, the storage device is composed of at least one of the memory 22, the auxiliary storage device 23, a register in the processor 21, and a cache memory in the processor 21. Note that the terms "data" and "information" may have the same meaning. The storage device may be independent of the computer. The storage device 901 is realized by the memory 22 and the auxiliary storage device 23. The functions of the memory 22 and the auxiliary storage device 23 may be realized by other storage devices. The processing unit 902 is realized by the processor 21 . The input / output device 903 is realized by the input / output IF 24 and the communication device 25 .

[0033] The autonomous test program may be recorded in a computer-readable non-volatile recording medium. Specific examples of the non-volatile recording medium include an optical disk and a flash memory. The autonomous test program may be provided as a program product.

[0034] ***Explanation of Operation*** The operation procedure of the autonomous test device 100 corresponds to an autonomous test method, and the program that realizes the operation of the autonomous test device 100 corresponds to an autonomous test program.

[0035] 3 is a flowchart showing an example of an autonomous test method according to the present embodiment. The autonomous test method will be described with reference to FIG.

[0036] (Step S101) A user operates the input device to input product update information 104 to the autonomous test device 100 . The receiving unit 70 receives the input product update information 104 . The test execution decision section 90 compares the received product update information 104 with the test status 105 to decide whether or not a test should be carried out. The test execution determination process (step S101) will be described later in detail.

[0037] 4 shows an assumed example 330. The assumed example 330 is a specific example assumed as an example of the present embodiment. Product A, product B, product C1, and product C2 each indicate a product included in the test subject. Product C1 and product C2 are the same type of product, but are separate entities. It is assumed that product A is capable of bidirectional communication with each of product B, product C1, and product C2. In the assumed example 330, each product has the technology according to the present embodiment. Hereinafter, the implementation of the technology according to the present embodiment by product A will be described. Therefore, product A will be called the own product, and product B, product C1, and product C2 will be called the other products.

[0038] (Step S140) The temporal logic formula generation unit 50 generates stereotype count information 51 using the multiplicity information 106 and metamodel information 107 stored in the analysis information storage unit 12 and the test patterns 102 stored in the test pattern storage unit 20 . The temporal logic expression generator 50 uses operand names to indicate the format of the temporal logic expression pattern indicated by the test pattern 102. The operand name is the name of an operand. The operand is a variable into which a value indicating true or false is assigned. The stereotype number information generating process (step S140) will be described later in detail.

[0039] (Step S150) The temporal logic formula generation unit 50 generates a temporal logic formula using the object description for each stereotype generated in step S140. The logical formula storage unit 13 stores the temporal logic formula generated by the temporal logic formula generation unit 50 as logical formula information 108. The temporal logic formula generation process (step S150) will be described later in detail.

[0040] (Step S160) The test execution unit 60 autonomously executes the test by inputting the logical expression information 108 and the test model 101 into the model checking tool. The autonomous test execution process (step S160) will be described later in detail.

[0041] 5(a) shows a specific example of the test status 105. This example is data in a table format, and has a record (row) for each function of the product. The record has columns corresponding to "No.", "target product", "functions used", and "tested version". The "Target Product" column indicates the name of the target product. The "Functions Used" column indicates the functions used by the corresponding target product. The "Tested Version" column indicates the version of the corresponding function to be used, which has been completely tested.

[0042] 5(b) shows a specific example of the product update information 104. This example is data in a table format, and has a record (row) for each product function. The record has columns corresponding to "No.", "product name", "function name", and "updated version". The "Product Name" column indicates the name of each product. The "Function Name" column indicates the function name of each product. "Updated version" indicates the version after the update of each function.

[0043] 6 is a flow chart showing details of the test execution determination process (step S101). The test execution determination process will be described in detail with reference to FIG.

[0044] (Step S102) The test execution decision section 90 extracts, as a product update information row, one row that has not been selected in the loop process shown from step S102 to step S109 from among the rows of the product update information 104.

[0045] (Step S103) The test execution decision section 90 extracts, as a test status row, one row that has not been selected in the loop process shown in steps S103 to S108 from among the rows of the test status 105.

[0046] (Step S104) If the "product name" in the product update information line matches the "target product" in the test status line, the process proceeds to step S105. If the "product name" in the product update information line does not match the "target product" in the test status line, the process proceeds to step S108.

[0047] (Step S105) If the "function name" in the product update information line and the "function in use" in the test status line match, the process proceeds to step S106. If the "function name" in the product update information line does not match the "function in use" in the test status line, the process proceeds to step S108.

[0048] (Step S106) If the "Tested Version" in the test status line is smaller than the "Updated Version" in the product update information line, the process proceeds to step S107. If the "Tested Version" in the Test Status line is greater than or equal to the "Updated Version" in the Product Update Information line, processing proceeds to step S108.

[0049] (Step S107) The test execution decision section 90 registers in the test request information 103 each of the “product name” in the product update information line and the “function name” in the product update information line.

[0050] (Step S108) If there is an unselected row in the test status 105, the process proceeds to step S103. If there is no unselected row in the test status 105, the process proceeds to step S109.

[0051] (Step S109) If there is an unselected row in the product update information 104, the process proceeds to step S102. If there are no unselected rows in the product update information 104, the test execution determination process ends.

[0052] 7A shows a specific example of class diagram information 109. In this example, class diagram information 109 has a record (row) for each class name. The record has columns corresponding to each of the "association number," "first class," "first stereotype," "first multiplicity," "second class," "second stereotype," and "second multiplicity." The "Relationship Number" column indicates the relation number, which is a serial number that identifies the relation of each piece of information. The "First Class" column indicates the class name of the first class. The "First Stereotype" column indicates the stereotype of the first class. The "First Multiplicity" column indicates the multiplicity of the first class. The "Second class" column indicates the class name of the second class. The "Secondary Stereotype" column indicates the stereotype of the second class. The "Second multiplicity" column indicates the multiplicity of the second class.

[0053] Fig. 7(b) shows a specific example of the multiplicity information 106. This example is the multiplicity information 106 corresponding to the specific example of the class diagram information 109 shown in Fig. 7(a). In this example, the multiplicity information 106 has a record (row) for each class name. The record has columns corresponding to each of "class name", "stereotype", and "multiplicity". The "Class Name" column indicates the name of the class. The "Stereotype" column indicates the stereotype of the class. The "Multiplicity" column indicates the multiplicity of a class.

[0054] Fig. 8(a) shows a specific example of the stereotype count information 51. This example is the stereotype count information 51 corresponding to the specific example of the multiplicity information 106 shown in Fig. 7(b). In this example, the stereotype count information 51 has a record (row) for each "stereotype." The record has columns corresponding to each of the "stereotype" and the "number of objects." The "Stereotype" column indicates the stereotype. The "Number of objects" column indicates the number of objects.

[0055] The stereotype number information generating process (step S140) will now be described in detail. The temporal logic formula generation unit 50 calculates the "number of objects" by summing up the multiplicities for each "stereotype" based on the multiplicity information 106, and generates stereotype number information 51 based on the calculated "number of objects".

[0056] 8(b) shows a specific example of the metamodel information 107. In this example, the metamodel information 107 has a record (row) for each pair of "operand name" and "stereotype". The record has columns corresponding to each of the "operand name" and "stereotype." The "operand name" column indicates the name of the operand. The "Stereotype" column indicates the stereotype.

[0057] Fig. 8(c) shows a specific example of object information 52. This example is object information 52 corresponding to the specific example of stereotype count information 51 shown in Fig. 8(a) and the specific example of metamodel information 107 shown in Fig. 8(b). In this example, object information 52 has a record (row) for each set of "operand name", "stereotype", and "number of objects". Object information 52 is information that indicates an object model. The record has columns corresponding to each of "operand name", "stereotype", and "number of objects". The "operand name" column indicates the name of the operand. The "Stereotype" column indicates the stereotype. The "Number of objects" column indicates the number of objects. In step S150, the temporal logic expression generation section 50 generates logical expression information 108 using the object information 52 and the temporal logic expression pattern indicated by the test pattern 102. The logical expression information 108 is data including a temporal logical expression template and an object description. The temporal logic formula generation process (step S150) will be described later in detail.

[0058] 9 is a flow chart showing the procedure of the temporal logic formula generation process (step S150). The procedure of the temporal logic formula generation process will be described with reference to FIG.

[0059] (Step S151) The temporal logic formula generation unit 50 selects one "operand name" from the object information 52 that has not been selected in the processing shown in this flowchart.

[0060] (Step S152) The temporal logic formula generation unit 50 acquires the "number of objects" associated with the selected "operand name" from the object information 52, and judges the acquired "number of objects." If the number of objects is 1, the process proceeds to step S153. If the number of objects is two or more, the process proceeds to step S154.

[0061] (Step S153) The temporal logic formula generator 50 generates an object description using the selected "operand name." Specifically, the temporal logic formula generator 50 generates one object name corresponding to the selected operand name. The one object name generated is an object description.

[0062] (Step S154) The temporal logic formula generation unit 50 acquires a description rule corresponding to the selected "operand name" from the temporal logic formula pattern. The description rule is a rule for describing multiple object names corresponding to the same "operand name." Then, the temporal logic formula generating unit 50 generates an object description according to the obtained description rules.

[0063] Specifically, the temporal logic formula generator 50 generates the object description as follows. First, the temporal logic formula generation unit 50 generates a number of "object names" corresponding to the selected "operand name." The number of "object names" generated is the same as the "number of objects" acquired in step S152. Next, the temporal logic formula generation unit 50 connects the generated "object names" using logical operators indicated by the acquired description rules. The resulting character string is the object description.

[0064] (Step S155) The temporal logic formula generation unit 50 determines whether or not there are any unselected operand names. If there is an operand name that has not been selected, the process proceeds to step S151. If there is no unselected operand name, the process proceeds to step S156.

[0065] (Step S156) The temporal logic expression generation unit 50 obtains a temporal logic expression template from a temporal logic expression pattern. Then, the temporal logic formula generating unit 50 registers the acquired temporal logic formula template and the generated object description in the temporal logic formula information 290.

[0066] 10(a) shows a specific example of the pattern information 53. In this example, the pattern information 53 has columns corresponding to a "temporal logic formula template" and a "description rule." The pattern information 53 is also called temporal logic formula pattern information. The "Temporal Logic Formula Template" column shows a temporal logic formula template. The "Description rule" column shows a description rule for each "operand name" included in the temporal logic template. The description rule shows an operand name and a logical operator. The character string obtained by connecting multiple object names corresponding to the operand names using the logical operator shown in the description rule is the object description.

[0067] Fig. 10(b) shows a specific example of logical formula information 108. This example is logical formula information 108 corresponding to the specific example of object information 52 shown in Fig. 8(c) and the specific example of pattern information 53 shown in Fig. 10(a). In this example, logical formula information 108 has columns corresponding to each of "temporal logic formula template", "Send operand", and "Receive operand". The “temporal logic expression template” column indicates the temporal logic expression template included in the pattern information 53 . The "Send operand" column indicates the object description corresponding to the "Send operand" included in the temporal logic expression template. According to the specific example of object information 52, the "number of objects" for "Send" is 1. Therefore, "Send 1" is entered in the "Send operand" column. The "Receive operand" column indicates the object description that corresponds to the "Receive operand" included in the temporal logic expression template. From the specific example of object information 52, the "number of objects" for "Receive" is 3. Therefore, in the "Receive operand" column, the three object names "Receive1", "Receive2", and "Receive3" are connected with the logical sum operator (||).

[0068] The autonomous test execution process (step S160) will now be described in detail. A test is executed by a test execution unit 60 inputting into the model checking tool a state transition description of the product itself, which is stored in the test model storage unit 10 and can be input into the model checking tool, and a temporal logic formula generated by a temporal logic formula generation unit 50. By modeling communication with other products in the state transition description, the state transition description plays the role of a test driver, so that tests can be executed while test cases are generated by model checking.

[0069] ***Explanation of the Effects of the First Embodiment*** The autonomous test device 100 according to the present embodiment executes a model checking tool using the generated temporal logic formula, so that the autonomous test device 100 according to the present embodiment can execute a test autonomously. Therefore, according to this embodiment, the number of steps required to create test cases when the test target is changed is reduced. Furthermore, according to this embodiment, it is possible to determine whether a test is to be performed and generate an object description to be written in a temporal logic formula. As a result, by using the generated object description, a temporal logic formula can be generated when the test target is changed, and autonomous testing can be performed.

[0070] ***Other configurations*** <Variation 1> FIG. 11 shows an example of the hardware configuration of the autonomous test device 100 according to this modified example. The autonomous test device 100 includes a processing circuit 28 in place of the processor 21 , the processor 21 and memory 22 , the processor 21 and auxiliary storage device 23 , or the processor 21 , memory 22 , and auxiliary storage device 23 . The processing circuit 28 is hardware that realizes at least a part of each unit of the autonomous test device 100 . The processing circuitry 28 may be dedicated hardware, or may be a processor that executes programs stored in the memory 22 .

[0071] When processing circuitry 28 is dedicated hardware, processing circuitry 28 may be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof. The autonomous test device 100 may include a plurality of processing circuits that replace the processing circuit 28. The plurality of processing circuits share the role of the processing circuit 28.

[0072] In the autonomous test equipment 100, some of the functions may be realized by dedicated hardware, and the remaining functions may be realized by software or firmware.

[0073] Processing circuitry 28 is illustratively implemented in hardware, software, firmware, or a combination thereof. The processor 21, the memory 22, the auxiliary storage device 23, and the processing circuit 28 are collectively referred to as the “processing circuitry.” In other words, the functions of the functional components of the autonomous test equipment 100 are realized by the processing circuitry. The autonomous test device 100 according to other embodiments may have a similar configuration to this modified example.

[0074] Embodiment 2 The following mainly describes the differences from the above-described embodiment with reference to the drawings.

[0075] ***Configuration Description*** An example of a block configuration of the autonomous test device 100 according to this embodiment will be described with reference to FIG. The processing device 902 according to this embodiment further includes a test model analysis unit 30 . The test model analysis unit 30 generates multiplicity information 106 based on the test model 101 . The receiving unit 70 according to this embodiment receives an input of a test model 101 . The test model 101 is composed of a class diagram 200 and a state transition description 340 . The class diagram 200 shows the relationship between the product itself and other products, and is a diagram showing the relationship between classes in an object-oriented manner. The class diagram 200 also shows the relationship between the target product and each product other than the target product among the products included in the test targets. The state transition description 340 is a description that indicates the state transition of the product itself, a description that indicates the behavior of the product itself, and a description that can be input to a model checking tool.

[0076] ***Explanation of Operation*** 13 is a flowchart showing an example of an autonomous test method according to this embodiment. The autonomous test method will be described with reference to FIG. The autonomous test method according to this embodiment includes steps S110 and S130 in addition to the steps described in the first embodiment.

[0077] (Step S110) A user operates an input device to input a test model 101 to the autonomous test device 100 . The receiving unit 70 receives the input test model 101. The test model storage unit 10 stores the received test model 101.

[0078] Fig. 14(a) shows a specific example of a class diagram 200 included in the test model 101. This example is a class diagram 200 corresponding to the assumed example 330, and includes three classes. Each rectangle in Fig. 14(a) corresponds to one class. Each class includes a class name and a stereotype. The description "Product X (X is A, B, or C in this example)" in the lower part of the box corresponds to the class name. The character string in double brackets in the upper part of the box corresponds to the stereotype. A stereotype is an identifier that identifies the role of a class. As a specific example, a class defined in a test target of the temporal logic metamodel 320 shown in FIG. The multiplicity is a value that indicates the number of objects corresponding to a class. In this specification, an object corresponds to an actual product.

[0079] 14B shows a specific example of a state transition description 340 included in the test model 101. In this example, the state transition description 340 is written in PROMELA, which is an input language for SPIN (Simple Promela Interpreter), a representative model checking tool. The description shown in this example will be explained below. "S1:" and "S2:" indicate labels to which movement can be made by the "goto" command. "If" indicates a conditional statement. "ch" indicates the buffer variable. The "?" indicates the evaluation operator for the buffer variable. c_code{} indicates a statement that calls a function in C. Statements such as c_code{} allow functions written in C or other languages ​​to be used to exchange messages with other products within model checking, and tests are then performed.

[0080] (Step S130) First, the test model analysis unit 30 extracts the classes connected to both ends, the stereotypes of each class, and the multiplicity for each relationship shown in the class diagram 200 included in the test model 101, and generates class diagram information 109 based on the extracted information. Next, the test model analysis unit 30 extracts the multiplicity for each class from the generated class diagram information 109, and generates multiplicity information 106 based on the extracted multiplicity. In the following step S140, the information generated in steps S110 and S130 is used.

[0081] ***Explanation of the effect of the second embodiment*** The autonomous test device 100 according to this embodiment can receive any test model 101 and use the received test model 101. As a specific example, when the software of the autonomous test device 100's own product is updated, the autonomous test device 100 can receive a test model 101 that matches the change in the test target and use the received test model 101.

[0082] Embodiment 3 The following mainly describes the differences from the above-described embodiment with reference to the drawings.

[0083] ***Configuration Description*** Regarding the mode for using the arbitrary test pattern 102, the following mainly describes the points that differ from the second embodiment. An example of a block configuration of the autonomous test device 100 according to this embodiment will be described with reference to FIG. The processing device 902 according to the present embodiment further includes a test pattern analysis section 40 . The test pattern analysis section 40 analyzes the test pattern 102 and generates meta-model information 107 based on the test pattern 102 . The receiving unit 70 according to the present embodiment receives an input of a test pattern 102 . The test pattern 102 is made up of a temporal logic expression pattern 310 and a temporal logic expression metamodel 320 . A temporal logic expression pattern 310 indicates a rule for generating an operand corresponding to the test content. A temporal logic expression pattern indicates a pattern expression of a temporal logic expression corresponding to the test content, and an object generation rule. The object generation rule is a rule for generating an object of a temporal logic expression by combining a temporal logic operator with each operand when there are multiple operands of the same type. The temporal logic metamodel 320 is data showing the correspondence between the test subject and the operands of the temporal logic formula. The temporal logic metamodel 320 shows the correspondence between the stereotypes corresponding to each product included in the test subject and the operands of the temporal logic formula, and the multiplicity corresponding to each correspondence.

[0084] ***Explanation of Operation*** 16 is a flowchart showing an example of an autonomous test method according to this embodiment. The autonomous test method will be described with reference to FIG. The autonomous test method according to this embodiment includes step S120 in addition to the steps described in the second embodiment.

[0085] (Step S120) A user operates the input device to input a test pattern 102 to the autonomous test device 100 . The accepting unit 70 accepts the input test pattern 102. The test pattern storage unit 20 stores the accepted test pattern 102. In the following step S130, the test pattern 102 accepted in step S120 is used.

[0086] FIG. 17( a ) shows a specific example of a temporal logic expression pattern 310 included in the test pattern 102 . In this example, the temporal logic expression pattern 310 has a "pattern expression", a "test content", and an "operand generation rule". A "pattern expression" is an expression consisting of a combination of temporal logic operators and operands, and indicates a base expression. "Test Content" shows an explanation of the content that can be confirmed by the pattern formula. The "operand generation rules" indicate rules for generating an object of a temporal logic formula by combining a temporal logic operator with each operand when there are multiple operands of the same type.

[0087] FIG. 17B shows a specific example of the temporal logic metamodel 320 included in the test pattern 102. In this example, the temporal logic metamodel 320 is made up of a diagram showing the correspondence between the test object and the operands of the temporal logic formula. The temporal logic metamodel 320 also shows the multiplicity of the correspondence.

[0088] ***Explanation of the Effects of the Third Embodiment*** The autonomous test device 100 according to this embodiment can accept any test pattern 102 and use the accepted test pattern 102. As a specific example, when the test target is changed, the autonomous test device 100 can accept a test pattern 102 that matches the change in the test target and use the accepted test pattern 102.

[0089] ***Other embodiments*** The above-described embodiments may be freely combined, or any of the components in each embodiment may be modified, or any of the components in each embodiment may be omitted. Moreover, the embodiments are not limited to those shown in the first to third embodiments, and various modifications are possible as necessary. The procedures explained using the flowcharts and the like may be modified as appropriate.

[0090] Various aspects of the present disclosure are summarized below as appendices.

[0091] (Appendix 1) An autonomous test device that performs model checking on a test target including a plurality of products, a test execution determination unit that determines whether or not to execute a test on the test object by using a test status indicating a version of a target function of another product that is communicatively connected to a target product included in the test object at the time when the test on the target function was executed and product update information that is information indicating an update status of the target function and is information indicating the version of the target function; a temporal logic formula generation unit which, when it is determined that a test for the test target is to be executed, generates an object description of a temporal logic formula using multiplicity information indicating the multiplicity of each stereotype corresponding to each product included in the test target, metamodel information indicating the relationship between each operand name and each stereotype, and pattern information indicating the relationship between a template of a temporal logic formula and a description rule which is a rule for describing an object of a temporal logic formula; An autonomous test device comprising:

[0092] (Appendix 2) 2. The autonomous test device according to claim 1, wherein the temporal logic formula generation unit generates a temporal logic formula used in model checking of the test subject based on the generated object description.

[0093] (Appendix 3) The autonomous test device further comprises: a test execution unit that executes model checking on the test target using the generated temporal logic formula and a model checking tool that executes model checking; 3. An autonomous test device according to claim 1 or 2, comprising:

[0094] (Appendix 4) The autonomous test device further comprises: a test model analysis unit that generates the multiplicity information based on a class diagram showing a relationship between the target product and each product other than the target product among the products included in the test target, and a test model showing a state transition of the target product; 4. An autonomous test apparatus according to claim 1, comprising:

[0095] (Appendix 5) The autonomous test device further comprises: A test pattern analysis unit that generates the metamodel information based on a test pattern that indicates a temporal logic expression pattern and a temporal logic expression metamodel. Equipped with the temporal logic expression pattern indicates a pattern expression of a temporal logic expression corresponding to a test content, and, in the case where there are a plurality of operands of the same type, a rule for generating an object of a temporal logic expression by combining a temporal logic operator with each operand; The autonomous testing device according to any one of appendices 1 to 4, wherein the temporal logic metamodel indicates a correspondence between a stereotype corresponding to each product included in the test subject, an operand of a temporal logic formula, and a multiplicity corresponding to each correspondence. [Explanation of symbols]

[0096] 21 processor, 22 memory, 23 auxiliary storage device, 24 input / output IF, 25 communication device, 28 processing circuit, 29 signal line, 100 autonomous test device, 901 storage device, 10 test model storage unit, 11 test status storage unit, 12 analysis information storage unit, 13 logical expression storage unit, 20 test pattern storage unit, 902 processing device, 30 test model analysis unit, 40 test pattern analysis unit, 50 temporal logical expression generation unit, 51 stereotype number information, 52 object information, 53 pattern information, 60 test execution unit, 90 test execution judgment unit, 903 input / output device, 70 reception unit, 80 transmission unit, 101 test model, 102 test pattern, 103 test request information, 104 product update information, 105 test status, 106 multiplicity information, 107 metamodel information, 108 logical expression information, 109 Class diagram information, 200 Class diagram, 290 Temporal logic formula information, 310 Temporal logic formula patterns, 320 Temporal logic formula metamodel, 330 Assumption examples, 340 State transition description.

Claims

1. An autonomous test device that performs model checking on a test target including a plurality of products, a test execution determination unit that determines whether or not to execute a test on the test object by using a test status indicating a version of a target function of another product that is communicatively connected to a target product included in the test object at the time when the test on the target function was executed and product update information that is information indicating an update status of the target function and is information indicating the version of the target function; a temporal logic formula generation unit which, when it is determined that a test for the test target is to be executed, generates an object description of a temporal logic formula using multiplicity information indicating the multiplicity of each stereotype corresponding to each product included in the test target, metamodel information indicating the relationship between each operand name and each stereotype, and pattern information indicating the relationship between a template of a temporal logic formula and a description rule which is a rule for describing an object of a temporal logic formula; An autonomous test device comprising:

2. 2. The autonomous test device according to claim 1, wherein the temporal logic formula generation unit generates a temporal logic formula used in model checking of the test subject based on the generated object description.

3. The autonomous test device further comprises: a test execution unit that executes model checking on the test target using the generated temporal logic formula and a model checking tool that executes model checking; 3. The autonomous test device according to claim 1, further comprising:

4. The autonomous test device further comprises: a test model analysis unit that generates the multiplicity information based on a class diagram showing a relationship between the target product and each product other than the target product among the products included in the test target, and a test model showing a state transition of the target product; 3. The autonomous test device according to claim 1, further comprising:

5. The autonomous test device further comprises: A test pattern analysis unit that generates the metamodel information based on a test pattern that indicates a temporal logic expression pattern and a temporal logic expression metamodel. Equipped with the temporal logic expression pattern indicates a pattern expression of a temporal logic expression corresponding to a test content, and, in the case where there are a plurality of operands of the same type, a rule for generating an object of a temporal logic expression by combining a temporal logic operator with each operand; 3. The autonomous testing device according to claim 1, wherein the temporal logic metamodel indicates a correspondence between a stereotype corresponding to each product included in the test target and an operand of a temporal logic formula, and a multiplicity corresponding to each correspondence.

6. An autonomous testing method executed by an autonomous testing device that is a computer that executes model checking on a test target including a plurality of products, comprising: the autonomous test device determines whether to execute a test on the test object using a test status indicating a version of a target function of another product communicatively connected to a target product included in the test object at the time when the test on the target function was executed and product update information indicating an update status of the target function, the product update information being information indicating the version of the target function; When the autonomous test device determines to execute a test on the test object, the autonomous test method generates an object description of a temporal logic formula using multiplicity information indicating the multiplicity of each stereotype corresponding to each product included in the test object, metamodel information indicating the relationship between each operand name and each stereotype, and pattern information indicating the relationship between a template of a temporal logic formula and a description rule which is a rule for describing an object of a temporal logic formula.

7. An autonomous test program executed by an autonomous test device which is a computer that executes model checking on a test target including a plurality of products, a test execution determination process for determining whether or not to execute a test on the test object using a test status indicating a version of a target function of another product communicatively connected to a target product included in the test object at the time when the test on the target function was executed and product update information indicating an update status of the target function, the product update information being information indicating the version of the target function; a temporal logic formula generation process for generating an object description of a temporal logic formula using multiplicity information indicating the multiplicity of each stereotype corresponding to each product included in the test target, metamodel information indicating the relationship between each operand name and each stereotype, and pattern information indicating the relationship between a template of a temporal logic formula and a description rule which is a rule for describing an object of a temporal logic formula, when it is determined that a test for the test target is to be performed; An autonomous test program that causes the autonomous test device to execute the above.

Citation Information

Patent Citations

  • Information processing apparatus, information processing method and program

    JP2013228780A

  • Verification system and verification method

    JP2018077697A