WO2023238262A1 - 情報処理装置、試験方法、及び試験プログラム - Google Patents

情報処理装置、試験方法、及び試験プログラム Download PDF

Info

Publication number
WO2023238262A1
WO2023238262A1 PCT/JP2022/023027 JP2022023027W WO2023238262A1 WO 2023238262 A1 WO2023238262 A1 WO 2023238262A1 JP 2022023027 W JP2022023027 W JP 2022023027W WO 2023238262 A1 WO2023238262 A1 WO 2023238262A1
Authority
WO
WIPO (PCT)
Prior art keywords
module
storage unit
script
determination
information processing
Prior art date
Application number
PCT/JP2022/023027
Other languages
English (en)
French (fr)
Inventor
一 中島
郁子 高木
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2022/023027 priority Critical patent/WO2023238262A1/ja
Publication of WO2023238262A1 publication Critical patent/WO2023238262A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Definitions

  • the present invention relates to an information processing device, a test method, and a test program.
  • RPA Robots Process Automation
  • the above-mentioned conventional technology has a problem in that in order to accurately imitate 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. Further, the above-mentioned conventional technology also has a problem in that, for example, when a business system is modified and a change occurs in the behavior of the business system, the above-mentioned recording work needs to be performed again.
  • the information processing device of the present invention has the following features:
  • the next element written in the script executed by the RPA tool, which is the module to be monitored, is an automatic operation for GUI components.
  • a determination unit that makes a first determination as to whether or not the operation is prohibited; an instruction unit that instructs the module to execute the script; and an instruction unit that instructs the module to cancel the automatic operation when the determination unit determines that the operation is automatic; and the execution of the script by the module.
  • the present invention is characterized by comprising a module log storage section that stores logs in the storage section, and a user operation storage section that stores the contents of user operations in the storage section.
  • an RPA script is executed in the actual environment being operated by a business worker, and automatic operations on GUI (Graphical User Interface) components in the RPA script being executed are stopped.
  • GUI Graphic User Interface
  • FIG. 1 is a diagram showing the configuration of a system including an information processing device according to an embodiment.
  • FIG. 2 is a block diagram showing the configuration of the information processing device according to the embodiment.
  • FIG. 3 is a diagram showing a specific example of information processing according to the embodiment.
  • FIG. 4 is a diagram illustrating a specific example of information processing according to the embodiment.
  • FIG. 5 is a diagram illustrating a specific example of information processing according to the embodiment.
  • FIG. 6 is a diagram illustrating a specific example of information processing according to the embodiment.
  • FIG. 7 is a diagram illustrating an example of information stored in the test result storage unit according to a specific example of information processing according to the embodiment.
  • FIG. 8 is a flowchart showing the flow of information processing in the information processing apparatus according to the embodiment.
  • FIG. 9 is a diagram showing an example of a computer that executes a test program.
  • FIG. 1 is a diagram showing the configuration of a system including an information processing apparatus 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.
  • the information processing device 10 instructs the RPA tool 20 to execute the RPA script, and also instructs the RPA tool 20 in the script to cancel automatic operations on GUI components. 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 the storage unit.
  • the information processing device 10 first sends an instruction to the RPA tool 20 input to the information processing device 10 to execute the RPA script to be tested, which was also input to the information processing device 10. Note that the above-mentioned input is performed based on the respective file paths of the RPA tool 20 and the RPA script.
  • the information processing device 10 determines whether the next execution element written in the RPA script by the RPA tool 20 is an automatic operation on a GUI component. Here, if it is determined that the next element is an automatic operation on the GUI component, the information processing device 10 transmits an instruction to the RPA tool 20 to stop the automatic operation on the GUI component.
  • the information processing device 10 stores an execution log of the RPA script by the RPA tool 20 in the storage unit. Furthermore, the information processing device 10 stores in the storage unit a log of operations performed by the user on the user operation terminal 30, which are performed in parallel with the execution of the RPA script by the RPA tool 20.
  • the RPA tool 20 is a script execution module that executes RPA scripts.
  • the RPA tool 20 can be controlled from the outside, such as starting and ending the tool, starting, stopping, pausing, and resuming execution of the RPA script, as well as controlling information about the next execution element of the RPA script, automatic operations, and data. It has a function to provide external information such as information on GUI components to be read.
  • the user operation terminal 30 is a terminal on which a user performs operations on GUI components related to actual business content.
  • FIG. 2 is a diagram illustrating a configuration example of an information processing apparatus according to an embodiment.
  • the information processing device 10 includes a communication section 11, a control section 12, and a storage section 13. Further, the information processing device 10, the RPA tool 20, and the user operation terminal 30 are connected to each other by wire or wirelessly so that they can communicate with each other.
  • the communication unit 11 is realized by, for example, a NIC (Network Interface Card).
  • 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.
  • the storage unit 13 is realized, for example, by a storage device such as a RAM (Random Access Memory) or a hard disk.
  • the storage unit 13 stores data and programs necessary for various processing by the control unit 12, and has a test result storage unit 13a that is particularly closely related to the present invention.
  • the test result storage unit 13a stores information stored in a module log storage unit 12c, which will be described later, and a user operation storage unit 12d, which will be described later, in chronological order.
  • the test result storage unit 13a stores, as information stored by the module log storage unit 12c, location information of elements written in the RPA script, and targets for automatic operation or reading by the RPA tool 20.
  • the information that can identify the GUI component is stored together with the time stamp.
  • test result storage unit 13a may store, as information stored by the user operation storage unit 12d, operation logs for GUI components input by the user into the user operation terminal 30 together with time stamps. do.
  • 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 the RAM as a work area. Further, the control unit 12 is realized by, for example, an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
  • the control unit 12 includes a determination unit 12a, an instruction unit 12b, a module log storage unit 12c, and a user operation storage unit 12d.
  • the determining unit 12a first determines whether the next element written in the script executed by the module to be monitored is an automatic operation on a GUI component. Then, the determination unit 12a notifies the instruction unit 12b and module log storage unit 12c of the determination result.
  • the determination unit 12a determines whether the next element is an automatic operation on a GUI component based on information regarding 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 module log storage unit 12c of the determination result.
  • the determining unit 12a determines whether the next element is reading information from a GUI component or not. You may make a judgment. Then, the determination unit 12a notifies the module log storage unit 12c of the determination result.
  • the determination unit 12a determines that the next element is an automatic operation based on the first determination described above, the determination unit 12a notifies the instruction unit 12b and the module log storage unit 12c of the determination result.
  • the determination unit 12a determines whether the next element is reading information from a GUI component based on the information regarding the next element provided from the RPA tool 20 described above. Determine. Thereafter, the determination result is notified to the module log storage section 12c.
  • the instruction unit 12b instructs to cancel the automatic operation when the script execution instruction and determination unit 12a determines that the automatic operation is performed. For example, the instruction unit 12b instructs the RPA tool 20 input via the communication unit 11 to execute the RPA script also input. Then, for example, the instruction unit 12b instructs the RPA tool 20 to stop the automatic operation on the GUI component in response to the notification of the determination result by the determination unit 12a that the next element is an automatic operation on the GUI component.
  • the module log storage unit 12c stores execution logs of scripts by modules in the storage unit.
  • the module log storage unit 13c stores the position information of the next element within the script as an execution log in the test result storage unit 13a in chronological order along with a time stamp.
  • the module log storage unit 12c stores, as an execution log, the position information of the next element in the script and the automatic operation by the module.
  • the information regarding the GUI components that are the targets of the above may be stored in the storage unit in chronological order.
  • the module log storage unit 12c stores, as an execution log, the position information of the next element in the script and the information by the module.
  • Information that can identify the GUI component targeted for automatic operation is stored in the test result storage unit 13a in chronological order along with a time stamp.
  • the module log storage unit 12c stores the position information of the next element in the script and the target of the module to read.
  • Information regarding GUI components may be stored in the storage unit in chronological order.
  • the module log storage unit 12c stores, as an execution log, the position information of the next element in the script and the information read by the module.
  • the test result storage unit 13a stores information that can identify the target GUI component in chronological order along with a time stamp.
  • the above-mentioned information that can identify the GUI component may include, for example, position information on the screen of the GUI component and a screen capture.
  • 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.
  • the module log storage unit 12c may store the contents of the RPA tool's attempt to operate the corresponding GUI component in the test result storage unit 13a.
  • the content that the above-mentioned RPA tool attempts to operate may 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.
  • the user operation storage unit 12d stores the contents of the user's operations in the storage unit.
  • the user operation storage unit 12d stores operation logs of GUI components input to the user operation terminal 30, which are performed by the user in parallel with the execution of the RPA script by the RPA tool 20, in chronological order along with time stamps.
  • the test results are stored in the test result storage section 13a.
  • FIGS. 3 to 6 are diagrams showing specific examples of information processing according to the embodiment.
  • the worker inputs name: Denden Jiro, address: Tsukuba, and selects the change radio button.
  • the RPA tool attempts to input name: Denden Hanako, address: Musashino, and the selection of the change radio button.
  • the instruction unit 12b instructs the RPA tool 20 to execute the RPA script to be tested during the user's business work (see FIG. 3). Then, the determining 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.
  • 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), and this is not an automatic operation on the GUI component, so the determination unit 12a , it is determined that the next element is not an automatic operation on a GUI component, and the RPA tool 20 executes element (3).
  • the next element of the RPA script executed by the RPA tool 20 is (5) (input a nomination value in the name text box), which is an automatic operation to the GUI component.
  • 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.
  • the instruction unit 12b Upon receiving the notification, the instruction unit 12b instructs the RPA tool 20 to cancel the automatic operation on the GUI component. As a result, the RPA tool 20 cancels only the operation of inputting Denden Hanako as the name, which is the automatic operation to the GUI component in element (5), and executes element (5).
  • the next element of the RPA script executed by the RPA tool 20 is (10) (click the new registration button), but the change radio button is selected in the previous element (9). Therefore, the new registration button is not activated and the RPA tool 20 cannot execute element (10).
  • the module log storage unit 12c stores the execution logs of each element (1) to (10) by the RPA tool 20 in the test result storage unit 13a.
  • the user operation storage section 12d stores the name: Denden Jiro, address: Tsukuba, and the selection of the change radio button input into the user operation terminal 30, together with a time stamp, in the test result storage section 13a.
  • FIG. 7 is a diagram showing an example of information stored in the test result storage unit 13a according to a specific example of information processing according to the embodiment.
  • the test result storage unit 13a stores the stored execution logs of the RPA tool 20 and user operation logs in chronological order.
  • each element (1) to (9) is executed according to the information stored in the test result storage unit 13a, but the element (10) is not displayed on the user operation terminal 30. It is possible to confirm a problem in which the RPA script cannot be executed even though the business screen is 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 its operation details.
  • FIG. 8 is a flowchart showing the flow of information processing in the information processing apparatus according to the embodiment.
  • the information processing device 10 receives input of the RPA tool 20 and RPA script, for example (step S101).
  • step S101 If the information processing device 10 accepts the input of the RPA tool 20 and the RPA script (step S101; Yes), the instruction unit 12b instructs the RPA tool 20 to execute the RPA script (step S102). On the other hand, if the RPA tool 20 and the RPA script do not accept input (step S101; No), the information processing apparatus 10 waits until the RPA tool 20 and the RPA script accept input.
  • 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).
  • step S105 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 cancel automatic operation on a GUI component (step S105; Yes). S106).
  • the module log storage unit 12c stores the execution log of the RPA tool 20 (step S107).
  • step S105; No determines that the next element is not an automatic operation on a GUI component
  • step S107 the module log storage unit 12c stores the execution log of the RPA tool 20 in the storage unit (step S107).
  • the information processing device 10 returns to step S103 and continues the process.
  • the information processing apparatus 10 instructs the RPA tool 20 to execute an RPA script, and also instructs the RPA tool 20 in the script to cancel automatic operations on GUI components. 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 chronological order.
  • the information processing device 10 instructs the RPA tool 20 in the script to cancel automatic operations on GUI components, so that operations that affect data in the real environment are not performed, so that business workers can continue with their original work.
  • the RPA script test can be safely executed in a real environment.
  • the module log storage unit 12c of the information processing device 10 stores position information of the next element in the script as an execution log. and information regarding the GUI component that is the target of automatic operation by the RPA tool 20 are stored in the storage unit.
  • the information processing device 10 can use the RPA tool 20 in the actual environment even if the information for specifying the GUI component changes between the time of script creation and the time of script execution due to dynamic changes in the business screen. This has the effect that it is possible to confirm which GUI component is being operated.
  • the determination unit 12a of the information processing device 10 determines whether the next element is reading information from a GUI component, and the module log storage unit 12c determines whether the next element is reading information from a GUI component.
  • the position information of the next element within the script and the information regarding the GUI component to be read by the module are stored in the storage unit.
  • the information processing device 10 can confirm which GUI component was attempted to be read by the RPA tool 20 in the actual environment, similar to the case where the next element is determined to be automatically operated. be effective.
  • each component of each device shown in the drawings is functionally conceptual, and does not necessarily need to be physically configured as shown in the drawings.
  • the specific form of distributing and integrating each device is not limited to what is shown in the diagram, and all or part of the devices can be functionally or physically distributed or integrated in arbitrary units depending on various loads and usage conditions. Can be integrated and configured.
  • all or any part of each processing function performed by each device can be realized by a CPU and a program that is analyzed and executed by the CPU, or can be realized as hardware using wired logic.
  • part or all of the storage unit 13 shown in FIG. 1 may be held in a storage server or the like instead of being held by the information processing device 10.
  • the information processing device 10 obtains various information by accessing the storage server.
  • FIG. 9 is a diagram showing an example of the hardware configuration.
  • the information processing apparatus 10 according to the embodiments described above is realized, for example, by a computer 1000 having a configuration as shown in FIG.
  • FIG. 9 is a diagram showing an example of a computer that executes a test program.
  • 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 parts are connected by a bus 1080.
  • 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 BIOS (Basic Input Output System).
  • Hard disk drive interface 1030 is connected to hard disk drive 1090.
  • Disk drive interface 1040 is connected to disk drive 1041.
  • Serial port interface 1050 is connected to, for example, mouse 1110 and keyboard 1120.
  • Video adapter 1060 is connected to display 1130, for example.
  • 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.
  • Program module 1093 is stored in hard disk drive 1090, for example.
  • a program module 1093 for executing processing similar to the functional configuration of the information processing device 10 is stored in the hard disk drive 1090.
  • the hard disk drive 1090 may be replaced by an SSD (Solid State Drive).
  • the setting data used in the processing of the embodiment described above is stored as program data 1094 in, for example, the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads out the program module 1093 and program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 as necessary and executes them.
  • program module 1093 and program data 1094 are not limited to being stored in the hard disk drive 1090, but may be stored in a removable storage medium, for example, and read by the CPU 1020 via the disk drive 1041 or the like.
  • 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 another computer via the network interface 1070.

Landscapes

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

Abstract

情報処理装置(10)は、判定部(12a)と指示部(12b)とモジュールログ格納部(12c)とユーザ操作格納部(12d)とを備える。判定部(12a)はRPAツール(20)により実行されるスクリプトに記述された次要素が、GUI部品への自動操作か否かについて判定をする。指示部(12b)は、RPAツール(20)に、スクリプトの実行指示及び判定部(12a)によって自動操作と判定された場合に、自動操作の中止を指示する。モジュールログ格納部(12c)は、RPAツール(20)によるスクリプトの実行ログを記憶部(13)に格納する。ユーザ操作格納部(12d)は、ユーザによる操作内容を記憶部(13)に格納する。

Description

情報処理装置、試験方法、及び試験プログラム
 本発明は、情報処理装置、試験方法、及び試験プログラムに関する。
 従来、企業における業務端末での作業を効率化する手段として、RPA(Robotics Process Automation)が知られている。RPAは、業務端末上での操作手順が記述されたスクリプトを読み込み・実行し、その操作手順の自動化を実現する。
 前述のRPAを導入する際には、スクリプトが意図通りの動作となっているかどうかを、導入前に十分にテストする必要がある。しかし、RPAスクリプトを実環境でテストすると、予期せぬ不具合により、業務データを削除してしまうことや、誤って改変してしまうことなどのリスクを伴う。
 また、その業務システムの開発時に構築したテスト用の開発環境でRPAシナリオをテストすることも考えられるが、該当の業務システムを外注して開発したなどの理由で開発環境を利用できない場合や、開発環境と実環境との差異により、実環境で発生する可能性のある不具合を開発環境で検出できない場合もある。
 また、RPAスクリプトをテストする技術について、実環境で実施された操作や入力されたデータを網羅的に記録しておき、それらから実環境と同様の画面遷移を再現することで、テスト環境を構築する技術が知られている(例えば、非特許文献1参照)。この技術により、開発環境を利用できない場合であっても、実環境の業務システムの振る舞いを模倣したテスト環境上で、RPAスクリプトの事前テストをすることが可能となる。
"RPAテスト支援ツール「ACT-RPA Tester」"、[online]、[令和4年5月13日検索]、インターネット〈https://www.bbs.co.jp/system/actrpatester/〉
 しかし、上記の従来技術では、実環境による業務システムを正確に模倣するために、事前に実環境での操作や入力データ、画面遷移を網羅的に記録する必要があるという課題があった。また、上記の従来技術は、例えば、業務システムが改修されて、業務システムの振る舞いに変化が発生した場合、前述した記録作業をもう一度やり直す必要があるという課題もあった。
 上述した課題を解決し、目的を達成するために、本発明の情報処理装置は、監視対象のモジュールであるRPAツールにより実行されるスクリプトに記述された次要素が、GUI部品への自動操作か否かについて第一の判定をする判定部と、モジュールに、スクリプトの実行指示及び前記判定部によって自動操作と判定された場合に、自動操作の中止を指示する指示部と、モジュールによるスクリプトの実行ログを記憶部に格納するモジュールログ格納部と、ユーザによる操作内容を記憶部に格納するユーザ操作格納部とを備えることを特徴とする。
 本発明によれば、業務従事者によって操作されている実環境でRPAスクリプトを実行させ、実行されているRPAスクリプト中のGUI(Graphical User Interface)部品への自動操作を中止させることで、業務従事者による本来の業務と並行して、実環境において安全にRPAスクリプトのテストを実行することができるという効果を奏する。
図1は、実施形態に係る情報処理装置を含むシステムの構成を示す図である。 図2は、実施形態に係る情報処理装置の構成を示すブロック図である。 図3は、実施形態に係る情報処理の具体例を示す図である。 図4は、実施形態に係る情報処理の具体例を示す図である。 図5は、実施形態に係る情報処理の具体例を示す図である。 図6は、実施形態に係る情報処理の具体例を示す図である。 図7は、実施形態に係る情報処理の具体例によりテスト結果記憶部に記憶された情報の一例を示す図である。 図8は、実施形態に係る情報処理装置における情報処理の流れを示すフローチャートである。 図9は、試験プログラムを実行するコンピュータの一例を示す図である。
 以下に、本願に係る情報処理装置、試験方法、及び試験プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係る情報処理装置、試験方法、及び試験プログラムが限定されるものではない。
〔1.システムの構成例〕
 図1は、本実施形態に係る情報処理装置を含むシステムの構成を示す図である。図1に示すシステムは、情報処理装置10と、RPAツール20と、ユーザにより操作されるユーザ操作端末30とを有する。
 情報処理装置10は、RPAツール20にRPAスクリプトの実行指示をし、また、スクリプト中のRPAツール20によるGUI部品への自動操作の中止を指示する。そして、情報処理装置10は、RPAツール20の実行ログと、ユーザ操作端末30に入力された操作ログとを記憶部に格納する。
 具体的には、情報処理装置10は、まず、情報処理装置10に入力されたRPAツール20に、同じく情報処理装置10に入力された、テスト対象のRPAスクリプトを実行させる指示を送信する。なお、前述の入力は、RPAツール20及びRPAスクリプトのそれぞれのファイルパス等に基づき行われる。
 そして、情報処理装置10は、RPAスクリプトに記述された、RPAツール20による次の実行要素を、GUI部品への自動操作か否かを判定する。ここで、次要素がGUI部品への自動操作と判定された場合、情報処理装置10は、RPAツール20にGUI部品への自動操作を中止させる指示を送信する。
 また、情報処理装置10は、RPAツール20によるRPAスクリプトの実行ログを記憶部に格納する。さらに、情報処理装置10は、RPAツール20によるRPAスクリプトの実行と並行して行われている、ユーザによるユーザ操作端末30への操作ログを記憶部に格納する。
 RPAツール20は、RPAスクリプトを実行する、スクリプト実行モジュールである。RPAツール20は、外部からツールの起動・終了、RPAスクリプトの実行開始・停止・一時停止・再開などの制御が可能であることに加え、RPAスクリプトの次の実行要素に関する情報、自動操作やデータを読み取る対象のGUI部品の情報などを外部に提供する機能を具備する。また、ユーザ操作端末30は、実際の業務内容に関するGUI部品への操作等がユーザにより行われる端末である。
〔2.情報処理装置10の構成〕
 次に、図2を参照し、図1に示した情報処理装置10の構成を説明する。図2は、実施形態に係る情報処理装置の構成例を示す図である。図2に示すように、実施形態に係る情報処理装置10は、通信部11と、制御部12と、記憶部13とを有する。また、情報処理装置10とRPAツール20とユーザ操作端末30は有線又は無線により互いに通信可能に接続される。
 通信部11は、例えば、NIC(Network Interface Card)等によって実現される。通信部11は、RPAツール20とユーザ操作端末30と有線又は無線で接続され、RPAツール20とユーザ操作端末30との間で情報の送受信を行う。
 記憶部13は、例えば、RAM(Random Access Memory)やハードディスク等の記憶装置によって実現される。記憶部13は、制御部12による各種処理に必要なデータ及びプログラムを記憶するが、特に本発明に密接に関連するものとしては、テスト結果記憶部13aを有する。
 テスト結果記憶部13aは、後述するモジュールログ格納部12cと、後述するユーザ操作格納部12dに格納された、それぞれの情報を時系列順に記憶する。例えば、テスト結果記憶部13aは、モジュールログ格納部12cにより格納された情報として、RPAスクリプトに記述された要素のスクリプト内での位置情報と、RPAツール20による、自動操作の対象又は読み取りの対象であるGUI部品を特定できる情報とを、タイムスタンプと共に格納された情報を、記憶する。
 また、例えば、テスト結果記憶部13aは、ユーザ操作格納部12dにより格納された情報として、ユーザによりユーザ操作端末30に入力されたGUI部品への操作ログをタイムスタンプと共に格納された情報を、記憶する。
 制御部12は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置10内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部12は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路により実現される。制御部12は、判定部12aと、指示部12b、モジュールログ格納部12cと、ユーザ操作格納部12dとを有する。
 判定部12aは、監視対象のモジュールにより実行されるスクリプトに記述された次要素が、GUI部品への自動操作か否かについて第一の判定をする。そして、判定部12aは、判定の結果を指示部12b及びモジュールログ格納部12cに通知する。
 例えば、判定部12aは、通信部11を介してRPAツール20から提供される、RPAスクリプトの次要素に関する情報から、次要素がGUI部品への自動操作か否かを判定する。その後、判定部12aは、判定結果を指示部12b及びモジュールログ格納部12cに通知する。
 また、判定部12aは、前述の第一の判定により、モジュールによって次に行われる要素が自動操作ではないと判定された場合に、次要素がGUI部品からの情報の読み取りか否かについて第2の判定をしてもよい。そして、判定部12aは、判定の結果をモジュールログ格納部12cに通知する。
 例えば、判定部12aは、前述の第一の判定により、次要素が自動操作であると判定された場合は、判定結果を指示部12b及びモジュールログ格納部12cに通知する。一方で、第一の判定により、次要素が自動操作でないと判定された場合は、前述のRPAツール20から提供された次要素に関する情報から、次要素がGUI部品からの情報の読み取りか否かを判定する。その後、判定結果をモジュールログ格納部12cに通知する。
 指示部12bは、スクリプトの実行指示及び判定部12aによって自動操作と判定された場合に、自動操作の中止を指示する。例えば、指示部12bは、通信部11を介して入力されたRPAツール20に、同じく入力されたRPAスクリプトの実行を指示する。そして、例えば、指示部12bは、判定部12aによる次要素がGUI部品への自動操作であるという判定結果の通知に応じて、RPAツール20にGUI部品への自動操作の中止を指示する。
 なお、前述の様に指示部12bによりRPAツール20に自動操作の中止が指示された場合であっても、RPAツール20によるRPAスクリプトの実行自体は中止されることはなく、GUI部品への自動操作のみが中止される。
 モジュールログ格納部12cは、モジュールによるスクリプトの実行ログを記憶部に格納する。例えば、モジュールログ格納部13cは、実行ログとして、次要素のスクリプト内での位置情報を、タイムスタンプと共に時系列順にテスト結果記憶部13aに格納する。
 また、モジュールログ格納部12cは、判定部12aにより、モジュールによって次に行われる要素が自動操作と判定された場合に、実行ログとして、次要素のスクリプト内での位置情報と、モジュールによる自動操作の対象となっているGUI部品に関する情報とを時系列順に記憶部に格納してもよい。
 例えば、モジュールログ格納部12cは、判定部12aによる次要素がGUI部品への自動操作であるという判定結果の通知に応じて、実行ログとして、次要素のスクリプト内での位置情報と、モジュールによる自動操作の対象となっているGUI部品を特定できる情報とを、タイムスタンプと共に時系列順にテスト結果記憶部13aに格納する。
 さらに、モジュールログ格納部12cは、判定部12aの第二の判定により、次要素が読み取りと判定された場合に、次要素のスクリプト内での位置情報と、モジュールによる読み取りの対象となっているGUI部品に関する情報とを時系列順に記憶部に格納してもよい。
 例えば、モジュールログ格納部12cは、判定部12aによる次要素がGUI部品への読み取りであるという判定結果の通知に応じて、実行ログとして、次要素のスクリプト内での位置情報と、モジュールによる読み取りの対象となっているGUI部品を特定できる情報とを、タイムスタンプと共に時系列順にテスト結果記憶部13aに格納する。
 なお、前述のGUI部品を特定できる情報とは、例えば、GUI部品の画面中の位置情報と画面キャプチャ等が考えられる。
 また、例えば、モジュールログ格納部12cは、次要素が命令文等により変数が利用されている場合は、上述の情報に加えて、変数の値をテスト結果記憶部13aに格納してもよい。
 さらに、例えば、モジュールログ格納部12cは、RPAツールが該当のGUI部品に対して操作しようとした内容をテスト結果記憶部13aに格納してもよい。なお、前述のRPAツールが操作しようとした内容とは、例えば、マウス操作ならクリックやダブルクリック、テキスト入力操作ならその入力値等が考えられる。
 ユーザ操作格納部12dは、ユーザによる操作内容を記憶部に格納する。例えば、ユーザ操作格納部12dは、RPAツール20によるRPAスクリプトの実行と並行してユーザにより行われている、ユーザ操作端末30に入力されたGUI部品への操作ログを、タイムスタンプと共に時系列順にテスト結果記憶部13aに格納する。
〔3.情報処理の具体例〕
 ここで、図3から図6の例を用いて、情報処理装置10によるRPAスクリプトの試験処理を説明する。図3から図6は、実施形態に係る情報処理の具体例を示す図である。図3から図6の例では、業務従事者は氏名:電電次郎、住所:筑波と、変更のラジオボタンの選択を入力する。これに対し、RPAツールは氏名:電電花子、住所:武蔵野と、変更のラジオボタンの選択を入力しようとする。
 例えば、指示部12bは、ユーザによる業務作業中に、RPAツール20にテスト対象のRPAスクリプトの実行指示をする(図3参照)。そして、判定部12aは、RPAツール20により実行されるRPAスクリプトの次要素がGUI部品への自動操作か否かを判定する。
 図4の例では、RPAツール20により実行されるRPAスクリプトの次要素が(3)(入力データの読取位置の行を読み取る)であり、GUI部品への自動操作ではないため、判定部12aは、次要素がGUI部品への自動操作ではないと判定し、RPAツール20は要素(3)を実行する。
 一方で、図5の例では、RPAツール20により実行されるRPAスクリプトの次要素が(5)(氏名のテキストボックスに指名の値を入力)であり、GUI部品への自動操作である。この場合、判定部12aは、次要素がGUI部品への自動操作であると判定し、判定結果を指示部12bに通知する。
 通知を受けた指示部12bは、RPAツール20にGUI部品への自動操作の中止を指示する。これにより、RPAツール20は、要素(5)におけるGUI部品への自動操作である、氏名に電電花子を入力するという操作のみを中止し、要素(5)を実行する。
 また、図6の例では、RPAツール20により実行されるRPAスクリプトの次要素が(10)(新規登録のボタンをクリック)であるが、直前の要素(9)により変更のラジオボタンが選択されているため、新規登録のボタンが活性化されておらず、RPAツール20は、要素(10)を実行することができない。
 そして、モジュールログ格納部12cは、RPAツール20による(1)~(10)の各要素の実行ログを、テスト結果記憶部13aに格納する。また、ユーザ操作格納部12dは、ユーザ操作端末30に入力された、氏名:電電次郎、住所:筑波と、変更のラジオボタンの選択とをタイムスタンプと共にテスト結果記憶部13aに格納する。
 ここで、図7の例を用いて、テスト結果記憶部13aに記憶された情報の具体例を説明する。図7は、実施形態に係る情報処理の具体例によりテスト結果記憶部13aに記憶された情報の一例を示す図である。テスト結果記憶部13aは、格納された前述のRPAツール20の実行ログとユーザによる操作ログのそれぞれの情報を、時系列順に記憶する。
 図7の例では、テスト結果記憶部13aに記憶された情報により、(1)~(9)までの各要素は実行されているが、(10)の要素は、ユーザ操作端末30に表示されている業務画面がRPAスクリプトの想定した画面に遷移しているにもかかわらず、実行することができないという不具合を確認することができる。また、RPAツールが操作しようとしたGUI部品及びその操作内容についても確認することができる。
〔4.情報処理装置の情報処理の一例〕
 次に、図8を用いて、情報処理装置10の情報処理について説明する。図8は、実施形態に係る情報処理装置における情報処理の流れを示すフローチャートである。情報処理装置10は、例えば、RPAツール20及びRPAスクリプトの入力を受付ける(ステップS101)。
 情報処理装置10が、RPAツール20及びRPAスクリプトが入力を受付けた場合(ステップS101;Yes)、指示部12bは、RPAツール20にRPAスクリプトの実行を指示する(ステップS102)。一方、情報処理装置10は、RPAツール20とRPAスクリプトが入力を受付けていない場合(ステップS101;No)、RPAツール20及びRPAスクリプトの入力を受付けるまで待機する。
 そして、指示部12bは、RPAスクリプト中の次要素が実行可能であるかを調べる(ステップS103)。RPAスクリプト中の次要素が実行可能である場合(ステップS103;Yes)、判定部12aは、次要素がGUI部品への自動操作か否かを判定する(ステップS105)。一方、次要素が実行可能でない場合(ステップS103;No)、情報処理装置10はRPAツール20を停止させる(ステップS104)。
 判定部12aにより、次要素がGUI部品への自動操作であると判定された場合(ステップS105;Yes)、指示部12bは、RPAツール20にGUI部品への自動操作の中止を指示する(ステップS106)。その後、モジュールログ格納部12cは、RPAツール20の実行ログを格納する(ステップS107)。一方、次要素がGUI部品への自動操作でないと判定された場合(ステップS105;No)、モジュールログ格納部12cは、RPAツール20の実行ログを記憶部に格納する(ステップS107)。その後、情報処理装置10は、ステップS103に戻り処理を続ける。
〔5.実施形態の効果〕
 上述してきたように、本実施形態に係る情報処理装置10は、RPAツール20にRPAスクリプトの実行指示をし、また、スクリプト中のRPAツール20によるGUI部品への自動操作の中止を指示する。そして、情報処理装置10は、RPAツール20の実行ログと、ユーザ操作端末30に入力された操作ログを時系列順に記憶する。
 これにより、情報処理装置10は、スクリプト中のRPAツール20によるGUI部品への自動操作の中止を指示することによって、実環境のデータに影響を与える操作がされないため、業務従事者による本来の業務と並行して、実環境において安全にRPAスクリプトのテストを実行することができるという効果を奏する。
 また、情報処理装置10のモジュールログ格納部12cは、判定部12aにより、RPAツール20によって行われる次要素が自動操作と判定された場合に、実行ログとして、次要素のスクリプト内での位置情報と、RPAツール20による自動操作の対象となっているGUI部品に関する情報とを記憶部に格納する。
 これにより、情報処理装置10は、業務画面が動的に変化することによって、GUI部品を特定するための情報がスクリプト作成時と実行時で変化した場合であっても、実環境においてRPAツール20により操作されようとしたGUI部品がどれなのかを確認することができるという効果を奏する。
 さらに、情報処理装置10の判定部12aは、次要素が自動操作ではないと判定された場合に、次要素がGUI部品からの情報の読み取りか否かについて判定をし、モジュールログ格納部12cは、次要素が読み取りと判定された場合に、次要素のスクリプト内での位置情報と、モジュールによる読み取りの対象となっているGUI部品に関する情報とを記憶部に格納する。
 これにより、情報処理装置10は、前述の次要素が自動操作と判定された場合と同様に、実環境においてRPAツール20により読み取られようとしたGUI部品がどれなのかを確認することができるという効果を奏する。
〔6.システム構成等〕
 上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 例えば、図1に示した記憶部13の一部又は全部は、情報処理装置10によって保持されるのではなく、ストレージサーバ等に保持されてもよい。この場合、情報処理装置10は、ストレージサーバにアクセスすることで、各種情報を取得する。
〔7.ハードウェア構成〕
 図9は、ハードウェア構成の一例を示す図である。上述してきた実施形態に係る情報処理装置10は、例えば図9に示すような構成のコンピュータ1000によって実現される。
 図9は、試験プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
 メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1041に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
 ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち情報処理装置10の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、情報処理装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
 また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
 なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 10  情報処理装置
 11  通信部
 12  制御部
 12a 判定部
 12b 指示部
 12c モジュールログ格納部
 12d ユーザ操作格納部
 13  記憶部
 13a テスト結果記憶部
 20  RPAツール
 30  ユーザ操作端末

Claims (5)

  1.  監視対象のモジュールにより実行されるスクリプトに記述された次要素が、GUI部品への自動操作か否かについて第一の判定をする判定部と、
     前記モジュールに、前記スクリプトの実行指示及び前記判定部によって自動操作と判定された場合に、自動操作の中止を指示する指示部と、
     前記モジュールによる前記スクリプトの実行ログを記憶部に格納するモジュールログ格納部と、
     ユーザによる操作内容を記憶部に格納するユーザ操作格納部と、
     を備えることを特徴とする情報処理装置。
  2.  前記モジュールログ格納部は、前記判定部により、前記モジュールによって次に行われる要素が自動操作と判定された場合に、実行ログとして、前記次要素のスクリプト内での位置情報と、モジュールによる自動操作の対象となっているGUI部品に関する情報とを時系列順に記憶部に格納する
     ことを特徴とする請求項1に記載の情報処理装置。
  3.  前記判定部は、前記第一の判定により、前記モジュールによって次に行われる要素が自動操作ではないと判定された場合に、前記次要素がGUI部品からの情報の読み取りか否かについて第2の判定をし、
     前記モジュールログ格納部は、前記判定部の第二の判定により、前記次要素が読み取りと判定された場合に、前記次要素のスクリプト内での位置情報と、モジュールによる読み取りの対象となっているGUI部品に関する情報とを時系列順に記憶部に格納する
     ことを特徴とする請求項1に記載の情報処理装置。
  4.  情報処理装置で実行される試験方法であって、
     監視対象のモジュールにより実行されるスクリプトに記述された次要素が、GUI部品への自動操作か否かについて第一の判定をする判定工程と、
     前記モジュールに、前記スクリプトの実行指示及び前記判定工程によって自動操作と判定された場合に、自動操作の中止を指示する指示工程と、
     前記モジュールによる前記スクリプトの実行ログを記憶部に格納するモジュールログ格納工程と、
     ユーザによる操作内容を記憶部に格納するユーザ操作格納工程と、
     を含んだことを特徴とする試験方法。
  5.  監視対象のモジュールにより実行されるスクリプトに記述された次要素が、GUI部品への自動操作か否かについて第一の判定をする判定ステップと、
     前記モジュールに、前記スクリプトの実行指示及び前記判定ステップによって自動操作と判定された場合に、自動操作の中止を指示する指示ステップと、
     前記モジュールによる前記スクリプトの実行ログを記憶部に格納するモジュールログ格納ステップと、
     ユーザによる操作内容を記憶部に格納するユーザ操作格納ステップと、
     をコンピュータに実行させるための試験プログラム。
PCT/JP2022/023027 2022-06-07 2022-06-07 情報処理装置、試験方法、及び試験プログラム WO2023238262A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/023027 WO2023238262A1 (ja) 2022-06-07 2022-06-07 情報処理装置、試験方法、及び試験プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/023027 WO2023238262A1 (ja) 2022-06-07 2022-06-07 情報処理装置、試験方法、及び試験プログラム

Publications (1)

Publication Number Publication Date
WO2023238262A1 true WO2023238262A1 (ja) 2023-12-14

Family

ID=89117729

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/023027 WO2023238262A1 (ja) 2022-06-07 2022-06-07 情報処理装置、試験方法、及び試験プログラム

Country Status (1)

Country Link
WO (1) WO2023238262A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010152429A (ja) * 2008-12-24 2010-07-08 Hitachi Ltd Guiアプリケーションテスト支援装置及びテスト支援方法
JP2020013400A (ja) * 2018-07-19 2020-01-23 株式会社野村総合研究所 装置およびコンピュータプログラム
JP2021056763A (ja) * 2019-09-30 2021-04-08 富士通株式会社 情報処理プログラム、情報処理方法及び情報処理装置
JP2021189780A (ja) * 2020-05-29 2021-12-13 株式会社エヌ・ティ・ティ・データ シナリオ検索装置、シナリオ検索システム、シナリオ検索方法、及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010152429A (ja) * 2008-12-24 2010-07-08 Hitachi Ltd Guiアプリケーションテスト支援装置及びテスト支援方法
JP2020013400A (ja) * 2018-07-19 2020-01-23 株式会社野村総合研究所 装置およびコンピュータプログラム
JP2021056763A (ja) * 2019-09-30 2021-04-08 富士通株式会社 情報処理プログラム、情報処理方法及び情報処理装置
JP2021189780A (ja) * 2020-05-29 2021-12-13 株式会社エヌ・ティ・ティ・データ シナリオ検索装置、シナリオ検索システム、シナリオ検索方法、及びプログラム

Similar Documents

Publication Publication Date Title
US8893089B2 (en) Fast business process test case composition
US9575873B2 (en) Software testing system and method
US20160170867A1 (en) Exposing method related data calls during testing in an event driven, multichannel architecture
US20180275986A1 (en) Application management platform
US20130263090A1 (en) System and method for automated testing
EP2815319A1 (en) Code coverage rate determination method and system
JP6761441B2 (ja) ソフトウェアアプリケーションプログラミングインタフェース(api)を用いた自動テスト機能のユーザによる制御
KR20170015968A (ko) 모바일 장치들의 원격 구성을 허용하기 위해 모바일 장치들 상에 설치되는 고속 어플리케이션
CN107273298B (zh) 一种加壳工具的测试方法、装置及系统
US20100312541A1 (en) Program test device and program
US9195562B2 (en) Recording external processes
CN112231206A (zh) 应用程序测试的脚本编辑方法、计算机可读存储介质及测试平台
US11341030B2 (en) Scriptless software test automation
CN106970870B (zh) 网页测试平台、网页测试方法和网页测试系统
JP6275009B2 (ja) 試験装置及び試験プログラム
US20070061781A1 (en) Stochastic testing directed by static test automation
KR102024275B1 (ko) 스크립트를 활용한 시험 프로그램 개발 시스템 및 그 방법
WO2023238262A1 (ja) 情報処理装置、試験方法、及び試験プログラム
US8745587B2 (en) System and method for testing computer programs
Ibrahim et al. Emerging trends in software testing tools & methodologies: a review
Schweighofer et al. Mobile Device and Technology Characteristics' Impact on Mobile Application Testing.
CN110806981A (zh) 一种应用程序测试方法、装置、设备和存储介质
WO2012053392A1 (ja) ソフトウェアプロダクトライン開発支援装置、その方法およびそのプログラム
CN111381836A (zh) 应用程序部署环境的切换方法及装置
WO2023240558A1 (zh) 一种固件的调试方法及其装置

Legal Events

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

Ref document number: 22945769

Country of ref document: EP

Kind code of ref document: A1