Program, debugging device, debugging system and debugging method
Patent Information
- Application Number
- JP2024547026
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-03-29
- Publication Date
- 2026-03-05
- Estimated Expiration
- 2044-03-29
AI Technical Summary
Existing debugging methods for programmable display devices require manual setup of test plans and creation of debugging evidence, which is labor-intensive and inefficient.
A program that simulates user operations on a programmable display, generates operation signals based on user input and project data, and automatically produces a test report based on the display's log output, determining if all test items have been completed.
Facilitates easy generation of a test report during debugging, automatically identifying and notifying users of any omitted test items, reducing manual effort and improving efficiency.
Smart Images

Figure 00000009_0000 
Figure 00000009_0001 
Figure 00000010_0000
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a program, a debugging device, a debugging system, and a debugging method. [Background technology]
[0002] When designing the screen of a programmable display (Human Machine Interface: hereafter referred to as "HMI"), screen design software called drawing software is used. Data related to the screen design created with drawing software is called project data.
[0003] Project data created with drawing software needs to be debugged. When debugging, it is necessary to thoroughly check all conditions for the transitions to all created screens, the pressing of all created switches, boundary values for numerical input, and conditional branching of script statements.
[0004] Patent Document 1 discloses a debugging device that outputs coverage screen data that combines items including objects, devices, and execution conditions displayed on the operation screen of a display device, and can check whether all the execution conditions that have actually been set have been performed using a simulation function based on the coverage screen data. The debugging device of Patent Document 1 makes debugging verification easy. Note that coverage indicates that all items to be tested have been tested without omission, or that there are omissions in items to be tested. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] JP 2006-155158 A Summary of the Invention [Problem to be solved by the invention]
[0006] However, when debugging using the debugging device of Patent Document 1, it is necessary to manually set in advance which items are to be the targets of coverage measurement and create a test plan. Furthermore, in order to create evidence of the debugging, it is necessary to create a test report that reflects the results of the debugging even after debugging. A test plan is a summary of the items to be tested. A test report is a document that shows that all items to be tested have been tested without omission and indicates the test results of each test item. Therefore, creating evidence of the debugging is a lot of work.
[0007] In view of the above circumstances, an object of the present disclosure is to provide a program or the like that can easily generate a test report when debugging the screen design of a programmable display. [Means for solving the problem]
[0008] In order to achieve the above object, the program according to the present disclosure comprises: Computer, a simulation means for simulating a user's operation on the programmable display by outputting an operation signal to the programmable display in order to debug a screen design of the programmable display; a report generating means for generating a test report of the debugging based on a log output by the programmable display device in response to the operation signal; Function as 、 the simulation means generates the operation signal based on an input operation by the user to the computer and project data related to the screen design; The test report generating means generates the test report based on the log and the project data. . Effect of the Invention
[0009] According to the present disclosure, a test report can be easily generated when debugging the screen design of a programmable display device. [Brief description of the drawings]
[0010] [Figure 1] FIG. 1 is a diagram showing an overall configuration of a debugging system according to an embodiment of the present disclosure. [Diagram 2]FIG. 1 is a diagram illustrating an example of project data in a debugging system according to an embodiment of the present disclosure. [Diagram 3] FIG. 1 is a diagram illustrating an example of a log output by an HMI according to an embodiment of the present disclosure. [Figure 4] FIG. 1 is a diagram showing an example of a test report output by a debugging device according to an embodiment of the present disclosure. [Diagram 5] FIG. 1 is a diagram illustrating an example of a hardware configuration of a debugging device according to an embodiment of the present disclosure. [Figure 6] 1 is a flowchart showing an example of a debugging operation performed by a debugging device according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] Hereinafter, a debugging system according to an embodiment of the present disclosure will be described with reference to the drawings. In each drawing, the same or equivalent parts are denoted by the same reference numerals.
[0012] (Embodiment) A debugging system 1 according to an embodiment will be described with reference to Fig. 1. The debugging system 1 includes an HMI 20 that is a programmable display device, and a debugging device 10 for debugging the screen design of the HMI 20. The debugging system 1 is an example of a debugging system according to the present disclosure.
[0013] The debugging device 10 is a debugging device for debugging the screen design of the HMI 20. The debugging device 10 is, for example, a personal computer in which drawing software is installed. The debugging device 10 simulates an operation on the HMI 20 by outputting an operation signal to the HMI 20 based on an input operation to the debugging device 10 by a user and project data related to the screen design of the HMI 20. As will be described later, the HMI 20 executes various operations in response to the operation signal and outputs a log of the execution result to the debugging device 10. The debugging device 10 generates and outputs a test report based on the log and project data output by the HMI 20. In addition, the debugging device 10 determines whether or not there is a omission in the test item based on the log and the project data, and when there is a omission in the test item, notifies the user that there is a omission in the user's input operation, and when there is no omission in the test item, notifies the user that debugging has been completed. The functional configuration of the debugging device 10 will be described later. The debugging device 10 is an example of a debugging device according to the present disclosure.
[0014] The HMI 20 is a programmable display (HMI). The HMI 20 displays a screen based on project data created by drawing software and accepts operations from a user. However, in debugging the HMI 20 by the debugging system 1, the HMI 20 accepts an operation signal from the debugging device 10 instead of accepting an operation from a user. This allows the user to simulate an operation on the HMI 20 by inputting an operation on the debugging device 10. The HMI 20 executes various operations in response to the operation signal. For example, when the project data includes data on a plurality of screens and the operation signal is an operation for screen transition, the HMI 20 executes an operation for screen transition. The HMI 20 outputs a log of the execution result of the operation to the debugging device 10. The HMI 20 is an example of a programmable display according to the present disclosure.
[0015] With reference to FIG. 2, an example of project data related to screen design created by drawing software will be described. The project data shown in FIG. 2 includes data related to screen switching settings, data related to screen group settings, data related to object settings, and data related to script settings. The screen switching settings data and screen group settings data allow multiple screens to be switched by operations on the HMI 20. The object settings allow objects that can accept user operations, such as switches and numerical input objects, to be displayed on the screen. The script settings are settings related to script statements executed on the HMI 20. Although only one script statement is set in FIG. 2, the script settings may include settings related to multiple script statements. Furthermore, one script statement usually includes one or more conditional branches. Note that character strings such as GD100 and GB100 shown in FIG. 2 represent device names.
[0016] An example of a log output by the HMI 20 in response to an operation signal will be described with reference to Fig. 3. The log shown in Fig. 3 includes elements such as screen switching, objects, and scripts that are the targets of operations by the operation signal, the target device name indicating the target device, the input value input to the target device, and the output information output as a result of the operation. The debugging device 10 analyzes this log against the project data, generates a test report, and determines whether there are any omissions in the user's input operations.
[0017] For example, by analyzing the screen switching settings and screen group settings indicated by the project data and the screen switching items indicated by the log, test results regarding the comprehensiveness of screen transitions can be obtained, and it can be determined whether there are any missing input operations related to screen transitions.
[0018] Similarly, by analyzing the object settings shown in the project data and the object items shown in the log, the test results can be obtained for the comprehensiveness of the pressing of the switches displayed on the screen, and it can be determined whether all the switches have been pressed or whether there are any switches that have not been pressed and there is a omission of an input operation. For example, in the project data shown in Figure 2, there are two switches, a switch with a device name of GB100 and a switch with a device name of GB101. On the other hand, in the log shown in Figure 3, it can be seen that the switch with the device name of GB100 is on / off, but the pressing status of the switch with the device name of GB101 is unknown. When the log shown in Figure 3 does not include a log related to the switch with the device name of GB101, there is a omission in the pressing of the switch. Note that examples of switches displayed on the screen include push button switches, slide switches, and rotary switches. Also, examples of operations on the switches include touch operations and swipe operations. Since all of these operations are performed by pressing the screen, these operations are all referred to as "pressing".
[0019] Similarly, by analyzing the object settings indicated by the project data and the object items indicated by the log, the test results can be obtained for the coverage of boundary values in the numeric input object, and it can be determined whether there are any omissions in the input of boundary values. Boundary values are the lower and upper limits that can be input to the numeric input object. Coverage of boundary values means inputting the boundary value and the next value that exceeds the boundary value into the numeric input object to check the operation. For example, as shown in Figure 2, since the numeric input object is an unsigned 16-bit object, only numbers between 0 and 65535 can be normally accepted. Therefore, the boundary values are 0 and 65535, and the next values that exceed the boundary value are -1 and 65536.
[0020] Similarly, by analyzing the script settings indicated by the project data and the script items indicated by the log, the test results can be obtained for the coverage of the conditions of the conditional branch included in the script statements, and it can be determined whether there is any missing input operation. For example, as shown in Figure 2, the script statement of script number 1 indicated by the script settings includes a conditional branch of whether to execute Path1 or Path2 depending on whether device GB100 is 1 or not. From the script items shown in Figure 3, it can be seen that both the case where GB100 is 1 and the other cases are executed, so in this case, each condition of the conditional branch is covered.
[0021] An example of a test report generated by the debugging device 10 will be described with reference to Fig. 4. The test report shown in Fig. 4 is generated based on the log shown in Fig. 3, but differs from the log in that instead of the "output information" item shown in Fig. 3, a "verification result" item with the same content is provided, and a "judgment result" item is also provided. The "judgment result" is compared with the project data shown in Fig. 2, and when there are no problems with the verification result, it is judged as "OK".
[0022] 1, the functional configuration of the debugging device 10 will be described. The debugging device 10 includes a project storage unit 100, an input unit 101, a simulation unit 102, a communication unit 103, a log acquisition unit 104, a log storage unit 105, a test report generation unit 106, a test report output unit 107, an error determination unit 108, a notification unit 109, and a display unit 110.
[0023] The project storage unit 100 stores project data related to the screen design of the HMI 20, which is created by drawing software. As described above, when the debugging device 10 is a personal computer in which drawing software is installed, the project data is usually created by the debugging device 10. However, the project data may be created by drawing software executed on a device other than the debugging device 10.
[0024] The input unit 101 receives an input operation from a user and outputs a signal corresponding to the user's input operation to the simulation unit 102. The input unit 101 includes input devices such as a keyboard and a mouse. Alternatively, the input unit 101 may be a touch screen integrated with a display unit 110 described below.
[0025] The simulation unit 102 generates an operation signal for simulating a user's operation on the HMI 20 based on the signal corresponding to the user's input operation output by the input unit 101 and the project data stored in the project storage unit 100, and outputs the operation signal to the communication unit 103. The simulation unit 102 is an example of a simulation means according to the present disclosure.
[0026] The communication unit 103 communicates with the HMI 20. In particular, the communication unit 103 transmits an operation signal output by the simulation unit 102 to the HMI 20, receives a log output by the HMI 20, and outputs it to a log acquisition unit 104 described later.
[0027] The log acquisition unit 104 acquires the log received by the communication unit 103 from the HMI 20 and stores it in a log storage unit 105 described below.
[0028] The log storage unit 105 stores the logs acquired and stored by the log acquisition unit 104 .
[0029] The report generation unit 106 generates a test report based on the log stored in the log storage unit 105 and the project data stored in the project storage unit 100. However, the test report is generated only when the omission determination unit 108 described below determines that there are no omissions in the user's input operations. This is because the test report indicates that all items to be tested have been tested without omissions. The report generation unit 106 outputs the generated test report to the report output unit 107. The report generation unit 106 is an example of a report generation means according to the present disclosure.
[0030] The report output unit 107 controls the display unit 110 described below to display the test report output by the report generation unit 106 on the display unit 110. This allows the user to check the test report. The report output unit 107 may also store data indicating the test report in a storage unit (not shown).
[0031] The leakage determination unit 108 determines whether or not there is a leakage in the test items required for debugging based on the log stored in the log storage unit 105 and the project data stored in the project storage unit 100. For example, when the project data is as shown in FIG. 2, the leakage determination unit 108 checks the log for the comprehensiveness of transitions to all screens, the comprehensiveness of pressing all switches, the comprehensiveness of boundary values of numerical inputs, and the comprehensiveness of conditions of conditional branches in script statements, and determines whether or not there is a leakage in the test items. For example, when some switches are not pressed, it determines that there is a leakage in pressing the switches. The leakage determination unit 108 outputs a signal indicating the determination result to the notification unit 109. The leakage determination unit 108 is an example of a leakage determination means according to the present disclosure.
[0032] When the omission determination unit 108 determines that there is an omission in a required test item, the notification unit 109 controls the display unit 110 described below to display on the display unit 110 that there is an omission in the user's input operation, thereby notifying the user. As described above, the log is output by the HMI 20 in response to the operation signal output by the simulation unit 102, and the operation signal is based on the input operation by the user to the input unit 101. Therefore, when there is an omission in a required test item, there is an omission in the user's input operation. The notification unit 109 is an example of a notification means according to the present disclosure.
[0033] In addition, when the omission determination unit 108 determines that there are no omissions in the required test items, the notification unit 109 controls the display unit 110 described below to display on the display unit 110 that debugging has been completed, thereby notifying the user.
[0034] The display unit 110 displays the test report in response to control of the report output unit 107. The display unit 110 displays that there is an omission in the user's input operation and that debugging has been completed in response to control of the notification unit 109. The display unit 110 is, for example, a liquid crystal display. The display unit 110 may be a touch screen integrated with the input unit 101.
[0035] An example of a hardware configuration of the debugging device 10 will be described with reference to Fig. 5. The debugging device 10 shown in Fig. 5 is realized by a computer such as a personal computer or a microcontroller.
[0036] The debugging device 10 includes a processor 1001, a memory 1002, an interface 1003, and a secondary storage device 1004, which are connected to each other via a bus 1000.
[0037] The processor 1001 is, for example, a CPU (Central Processing Unit). The processor 1001 loads an operating program stored in a secondary storage device 1004 into a memory 1002 and executes the program, thereby implementing each function of the debugging device 10.
[0038] The memory 1002 is a main storage device formed of, for example, a RAM (Random Access Memory). The memory 1002 stores an operating program that the processor 1001 reads from the secondary storage device 1004. The memory 1002 also functions as a working memory when the processor 1001 executes the operating program.
[0039] The interface 1003 is an I / O (Input / Output) interface such as a serial port, a USB (Universal Serial Bus) port, a network interface, etc. The interface 1003 realizes the function of the communication unit 103.
[0040] The secondary storage device 1004 is, for example, a flash memory, a hard disk drive (HDD), or a solid state drive (SSD). The secondary storage device 1004 stores an operation program executed by the processor 1001. The secondary storage device 1004 realizes the functions of the project storage unit 100 and the log storage unit 105.
[0041] An example of the operation of generating a test report by the debugging device 10 will be described with reference to Fig. 6. The operation shown in Fig. 6 is executed, for example, when a user operates the debugging device 10 to start debugging. It is also assumed that project data has already been saved in the project storage unit 100 when the operation shown in Fig. 6 is executed.
[0042] The simulation unit 102 of the debugging device 10 generates an operation signal based on an input operation by a user to the input unit 101 and project data stored in the project storage unit 100 (step S1). In this step, an operation signal corresponding to an input operation performed by the user to the debugging device 10 for debugging is generated.
[0043] The simulation unit 102 outputs the operation signal generated in step S1 to the HMI 20 via the communication unit 103 of the debugging device 10, thereby simulating a user operation on the HMI 20 (step S2). In this step, an input operation performed by a user on the debugging device 10 for debugging is simulated by the HMI 20, and the HMI 20 executes an operation corresponding to the operation signal and outputs a log.
[0044] The log acquisition unit 104 of the debugging device 10 acquires the log output by the HMI 20 in response to the operation signal via the communication unit 103, and stores the log in the log storage unit 105 (step S3).
[0045] The omission determination unit 108 of the debugging device 10 determines whether there are any omissions in the test items required for debugging based on the log stored in the log memory unit 105 in step S3 and the project data stored in the project memory unit 100 (step S4).
[0046] When it is determined in step S4 that there is a omission (step S5: Yes), the notification unit 109 of the debugging device 10 controls the display unit 110 to notify the user that there is a omission in the input operation (step S6). Then, the debugging device 10 repeats the operation from step S1 to reflect the new input operation by the user in the debugging.
[0047] When it is determined in step S4 that there is no omission (step S5: No), notification unit 109 controls display unit 110 to notify that debugging has been completed (step S7).
[0048] The report generating unit 106 of the debugging device 10 generates a test report based on the log stored in the log storage unit 105 and the project data stored in the project storage unit 100 (step S8).
[0049] The test report output unit 107 of the debugging device 10 controls the display unit 110 to display the test report generated in step S8 (step S9), and the debugging device 10 then ends the debugging operation.
[0050] The debugging system 1 according to the embodiment has been described above. The debugging device 10 outputs an operation signal to the HMI 20 for debugging based on the input operation by the user to the debugging device 10 and project data related to the screen design of the HMI 20, thereby simulating the operation of the user on the HMI 20. The debugging device 10 generates a test report based on the log output by the HMI 20 in response to the operation signal and the project data. Therefore, the debugging system 1 can easily generate a test report when debugging the screen design of the HMI 20.
[0051] Furthermore, the debugging device 10 judges whether or not there is a missing required test item based on the log and project data, and if there is a missing item, notifies the user of the missing input operation. This allows the user to easily recognize the missing input operation during debugging, making it easier to perform additional operations during debugging.
[0052] (Modification) In the debugging system 1 according to the first embodiment, the focus is on one debugging session, but the debugging system 1 can be used for the second and subsequent debugging sessions. In addition, the test report generated during the previous debugging session can be used as a test plan during the second and subsequent debugging sessions. This allows the results of the test report from the previous debugging session to be used for parts that have not been changed since the previous debugging session, and saves the trouble of repeating the same operations during the current debugging session.
[0053] 5, the debugging device 10 includes a secondary storage device 1004. However, the present invention is not limited to this, and the secondary storage device 1004 may be provided outside the debugging device 10, and the debugging device 10 and the secondary storage device 1004 may be connected via an interface 1003. In this configuration, removable media such as a USB flash drive or a memory card may also be used as the secondary storage device 1004.
[0054] 5, the debugging device 10 may be configured by a dedicated circuit using an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), etc. In the hardware configuration shown in FIG. 5, a part of the functions of the debugging device 10 may be realized by a dedicated circuit connected to the interface 1003, for example.
[0055] The program used in the debugging device 10 can be distributed by storing it in a computer-readable recording medium such as a CD-ROM (Compact Disc Read Only Memory), a DVD (Digital Versatile Disc), a USB flash drive, a memory card, a HDD, etc. Then, by installing such a program in a specific or general-purpose computer, the computer can function as the debugging device 10.
[0056] Furthermore, the above-mentioned program may be stored in a storage device owned by another server on the Internet, and the above-mentioned program may be downloaded from that server.
[0057] Various embodiments and modifications of the present disclosure are possible without departing from the broad spirit and scope of the present disclosure. The above-described embodiments are for explaining the present disclosure and do not limit the scope of the present disclosure. In other words, the scope of the present disclosure is indicated by the claims, not the embodiments. Various modifications made within the scope of the claims and within the scope of the disclosure equivalent thereto are considered to be within the scope of the present disclosure. [Explanation of symbols]
[0058] 1 debugging system, 10 debugging device, 20 HMI, 100 project memory unit, 101 input unit, 102 simulation unit, 103 communication unit, 104 log acquisition unit, 105 log memory unit, 106 report generation unit, 107 report output unit, 108 leak determination unit, 109 notification unit, 110 display unit, 1000 bus, 1001 processor, 1002 memory, 1003 interface, 1004 secondary storage device.
Claims
1. Computer, a simulation means for outputting an operation signal to the programmable display device to simulate a user's operation on the programmable display device in order to debug a screen design of the programmable display device; a report generation means for generating a test report for the debugging based on a log output by the programmable display device in response to the operation signal; It functions as the simulation means generates the operation signal based on an input operation by the user to the computer and project data related to the screen design; the test report generation means generates the test report based on the log and the project data. program.
2. the project data includes data relating to a plurality of screens; The test report includes information regarding the completeness of transitions of the plurality of screens. The program according to claim 1.
3. the project data includes data regarding a plurality of switches; The test report includes information regarding the completeness of pressing the plurality of switches. The program according to claim 1 or 2.
4. the project data includes data regarding numerical input; The test report includes information regarding the coverage of boundary values in the numerical input. The program according to claim 1 or 2.
5. the project data includes data regarding script statements including conditional branches; The test report includes information regarding the comprehensiveness of the conditions of the conditional branch. The program according to claim 1 or 2.
6. The computer further comprises: an omission determination means for determining whether or not there is an omission in the test items required for the debugging based on the log and the project data; a notification means for notifying the user that there is an omission in the input operation by the user when the omission determination means determines that there is an omission in the required test item; 3. The program according to claim 1 or 2, which causes the program to function as:
7. The notifying means further notifies the user that the debugging has been completed when the omission determining means determines that there is no omission in the required test items. The program according to claim 6.
8. A debugging device, a simulation means for outputting an operation signal to the programmable display device to simulate a user's operation on the programmable display device in order to debug a screen design of the programmable display device; a report generation means for generating a test report of the debugging based on a log output by the programmable display device in response to the operation signal; Equipped with the simulation means generates the operation signal based on an input operation to the debugging device by the user and project data related to the screen design; the test report generation means generates the test report based on the log and the project data. Debugging equipment.
9. A debugging system comprising the debugging device according to claim 8 and the programmable display.
10. The computer outputting an operation signal to the programmable display device to simulate a user's operation on the programmable display device in order to debug a screen design of the programmable display device; generating a test report of the debugging based on a log output by the programmable display device in response to the operation signal; the operation signal is generated based on an input operation by the user to the computer and project data related to the screen design; The test report is generated based on the log and the project data. How to debug.