Information processing device, test method, and test program
The information processing device addresses the challenges of RPA script testing by identifying and stopping automatic operations on GUI components, ensuring safe testing in a real environment while adapting to business system changes.
Patent Information
- Application Number
- JP2024526102
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-06-07
- Publication Date
- 2025-10-07
- Estimated Expiration
- 2042-06-07
AI Technical Summary
Conventional RPA script testing technologies require comprehensive recording of operations and screen transitions in a real environment, which is cumbersome and needs repetition if the business system is modified, and cannot detect defects in the real environment due to development environment differences.
An information processing device that includes a judgment unit to identify automatic operations on GUI components, an instruction unit to stop such operations, and storage units to log script and user operations, allowing safe testing in a real environment parallel to business operations.
Enables safe testing of RPA scripts in a real environment by stopping automatic operations on GUI components, preventing data affecting changes and allowing parallel testing with business operations, and adapting to dynamic changes in the business system.
Smart Images

Figure 0007750409000001 
Figure 0007750409000002 
Figure 0007750409000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing device, a test method, and a test program. [Background technology]
[0002] Robotics Process Automation (RPA) has traditionally been known as a way to streamline work on business terminals in companies. RPA automates these procedures by loading and executing scripts that describe operational procedures on business terminals.
[0003] When implementing the aforementioned RPA, it is necessary to thoroughly test the script before implementation to ensure that it operates as intended. However, testing RPA scripts in a live environment carries the risk of unexpected malfunctions, such as deleting business data or accidentally modifying it.
[0004] It is also possible to test RPA scenarios in the test development environment created during the development of the business system, but there may be cases where the development environment is not available because the business system in question was developed by an outsourced company, or where defects that may occur in the real environment cannot be detected in the development environment due to differences between the development environment and the real environment.
[0005] Furthermore, there is a known technology for testing RPA scripts that comprehensively records the operations and input data performed in a real environment and then reproduces screen transitions similar to those in the real environment, thereby creating a test environment (see, for example, Non-Patent Document 1). This technology makes it possible to pre-test RPA scripts in a test environment that mimics the behavior of a business system in a real environment, even when a development environment is not available. [Prior art documents] [Non-patent literature]
[0006] [Non-Patent Document 1] “ACT-RPA Tester, an RPA testing support tool,” [online], [Retrieved May 13, 2022], Internet: https: / / www.bbs.co.jp / system / actrpatester / Summary of the Invention [Problem to be solved by the invention]
[0007] However, the above-mentioned conventional technology has a problem in that, in order to accurately simulate a business system in a real environment, it is necessary to comprehensively record operations, input data, and screen transitions in the real environment in advance.Furthermore, the above-mentioned conventional technology has a problem in that, for example, if the business system is modified and the behavior of the business system changes, the above-mentioned recording work needs to be repeated. [Means for solving the problem]
[0008] In order to solve the above-mentioned problems and achieve the object, the information processing device of the present invention is characterized by comprising a judgment unit that makes a first judgment as to whether a next element described in a script executed by an RPA tool that is a module to be monitored is an automatic operation on a GUI component, an instruction unit that instructs the module to execute the script and, if the judgment unit judges that it is an automatic operation, to stop the automatic operation, a module log storage unit that stores the execution log of the script by the module in a memory unit, and a user operation storage unit that stores the content of the operation by the user in the memory unit. [Effects of the Invention]
[0009] According to the present invention, by executing an RPA script in a real environment operated by a business employee and stopping automatic operations on GUI (Graphical User Interface) components in the RPA script being executed, it is possible to safely test the RPA script in the real environment in parallel with the business employee's original work. [Brief explanation of the drawings]
[0010] [Figure 1] FIG. 1 is a diagram showing the configuration of a system including an information processing device according to an embodiment. [Figure 2] FIG. 2 is a block diagram showing the configuration of the information processing device according to the embodiment. [Figure 3] FIG. 3 is a diagram illustrating a specific example of information processing according to the embodiment. [Figure 4] FIG. 4 is a diagram illustrating a specific example of information processing according to the embodiment. [Figure 5] FIG. 5 is a diagram illustrating a specific example of information processing according to the embodiment. [Figure 6] FIG. 6 is a diagram showing a specific example of information processing according to the embodiment. [Figure 7] FIG. 7 is a diagram illustrating an example of information stored in the test result storage unit by a specific example of information processing according to the embodiment. [Figure 8] FIG. 8 is a flowchart showing the flow of information processing in the information processing device according to the embodiment. [Figure 9] FIG. 9 illustrates an example of a computer that executes a test program. DETAILED DESCRIPTION OF THE INVENTION
[0011] Hereinafter, embodiments of the information processing device, the test method, and the test program according to the present application will be described in detail with reference to the accompanying drawings. Note that the information processing device, the test method, and the test program according to the present application are not limited to these embodiments.
[0012] [1. System configuration example] 1 is a diagram showing the configuration of a system including an information processing device according to this embodiment. The system shown in Fig. 1 includes an information processing device 10, an RPA tool 20, and a user operation terminal 30 operated by a user.
[0013] The information processing device 10 instructs the RPA tool 20 to execute an RPA script and also instructs the RPA tool 20 to stop automatic operations on GUI components in the script by the RPA tool 20. Then, the information processing device 10 stores the execution log of the RPA tool 20 and the operation log input to the user operation terminal 30 in a storage unit.
[0014] Specifically, the information processing device 10 first transmits an instruction to the RPA tool 20 input to the information processing device 10 to execute an RPA script to be tested, which has also been input to the information processing device 10. Note that the above-mentioned input is performed based on the file paths of the RPA tool 20 and the RPA script, etc.
[0015] Then, the information processing device 10 determines whether the next execution element by the RPA tool 20 described in the RPA script is an automatic operation on a GUI component. If it is determined that the next element is an automatic operation on a GUI component, the information processing device 10 transmits an instruction to the RPA tool 20 to stop the automatic operation on the GUI component.
[0016] The information processing device 10 also stores in a storage unit an execution log of the RPA script by the RPA tool 20. Furthermore, the information processing device 10 stores in a storage unit an operation log of the user on the user operation terminal 30, which is performed in parallel with the execution of the RPA script by the RPA tool 20.
[0017] The RPA tool 20 is a script execution module that executes an RPA script. The RPA tool 20 can externally control the start and end of the tool, and the start, stop, pause, and restart of the RPA script execution. In addition, the RPA tool 20 has a function to externally provide information on the next execution element of the RPA script, information on GUI components for automatic operations and data reading, etc. The user operation terminal 30 is a terminal where the user operates GUI components related to the actual business content.
[0018] 2. Configuration of Information Processing Device 10 Next, the configuration of the information processing device 10 shown in Fig. 1 will be described with reference to Fig. 2. Fig. 2 is a diagram showing an example of the configuration of the information processing device according to the embodiment. As shown in Fig. 2, the information processing device 10 according to the embodiment includes a communication unit 11, a control unit 12, and a storage unit 13. Furthermore, the information processing device 10, the RPA tool 20, and the user operation terminal 30 are connected to each other via wire or wirelessly so as to be able to communicate with each other.
[0019] The communication unit 11 is realized by, for example, a network interface card (NIC) etc. The communication unit 11 is connected to the RPA tool 20 and the user operation terminal 30 by wire or wirelessly, and transmits and receives information between the RPA tool 20 and the user operation terminal 30.
[0020] The storage unit 13 is realized by a storage device such as a RAM (Random Access Memory), a hard disk, etc. The storage unit 13 stores data and programs required for various processes by the control unit 12, and has a test result storage unit 13a that is particularly closely related to the present invention.
[0021] The test result storage unit 13a stores, in chronological order, each piece of information stored in the module log storage unit 12c (described later) and the user operation storage unit 12d (described later). For example, the test result storage unit 13a stores, as information stored in the module log storage unit 12c, information on the position within the script of elements described in the RPA script and information that can identify GUI components that are targets of automatic operation or reading by the RPA tool 20, together with timestamps.
[0022] Furthermore, for example, the test result storage unit 13a stores information stored by the user operation storage unit 12d, which is a log of operations on GUI components input by the user to the user operation terminal 30, together with timestamps.
[0023] The control unit 12 is realized by a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like executing various programs stored in a storage device inside the information processing device 10 using RAM as a work area. The control unit 12 is also realized by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array). The control unit 12 has a determination unit 12a, an instruction unit 12b, a module log storage unit 12c, and a user operation storage unit 12d.
[0024] The determination unit 12a makes a first determination as to whether the next element described in the script executed by the module to be monitored is an automatic operation on a GUI component, and then notifies the instruction unit 12b and the module log storage unit 12c of the result of the determination.
[0025] For example, the determination unit 12a determines whether the next element is an automatic operation on a GUI component based on information about the next element of the RPA script provided from the RPA tool 20 via the communication unit 11. Thereafter, the determination unit 12a notifies the instruction unit 12b and the module log storage unit 12c of the determination result.
[0026] Furthermore, when the determination unit 12a determines in the first determination that the next element to be performed by the module is not an automatic operation, the determination unit 12a may perform a second determination as to whether the next element is reading information from a GUI component, and notify the module log storage unit 12c of the determination result.
[0027] For example, if the determination unit 12a determines that the next element is an automatic operation through the first determination described above, it notifies the instruction unit 12b and the module log storage unit 12c of the determination result. On the other hand, if the first determination determines that the next element is not an automatic operation, it determines whether the next element is reading information from a GUI component based on information about the next element provided from the RPA tool 20 described above. Then, it notifies the module log storage unit 12c of the determination result.
[0028] The instruction unit 12b instructs the RPA tool 20 to stop the automatic operation when the instruction to execute the script and the determination unit 12a determine that the operation is an automatic operation. For example, the instruction unit 12b instructs the RPA tool 20, which has received an RPA script via the communication unit 11, to execute the RPA script that has also been received. Then, for example, in response to a notification by the determination unit 12a of the determination result that the next element is an automatic operation on a GUI component, the instruction unit 12b instructs the RPA tool 20 to stop the automatic operation on the GUI component.
[0029] Furthermore, even if the instruction unit 12b instructs the RPA tool 20 to stop the automatic operation as described above, the execution of the RPA script by the RPA tool 20 itself is not stopped, and only the automatic operation on the GUI component is stopped.
[0030] The module log storage unit 12c stores the execution log of the script by the module in a storage unit. For example, the module log storage unit 13c stores, as the execution log, the position information of the next element in the script together with a timestamp in chronological order in the test result storage unit 13a.
[0031] Furthermore, when the determination unit 12a determines that the next element to be performed by the module is an automatic operation, the module log storage unit 12c may store, in the memory unit in chronological order as an execution log, position information of the next element within the script and information regarding the GUI component that is the target of the automatic operation by the module.
[0032] For example, in response to notification by the judgment unit 12a of the judgment result that the next element is an automatic operation on a GUI component, the module log storage unit 12c stores, as an execution log, in the test result memory unit 13a in chronological order together with a timestamp, information on the position of the next element within the script and information that can identify the GUI component that is the target of the automatic operation by the module.
[0033] Furthermore, when the second determination by the determination unit 12a determines that the next element is to be read, the module log storage unit 12c may store, in the memory unit in chronological order, the position information of the next element in the script and information about the GUI component that is the target of reading by the module.
[0034] For example, in response to notification of the determination result by the determination unit 12a that the next element is a read to a GUI component, the module log storage unit 12c stores, as an execution log, in the test result memory unit 13a in chronological order together with a timestamp, information on the position of the next element in the script and information that can identify the GUI component that is the target of reading by the module.
[0035] The information that can identify the GUI component may be, for example, information about the position of the GUI component on the screen, a screen capture, or the like.
[0036] Furthermore, for example, if the next element uses a variable in a command statement or the like, the module log storage unit 12c may store the value of the variable in the test result storage unit 13a in addition to the above information.
[0037] Furthermore, for example, the module log storage unit 12c may store the content of an operation that the RPA tool attempted to perform on a corresponding GUI component in the test result storage unit 13a. Note that the content of an operation that the RPA tool attempted to perform can be, for example, a click or double-click in the case of a mouse operation, or an input value in the case of a text input operation.
[0038] The user operation storage unit 12d stores the contents of operations performed by the user in a storage unit. For example, the user operation storage unit 12d stores a log of operations performed by the user on the GUI components input to the user operation terminal 30 in parallel with the execution of the RPA script by the RPA tool 20 in chronological order together with timestamps in the test result storage unit 13a.
[0039] [3. Specific examples of information processing] Here, the test processing of the RPA script by the information processing device 10 will be described using the examples of Figures 3 to 6. Figures 3 to 6 are diagrams showing a specific example of information processing according to the embodiment. In the example of Figures 3 to 6, the business employee inputs name: Denden Jiro, address: Tsukuba, and selects the change radio button. In response to this, the RPA tool attempts to input name: Denden Hanako, address: Musashino, and select the change radio button.
[0040] For example, the instruction unit 12b instructs the RPA tool 20 to execute an RPA script to be tested while the user is working (see FIG. 3). Then, the determination unit 12a determines whether the next element of the RPA script executed by the RPA tool 20 is an automatic operation on a GUI component.
[0041] In the example of Figure 4, the next element of the RPA script executed by the RPA tool 20 is (3) (read the line at the reading position of the input data), which is not an automatic operation on a GUI component, so the judgment unit 12a judges that the next element is not an automatic operation on a GUI component, and the RPA tool 20 executes element (3).
[0042] 5, the next element of the RPA script executed by the RPA tool 20 is (5) (enter a nomination value in the name text box), which is an automatic operation on a GUI component. In this case, the determination unit 12a determines that the next element is an automatic operation on a GUI component, and notifies the instruction unit 12b of the determination result.
[0043] Upon receiving the notification, the instruction unit 12b instructs the RPA tool 20 to stop the automatic operation on the GUI component. As a result, the RPA tool 20 stops only the operation of entering Denden Hanako as the name, which is the automatic operation on the GUI component in element (5), and executes element (5).
[0044] Also, in the example of Figure 6, the next element of the RPA script to be executed by the RPA tool 20 is (10) (click the new registration button), but because the change radio button is selected by the previous element (9), the new registration button is not activated, and the RPA tool 20 cannot execute element (10).
[0045] Then, the module log storage unit 12c stores in the test result storage unit 13a the execution logs of each element (1) to (10) by the RPA tool 20. Furthermore, the user operation storage unit 12d stores in the test result storage unit 13a the name: Denden Jiro, address: Tsukuba, and the selection of the change radio button, which were input to the user operation terminal 30, together with a timestamp.
[0046] Here, a specific example of information stored in the test result storage unit 13a will be described using the example of Fig. 7. Fig. 7 is a diagram showing an example of information stored in the test result storage unit 13a by a specific example of information processing according to the embodiment. The test result storage unit 13a stores information on the execution log of the RPA tool 20 and the operation log by the user stored above in chronological order.
[0047] 7, the information stored in the test result storage unit 13a indicates that elements (1) to (9) have been executed, but element (10) cannot be executed despite the business screen displayed on the user operation terminal 30 transitioning to the screen expected by the RPA script. It is also possible to confirm the GUI component that the RPA tool attempted to operate and the operation content thereof.
[0048] 4. An example of information processing by an information processing device Next, information processing of the information processing device 10 will be described with reference to Fig. 8. Fig. 8 is a flowchart showing the flow of information processing in the information processing device according to the embodiment. The information processing device 10 receives input of, for example, the RPA tool 20 and an RPA script (step S101).
[0049] When the RPA tool 20 and the RPA script of the information processing device 10 have received input (step S101; Yes), the instruction unit 12b instructs the RPA tool 20 to execute the RPA script (step S102). On the other hand, when the RPA tool 20 and the RPA script have not received input (step S101; No), the information processing device 10 waits until the RPA tool 20 and the RPA script receive input.
[0050] Then, the instruction unit 12b checks whether the next element in the RPA script is executable (step S103). If the next element in the RPA script is executable (step S103; Yes), the determination unit 12a determines whether the next element is an automatic operation on a GUI component (step S105). On the other hand, if the next element is not executable (step S103; No), the information processing device 10 stops the RPA tool 20 (step S104).
[0051] If the determination unit 12a determines that the next element is an automatic operation on a GUI component (step S105; Yes), the instruction unit 12b instructs the RPA tool 20 to stop the automatic operation on the GUI component (step S106). Thereafter, the module log storage unit 12c stores the execution log of the RPA tool 20 (step S107). On the other hand, if it is determined that the next element is not an automatic operation on a GUI component (step S105; No), the module log storage unit 12c stores the execution log of the RPA tool 20 in the memory unit (step S107). Thereafter, the information processing device 10 returns to step S103 and continues the process.
[0052] 5. Effects of the embodiment As described above, the information processing device 10 according to this embodiment instructs the RPA tool 20 to execute an RPA script, and also instructs the RPA tool 20 to stop automatic operations on GUI components in the script by the RPA tool 20. The information processing device 10 then stores the execution log of the RPA tool 20 and the operation log input to the user operation terminal 30 in chronological order.
[0053] As a result, the information processing device 10 can instruct the RPA tool 20 in the script to stop automatic operations on GUI components, thereby preventing operations that affect data in the real environment, thereby achieving the effect of allowing RPA script testing to be safely performed in the real environment in parallel with the business personnel's original work.
[0054] In addition, when the determination unit 12a determines that the next element performed by the RPA tool 20 is an automatic operation, the module log storage unit 12c of the information processing device 10 stores, in the memory unit, as an execution log, the position information of the next element within the script and information regarding the GUI component that is the target of the automatic operation by the RPA tool 20.
[0055] This has the effect that the information processing device 10 can confirm which GUI component is about to be operated by the RPA tool 20 in the actual environment, even if the information for identifying the GUI component changes between when the script is created and when it is executed due to a dynamic change in the business screen.
[0056] Furthermore, when it is determined that the next element is not an automatic operation, the judgment unit 12a of the information processing device 10 judges whether the next element is reading information from a GUI component, and when it is determined that the next element is reading, the module log storage unit 12c stores in the memory unit the position information of the next element within the script and information regarding the GUI component that is the target of reading by the module.
[0057] This has the effect of allowing the information processing device 10 to confirm which GUI component was about to be read by the RPA tool 20 in the actual environment, similar to the case where the next element is determined to be an automatic operation as described above.
[0058] [6. System Configuration, etc.] Of the processes described in the above embodiments, some of the processes described as being performed automatically can also be performed manually. Alternatively, all or some of the processes described as being performed manually can be performed automatically using known methods. In addition, the information including the processing procedures, specific names, various data, and parameters shown in the above documents and drawings can be changed as desired unless otherwise specified. For example, the various information shown in each drawing is not limited to the information shown in the drawings.
[0059] Furthermore, the components of each device shown in the figure are functional concepts and do not necessarily have to be physically configured as shown. In other words, the specific form of distribution and integration of each device is not limited to that shown, and all or part of them can be functionally or physically distributed and integrated in any unit depending on various loads and usage conditions. Furthermore, all or any part of the processing functions performed by each device can be realized by a CPU and a program analyzed and executed by the CPU, or can be realized as hardware using wired logic.
[0060] 1 may be held in a storage server or the like, instead of being held by the information processing device 10. In this case, the information processing device 10 acquires various pieces of information by accessing the storage server.
[0061] [7. Hardware Configuration] 9 is a diagram showing an example of a hardware configuration The information processing device 10 according to the embodiment described above is realized by a computer 1000 having a configuration as shown in FIG.
[0062] 9 is a diagram showing an example of a computer that executes a test program. The computer 1000 includes, for example, a memory 1010 and a CPU 1020. The computer 1000 also includes a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These components are connected by a bus 1080.
[0063] The memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012. The ROM 1011 stores, for example, a boot program such as a BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to a hard disk drive 1090. The disk drive interface 1040 is connected to a disk drive 1041. A removable storage medium such as a magnetic disk or optical disk is inserted into the disk drive 1041. The serial port interface 1050 is connected to, for example, a mouse 1110 and a keyboard 1120. The video adapter 1060 is connected to, for example, a display 1130.
[0064] The hard disk drive 1090 stores, for example, an OS (Operating System) 1091, an application program 1092, a program module 1093, and program data 1094. That is, a program that defines each process of the information processing device 10 is implemented as a program module 1093 in which code executable by the computer 1000 is written. The program module 1093 is stored, for example, in the hard disk drive 1090. For example, a program module 1093 for executing the same process as the functional configuration of the information processing device 10 is stored in the hard disk drive 1090. Note that the hard disk drive 1090 may be replaced with an SSD (Solid State Drive).
[0065] Furthermore, setting data used in the processing of the above-described embodiment is stored as program data 1094, for example, in memory 1010 or hard disk drive 1090. Then, CPU 1020 reads program module 1093 and program data 1094 stored in memory 1010 or hard disk drive 1090 into RAM 1012 as necessary and executes them.
[0066] The program module 1093 and program data 1094 are not limited to being stored in the hard disk drive 1090, but may also be stored in, for example, a removable storage medium and read by the CPU 1020 via the disk drive 1041. Alternatively, the program module 1093 and program data 1094 may be stored in another computer connected via a network (LAN, WAN, etc.). The program module 1093 and program data 1094 may then be read by the CPU 1020 from the other computer via the network interface 1070. [Explanation of symbols]
[0067] 10. Information processing equipment 11 Communications Department 12 Control Unit 12a Judgment part 12b Instruction part 12c Module log storage 12d User operation storage section 13 Storage section 13a Test result storage section 20 RPA Tools 30 User-operated terminal
Claims
1. a determination unit that performs a first determination as to whether a next element described in a script executed by a module to be monitored is an automatic operation on a GUI component; an instruction unit that instructs the module to execute the script and, if the determination unit determines that the automatic operation is an automatic operation, instructs the module to stop the automatic operation; a module log storage unit that stores an execution log of the script by the module in a storage unit; a user operation storage unit that stores the contents of operations performed by a user in a storage unit; An information processing device comprising:
2. When the determination unit determines that the next element to be performed by the module is an automatic operation, the module log storage unit stores, in a memory unit in chronological order as an execution log, position information of the next element in the script and information on the GUI part that is the target of the automatic operation by the module.
2. The information processing apparatus according to claim 1, wherein:
3. the determination unit, when it is determined by the first determination that the element to be next performed by the module is not an automatic operation, performs a second determination as to whether the next element is reading of information from a GUI component; When the second determination by the determination unit determines that the next element is to be read, the module log storage unit stores, in a memory unit in chronological order, position information of the next element in the script and information about the GUI component that is the target of reading by the module.
2. The information processing apparatus according to claim 1, wherein:
4. A test method executed in an information processing device, comprising: a determination step of making a first determination as to whether a next element described in a script executed by a module to be monitored is an automatic operation on a GUI component; an instruction step of instructing the module to execute the script and, when the determination step determines that the operation is an automatic operation, instructing the module to stop the automatic operation; a module log storage step of storing an execution log of the script by the module in a storage unit; a user operation storage step of storing the operation content by the user in a storage unit; A test method comprising:
5. a determination step of making a first determination as to whether a next element described in a script executed by a module to be monitored is an automatic operation on a GUI component; an instruction step of instructing the module to stop the automatic operation when the execution instruction for the script and the determination step determine that the automatic operation is an automatic operation; a module log storage step of storing an execution log of the script by the module in a storage unit; a user operation storage step of storing the operation content by the user in a storage unit; A test program for running on a computer.
Citation Information
Patent Citations
GUI application test support device and test support method
JP2010152429A
Apparatus and computer program
JP2020013400A
Information processing program, information processing method, and information processing device
JP2021056763A
Scenario retrieval device, scenario retrieval system, scenario retrieval method, and program
JP2021189780A