JP6861880B1 - Generation device, generation method and generation program - Google Patents

Generation device, generation method and generation program Download PDF

Info

Publication number
JP6861880B1
JP6861880B1 JP2020163457A JP2020163457A JP6861880B1 JP 6861880 B1 JP6861880 B1 JP 6861880B1 JP 2020163457 A JP2020163457 A JP 2020163457A JP 2020163457 A JP2020163457 A JP 2020163457A JP 6861880 B1 JP6861880 B1 JP 6861880B1
Authority
JP
Japan
Prior art keywords
information
providing device
information providing
function
application
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2020163457A
Other languages
Japanese (ja)
Other versions
JP2022055811A (en
Inventor
シュレイ パンディ
シュレイ パンディ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PayPay Corp
Original Assignee
PayPay Corp
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 PayPay Corp filed Critical PayPay Corp
Priority to JP2020163457A priority Critical patent/JP6861880B1/en
Application granted granted Critical
Publication of JP6861880B1 publication Critical patent/JP6861880B1/en
Publication of JP2022055811A publication Critical patent/JP2022055811A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】任意の対象に対する試験を容易にする。【解決手段】本願に係る生成装置は、利用者の操作対象が発揮する機能を特定する特定部と、特定された機能に応じて、操作対象に対して行われる利用者の操作の組合わせを決定する決定部と、決定された操作の組合わせを自然言語で表した操作情報を生成する生成部とを有することを特徴とする。【選択図】図1PROBLEM TO BE SOLVED: To facilitate a test for an arbitrary object. A generator according to the present application combines a specific unit that specifies a function exerted by a user's operation target and a user's operation performed on the operation target according to the specified function. It is characterized by having a determination unit for determining and a generation unit for generating operation information in which a combination of determined operations is expressed in natural language. [Selection diagram] Fig. 1

Description

本発明は、生成装置、生成方法および生成プログラムに関する。 The present invention relates to a generator, a generator and a generator.

従来、操作対象の試験に係る手間を削減するための手法が提案されている。このような手法の一例として、結果内容に応じてテストケースを分類し、分類結果に応じてソフトウェアに対する試験の内容を生成する技術が知られている。 Conventionally, a method for reducing the labor involved in the test of the operation target has been proposed. As an example of such a method, a technique is known in which test cases are classified according to the result contents and the test contents for software are generated according to the classification results.

米国特許第9038026号明細書U.S. Pat. No. 9038026

しかしながら、上述した従来技術では、テストケースの内容に基づいて、試験内容を生成しているに過ぎない。このため、上述した従来技術では、操作対象ごとにテストケースを準備する手間がかかる。 However, in the above-mentioned conventional technique, the test content is only generated based on the content of the test case. Therefore, in the above-mentioned conventional technique, it takes time and effort to prepare a test case for each operation target.

また、上述した従来技術では、テスト対象となるアプリケーションごとに、どのような内容のテストを行えばよいかをあらかじめ利用者が準備する必要がある。しかしながら、このように、テストの内容を人手で準備した場合は、テストすべき内容の欠落等といったミスが生じる恐れがある。 Further, in the above-mentioned conventional technique, it is necessary for the user to prepare in advance what kind of test should be performed for each application to be tested. However, when the test contents are manually prepared in this way, mistakes such as lack of test contents may occur.

本願は、上記に鑑みてなされたものであって、任意の対象に対する試験を容易にすることを目的とする。 The present application has been made in view of the above and aims to facilitate testing on any subject.

本願に係る生成装置は、利用者の操作対象が発揮する機能を特定する特定部と、特定された機能に応じて、操作対象に対して行われる利用者の操作の組合わせを決定する決定部と、決定された操作の組合わせを自然言語で表した操作情報を生成する生成部とを有することを特徴とする。 The generator according to the present application is a determination unit that determines a combination of a specific unit that specifies a function that the user's operation target exerts and a user's operation that is performed on the operation target according to the specified function. It is characterized by having a generation unit that generates operation information in which a combination of determined operations is expressed in natural language.

実施形態の一態様によれば、任意の対象に対する試験を容易にすることができる。 According to one aspect of the embodiment, testing on any subject can be facilitated.

図1は、実施形態に係る情報提供装置の一例を示す図である。FIG. 1 is a diagram showing an example of an information providing device according to an embodiment. 図2は、実施形態に係る情報提供装置が実行する生成処理の実装例を示す図である。FIG. 2 is a diagram showing an implementation example of a generation process executed by the information providing device according to the embodiment. 図3は、実施形態に係る情報提供装置が実行する適用処理の実装例を示す図である。FIG. 3 is a diagram showing an implementation example of an application process executed by the information providing device according to the embodiment. 図4は、実施形態に係る情報提供装置の構成例を示す図である。FIG. 4 is a diagram showing a configuration example of the information providing device according to the embodiment. 図5は、実施形態に係る操作データベースに登録される情報の一例を示す図である。FIG. 5 is a diagram showing an example of information registered in the operation database according to the embodiment. 図6は、実施形態に係る組合わせデータベースに登録される情報の一例を示す図である。FIG. 6 is a diagram showing an example of information registered in the combination database according to the embodiment. 図7は、実施形態に係る生成処理の流れの一例を示すフローチャートである。FIG. 7 is a flowchart showing an example of the flow of the generation process according to the embodiment. 図8は、ハードウェア構成の一例を示す図である。FIG. 8 is a diagram showing an example of a hardware configuration.

以下に、本願に係る生成装置、生成方法および生成プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る生成装置、生成方法および生成プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。 Hereinafter, a generator, a generation method, and a mode for carrying out the generation program according to the present application (hereinafter, referred to as “the embodiment”) will be described in detail with reference to the drawings. The generator, the generation method, and the generation program according to the present application are not limited by this embodiment. Further, in each of the following embodiments, the same parts will be designated by the same reference numerals, and duplicate description will be omitted.

[実施形態]
〔1−1.情報提供装置の一例について〕
まず、図1を用いて、実施形態に係る生成装置の一例である情報提供装置10の一例について説明する。図1は、実施形態に係る情報提供装置の一例を示す図である。なお、図1では、情報提供装置10が実行する機能の一例として、各種の端末装置にインストールされたアプリケーションのデバッグを行うためにアプリケーションの試験を行うための操作情報を生成する処理の一例について記載した。
[Embodiment]
[1-1. About an example of information providing device]
First, an example of the information providing device 10 which is an example of the generating device according to the embodiment will be described with reference to FIG. FIG. 1 is a diagram showing an example of an information providing device according to an embodiment. Note that FIG. 1 describes, as an example of the functions executed by the information providing device 10, an example of a process of generating operation information for testing an application in order to debug an application installed in various terminal devices. did.

図1に示す情報提供装置10は、生成処理を実行する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。例えば、情報提供装置10は、端末装置201〜203がインストールしたOS(Operating System)や、OS上で動作する各種アプリケーション等といった各種ソフトウェアの動作を自動的に試験するための操作情報を生成する。なお、操作情報については、後述する。 The information providing device 10 shown in FIG. 1 is an information processing device that executes a generation process, and is realized by, for example, a server device, a cloud system, or the like. For example, the information providing device 10 generates operation information for automatically testing the operation of various software such as an OS (Operating System) installed by the terminal devices 201 to 203 and various applications running on the OS. The operation information will be described later.

また、情報提供装置10は、上述した生成処理に加え、生成された操作情報に従って、端末装置201〜203にインストールされたアプリケーションのテストを行う機能を有する。なお、このような機能は、情報提供装置10自体が実行する必要はなく、例えば、サーバ装置やクラウドシステム等により実現される他の情報処理装置(例えば、適用装置)により実現されてもよい。例えば、情報提供装置10は、端末装置201〜203にインストールされた各種ソフトウェアの動作を自動的に試験する。 Further, the information providing device 10 has a function of testing the application installed in the terminal devices 201 to 203 according to the generated operation information in addition to the above-mentioned generation process. It should be noted that such a function does not need to be executed by the information providing device 10 itself, and may be realized by, for example, another information processing device (for example, an applicable device) realized by a server device, a cloud system, or the like. For example, the information providing device 10 automatically tests the operation of various software installed in the terminal devices 201 to 203.

端末装置201〜203(以下、「端末装置200」と総称する場合がある。)は、利用者U1〜U3が利用する端末装置であり、例えば、スマートフォン等の情報処理端末である。例えば、端末装置200は、インターネット等のネットワークNを介して、情報提供装置10と通信可能である。なお、端末装置200は、PC(Personal Computer)等の情報処理装置であってもよい。また、図1に示す例では、3つの端末装置201〜203を図示したが、実施形態は、これに限定されるものではない。後述する説明で明らかとなるように、情報提供装置10は、任意の数の端末装置200の試験を同時並列的に行ってよい。なお、図1に示す例では、端末装置201は、スマートフォンであり、端末装置202は、タブレットであり、端末装置203は、PCである。情報提供装置10は、このような様々な種別の端末装置200において実行されるソフトウェアの動作を同時に試験することも可能である。 Terminal devices 201 to 203 (hereinafter, may be collectively referred to as "terminal devices 200") are terminal devices used by users U1 to U3, and are, for example, information processing terminals such as smartphones. For example, the terminal device 200 can communicate with the information providing device 10 via a network N such as the Internet. The terminal device 200 may be an information processing device such as a PC (Personal Computer). Further, in the example shown in FIG. 1, three terminal devices 2001 to 203 are illustrated, but the embodiment is not limited to this. As will be clarified in the description described later, the information providing device 10 may perform tests of an arbitrary number of terminal devices 200 in parallel at the same time. In the example shown in FIG. 1, the terminal device 201 is a smartphone, the terminal device 202 is a tablet, and the terminal device 203 is a PC. The information providing device 10 can also simultaneously test the operation of software executed in such various types of terminal devices 200.

操作者端末300は、端末装置200の試験を所望する利用者、若しくは、試験を所望する利用者からの依頼を受けた操作者が利用する端末装置であり、サーバ装置やクラウドシステム、PC等の情報処理装置により実現される。 The operator terminal 300 is a terminal device used by a user who wants to test the terminal device 200 or an operator who receives a request from a user who wants to test the terminal device 200, and is used by a server device, a cloud system, a PC, or the like. It is realized by an information processing device.

〔1−2.適用処理の一例について〕
ここで、情報提供装置10が実行する生成処理を説明する前に、情報提供装置10が実行する適用処理について説明する。例えば、各端末装置200の動作確認や、ソフトウェアのデバッグを行う場合、各端末装置200に対して様々な処理を様々な順番で繰り返し入力し、誤った動作が行われないかを操作の度に判定することとなる。しかしながら、このような試験を人手で行った場合、手間がかかる。また、人手での試験では、誤った操作が行われてしまい、適切な試験が実現できない恐れがある。
[1-2. About an example of application processing]
Here, before explaining the generation process executed by the information providing device 10, the application process executed by the information providing device 10 will be described. For example, when checking the operation of each terminal device 200 or debugging software, various processes are repeatedly input to each terminal device 200 in various orders, and each operation is performed to check whether an erroneous operation is performed. It will be judged. However, if such a test is performed manually, it takes time and effort. In addition, in the manual test, an erroneous operation may be performed, and an appropriate test may not be realized.

そこで、情報提供装置10は、以下の適用処理を実行する。まず、情報提供装置10は、所定の対象に対して行われる利用者の行動、換言すると、アプリケーション等の所定の対象が提供する機能を自然言語で示す操作情報を取得する。例えば、アプリケーションが利用者に対してログインの機能を提供した場合、利用者は、その機能を発揮させることでログインといった行動を行うこととなる。また、アプリケーションが各種の決済機能を発揮するアプリケーションである場合、利用者は、アプリケーションが提供する決済機能を発揮させることで、決済といった行動を行うこととなる。そして、情報提供装置10は、取得した操作情報から、操作情報が示す行動が行われた際に対象に対して行われる操作を対象に対して適用するための適用情報を生成する。 Therefore, the information providing device 10 executes the following application processing. First, the information providing device 10 acquires operation information indicating in natural language the user's behavior performed on a predetermined target, in other words, a function provided by the predetermined target such as an application. For example, when an application provides a login function to a user, the user performs an action such as login by exerting the function. Further, when the application is an application that exerts various payment functions, the user will perform an action such as payment by exerting the payment function provided by the application. Then, the information providing device 10 generates application information for applying the operation performed on the target to the target when the action indicated by the operation information is performed from the acquired operation information.

例えば、情報提供装置10は、あるソフトウェアのログインが適切に行えるか否かの試験を行う場合、「ログインをする」といった、ログイン時における利用者の動作を自然言語で示す指示を取得する。このような場合、情報提供装置10は、操作対象となるソフトウェアにおいてログインを行うための操作を特定し、特定した操作をソフトウェア上で実現するための適用情報を生成する。 For example, when the information providing device 10 tests whether or not a certain software can be properly logged in, the information providing device 10 acquires an instruction indicating the user's operation at the time of login, such as "log in", in natural language. In such a case, the information providing device 10 specifies an operation for logging in in the software to be operated, and generates application information for realizing the specified operation on the software.

例えば、情報提供装置10は、「ログイン」という行動を行うために、「ログインを行うためのログインコンテンツを表示する」操作を行った後で、「ユーザIDを入力する」操作と「パスワードを入力する」操作を行い、さらに「ログインを行うためのログインボタンをタップする」操作が必要となる場合は、これら各操作を特定する。なお、このような行動を行うために必要な各種の操作の特定は、操作対象となるアプリケーションごとに生成された辞書データであって、想定される行動と、その行動が行われる際に行われる操作とを対応付けた辞書データを用いて、ルールベースにより特定される。 For example, the information providing device 10 performs an operation of "displaying login contents for logging in" and then an operation of "entering a user ID" and "entering a password" in order to perform an action of "login". If you need to perform the "to do" operation and then "tap the login button to log in", specify each of these operations. It should be noted that the identification of various operations necessary for performing such an action is dictionary data generated for each application to be operated, and is performed when the expected action and the action are performed. It is specified by the rule base using the dictionary data associated with the operation.

そして、情報提供装置10は、特定した各操作を端末装置200に適用するための適用情報を生成する。例えば、情報提供装置10は、端末装置200に対し、各種のタップ操作やテキストの入力操作を端末装置200上で再現するための各種公知技術(例えば、Appiumといった各種のUI(User Interface)のテスト自動化フレームワークの技術)を用いて、特定した各操作を端末装置200に対して行うための適用情報を生成する。 Then, the information providing device 10 generates application information for applying each specified operation to the terminal device 200. For example, the information providing device 10 tests the terminal device 200 with various publicly known techniques (for example, various UI (User Interface) such as Apium) for reproducing various tap operations and text input operations on the terminal device 200. The technology of the automation framework) is used to generate application information for performing each specified operation on the terminal device 200.

このような処理を行った場合、情報提供装置10は、テスト自動化フレームワークを利用するための知識を操作者が有しない場合であっても、試験時における利用者の行動を自然言語で記述するだけで、端末装置200の操作を実現することができる。このため、情報提供装置10は、端末装置200の試験を容易にすることができる。 When such processing is performed, the information providing device 10 describes the user's behavior at the time of the test in natural language even if the operator does not have the knowledge to use the test automation framework. The operation of the terminal device 200 can be realized only by itself. Therefore, the information providing device 10 can facilitate the test of the terminal device 200.

〔1−3.端末装置が複数存在する場合について〕
ここで、操作対象となる端末装置200が複数存在する場合、各端末装置200ごとに異なる適用情報が必要となる場合がある。例えば、操作対象となる複数の端末装置200が、同一種別のスマートフォンである場合だけでなく、スマートフォン、タブレット、およびPCといったそれぞれ異なる種別の複数の端末装置200である場合や、それぞれメーカ、OS、バージョン等が異なる端末装置200である場合も考えられる。また、一部複数の端末装置200の種別が同一であり、他の端末装置200が異なる種別である場合も考えられる。しかしながら、各端末装置200で実行されるOSやアプリケーションが異なる場合、OSごと、アプリケーションごと、若しくはOSやアプリケーションの組合わせごとに、異なる適用情報を生成する手間がかかる。
[1-3. When there are multiple terminal devices]
Here, when there are a plurality of terminal devices 200 to be operated, different application information may be required for each terminal device 200. For example, not only when the plurality of terminal devices 200 to be operated are smartphones of the same type, but also when there are multiple terminal devices 200 of different types such as smartphones, tablets, and PCs, and when the manufacturers, OSs, etc. It is also conceivable that the terminal devices 200 have different versions and the like. It is also possible that some of the plurality of terminal devices 200 have the same type, and the other terminal devices 200 have different types. However, when the OS or application executed by each terminal device 200 is different, it takes time and effort to generate different application information for each OS, each application, or each combination of OS and application.

しかしながら、情報提供装置10は、各端末装置200で実行させる操作の内容ではなく、各端末装置200に対して行われる利用者の行動、すなわち、アプリケーションが利用者に対して提供する機能のうち利用者が利用する機能(例えば、ログイン等)を自然言語で示す指示から、適用情報を生成する。より具体的には、情報提供装置10は、複数の対象に対して共通して行われる利用者の行動を自然言語で示す操作情報を取得し、取得した操作情報から、対象ごとに、操作情報が示す行動が行われた際に対象に対して行われる操作を対象に再現させるための再現情報を生成する。 However, the information providing device 10 is not the content of the operation to be executed by each terminal device 200, but the user's action performed on each terminal device 200, that is, the use of the functions provided by the application to the user. Applicable information is generated from instructions that indicate the functions used by the person (for example, login, etc.) in natural language. More specifically, the information providing device 10 acquires operation information indicating the user's behavior commonly performed for a plurality of targets in natural language, and from the acquired operation information, the operation information for each target. Generates reproduction information for reproducing the operation performed on the target when the action indicated by is performed.

換言すると、情報提供装置10は、それぞれバージョンなどが異なる複数のアプリケーションを試験対象とする場合に、各アプリケーションが共通して提供する機能を自然言語で示す指示、すなわち、各アプリケーションの機能を上位概念化した指示に基づいて、各アプリケーションごとにその機能を発揮させるための操作を特定し、特定した操作を再現させるための再現情報を生成する。 In other words, the information providing device 10 gives instructions in natural language to indicate the functions commonly provided by each application when a plurality of applications having different versions and the like are tested, that is, the functions of each application are made into a higher concept. Based on the instructions given, the operation for exerting the function is specified for each application, and the reproduction information for reproducing the specified operation is generated.

このため、情報提供装置10は、操作対象となる端末装置200がそれぞれ異なる種別である場合や、端末装置200上のアプリケーションやOSがそれぞれ異なる場合、端末装置の種別やアプリケーションの組合せが異なる場合であっても、各端末装置200に対して共通して行われる利用者の行動を示す単一の操作情報から、各端末装置ごとに、操作情報が示す行動が行われる際に端末装置200に対して行われる操作を行わせるための適用情報を生成することができる。換言すると、端末装置200は、単一の行動に対応する各端末装置200ごとに異なる操作を実現する単一のインタフェースとして動作することができる。 Therefore, the information providing device 10 may be operated when the terminal devices 200 to be operated are of different types, when the applications and OSs on the terminal devices 200 are different, or when the types of terminal devices and combinations of applications are different. Even if there is, from a single operation information indicating the user's behavior that is commonly performed for each terminal device 200, for each terminal device, when the action indicated by the operation information is performed, the terminal device 200 It is possible to generate application information for performing the operation performed in the above. In other words, the terminal device 200 can operate as a single interface that realizes a different operation for each terminal device 200 corresponding to a single action.

〔1−4.生成処理について〕
上述したように、情報提供装置10は、試験対象の機能を上位概念化した指示、すなわち、アプリケーションに対して行われる利用者の行動や利用者が利用する機能を自然言語で示す指示に基づいて、アプリケーションの試験を行うことができる。このため、操作者は、試験対象としたい利用者の行動や機能を自然言語で表した情報のみで、試験を行うことができる。
[1-4. About generation processing]
As described above, the information providing device 10 is based on an instruction that superimposes the function to be tested, that is, an instruction that indicates the user's behavior performed on the application and the function used by the user in natural language. You can test your application. Therefore, the operator can perform the test only with the information expressing the behavior and function of the user who wants to be the test target in natural language.

しかしながら、係る処理のみでは適切な試験を行うことができるとは言えない。例えば、アプリケーションが提供するログインにおける試験では、ログインが適切に行えたか否かだけではなく、ログインが行われた際にどのような操作でログインができなかったかを知る必要がある。しかしながら、このような詳細な操作内容を人手で設定するのは手間がかかる。また、人手で各種操作内容を設定した場合、人的ミスにより、試行すべき操作内容が設定されず、バグが見逃される恐れがある。 However, it cannot be said that an appropriate test can be performed only by such a process. For example, in the login test provided by the application, it is necessary to know not only whether or not the login was performed properly, but also what kind of operation was not possible to log in when the login was performed. However, it is troublesome to manually set such detailed operation contents. In addition, when various operation contents are set manually, the operation contents to be tried are not set due to human error, and a bug may be overlooked.

そこで、情報提供装置10は、以下の生成処理を実行する。まず、情報提供装置10は、利用者の操作対象が発揮する機能を特定する。続いて、情報提供装置10は、特定された機能に応じて、操作対象に対して行われる利用者の操作の組合わせを決定する。そして、情報提供装置10は、決定された操作の組合わせを自然言語で表した操作情報を生成する。 Therefore, the information providing device 10 executes the following generation processing. First, the information providing device 10 identifies a function exhibited by the user's operation target. Subsequently, the information providing device 10 determines a combination of user operations performed on the operation target according to the specified function. Then, the information providing device 10 generates operation information expressing the determined combination of operations in natural language.

例えば、情報提供装置10は、利用者の操作対象となるアプリケーションの解析を行い、アプリケーションの各種機能を特定する。例えば、情報提供装置10は、アプリケーションが提供する機能として、ログイン、QRコード(登録商標)の読み取りや送信といった決済に関する各種の機能、音楽コンテンツや地図コンテンツ等といった各種コンテンツを適用する機能など、アプリケーションが発揮する機能であって、利用者が利用可能な機能を特定する。なお、このような機能の特定については、アプリケーションが有する特徴と、そのアプリケーションが提供する機能との関係性を学習したモデルを用いることで、実現可能である。このようなモデルの詳細については、後述する。 For example, the information providing device 10 analyzes an application to be operated by the user and identifies various functions of the application. For example, the information providing device 10 is an application such as various functions related to payment such as login, reading and transmission of a QR code (registered trademark), and a function of applying various contents such as music contents and map contents as functions provided by the application. Identify the functions that can be used by the user. It should be noted that the identification of such a function can be realized by using a model that learns the relationship between the characteristics of the application and the function provided by the application. Details of such a model will be described later.

続いて、情報提供装置10は、特定した機能ごとに、その機能を発揮する際にアプリケーションに対して行われる操作の組合わせを決定する。例えば、情報提供装置10は、特定した機能が「ログイン」である場合、アプリケーションに対して行われる操作として、「ユーザIDの入力」、「パスワードの入力」、「ログインボタンの選択」といった操作を特定する。すなわち、情報提供装置10は、特定した機能を発揮するための画面内において利用者から受け付け可能な操作(換言すると、利用者が実行可能な操作)を特定する。なお、このような特定処理は、例えば、アプリケーションの機能と、その機能を発揮するための操作とをあらかじめ対応付けたテーブル等を用いることで、実現可能である。 Subsequently, the information providing device 10 determines a combination of operations performed on the application when the function is exerted for each specified function. For example, when the specified function is "login", the information providing device 10 performs operations such as "input of user ID", "input of password", and "selection of login button" as operations performed on the application. Identify. That is, the information providing device 10 specifies an operation that can be accepted from the user (in other words, an operation that can be executed by the user) in the screen for exerting the specified function. It should be noted that such a specific process can be realized by using, for example, a table or the like in which the function of the application and the operation for exerting the function are associated in advance.

そして、情報提供装置10は、これら特定した操作を適宜組合わせた操作の組合わせを決定する。例えば、情報提供装置10は、「ユーザIDの入力」、「ユーザIDの入力」、「ログインボタンの選択」といった組合わせや、「ユーザIDの入力」、「パスワードの入力」、「ユーザIDの入力」といった組合わせ等、特定した操作をランダムな数だけランダムな順序で並べた組合わせを所定数生成する。また、情報提供装置10は、後述する処理により、生成した組合わせの中から、実際にアプリケーションに対して適用する操作の組合わせを決定する。 Then, the information providing device 10 determines a combination of operations that appropriately combines these specified operations. For example, the information providing device 10 may include combinations such as "user ID input", "user ID input", and "login button selection", "user ID input", "password input", and "user ID input". Generates a predetermined number of combinations in which a random number of specified operations are arranged in a random order, such as a combination such as "input". Further, the information providing device 10 determines a combination of operations to be actually applied to the application from the generated combinations by the process described later.

そして、情報提供装置10は、決定した操作の組合わせを自然言語で表した操作情報、すなわち、操作のシナリオ(換言すると、試験のシナリオ)を操作情報として生成する。例えば、情報提供装置10は、「ログイン」の機能について、「ユーザIDの入力」、「ユーザIDの入力」、「ログインボタンの選択」といった操作の組合わせを決定した場合、「ログイン画面において、ユーザIDを入力し、続いて、ユーザIDを入力し、その後、ログインボタンをタップする」といった操作情報を生成する。 Then, the information providing device 10 generates operation information expressing the combination of the determined operations in natural language, that is, an operation scenario (in other words, a test scenario) as the operation information. For example, when the information providing device 10 determines a combination of operations such as "input of user ID", "input of user ID", and "selection of login button" for the function of "login", "on the login screen, on the login screen" Enter the user ID, then enter the user ID, and then tap the login button "to generate operation information.

このような処理の結果、情報提供装置10は、アプリケーションの動作を確認するために実行すべき各種の操作の組合わせを、自動的に決定し、決定した組合わせを自然言語で示す操作情報を提供することができる。換言すると、情報提供装置10は、動作確認の対象となる操作の組合わせ、すなわち、テストケースを自動的に決定することができる。この結果、情報提供装置10は、アプリケーションの動作確認に要する手間を削減することができる。 As a result of such processing, the information providing device 10 automatically determines a combination of various operations to be executed in order to confirm the operation of the application, and provides operation information indicating the determined combination in natural language. Can be provided. In other words, the information providing device 10 can automatically determine a combination of operations to be checked for operation, that is, a test case. As a result, the information providing device 10 can reduce the time and effort required to confirm the operation of the application.

従来、テストケースの決定においては、動作確認を行うアプリケーション等といった操作対象の動作を熟知する操作者や経験を有する操作者により、テストケースの内容を示すフローやダイアグラムが作成され、このようなフローやダイアグラムに従って、適用情報の作成が行われていた。しかしながら、このような手法では、操作者が操作対象を熟知していない場合や、経験が浅い場合に、適切な動作確認を行うことができず、アプリケーションのバージョン等といった仕様ごとに、フローやダイアグラムを作成する手間がかかる。 Conventionally, in determining a test case, a flow or diagram showing the contents of the test case is created by an operator who is familiar with the operation of the operation target such as an application for checking the operation or an operator who has experience, and such a flow. The application information was created according to the above and the diagram. However, with such a method, if the operator is not familiar with the operation target or if he / she is inexperienced, it is not possible to confirm the appropriate operation, and the flow and diagram are used for each specification such as the application version. It takes time to create.

しかしながら、情報提供装置10は、動作確認を行う操作対象を分析することで、操作対象が発揮する機能を特定し、特定した機能に基づいて、自動的にテストケースを決定する。そして、情報提供装置10は、決定したテストケースを自然言語で示す操作情報、すなわち、バージョン等といった仕様によらず、操作対象に対する操作内容を示すことができる操作情報を生成する。このため、情報提供装置10は、テストケースの作成の手間を削減することができる。 However, the information providing device 10 identifies the function exhibited by the operation target by analyzing the operation target for which the operation is confirmed, and automatically determines the test case based on the specified function. Then, the information providing device 10 generates operation information indicating the determined test case in natural language, that is, operation information capable of indicating the operation content for the operation target regardless of specifications such as version and the like. Therefore, the information providing device 10 can reduce the trouble of creating a test case.

〔1−5.生成処理の一例について〕
以下、図1を用いて、情報提供装置10が実行する生成処理の流れ、および情報提供装置10が実行する適用処理の流れの一例について説明する。例えば、操作者は、各端末装置200に対して、操作対象となるアプリケーションをインストールする(ステップS1)。ここで、各端末装置200に対してインストールされるアプリケーションは、それぞれ異なるバージョンのアプリケーションであってもよい。また、各端末装置200に対してインストールされるアプリケーションは、それぞれ個別のOS上で動作するアプリケーションであってもよく、それぞれ異なるサービスを提供するためのアプリケーションであってもよい。また、各端末装置200は、それぞれ異なる種別のハードウェアであってもよい。すなわち、試験対象となる端末装置200とは、ハードウェアとソフトウェアとの組み合わせがそれぞれ異なるものであってもよい。
[1-5. About an example of generation processing]
Hereinafter, an example of the flow of the generation process executed by the information providing device 10 and the flow of the applied process executed by the information providing device 10 will be described with reference to FIG. For example, the operator installs the application to be operated on each terminal device 200 (step S1). Here, the application installed for each terminal device 200 may be a different version of the application. Further, the application installed on each terminal device 200 may be an application running on an individual OS, or an application for providing different services. Further, each terminal device 200 may be of different types of hardware. That is, the combination of hardware and software may be different from that of the terminal device 200 to be tested.

続いて、情報提供装置10は、操作者端末300から、試験対象となるアプリケーションを受け付ける(ステップS2)。すなわち、情報提供装置10は、AUT(Application Under Test)を受け付ける。例えば、情報提供装置10は、各端末装置200にインストールされたアプリケーションのデータを受け付ける。なお、情報提供装置10は、各端末装置200にインストールされたアプリケーションのうちいずれかのアプリケーションのみを受け付けてもよい。以下の説明で明らかとなるように、情報提供装置10は、バージョンが異なる複数のアプリケーションであっても、同一のサービスを提供するアプリケーションであれば、任意のバージョンのアプリケーションから、各アプリケーションが提供する機能を試験するための適用情報を生成することができる。 Subsequently, the information providing device 10 receives the application to be tested from the operator terminal 300 (step S2). That is, the information providing device 10 accepts an AUT (Application Under Test). For example, the information providing device 10 receives data of an application installed in each terminal device 200. The information providing device 10 may accept only one of the applications installed in each terminal device 200. As will be clarified in the following description, the information providing device 10 is provided by each application from any version of the application as long as it is an application that provides the same service even if there are a plurality of applications having different versions. Applicable information for testing functionality can be generated.

続いて、情報提供装置10は、アプリケーションが提供するサービスをドメインとして特定する(ステップS3)。上述したように、情報提供装置10は、操作対象となるアプリケーションの機能に基づいて操作内容の組合わせを決定するが、このようなアプリケーションの機能は、アプリケーションが提供するサービスによって異なる。例えば、決済を行うアプリケーションは、ログインの機能が必須であると考えらえるが、フォトビュワー等のアプリケーションは、ログインの機能を提供しない場合が多いと考えられる。このように、操作対象が提供するサービスの種別に応じて、操作対象が発揮する機能は、変化すると考えられる。 Subsequently, the information providing device 10 specifies the service provided by the application as a domain (step S3). As described above, the information providing device 10 determines the combination of operation contents based on the function of the application to be operated, and the function of such an application differs depending on the service provided by the application. For example, it is considered that an application for making a payment requires a login function, but an application such as a photo viewer often does not provide a login function. In this way, it is considered that the functions exhibited by the operation target change depending on the type of service provided by the operation target.

そこで、情報提供装置10は、操作対象となるアプリケーションが提供するサービスをドメインとして特定する。例えば、アプリケーションが画面上に表示するテキストの内容は、アプリケーションが提供するサービスのドメインを精度よく示す指標となり得る。例えば、「再生」といったテキストを表示するアプリケーションは、音楽等の各種コンテンツを再生するサービスを提供するアプリケーションであると推定される。また、「支払」といったテキストを表示するアプリケーションは、各種支払サービスを提供するアプリケーションであると推定される。そこで、情報提供装置10は、コンテンツが画面上に表示するテキストに基づいて、操作対象が提供するサービスの種別を特定する。 Therefore, the information providing device 10 specifies the service provided by the application to be operated as a domain. For example, the content of the text displayed on the screen by the application can be an index that accurately indicates the domain of the service provided by the application. For example, an application that displays text such as "playback" is presumed to be an application that provides a service for playing back various contents such as music. In addition, an application that displays a text such as "payment" is presumed to be an application that provides various payment services. Therefore, the information providing device 10 specifies the type of service provided by the operation target based on the text displayed on the screen by the content.

なお、情報提供装置10は、アプリケーションが画面上に表示するテキストの量に基づいて、アプリケーションが提供するサービスのドメインを推定してもよい。例えば、情報提供装置10は、「再生」といったテキストよりも、「支払」といったテキストを多く表示するアプリケーションについては、決済サービスを提供するアプリケーションであると特定してもよい。 The information providing device 10 may estimate the domain of the service provided by the application based on the amount of text displayed on the screen by the application. For example, the information providing device 10 may be specified as an application that provides a payment service for an application that displays more text such as "payment" than a text such as "reproduction".

なお、情報提供装置10は、アプリケーションが提供するテキストから、アプリケーションが提供するサービスのドメイン(以下、「アプリケーションのドメイン」と記載する場合がある。)をルールベースで特定してもよい。しかしながら、本実施形態において、情報提供装置10は、アプリケーションが提供するテキストと、そのアプリケーションが提供するサービスのドメインとの間の関係性を学習したドメインモデルを用いて、アプリケーションが提供するサービスのドメインを特定する。 The information providing device 10 may specify the domain of the service provided by the application (hereinafter, may be described as "the domain of the application") from the text provided by the application on a rule basis. However, in the present embodiment, the information providing device 10 uses a domain model in which the relationship between the text provided by the application and the domain of the service provided by the application is learned, and the domain of the service provided by the application is used. To identify.

例えば、情報提供装置10は、各種のアプリケーションが提供するテキストと、そのアプリケーションが提供するサービスのドメインとの組を学習データとして取得する。そして、情報提供装置10は、各テキストを入力した際に、そのテキストを提供するアプリケーションのドメインを示す情報を出力するようにドメインモデルの学習を行う。なお、このようなモデルの学習処理は、例えば、DNN(Deep Neural Network)等の各種ニューラルネットワーク等をバックプロパゲーション等による学習を行うことで、実現可能である。 For example, the information providing device 10 acquires a set of texts provided by various applications and domains of services provided by the applications as learning data. Then, when each text is input, the information providing device 10 learns the domain model so as to output information indicating the domain of the application that provides the text. The learning process of such a model can be realized by, for example, learning various neural networks such as DNN (Deep Neural Network) by backpropagation or the like.

また、情報提供装置10は、自装置でドメインモデルの学習を行わずとも、任意の学習装置により学習が行われたドメインモデルを用いてもよい。そして、情報提供装置10は、学習済みのドメインモデルに対し、操作対象となるアプリケーションが提供するテキストを入力することで、アプリケーションが提供するサービスのドメインを推定する。このような処理の結果、情報提供装置10は、アプリケーションが提供するサービスのドメインを適切に推定することができる。 Further, the information providing device 10 may use a domain model learned by an arbitrary learning device without learning the domain model by its own device. Then, the information providing device 10 estimates the domain of the service provided by the application by inputting the text provided by the application to be operated into the learned domain model. As a result of such processing, the information providing device 10 can appropriately estimate the domain of the service provided by the application.

続いて、情報提供装置10は、ドメインに応じて、アプリケーションの各画面上で提供される機能を特定する(ステップS4)。例えば、情報提供装置10は、ログイン等、アプリケーションを介して提供されるサービスを構成する構成サービスを機能として特定する。なお、以下の説明では、このような構成サービスを、アプリケーションの「機能」と表現する場合がある。上述したように、情報提供装置10は、操作対象となるアプリケーションの機能に基づいて操作内容の組合わせを決定するが、このようなアプリケーションの機能は、アプリケーションのドメイン、すなわち、アプリケーションが提供するサービスによって異なる。例えば、決済を行うアプリケーションは、ログインの機能が必須であると考えらえるが、フォトビュワー等のアプリケーションは、ログインの機能を提供しない場合が多いと考えられる。このように、操作対象が提供するサービスの種別に応じて、操作対象が発揮する機能は、変化すると考えられる。 Subsequently, the information providing device 10 specifies the function provided on each screen of the application according to the domain (step S4). For example, the information providing device 10 specifies as a function a configuration service constituting a service provided via an application such as login. In the following description, such a configuration service may be expressed as a "function" of the application. As described above, the information providing device 10 determines the combination of operation contents based on the function of the application to be operated, and the function of such an application is the domain of the application, that is, the service provided by the application. Depends on. For example, it is considered that an application for making a payment requires a login function, but an application such as a photo viewer often does not provide a login function. In this way, it is considered that the functions exhibited by the operation target change depending on the type of service provided by the operation target.

そこで、情報提供装置10は、アプリケーションのドメインとあらかじめ対応付けられる機能の中から、アプリケーションの各画面上で提供される機能を特定する。例えば、アプリケーションは、ログインや決済等の機能を発揮する場合には、画面上に画像やテキスト、テキストを入力するためのテキストボックスや各種のボタン等といったオブジェクトを配置して表示させることとなる。また、画面上に表示されるオブジェクトは、アプリケーションが提供するサービスの内容に応じて、適宜変化する。例えば、決済サービスを提供するアプリケーションは、決済額を入力するためのオブジェクトやQRコード(登録商標)を撮影するためのオブジェクト等を表示する場合がある。一方、音楽コンテンツを提供するアプリケーションは、再生ボタンや一時停止ボタン等のオブジェクトを表示する場合がある。このように、各種のアプリケーションは、発揮する機能に応じて異なるオブジェクトを画面上に表示することとなる。 Therefore, the information providing device 10 identifies the function provided on each screen of the application from the functions associated with the domain of the application in advance. For example, when an application exerts a function such as login or payment, an object such as a text box for inputting an image, text, or text, various buttons, or the like is arranged and displayed on the screen. In addition, the object displayed on the screen changes as appropriate according to the content of the service provided by the application. For example, an application that provides a payment service may display an object for inputting a payment amount, an object for photographing a QR code (registered trademark), and the like. On the other hand, an application that provides music content may display objects such as a play button and a pause button. In this way, various applications display different objects on the screen according to the functions to be exhibited.

このため、情報提供装置10は、操作対象が所定の端末装置に対して表示させる画面に含まれるオブジェクトに基づいて、その画面においてアプリケーションが提供する機能を特定する。例えば、情報提供装置10は、アプリケーションを解析し、各画面画面上に表示される各種のオブジェクトを特定する。そして、情報提供装置10は、オブジェクトの種別や量に応じて、アプリケーションが各画面を介して提供する機能を特定する。 Therefore, the information providing device 10 identifies the function provided by the application on the screen based on the object included in the screen displayed by the operation target on the predetermined terminal device. For example, the information providing device 10 analyzes an application and identifies various objects displayed on each screen. Then, the information providing device 10 specifies a function provided by the application via each screen according to the type and amount of the object.

例えば、情報提供装置10は、ドメインが「決済サービス」であるアプリケーションについて、ある画面上に、テキストボックスが2つ含まれている場合は、この画面上で提供される機能が「ログイン」であると判定する。また、情報提供装置10は、ドメインが「SNS(Social Networking Service)」であるアプリケーションについて、ある画面上に、テキストボックスが2つ含まれている場合は、この画面上で提供される機能が「投稿」であると判定する。 For example, in the information providing device 10, when two text boxes are included on a certain screen for an application whose domain is "payment service", the function provided on this screen is "login". Is determined. Further, when the information providing device 10 includes two text boxes on a certain screen for an application whose domain is "SNS (Social Networking Service)", the function provided on this screen is ". Judged as "post".

なお、情報提供装置10は、画面上におけるオブジェクトの種類や内容のみならず、例えば、画面上でスクロールが可能か否かや、画面上で利用者が可能な各種の操作を特定し、特定結果に応じて、画面上で提供される機能を判定してもよい。すなわち、情報提供装置10は、画面上に配置された各種のオブジェクトや画面上で実行可能な各種操作等といったアプリケーションが提供する画面の特徴、すなわち、アプリケーションの特徴に基づいて、アプリケーションが提供する機能を判定することとなる。 The information providing device 10 specifies not only the type and content of the object on the screen, but also, for example, whether or not scrolling is possible on the screen and various operations that the user can perform on the screen, and the specific result is specified. Depending on the situation, the function provided on the screen may be determined. That is, the information providing device 10 is a function provided by the application based on the characteristics of the screen provided by the application such as various objects arranged on the screen and various operations that can be executed on the screen, that is, the characteristics of the application. Will be determined.

なお、情報提供装置10は、画面上に配置されるオブジェクトの種別や数と、アプリケーションのドメインとの組合わせからその機能をルールベースで特定してもよい。しかしながら、本実施形態において、情報提供装置10は、アプリケーションが提供する画面上のオブジェクトと、その画面上で提供される機能との間の関係性を学習したスクリーンモデルを用いて、アプリケーションが提供する機能を特定する。 The information providing device 10 may specify its function on a rule basis from the combination of the type and number of objects arranged on the screen and the domain of the application. However, in the present embodiment, the information providing device 10 is provided by the application using a screen model that learns the relationship between the object on the screen provided by the application and the function provided on the screen. Identify the function.

例えば、情報提供装置10は、あるドメインに属するアプリケーションの画面に含まれるオブジェクトの種別や数等を示す情報を入力した際に、その画面を介して提供される機能を示す情報を出力するようにスクリーンモデルの学習を行う。このような学習処理をドメインごとに実行することで、情報提供装置10は、所定のドメインに属するアプリケーションの画面に含まれるオブジェクトから、機能を推定するモデルをドメインごとに生成することができる。なお、情報提供装置10は、自装置でスクリーンモデルの学習を行わずとも、任意の学習装置により学習が行われたスクリーンモデルを用いてもよい。そして、情報提供装置10は、学習済みのスクリーンモデルに対し、操作対象となるアプリケーションが提供る画面内のオブジェクトの情報を入力することで、アプリケーションが提供する機能を推定する。このような処理の結果、情報提供装置10は、アプリケーションが提供する機能を適切に推定することができる。 For example, when the information providing device 10 inputs information indicating the type and number of objects included in the screen of an application belonging to a certain domain, the information providing device 10 outputs information indicating a function provided through the screen. Learn the screen model. By executing such a learning process for each domain, the information providing device 10 can generate a model for estimating the function for each domain from the objects included in the screen of the application belonging to the predetermined domain. The information providing device 10 may use a screen model learned by an arbitrary learning device without learning the screen model by its own device. Then, the information providing device 10 estimates the function provided by the application by inputting the information of the object in the screen provided by the application to be operated into the trained screen model. As a result of such processing, the information providing device 10 can appropriately estimate the function provided by the application.

上述した処理の結果、情報提供装置10は、アプリケーションが表示する画面ごとに、その画面を介して提供される機能を特定することとなる。そこで、情報提供装置10は、特定した機能を発揮させるための操作の組合わせを決定する(ステップS5)。例えば、情報提供装置10は、特定した機能とあらかじめ対応付けられた操作を特定し、特定した操作をランダムな数だけ、ランダムな順番で組合わせた操作の組合わせの候補を生成する。そして、情報提供装置10は、生成した組合わせの候補の中から、試験の対象として適切であると推定される組合わせの候補を特定する。なお、このような操作の組合わせを決定する処理の詳細については、後述する。 As a result of the above-mentioned processing, the information providing device 10 specifies the function provided through the screen for each screen displayed by the application. Therefore, the information providing device 10 determines a combination of operations for exerting the specified function (step S5). For example, the information providing device 10 identifies an operation associated with the specified function in advance, and generates a combination candidate of the operation in which the specified operation is combined in a random number and in a random order. Then, the information providing device 10 identifies a combination candidate that is presumed to be appropriate as a test target from the generated combination candidates. The details of the process for determining the combination of such operations will be described later.

続いて、情報提供装置10は、決定した操作の組合わせを自然言語で示した操作情報を生成する(ステップS6)。例えば、情報提供装置10は、各操作と、その操作を示す自然言語とを対応付けた辞書データを参照し、決定した操作内容を自然言語で示した操作情報を生成する。例えば、情報提供装置10は、操作の組合わせが「テキストボックスにユーザIDを入力」、「ボタンをクリック」である場合、「テキストボックスにユーザIDを入力した後にボタンをクリックする」というように、各操作内容と、各操作を実行する順序とを自然言語で示す操作内容を生成する。なお、このような操作情報は、例えば、テストケース、テストシナリオ、シナリオアウトライン、特徴ファイル、もしくはユーザフロー等と表現される場合がある。すなわち、情報提供装置10は、構成サービスが提供される際に利用者が入力しうる操作を自然言語で示す操作情報を生成する。 Subsequently, the information providing device 10 generates operation information indicating the combination of the determined operations in natural language (step S6). For example, the information providing device 10 refers to dictionary data in which each operation is associated with a natural language indicating the operation, and generates operation information indicating the determined operation content in the natural language. For example, in the information providing device 10, when the combination of operations is "enter the user ID in the text box" and "click the button", the information providing device 10 "clicks the button after entering the user ID in the text box". , Generates operation contents that indicate each operation content and the order in which each operation is executed in natural language. Note that such operation information may be expressed as, for example, a test case, a test scenario, a scenario outline, a feature file, a user flow, or the like. That is, the information providing device 10 generates operation information indicating in natural language the operations that can be input by the user when the configuration service is provided.

〔1−6.適用処理の一例について〕
続いて、情報提供装置10が実行する提供処理の一例を説明する。まず、情報提供装置10は、操作情報が示す操作を各端末装置200に提供させるための適用情報を生成する(ステップS7)。例えば、情報提供装置10は、各端末装置200において実行されているOSやログイン対象となるソフトウェアごとに、操作情報から操作内容を特定する。続いて、情報提供装置10は、特定した操作を各端末装置200に適用されるための適用情報を生成する。例えば、情報提供装置10は、端末装置200ごとに、特定した操作を実行させるためのテストコードを生成する。換言すると、情報提供装置10は、各端末装置200に対して、特定した操作を仮想的に入力させるための各種スクリプトを適用情報として生成する。
[1-6. About an example of application processing]
Subsequently, an example of the providing process executed by the information providing device 10 will be described. First, the information providing device 10 generates application information for causing each terminal device 200 to provide the operation indicated by the operation information (step S7). For example, the information providing device 10 specifies the operation content from the operation information for each OS executed in each terminal device 200 and the software to be logged in. Subsequently, the information providing device 10 generates application information for applying the specified operation to each terminal device 200. For example, the information providing device 10 generates a test code for executing the specified operation for each terminal device 200. In other words, the information providing device 10 generates various scripts for virtually inputting the specified operation to each terminal device 200 as application information.

そして、情報提供装置10は、各端末装置200ごとに生成した適用情報を各端末装置200に対して出力する(ステップS8)。例えば、情報提供装置10は、操作情報が、ログインを行う画面上でのテストケースを示す場合、各テストケースにおける操作を端末装置201に対して適用するための適用情報を端末装置201に配信する。同様に、情報提供装置10は、各テストケースにおける操作を端末装置202、203に対して適用するための適用情報を端末装置202、203に配信する。 Then, the information providing device 10 outputs the application information generated for each terminal device 200 to each terminal device 200 (step S8). For example, when the operation information indicates a test case on the screen for logging in, the information providing device 10 distributes the application information for applying the operation in each test case to the terminal device 201 to the terminal device 201. .. Similarly, the information providing device 10 distributes application information for applying the operation in each test case to the terminal devices 202 and 203 to the terminal devices 202 and 203.

このような場合、各端末装置200は、情報提供装置10から受付けた適用情報に従った操作が行われたものとして、それぞれアプリケーションを動作させる(ステップS9)。例えば、各端末装置200には、適用情報に従って操作を仮想的に入力させるための各種のスクリプトが配信されている。そして、各端末装置200は、情報提供装置10から受付けた適用情報が示す操作が入力されたものとして、アプリケーションを動作させることで、それぞれ個別にアプリケーションのログインを行うこととなる。 In such a case, each terminal device 200 operates the application as if the operation was performed according to the application information received from the information providing device 10 (step S9). For example, various scripts for virtually inputting an operation according to application information are distributed to each terminal device 200. Then, each terminal device 200 individually logs in to the application by operating the application assuming that the operation indicated by the application information received from the information providing device 10 is input.

ここで、情報提供装置10から出力される適用情報には、操作が適用された結果を各端末装置200に収集させるための情報が含まれている。この結果、端末装置200は、操作の適用結果を収集し、収集した適用結果を情報提供装置10へと送信する(ステップS10)。このような場合、情報提供装置10は、適用結果のレポートを生成し、生成したレポートを操作者端末300に提供する(ステップS11)。例えば、情報提供装置10は、各端末装置200において実行されているOSやアプリケーションの種別とともに、どの端末装置200においてログインが成功若しくは失敗したか、いくつの端末装置200でログインが成功若しくは失敗したかといったレポートを提供する。このような処理の結果、情報提供装置10は、デバッグ等の試験結果の容易な理解を促進することができる。 Here, the application information output from the information providing device 10 includes information for causing each terminal device 200 to collect the result of applying the operation. As a result, the terminal device 200 collects the application result of the operation and transmits the collected application result to the information providing device 10 (step S10). In such a case, the information providing device 10 generates a report of the application result and provides the generated report to the operator terminal 300 (step S11). For example, the information providing device 10 includes the type of OS and application executed in each terminal device 200, which terminal device 200 the login succeeded or failed, and how many terminal devices 200 the login succeeded or failed. Provide a report such as. As a result of such processing, the information providing device 10 can promote easy understanding of test results such as debugging.

〔1−7.生成処理の実装例について〕
上述したように、情報提供装置10は、アプリケーションの解析結果に基づいて、アプリケーションを試験するためのテストケースを生成する。換言すると、情報提供装置10は、操作対象に対して行われる利用者の操作の組合わせを自然言語で示した操作情報を生成する。このような生成処理において、情報提供装置10は、IAGA(Improved Adaptive Genetic Algorithm)を改良した手法により、操作情報の生成を行う。
[1-7. About implementation example of generation process]
As described above, the information providing device 10 generates a test case for testing the application based on the analysis result of the application. In other words, the information providing device 10 generates operation information indicating a combination of user operations performed on an operation target in natural language. In such a generation process, the information providing device 10 generates operation information by an improved method of IAGA (Improved Adaptive Genetic Algorithm).

以下、図2を用いて、情報提供装置10が実行する生成処理の実装例について説明する。図2は、実施形態に係る情報提供装置が実行する生成処理の実装例を示す図である。図2においては、情報提供装置10が操作情報を生成する処理の流れの一例について記載したが、実施形態は、これに限定されるものではない。情報提供装置10は、図2に示す処理以外にも、アプリケーションの解析結果、例えば、アプリケーションが有する各種の特徴に基づいて操作情報を生成するのであれば、任意の処理により、操作情報の生成を行ってよい。 Hereinafter, an implementation example of the generation process executed by the information providing device 10 will be described with reference to FIG. FIG. 2 is a diagram showing an implementation example of a generation process executed by the information providing device according to the embodiment. In FIG. 2, an example of the flow of processing in which the information providing device 10 generates operation information has been described, but the embodiment is not limited to this. In addition to the processing shown in FIG. 2, the information providing device 10 can generate operation information by any processing if it generates operation information based on the analysis result of the application, for example, various features of the application. You may go.

例えば、図2に示す例では、情報提供装置10は、操作データベースおよび組合わせデータベースに登録された情報を用いて、操作情報の生成を行う。操作データベースは、利用者が操作対象となるアプリケーションに対して行うことができるすべての操作内容(例えば、インスタラクション)、および、各操作内容を自然言語で示した情報が対応付けて登録されている。なお、操作データベースは、ユーザアクションデータベースと換言される場合がある。 For example, in the example shown in FIG. 2, the information providing device 10 generates operation information using the information registered in the operation database and the combination database. In the operation database, all the operation contents (for example, installation) that the user can perform for the application to be operated, and the information indicating each operation content in natural language are registered in association with each other. .. The operation database may be referred to as a user action database.

組合わせデータベースは、アプリケーションに対して適用される利用者の操作の組合わせが登録される。ここで、組合わせデータベースには、例えば、アプリケーションが提供する機能を適切に発揮させるための操作の組合わせだけではなく、機能を適切に発揮させることができない操作の組合わせについても登録されることとなる。すなわち、組合わせデータベースには、アプリケーションの試験時に適用される操作の組合わせ、換言すると、テストシナリオを示す情報が登録される。なお、組合わせデータベースは、ポピュレーションデータベースと換言される場合がある。 In the combination database, a combination of user operations applied to the application is registered. Here, for example, not only the combination of operations for appropriately exerting the function provided by the application but also the combination of operations that cannot properly exert the function is registered in the combination database. It becomes. That is, in the combination database, information indicating a combination of operations applied at the time of testing the application, in other words, a test scenario is registered. The combination database may be referred to as a population database.

なお、以下の説明では、利用者の操作の組合わせを組合わせ情報と総称する場合がある。また、組合わせデータベースには、初期状態において、組合わせ情報がすでに登録されていてもよく、登録されていなくともよい。 In the following description, the combination of user operations may be collectively referred to as combination information. Further, the combination information may or may not be registered in the combination database in the initial state.

まず、情報提供装置10は、アプリケーションからテキストを抽出する。例えば、情報提供装置10は、試験対象となるアプリケーションのコードを解析し、アプリケーションが画面上に表示するすべてのテキストを抽出する。そして、情報提供装置10は、抽出したテキストに基づいてアプリケーションのドメインを特定する。例えば、情報提供装置10は、ドメインモデルを用いて、アプリケーションが表示するテキストから、アプリケーションが提供する機能のドメインを特定する。 First, the information providing device 10 extracts text from the application. For example, the information providing device 10 analyzes the code of the application to be tested and extracts all the text displayed on the screen by the application. Then, the information providing device 10 identifies the domain of the application based on the extracted text. For example, the information providing device 10 uses a domain model to specify the domain of the function provided by the application from the text displayed by the application.

続いて、情報提供装置10は、アプリケーションが表示する画面をすべて特定する。例えば、情報提供装置10は、アプリケーションのコードを解析し、アプリケーションが表示させるすべての画面をそれぞれ特定する。なお、情報提供装置10は、以下に説明する処理を、特定した画面ごとに実行することとなる。 Subsequently, the information providing device 10 specifies all the screens displayed by the application. For example, the information providing device 10 analyzes the code of the application and identifies all the screens displayed by the application. The information providing device 10 executes the process described below for each specified screen.

続いて、情報提供装置10は、特定した画面を介して適用される機能を特定する。例えば、情報提供装置10は、特定した画面ごとに、その画面上に配置されたオブジェクトの種別や画面上において適用可能な操作の内容に基づいて、その画面で提供される機能の特定を行う。ここで、各画面で提供される機能の特定を行う場合、情報提供装置10は、スクリーンモデルを用いて、アプリケーションのドメインと、各画面の特徴とに基づいて、アプリケーションが提供する機能の特定を行う。 Subsequently, the information providing device 10 identifies a function to be applied via the specified screen. For example, the information providing device 10 specifies the function provided on the screen based on the type of the object arranged on the screen and the content of the operation applicable on the screen for each specified screen. Here, when specifying the function provided on each screen, the information providing device 10 uses the screen model to specify the function provided by the application based on the domain of the application and the features of each screen. Do.

例えば、情報提供装置10は、アプリケーションのドメインと、そのアプリケーションが表示する画面のうちある画面の特徴(例えば、オブジェクトの種類、数、外観、その画面で実行可能な各種の操作等)とを示す情報を入力した際い、その画面で提供される機能を示す情報を出力するように学習が行われたモデルをスクリーンモデルとして保持する。そして、情報提供装置10は、スクリーンモデルに、試験対象となるアプリケーションのドメインと、アプリケーションが表示する画面の特徴とを示す情報を入力することで、その画面で提供される機能を特定(推定)する。 For example, the information providing device 10 indicates the domain of the application and the characteristics of a certain screen among the screens displayed by the application (for example, the type, number, appearance, various operations that can be performed on the screen, etc.). When inputting information, a model trained to output information indicating the function provided on the screen is retained as a screen model. Then, the information providing device 10 identifies (estimates) the function provided on the screen by inputting information indicating the domain of the application to be tested and the characteristics of the screen displayed by the application into the screen model. To do.

続いて、情報提供装置10は、操作データベースと組合わせデータベースとを参照し、特定した機能を発揮させるための操作を組合わせた組合わせ候補を生成・取得する。例えば、操作データベースには、アプリケーションが発揮する機能と、その機能を発揮させるために利用者が行う1つ又は複数の操作とが対応付けて登録されている。情報提供装置10は、操作データベースを参照し、特定した機能と対応付けられた操作を特定する。そして、情報提供装置10は、特定した操作をランダムな順序でランダムな数だけ組合わせた組合わせ候補を所定の数だけ生成する。 Subsequently, the information providing device 10 refers to the operation database and the combination database, and generates / acquires a combination candidate in which the operations for exerting the specified function are combined. For example, in the operation database, a function exhibited by the application and one or a plurality of operations performed by the user in order to exert the function are registered in association with each other. The information providing device 10 refers to the operation database and identifies the operation associated with the specified function. Then, the information providing device 10 generates a predetermined number of combination candidates in which a random number of specified operations are combined in a random order.

例えば、操作データベースには、「ログイン」という機能に対して、「ユーザIDの入力」、「パスワードの入力」、「ログインボタンをクリック」といった3つの操作が対応付けて操作データベースに登録されているものとする。このような場合、情報提供装置10は、「ログイン」に対応する組合わせ候補として、「ユーザIDの入力」、「ユーザIDの入力」、「ユーザIDの入力」というように同一の操作を所定の数だけ繰り返す組合わせ候補や、「ユーザIDの入力」、「ログインボタンをクリック」というように、一部の操作を行わない組合わせの候補、その他実行する順番を変更した組合わせの候補や、実行する操作の数が異なる複数の組合わせの候補等を生成する。なお、情報提供装置10は、例えば、ランダムに10個以内の操作を組合わせた組合わせの候補を生成してもよい。 For example, in the operation database, three operations such as "input user ID", "enter password", and "click the login button" are associated with the function "login" and registered in the operation database. It shall be. In such a case, the information providing device 10 determines the same operation such as "input of user ID", "input of user ID", and "input of user ID" as combination candidates corresponding to "login". Candidates for combinations that repeat as many times as there are, candidates for combinations that do not perform some operations such as "enter user ID" and "click the login button", and other candidates for combinations that have changed the order of execution. , Generate multiple combinations of candidates with different numbers of operations to perform. The information providing device 10 may generate, for example, a combination candidate that randomly combines up to 10 operations.

また、組合わせデータベースには、後述する処理により生成された組合わせ情報が機能と対応付けて登録されている。情報提供装置10は、組合わせデータベースを参照し、試験対象となるアプリケーションが発揮する機能として特定した機能と対応付けられた組合わせ情報を組合わせ候補として取得する。 In addition, the combination information generated by the process described later is registered in the combination database in association with the function. The information providing device 10 refers to the combination database and acquires the combination information associated with the function specified as the function exhibited by the application to be tested as a combination candidate.

続いて、情報提供装置10は、組合わせ候補ごとに、機能が発揮されるまでのステップ数を計数する。例えば、情報提供装置10は、試験対象となる画面において、各組合わせ候補に含まれる操作を実行し、画面が他の画面に遷移するまでに機能が適切に発揮されたか否かを判定するとともに、画面が他の画面に遷移するまでに実行された操作の数をステップ数として係数する。なお、かかるステップ数の係数は、フィットネスカリキュレーションと換言される場合がある。 Subsequently, the information providing device 10 counts the number of steps until the function is exhibited for each combination candidate. For example, the information providing device 10 executes an operation included in each combination candidate on the screen to be tested, determines whether or not the function is properly exhibited by the time the screen transitions to another screen. , The number of operations performed before the screen transitions to another screen is coefficiented as the number of steps. The coefficient of the number of steps may be referred to as fitness curation.

続いて、情報提供装置10は、所定の回数処理をループしたか否かを判定する。そして、情報提供装置10は、所定の回数処理をループしていない場合、機能が発揮されたと判定した組合わせ候補の中から親となる組合わせ候補の組を選択する。そして、情報提供装置10は、親として選択された組合わせ候補に含まれる操作をランダムに組合わせた新たな組合わせ候補を生成する。また、情報提供装置10は、新たに生成した組合わせ候補に対して、ランダムに操作を追加もしくは変更した新な組合わせ候補を生成する。そして、情報提供装置10は、組合わせ候補ごとに機能が適切に発揮されたか否か、機能が発揮されるまでのステップ数の係数を再度実行する。 Subsequently, the information providing device 10 determines whether or not the processing has been looped a predetermined number of times. Then, when the information providing device 10 does not loop the processing a predetermined number of times, the information providing device 10 selects a pair of combination candidates to be a parent from the combination candidates determined that the function is exhibited. Then, the information providing device 10 generates a new combination candidate in which the operations included in the combination candidate selected as the parent are randomly combined. Further, the information providing device 10 generates a new combination candidate in which an operation is randomly added or changed with respect to the newly generated combination candidate. Then, the information providing device 10 re-executes the coefficient of the number of steps until the function is exhibited, whether or not the function is appropriately exhibited for each combination candidate.

すなわち、情報提供装置10は、組合わせ候補ごとに、機能が発揮されるまでのステップの係数、操作をクロスオーバーさせた新たな組合わせ候補の生成、および、操作をミューテーションさせた組合わせ候補の生成を繰り返し実行する。このような処理を行うことで、情報提供装置10は、試験対象となるアプリケーションの画面ごとに、様々な操作を組合わせた組合わせ候補を生成することができる。 That is, the information providing device 10 generates a new combination candidate by crossing over the coefficient of the step until the function is exhibited, and the combination candidate by mutating the operation for each combination candidate. Is repeatedly generated. By performing such processing, the information providing device 10 can generate a combination candidate that combines various operations for each screen of the application to be tested.

また、情報提供装置10は、処理を所定の回数ループさせた場合、ステップ数が所定の条件を満たす組合わせ候補を組合わせ情報として組合わせデータベースに登録する。例えば、情報提供装置10は、各組合わせ候補に含まれる操作を実行した際に機能を発揮するまでのステップ数の分布を特定し、特定した分布に基づいて、ステップ数が所定の条件を満たす組合わせ候補を登録対象とする。この際、情報提供装置10は、ステップ数が少ない組合わせ候補を優先して選択するのではなく、ある程度ステップ数が多い組合わせ候補を選択するようにしてもよい。 Further, when the processing is looped a predetermined number of times, the information providing device 10 registers a combination candidate whose number of steps satisfies a predetermined condition in the combination database as combination information. For example, the information providing device 10 specifies a distribution of the number of steps until the function is exhibited when the operation included in each combination candidate is executed, and the number of steps satisfies a predetermined condition based on the specified distribution. The combination candidates are to be registered. At this time, the information providing device 10 may select a combination candidate having a large number of steps to some extent instead of preferentially selecting a combination candidate having a small number of steps.

そして、情報提供装置10は、組合わせデータベースに登録された組合わせ情報から、操作の内容を自然言語で示した操作情報を生成する。例えば、情報提供装置10は、組合わせ情報に含まれる各操作を特定し、特定した操作を示す自然言語を操作データベースから特定する。そして、情報提供装置10は、特定した自然言語に基づいて、操作情報が示す操作の組合わせを自然言語で示した操作情報を生成する。 Then, the information providing device 10 generates operation information indicating the contents of the operation in natural language from the combination information registered in the combination database. For example, the information providing device 10 identifies each operation included in the combination information, and specifies a natural language indicating the specified operation from the operation database. Then, the information providing device 10 generates operation information indicating a combination of operations indicated by the operation information in the natural language based on the specified natural language.

〔1−8.適用処理の流れの一例について〕
続いて、図3を用いて、情報提供装置10が実行する適用処理の実装例について説明する。図3は、実施形態に係る情報提供装置が実行する適用処理の実装例を示す図である。ここで、情報提供装置10は、情報提供装置10が提供する操作情報以外にも、アプリケーションが発揮する機能のうち、試験対象となる機能を自然言語で示す情報から、適用情報を生成する機能を有する。そこで、図3に示す例では、試験対象となる機能を自然言語で示す情報から、適用情報を生成する機能の流れについて記載した。情報提供装置10は、このような機能の一部を用いて、操作情報から適用情報を生成し、試験を実行することとなる。
[1-8. About an example of the flow of application processing]
Subsequently, an implementation example of the application process executed by the information providing device 10 will be described with reference to FIG. FIG. 3 is a diagram showing an implementation example of an application process executed by the information providing device according to the embodiment. Here, the information providing device 10 has a function of generating application information from information indicating a function to be tested in natural language among the functions exhibited by the application, in addition to the operation information provided by the information providing device 10. Have. Therefore, in the example shown in FIG. 3, the flow of the function of generating the application information from the information indicating the function to be tested in natural language is described. The information providing device 10 uses a part of such a function to generate application information from the operation information and execute the test.

例えば、情報提供装置10は、操作情報となる自然言語を操作者端末300から取得する。例えば、情報提供装置10は、「ログインをしたらトップ画面が表示される」といった試験におけるアプリケーションの機能や、その機能が提供された際における結果を示す情報を取得する。 For example, the information providing device 10 acquires a natural language as operation information from the operator terminal 300. For example, the information providing device 10 acquires the function of the application in the test such as "the top screen is displayed after logging in" and the information indicating the result when the function is provided.

ここで、「ログイン」とは、例えば、SNS等、端末装置200や端末装置200が実行するアプリケーションを介して提供されるサービスを構成するサービス、すなわち、構成サービスであって、利用者が所定の操作を行った際に提供されるサービスであるといえる。このような構成サービスには、例えば、「ログイン」のみならず、利用者が投稿する各種投稿情報の受付や、QRコードを用いた支払においてQRコードを撮影するための機能等が含まれることとなる。 Here, "login" is, for example, a service that constitutes a service provided through a terminal device 200 or an application executed by the terminal device 200, such as an SNS, that is, a configuration service, which is defined by a user. It can be said that it is a service provided when an operation is performed. Such a configuration service includes, for example, not only "login" but also a function for accepting various posted information posted by a user and for taking a QR code in payment using a QR code. Become.

このような場合、情報提供装置10は、抽出ユニットを用いて、自然言語に含まれる単語のうち、端末装置200において行われる行動や、その行動が行われた際に生じる結果を示す単語を抽出し、抽出した単語をまとめた特徴情報を生成する。すなわち、情報提供装置10は、操作情報から、利用者の行動を示す単語を行動ごとに抽出する。 In such a case, the information providing device 10 uses the extraction unit to extract the words included in the natural language that indicate the action performed by the terminal device 200 and the result that occurs when the action is performed. And generate feature information that summarizes the extracted words. That is, the information providing device 10 extracts a word indicating a user's action from the operation information for each action.

例えば、情報提供装置10は、「ログインをしたらトップコンテンツが表示される」といった操作情報から「ログイン」といった利用者の行動(すなわち、操作対象となる行動)や、「トップコンテンツが表示」といった、行動が行われた際における端末装置200の状態(すなわち、行動が行われた結果)を示す単語を抽出する。そして、情報提供装置10は、抽出した単語を示す特徴情報を生成する。なお、このような処理は、例えば、CucumberやTurnipといったGherkinと呼ばれるテスト記述言語フォーマットに関する各種の技術が採用可能である。 For example, the information providing device 10 can change the operation information such as "the top content is displayed after logging in" to the user's action such as "login" (that is, the action to be operated) or "the top content is displayed". A word indicating the state of the terminal device 200 when the action is performed (that is, the result of the action) is extracted. Then, the information providing device 10 generates feature information indicating the extracted word. For such processing, various techniques related to a test description language format called Gherkin, such as Cucumber and Turnip, can be adopted.

続いて、情報提供装置10は、ドライバユニットを用いて、自然言語をデバイス用コマンドに変換するために使用されるステップ情報(ステップ関数)と、コマンドの送信前に対象をポーリングすることにより、ステップ関数をサポートするために使用されるアシスタント情報(アシスタント関数)とを生成する。 Subsequently, the information providing device 10 uses the driver unit to poll the step information (step function) used for converting the natural language into a device command and the target before transmitting the command, thereby performing a step. Generates assistant information (assistant function) used to support the function.

例えば、情報提供装置10は、ステップ情報を生成する場合、特徴情報から、端末装置200において生じる操作の内容や操作の順番、操作が行われた際の結果等を特定する。換言すると、情報提供装置10は、利用者の行動を、操作対象となる端末装置200等のハードウェアや、ハードウェアにおいて各種実行させているソフトウェアに対する操作へと翻訳する処理を実行する。 For example, when the information providing device 10 generates step information, the information providing device 10 specifies from the feature information the content of the operation, the order of the operations, the result when the operation is performed, and the like. In other words, the information providing device 10 executes a process of translating the user's behavior into an operation on the hardware such as the terminal device 200 to be operated and the software executed in the hardware.

例えば、情報提供装置10は、特徴情報が「ログイン」という行動を示す場合、1番目に実行する「ログインコンテンツの表示」、2番目に実行する「ユーザIDの入力」、3番目に実行する「パスワードの入力」、および4番目に実行する「ログインボタンの押下」といった複数の操作と各操作の順番とを示すステップ情報(ステップ関数)を生成する。すなわち、情報提供装置10は、「ログイン」単語が示す行動が行われる場合に端末装置200に対して行われる各種操作や各操作が行われる順序を特定し、特定した操作や順序を示すステップ情報を生成する。 For example, when the feature information indicates the action of "login", the information providing device 10 first executes "display of login content", second executes "input of user ID", and third executes "input of user ID". Generates step information (step function) indicating a plurality of operations such as "input of password" and "press of login button" to be executed fourth and the order of each operation. That is, the information providing device 10 specifies various operations performed on the terminal device 200 and the order in which each operation is performed when the action indicated by the "login" word is performed, and step information indicating the specified operation or order. To generate.

また、情報提供装置10は、特徴情報に「トップコンテンツが表示」といった行動の結果が含まれている場合、このような結果が生じたか否かを判定するためのアシスタント情報(アシスタント関数)を生成する。例えば、情報提供装置10は、「トップ画面が表示」といった行動の結果が含まれる場合、「トップコンテンツが表示されたか否かを判定する」といった処理を示すアシスタント情報を生成する。なお、情報提供装置10は、例えば、ステップ情報が示す各種操作が行われた際に生じる所定の結果が生じているか否かを判定するためのアシスタント情報を生成してもよい。例えば、情報提供装置10は、ステップ情報が「ログインコンテンツの表示」といった操作を含む場合は、「ログインコンテンツが表示されたか否かを判定する」といった処理を示すアシスタント情報を生成してもよい。 Further, when the feature information includes the result of an action such as "displaying top content", the information providing device 10 generates assistant information (assistant function) for determining whether or not such a result has occurred. To do. For example, the information providing device 10 generates assistant information indicating a process such as "determining whether or not the top content is displayed" when the result of an action such as "displaying the top screen" is included. The information providing device 10 may generate assistant information for determining whether or not a predetermined result that occurs when various operations indicated by the step information are performed, for example. For example, when the step information includes an operation such as "displaying login content", the information providing device 10 may generate assistant information indicating a process such as "determining whether or not the login content is displayed".

すなわち、情報提供装置10は、自然言語で記述された操作情報に基づいて、操作情報が示す行動を実現するための各種の操作や操作の順序を示すステップ情報を生成する。また、情報提供装置10は、各ステップ情報が示す操作が行われた際に生じる結果が実際に生じているか否かを判定するために行われる処理の内容を示すアシスタント情報を生成する。 That is, the information providing device 10 generates step information indicating various operations and the order of operations for realizing the actions indicated by the operation information, based on the operation information described in natural language. In addition, the information providing device 10 generates assistant information indicating the content of the process performed for determining whether or not the result generated when the operation indicated by each step information is actually performed.

なお、ステップ情報やアシスタント情報は、対象となる端末装置200が実行するOSの種別やアプリケーションの種別、若しくはこれらの組合わせごとに生成される。このため、ドライバユニットは、操作情報から生成された特徴情報が示すユーザアクション(行動)において生じる各種の入力を取得するとともに、ユーザアクションの対象となるデバイスやアプリケーション、操作対象となる要素の識別を行う。そして、ドライバユニットは、識別結果に基づいて、ステップ情報の生成を行う。 Note that step information and assistant information are generated for each type of OS or application executed by the target terminal device 200, or a combination thereof. Therefore, the driver unit acquires various inputs generated in the user action (behavior) indicated by the feature information generated from the operation information, and identifies the device or application to be the target of the user action and the element to be operated. Do. Then, the driver unit generates step information based on the identification result.

同様に、情報提供装置10は、ステップ情報が示す各操作が行われたことを確実にするために定期的な間隔で、対象の状態を収集する(ポーリングおよびクエリする)ためのアシスタント情報を生成する。より詳細には、情報提供装置10は、各対象ごとに、ステップ情報が示す操作が行われた際に生じる対象の状態を収集し、収集した状態が所定の条件を満たすか否かを判定するためのアシスタント情報を生成する。換言すると、アシスタント情報は、ステップ情報が示すある操作が行われた結果が適正であるかを判定し、適正であると判定された場合に、ステップ情報が示す次の操作を行わせるための条件情報と見做すことができる。 Similarly, the information providing device 10 generates assistant information for collecting (polling and querying) the target state at regular intervals to ensure that each operation indicated by the step information has been performed. To do. More specifically, the information providing device 10 collects the state of the target generated when the operation indicated by the step information is performed for each target, and determines whether or not the collected state satisfies a predetermined condition. Generate assistant information for. In other words, the assistant information is a condition for determining whether the result of performing a certain operation indicated by the step information is appropriate, and if it is determined to be appropriate, performing the next operation indicated by the step information. It can be regarded as information.

続いて、情報提供装置10は、生成ユニットを用いて、ステップ情報およびアシスタント情報が示す操作や各種の判定を対象に行わせるための適用情報を生成する。換言すると、情報提供装置10は、抽出ユニットにより抽出された単語が示す行動が行われる場合に端末装置200に対して行われる操作を適用するための適用情報を生成する。 Subsequently, the information providing device 10 uses the generation unit to generate application information for performing the operation and various determinations indicated by the step information and the assistant information. In other words, the information providing device 10 generates application information for applying the operation performed on the terminal device 200 when the action indicated by the word extracted by the extraction unit is performed.

このような生成ユニットは、例えば、アッピウム等、各種の端末装置200やアプリケーションの自動テストを行うための各種フレームワークにより実現可能である。より具体的には、情報提供装置10は、ステップ情報が示す各操作をステップ情報が示す順番で対象に適用するとともに、アシスタント情報が示す条件に従って各操作の結果が適切であるかを判定させるためのスクリプトを生成する。 Such a generation unit can be realized by, for example, various terminal devices 200 such as Appium and various frameworks for performing automatic testing of applications. More specifically, the information providing device 10 applies each operation indicated by the step information to the target in the order indicated by the step information, and causes the information providing device 10 to determine whether the result of each operation is appropriate according to the conditions indicated by the assistant information. Generate a script for.

このようにして生成されたスクリプトは、「ログイン」等の構成サービスを提供する際に行われうる利用者の行動、すなわち、構成サービスと対応する操作を端末装置200に適用させるためのスクリプトである。このように、情報提供装置10は、所定の対象が提供するサービスを構成する構成サービスであって、利用者が所定の操作を行った際に提供される構成サービスを自然言語で示す行動情報を取得すると、取得した行動情報から、行動情報が示す構成サービスと対応する所定の操作を前記対象に対して適用するための適用情報を生成することとなる。 The script generated in this way is a script for applying the user's action that can be performed when providing the configuration service such as "login", that is, the operation corresponding to the configuration service to the terminal device 200. .. As described above, the information providing device 10 is a configuration service that constitutes a service provided by a predetermined target, and provides behavioral information indicating the configuration service provided when the user performs a predetermined operation in natural language. When acquired, application information for applying a predetermined operation corresponding to the configuration service indicated by the behavior information to the target is generated from the acquired behavior information.

そして、情報提供装置10は、適用情報を、対象となる端末装置200へと出力する。例えば、情報提供装置10は、所定の情報処理装置内で再現された仮想的な端末装置ETや、スマートフォン等の端末装置RT、クラウド上に存在する各種の端末装置CTに対して、各端末装置200ごとに生成された適用情報を送信する。この結果、情報提供装置10は、自然言語で記述された操作情報が示す行動が行われた場合の、端末装置200の動作を試験することができる。 Then, the information providing device 10 outputs the application information to the target terminal device 200. For example, the information providing device 10 is used for each terminal device ET, a terminal device RT such as a smartphone, and various terminal device CTs existing on the cloud, which are reproduced in a predetermined information processing device. The application information generated every 200 is transmitted. As a result, the information providing device 10 can test the operation of the terminal device 200 when the action indicated by the operation information described in the natural language is performed.

なお、上述した例において、ドライバユニットは、抽出ユニットと生成ユニットとの組合わせごとにされればよい。例えば、ドライバユニットは、実装された抽出ユニットが採用するフォーマットのテスト記述言語から、生成ユニットが識別可能な形式のステップ情報やアシスタント情報を生成すればよい。このようなドライバユニットは、例えば、抽出ユニットにより生成されるテスト記述言語が示す行動と、その行動を実現するための操作内容や操作順序とを対応付けた辞書データや、各操作と、各操作が行われた結果が適正であるかを判定するための条件とを対応付けた辞書データにより、ルールベースで動作する任意のプログラムが採用可能である。 In the above-mentioned example, the driver unit may be set for each combination of the extraction unit and the generation unit. For example, the driver unit may generate step information and assistant information in a format that can be identified by the generation unit from the test description language in the format adopted by the implemented extraction unit. Such a driver unit is, for example, dictionary data in which an action indicated by a test description language generated by an extraction unit is associated with an operation content or an operation order for realizing the action, each operation, and each operation. Any program that operates on a rule basis can be adopted by the dictionary data associated with the condition for determining whether the result of the above is appropriate.

例えば、ドライバユニットは、特徴情報が「ログイン」を示す場合、辞書データを参照し、「ログイン」と対応付けられた各操作「ログインコンテンツの表示」、「ユーザIDの入力」、「パスワードの入力」、および「ログインボタンの押下」を特定する。そして、ドライバユニットは、特定した各処理を端末装置200に実行させるための適用情報を生成ユニットに生成させるためのステップ情報を生成すればよい。また、ドライバユニットは、辞書データを参照し、特定した各操作と対応付けられた条件を特定する。そして、ドライバユニットは、特定した条件を満たすか否かを端末装置200に実行させるための適用情報を生成ユニットに生成させるためのアシスタント情報を生成すればよい。このような処理を行うプログラムであれば、情報提供装置10は、任意のプログラムをドライバユニットとして採用可能である。 For example, when the feature information indicates "login", the driver unit refers to the dictionary data and performs each operation "display login content", "enter user ID", and "enter password" associated with "login". , And "press login button". Then, the driver unit may generate step information for causing the generation unit to generate application information for causing the terminal device 200 to execute each specified process. In addition, the driver unit refers to the dictionary data and specifies the conditions associated with each specified operation. Then, the driver unit may generate assistant information for causing the generation unit to generate application information for causing the terminal device 200 to execute whether or not the specified condition is satisfied. As long as it is a program that performs such processing, the information providing device 10 can adopt an arbitrary program as a driver unit.

なお、情報提供装置10は、操作情報を受け付けた場合、ドライバユニットを用いて、操作情報が自然言語で示す各操作を示すステップ情報やアシスタント情報の生成を行う。そして、情報提供装置10は、生成したステップ情報やアシスタント情報から、生成ユニットを用いて、適用情報の生成を行う。このような処理の結果、情報提供装置10は、様々な操作内容をテストケースとして、各端末装置200に適用することができる。 When the information providing device 10 receives the operation information, the information providing device 10 uses the driver unit to generate step information and assistant information indicating each operation indicated by the operation information in natural language. Then, the information providing device 10 generates application information from the generated step information and assistant information by using the generation unit. As a result of such processing, the information providing device 10 can apply various operation contents to each terminal device 200 as test cases.

〔1−9.生成処理のバリエーションについて〕
上述した説明では、情報提供装置10が実行する生成処理の一例について記載した。しかしながら、実施形態は、これに限定されるものではない。以下、情報提供装置10が実行する生成処理のバリエーションについて説明する。
[1-9. Variations on generation processing]
In the above description, an example of the generation process executed by the information providing device 10 has been described. However, the embodiment is not limited to this. Hereinafter, variations of the generation process executed by the information providing device 10 will be described.

〔1−9−1.スクリーンモデルのバリエーションについて〕
上述した例では、情報提供装置10は、ドメインモデルを用いてアプリケーションのドメインを特定し、特定したドメインと画面の特徴とに基づいて、その画面で提供される機能をスクリーンモデルにより特定した。しかしながら、実施形態は、これに限定されるものではない。
[1-9-1. About screen model variations]
In the above example, the information providing device 10 specifies the domain of the application by using the domain model, and the function provided on the screen is specified by the screen model based on the specified domain and the characteristics of the screen. However, the embodiment is not limited to this.

例えば、情報提供装置10は、ドメインの推定を行わずともよい。例えば、情報提供装置10は、画面上に表示される各種テキストの内容やアプリケーションが適用するすべてのテキストの内容、および、画面上に表示されるオブジェクトの各種特徴から、直接的に機能の特定を行ってもよい。また、情報提供装置10は、オブジェクトの位置や色彩といった表示時における外観の特徴に基づいて、アプリケーションがある画面上で提供する機能の特定を行ってもよい。なお、このような処理は、例えば、各種テキストやオブジェクトの外観を示す情報等を入力情報としてスクリーンモデルに特徴を学習させることで実現可能である。 For example, the information providing device 10 does not have to estimate the domain. For example, the information providing device 10 directly identifies a function from the contents of various texts displayed on the screen, the contents of all the texts applied by the application, and various features of the objects displayed on the screen. You may go. Further, the information providing device 10 may specify the function to be provided on a certain screen by the application based on the appearance characteristics at the time of display such as the position and color of the object. It should be noted that such processing can be realized, for example, by having the screen model learn the features by using various texts, information indicating the appearance of the object, and the like as input information.

また、情報提供装置10は、例えば、画面そのもの(例えば、画面をキャプチャした各種の画像データ)や、画面を構成するコード等から、その画面で提供される機能を特定してもよい。このような処理は、例えば、画像データやコードを入力情報としてスクリーンモデルに特徴を学習させることで実現可能である。 Further, the information providing device 10 may specify the function provided on the screen from, for example, the screen itself (for example, various image data captured on the screen), the code constituting the screen, or the like. Such processing can be realized, for example, by having the screen model learn the features by using image data or code as input information.

また、情報提供装置10は、画面上に表示されるテキストの内容や、画面として表示されるコンテンツのタイトル、コードに含まれる非表示のテキスト等に基づいて、その画面を介して提供される機能の特定を行ってもよい。 Further, the information providing device 10 has a function provided via the screen based on the content of the text displayed on the screen, the title of the content displayed as the screen, the hidden text included in the code, and the like. May be specified.

また、情報提供装置10は、アプリケーションが各画面を表示させる順序に基づいて、アプリケーションが発揮する機能を特定してもよい。例えば、情報提供装置10は、ある画面がアプリケーションの起動時に表示される画面であり、かつ、アプリケーションのドメインが認証を要するサービスのドメインである場合、かかる画面で提供される機能がログインであると推定してもよい。このような処理を実行する場合、例えば、情報提供装置10は、画面が表示される順序を示す情報を入力情報としてスクリーンモデルに特徴を学習させることで実現可能である。 Further, the information providing device 10 may specify the function exhibited by the application based on the order in which the application displays each screen. For example, in the information providing device 10, when a certain screen is a screen displayed when an application is started and the domain of the application is a domain of a service that requires authentication, the function provided on the screen is login. You may estimate. When executing such a process, for example, the information providing device 10 can be realized by having the screen model learn the features by using the information indicating the order in which the screens are displayed as the input information.

〔1−9−2.ドメインモデルのバリエーションについて〕
上述した例では、情報提供装置10は、アプリケーションが表示させるテキストの内容に基づいて、アプリケーションのドメインを特定した。しかしながら、実施形態は、これに限定されるものではない。
[1-9-2. About domain model variations]
In the above example, the information providing device 10 identifies the domain of the application based on the content of the text displayed by the application. However, the embodiment is not limited to this.

例えば、決済サービスを提供するアプリケーションは、決済額を入力するためのコンテンツやQRコードを撮影するためのコンテンツ等を表示する場合がある。一方、音楽コンテンツを提供するアプリケーションは、再生ボタンや一時停止ボタン等のコンテンツを表示する場合がある。このように、各種のアプリケーションは、ドメインに応じて異なるコンテンツを画面上に表示することとなる。 For example, an application that provides a payment service may display content for inputting a payment amount, content for shooting a QR code, and the like. On the other hand, an application that provides music content may display content such as a play button and a pause button. In this way, various applications display different contents on the screen depending on the domain.

このため、情報提供装置10は、操作対象が所定の端末装置に対して表示させる画面に含まれるオブジェクトに基づいて、操作対象が提供するサービスの種別、すなわちドメインを特定してもよい。例えば、情報提供装置10は、アプリケーションを解析し、画面上に表示される各種のオブジェクトに基づいて、アプリケーションがどのドメインに属するアプリケーションであるかを特定してもよい。 Therefore, the information providing device 10 may specify the type of service provided by the operation target, that is, the domain, based on the object included in the screen displayed by the operation target on the predetermined terminal device. For example, the information providing device 10 may analyze the application and identify which domain the application belongs to based on various objects displayed on the screen.

より具体的には、情報提供装置10は、各画像におけるテキストの内容、テキスト等の各種オブジェクトの量、オブジェクトの種類等に基づいて、操作対象が提供するサービスの種別を特定する。例えば、情報提供装置10は、あるアプリケーションが表示するコンテンツのうち、音楽再生に関するオブジェクトよりも、支払に関するオブジェクトの量の方が多い場合は、アプリケーションが決済サービスを提供するアプリケーションであると特定してもよい。 More specifically, the information providing device 10 specifies the type of service provided by the operation target based on the content of the text in each image, the amount of various objects such as the text, the type of the object, and the like. For example, the information providing device 10 identifies that the application provides a payment service when the amount of the object related to payment is larger than the object related to music playback among the contents displayed by the application. May be good.

すなわち、情報提供装置10は、アプリケーションが提供する各画面の各種特徴から、そのアプリケーションのドメインを特定するとともに、特定したドメインと所定の画面上における特徴とに基づいて、その画面上で提供される機能を特定するのであれば、任意の特徴に基づいて、ドメインの特定や機能の特定を行ってよい。 That is, the information providing device 10 specifies the domain of the application from various features of each screen provided by the application, and is provided on the screen based on the specified domain and the features on the predetermined screen. If the function is specified, the domain or the function may be specified based on any characteristic.

〔1−9−3.複数サービスを提供するアプリケーションについて〕
ここで、スーパーアプリ等と呼ばれるアプリケーションは、単一のサービスのみならず、複数のサービスを提供する場合がある。しかしながら、このようなアプリケーションは、単一のアプリケーションプログラムによりサービスを提供するのではなく、主となるアプリケーションがミニアプリと呼ばれる複数のアプリケーションを呼び出して、各種サービスを提供する場合が多い。そこで、情報提供装置10は、スーパーアプリの動作確認を行う場合、スーパーアプリを構成するミニアプリごとに、アプリケーションが提供するサービスのドメインを特定することとなる。
[1-9-3. About applications that provide multiple services]
Here, an application called a super app or the like may provide not only a single service but also a plurality of services. However, in such an application, the service is not provided by a single application program, but the main application often calls a plurality of applications called mini-apps to provide various services. Therefore, when the information providing device 10 confirms the operation of the superappli, the information providing device 10 specifies the domain of the service provided by the application for each mini-appli constituting the superappli.

なお、情報提供装置10は、ドメインと対応するテキストやオブジェクトの量に基づいて、アプリケーションのドメインを特定した場合、どのアプリケーションが提供する複数のサービスのうち主となるサービスのドメインを特定することができる。 When the information providing device 10 specifies the domain of the application based on the amount of texts and objects corresponding to the domain, the information providing device 10 may specify the domain of the main service among the plurality of services provided by which application. it can.

〔1−9−4.操作内容について〕
上述した例では、ログインが行われた場合の操作内容の一例について記載した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、アプリケーションに対して適用可能な操作であれば、任意の操作を端末装置200に適用するための適用情報を生成してもよい。
[1-9-4. About operation contents]
In the above-mentioned example, an example of the operation contents when login is performed is described. However, the embodiment is not limited to this. For example, the information providing device 10 may generate application information for applying an arbitrary operation to the terminal device 200 as long as it is an operation applicable to the application.

例えば、情報提供装置10は、ユーザIDの入力やパスワード等、各種のテキストを入力させるための適用情報を生成してもよい。このような入力は、例えば、「「ユーザID」というテキストが配置された入力フォームを選択」する操作、および「選択した入力フォームに「AAAAAA」を入力する」操作(「AAAAAA」は、予め設定された文字列)により実現される。ドライバユニットは、このような操作が予め登録された辞書データを用いることで、ユーザIDやパスワードといったテキストの入力を実現することができる。なお、このような入力する文字列は、情報提供装置10が設定してもよく、情報提供装置10が設定してもよい。例えば、情報提供装置10は、「AAAAAA」を入力する操作を含む操作情報を提供してもよい。 For example, the information providing device 10 may generate applicable information for inputting various texts such as a user ID input and a password. Such input is, for example, an operation of "selecting an input form in which the text" user ID "is arranged" and an operation of "inputting" AAAAA "in the selected input form" ("AAAAAA" is preset. It is realized by the character string). The driver unit can realize the input of texts such as a user ID and a password by using the dictionary data in which such an operation is registered in advance. The character string to be input may be set by the information providing device 10 or may be set by the information providing device 10. For example, the information providing device 10 may provide operation information including an operation of inputting "AAAAAA".

なお、入力対象は、文字列に限定されるものではない。例えば、情報提供装置10は、文字列以外にも、音声や画像等、任意の種別の情報を入力させるための適用情報を生成してもよい。また、情報提供装置10も、音声や画像等、任意の種別の情報を入力させるための操作情報を生成してもよい。 The input target is not limited to the character string. For example, the information providing device 10 may generate applicable information for inputting any kind of information such as voice and image in addition to the character string. Further, the information providing device 10 may also generate operation information for inputting any kind of information such as voice and image.

また、情報提供装置10は、情報の入力のみならず、任意の操作を適用するための操作情報を生成してもよい。例えば、情報提供装置10は、対象がスマートフォンである場合、タップ、ピンチイン、ピンチアウト、若しくはスライドといった各種の操作を適用するための操作情報を生成してもよい。例えば、情報提供装置10は、「画面を上方向にスライドさせる」といった操作内容を示す操作情報を生成してもよい。また、情報提供装置10は、対象がPCである場合、マウスのクリック、ダブルクリック、ドラッグ、ドロップ、キーボードの操作等を適用するための操作情報を生成してもよい。また、情報提供装置10は、端末装置200の傾きの変更や振動等といった端末装置200に関する各種物理的な操作を示す操作情報を生成してもよく、時刻や明るさを変化させる操作を示す操作情報を生成してもよい。 Further, the information providing device 10 may generate not only information input but also operation information for applying an arbitrary operation. For example, when the target is a smartphone, the information providing device 10 may generate operation information for applying various operations such as tapping, pinch-in, pinch-out, or slide. For example, the information providing device 10 may generate operation information indicating the operation content such as "slide the screen upward". Further, when the target is a PC, the information providing device 10 may generate operation information for applying mouse click, double click, drag, drop, keyboard operation, and the like. Further, the information providing device 10 may generate operation information indicating various physical operations related to the terminal device 200 such as changing the inclination of the terminal device 200 and vibration, and may generate operation information indicating an operation of changing the time and brightness. Information may be generated.

また、情報提供装置10は、端末装置200が実行するソフトウェアにより表示される画面の中から、操作対象となるオブジェクトを特定し、特定したオブジェクトに対する操作を示す操作情報を生成してもよい。例えば、情報提供装置10は、端末装置200が表示したログインコンテンツに配置されたオブジェクトの中から、ユーザIDを入力するための入力フォームを特定する操作を行わせ、その後、特定した入力フォームに所定のユーザIDを入力させるための操作を示す操作情報を生成してもよい。 Further, the information providing device 10 may specify an object to be operated from the screen displayed by the software executed by the terminal device 200, and generate operation information indicating an operation on the specified object. For example, the information providing device 10 causes an operation to specify an input form for inputting a user ID from the objects arranged in the login content displayed by the terminal device 200, and then determines the specified input form. Operation information indicating an operation for inputting the user ID of the user may be generated.

上述した操作以外にも、情報提供装置10は、任意の操作を適用するための操作情報を生成してもよい。このような操作の具体的な内容は、操作内容が操作データベースに機能と対応付けられて登録されているのであれば、任意の内容の操作が可能である。 In addition to the above-mentioned operations, the information providing device 10 may generate operation information for applying an arbitrary operation. As for the specific contents of such an operation, any operation can be performed as long as the operation contents are registered in the operation database in association with the function.

〔1−9−5.条件について〕
また、情報提供装置10は、ステップ情報が示す操作が行われたか否かを適切に判定することができるのであれば、任意の内容の条件が満たされたか否かを判定させるための適用情報を生成してよい。例えば、情報提供装置10は、コンテンツが変化したか否か、所定のウェブコンテンツが表示されたか否か、ウェブページのステータス、画面上に表示された内容、端末装置200が有するバイブレーションユニットが変化したか否か、音が出力されたか否か等、任意の内容の条件が満たされたか否かを判定されるための適用情報を生成してよい。
[1-9-5. About conditions]
Further, if the information providing device 10 can appropriately determine whether or not the operation indicated by the step information has been performed, the information providing device 10 can provide applicable information for determining whether or not a condition of arbitrary content is satisfied. May be generated. For example, in the information providing device 10, whether or not the content has changed, whether or not a predetermined web content has been displayed, the status of the web page, the content displayed on the screen, and the vibration unit of the terminal device 200 have changed. Applicable information for determining whether or not an arbitrary content condition such as whether or not a sound is output may be generated may be generated.

〔1−9−6.操作情報の言語について〕
ここで、情報提供装置10は、情報提供装置10が識別可能であり、かつ、ドライバユニットが用いる辞書データに登録がなされている言語であれば、任意の自然言語により生成された操作情報の生成を行ってよい。例えば、情報提供装置10は、日本語、英語、ドイツ語、フランス語、中国語等、任意の言語で記述された操作情報を生成してもよい。
[1-9-6. About the language of operation information]
Here, the information providing device 10 generates operation information generated in any natural language as long as the information providing device 10 can be identified and the language is registered in the dictionary data used by the driver unit. May be done. For example, the information providing device 10 may generate operation information described in any language such as Japanese, English, German, French, and Chinese.

なお、例えば、情報提供装置10は、端末装置200で用いられる言語とは異なる言語により記述された操作情報から、適用情報の生成を行ってもよい。例えば、情報提供装置10は、端末装置201が日本語のコンテンツを表示し、端末装置202が英語のコンテンツを表示し、端末装置203がドイツ語のコンテンツを表示する際に、日本語で「ログインする」といった内容の操作情報を受付けたものとする。このような場合、情報提供装置10は、「ログイン」という行動を実現するために必要な操作であって、各端末装置200が基準として用いる言語に対応する内容の操作を端末装置200ごとに特定し、特定した操作を適用するための適用情報を生成すればよい。 For example, the information providing device 10 may generate application information from operation information described in a language different from the language used in the terminal device 200. For example, in the information providing device 10, when the terminal device 201 displays Japanese content, the terminal device 202 displays English content, and the terminal device 203 displays German content, the information providing device 10 "logs in" in Japanese. It is assumed that the operation information such as "to do" has been accepted. In such a case, the information providing device 10 is an operation necessary for realizing the action of "login", and the operation of the content corresponding to the language used as the reference by each terminal device 200 is specified for each terminal device 200. Then, application information for applying the specified operation may be generated.

例えば、情報提供装置10は、端末装置201に対しては、日本語で「ユーザID」と表示された入力フォームを選択してユーザIDを入力させる適用情報を生成し、端末装置202に対しては、英語で「ユーザID」と表示された入力フォームを選択してユーザIDを入力させる適用情報を生成し、端末装置203に対しては、ドイツ語で「ユーザID」と表示された入力フォームを選択してユーザIDを入力させる適用情報を生成すればよい。 For example, the information providing device 10 selects an input form displayed as "user ID" in Japanese for the terminal device 201, generates applicable information for inputting the user ID, and causes the terminal device 202 to input the user ID. Generates application information for selecting the input form displayed as "user ID" in English and inputting the user ID, and for the terminal device 203, the input form displayed as "user ID" in German. Is selected to generate application information for inputting a user ID.

〔1−9−7.対象について〕
ここで、情報提供装置10は、スマートフォン等の端末装置200以外にも、クラウド上の端末装置CTや所定の情報処理装置上でエミュレートされる端末装置ET以外にも、任意の対象に対し、適用される操作の組合わせを示す操作情報を生成してよい。例えば、情報提供装置10は、PCやサーバ装置、各種センサやデジタルサイネージといった実態を有する装置(所謂ハードウェア)を対象とし、これら対象に対して利用者が所定の行動を行う際に入力される操作をしめす操作情報を生成してよい。また、情報提供装置10は、各種の仮想マシンやPC上で実行されるOSやアプリケーション等、各種のソフトウェアに対する操作を示す操作情報を生成してよい。また、情報提供装置10は、仮想的な端末装置ETが現実に存在していた場合に、その端末装置ETに対して利用者が行動を行う際に入力される操作を示す操作情報を生成してよい。
[1-9-7. About the target]
Here, the information providing device 10 can be applied to any target other than the terminal device 200 such as a smartphone, the terminal device CT on the cloud, and the terminal device ET emulated on a predetermined information processing device. Operational information indicating a combination of applicable operations may be generated. For example, the information providing device 10 targets a device (so-called hardware) having an actual condition such as a PC, a server device, various sensors, and digital signage, and is input when a user performs a predetermined action on these targets. Operation information indicating the operation may be generated. In addition, the information providing device 10 may generate operation information indicating operations on various software such as an OS and an application executed on various virtual machines and PCs. Further, the information providing device 10 generates operation information indicating an operation input when the user performs an action on the virtual terminal device ET when the virtual terminal device ET actually exists. You can.

また、対象となるアプリケーションは、同種のアプリケーションであってもよく、異なるアプリケーションであってもよい。例えば、端末装置201は、対象としてSNSのサービスを受けるための第1アプリケーションを実行し、端末装置202は、第1アプリケーションとは異なるサービスを受けるための第2アプリケーションを実行し、端末装置203は、端末装置203を介して各種の代金を決済するための第3アプリケーションを実行しているものとする。また、第1アプリケーション〜第3アプリケーションは、それぞれ表示態様や機能が異なるものの、「ログインを行う」という利用者の行動を受付けることができるものであるものとする。 Further, the target application may be the same type of application or may be a different application. For example, the terminal device 201 executes the first application for receiving the service of the SNS as the target, the terminal device 202 executes the second application for receiving the service different from the first application, and the terminal device 203 executes the second application. , It is assumed that the third application for settling various payments is being executed via the terminal device 203. Further, although the first application to the third application have different display modes and functions, it is assumed that the user's action of "login" can be accepted.

このように、各端末装置200が実行するアプリケーションの種別が異なるものであっても、操作情報が示す行動が、各アプリケーションにおいて実行可能な利用者の行動を示す場合、情報提供装置10は、自然言語で操作を示す操作情報を生成することで、同時に各端末装置200のアプリケーションをテストすることができる。また、情報提供装置10は、各端末装置200の種別がそれぞれ異なる場合であっても、各アプリケーションが提供する構成サービスの提供時に実行可能な利用者の行動を示す操作情報を生成する。このため、情報提供装置10は、端末装置200の種別や台数に依存せず、1以上の異なる種別の端末や、1以上の異なる種別のアプリケーションが任意に組み合わせられている場合であっても、同時に試験を実現することができる。 As described above, even if the type of application executed by each terminal device 200 is different, when the action indicated by the operation information indicates the action of the user that can be executed in each application, the information providing device 10 is natural. By generating the operation information indicating the operation in the language, the application of each terminal device 200 can be tested at the same time. Further, the information providing device 10 generates operation information indicating a user's action that can be executed when the configuration service provided by each application is provided, even if the type of each terminal device 200 is different. Therefore, the information providing device 10 does not depend on the type or number of terminal devices 200, and even when one or more different types of terminals or one or more different types of applications are arbitrarily combined. At the same time, the test can be realized.

より詳細な例について説明する。例えば、情報提供装置10は、「ユーザIDとパスワードとを入力し、ログインボタンを押下する」という操作情報を生成する。ここで、第1アプリケーションにおいて利用者がログインする際に、異なる画面上でユーザIDとパスワードとを入力する場合、情報提供装置10は、第1アプリケーションにおいてログインを行うための操作として、「ログイン画面の表示」、「ユーザIDの入力」、「パスワード入力ボタンの押下」、「パスワードの入力」、「ログインボタンの押下」といった操作を特定する。一方、第2アプリケーションにおいて利用者がログインする際に、同一画面上でユーザIDとパスワードとを入力することができる場合、情報提供装置10は、第2アプリケーションにおいてログインを行うための操作として、「ログイン画面の表示」、「ユーザIDの入力」、「パスワードの入力」、「ログインボタンの押下」といった操作を特定する。また、第3アプリケーションにおいて利用者がログインする際に、FIDO(Fast Identity Online)等を用いたログインが可能である場合、情報提供装置10は、第3アプリケーションにおいてログインを行うための操作として、「ログインボタンの押下」といった操作を特定する。そして、情報提供装置10は、各操作を適用するための適用情報を各アプリケーションごとに生成し、生成した適用情報を出力すればよい。 A more detailed example will be described. For example, the information providing device 10 generates operation information such as "enter a user ID and a password and press a login button". Here, when a user logs in in the first application and inputs a user ID and a password on different screens, the information providing device 10 performs a "login screen" as an operation for logging in in the first application. Specify operations such as "display of", "enter user ID", "press password input button", "enter password", and "press login button". On the other hand, if the user ID and password can be entered on the same screen when the user logs in in the second application, the information providing device 10 performs "as an operation for logging in in the second application". Specify operations such as "display login screen", "enter user ID", "enter password", and "press login button". Further, when the user logs in in the third application, if it is possible to log in using FIDO (Fast Identity Online) or the like, the information providing device 10 performs "as an operation for logging in in the third application". Specify an operation such as "pressing the login button". Then, the information providing device 10 may generate application information for applying each operation for each application and output the generated application information.

また、情報提供装置10は、各アプリケーションごとに異なる順序で操作を適用させる適用情報を生成してもよく、アプリケーションごとに異なるアシスタント情報を生成してもよい。すなわち、情報提供装置10は、それぞれ異なるアプリケーション等の対象について、利用者が共通してある行動を行った際に適用される操作の内容や順序、それら操作の結果を特定し、特定した内容の操作を特定した順番で適用するとともに、これらの操作が適切に行うかを判定させる適用情報を生成するのであれば、任意の内容の適用情報を生成してよい。 Further, the information providing device 10 may generate application information for applying operations in a different order for each application, or may generate different assistant information for each application. That is, the information providing device 10 specifies the content and order of operations applied when the user performs a common action for different applications and the like, and the result of the operation is specified, and the specified content is specified. If the operations are applied in a specified order and application information for determining whether or not these operations are performed is generated, application information having arbitrary contents may be generated.

なお、このようなアプリケーションの種別は、単に異なる機能を有するアプリケーションのみならず、バージョン違いのアプリケーションや、同一のサービスを提供するものの異なるOS上で動作するアプリケーション、言語が異なるアプリケーション等を含む概念である。すなわち、情報提供装置10は、対象ごとに異なる操作を適用するための提供情報を生成すればよい。また、情報提供装置10は、複数の対象に、同一種別のアプリケーションが含まれる場合は、これら同一種別のアプリケーションに対して同一の適用情報を出力してもよい。 Note that such application types include not only applications with different functions, but also applications with different versions, applications that provide the same service but run on different OSs, applications with different languages, and so on. is there. That is, the information providing device 10 may generate provided information for applying a different operation for each target. Further, when the plurality of targets include applications of the same type, the information providing device 10 may output the same application information to these applications of the same type.

〔1−10.実施形態の効果の一例について〕
上述したように、情報提供装置10は、各種のアプリケーション等、利用者の操作対象が発揮する機能を特定する。そして、情報提供装置10は、特定された機能に応じて、操作対象に対して行われる利用者の操作の組合わせを決定し、決定された操作の組合わせを自然言語で表した操作情報を生成する。このような処理の結果、情報提供装置10は、アプリケーションが発揮する機能に応じて、その機能の試験や確認を行う際の操作内容、すなわち、テストケースを自動的に生成することができる。このため、情報提供装置10は、操作対象の試験等を容易にすることができる。
[1-10. About an example of the effect of the embodiment]
As described above, the information providing device 10 identifies the functions exhibited by the user's operation target, such as various applications. Then, the information providing device 10 determines a combination of user operations performed on the operation target according to the specified function, and provides operation information expressing the determined combination of operations in natural language. Generate. As a result of such processing, the information providing device 10 can automatically generate an operation content when testing or confirming the function, that is, a test case, according to the function exhibited by the application. Therefore, the information providing device 10 can facilitate a test or the like of an operation target.

また、情報提供装置10は、自然言語で操作内容を示した操作情報を生成するので、例えば、試験対象となるアプリケーションにバージョンが複数存在する場合であっても、これらアプリケーションに対して行うべき操作の組合わせを共通して示す操作情報を生成することができる。例えば、情報提供装置10は、アプリケーションのバージョンごとに操作情報を生成せずとも、バージョンが異なるが同一のサービスを提供するアプリケーションの試験内容を共通して示す単一の操作情報を生成することができる。また、情報提供装置10は、自然言語で操作内容を示す操作情報を生成するので、どのような操作においてアプリケーションが適切に機能を発揮できないかを容易に識別させることができる。 Further, since the information providing device 10 generates operation information indicating the operation contents in natural language, for example, even if there are a plurality of versions of the application to be tested, the operation to be performed for these applications. It is possible to generate operation information that commonly indicates the combination of. For example, the information providing device 10 may generate a single operation information that commonly indicates the test contents of applications that provide the same service although the versions are different, without generating the operation information for each version of the application. it can. Further, since the information providing device 10 generates operation information indicating the operation content in natural language, it is possible to easily identify in what operation the application cannot properly perform its function.

また、情報提供装置10は、アプリケーションのドメインや機能に応じて、操作情報を画面ごとに生成するので、アプリケーションが新規なアプリケーションである場合や、アプリケーションに新規な画面が追加される場合、アプリケーションの画面レイアウトに変更があった場合にも、適切なテストケースを示す操作情報を生成することができる。また、情報提供装置10は、自然言語でテストケースを自動的に生成するので、例えば、想定していなかった利用者の操作を容易に識別させることができ、このような操作に対する対応を実現させることができる。また、情報提供装置10は、人手を介さずに、操作情報を生成することができるので、人手により生じるミスを防ぐことができる。 Further, since the information providing device 10 generates operation information for each screen according to the domain and function of the application, when the application is a new application or a new screen is added to the application, the application Even if the screen layout is changed, it is possible to generate operation information indicating an appropriate test case. Further, since the information providing device 10 automatically generates a test case in natural language, for example, an unexpected user operation can be easily identified, and a response to such an operation can be realized. be able to. Further, since the information providing device 10 can generate operation information without human intervention, it is possible to prevent mistakes caused by humans.

〔2.情報提供装置の構成〕
以下、上記した情報提供装置10が有する機能構成の一例について説明する。図4は、実施形態に係る情報提供装置の構成例を示す図である。図4に示すように、情報提供装置10は、通信部20、記憶部30、および制御部40を有する。
[2. Configuration of information providing device]
Hereinafter, an example of the functional configuration of the information providing device 10 described above will be described. FIG. 4 is a diagram showing a configuration example of the information providing device according to the embodiment. As shown in FIG. 4, the information providing device 10 includes a communication unit 20, a storage unit 30, and a control unit 40.

通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、情報提供装置10、端末装置200、および操作者端末300との間で情報の送受信を行う。 The communication unit 20 is realized by, for example, a NIC (Network Interface Card) or the like. Then, the communication unit 20 is connected to the network N by wire or wirelessly, and transmits / receives information to / from the information providing device 10, the terminal device 200, and the operator terminal 300.

記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、操作データベース31および組合わせデータベース32を記憶する。 The storage unit 30 is realized by, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disk. Further, the storage unit 30 stores the operation database 31 and the combination database 32.

操作データベース31には、操作対象が発揮する各種の機能と、その機能を発揮させるために行われる利用者の操作とが対応付けて登録されている。例えば、図5は、実施形態に係る操作データベースに登録される情報の一例を示す図である。図5に示す例では、操作データベース31には、ドメイン、対応機能、操作内容、および自然言語表現といった項目を有する情報が登録されている。なお、図5に示す情報以外にも、操作データベース31には、操作対象に対して適用可能な利用者の操作に関する情報が登録されていてもよい。 In the operation database 31, various functions exhibited by the operation target and user operations performed to exert the functions are registered in association with each other. For example, FIG. 5 is a diagram showing an example of information registered in the operation database according to the embodiment. In the example shown in FIG. 5, information having items such as a domain, a corresponding function, an operation content, and a natural language expression is registered in the operation database 31. In addition to the information shown in FIG. 5, information on user operations applicable to the operation target may be registered in the operation database 31.

例えば、ドメインとは、操作対象が利用者に対して提供するサービスの種別を示す情報である。また、対応機能とは、対応付けられたドメインに属する操作対象が提供する機能であって、所定の画面を介して提供される機能を示す情報である。また、操作内容とは、対応付けられた機能を発揮する画面において利用者が行うことができる操作の内容を示す情報である。また、自然言語表現とは、対応付けられた操作を自然言語で示す情報である。 For example, the domain is information indicating the type of service provided by the operation target to the user. Further, the corresponding function is a function provided by an operation target belonging to the associated domain, and is information indicating a function provided via a predetermined screen. Further, the operation content is information indicating the content of the operation that can be performed by the user on the screen that exerts the associated function. The natural language expression is information indicating the associated operation in natural language.

例えば、図5に示す例では、ドメイン「決済」、対応機能「ログイン」、操作内容「操作#1−1」、および自然言語表現「クリック」が対応付けて登録されている。このような情報は、提供するサービスが「決済」である操作対象が、ある画面において「ログイン」の機能を発揮しており、かかる画面において利用者が行うことができる操作が「操作#1−1」であり、かかる操作の自然言語表現が「クリック」である旨を示す。なお、図5に示す例では、対応機能「ログイン」に対し、「操作#1−1」や「操作#1−2」といった複数の操作が対応付けられている。かかる情報は、「ログイン」を行う画面において、「操作#1−1」(例えば、クリック)や「操作#1−2」(例えば、ユーザID入力)といった複数の操作をおこなうことができる旨を示す。 For example, in the example shown in FIG. 5, the domain "payment", the corresponding function "login", the operation content "operation # 1-1", and the natural language expression "click" are registered in association with each other. For such information, the operation target whose service is "payment" exerts the function of "login" on a certain screen, and the operation that the user can perform on such a screen is "operation # 1-". 1 ”indicates that the natural language expression of such an operation is a“ click ”. In the example shown in FIG. 5, a plurality of operations such as "operation # 1-1" and "operation # 1-2" are associated with the corresponding function "login". Such information indicates that a plurality of operations such as "operation # 1-1" (for example, click) and "operation # 1-2" (for example, user ID input) can be performed on the "login" screen. Shown.

なお、図5に示す例では「操作#1−1」といった概念的な値を記載したが、実際には、操作内容を示す各種の情報(例えば、インスタンス等)が登録されることとなる。また、操作データベース31には、例えば、スクロール量やクリックの回数、ユーザIDやパスワードを構成する文字列等がさらに登録されていてもよい。 In the example shown in FIG. 5, a conceptual value such as "operation # 1-1" is described, but in reality, various information (for example, an instance or the like) indicating the operation content is registered. Further, for example, the scroll amount, the number of clicks, the character string constituting the user ID and the password, and the like may be further registered in the operation database 31.

組合わせデータベース32には、操作の組合わせを示す情報、すなわち操作情報が登録される。例えば、図6は、実施形態に係る組合わせデータベースに登録される情報の一例を示す図である。図6に示す例では、組合わせデータベース32には、対応ドメイン、対応機能および操作組合わせが対応付けて登録されている。なお、組合わせデータベース32には、図6に示す情報以外にも、操作の組合わせに関する各種の情報が登録されていてもよい。 Information indicating a combination of operations, that is, operation information is registered in the combination database 32. For example, FIG. 6 is a diagram showing an example of information registered in the combination database according to the embodiment. In the example shown in FIG. 6, the corresponding domain, the corresponding function, and the operation combination are registered in the combination database 32 in association with each other. In addition to the information shown in FIG. 6, various information related to the combination of operations may be registered in the combination database 32.

ここで、操作組合わせとは、操作対象の機能に応じて決定された複数の操作を示す情報である。また、対応機能とは、操作組合わせが示す操作が、どの機能に対するテストケースであるかを示す情報である。また、対応ドメインとは、対応付けられた操作組合わせがどのドメインに属する操作対象のテストケースであるかを示す情報である。 Here, the operation combination is information indicating a plurality of operations determined according to the function of the operation target. Further, the corresponding function is information indicating which function the operation indicated by the operation combination is a test case for. The corresponding domain is information indicating which domain the associated operation combination belongs to as the test case of the operation target.

例えば、図6に示す例では、対応ドメイン「決済」、対応機能「ログイン」および操作組合わせ「組合わせ#1」、「組合わせ#2」等が対応付けて登録されている。かかる情報は、「決済」に関するサービスを提供する操作対象の、「ログイン」の機能を提供する画面において行われるテストケースが「組合わせ#1」や「組合わせ#2」等が示す操作である旨を示す。なお、図6に示す例では、「組合わせ#1」といった概念的な値を記載したが、実際には、複数の操作や各操作を行う順序を示す情報(例えば、インスタンス等)が登録されることとなる。 For example, in the example shown in FIG. 6, the corresponding domain "payment", the corresponding function "login", the operation combination "combination # 1", "combination # 2", and the like are registered in association with each other. Such information is an operation indicated by "combination # 1", "combination # 2", etc. in the test case performed on the screen providing the "login" function, which is the operation target for providing the service related to "payment". Indicates that. In the example shown in FIG. 6, a conceptual value such as "combination # 1" is described, but in reality, information indicating a plurality of operations and the order in which each operation is performed (for example, an instance) is registered. The Rukoto.

図4に戻り、説明を続ける。制御部40は、例えば、コントローラ(controller)であり、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報提供装置10内部の記憶装置に記憶されている各種プログラム(通知プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部40は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。 Returning to FIG. 4, the explanation will be continued. The control unit 40 is, for example, a controller, and is an example of various programs (notification programs) stored in a storage device inside the information providing device 10 by a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like. Is realized by executing RAM as a work area. Further, the control unit 40 is a controller, and is realized by, for example, an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).

図4に示すように、制御部40は、特定部41、決定部42、生成部43、および適用部44を有する。 As shown in FIG. 4, the control unit 40 includes a specific unit 41, a determination unit 42, a generation unit 43, and an application unit 44.

特定部41は、利用者の操作対象が発揮する機能を特定する。例えば、特定部41は、操作対象となるアプリケーションが所定の端末装置に対して表示させる画面に基づいて、その操作対象が発揮する機能を特定する。すなわち、特定部41は、画面を介して提供される機能を特定する。例えば、特定部41は、操作対象が提供するサービスの種別、すなわち、ドメインを特定する。そして、特定部41は、特定したドメインと、操作対象が提供する各画面上のオブジェクトに基づいて、操作対象が各画面上で提供する機能を画面ごとに特定する。 The specific unit 41 specifies a function exhibited by the user's operation target. For example, the specifying unit 41 identifies the function exhibited by the operation target based on the screen displayed on the predetermined terminal device by the operation target application. That is, the specific unit 41 specifies the function provided via the screen. For example, the specific unit 41 specifies the type of service provided by the operation target, that is, the domain. Then, the specific unit 41 specifies the function provided by the operation target on each screen for each screen based on the specified domain and the object on each screen provided by the operation target.

例えば、特定部41は、操作対象が提供する各画面を特定し、特定した各画面上に配置された各種のオブジェクトを特定する。より具体的な例を挙げると、特定部41は、操作対象が提供するテキストを特定する。そして、特定部41は、テキストに含まれる各種の文言や各文言の量に基づいて、操作対象のドメインを特定する。例えば、特定部41は、「決済」に関する文言の量が他のドメインに関する文言の量よりも多い場合は、操作対象が属するドメインを「決済」であると特定する。 For example, the identification unit 41 identifies each screen provided by the operation target, and identifies various objects arranged on each of the specified screens. To give a more specific example, the specific unit 41 specifies the text provided by the operation target. Then, the identification unit 41 specifies the domain to be operated based on various words included in the text and the amount of each word. For example, when the amount of words related to "settlement" is larger than the amount of words related to other domains, the specific unit 41 identifies the domain to which the operation target belongs as "settlement".

続いて、特定部41は、各画面ごとに、画面に含まれる各種のオブジェクトの種別や量等、画面の特徴を特定する。そして、特定部41は、画面の特徴と、特定したドメインとに基づいて、操作対象がその画面上で提供する機能を特定する。例えば、特定部41は、ユーザIDを入力するウインドウやパスワードを入力するウインドウが画面上に配置されている場合、かかる画面で提供される機能が「ログイン」であると特定する。なお、特定部41は、画面の特徴とドメインとの関係性を学習したドメインモデル、および、画面の特徴とその画面上で提供される機能との関係性を学習したスクリーンモデルを用いて、上述した各種の機能を発揮してもよい。また、特定部41は、各画面が表示される順番に基づいて、その画面上で提供される機能を特定してもよい。 Subsequently, the specific unit 41 specifies the characteristics of the screen, such as the type and amount of various objects included in the screen, for each screen. Then, the specific unit 41 specifies the function provided by the operation target on the screen based on the characteristics of the screen and the specified domain. For example, when the window for inputting the user ID and the window for inputting the password are arranged on the screen, the specific unit 41 identifies that the function provided on the screen is "login". The specific unit 41 uses a domain model that learns the relationship between screen features and domains, and a screen model that learns the relationship between screen features and the functions provided on the screen. You may exert various functions. Further, the specifying unit 41 may specify the functions provided on the screens based on the order in which the screens are displayed.

決定部42は、特定された機能に応じて、操作対象に対して行われる利用者の操作の組合わせを決定する。例えば、決定部42は、機能と、操作対象にその機能を発揮させる際に行われる利用者の操作とを対応付けた操作データベース31を参照し、特定部41により特定された機能と対応する操作に基づいて、組合わせを決定する。 The determination unit 42 determines a combination of user operations performed on the operation target according to the specified function. For example, the determination unit 42 refers to the operation database 31 that associates the function with the operation of the user that is performed when the operation target exerts the function, and the operation corresponding to the function specified by the specific unit 41. The combination is determined based on.

例えば、決定部42は、操作データベース31を参照し、特定部41により特定されたドメインおよび機能と対応付けられた操作内容を特定する。そして、決定部42は、特定した各操作をランダムに組合わせた複数の組合わせ候補を決定する。例えば、決定部42は、特定部41によりドメイン「決済」と機能「ログイン」とが特定された場合、ドメイン「決済」および機能「ログイン」と対応付けられた操作内容「操作#1−1」、「操作#1−2」等を特定する。そして、決定部42は、「操作#1−1」や「操作#1−2」をランダムな数だけランダムな順序で組合わせた組合わせ候補を決定する。 For example, the determination unit 42 refers to the operation database 31 and specifies the operation content associated with the domain and the function specified by the specific unit 41. Then, the determination unit 42 determines a plurality of combination candidates in which each specified operation is randomly combined. For example, when the domain "payment" and the function "login" are specified by the specific unit 41, the determination unit 42 has the operation content "operation # 1-1" associated with the domain "payment" and the function "login". , "Operation # 1-2", etc. are specified. Then, the determination unit 42 determines a combination candidate in which "operation # 1-1" and "operation # 1-2" are combined in a random order by a random number.

さらに、決定部42は、組合わせデータベース32を参照し、特定部41により特定されたドメイン「決済」と機能「ログイン」とに対応付けられた操作組合わせを組合わせ候補として取得する。そして、決定部42は、各組合わせ候補に基づいて、操作対象に対して行われる利用者の操作の組合わせを決定する。 Further, the determination unit 42 refers to the combination database 32 and acquires the operation combination associated with the domain “payment” and the function “login” specified by the specific unit 41 as a combination candidate. Then, the determination unit 42 determines the combination of the user's operations performed on the operation target based on each combination candidate.

例えば、決定部42は、組合わせ候補ごとに、特定部41により特定された機能を発揮するか否かを判定し、機能を発揮するまでのステップ数を計数する。続いて、決定部42は、例えば、計数してステップ数が所定の条件を満たす組合わせ候補(例えば、ステップ数が最も少ない候補等)を親となる組合わせ候補として選択し、選択した組合わせ候補に含まれる操作を入れ替えた組合わせ候補を新たに決定する。なお、決定部42は、ランダムに親となる組合わせ候補を選択してもよい。さらに、決定部42は、ランダムに選択された組合わせ候補に含まれる操作のうちランダムに選択された操作をランダムに他の操作へと変更した組合わせ候補を新たに生成する。なお、決定部42は、例えば、ステップ数が所定の条件を満たす組合わせ候補に含まれる操作のうちランダムに選択された操作をランダムに他の操作へと変更した組合わせ候補を新たに生成してもよい。 For example, the determination unit 42 determines whether or not the function specified by the specific unit 41 is exhibited for each combination candidate, and counts the number of steps until the function is exhibited. Subsequently, the determination unit 42 selects, for example, a combination candidate whose number of steps satisfies a predetermined condition (for example, a candidate having the smallest number of steps) as a parent combination candidate, and the selected combination. A new combination candidate with the operations included in the candidate replaced is determined. The determination unit 42 may randomly select a combination candidate to be a parent. Further, the determination unit 42 newly generates a combination candidate in which the randomly selected operation is randomly changed to another operation among the operations included in the randomly selected combination candidates. In addition, for example, the determination unit 42 newly generates a combination candidate in which a randomly selected operation is randomly changed to another operation among the operations included in the combination candidate whose number of steps satisfies a predetermined condition. You may.

そして、決定部42は、各組合わせ候補が特定部41により特定された機能を発揮するか否かを判定し、機能を発揮するまでのステップ数を計数する。このような一連の処理を所定の条件が満たされるまで(例えば、所定回数、もしくは、各組合わせ候補のステップ数の分布が所定の条件を満たす迄)繰り返し実行することで、決定部42は、テストケースとして適切な操作の組合わせ候補を自動的に生成することができる。そして、決定部42は、生成した組合わせ候補を組合わせデータベース32に登録する。 Then, the determination unit 42 determines whether or not each combination candidate exerts the function specified by the specific unit 41, and counts the number of steps until the function is exerted. By repeatedly executing such a series of processes until a predetermined condition is satisfied (for example, a predetermined number of times or until the distribution of the number of steps of each combination candidate satisfies a predetermined condition), the determination unit 42 determines. Combination candidates for appropriate operations can be automatically generated as test cases. Then, the determination unit 42 registers the generated combination candidates in the combination database 32.

生成部43は、決定された操作の組合わせを自然言語で表した操作情報を生成する。例えば、生成部43は、操作対象が提供する画面ごとに、操作情報を生成する。例えば、生成部43は、操作情報の生成対象となる画面において提供される機能と、操作対象のドメインとに対応付けられた操作組合わせを組合わせデータベース32から取得する。続いて、生成部43は、各操作組合わせに含まれる各操作を示す自然言語表現を操作データベース31から取得する。そして、生成部43は、取得した自然言語表現と、操作組合わせに含まれる操作の順序とに応じて、操作組合わせが示す操作内容を自然言語で示す操作情報を操作組合わせごとに生成する。このような処理の結果、情報提供装置10は、テストケースとなる操作情報を自動的に生成することができる。 The generation unit 43 generates operation information in which the determined combination of operations is expressed in natural language. For example, the generation unit 43 generates operation information for each screen provided by the operation target. For example, the generation unit 43 acquires the function provided on the screen on which the operation information is generated and the operation combination associated with the operation target domain from the combination database 32. Subsequently, the generation unit 43 acquires a natural language expression indicating each operation included in each operation combination from the operation database 31. Then, the generation unit 43 generates operation information indicating the operation content indicated by the operation combination in natural language for each operation combination according to the acquired natural language expression and the order of the operations included in the operation combination. .. As a result of such processing, the information providing device 10 can automatically generate operation information as a test case.

適用部44は、生成部43によって生成された操作情報に従って、対象の試験を行う。例えば、適用部44は、操作情報を取得すると、図3に例示した処理を実行することで、操作情報と対象との組み合わせごとに適用情報を生成し、生成した適用情報を端末装置200に適用することで、試験を実現する。なお、適用部44が実行する適用処理については、上述した各種の処理が適用可能であるものとし、詳細な説明を省略する。 The application unit 44 tests the target according to the operation information generated by the generation unit 43. For example, when the application unit 44 acquires the operation information, it executes the process illustrated in FIG. 3 to generate application information for each combination of the operation information and the target, and applies the generated application information to the terminal device 200. By doing so, the test is realized. It is assumed that the various processes described above can be applied to the application process executed by the application unit 44, and detailed description thereof will be omitted.

〔3.処理手順〕
次に、図7を用いて、実施形態に係る情報提供装置10による生成処理の手順について説明する。図7は、実施形態に係る生成処理の流れの一例を示すフローチャートである。
[3. Processing procedure]
Next, the procedure of the generation process by the information providing device 10 according to the embodiment will be described with reference to FIG. 7. FIG. 7 is a flowchart showing an example of the flow of the generation process according to the embodiment.

例えば、情報提供装置10は、操作対象となるアプリケーションを受付けたか否かを判定する(ステップS101)。そして、情報提供装置10は、アプリケーションを受付けていない場合は(ステップS101:No)、受付けるまで待機する(ステップS101)。一方、情報提供装置10は、アプリケーションを受付けた場合は(ステップS101:Yes)、アプリケーションが発揮する機能を特定する(ステップS102)。 For example, the information providing device 10 determines whether or not the application to be operated has been accepted (step S101). Then, if the information providing device 10 does not accept the application (step S101: No), the information providing device 10 waits until the application is accepted (step S101). On the other hand, when the information providing device 10 receives the application (step S101: Yes), the information providing device 10 specifies the function exhibited by the application (step S102).

また、情報提供装置10は、特定した機能に基づいて、アプリケーションに対して行われる利用者の操作の組合わせを決定する(ステップS103)。そして、情報提供装置10は、決定した組合わせを自然言語で示す操作情報を生成し(ステップS104)、処理を終了する。 Further, the information providing device 10 determines a combination of user operations performed on the application based on the specified function (step S103). Then, the information providing device 10 generates operation information indicating the determined combination in natural language (step S104), and ends the process.

〔4.変形例〕
上述した情報提供装置10は、上記実施形態以外にも種々の異なる形態にて実施されてもよい。そこで、以下では、情報提供装置10の他の実施形態について説明する。
[4. Modification example]
The information providing device 10 described above may be implemented in various different forms other than the above-described embodiment. Therefore, another embodiment of the information providing device 10 will be described below.

〔4−1.操作について〕
上述した例では、情報提供装置10は、ログインを受付けるアプリケーションの試験を行うための適用情報を生成した。しかしながら、実施形態は、これに限定されるものではない。
[4-1. About operation]
In the example described above, the information providing device 10 has generated application information for testing an application that accepts logins. However, the embodiment is not limited to this.

例えば、情報提供装置10は、対象となる端末装置200やソフトウェアと関連する利用者の行動であれば、任意の行動が行われる際に入力される操作を特定し、特定した操作を組合わせた操作情報を生成してよい。例えば、情報提供装置10は、SNS等に対する所定の文字列や写真といったコンテンツの投稿や、ゲーム等に対する入力、動画の閲覧といった任意の行動が行われた際における操作について、操作情報の生成を受付けてもよい。また、情報提供装置10は、例えば、端末装置200の向きを変更する、端末装置200を振る、音量を変更する等、音声による各種操作の入力といったハードウェアに依存する各種の行動が行われる際の操作を示す操作情報の生成を行ってもよい。 For example, the information providing device 10 specifies an operation to be input when an arbitrary action is performed if it is a user's action related to the target terminal device 200 or software, and combines the specified operations. Operation information may be generated. For example, the information providing device 10 accepts the generation of operation information for an operation when an arbitrary action such as posting a content such as a predetermined character string or a photo to an SNS or the like, inputting to a game or the like, or viewing a video is performed. You may. Further, when the information providing device 10 performs various hardware-dependent actions such as changing the direction of the terminal device 200, shaking the terminal device 200, changing the volume, and inputting various operations by voice. Operation information indicating the operation of may be generated.

また、情報提供装置10は、任意のアプリケーションについての操作情報を生成してよい。例えば、情報提供装置10は、端末装置200を用いた各種の決済サービスを提供するアプリケーションについて、操作情報の生成を行ってもよい。例えば、決済サービスには、店舗に設置されたQRコード(登録商標)を読み取るとともに、決済額の入力を受付け、QRコードと対応する店舗の口座に対し、受付けた決済額の電子マネーを利用者の口座から送金するといったサービスが存在する。また、決済サービスには、利用者の口座やクレジットカードを識別するバーコードを表示し、表示したバーコードを店舗の端末が読み取ることで、利用者に対する課金を実現するものが存在する。 In addition, the information providing device 10 may generate operation information for any application. For example, the information providing device 10 may generate operation information for an application that provides various payment services using the terminal device 200. For example, in the payment service, the QR code (registered trademark) installed in the store is read, the payment amount is input, and the electronic money of the received payment amount is used for the account of the store corresponding to the QR code. There are services such as sending money from your account. In addition, some payment services display a barcode that identifies a user's account or credit card, and the terminal of the store reads the displayed barcode to charge the user.

情報提供装置10は、このような各種決済サービスに関するアプリケーションについて、操作情報の生成を行ってもよい。例えば、情報提供装置10は、「店舗#Aに対して100円支払う」といった操作情報を生成してもよい。また、情報提供装置10は、「店舗#AのQRコードを読み取る」操作、「決済額として100円」を入力する操作、および「支払ボタンを押下する操作」を組合わせた操作情報を生成してもよい。また、情報提供装置10は、決済額を様々な額に設定した操作情報を生成してもよい。すなわち、情報提供装置10は、操作そのものだけではなく、操作の内容を示すパラメータ(例えば、スクロール量や入力するテキストの内容、QRコードの内容や決済額等)を適宜変更した複数の操作情報を生成してもよい。 The information providing device 10 may generate operation information for applications related to such various payment services. For example, the information providing device 10 may generate operation information such as "pay 100 yen to the store #A". In addition, the information providing device 10 generates operation information that combines the operation of "reading the QR code of the store #A", the operation of inputting "100 yen as the payment amount", and the operation of "pressing the payment button". You may. Further, the information providing device 10 may generate operation information in which the settlement amount is set to various amounts. That is, the information providing device 10 not only performs the operation itself, but also provides a plurality of operation information in which parameters indicating the operation contents (for example, scroll amount, input text content, QR code content, payment amount, etc.) are appropriately changed. It may be generated.

また、情報提供装置10は、各利用者に対して発光される各種請求書に対応する支払を行わせるための操作を示す操作情報を生成してもよい。例えば、端末装置200にインストールされたアプリケーションには、請求書等に印刷されたバーコードをカメラで読み取ると、バーコードが示す支払先および支払額を特定し、特定した支払先の口座へ、特定した支払額を利用者の口座から送金する機能を有する場合がある。このような場合、情報提供装置10は、所定のバーコードの画像を生成し、「バーコードの画像を撮影した画像として読み出す」、「読み出した画像に撮影されているバーコードを識別する(スキャンする)」、「識別したバーコードが示す情報に基づいて、送金を行う」といった操作を実行させるための操作情報を生成してもよい。 In addition, the information providing device 10 may generate operation information indicating an operation for causing each user to make a payment corresponding to various invoices emitted. For example, in an application installed on the terminal device 200, when a barcode printed on an invoice or the like is read by a camera, the payment destination and payment amount indicated by the barcode are specified, and the payment destination is specified to the specified payment destination account. It may have a function to transfer the payment amount made from the user's account. In such a case, the information providing device 10 generates an image of a predetermined barcode, "reads the image of the barcode as a captured image", and "identifies the barcode captured in the scanned image (scan). ”,“ Send money based on the information indicated by the identified barcode ”, and other operation information may be generated.

また、情報提供装置10は、「識別したバーコードから、送金金額と請求者とを検証する」といった操作を行わせるための操作情報を生成してもよい。例えば、情報提供装置10は、バーコードが示す支払先や額を示す文字列とバーコードとを配置した画像(すなわち、仮想的な請求書の画像)を生成し、「バーコードの画像を撮影した画像として読み出す」、「読み出した画像に撮影されているバーコードと、文字列と識別する」、「識別したバーコードが示す支払額と支払先とを識別する」、「識別した文字列が示す支払額と支払先とを識別する」、「バーコードが示す支払額および支払先と、文字列が示す支払額および支払先とが一致するか否かを判定する」、「各支払額および支払先が一致すると判定された場合に、送金を行う」といった一連の処理を実行させるための操作情報や、これらの操作をランダムに組合わせた操作情報を生成してもよい。 Further, the information providing device 10 may generate operation information for performing an operation such as "verifying the remittance amount and the claimant from the identified barcode". For example, the information providing device 10 generates an image (that is, an image of a virtual invoice) in which a character string indicating a payee and an amount indicated by a barcode and a barcode are arranged, and “takes an image of the barcode”. "Read as an image", "Identify the barcode captured in the scanned image and the character string", "Identify the payment amount and payee indicated by the identified barcode", "The identified character string "Identify the indicated payment amount and payee", "Determine whether the payment amount and payee indicated by the barcode match the payment amount and payee indicated by the character string", "Each payment amount and Operation information for executing a series of processes such as "transferring money when it is determined that the payees match" or operation information in which these operations are randomly combined may be generated.

また、情報提供装置10は、アプリケーションが、電子的な請求書に従った支払を実現することができる場合、このような機能を用いた支払の検証を行わせるための操作情報を生成してもよい。例えば、情報提供装置10は、「支払対象となる電子的な請求書のリストを表示させる」、「リストの中から支払対象となる請求書を選択する」、「選択した請求書に従って、送金を行う」といった操作を実行させるための操作情報等を生成してもよい。 Further, the information providing device 10 may generate operation information for verifying payment using such a function when the application can realize payment according to an electronic invoice. Good. For example, the information providing device 10 "displays a list of electronic invoices to be paid", "selects an invoice to be paid from the list", and "transfers money according to the selected invoice". Operation information or the like for executing an operation such as "perform" may be generated.

また、情報提供装置10は、各種権限の設定を行う操作や電話等の発信操作等を含む操作情報を生成してよい。このように、情報提供装置10は、対象において入力可能な操作であれば、任意の操作を行わせるための操作情報を生成してよい。さらに、情報提供装置10は、例えば、端末装置200とブルートゥース(登録商標)等で接続されたイヤホンや各種のウェアラブルデバイス等を制御するための操作を適用するための操作情報を生成してもよい。すなわち、情報提供装置10は、試験などの対象から操作可能な他の対象に対する操作を含む操作情報を生成してよい。 Further, the information providing device 10 may generate operation information including an operation for setting various privileges and an operation for making a call such as a telephone. As described above, the information providing device 10 may generate operation information for performing an arbitrary operation as long as it is an operation that can be input to the target. Further, the information providing device 10 may generate operation information for applying an operation for controlling an earphone, various wearable devices, etc. connected to the terminal device 200 by Bluetooth (registered trademark) or the like, for example. .. That is, the information providing device 10 may generate operation information including operations on other objects that can be operated from the object such as a test.

〔4−2.目的について〕
ここで、情報提供装置10は、対象の試験以外にも、任意の目的で上述した操作情報の生成を行ってよい。例えば、各種の提携作業をソフトウェア型のロボットやAI(Artificial Intelligence)が代行、自動化するRPA(Robotic Process Automation)の技術が知られている。情報提供装置10は、このようなRPAの技術において、上述した生成処理を適用してもよい。また、情報提供装置10は、QAAS(Quality Assurance as a Service)を試験するために、各種ソフトウェアに対する操作情報を生成してもよい。より具体的には、情報提供装置10は、対象となるソフトウェアに対して行われる利用者の行動を示す操作情報を、各ソフトウェアが利用者に対して機能を提供するための画面や、機能を提供するフェーズごとに生成してもよい。すなわち、情報提供装置10は、ソフトウェアが機能を提供するフェーズごとに、提供される機能を特定し、特定した機能と対応する操作を組合わせた組合わせ情報を生成すればよい。
[4-2. About the purpose]
Here, the information providing device 10 may generate the above-mentioned operation information for any purpose other than the target test. For example, RPA (Robotic Process Automation) technology is known in which software-type robots and AI (Artificial Intelligence) act on behalf of various alliance operations and automate them. The information providing device 10 may apply the above-mentioned generation process in such RPA technology. Further, the information providing device 10 may generate operation information for various software in order to test QAAS (Quality Assurance as a Service). More specifically, the information providing device 10 provides operation information indicating the user's behavior performed on the target software, a screen for each software to provide a function to the user, and a function. It may be generated for each phase provided. That is, the information providing device 10 may specify the provided function for each phase in which the software provides the function, and generate combination information in which the specified function and the corresponding operation are combined.

例えば、情報提供装置10は、対象となる各ソフトウェアにおいて適用可能な操作(例えば、データ入力や関数入力、各種の操作等)を特定し、特定した操作を組合わせた操作情報を、対象となるソフトウェアごとに生成してもよい。また、情報提供装置10は、ある1つの行動を行わせるために複数のソフトウェアを強調させる必要がある場合、ソフトウェアごとに必要な操作を特定し、特定した操作を各ソフトウェアに対して適用させる操作情報を生成してもよい。 For example, the information providing device 10 specifies an operation (for example, data input, function input, various operations, etc.) applicable to each target software, and targets operation information in which the specified operations are combined. It may be generated for each software. Further, when it is necessary to emphasize a plurality of software in order to perform a certain action, the information providing device 10 identifies a necessary operation for each software and applies the specified operation to each software. Information may be generated.

例えば、情報提供装置10は、第1ソフトウェアに所定の操作を入力することで、第1データを作成させる操作情報を生成するとともに、第2ソフトウェアに対して第1データを読み込ませ、さらに第1データを用いた所定の処理を実行させるための操作を第2ソフトウェアに適用するための操作情報を生成してもよい。そして、情報提供装置10は、生成した操作情報を第1ソフトウェアや第2ソフトウェアに対して順に適用すればよい。 For example, the information providing device 10 generates operation information for creating the first data by inputting a predetermined operation to the first software, causes the second software to read the first data, and further, first. Operation information for applying the operation for executing a predetermined process using the data to the second software may be generated. Then, the information providing device 10 may apply the generated operation information to the first software and the second software in order.

このように、情報提供装置10は、対象における試験のみならず、対象に任意の処理を行わせるための操作を含む操作情報を生成してよい。また、情報提供装置10は、上述した目的以外にも、対象に対する操作をを示す操作情報を生成するのであれば、任意の目的について、適用情報を生成してよい。 As described above, the information providing device 10 may generate not only the test on the target but also the operation information including the operation for causing the target to perform an arbitrary process. In addition to the above-mentioned purpose, the information providing device 10 may generate application information for any purpose as long as it generates operation information indicating an operation on the target.

〔4−3.処理態様について〕
上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
[4-3. About processing mode]
Of the processes described in the above embodiments, all or part of the processes described as being automatically performed can be performed manually, and conversely, all the processes described as being performed manually. Alternatively, a part thereof can be automatically performed by a known method. In addition, the processing procedure, specific name, and information including various data and parameters shown in the above document and drawings can be arbitrarily changed unless otherwise specified. For example, the various information shown in each figure is not limited to the illustrated information.

また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。 Further, each component of each of the illustrated devices is a functional concept, and does not necessarily have to be physically configured as shown in the figure. That is, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or part of the device is functionally or physically distributed / physically in arbitrary units according to various loads and usage conditions. Can be integrated and configured.

また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組合わせることが可能である。 In addition, each of the above-described embodiments can be appropriately combined as long as the processing contents do not contradict each other.

〔4−4.プログラム〕
また、上述した実施形態に係る情報提供装置10は、例えば図8に示すような構成のコンピュータ1000によって実現される。図8は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
[4-4. program〕
Further, the information providing device 10 according to the above-described embodiment is realized by, for example, a computer 1000 having a configuration as shown in FIG. FIG. 8 is a diagram showing an example of a hardware configuration. The computer 1000 is connected to the output device 1010 and the input device 1020, and the arithmetic unit 1030, the primary storage device 1040, the secondary storage device 1050, the output IF (Interface) 1060, the input IF 1070, and the network IF 1080 are connected by the bus 1090. Has.

演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。 The arithmetic unit 1030 operates based on a program stored in the primary storage device 1040 or the secondary storage device 1050, a program read from the input device 1020, or the like, and executes various processes. The primary storage device 1040 is a memory device that temporarily stores data used by the arithmetic unit 1030 for various calculations, such as a RAM. Further, the secondary storage device 1050 is a storage device in which data used by the calculation device 1030 for various calculations and various databases are registered, such as a ROM (Read Only Memory), an HDD (Hard Disk Drive), and a flash memory. Is realized by.

出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。 The output IF 1060 is an interface for transmitting information to be output to an output device 1010 that outputs various information such as a monitor and a printer. For example, USB (Universal Serial Bus), DVI (Digital Visual Interface), and the like. It is realized by a connector of a standard such as HDMI (registered trademark) (High Definition Multimedia Interface). Further, the input IF 1070 is an interface for receiving information from various input devices 1020 such as a mouse, a keyboard, and a scanner, and is realized by, for example, USB.

なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。 The input device 1020 includes, for example, an optical recording medium such as a CD (Compact Disc), a DVD (Digital Versatile Disc), or a PD (Phase change rewritable Disk), a magneto-optical recording medium such as an MO (Magneto-Optical disk), or a tape. It may be a device that reads information from a medium, a magnetic recording medium, a semiconductor memory, or the like. Further, the input device 1020 may be an external storage medium such as a USB memory.

ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。 The network IF1080 receives data from another device via the network N and sends it to the arithmetic unit 1030, and also transmits the data generated by the arithmetic unit 1030 to the other device via the network N.

演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。 The arithmetic unit 1030 controls the output device 1010 and the input device 1020 via the output IF 1060 and the input IF 1070. For example, the arithmetic unit 1030 loads a program from the input device 1020 or the secondary storage device 1050 onto the primary storage device 1040, and executes the loaded program.

例えば、コンピュータ1000が情報提供装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。 For example, when the computer 1000 functions as the information providing device 10, the arithmetic unit 1030 of the computer 1000 realizes the function of the control unit 40 by executing the program loaded on the primary storage device 1040.

〔5.効果〕
上述したように、情報提供装置10は、利用者の操作対象が発揮する機能を特定する。そして、情報提供装置10は、特定された機能に応じて、操作対象に対して行われる利用者の操作の組合わせを決定し、決定された操作の組合わせを自然言語で表した操作情報を生成する。このような処理の結果、情報提供装置10は、操作対象のテストケースを自動的に生成することができるので、任意の対象に対する試験を容易にすることができる。
[5. effect〕
As described above, the information providing device 10 identifies the function exhibited by the operation target of the user. Then, the information providing device 10 determines a combination of user operations performed on the operation target according to the specified function, and provides operation information expressing the determined combination of operations in natural language. Generate. As a result of such processing, the information providing device 10 can automatically generate a test case to be operated, so that a test for an arbitrary target can be facilitated.

また、情報提供装置10は、操作対象となるアプリケーションが所定の端末装置に対して表示させる画面に基づいて、その操作対象が発揮する機能を特定する。すなわち、情報提供装置10は、画面を介して提供される機能を特定する。このため、情報提供装置10は、各画面ごとに提供される機能を試験するためのテストケースを自動的に生成することができる。 Further, the information providing device 10 identifies the function exhibited by the operation target based on the screen displayed on the predetermined terminal device by the operation target application. That is, the information providing device 10 specifies the function provided via the screen. Therefore, the information providing device 10 can automatically generate a test case for testing the function provided for each screen.

例えば、情報提供装置10は、アプリケーションが各画面を表示させる順序に基づいて、そのアプリケーションが発揮する機能を特定する。また、情報提供装置10は、操作対象が提供するサービスの種別を特定し、特定されたサービスの種別に基づいて、その操作対象が発揮する機能を特定する。また、情報提供装置10は、特定されたサービスの種別とあらかじめ紐づけられた機能のうち、操作対象が発揮する機能を特定する。 For example, the information providing device 10 identifies a function exhibited by the application based on the order in which the application displays each screen. Further, the information providing device 10 specifies the type of service provided by the operation target, and specifies the function exhibited by the operation target based on the specified service type. Further, the information providing device 10 specifies a function exhibited by the operation target among the functions associated with the specified service type in advance.

例えば、情報提供装置10は、操作対象が所定の端末装置に対して表示させる画面に含まれるオブジェクトに基づいて、操作対象が提供するサービスの種別を特定する。また、情報提供装置10は、操作対象が所定の端末装置に対して表示させる画面に含まれるオブジェクトの量に基づいて、操作対象が提供するサービスの種別を特定する。また、情報提供装置10は、オブジェクトとして、画面に含まれるテキストに基づいて、操作対象が提供するサービスの種別を特定する。このような処理の結果、情報提供装置10は、適切に操作対象が提供するサービスを特定するとともに、特定したサービスに基づいて、操作対象が発揮する機能を特定することができるので、適切にテストケースを生成することができる。 For example, the information providing device 10 specifies the type of service provided by the operation target based on the object included in the screen displayed by the operation target on the predetermined terminal device. Further, the information providing device 10 specifies the type of service provided by the operation target based on the amount of objects included in the screen displayed by the operation target on the predetermined terminal device. Further, the information providing device 10 specifies the type of service provided by the operation target as an object based on the text included in the screen. As a result of such processing, the information providing device 10 can appropriately identify the service provided by the operation target and can specify the function exhibited by the operation target based on the specified service, and thus is appropriately tested. Cases can be generated.

また、情報提供装置10は、操作対象が有する特徴と、その操作対象が発揮する機能との関係性を学習したモデルを用いて、操作対象が発揮する機能を特定する。このため、情報提供装置10は、操作対象が新規なアプリケーション等であっても、その操作対象の機能を適切に特定することができる。 Further, the information providing device 10 identifies the function exhibited by the operation target by using a model that learns the relationship between the feature of the operation target and the function exhibited by the operation object. Therefore, the information providing device 10 can appropriately specify the function of the operation target even if the operation target is a new application or the like.

また、情報提供装置10は、機能と、操作対象にその機能を発揮させる際に行われる利用者の操作とを対応付けたデータベースを参照し、特定された機能と対応する操作に基づいて、組合わせを決定する。例えば、情報提供装置10は、特定された機能と対応する操作と、その操作を行う順序とをランダムに組合わせることで、複数の組合わせ候補を決定し、決定した組合わせ候補に基づいて、操作対象に対して行われる利用者の操作の組合わせを決定する。また、情報提供装置10は、組合わせ候補ごとに、特定された機能を発揮するか否かを判定し、その機能を発揮すると判定された組合わせ候補に基づいて、組合わせを決定する。また、情報提供装置10は、特定された機能を発揮すると判定された組合わせ候補に含まれる操作に基づいて、新たな組合わせ候補を生成し、生成した組合わせ候補に基づいて、組合わせを決定する。また、情報提供装置10は、特定された機能を発揮すると判定された組合わせ候補に含まれる操作と、ランダムに選択された操作とに基づいて、新たな組合わせ候補を生成する。また、情報提供装置10は、組合わせ候補ごとに、特定部により特定された機能を発揮するか否かを判定する処理と、機能を発揮すると判定された組合わせ候補に含まれる操作に基づいて、新たな組合わせ候補を生成する処理と、その新たな組合わせ候補が特定部により特定された機能を発揮するか否かを判定する処理とを、所定の条件が満たされるまで繰り返し実行することで、組合わせを決定する。このような処理の結果、情報提供装置10は、様々な内容のテストケースを自動的に生成することができる。 Further, the information providing device 10 refers to a database in which a function is associated with a user's operation performed when the operation target exerts the function, and sets the set based on the specified function and the corresponding operation. Determine the match. For example, the information providing device 10 determines a plurality of combination candidates by randomly combining the operation corresponding to the specified function and the order in which the operation is performed, and based on the determined combination candidate, Determine the combination of user operations performed on the operation target. Further, the information providing device 10 determines whether or not the specified function is exhibited for each combination candidate, and determines the combination based on the combination candidate determined to exhibit the function. Further, the information providing device 10 generates a new combination candidate based on the operation included in the combination candidate determined to exert the specified function, and performs the combination based on the generated combination candidate. decide. Further, the information providing device 10 generates a new combination candidate based on the operation included in the combination candidate determined to exert the specified function and the operation selected at random. Further, the information providing device 10 is based on a process of determining whether or not the function specified by the specific unit is exerted for each combination candidate, and an operation included in the combination candidate determined to exert the function. , The process of generating a new combination candidate and the process of determining whether or not the new combination candidate exerts the function specified by the specific unit are repeatedly executed until a predetermined condition is satisfied. Then, decide the combination. As a result of such processing, the information providing device 10 can automatically generate test cases having various contents.

また、情報提供装置10は、組合わせ候補ごとに、特定部により特定された機能が発揮されるまでに実行された操作の数を計数し、組合わせ候補のうち、計数した行動の数が所定の条件を満たす組合わせ候補を、操作対象に対して行われる利用者の操作の組合わせとする。このため、情報提供装置10は、試験対象として最適な内容の操作の組わせをテストケースとすることができる。 Further, the information providing device 10 counts the number of operations executed until the function specified by the specific unit is exhibited for each combination candidate, and the number of the counted actions among the combination candidates is predetermined. The combination candidate that satisfies the above condition is the combination of the user's operations performed on the operation target. Therefore, the information providing device 10 can use a combination of operations having the optimum contents as a test target as a test case.

また、情報提供装置10は、操作の組合わせを特定部により特定された機能と対応付けて所定のデータベースに登録する。また、情報提供装置10は、特定された機能と対応付けられた操作の組合わせを組合わせ候補として所定のデータベースから読み出す。このような処理の結果、情報提供装置10は、類似する操作対象のテストケースが生成済みである場合、かかるテストケースを流用することができる。 Further, the information providing device 10 registers the combination of operations in a predetermined database in association with the function specified by the specific unit. Further, the information providing device 10 reads a combination of the specified function and the associated operation as a combination candidate from a predetermined database. As a result of such processing, when a test case for a similar operation target has already been generated, the information providing device 10 can divert such a test case.

以上、本願の実施形態を図面に基づいて詳細に説明したが、これは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。 The embodiments of the present application have been described in detail with reference to the drawings, but this is an example, and various modifications and improvements are made based on the knowledge of those skilled in the art, including the embodiments described in the disclosure column of the invention. It is possible to carry out the present invention in other forms described above.

また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。 Further, the above-mentioned "section, module, unit" can be read as "means" or "circuit". For example, the acquisition unit can be read as an acquisition means or an acquisition circuit.

10 情報提供装置
20 通信部
30 記憶部
31 操作データベース
32 組合わせデータベース
40 制御部
41 特定部
42 決定部
43 生成部
44 適用部
200 端末装置
300 操作者端末
10 Information providing device 20 Communication unit 30 Storage unit 31 Operation database 32 Combination database 40 Control unit 41 Specific unit 42 Decision unit 43 Generation unit 44 Applicable unit 200 Terminal device 300 Operator terminal

Claims (20)

利用者の操作対象が提供するサービスの種別を特定し、特定されたサービスの種別に基づいて、当該操作対象が発揮する機能を特定する特定部と、
特定された機能に応じて、操作対象に対して行われる利用者の操作の組合わせを決定する決定部と、
決定された操作の組合わせを自然言語で表した操作情報を生成する生成部と
を有することを特徴とする生成装置。
A specific unit that specifies the type of service provided by the user's operation target, and identifies the function that the operation target exerts based on the specified service type.
A decision unit that determines the combination of user operations performed on the operation target according to the specified function, and
A generator characterized by having a generator that generates operation information in which a combination of determined operations is expressed in natural language.
前記特定部は、前記操作対象となるアプリケーションが所定の端末装置に対して表示させる画面に基づいて、当該操作対象が提供するサービスの種別を特定する
ことを特徴とする請求項1に記載の生成装置。
The generation according to claim 1, wherein the specific unit specifies a type of service provided by the operation target based on a screen displayed on a predetermined terminal device by the operation target application. apparatus.
前記特定部は、前記画面を介して提供される機能を特定する
ことを特徴とする請求項2に記載の生成装置。
The generator according to claim 2, wherein the specific unit specifies a function provided via the screen.
前記特定部は、前記アプリケーションが表示される画面上のオブジェクトと、前記アプリケーションが各画面を表示させる順序に基づいて、当該画面を介して提供される機能を特定する
ことを特徴とする請求項3に記載の生成装置。
The specifying unit, the claims and the object on the screen by the application is displayed, the application is based on the order in which to display the respective screens, and identifies the functionality provided through the screen The generator according to 3.
前記特定部は、前記特定されたサービスの種別とあらかじめ紐づけられた機能のうち、前記操作対象が発揮する機能を特定する
ことを特徴とする請求項1〜4のうちいずれか1つに記載の生成装置。
The specific unit is described in any one of claims 1 to 4, characterized in that the function to be exhibited by the operation target is specified among the functions associated with the specified service type in advance. Generator.
前記特定部は、前記操作対象が所定の端末装置に対して表示させる画面に含まれるオブジェクトに基づいて、前記操作対象が提供するサービスの種別を特定する
ことを特徴とする請求項1〜5のうちいずれか1つに記載の生成装置。
The specific unit according to claim 1 to 5, wherein the specific unit specifies a type of service provided by the operation target based on an object included in a screen displayed by the operation target on a predetermined terminal device. The generator according to any one of them.
前記特定部は、前記操作対象が所定の端末装置に対して表示させる画面に含まれるオブジェクトの量に基づいて、前記操作対象が提供するサービスの種別を特定する
ことを特徴とする請求項に記載の生成装置。
The specifying unit, based on the amount of objects which the operation target is included in the screen to be displayed for a predetermined terminal apparatus, to claim 6, wherein the operation target specifying a type of service provided The generator described.
前記特定部は、前記オブジェクトとして、前記画面に含まれるテキストに基づいて、前記操作対象が提供するサービスの種別を特定する
ことを特徴とする請求項またはに記載の生成装置。
The generator according to claim 6 or 7 , wherein the specific unit specifies the type of service provided by the operation target based on the text included in the screen as the object.
前記特定部は、前記操作対象が有する特徴と、当該操作対象が発揮する機能との関係性を学習したモデルを用いて、前記操作対象が発揮する機能を特定する
ことを特徴とする請求項1〜のうちいずれか1つに記載の生成装置。
Claim 1 is characterized in that the specific unit specifies a function exerted by the operation target by using a model that learns the relationship between the feature possessed by the operation target and the function exerted by the operation target. The generator according to any one of 8 to 8.
前記決定部は、前記機能と、前記操作対象に当該機能を発揮させる際に行われる利用者の操作とを対応付けたデータベースを参照し、前記特定部により特定された機能と対応する操作に基づいて、前記組合わせを決定する
ことを特徴とする請求項1〜のうちいずれか1つに記載の生成装置。
The determination unit refers to a database in which the function is associated with the user's operation performed when the operation target exerts the function, and is based on the operation corresponding to the function specified by the specific unit. The generator according to any one of claims 1 to 9 , wherein the combination is determined.
前記決定部は、前記特定部により特定された機能と対応する操作と、当該操作を行う順序とをランダムに組合わせることで、複数の組合わせ候補を決定し、決定した組合わせ候補に基づいて、前記操作対象に対して行われる利用者の操作の組合わせを決定する
ことを特徴とする請求項1に記載の生成装置。
The determination unit determines a plurality of combination candidates by randomly combining the operation corresponding to the function specified by the specific unit and the order in which the operation is performed, and based on the determined combination candidate. , generating apparatus according to claim 1 0, characterized in that to determine the combination of the user's operation performed on the operation target.
前記決定部は、前記組合わせ候補ごとに、前記特定部により特定された機能を発揮するか否かを判定し、当該機能を発揮すると判定された組合わせ候補に基づいて、前記組合わせを決定する
ことを特徴とする請求項1に記載の生成装置。
The determination unit determines whether or not the function specified by the specific unit is exerted for each combination candidate, and determines the combination based on the combination candidate determined to exert the function. generator according to claim 1 1, characterized by.
前記決定部は、前記特定部により特定された機能を発揮すると判定された組合わせ候補に含まれる操作に基づいて、新たな組合わせ候補を生成し、生成した組合わせ候補に基づいて、前記組合わせを決定する
ことを特徴とする請求項1に記載の生成装置。
The determination unit generates a new combination candidate based on the operation included in the combination candidate determined to exert the function specified by the specific unit, and the combination is based on the generated combination candidate. generating apparatus according to claim 1 2, characterized in that determining the total.
前記決定部は、前記特定部により特定された機能を発揮すると判定された組合わせ候補に含まれる操作と、ランダムに選択された操作とに基づいて、前記新たな組合わせ候補を生成する
ことを特徴とする請求項1に記載の生成装置。
The determination unit generates the new combination candidate based on the operation included in the combination candidate determined to exert the function specified by the specific unit and the operation selected at random. generating apparatus according to claim 1, wherein.
前記決定部は、前記組合わせ候補ごとに、前記特定部により特定された機能を発揮するか否かを判定する処理と、前記機能を発揮すると判定された組合わせ候補に含まれる操作に基づいて、新たな組合わせ候補を生成する処理と、当該新たな組合わせ候補が前記特定部により特定された機能を発揮するか否かを判定する処理とを、所定の条件が満たされるまで繰り返し実行することで、前記組合わせを決定する
ことを特徴とする請求項1〜1のうちいずれか1つに記載の生成装置。
The determination unit is based on a process of determining whether or not the function specified by the specific unit is exerted for each combination candidate, and an operation included in the combination candidate determined to exert the function. , The process of generating a new combination candidate and the process of determining whether or not the new combination candidate exerts the function specified by the specific unit are repeatedly executed until a predetermined condition is satisfied. it is, generating device according to any one of claims 1 2 to 1 4, characterized in that to determine the combination.
前記決定部は、前記組合わせ候補ごとに、前記特定部により特定された機能が発揮されるまでに実行された操作の数を計数し、前記組合わせ候補のうち、計数した行動の数が所定の条件を満たす組合わせ候補を、前記操作対象に対して行われる利用者の操作の組合わせとする
ことを特徴とする請求項1〜1のうちいずれか1つに記載の生成装置。
The determination unit counts the number of operations performed until the function specified by the specific unit is exerted for each combination candidate, and the number of counted actions among the combination candidates is predetermined. the condition is satisfied combination candidate generating apparatus according to any one of claims 1 1 to 1 4, characterized in that the combination of the user's operation performed on the operation target.
前記決定部は、前記操作の組合わせを前記特定部により特定された機能と対応付けて所定のデータベースに登録する
ことを特徴とする請求項1〜1のうちいずれか1つに記載の生成装置。
The determination unit according to any one of claims 12 to 16 , wherein the determination unit registers the combination of the operations in a predetermined database in association with the function specified by the specific unit. Generator.
前記決定部は、前記特定部により特定された機能と対応付けられた操作の組合わせを前記組合わせ候補として前記所定のデータベースから読み出す
ことを特徴とする請求項1に記載の生成装置。
The generator according to claim 17 , wherein the determination unit reads a combination of operations associated with the function specified by the specific unit from the predetermined database as a combination candidate.
生成装置が実行する生成方法であって、
試験の対象である操作対象が提供するサービスの種別を特定し、特定されたサービスの種別に基づいて、当該操作対象が発揮する機能を特定する特定工程と、
特定された機能に応じて、実行する試験の内容を決定する決定工程と、
決定された内容を自然言語で表した試験情報を生成する生成工程と
を含むことを特徴とする生成方法。
It is a generation method executed by the generation device.
A specific process that identifies the type of service provided by the operation target that is the subject of the test, and identifies the function that the operation target exerts based on the specified service type.
A decision process that determines the content of the test to be performed according to the identified function,
A generation method including a generation step of generating test information in which the determined contents are expressed in natural language.
試験の対象である操作対象が提供するサービスの種別を特定し、特定されたサービスの種別に基づいて、当該操作対象が発揮する機能を特定する特定手順と、
特定された機能に応じて、実行する試験の内容を決定する決定手順と、
決定された内容を自然言語で表した試験情報を生成する生成手順と
をコンピュータに実行させるための生成プログラム。
A specific procedure for identifying the type of service provided by the operation target that is the subject of the test, and identifying the function that the operation target exerts based on the specified service type, and
A decision procedure that determines the content of the test to be performed according to the identified function, and
A generation program that allows a computer to execute a generation procedure that generates test information that expresses the determined content in natural language.
JP2020163457A 2020-09-29 2020-09-29 Generation device, generation method and generation program Active JP6861880B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020163457A JP6861880B1 (en) 2020-09-29 2020-09-29 Generation device, generation method and generation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020163457A JP6861880B1 (en) 2020-09-29 2020-09-29 Generation device, generation method and generation program

Publications (2)

Publication Number Publication Date
JP6861880B1 true JP6861880B1 (en) 2021-04-21
JP2022055811A JP2022055811A (en) 2022-04-08

Family

ID=75520903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020163457A Active JP6861880B1 (en) 2020-09-29 2020-09-29 Generation device, generation method and generation program

Country Status (1)

Country Link
JP (1) JP6861880B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2022249328A1 (en) * 2021-05-26 2022-12-01
JP7204834B1 (en) 2021-06-30 2023-01-16 PayPay株式会社 Proposed device, proposed method and proposed program
WO2025115177A1 (en) * 2023-11-30 2025-06-05 三菱電機株式会社 Verification support device, verification support system, and verification support method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7712980B2 (en) * 2023-06-14 2025-07-24 株式会社オービック Test scenario creation support system, test scenario creation support method, and test scenario creation support program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5067057B2 (en) * 2007-07-20 2012-11-07 富士ゼロックス株式会社 Image processing apparatus and image processing program
US20120016862A1 (en) * 2010-07-14 2012-01-19 Rajan Sreeranga P Methods and Systems for Extensive Crawling of Web Applications
JP2015228086A (en) * 2014-05-30 2015-12-17 株式会社リコー Information processing system, information processing device, information processing method, and program
JP7053017B2 (en) * 2018-04-19 2022-04-12 Heroz株式会社 Web inspection program and web inspection equipment
US10740221B2 (en) * 2018-10-15 2020-08-11 Sap Se Scalable AI framework for test automation

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2022249328A1 (en) * 2021-05-26 2022-12-01
WO2022249328A1 (en) * 2021-05-26 2022-12-01 株式会社ソニー・インタラクティブエンタテインメント Information processing device, information processing method, and program
JP7204834B1 (en) 2021-06-30 2023-01-16 PayPay株式会社 Proposed device, proposed method and proposed program
WO2025115177A1 (en) * 2023-11-30 2025-06-05 三菱電機株式会社 Verification support device, verification support system, and verification support method

Also Published As

Publication number Publication date
JP2022055811A (en) 2022-04-08

Similar Documents

Publication Publication Date Title
JP6861880B1 (en) Generation device, generation method and generation program
US11934301B2 (en) System and method for automated software testing
US10705942B1 (en) Simulated testing of API
US20240037020A1 (en) System and Method for Automated Software Testing
US11074165B2 (en) Generating testing infrastructure on a cloud for testing software applications
CN107402880B (en) Test method and electronic equipment
US20220107882A1 (en) Rendering engine component abstraction system
US10438502B2 (en) Assessment item generation and scoring
JP5954752B2 (en) Apparatus, method, and program for testing system
US9996381B1 (en) Live application management workflow using metadata capture
US20210081309A1 (en) Mapping interactive elements in an application user interface
WO2013075612A1 (en) Auto login method and device
CN110858172A (en) A kind of automatic test code generation method and device
JP7280388B2 (en) Apparatus and method, equipment and medium for implementing a customized artificial intelligence production line
CN103984626A (en) Method and device for generating test-case script
JP2018045372A (en) Information processing device and information processing program
WO2021129335A1 (en) Operation monitoring method and apparatus, operation analysis method and apparatus
JP7029557B1 (en) Judgment device, judgment method and judgment program
Ceballos Delgado et al. FADE: A forensic image generator for Android device education
CN104471530A (en) Executable Software Specification Generation
US20190385472A1 (en) Assessment item generation and scoring
JP6798050B1 (en) Generator, generation method and generation program
US20190347078A1 (en) Generating Application Mock-Ups Based on Captured User Sessions
US20090066984A1 (en) Device setting apparatus, device setting method, information acquiring apparatus, information acquiring method, storage medium, and program
CN113742240A (en) User interface testing method and device, storage medium and electronic equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200929

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200929

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20201020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210302

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210330

R150 Certificate of patent or registration of utility model

Ref document number: 6861880

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250