JP2022122740A - Determination apparatus, determination method, and determination program - Google Patents

Determination apparatus, determination method, and determination program Download PDF

Info

Publication number
JP2022122740A
JP2022122740A JP2021020182A JP2021020182A JP2022122740A JP 2022122740 A JP2022122740 A JP 2022122740A JP 2021020182 A JP2021020182 A JP 2021020182A JP 2021020182 A JP2021020182 A JP 2021020182A JP 2022122740 A JP2022122740 A JP 2022122740A
Authority
JP
Japan
Prior art keywords
content
comparison
information providing
providing apparatus
similarity
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.)
Granted
Application number
JP2021020182A
Other languages
Japanese (ja)
Other versions
JP7029557B1 (en
Inventor
シュレイ パンディ
Schleh Pandy
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 JP2021020182A priority Critical patent/JP7029557B1/en
Application granted granted Critical
Publication of JP7029557B1 publication Critical patent/JP7029557B1/en
Publication of JP2022122740A publication Critical patent/JP2022122740A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To reduce burdens and labor relating to an UI examination.SOLUTION: A determination apparatus according to the present invention is characterized by having an acquiring unit for acquiring reference content displayed upon execution of a predetermine application by a reference terminal and comparison content displayed upon execution of the predetermined application by a comparison terminal as a comparison target, and a determination unit for determining whether or not similarity between characteristics of the reference content and characteristics of the comparison content satisfies a predetermined condition.SELECTED DRAWING: Figure 1

Description

本発明は、判定装置、判定方法および判定プログラムに関する。 The present invention relates to a determination device, a determination method, and a determination program.

従来、利用者に対して各種のサービスが提供されている。このようなサービスの提供においては、あらかじめ設定されたUI(User Interface)を有するコンテンツが利用者に配信され、利用者に対する情報提供や、利用者からの操作の受付を実現している。 Conventionally, various services have been provided to users. In providing such services, contents having a UI (User Interface) set in advance are distributed to users, and information provision to users and acceptance of operations from users are realized.

一方、サービスの提供時やUIの変更時には、UIが適切に機能を発揮できるかを試験する必要がある。このようなUIの試験に係る手間を削減するための手法として、テストケースの実行結果に基づいて、新たなテストスクリプトを生成する技術や、ルールベースでUIのテストを行う技術が提案されている。 On the other hand, when providing services or changing the UI, it is necessary to test whether the UI can function properly. Techniques for reducing the time and effort involved in testing such UIs include techniques for generating new test scripts based on test case execution results and techniques for performing rule-based UI tests. .

特許第6635963号公報Japanese Patent No. 6635963 特表2013-518321号公報Japanese translation of PCT publication No. 2013-518321 米国特許第9841956号U.S. Patent No. 9841956

しかしながら、上述した従来技術では、UIの試験に係る手間を削減する余地がある。 However, in the conventional technology described above, there is room for reducing the labor involved in UI testing.

例えば、あるサービスを提供するアプリケーションをOS(Operating System)等のプラットフォームや、画面サイズ、画面の解像度等が異なる複数の情報処理装置、すなわち、それぞれ異なる種別の情報処理装置が実行した場合、各情報処理装置を介して提供されるコンテンツのUIがそれぞれ異なってしまう恐れがある。このため、上述した従来技術では、アプリケーションを実行する情報処理装置の種別ごとに、UIの試験を行うためのテストケースやルールを準備する手間がかかる。 For example, when an application that provides a certain service is executed by a plurality of information processing apparatuses having different platforms such as OS (Operating System), screen size, screen resolution, etc., that is, information processing apparatuses of different types, each information There is a risk that the UI of the content provided via the processing device will differ. For this reason, in the conventional technology described above, it takes time and effort to prepare test cases and rules for testing the UI for each type of information processing device that executes an application.

なお、このようなUIの試験は、アプリケーションの開発時のみならず、各種のアップデートによりアプリケーションのコードを変更する際にも、同様の手間が発生する。 It should be noted that such a UI test is troublesome not only when developing an application, but also when changing the code of the application due to various updates.

また、上述した従来技術では、UIごとにどのような内容のテストを行えばよいかを示すテストケースやルールをあらかじめ準備する必要がある。しかしながら、このように、テストケースやルールを人手で準備した場合は、テストすべき内容の欠落等といったミスが生じる恐れがある。 Moreover, in the conventional technology described above, it is necessary to prepare in advance test cases and rules indicating what kind of test should be performed for each UI. However, when test cases and rules are manually prepared in this way, there is a risk of errors such as omissions of the content to be tested.

本願は、上記に鑑みてなされたものであって、UIの試験に係る手間を削減することを目的とする。 The present application has been made in view of the above, and an object thereof is to reduce the labor involved in UI testing.

本願に係る判定装置は、基準端末が所定のアプリケーションを実行した際に表示させた基準コンテンツと、比較対象となる比較端末が所定のアプリケーションを実行した際に表示させた比較コンテンツとを取得する取得部と、前記基準コンテンツが有する特徴と、前記比較コンテンツが有する特徴との類似性が所定の条件を満たすか否かを判定する判定部とを有することを特徴とする。 A determination device according to the present application acquires reference content displayed when a reference terminal executes a predetermined application and comparison content displayed when a comparison terminal to be compared executes a predetermined application. and a determination unit that determines whether the similarity between the feature of the reference content and the feature of the comparison content satisfies a predetermined condition.

実施形態の一態様によれば、UIの試験に係る手間を削減することができる。 According to one aspect of the embodiments, it is possible to reduce the effort involved in testing the UI.

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

以下に、本願に係る判定装置、判定方法および判定プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る判定装置、判定方法および判定プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。 EMBODIMENT OF THE INVENTION Below, the form (it is hereafter described as "embodiment".) for implementing the determination apparatus, determination method, and determination program which concerns on this application is demonstrated in detail, referring drawings. Note that the determination device, determination method, and determination program according to the present application are not limited to this embodiment. Further, in each of the following embodiments, the same parts are denoted by the same reference numerals, and overlapping descriptions are omitted.

[実施形態]
〔1-1.情報提供装置の一例について〕
まず、図1を用いて、実施形態に係る判定装置の一例である情報提供装置10の一例について説明する。図1は、実施形態に係る情報提供装置の一例を示す図である。なお、図1では、情報提供装置10が実行する機能の一例として、各種の端末装置にインストールされたアプリケーションのデバッグを行うためにアプリケーションの試験を行うための操作情報を生成する処理の一例について記載した。なお、情報提供装置10は、後述するように、図1に示すような処理と平行し、試験においてアプリケーションが端末装置に表示される画面が適切な画面であるかを判定する判定処理を実行する。
[Embodiment]
[1-1. About an example of an information providing device]
First, an example of an information providing device 10, which is an example of a determination device according to an embodiment, will be described using FIG. FIG. 1 is a diagram illustrating an example of an information providing device according to an embodiment. Note that FIG. 1 describes, as an example of a function executed by the information providing apparatus 10, an example of processing for generating operation information for testing an application installed in various terminal devices in order to debug the application. did. As will be described later, in parallel with the processing shown in FIG. 1, the information providing device 10 executes determination processing for determining whether the screen on which the application is displayed on the terminal device in the test is an appropriate screen. .

なお、以下の説明では、図1~図3を用いて、生成処理により生成された操作情報により実現される処理の流れについて説明し、その後、試験において操作情報により実現される試験と平行に行われる試験であって、アプリケーションが表示される画面が適切な画面であるかを判定する試験、すなわち、判定処理の内容について説明する。 In the following explanation, the flow of processing realized by the operation information generated by the generation processing will be explained using FIGS. A test to determine whether the screen on which the application is displayed is an appropriate screen, that is, the content of the determination process will be described.

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

なお、情報提供装置10は、上述した生成処理に加え、生成された操作情報に従って、端末装置201~203にインストールされたアプリケーションのテストを行う機能を有する。なお、このような機能は、情報提供装置10自体が実行する必要はなく、例えば、サーバ装置やクラウドシステム等により実現される他の情報処理装置(例えば、適用装置)により実現されてもよい。例えば、情報提供装置10は、端末装置201~203にインストールされた各種ソフトウェアの動作を自動的に試験する。 In addition to the above-described generation processing, the information providing device 10 has a function of testing the applications installed in the terminal devices 201 to 203 according to the generated operation information. It should be noted that such a function need not be executed by the information providing apparatus 10 itself, and may be realized by another information processing apparatus (for example, an application apparatus) realized by a server apparatus, 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-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 sometimes collectively referred to as “terminal device 200”) are terminal devices used by users U1 to U3, and are information processing terminals such as smart phones, for example. 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). Also, in the example shown in FIG. 1, three terminal devices 201 to 203 are illustrated, but the embodiment is not limited to this. As will be apparent from the description below, the information providing device 10 may test any number of terminal devices 200 in parallel. Note that 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 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 wishes to test the terminal device 200 or an operator who receives a request from the user who desires the test. It is implemented by an information processing device.

〔1-2.試験の流れの一例について〕
ここで、情報提供装置10が実行する生成処理を説明する前に、情報提供装置10が実行する試験の流れについて説明する。例えば、各端末装置200の動作確認や、ソフトウェアのデバッグを行う場合、各端末装置200に対して様々な処理を様々な順番で繰り返し入力し、誤った動作が行われないかを操作の度に判定することとなる。しかしながら、このような試験を人手で行った場合、手間がかかる。また、人手での試験では、誤った操作が行われてしまい、適切な試験が実現できない恐れがある。
[1-2. About an example of the test flow]
Here, before describing the generation process performed by the information providing apparatus 10, the flow of the test performed by the information providing apparatus 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. A judgment will be made. However, when such a test is performed manually, it takes time and effort. In addition, in manual testing, there is a risk that erroneous operations will be performed, making it impossible to achieve proper testing.

そこで、情報提供装置10は、所定の対象に対して行われる利用者の行動、換言すると、アプリケーション等の所定の対象が提供する機能を自然言語で示す操作情報を取得する。例えば、アプリケーションが利用者に対してログインの機能を提供した場合、利用者は、その機能を発揮させることでログインといった行動を行うこととなる。また、アプリケーションが各種の決済機能を発揮するアプリケーションである場合、利用者は、アプリケーションが提供する決済機能を発揮させることで、決済といった行動を行うこととなる。そして、情報提供装置10は、取得した操作情報から、操作情報が示す行動が行われた際に対象に対して行われる操作を対象に対して適用するための適用情報を生成する。 Therefore, the information providing apparatus 10 acquires operation information indicating, in natural language, a user's action performed on a predetermined target, in other words, a function provided by a 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. In addition, when the application is an application that exhibits various payment functions, the user performs actions such as payment by exerting the payment functions provided by the application. Then, the information providing apparatus 10 generates, from the acquired operation information, application information for applying the operation performed on the target when the action indicated by the operation information is performed to the target.

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

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

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

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

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

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

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

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

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

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

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

続いて、情報提供装置10は、操作者端末300から、試験対象となるアプリケーションを受け付ける(ステップS2)。すなわち、情報提供装置10は、AUT(Application Under Test)を受け付ける。例えば、情報提供装置10は、各端末装置200にインストールされたアプリケーションのデータを受け付ける。なお、図1に示す例では、情報提供装置10は、操作者が各端末装置200にインストールしたアプリケーションのデータを受け付けるが、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、アプリケーションを受け付けると、各端末装置200に受け付けたアプリケーションを送信しインストールさせてもよい。また、情報提供装置10は、操作者端末300が各端末装置200にインストールさせたアプリケーションを受け付けてもよい。 Subsequently, the information providing device 10 receives an 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 applications installed in each terminal device 200 . In the example shown in FIG. 1, the information providing apparatus 10 receives data of applications installed in each terminal device 200 by the operator, but the embodiment is not limited to this. For example, when receiving an application, the information providing device 10 may transmit the received application to each terminal device 200 and cause the terminal device 200 to install the received application. Further, the information providing apparatus 10 may receive an application that the operator terminal 300 has installed in each terminal device 200 .

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

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

続いて、情報提供装置10は、ドメインに応じて、アプリケーションの各画面上で提供される機能を特定する(ステップS4)。例えば、情報提供装置10は、ログイン等、アプリケーションを介して提供されるサービスを構成する構成サービスを機能として特定する。なお、以下の説明では、このような構成サービスを、アプリケーションの「機能」と表現する場合がある。 Subsequently, the information providing apparatus 10 identifies functions provided on each screen of the application according to the domain (step S4). For example, the information providing apparatus 10 identifies, as a function, a constituent service that constitutes a service provided via an application, such as login. In the following description, such a configuration service may be expressed as a "function" of an application.

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

上述した処理の結果、情報提供装置10は、アプリケーションが表示する画面ごとに、その画面を介して提供される機能を特定することとなる。そこで、情報提供装置10は、特定した機能を発揮させるための操作の組合わせを決定する(ステップS5)。例えば、情報提供装置10は、特定した機能とあらかじめ対応付けられた操作を特定し、特定した操作をランダムな数だけ、ランダムな順番で組合わせた操作の組合わせの候補を生成する。そして、情報提供装置10は、生成した組合わせの候補の中から、試験の対象として適切であると推定される組合わせの候補を特定する。 As a result of the above-described processing, the information providing apparatus 10 identifies the function provided through each screen displayed by the application. Therefore, the information providing device 10 determines a combination of operations for exhibiting the specified function (step S5). For example, the information providing apparatus 10 identifies operations pre-associated with the identified function, and generates candidate combinations of operations by combining a random number of the identified operations in random order. Then, the information providing apparatus 10 identifies, from among the generated combination candidates, combination candidates that are estimated to be suitable as test targets.

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

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

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

このような場合、各端末装置200は、情報提供装置10から受付けた適用情報に従った操作が行われたものとして、それぞれアプリケーションを動作させる(ステップS9)。ここで、情報提供装置10から出力される適用情報には、操作が適用された結果を各端末装置200に収集させるための情報が含まれている。この結果、端末装置200は、操作の適用結果を収集し、収集した適用結果を情報提供装置10へと送信する(ステップS10)。このような場合、情報提供装置10は、適用結果のレポートを生成し、生成したレポートを操作者端末300に提供する(ステップS11)。例えば、情報提供装置10は、各端末装置200において実行されているOSやアプリケーションの種別とともに、どの端末装置200においてログインが成功若しくは失敗したか、いくつの端末装置200でログインが成功若しくは失敗したかといったレポートを提供する。このような処理の結果、情報提供装置10は、デバッグ等の試験結果の容易な理解を促進することができる。 In such a case, each terminal device 200 assumes that an operation has been performed according to the application information received from the information providing device 10, and operates the respective application (step S9). Here, the application information output from the information providing device 10 includes information for causing each terminal device 200 to collect the results of application of the operation. As a result, the terminal device 200 collects the operation application results and transmits the collected application results to the information providing device 10 (step S10). In such a case, the information providing apparatus 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 apparatus 10 determines which terminal device 200 the login succeeded or failed, how many terminal devices 200 the login succeeded or failed, along with the type of OS and application being executed in each terminal device 200. provide such reports. As a result of such processing, the information providing apparatus 10 can promote easy understanding of test results such as debugging.

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

以下、図2を用いて、情報提供装置10が実行する生成処理の実装例について説明する。図2は、実施形態に係る情報提供装置が実行する生成処理の実装例を示す図である。図2においては、情報提供装置10が操作情報を生成する処理の流れの一例について記載したが、実施形態は、これに限定されるものではない。情報提供装置10は、図2に示す処理以外にも、アプリケーションの解析結果、例えば、アプリケーションが有する各種の特徴に基づいて操作情報を生成するのであれば、任意の処理により、操作情報の生成を行ってよい。 An implementation example of the generation process executed by the information providing apparatus 10 will be described below with reference to FIG. FIG. 2 is a diagram illustrating an implementation example of generation processing executed by the information providing apparatus according to the embodiment. Although FIG. 2 describes an example of the flow of processing in which the information providing apparatus 10 generates operation information, the embodiment is not limited to this. The information providing apparatus 10 can generate operation information by arbitrary processing other than the processing shown in FIG. you can go

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

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

なお、以下の説明では、利用者の操作の組合わせを組合わせ情報と総称する場合がある。また、組合わせデータベースには、初期状態において、組合わせ情報がすでに登録されていてもよく、登録されていなくともよい。 In the following description, combinations of user operations may be collectively referred to as combination information. In addition, 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 apparatus 10 analyzes the code of the application to be tested and extracts all the text displayed by the application on the screen. The information providing device 10 then identifies the domain of the application based on the extracted text. For example, the information providing device 10 uses the domain model to identify the domain of the function provided by the application from the text displayed by the application.

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

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

例えば、情報提供装置10は、アプリケーションのドメインと、そのアプリケーションが表示する画面のうちある画面の特徴(例えば、オブジェクトの種類、数、外観、その画面で実行可能な各種の操作等)とを示す情報を入力した際い、その画面で提供される機能を示す情報を出力するように学習が行われたモデルをスクリーンモデルとして保持する。そして、情報提供装置10は、スクリーンモデルに、試験対象となるアプリケーションのドメインと、アプリケーションが表示する画面の特徴とを示す情報を入力することで、その画面で提供される機能を特定(推定)する。 For example, the information providing apparatus 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 of objects, various operations that can be executed on the screen, etc.). A model that has been trained to output information indicating the function provided on the screen when information is input is held as a screen model. Then, the information providing apparatus 10 inputs information indicating the domain of the application to be tested and the characteristics of the screen displayed by the application to the screen model, thereby specifying (estimating) the function provided on the screen. do.

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

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

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

続いて、情報提供装置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 apparatus 10 executes an operation included in each combination candidate on a screen to be tested, and determines whether or not the function is appropriately exhibited before the screen transitions to another screen. , the number of operations executed until the screen transitions to another screen is taken as the number of steps. It should be noted that the coefficient of the number of steps may be rephrased as fitness calculation.

続いて、情報提供装置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, if the information providing apparatus 10 has not looped the processing a predetermined number of times, it selects a pair of parent combination candidates from among the combination candidates determined to exhibit the function. Then, the information providing device 10 generates new combination candidates by randomly combining the operations included in the combination candidates selected as parents. The information providing device 10 also generates new combination candidates by adding or changing operations at random to the newly generated combination candidates. Then, the information providing apparatus 10 re-executes the coefficient of the number of steps until the function is properly exhibited for each combination candidate to determine whether the function is appropriately exhibited.

すなわち、情報提供装置10は、組合わせ候補ごとに、機能が発揮されるまでのステップの係数、操作をクロスオーバーさせた新たな組合わせ候補の生成、および、操作をミューテーションさせた組合わせ候補の生成を繰り返し実行する。このような処理を行うことで、情報提供装置10は、試験対象となるアプリケーションの画面ごとに、様々な操作を組合わせた組合わせ候補を生成することができる。 That is, for each combination candidate, the information providing apparatus 10 generates a coefficient of steps until the function is exhibited, generates a new combination candidate by crossing over the operation, and generates a combination candidate by mutating the operation. Repeat the generation of . By performing such processing, the information providing apparatus 10 can generate combination candidates by combining 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 apparatus 10 registers in the combination database, as combination information, combination candidates whose number of steps satisfies a predetermined condition. For example, the information providing apparatus 10 specifies the distribution of the number of steps required to exhibit the function when the operations included in each combination candidate are executed, and based on the specified distribution, the number of steps satisfies a predetermined condition. Combination candidates are registered. At this time, the information providing apparatus 10 may select a combination candidate with a relatively large number of steps instead of preferentially selecting a combination candidate with a small number of steps.

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

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

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

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

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

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

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

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

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

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

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

なお、ステップ情報やアシスタント情報は、対象となる端末装置200が実行するOSの種別やアプリケーションの種別、若しくはこれらの組合わせごとに生成される。このため、ドライバユニットは、操作情報から生成された特徴情報が示すユーザアクション(行動)において生じる各種の入力を取得するとともに、ユーザアクションの対象となるデバイスやアプリケーション、操作対象となる要素の識別を行う。そして、ドライバユニットは、識別結果に基づいて、ステップ情報の生成を行う。 Note that the step information and the assistant information are generated for each OS type or application type executed by the target terminal device 200, or for each combination thereof. For this reason, the driver unit acquires various inputs that occur in user actions (behaviors) indicated by feature information generated from operation information, and identifies devices and applications that are targets of user actions and elements that are targets of operation. conduct. 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 state of the target at regular intervals to ensure that each operation indicated by the step information has been performed. do. More specifically, the information providing apparatus 10 collects, for each target, the state of the target that occurs when the operation indicated by the step information is performed, and determines whether the collected state satisfies a predetermined condition. Generate assistant information for In other words, the assistant information determines whether the result of performing a certain operation indicated by the step information is appropriate, and if it is determined to be appropriate, the assistant information sets the conditions for performing the next operation indicated by the step information. can be regarded as information.

続いて、情報提供装置10は、生成ユニットを用いて、ステップ情報およびアシスタント情報が示す操作や各種の判定を対象に行わせるための適用情報を生成する。換言すると、情報提供装置10は、抽出ユニットにより抽出された単語が示す行動が行われる場合に端末装置200に対して行われる操作を適用するための適用情報を生成する。 Subsequently, the information providing apparatus 10 uses the generation unit to generate application information for causing the target to perform operations 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 various frameworks such as Appium for automatically testing various terminal devices 200 and applications. More specifically, the information providing apparatus 10 applies each operation indicated by the step information to the target in the order indicated by the step information, and determines 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 causing the terminal device 200 to apply the actions of the user that can be performed when providing the configuration service such as "login", that is, the operation corresponding to the configuration service. . As described above, the information providing apparatus 10 generates action information indicating, in natural language, a constituent service that constitutes a service provided by a predetermined target and that is provided when a user performs a predetermined operation. Once acquired, application information for applying a predetermined operation corresponding to the configuration service indicated by the acquired behavior information to the object is generated from the acquired behavior information.

そして、情報提供装置10は、適用情報を、対象となる端末装置200へと出力する。例えば、情報提供装置10は、所定の情報処理装置内で再現された仮想的な端末装置ETや、スマートフォン等の端末装置RT、クラウド上に存在する各種の端末装置CTに対して、各端末装置200ごとに生成された適用情報を送信する。この結果、情報提供装置10は、自然言語で記述された操作情報が示す行動が行われた場合の、端末装置200の動作を試験することができる。 Then, the information providing device 10 outputs the applicable information to the target terminal device 200 . For example, the information providing apparatus 10 provides a virtual terminal device ET reproduced in a predetermined information processing device, a terminal device RT such as a smartphone, and various terminal devices CT existing on the cloud. 200 generated application information 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 written in natural language is performed.

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

例えば、ドライバユニットは、特徴情報が「ログイン」を示す場合、辞書データを参照し、「ログイン」と対応付けられた各操作「ログインコンテンツの表示」、「ユーザIDの入力」、「パスワードの入力」、および「ログインボタンの押下」を特定する。そして、ドライバユニットは、特定した各処理を端末装置200に実行させるための適用情報を生成ユニットに生成させるためのステップ情報を生成すればよい。また、ドライバユニットは、辞書データを参照し、特定した各操作と対応付けられた条件を特定する。そして、ドライバユニットは、特定した条件を満たすか否かを端末装置200に実行させるための適用情報を生成ユニットに生成させるためのアシスタント情報を生成すればよい。このような処理を行うプログラムであれば、情報提供装置10は、任意のプログラムをドライバユニットとして採用可能である。 For example, when the feature information indicates "login", the driver unit refers to the dictionary data and performs operations "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. Also, the driver unit refers to the dictionary data to identify conditions associated with each identified 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 determine whether the specified condition is satisfied. The information providing apparatus 10 can employ any program as a driver unit as long as it is a program that performs such processing.

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

〔2.判定処理について〕
上述したように、情報提供装置10は、各端末装置200にインストールさせるアプリケーションが適切に動作するかの試験を行う。一方で、アプリケーションが実現するサービスには、例えば、QRコードを用いた決済等、様々な種別の端末装置200を介して共通するサービスを提供するものが存在する。
[2. About judgment processing]
As described above, the information providing device 10 tests whether the application installed in each terminal device 200 operates properly. On the other hand, among services realized by applications, there are services that provide common services via various types of terminal devices 200, such as settlement using QR codes.

しかしながら、同一のアプリケーションであっても、端末装置200ごとに見た目が異なる場合がある。例えば、端末装置201と端末装置202が同一のOSを実行する端末であったとしても、画面の解像度が異なる場合には、見た目が変化してしまう恐れがある。このようにアプリケーションが提供する画面(以下、「コンテンツ」と記載する場合がある。)の見た目が変化した場合、アプリケーションの利用時に不要な心配を与える必要がある。また、例えば、各種オブジェクトの配置が変化した場合、利用者が正しい操作を行うことができない場合がある。 However, even the same application may look different for each terminal device 200 . For example, even if the terminal device 201 and the terminal device 202 are terminals that run the same OS, if the screen resolutions are different, the appearance may change. When the appearance of the screen provided by the application (hereinafter sometimes referred to as "content") changes in this way, it is necessary to cause unnecessary anxiety when using the application. Further, for example, when the arrangement of various objects changes, the user may not be able to perform correct operations.

より具体的な例を挙げる。例えば、あるアプリケーションがログインのために、ユーザIDを入力するためのテキストボックスと、そのテキストのテキストボックスにユーザIDを入力する旨を示すテキスト(例えば、「ユーザID」)、およびパスワードを入力するためのテキストボックスと、そのテキストのテキストボックスにパスワードを入力する旨を示すテキスト(例えば、「パスワード」)とを表示するものとする。 A more specific example will be given. For example, for logging in, an application inputs a text box for entering a user ID, a text indicating that the user ID is to be entered in the text box (for example, "user ID"), and a password. and a text indicating that a password is to be entered in the text box (for example, "password").

ここで、端末装置201が、ユーザIDを入力するためのテキストボックスと、「ユーザID」といったテキストとを横に並べて表示し、パスワードを入力するためのテキストボックスと、「パスワード」といったテキストとを横に並べて表示した場合、端末装置201の利用者は、正しくユーザIDとパスワードとをテキストボックスに入力することができると考えられる。しかしながら、例えば、端末装置202がテキストとテキストボックスとを横に並べる画面解像度を有していない場合、テキストやテキストボックスの配置が変化してしまい、テキストボックスにユーザIDを入力するのか、パスワードを入力するのかを正しくユーザに伝えることができなくなる恐れがある。 Here, the terminal device 201 displays a text box for entering a user ID and a text "user ID" side by side, and displays a text box for entering a password and a text "password". When displayed side by side, it is considered that the user of the terminal device 201 can correctly input the user ID and password into the text boxes. However, for example, if the terminal device 202 does not have a screen resolution that allows the text and text boxes to be arranged side by side, the arrangement of the text and the text boxes will change, and it will be difficult to enter the user ID or password in the text box. There is a risk that it will not be possible to correctly tell the user what to enter.

また、端末装置200が実行するOSや画面の設定、ハードウェアの特性によっては、アプリケーションが表示するサービスや企業のロゴの形状や色彩、アプリケーションが提供するコンテンツにおいて共通して利用される色彩(いわゆるテーマカラー)が想定していた外観と異なる外観で表示されてしまう恐れがある。 In addition, depending on the OS and screen settings executed by the terminal device 200 and the characteristics of the hardware, the shapes and colors of the logos of the services and companies displayed by the applications, and the colors commonly used in the content provided by the applications (so-called theme color) may appear differently than expected.

このようなアプリケーションが提供するコンテンツの外観的な同一性の問題は、アプリケーションの開発時のみならず、アプリケーションの更新時やアプリケーションが提供するサービスの変更時、追加時等にも生じうる。換言すると、アプリケーションが提供するコンテンツは、アプリケーションを実行する端末装置200のハードウェアもしくはソフトウェアといったプラットフォーム等、様々な理由により、アプリケーションが同じコードであっても外観的な同一性が担保できない恐れがある。 Such a problem of appearance consistency of content provided by an application may occur not only when the application is developed, but also when the application is updated, or when the service provided by the application is changed or added. In other words, the content provided by the application may not be identical in appearance even if the application has the same code for various reasons such as the hardware or software platform of the terminal device 200 that executes the application. .

そこで、情報提供装置10は、上述したアプリケーションの試験において、コンテンツの外観的な同一性が担保されているかを判定する判定処理を実行する。すなわち、利用者が各コンテンツを閲覧した際に、同一アプリケーションによる同一構成サービスを実現するためのコンテンツであると判断するか否かの判定を行う。 Therefore, the information providing apparatus 10 executes determination processing for determining whether or not the content is guaranteed to be identical in appearance in the application test described above. That is, when the user views each content, it is determined whether or not it is determined that the content is for realizing the same configuration service by the same application.

例えば、情報提供装置10は、端末装置200とは別に準備された所定の端末装置を基準端末とし、端末装置200を判定装置とする。そして、情報提供装置10は、基準端末が所定のアプリケーションを実行した際に表示させた基準コンテンツと、比較対象となる比較端末が所定のアプリケーションを実行した際に表示させた比較コンテンツとを取得する。そして、情報提供装置10は、基準コンテンツが有する特徴と、比較コンテンツが有する特徴との類似性が所定の条件を満たすか否かを判定する。 For example, the information providing device 10 uses a predetermined terminal device prepared separately from the terminal device 200 as a reference terminal, and the terminal device 200 as a determination device. Then, the information providing apparatus 10 acquires the reference content displayed when the reference terminal executes the predetermined application and the comparison content displayed when the comparison terminal to be compared executes the predetermined application. . Then, the information providing apparatus 10 determines whether or not the similarity between the feature of the reference content and the feature of the comparison content satisfies a predetermined condition.

例えば、情報提供装置10は、アプリケーションが各端末装置200に表示させるコンテンツの同一性を判定する場合、基準端末と比較端末とに同一のサービスを提供するアプリケーション(例えば、同一コードのアプリケーションのみならず、同一のサービスを提供するコードであって、それぞれ異なるOS上で実行されるアプリケーション)をインストールする。続いて、情報提供装置10は、アプリケーションが基準端末に表示させたコンテンツである基準コンテンツと、アプリケーションが比較端末に表示させたコンテンツである比較コンテンツとを取得する。 For example, when an application determines the identity of content displayed on each terminal device 200, the information providing device 10 uses an application (for example, not only an application with the same code but also an application that provides the same service to the reference terminal and the comparison terminal). , code that provides the same service, but applications that run on different OSs). Subsequently, the information providing apparatus 10 acquires the reference content, which is the content displayed on the reference terminal by the application, and the comparison content, which is the content displayed on the comparison terminal by the application.

そして、情報提供装置10は、基準コンテンツと比較コンテンツとの類似性を判定し、類似性が所定の条件を満たす場合に、比較コンテンツとして表示されるコンテンツが正常なコンテンツ、すなわち、利用者に提供された際に基準コンテンツと同じサービスのコンテンツであると判断されうるコンテンツであると判定する。このような処理の結果、情報提供装置10は、例えば、マルチプラットフォームで提供されるサービスを提供するアプリケーションの開発時や、アプリケーションの更新時において、適切なコンテンツが提供されているかを自動的に判定することができ、試験の手間をさらに削減することができる。 Then, the information providing apparatus 10 determines the similarity between the reference content and the comparison content, and if the similarity satisfies a predetermined condition, the content displayed as the comparison content is normal content, that is, is provided to the user. It is determined that the content can be determined to be the content of the same service as the reference content. As a result of such processing, the information providing apparatus 10 automatically determines whether appropriate content is being provided, for example, when developing an application that provides services provided on multiple platforms or when updating an application. can be done, and the labor of the test can be further reduced.

〔2-1.判定処理の流れの一例について〕
以下、図4を用いて、情報提供装置10が実行する判定処理の流れの一例を説明する。図4は、実施形態に係る情報提供装置が実行する判定処理の流れの一例を示す図である。なお、図4に示す処理は、図1に示す試験と平行に行われており、各端末装置200には、試験対象となるアプリケーションがインストール済みであるものとする。また、図4に示す例では、操作者端末300がアプリケーションを情報提供装置10に提供する例について説明するが、例えば、操作者端末300は、実際に端末装置200にインストールされるアプリケーションに加えて、例えば、デザインチームが作成したフルスクリーンアプリのモックアップ、アイコン、デザインガイドラインに含むコンポーネントなど、基準コンテンツとして使用され得る画像ファイルを提供してもよい。
[2-1. About an example of the flow of determination processing]
An example of the flow of determination processing executed by the information providing apparatus 10 will be described below with reference to FIG. FIG. 4 is a diagram illustrating an example of the flow of determination processing executed by the information providing device according to the embodiment. It is assumed that the processing shown in FIG. 4 is performed in parallel with the test shown in FIG. 1, and an application to be tested is already installed in each terminal device 200 . Further, in the example shown in FIG. 4, an example in which the operator terminal 300 provides an application to the information providing apparatus 10 will be described. For example, you may provide image files that can be used as reference content, such as full-screen app mockups created by your design team, icons, and components to include in your design guidelines.

まず、操作者端末300は、基準端末BTに試験対象となるアプリケーションをインストールする(ステップS20)。このような場合、操作者は、基準端末BTにアプリケーションが表示させたコンテンツのスナップショットを基準端末BTで取得する。そして、操作者端末300は、スナップショットを基準コンテンツとして取得する(ステップS21)。 First, the operator terminal 300 installs an application to be tested in the reference terminal BT (step S20). In such a case, the operator acquires, at the reference terminal BT, a snapshot of the content displayed by the application on the reference terminal BT. Then, the operator terminal 300 acquires the snapshot as the reference content (step S21).

続いて、操作者端末300は、取得した基準コンテンツをベースラインとして、所定のクラウドサーバCSに登録する(ステップS22)。そして、操作者端末300は、試験対象となるアプリケーションを情報提供装置10へと提供する(ステップS23)。なお、ステップS23は、図1に示すステップS2と対応する。 Subsequently, the operator terminal 300 registers the acquired reference content as a baseline in a predetermined cloud server CS (step S22). Then, the operator terminal 300 provides the application to be tested to the information providing device 10 (step S23). Note that step S23 corresponds to step S2 shown in FIG.

このような場合、情報提供装置10は、図1に示す各処理(ステップS3~S11)と平行して、判定処理を実行する。例えば、情報提供装置10は、クラウドサーバCSからベースラインを取得する(ステップS24)。そして、情報提供装置10は、図1に示すステップS3~S7を実行し、図4に示すように、適用情報を出力する(ステップS25)。なお、ステップS25は、図1に示すステップS8に対応する。 In such a case, the information providing device 10 executes determination processing in parallel with each processing (steps S3 to S11) shown in FIG. For example, the information providing device 10 acquires the baseline from the cloud server CS (step S24). Then, the information providing apparatus 10 executes steps S3 to S7 shown in FIG. 1, and outputs application information as shown in FIG. 4 (step S25). Note that step S25 corresponds to step S8 shown in FIG.

ここで、情報提供装置10は、適用情報として、アプリケーションが画面上に表示させたコンテンツのスナップショットを比較コンテンツとして取得し、適用結果に含めるように端末装置200を動作させる適用情報を生成する。このような適用情報は、例えば、画面の表示時にスクリーンショットを取得するといった自然言語から、上述した適用処理により適用情報を生成することで実現可能である。例えば、情報提供装置10は、図1に示ステップS6において、試験対象となる端末装置200にスナップショットを取得し、出力させるための操作情報を生成し、ステップS7において、スナップショットを取得し、適用結果として出力させるための適用情報を生成すればよい。 Here, the information providing apparatus 10 acquires, as application information, a snapshot of the content displayed on the screen by the application as comparison content, and generates application information for operating the terminal device 200 so as to include it in the application result. Such application information can be realized, for example, by generating the application information by the application process described above from a natural language such as acquiring a screenshot when the screen is displayed. For example, in step S6 shown in FIG. 1, the information providing device 10 acquires a snapshot in the terminal device 200 to be tested, generates operation information for outputting the snapshot, acquires a snapshot in step S7, It is sufficient to generate application information for outputting as an application result.

そして、情報提供装置10は、適用結果として、各端末装置200が表示した比較コンテンツを取得する(ステップS26)。なお、ステップS26は、図1に示すステップS10に対応する。このように、情報提供装置10は、比較端末が基準端末と同じアプリケーションを実行した際に表示させた比較コンテンツを取得する。 Then, the information providing device 10 acquires the comparison content displayed by each terminal device 200 as the application result (step S26). Note that step S26 corresponds to step S10 shown in FIG. In this way, the information providing apparatus 10 acquires comparison content displayed when the comparison terminal executes the same application as the reference terminal.

続いて、情報提供装置10は、図1に示すステップS11に先駆けて、レポートの作成を行う。この際、情報提供装置10は、基準コンテンツと比較コンテンツとの類似性を判定する判定処理を実行する。例えば、情報提供装置10は、基準コンテンツの外観的及び/又は機能的な特徴と比較コンテンツの外観的及び/又は機能的な特徴とが類似するか否かを判定する(ステップS27)。 Subsequently, the information providing device 10 creates a report prior to step S11 shown in FIG. At this time, the information providing apparatus 10 executes determination processing for determining similarity between the reference content and the comparison content. For example, the information providing apparatus 10 determines whether or not the external and/or functional features of the reference content and the external and/or functional features of the comparison content are similar (step S27).

例えば、図5は、実施形態に係る情報提供装置が実行する判定処理の流れの一例を示すフローチャートである。例えば、情報提供装置10は、判定処理を開始した場合、比較コンテンツと対応するベースライン、すなわち、基準コンテンツが登録されているか否かを判定する(ステップS101)。例えば、情報提供装置10は、比較端末においてアプリケーションが比較コンテンツを表示させたタイミングと同じタイミングで、基準端末においてアプリケーションが表示させた基準コンテンツが登録されているか否かを判定する。ここで、表示させたタイミングとは、例えば、アプリケーションの起動時や、所定の操作を行った際等であり、実際の時刻とは異なるものである。すなわち、情報提供装置10は、同じ構成サービスを提供する際に表示された基準コンテンツと比較コンテンツとを比較対象とする。 For example, FIG. 5 is a flowchart showing an example of the flow of determination processing executed by the information providing device according to the embodiment. For example, when starting the determination process, the information providing apparatus 10 determines whether or not the baseline corresponding to the comparison content, that is, the reference content is registered (step S101). For example, the information providing apparatus 10 determines whether or not the reference content displayed by the application on the reference terminal is registered at the same timing as when the application displays the comparison content on the comparison terminal. Here, the displayed timing is, for example, when an application is started or when a predetermined operation is performed, and is different from the actual time. That is, the information providing apparatus 10 compares the reference content and the comparison content displayed when providing the same constituent service.

続いて、情報提供装置10は、対応するベースラインが登録されている場合は(ステップS101:Yes)、ベースラインから各種の特徴やオブジェクトの情報を抽出する(ステップS102)。例えば、情報提供装置10は、ベースラインとなる基準コンテンツのスクリーンショット全体が有する外観的な特徴を抽出する。なお、かかる処理は、例えば、各種の特徴量抽出技術により採用可能である。また、情報提供装置10は、基準コンテンツに含まれる各オブジェクトの情報を抽出する。例えば、情報提供装置10は、OCR(Optical Character Recognition)技術等で、基準コンテンツに含まれる各テキストの内容、色彩、フォント種別、表示サイズ等を抽出する。 Subsequently, when the corresponding baseline is registered (step S101: Yes), the information providing apparatus 10 extracts various features and object information from the baseline (step S102). For example, the information providing apparatus 10 extracts the appearance features of the entire screenshot of the reference content serving as the baseline. Note that such processing can be employed by, for example, various feature amount extraction techniques. Also, the information providing apparatus 10 extracts information of each object included in the reference content. For example, the information providing apparatus 10 extracts the content, color, font type, display size, and the like of each text included in the reference content using OCR (Optical Character Recognition) technology or the like.

また、情報提供装置10は、各種の画像認識技術を用いて、基準コンテンツに含まれるボタンやテキストボックス等といった各種オブジェクトの情報を抽出する。例えば、情報提供装置10は、どのような外観(色彩や表示サイズ等)のオブジェクトが含まれているか、どのような機能のオブジェクトが含まれているかを抽出する。なお、情報提供装置10は、スナップショットではなく、例えば、アプリケーションに含まれるコードを解析することで、各オブジェクトが有する機能を特定してもよい。 The information providing apparatus 10 also uses various image recognition techniques to extract information on various objects such as buttons and text boxes included in the reference content. For example, the information providing apparatus 10 extracts what kind of appearance (color, display size, etc.) objects are included, and what kind of function objects are included. Note that the information providing apparatus 10 may specify the function of each object by analyzing the code included in the application instead of the snapshot.

さらに、情報提供装置10は、基準コンテンツにおける各オブジェクトの配置位置を取得してもよい。例えば、情報提供装置10は、基準コンテンツにおいてテキストボックスが表示された画面上の位置等を取得してもよい。このように、情報提供装置10は、基準コンテンツ全体としての特徴や、基準コンテンツに含まれる各種オブジェクトの外観的な特徴や機能的な特徴を抽出する。 Furthermore, the information providing apparatus 10 may acquire the arrangement position of each object in the reference content. For example, the information providing apparatus 10 may acquire the position on the screen where the text box is displayed in the reference content. In this way, the information providing apparatus 10 extracts the features of the reference content as a whole and the external features and functional features of various objects included in the reference content.

続いて、情報提供装置10は、比較コンテンツを取得する(ステップS103)。そして、情報提供装置10は、基準コンテンツから各種オブジェクトの外観的な特徴や機能的な特徴を抽出した際と同様に、比較コンテンツから各種の特徴やオブジェクトの情報を抽出する(ステップS104)。そして、情報提供装置10は、各コンテンツから抽出した特徴やオブジェクトの類似性を判定する(ステップS105)。 Subsequently, the information providing device 10 acquires comparison content (step S103). Then, the information providing apparatus 10 extracts various features and object information from the comparative content in the same manner as when extracting the external features and functional features of various objects from the reference content (step S104). Then, the information providing apparatus 10 determines similarity between features and objects extracted from each content (step S105).

情報提供装置10は、基準コンテンツの外観が有する特徴と、比較コンテンツが有する外観の特徴との類似性が所定の条件を満たすか否かを判定する。より具体的な例を挙げると、情報提供装置10は、基準コンテンツの特徴量と比較コンテンツの特徴量との類似度を算出してもよい。 The information providing apparatus 10 determines whether or not the similarity between the appearance features of the reference content and the appearance features of the comparison content satisfies a predetermined condition. As a more specific example, the information providing apparatus 10 may calculate the degree of similarity between the feature amount of the reference content and the feature amount of the comparison content.

また、情報提供装置10は、基準コンテンツおよび比較コンテンツ内に配置されたテキストやボタンなどといった各種オブジェクトの色彩、大きさ、配置位置を外観的な特徴として取得する。また、情報提供装置10は、テキストが示す文字情報の一致度や外観的な特徴量、各種コンテンツの外観的な特徴の類似度を算出する。また、情報提供装置10は、各種オブジェクトの機能が同一であるか否かに応じた類似度を算出してもよい。 Further, the information providing apparatus 10 acquires the color, size, and arrangement position of various objects such as texts and buttons arranged in the reference content and the comparison content as appearance features. In addition, the information providing apparatus 10 calculates the matching degree of character information indicated by the text, the appearance feature quantity, and the similarity of the appearance features of various contents. Further, the information providing apparatus 10 may calculate the degree of similarity according to whether or not the functions of various objects are the same.

そして、情報提供装置10は、類似性が所定の条件を満たすか否かを判定する(ステップS106)。例えば、情報提供装置10は、算出した類似度が所定の閾値を超えるか否かを判定する。そして、情報提供装置10は、類似性が所定の条件を満たす場合(ステップS106:Yes)、すなわち、利用者が各コンテンツを同一の構成サービスを提供するコンテンツであると認識可能であると推定されうる場合は、比較コンテンツが基準コンテンツである旨を登録する(ステップS107)。一方、情報提供装置10は、類似性が所定の条件を満たさない場合(ステップS106:No)、すなわち、利用者が各コンテンツを同一の構成サービスを提供するコンテンツであると認識できないと推定されうる場合は、比較コンテンツが基準コンテンツである旨を登録する(ステップS108)。 The information providing device 10 then determines whether or not the similarity satisfies a predetermined condition (step S106). For example, the information providing apparatus 10 determines whether the calculated similarity exceeds a predetermined threshold. Then, when the similarity satisfies a predetermined condition (step S106: Yes), the information providing apparatus 10 presumes that the user can recognize each content as content providing the same constituent service. If yes, it registers that the comparison content is the reference content (step S107). On the other hand, if the similarity does not satisfy the predetermined condition (step S106: No), the information providing apparatus 10 can presume that the user cannot recognize each content as content that provides the same constituent service. If so, it registers that the comparison content is the reference content (step S108).

なお、情報提供装置10は、対応するベースラインが登録されていない場合は(ステップS101)、ベースラインの登録処理を行う(ステップS109)。例えば、情報提供装置10は、各端末装置200のうち、いずれかの端末装置200が取得した比較コンテンツをベースラインとし、他の端末装置200が取得した比較コンテンツとベースラインとの比較を実現してもよい。なお、情報提供装置10は、例えば、操作者にベースラインの登録を促してもよい。 If the corresponding baseline is not registered (step S101), the information providing apparatus 10 performs baseline registration processing (step S109). For example, the information providing apparatus 10 uses the comparison content acquired by one of the terminal devices 200 among the terminal devices 200 as the baseline, and compares the comparison content acquired by the other terminal devices 200 with the baseline. may Note that the information providing apparatus 10 may prompt the operator to register the baseline, for example.

ここで、図6を用いて、情報提供装置10が基準コンテンツと比較コンテンツとを比較する処理の一例について説明する。図6は、各コンテンツを比較する処理の一例を示す図である。なお、図6に示す例では、アプリケーションが表示させるコンテンツであって、サービスの提供を受けるために、ログインの構成サービスを提供するコンテンツの比較を行う例について示した。 Here, an example of processing in which the information providing apparatus 10 compares the reference content and the comparison content will be described with reference to FIG. FIG. 6 is a diagram showing an example of processing for comparing each content. In the example shown in FIG. 6, an example is shown in which, among the contents displayed by the application, comparison is made between the contents that provide the login configuration service in order to receive the provision of the service.

例えば、図6に示す基準コンテンツBCには、サービスを示すロゴ、バナー、「携帯電話番号」「パスワード」といったテキストが配置されたテキストボックス、各種の利用規約、「上記に同意して新規登録」といった文字が配置されたボタン、「外部のアカウントで新規登録」といったテキスト、各外部アカウントを用いてログインを実現するためのボタン等が配置されている。また、図6に示す比較コンテンツCCには、基準コンテンツBCと同様のオブジェクトが配置されているものの、例えば、基準コンテンツBCに含まれるコンテンツのうち、携帯電話番号やパスワードを入力するテキストボックスの上部に配置されたバナーの表示がないものとする。 For example, the reference content BC shown in FIG. 6 includes a logo indicating a service, a banner, text boxes in which texts such as "mobile phone number" and "password" are arranged, various terms of use, and "new registration after agreeing to the above". , text such as "new registration with an external account", buttons for logging in using each external account, and the like. Also, in the comparison content CC shown in FIG. 6, although objects similar to those of the reference content BC are arranged, for example, among the contents included in the reference content BC, the upper part of the text box for entering the mobile phone number and password There shall be no display of banners placed on

このような場合、情報提供装置10は、各種OCRの技術を用いて、基準コンテンツBCと比較コンテンツCCとから、テキストをそれぞれ抽出する。そして、情報提供装置10は、基準コンテンツBCから抽出したテキストと、比較コンテンツCCから抽出したテキストとの外観等が一致するか否かを判定する。また、情報提供装置10は、バナーやテキストボックス等といった各種コンテンツの有無や類似性を判定する。例えば、図6に示す例では、基準コンテンツBCに含まれる各種のオブジェクトのうち、携帯電話番号やパスワードを入力するテキストボックスの上部に配置されたバナーが比較コンテンツCCに含まれていない。このため、情報提供装置10は、携帯電話番号やパスワードを入力するテキストボックスの上部に配置されたバナーを差分DFとして抽出し、差分DFとなるバナーの有無や、その他テキストの同一性量等に基づいて、各コンテンツの類似性を判定する。 In such a case, the information providing apparatus 10 uses various OCR techniques to extract text from the reference content BC and the comparison content CC. Then, the information providing apparatus 10 determines whether or not the text extracted from the reference content BC and the text extracted from the comparison content CC match in appearance. In addition, the information providing apparatus 10 determines the presence or absence of various contents such as banners and text boxes and similarity. For example, in the example shown in FIG. 6, among the various objects included in the reference content BC, the comparison content CC does not include the banner placed above the text box for entering the mobile phone number and password. For this reason, the information providing apparatus 10 extracts the banner placed above the text box for entering the mobile phone number and password as the difference DF, and determines the presence or absence of the banner as the difference DF and the amount of text identity. Based on this, the similarity of each content is determined.

図4に戻り、説明を続ける。情報提供装置10は、判定結果に応じたレポートを提供する(ステップS28)。なお、ステップS28は、図1に示すステップS11に対応する。例えば、情報提供装置10は、各コンテンツの外観的な特徴が基準コンテンツと比較コンテンツとして類似したか否か、類似度が所定の閾値を超えたか否か、もしくは類似度そのものを示すレポート等を提供する。このような処理の結果、情報提供装置10は、試験対象となるアプリケーションが、各端末装置200において、想定通りの見え方をするコンテンツを提供しているか否か、換言すると、利用者が各端末装置200を利用した際に同一のサービスに係るコンテンツであると認識可能なコンテンツを提供するか否かを判定することができる。 Returning to FIG. 4, the description is continued. The information providing device 10 provides a report according to the determination result (step S28). Note that step S28 corresponds to step S11 shown in FIG. For example, the information providing apparatus 10 provides a report or the like indicating whether the external features of each content are similar to the reference content as the comparison content, whether the degree of similarity exceeds a predetermined threshold, or the degree of similarity itself. do. As a result of such processing, the information providing apparatus 10 determines whether or not the application to be tested provides content that looks as expected on each terminal device 200. When using the device 200, it is possible to determine whether or not to provide content that can be recognized as content related to the same service.

〔2-2.比較内容について〕
上述したように、情報提供装置10は、基準コンテンツと比較コンテンツとの類似性を判定する。この際、情報提供装置10は、各コンテンツの外観的な特徴及び/又は、各コンテンツに配置されたオブジェクトの機能的な類似性を判定する。以下、情報提供装置10が類似性を判定する対象の一例について説明する。
[2-2. About comparison content]
As described above, the information providing device 10 determines the similarity between the reference content and the comparison content. At this time, the information providing apparatus 10 determines the external features of each content and/or the functional similarity of objects arranged in each content. An example of a target for similarity determination by the information providing apparatus 10 will be described below.

例えば、情報提供装置10は、各コンテンツ内に配置された各種のマークや画像をオブジェクトとして抽出し、抽出したマークや画像の外観的な特徴の類似性に基づいて、スコアの算出を行ってもよい。例えば、情報提供装置10は、各マークや画像の色彩や表示サイズ等といった外観の類似性に基づいて、スコアの算出を行ってもよい。 For example, the information providing apparatus 10 may extract various marks and images arranged in each content as objects, and calculate a score based on the similarity of the external features of the extracted marks and images. good. For example, the information providing apparatus 10 may calculate the score based on the similarity in appearance such as the color and display size of each mark or image.

また、情報提供装置10は、各コンテンツ内に表示させた文字をオブジェクトとして抽出してもよい。ここで、情報提供装置10は、スクリーンショットとなる各コンテンツからOCRの技術を用いて文字を抽出してもよく、アプリケーションのコードから、どのような文字が表示されたかを特定してもよい。そして、情報提供装置10は、各コンテンツにおける文字の文字色、表示サイズ、フォント等といった外観的な特徴の類似性に基づいて、スコアの算出を行ってもよい。また、情報提供装置10は、文字列の同一性に基づいたスコアの算出を行ってもよい。また、情報提供装置10は、基準コンテンツと比較コンテンツとで異なる言語が選択されている場合、文字列が示す意図の類似性に基づいたスコアを算出してもよい。 Further, the information providing apparatus 10 may extract characters displayed in each content as objects. Here, the information providing apparatus 10 may extract characters from each content serving as a screen shot using OCR technology, or may specify what characters are displayed from the application code. Then, the information providing apparatus 10 may calculate a score based on the similarity of appearance features such as character color, display size, font, etc. of each content. Further, the information providing apparatus 10 may calculate a score based on the identity of character strings. Further, when different languages are selected for the reference content and the comparison content, the information providing apparatus 10 may calculate a score based on the similarity of intention indicated by the character strings.

また、情報提供装置10は、各コンテンツ内に配置されたオブジェクトのうち、ボタンやテキストボックス等といった操作時において各種機能を発揮する機能オブジェクトの外観の類似性に基づいたスコアを算出してもよい。例えば、各コンテンツ内には、テキストや画像等といった利用者の操作が行われた際に機能を発揮しないオブジェクト(換言すると、操作に対して静的なオブジェクト)と、ボタンやテキストボックス等、利用者が選択した際に、他のコンテンツを表示したり、テキストの入力を受け付けたりといった所定の機能を発揮するオブジェクト(換言すると、操作に対して動的なオブジェクト)とが含まれる場合がある。そこで、情報提供装置10は、このような利用者が選択した際に各種機能を発揮するオブジェクトを機能オブジェクトとして特定し、特定した機能オブジェクトの有無、機能的な類似性、もしくは/および外観的な類似性に基づいて、各コンテンツの類似性を判定する。すなわち、情報提供装置10は、静的なオブジェクトについては、そのオブジェクトの外観やオブジェクトが示す情報(例えば文字列や画像が無い方する意味)の類似性を判定し、動的なオブジェクトについては、オブジェクトの外観のみならず、そのオブジェクトが発揮する機能の類似性等に基づいて、各コンテンツの類似性を判定する。 Further, the information providing apparatus 10 may calculate a score based on the similarity in appearance of functional objects, such as buttons and text boxes, that perform various functions when operated, among the objects arranged in each content. . For example, in each content, there are objects such as text and images that do not exhibit their functions when the user operates (in other words, objects that are static with respect to operations), buttons, text boxes, etc. Objects that, when selected by the user, perform predetermined functions such as displaying other content or accepting text input (in other words, objects that are dynamic with respect to operation) may be included. Therefore, the information providing apparatus 10 identifies such objects that perform various functions when selected by the user as functional objects, and determines the presence or absence of the identified functional objects, functional similarity, and/or external appearance. The similarity of each content is determined based on the similarity. That is, for static objects, the information providing apparatus 10 determines the similarity between the appearance of the object and the information indicated by the object (for example, the meaning of characters without an image), and for dynamic objects, The similarity of each content is determined based not only on the appearance of the object but also on the similarity of the functions exhibited by the object.

例えば、情報提供装置10は、外観やコード等から同一であると推定される機能オブジェクト同士を各コンテンツから特定し、機能オブジェクト同士について、ピクセル単位での比較を行ってもよく、外観の特徴量の類似性に応じたスコアを算出してもよい。すなわち、情報提供装置10は、テキスト等のオブジェクトのみならず、何かしらの機能を発揮する機能オブジェクトの外観的な類似性に基づくスコアを算出してもよい。 For example, the information providing apparatus 10 may identify functional objects that are presumed to be the same from each content, such as appearance and code, and perform pixel-by-pixel comparison of the functional objects. You may calculate the score according to the similarity of . That is, the information providing apparatus 10 may calculate a score based on the external similarity of not only objects such as text but also functional objects that perform some function.

なお、情報提供装置10は、同一のオブジェクトの存非を確認し、各オブジェクトの機能の類似性を確認し、その後、ピクセル単位での比較を行うといった段階的な比較結果に応じたスコアを算出してもよい。このような処理を実行する場合、情報提供装置10は、例えば、同一のオブジェクト(機能オブジェクトのみならず、他のオブジェクトを含んでもよい)が存在しない場合は、ピクセル単位の比較等、後段の処理を行わずともよい。一方、情報提供装置10は、同一のオブジェクトが存在する場合、同一であると推定されたオブジェクト同士のみについて、ピクセル単位の比較の結果を行えばよい。すなわち、情報提供装置10は、画面全体についてピクセル単位の比較を行わずともよく、処理負荷を削減し、効率性の向上や処理時間の軽減を図ってもよい。 Note that the information providing apparatus 10 confirms the presence or absence of the same object, confirms the similarity of the functions of each object, and then calculates a score according to the step-by-step comparison result of performing pixel-by-pixel comparison. You may When executing such processing, for example, if the same object (not only a functional object but also other objects may be included) does not exist, the information providing apparatus 10 performs subsequent processing such as pixel-by-pixel comparison. may not be performed. On the other hand, when the same object exists, the information providing apparatus 10 may compare the result of pixel-by-pixel comparison only for the objects that are estimated to be the same. That is, the information providing apparatus 10 does not need to perform pixel-by-pixel comparison for the entire screen, and may reduce the processing load, improve efficiency, and reduce processing time.

また、情報提供装置10は、基準コンテンツ内に配置された機能オブジェクトと、比較コンテンツ内に配置された機能オブジェクトとの類似性が所定の条件を満たすか否かを判定してもよい。すなわち、情報提供装置10は、各コンテンツの機能が有する特徴の類似性に基づくスコアを算出してもよい。例えば、情報提供装置10は、各コンテンツに含まれる機能コンテンツが発揮する機能の類似性に応じたスコアを算出してもよい。 Further, the information providing apparatus 10 may determine whether or not the similarity between the functional object arranged in the reference content and the functional object arranged in the comparative content satisfies a predetermined condition. That is, the information providing apparatus 10 may calculate a score based on the similarity of the features of the functions of each content. For example, the information providing apparatus 10 may calculate a score according to the similarity of functions exhibited by functional content included in each content.

例えば、情報提供装置10は、基準コンテンツ内に配置された機能オブジェクトの種別と、比較コンテンツ内に配置された機能オブジェクトの種別との類似性に応じたスコアを算出してもよい。より具体的には、情報提供装置10は、同一の機能を発揮する機能オブジェクトが各コンテンツに含まれる場合は、より高い類似性を示すスコアを算出してもよい。つまり、情報提供装置10は、各コンテンツにおける機能オブジェクトが発揮する機能が類似すればするほど、より高い値のスコアを算出してもよい。 For example, the information providing apparatus 10 may calculate a score according to the similarity between the type of functional object placed in the reference content and the type of functional object placed in the comparison content. More specifically, the information providing apparatus 10 may calculate a score indicating higher similarity when functional objects that exhibit the same function are included in each content. In other words, the information providing apparatus 10 may calculate a higher score as the functions exhibited by the functional objects in each content are more similar.

また、情報提供装置10は、各オブジェクトが配置された位置の類似性に基づいたスコアを算出してもよい。例えば、情報提供装置10は、各テキストや機能オブジェクトの配置位置(例えば、コンテンツの原点となる左上のピクセルを基準とした座標)を特定し、特定した配置位置の類似性に基づくスコアを算出してもよい。 The information providing device 10 may also calculate a score based on the similarity of the positions where each object is arranged. For example, the information providing apparatus 10 identifies the arrangement position of each text or functional object (for example, coordinates based on the upper left pixel that is the origin of the content), and calculates a score based on the similarity of the identified arrangement position. may

また、情報提供装置10は、基準コンテンツ内に配置された複数のオブジェクトの相対的な配置位置と、比較コンテンツ内に配置された複数のオブジェクトの相対的なオブジェクトの配置位置との類似性が所定の条件を満たすか否かを判定してもよい。例えば、情報提供装置10は、基準コンテンツ内におけるテキストとテキストボックスとの相対的な位置関係(例えば、縦方向に並んでいるか、横方向に並んでいるか等)、テキストボックス同士の相対的な位置関係、ボタンと他のオブジェクトとの位置関係等、各種オブジェクトが相対的にどのような位置関係にあるかを特定する。同様に、情報提供装置10は、比較コンテンツ内における各種オブジェクトの相対的な位置関係を特定する。 Further, the information providing apparatus 10 determines the similarity between the relative placement positions of the plurality of objects placed in the reference content and the relative placement positions of the plurality of objects placed in the comparison content. It may be determined whether or not the conditions of are satisfied. For example, the information providing apparatus 10 determines the relative positional relationship between text and textboxes in the reference content (for example, whether they are aligned vertically or horizontally), the relative positions of the textboxes, and so on. The relative positional relationship of various objects, such as relationship, positional relationship between buttons and other objects, etc., is specified. Similarly, the information providing apparatus 10 identifies relative positional relationships of various objects within the comparison content.

そして、情報提供装置10は、各コンテンツにおけるオブジェクト同士の相対的な位置関係の類似性に基づくスコアを算出する。例えば、情報提供装置10は、各コンテンツにおいて、所定のテキストと所定のテキストボックスとが縦方向に並んでいる場合は、より高い類似性を示すスコアを算出する。一方、情報提供装置10は、基準コンテンツにおいて、所定のテキストと所定のテキストボックスとが縦方向に並んでいるが、比較コンテンツにおいて、所定のテキストと所定のテキストボックスとが横方向に並んでいる場合は、より低い類似性を示すスコアを算出する。なお、情報提供装置10は、あらかじめ定められた任意のオブジェクトの組について、相対的な位置関係を特定し、特定した位置関係の類似性を判定すればよい。 Then, the information providing apparatus 10 calculates a score based on the similarity of the relative positional relationship between the objects in each content. For example, the information providing apparatus 10 calculates a score indicating higher similarity when a predetermined text and a predetermined text box are arranged vertically in each content. On the other hand, in the information providing apparatus 10, the predetermined text and the predetermined text box are arranged vertically in the reference content, but the predetermined text and the predetermined text box are arranged horizontally in the comparison content. If so, calculate the score that indicates the lower similarity. Note that the information providing apparatus 10 may specify the relative positional relationship for a predetermined set of arbitrary objects, and determine the similarity of the specified positional relationship.

また、情報提供装置10は、基準コンテンツ内に複数のオブジェクトが配置されている順序と、比較コンテンツ内に複数のオブジェクトが配置されている順序との類似性が所定の条件を満たすか否かを判定してもよい。例えば、情報提供装置10は、基準コンテンツ内に各オブジェクトが配置されている順序を特定するとともに、比較オブジェクト内に各オブジェクトが配置されている順序を特定する。例えば、情報提供装置10は、所定のテキスト、所定のテキストボックス、およびボタンがコンテンツの上部からどの順序で表示されたかを特定する。そして、情報提供装置10は、特定した順序の類似性が高い程、より高い値のスコアを算出してもよい。 Further, the information providing apparatus 10 determines whether or not the similarity between the order in which the plurality of objects are arranged in the reference content and the order in which the plurality of objects are arranged in the comparison content satisfies a predetermined condition. You can judge. For example, the information providing apparatus 10 identifies the order in which each object is arranged in the reference content and also identifies the order in which each object is arranged in the comparison object. For example, the information providing apparatus 10 identifies the order in which the predetermined text, predetermined text boxes, and buttons are displayed from the top of the content. Then, the information providing apparatus 10 may calculate a score with a higher value as the similarity of the specified order is higher.

また、情報提供装置10は、各オブジェクトの有無に基づく類似性を判定してもよい。例えば、情報提供装置10は、各コンテンツに共通するオブジェクト(例えば、外観が一致するもしくは類似性が所定の閾値を超えるオブジェクトや、同一のコードにより表示されていると推定されるオブジェクト、同一の機能を発揮すると推定されるオブジェクト)が含まれているかを判定する。そして、情報提供装置10は、各コンテンツに共通するオブジェクトが含まれている場合は、より高い類似性を示すスコアを算出し、含まれていない場合は、より低い類似性を示すスコアを算出してもよい。 Further, the information providing apparatus 10 may determine similarity based on the presence or absence of each object. For example, the information providing apparatus 10 may identify objects common to each content (for example, objects that match in appearance or whose similarity exceeds a predetermined threshold, objects that are presumed to be displayed by the same code, objects that have the same function object) is included. Then, the information providing apparatus 10 calculates a score indicating higher similarity when an object common to each content is included, and calculates a score indicating lower similarity when it is not included. may

また、情報提供装置10は、各コンテンツの属性が有する特徴の類似性に基づくスコアを算出してもよい。例えば、情報提供装置10は、各コンテンツに音声や動画像が含まれているか否か等を判定し、判定結果に応じたスコアを算出してもよい。 Further, the information providing apparatus 10 may calculate a score based on the similarity of the features of the attributes of each content. For example, the information providing apparatus 10 may determine whether or not each content includes audio or moving images, and calculate a score according to the determination result.

なお、情報提供装置10は、上述した各種スコアの算出基準のうち、一部もしくはすべての算出基準に基づいて、複数のスコアを算出し、算出したスコアの合計値を、最終的なスコアとしてもよい。また、情報提供装置10は、算出基準ごとに異なる重みを設定し、スコアの合計値を算出してもよい。そして、情報提供装置10は、スコアの合計値が所定の閾値を超えるか否かに基づいて、基準コンテンツと比較コンテンツとが類似するか否か、換言すると、各コンテンツの類似性が所定の条件を満たすか否かを判定する。 Note that the information providing apparatus 10 may calculate a plurality of scores based on some or all of the above-described score calculation standards, and use the total value of the calculated scores as the final score. good. Further, the information providing apparatus 10 may set a different weight for each calculation criterion and calculate the total value of the scores. Then, the information providing apparatus 10 determines whether or not the reference content and the comparison content are similar based on whether or not the total value of the scores exceeds a predetermined threshold. It is determined whether or not the condition is satisfied.

なお、情報提供装置10は、スコアの算出を行わず、一致点や相違点の数に基づいて、各コンテンツの類似性が所定の条件を満たすか否かを判定してもよい。また、情報提供装置10は、各種算出基準のうち、所定の条件を満たす基準の数を計数し、計数した数が所定の閾値を超えているかに応じて、類似性の判定を行ってもよい。 Note that the information providing apparatus 10 may determine whether or not the similarity of each content satisfies a predetermined condition based on the number of matching points and different points without calculating the score. Further, the information providing apparatus 10 may count the number of criteria satisfying a predetermined condition among various calculation criteria, and determine similarity depending on whether the counted number exceeds a predetermined threshold. .

〔2-3.モデルの利用について〕
上述したように、情報提供装置10は、各コンテンツ同士の外観的な類似性や、オブジェクトの類似性等に応じて、各コンテンツの類似性を判定する。この際、情報提供装置10は、利用者が同一の構成サービスを提供するコンテンツであると判定するか否かを学習したモデルを用いて、各コンテンツの類似性を判定してもよい。
[2-3. About the use of the model]
As described above, the information providing apparatus 10 determines the similarity of each content according to the similarity of appearance between the respective contents, the similarity of objects, and the like. At this time, the information providing apparatus 10 may determine the similarity of each content using a model that has learned whether or not the user determines that the content provides the same constituent service.

例えば、情報提供装置10は、基準コンテンツに含まれる各オブジェクトの外観や配置位置をランダムに変更した変更コンテンツを生成する。また、情報提供装置10は、変更コンテンツと基準コンテンツとを利用者に提供し、各コンテンツが同一もしくは類似するコンテンツであるか否かの問い合わせ、すなわち、コンテンツの組のラベルの問い合わせを行う。なお、かかるラベルの問い合わせは、例えば、クラウドソージング等により実現されてもよい。そして、情報提供装置10は、DNN(Deep Neural Netrowk)等のモデルに対し、基準コンテンツと変更コンテンツとのスクリーンショットやコードを入力した際に、類似するか否かといったラベルを出力するように、モデルの学習を行う。 For example, the information providing apparatus 10 generates changed content by randomly changing the appearance and arrangement position of each object included in the reference content. Further, the information providing apparatus 10 provides the changed content and the reference content to the user, and inquires whether each content is the same or similar content, that is, inquires about the label of the set of content. Inquiries about such labels may be realized by, for example, crowdsourcing. Then, the information providing apparatus 10 outputs a label indicating whether or not the content is similar to a model such as a DNN (Deep Neural Network) when screenshots or codes of the reference content and the change content are input. Train the model.

そして、情報提供装置10は、試験時において、基準コンテンツと比較コンテンツを上述したモデルに入力し、類似するか否かの判定を実現してもよい。このように、情報提供装置10は、各コンテンツの外観や機能の類似性をルールベースで判定してもよく、モデルを用いて直接的に判定してもよい。 Then, the information providing apparatus 10 may input the reference content and the comparison content into the above-described model during the test, and implement determination of whether or not they are similar. In this way, the information providing apparatus 10 may determine the similarity of the appearance and functions of each content based on a rule, or directly using a model.

〔2-4.比較対象となるコンテンツの範囲について〕
ここで、情報提供装置10は、基準コンテンツおよび比較コンテンツとして、スクリーンショットの比較を行った。しかしながら、基準端末や比較端末の画面サイズによっては、コンテンツの全体が一度に表示されないといった恐れがある。この結果、単一のコンテンツ同士を比較した場合、基準コンテンツと比較コンテンツとが同じオブジェクトを含んでいるにも関わらず、類似性が低いと判定する恐れがある。
[2-4. Regarding the range of content to be compared]
Here, the information providing apparatus 10 compared screen shots as the reference content and the comparison content. However, depending on the screen size of the reference terminal or the comparison terminal, there is a possibility that the entire content may not be displayed at once. As a result, when single contents are compared, it may be determined that the similarity is low even though the reference contents and the comparison contents include the same object.

そこで、情報提供装置10は、任意の数の基準コンテンツと比較コンテンツとの類似性を比較してよい。例えば、情報提供装置10は、基準端末が基準コンテンツを表示させた際の複数スクリーンショットと、比較端末が前記比較コンテンツを表示させた際の複数のスクリーンショットとを取得し、それぞれの比較結果に基づいて、各コンテンツの類似性を判定してもよい。また、情報提供装置10は、基準端末におけるスクリーンショットと、比較端末におけるスクリーンショットであって、基準端末におけるスクリーンショットとは異なる数のスクリーンショットとを取得し、それぞれの比較結果に基づいて、各コンテンツの類似性を判定してもよい。 Therefore, the information providing apparatus 10 may compare the similarity between any number of reference contents and comparison contents. For example, the information providing apparatus 10 acquires a plurality of screen shots when the reference terminal displays the reference content and a plurality of screen shots when the comparison terminal displays the comparison content. Based on this, the similarity of each content may be determined. Further, the information providing apparatus 10 acquires screenshots of the reference terminal and screenshots of the comparison terminal, the number of which is different from that of the screenshots of the reference terminal, and based on the respective comparison results, each Content similarity may be determined.

例えば、情報提供装置10は、基準端末BTにアプリケーションがコンテンツを表示させる際、表示対象となるコンテンツの一部のみが表示されている場合は、コンテンツの全体が撮影されるように、複数のスクリーンショットを撮影させ、これら複数のスクリーンショットを基準コンテンツとする。同様に、情報提供装置10は、端末装置200にアプリケーションがコンテンツを表示させる際、表示対象となるコンテンツの一部のみが表示されている場合は、コンテンツの全体が撮影されるように、複数のスクリーンショットを撮影させ、これら複数のスクリーンショットを比較コンテンツとする。 For example, when an application causes content to be displayed on the reference terminal BT, if only part of the content to be displayed is being displayed, the information providing device 10 may display the entire content on multiple screens. Let the shots be taken, and take these multiple screenshots as the reference content. Similarly, when an application causes content to be displayed on the terminal device 200, if only part of the content to be displayed is being displayed, the information providing device 10 displays a plurality of images so that the entire content is captured. Screen shots are taken, and these multiple screen shots are used as comparison content.

そして、情報提供装置10は、基準コンテンツと比較コンテンツとのそれぞれを比較することで、基準コンテンツ全体と比較コンテンツ全体との類似性を判定してもよい。ここで、情報提供装置10は、基準コンテンツとなる1つのスクリーンショットと、比較コンテンツとなるスクリーンショットのうちいずれか1つのスクリーンショットとの比較を行うというように、一対一対応で比較を行ってもよく、例えば、基準コンテンツとなる1つのスクリーンショットと、比較コンテンツとなる複数のスクリーンショットというように、一対多対応で、比較を行ってもよい。また、情報提供装置10は、各スクリーンショットの類似性を総当りで判定し、各判定結果に基づいて、基準コンテンツ全体と比較コンテンツ全体との類似性を判定してもよい。 Then, the information providing apparatus 10 may determine the similarity between the reference content as a whole and the comparison content as a whole by comparing the reference content and the comparison content. Here, the information providing apparatus 10 performs a one-to-one comparison, such as comparing one screenshot as reference content with one of the screenshots as comparison content. Alternatively, comparison may be made in a one-to-many correspondence, such as one screenshot as reference content and a plurality of screenshots as comparison content. Further, the information providing apparatus 10 may determine the similarity of each screen shot in a round-robin manner, and based on each determination result, determine the similarity between the reference content as a whole and the comparison content as a whole.

また、情報提供装置10は、基準端末BTがコンテンツ全体を表示し、端末装置200がコンテンツの一部のみを表示させる場合、基準コンテンツとなる1つのスクリーンショットと、比較コンテンツとなる複数のスクリーンショットとを比較し、基準コンテンツ全体と比較コンテンツ全体との類似性を判定してもよい。また、情報提供装置10は、基準端末BTがコンテンツの一部を表示し、端末装置200がコンテンツの全体を表示させる場合、基準コンテンツとなる複数のスクリーンショットと、比較コンテンツとなる1つのスクリーンショットとを比較し、基準コンテンツ全体と比較コンテンツ全体との類似性を判定してもよい。 Further, when the reference terminal BT displays the entire content and the terminal device 200 displays only a part of the content, the information providing apparatus 10 displays one screen shot as the reference content and a plurality of screen shots as the comparison content. may be compared to determine similarity between the overall reference content and the overall comparison content. Further, when the reference terminal BT displays a part of the content and the terminal device 200 displays the entire content, the information providing apparatus 10 displays a plurality of screen shots as the reference content and one screen shot as the comparison content. may be compared to determine similarity between the overall reference content and the overall comparison content.

〔2-5.適用対象について〕
上述した例では、情報提供装置10は、同じサービスを提供するアプリケーションが、基準端末BTと端末装置200とに表示させた各コンテンツの類似性を判定した。ここで、情報提供装置10は、同一のコードにより構成されるアプリケーションが表示させる各コンテンツの類似性を判定してもよく、異なるコードにより構成されるアプリケーションが表示させる各コンテンツの類似性を判定してもよい。
[2-5. Applicable target]
In the example described above, the information providing device 10 determined the similarity of each content displayed on the reference terminal BT and the terminal device 200 by the application providing the same service. Here, the information providing apparatus 10 may determine the similarity of each content displayed by an application configured with the same code, or determine the similarity of each content displayed by an application configured with different codes. may

例えば、基準端末BTと比較端末とが同じOSを実行する場合、情報提供装置10は、それぞれに同一のコードにより構成されるアプリケーションをインストールし、かかるアプリケーションが各端末装置に表示させたコンテンツの類似性を判定してもよい。一方、基準端末BTと比較端末とが異なるOSを実行する場合、情報提供装置10は、それぞれ異なるコードにより構成されるアプリケーションであって、同一のサービスをそれぞれ異なるOS上で提供するためのアプリケーションを対応する端末にインストールする。そして、情報提供装置10は、各端末が表示させたコンテンツの類似性を判定してもよい。 For example, when the reference terminal BT and the comparison terminal run the same OS, the information providing device 10 installs an application composed of the same code on each, and the application causes the content displayed on each terminal to resemble each other. Gender may be determined. On the other hand, when the reference terminal BT and the comparison terminal run different OSs, the information providing apparatus 10 may use applications configured with different codes to provide the same service on different OSs. Install on compatible devices. Then, the information providing apparatus 10 may determine the similarity of the content displayed by each terminal.

また、情報提供装置10は、判定結果に基づいて、基準端末が実行したアプリケーションと比較端末が実行したアプリケーションとの関係性を示す情報を利用者に通知してもよい。例えば、情報提供装置10は、基準端末が表示させたコンテンツと比較端末が表示させたコンテンツとの類似性が所定の条件を満たす場合は、各アプリケーションが同一のサービスを提供すると利用者が認識可能なアプリケーションであると判定してもよい。なお、このような処理を行う際、情報提供装置10は、アプリケーションが表示する各コンテンツごとに、上述した判定処理を実行し、類似性が所定の条件を満たすコンテンツの割合が所定の条件を満たす場合に、各アプリケーションが同一のサービスを提供すると利用者が認識可能なアプリケーションであると判定してもよい。 Further, the information providing apparatus 10 may notify the user of information indicating the relationship between the application executed by the reference terminal and the application executed by the comparison terminal based on the determination result. For example, when the similarity between the content displayed by the reference terminal and the content displayed by the comparison terminal satisfies a predetermined condition, the information providing apparatus 10 allows the user to recognize that each application provides the same service. may be determined to be a valid application. Note that when performing such processing, the information providing apparatus 10 executes the above-described determination processing for each content displayed by the application, and the proportion of content satisfying the predetermined condition for similarity satisfies the predetermined condition. In this case, it may be determined that each application provides the same service as an application that can be recognized by the user.

また、情報提供装置10は、類似性が所定の条件を満たさないと判定されたコンテンツについての情報を操作者に提供してもよい。このような情報を提供した場合、操作者は、アプリケーションの開発や更新においてどのコンテンツを修正しなければならないかを容易に認識することができる。 Further, the information providing apparatus 10 may provide the operator with information about the content whose similarity has been determined not to satisfy a predetermined condition. If such information is provided, the operator can easily recognize which content should be modified in developing or updating the application.

また、情報提供装置10は、あるアプリケーションが提供するサービスのロバスト性を判定してもよい。例えば、情報提供装置10は、アプリケーションが表示する各コンテンツごとに、上述した判定処理を実行し、類似性が所定の条件を満たすコンテンツの割合が所定の条件を満たす場合に、そのアプリケーションのロバスト性が所定の条件を満たすと判定し、類似性が所定の条件を満たすコンテンツの割合が所定の条件を満たさない場合に、そのアプリケーションのロバスト性が所定の条件を満たさないと判定してもよい。また、情報提供装置10は、このようなロバスト性の判定結果を操作者に通知してもよい。 The information providing apparatus 10 may also determine the robustness of services provided by certain applications. For example, the information providing apparatus 10 executes the determination process described above for each content displayed by an application, and if the proportion of content that satisfies a predetermined similarity condition satisfies the predetermined condition, the robustness of the application. satisfies a predetermined condition, and if the percentage of content whose similarity satisfies the predetermined condition does not satisfy the predetermined condition, it may be determined that the robustness of the application does not satisfy the predetermined condition. Further, the information providing apparatus 10 may notify the operator of such robustness determination results.

また、情報提供装置10は、各コンテンツの類似性の判定結果を用いて、不正なアプリケーションの判定を行ってもよい。例えば、情報提供装置10は、同種の端末装置を基準端末および比較端末として準備し、正当なアプリケーションを基準端末に、判定対象となるアプリケーションを比較端末にインストールする。なお、判定対象となるアプリケーションは、ブラウザ上で動作するウェブアプリであってもよい。 Further, the information providing apparatus 10 may determine unauthorized applications using the similarity determination result of each content. For example, the information providing apparatus 10 prepares terminal devices of the same type as a reference terminal and a comparison terminal, and installs a valid application in the reference terminal and an application to be judged in the comparison terminal. Note that the application to be determined may be a web application that runs on a browser.

そして、情報提供装置10は、基準端末に表示された基準コンテンツと、比較端末に表示された比較コンテンツとの類似性を判定し、判定結果に応じて、比較端末にインストールされたアプリケーションが不正なアプリケーションであるかを判定してもよい。例えば、情報提供装置10は、各コンテンツの類似性が高いが、完全に一致するものではない場合、比較端末にインストールされたアプリケーションが、正当なアプリケーションを模倣して個人情報を取得するような不正なアプリケーションであると判定してもよい。 Then, the information providing apparatus 10 determines the similarity between the reference content displayed on the reference terminal and the comparison content displayed on the comparison terminal, and determines whether the application installed on the comparison terminal is illegal according to the determination result. You may determine whether it is an application. For example, if the content is highly similar but not completely matched, the information providing apparatus 10 may be configured to prevent an application installed in the comparison terminal from imitating a legitimate application to obtain personal information. may be determined to be a valid application.

ここで、情報提供装置10は、フィッシングサイトに誘導して、利用者のログイン用IDやパスワードを窃取する偽ウェブアプリの判定を行ってもよい。例えば、情報提供装置10は、ウェブを介して利用者に対して各種のサービスを提供する正式なウェブアプリが表示させたコンテンツ(すなわち、アプリケーションが独自で提供するコンテンツのみならず、アプリケーションがウェブAPIと連携して提供する各種のウェブコンテンツ)と、偽ウェブアプリが表示させた各種のコンテンツとの比較を行う。この際、情報提供装置10は、例えば、各コンテンツの外観的な特徴の類比や、各コンテンツのドメイン等といった属性の類似性に基づいて、比較対象となるウェブアプリが偽のウェブアプリであるかを判定してもよい。 Here, the information providing apparatus 10 may guide the user to a phishing site and determine a fake web application that steals the user's login ID and password. For example, the information providing apparatus 10 can display content displayed by a formal web application that provides various services to users via the web (that is, not only content independently provided by the application, but also web API Various web contents provided in cooperation with ) and various contents displayed by the fake web application will be compared. At this time, the information providing apparatus 10 determines whether the web application to be compared is a fake web application based on the similarity of the appearance features of each content and the similarity of attributes such as the domain of each content. may be determined.

〔2-6.複数サービスを提供するアプリケーションについて〕
ここで、スーパーアプリ等と呼ばれるアプリケーションは、単一のサービスのみならず、複数のサービスを提供する場合がある。しかしながら、このようなアプリケーションは、単一のアプリケーションプログラムによりサービスを提供するのではなく、主となるアプリケーションがミニアプリと呼ばれる複数のアプリケーションを呼び出して、各種サービスを提供する場合が多い。そこで、情報提供装置10は、スーパーアプリの動作確認を行う場合、スーパーアプリを構成するミニアプリごとに、基準コンテンツと比較コンテンツとの比較を行ってもよい。
[2-6. Applications that provide multiple services]
Here, an application called a super application or the like may provide not only a single service but also multiple services. However, in many cases, such applications do not provide services by a single application program, but the main application calls multiple applications called mini-apps to provide various services. Therefore, when checking the operation of the super application, the information providing apparatus 10 may compare the reference content and the comparison content for each mini application that constitutes the super application.

〔2-7.言語について〕
ここで、情報提供装置10は、基準端末と比較端末とがそれぞれ異なる言語のコンテンツを表示する場合、同一内容のテキストを同一のオブジェクトとみなしてもよい。例えば、情報提供装置10は、基準コンテンツに「パスワード」といったテキストが含まれ、比較コンテンツに「Password」といったコンテンツが含まれる場合、これらのコンテンツを同一のコンテンツであると見做し、各コンテンツの類似性を判定してもよい。
[2-7. About language]
Here, when the reference terminal and the comparison terminal display contents in different languages, the information providing apparatus 10 may regard texts with the same contents as the same object. For example, when the reference content includes a text such as "password" and the comparison content includes a content such as "password", the information providing apparatus 10 considers these contents to be the same content, and Similarity may be determined.

〔2-8.端末について〕
ここで、情報提供装置10は、スマートフォン等の端末装置200以外にも、クラウド上の端末装置CTや所定の情報処理装置上でエミュレートされる端末装置ET以外にも、任意の端末を基準端末や比較端末としてもよい。例えば、情報提供装置10は、PCやサーバ装置、各種センサやデジタルサイネージといった実態を有する装置(所謂ハードウェア)を基準端末や比較端末として、各コンテンツの類似性を判定してもよい。また、情報提供装置10は、各種の仮想マシンやPC上で実行されるOSやアプリケーションごとに、基準コンテンツや比較コンテンツを生成し、各コンテンツの類似性に基づいて、アプリケーションのロバスト性等を判定してもよい。
[2-8. About terminal]
Here, the information providing apparatus 10 can use any terminal as a reference terminal other than the terminal device 200 such as a smartphone, the terminal device CT on the cloud, or the terminal device ET emulated on a predetermined information processing device. or a comparison terminal. For example, the information providing apparatus 10 may determine the similarity of each content using physical devices (so-called hardware) such as PCs, server devices, various sensors, and digital signage as reference terminals and comparison terminals. In addition, the information providing apparatus 10 generates reference content and comparison content for each OS and application executed on various virtual machines and PCs, and determines the robustness of the application based on the similarity of each content. You may

〔2-9.実施形態の効果の一例について〕
上述したように、情報提供装置10は、基準端末に表示された基準コンテンツと比較端末に表示された比較コンテンツとの類似性を判定する。このため、情報提供装置10は、基準コンテンツや比較コンテンツを表示させた同一もしくは異なるアプリケーションの同一性やロバスト性を自動的に判定することができ、アプリケーションの試験等を容易にすることができる。
[2-9. About an example of the effect of the embodiment]
As described above, the information providing apparatus 10 determines the similarity between the reference content displayed on the reference terminal and the comparison content displayed on the comparison terminal. Therefore, the information providing apparatus 10 can automatically determine the identity and robustness of the same or different applications that display the reference content and the comparison content, and can facilitate application testing and the like.

なお、このように端末装置ごとやOSごとに、基準コンテンツや比較コンテンツを生成しなければならないとしても、情報提供装置10は、自然言語で操作内容を示した操作情報を生成し、生成した操作情報に基づいて適用情報を自動的に生成する。このため、情報提供装置10は、試験対象となるアプリケーションにバージョンが複数存在する場合や、基準端末あるいは比較端末とすべき端末装置のバリエーションが複数存在する場合であっても、これら基準端末、比較端末およびアプリケーションの組合せを自動的に特定し、特定した組合せごとに、各コンテンツの類似性を自動的に判定することができる。このため、情報提供装置10は、人手でアプリケーションを操作し、画面を確認するといった手間を削減することができる。 Note that even if the reference content and the comparison content must be generated for each terminal device and each OS, the information providing device 10 generates operation information indicating operation details in a natural language, and performs the generated operation. Automatically generate application information based on information. Therefore, even if there are multiple versions of the application to be tested, or multiple variations of the terminal device to be used as the reference terminal or the comparison terminal, the information providing device 10 can It is possible to automatically identify combinations of terminals and applications, and automatically determine the similarity of each content for each identified combination. Therefore, the information providing apparatus 10 can reduce the trouble of manually operating the application and checking the screen.

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

通信部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. The communication unit 20 is connected to the network N by wire or wirelessly, and transmits and receives information to and 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、およびコンテンツデータベース33を記憶する。 The storage unit 30 is implemented by, for example, a semiconductor memory device such as a RAM (Random Access Memory) or a flash memory, or a storage device such as a hard disk or an optical disk. The storage unit 30 also stores an operation database 31 , a combination database 32 and a content database 33 .

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

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

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

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

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

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

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

コンテンツデータベース33には、基準コンテンツとなるデータと、比較コンテンツとなるデータが登録される。例えば、図10は、実施形態に係るコンテンツデータベースに登録される情報の一例を示す図である。図10に示す例では、コンテンツデータベース33には、コンテンツID、コンテンツ種別、取得元端末、スクリーンショット、オブジェクト情報といった項目を有する情報が登録されている。なお、図10に示す情報以外にも、コンテンツデータベース33には、例えば、アプリケーションのバージョン、コンテンツを取得した日時といったタイムスタンプ等、基準コンテンツや比較コンテンツに関する各種の情報が登録されていてもよい。 In the content database 33, data serving as reference content and data serving as comparison content are registered. For example, FIG. 10 is a diagram showing an example of information registered in the content database according to the embodiment. In the example shown in FIG. 10, information having items such as content ID, content type, acquisition source terminal, screen shot, and object information is registered in the content database 33 . In addition to the information shown in FIG. 10, the content database 33 may also register various types of information related to the reference content and the comparison content, such as application versions, time stamps such as the date and time of content acquisition, and the like.

ここで、コンテンツIDとは、コンテンツの識別子である。また、コンテンツ種別とは、コンテンツが基準コンテンツであるか、比較コンテンツであるかを示す情報である。また、取得元端末は、コンテンツのスクリーンショットを取得した端末装置、すなわち、試験対象となるアプリケーションを実行する端末装置を示す情報である。また、スクリーンショットとは、各コンテンツとして取得されたスクリーンショットのデータである。また、オブジェクト情報とは、コンテンツに含まれる各種オブジェクトに関する情報である。 Here, the content ID is an identifier of content. The content type is information indicating whether the content is reference content or comparison content. Also, the acquisition source terminal is information indicating the terminal device that acquired the screenshot of the content, that is, the terminal device that executes the application to be tested. A screenshot is data of a screenshot acquired as each content. Object information is information about various objects included in the content.

なお、図10に示す例では、「SSBC1」や「OOBC1」といった概念的な値を記載したが、実際には、スクリーンショットとして取得された各種の画像データや、オブジェクトの内容、種別、外観等を示す各種のデータがコンテンツデータベース33に登録されることとなる。 In the example shown in FIG. 10, conceptual values such as "SSBC1" and "OOBC1" are described, but in reality, various image data obtained as screenshots, object contents, types, appearances, etc. are registered in the content database 33.

図7に戻り、説明を続ける。制御部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. 7, the description is continued. The control unit 40 is, for example, a controller, and various programs (an example of a notification program) stored in a storage device inside the information providing apparatus 10 are controlled by a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like. ) is executed using the RAM as a work area. Also, the control unit 40 is a controller, and is implemented by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).

図7に示すように、制御部40は、特定部41、決定部42、生成部43、適用部44、取得部45、判定部46、および通知部47を有する。 As shown in FIG. 7 , the control unit 40 has an identification unit 41 , a determination unit 42 , a generation unit 43 , an application unit 44 , an acquisition unit 45 , a determination unit 46 and a notification unit 47 .

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

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

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

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

なお、適用部44は、上述した判定処理を実行する場合、各端末装置200を比較端末として、比較端末200にスナップショットを取得し、送信させるための適用情報を生成する。なお、このような処理は、例えば、生成部43により生成された操作情報に基づいて実現されてもよい。 Note that, when executing the determination process described above, the application unit 44 uses each terminal device 200 as a comparison terminal, acquires a snapshot from the comparison terminal 200, and generates application information for transmitting the snapshot. Note that such processing may be realized based on the operation information generated by the generation unit 43, for example.

取得部45は、基準端末が所定のアプリケーションを実行した際に表示させた基準コンテンツと、比較対象となる比較端末が所定のアプリケーションを実行した際に表示させた比較コンテンツとを取得する。例えば、取得部45は、基準端末BTに試験対象となるアプリケーションをインストールさせるとともに、アプリケーションが表示させるすべてのコンテンツ、あるいはあらかじめ定められた一部のコンテンツを表示させ、各コンテンツのスクリーンショットを取得させる。そして、取得部45は、基準端末BTからスクリーンショットを基準コンテンツとして取得する。 The acquisition unit 45 acquires reference content displayed when the reference terminal executes a predetermined application, and comparison content displayed when the comparison terminal to be compared executes the predetermined application. For example, the acquisition unit 45 installs an application to be tested on the reference terminal BT, displays all the content displayed by the application or a predetermined part of the content, and acquires a screen shot of each content. . Then, the acquiring unit 45 acquires the screen shot as the reference content from the reference terminal BT.

また、取得部45は、各端末装置200から、アプリケーションが表示させたコンテンツのスクリーンショットを比較コンテンツとして取得する。すなわち、取得部45は、比較端末が基準端末と同じ所定のアプリケーションを実行した際に表示させた比較コンテンツを取得する。なお、取得部45は、基準端末が基準コンテンツを表示させた際の複数スクリーンショットと、比較端末が比較コンテンツを表示させた際の複数のスクリーンショットとを取得してもよい。すなわち、取得部45は、1つのコンテンツの一部を表示させた際のスクリーンショットを基準コンテンツや比較コンテンツとして取得してもよい。また、取得部45は、同一のコンテンツについて、異なる数のスクリーンショットを基準コンテンツおよび比較コンテンツとして取得してもよい。 In addition, the acquisition unit 45 acquires a screen shot of the content displayed by the application from each terminal device 200 as comparison content. That is, the acquisition unit 45 acquires the comparison content displayed when the comparison terminal executes the same predetermined application as the reference terminal. Note that the acquisition unit 45 may acquire multiple screen shots when the reference terminal displays the reference content and multiple screen shots when the comparison terminal displays the comparison content. In other words, the acquiring unit 45 may acquire a screen shot when a part of one content is displayed as the reference content or the comparison content. Also, the acquisition unit 45 may acquire different numbers of screen shots for the same content as the reference content and the comparison content.

また、取得部45は、各コンテンツとなるスクリーンショットから、各種のオブジェクトを特定し特定したオブジェクトに関する情報をオブジェクトとして抽出し、スクリーンショットとオブジェクトとをコンテンツデータベース33に登録する。なお、取得部45は、各コンテンツの外観が有する特徴量を算出し、コンテンツデータベース33に登録してもよい。 Also, the acquisition unit 45 identifies various objects from the screen shots of each content, extracts information about the identified objects as objects, and registers the screen shots and the objects in the content database 33 . Note that the acquisition unit 45 may calculate the feature amount of the appearance of each content and register it in the content database 33 .

判定部46は、基準コンテンツが有する特徴と、比較コンテンツが有する特徴との類似性が所定の条件を満たすか否かを判定する。ここで、判定部46は、利用者が、同一のサービスを提供するコンテンツであると認識することができる程度に、各コンテンツの類似性を判定するのであれば、任意の基準に基づいて、各コンテンツの類似性を判定してよい。以下に説明する判定基準は、あくまで一例であり、実施形態は、これに限定されるものではない。 The determination unit 46 determines whether or not the similarity between the feature of the reference content and the feature of the comparison content satisfies a predetermined condition. Here, if the determination unit 46 determines the similarity of each content to the extent that the user can recognize that the content provides the same service, based on an arbitrary criterion, each Content similarity may be determined. The criteria described below are merely examples, and the embodiments are not limited to these.

例えば、判定部46は、基準コンテンツの外観が有する特徴と、比較コンテンツが有する外観の特徴との類似性が所定の条件を満たすか否かを判定する。例えば、判定部46は、各種の特徴量や、ピクセル単位での比較により、各コンテンツの外観の類似性を判定する。 For example, the determination unit 46 determines whether or not the similarity between the feature of the appearance of the reference content and the feature of the appearance of the comparison content satisfies a predetermined condition. For example, the determining unit 46 determines the similarity of the appearance of each content based on various feature amounts and pixel-by-pixel comparison.

また、判定部46は、基準コンテンツ内に配置されたオブジェクトの配置位置と、比較コンテンツ内に配置されたオブジェクトの配置位置との類似性が所定の条件を満たすか否かを判定してもよい。例えば、判定部46は、テキスト、画像、各種機能オブジェクト等が画面上に表示された位置を特定し、特定した位置の類似性に基づいて、各コンテンツの類似性を判定してもよい。 Further, the determination unit 46 may determine whether or not the similarity between the placement position of the object placed in the reference content and the placement position of the object placed in the comparison content satisfies a predetermined condition. . For example, the determination unit 46 may identify the positions where text, images, various functional objects, etc. are displayed on the screen, and determine the similarity of each content based on the similarity of the identified positions.

また、判定部46は、基準コンテンツ内に配置された複数のオブジェクトの相対的な配置位置と、比較コンテンツ内に配置された複数のオブジェクトの相対的なオブジェクトの配置位置との類似性が所定の条件を満たすか否かを判定してもよい。例えば、判定部46は、「パスワード」といった所定のテキストと、パスワードを入力するためのテキストボックスといった所定の機能オブジェクトとの相対的な位置関係(例えば、縦方向に並んでいる、横方向に並んでいる、離れている方向、離れている距離等)を各コンテンツごとに特定し、特定した位置関係が類似しているか否かに応じて、各コンテンツの類似性を判定してもよい。 Further, the determination unit 46 determines that the similarity between the relative placement positions of the plurality of objects placed in the reference content and the relative placement positions of the plurality of objects placed in the comparison content is a predetermined value. It may be determined whether or not the conditions are satisfied. For example, the determination unit 46 determines the relative positional relationship between a predetermined text such as "password" and a predetermined functional object such as a text box for entering a password (for example, vertically aligned or horizontally aligned). location, direction of separation, distance of separation, etc.) may be specified for each content, and the similarity of each content may be determined according to whether or not the specified positional relationship is similar.

また、判定部46は、基準コンテンツ内に複数のオブジェクトが配置されている順序と、比較コンテンツ内に複数のオブジェクトが配置されている順序との類似性が所定の条件を満たすか否かを判定してもよい。例えば、判定部46は、各コンテンツにおいて、所定のオブジェクトが所定の順序で並んでいるか否か、各オブジェトが配置されている順序の類似性等に応じて、各コンテンツの類似性を判定してもよい。 Further, the determination unit 46 determines whether or not the similarity between the order in which the plurality of objects are arranged in the reference content and the order in which the plurality of objects are arranged in the comparison content satisfies a predetermined condition. You may For example, the determination unit 46 determines the similarity of each content based on whether or not predetermined objects are arranged in a predetermined order in each content, and the similarity of the order in which the objects are arranged. good too.

また、判定部46は、基準コンテンツに含まれる文字が有する外観の特徴と、比較コンテンツに含まれる文字が有する外観の特徴との類似性が所定の条件を満たすか否かを判定してもよい。例えば、判定部46は、各コンテンツにおけるテキストの内容、色彩、フォントサイズ、自体等の類似性に基づいて、各コンテンツの類似性を判定してもよい。 Further, the determination unit 46 may determine whether or not the similarity between the appearance features of the characters included in the reference content and the appearance features of the characters included in the comparison content satisfies a predetermined condition. . For example, the determination unit 46 may determine the similarity of each content based on the similarity of text content, color, font size, itself, etc. in each content.

また、判定部46は、基準コンテンツ内に配置されたオブジェクトと類似するオブジェクトが比較コンテンツ内に配置されているか否かに基づいて、基準コンテンツが有する特徴と、比較コンテンツが有する特徴との類似性が所定の条件を満たすか否かを判定してもよい。例えば、判定部46は、各コンテンツ内に同一もしくは類似するオブジェクト(例えば、表示サイズが少し異なるが、同一のテキストが配置されたボタン等)が配置されているか否か、同一もしくは類似するオブジェクトが配置されている数に応じて、各コンテンツの類似性を判定してもよい。 Further, the determining unit 46 determines the similarity between the features of the reference content and the features of the comparison content based on whether or not an object similar to the object arranged in the reference content is arranged in the comparison content. may determine whether satisfies a predetermined condition. For example, the determination unit 46 determines whether or not the same or similar objects (for example, buttons with slightly different display sizes but the same text is placed) are arranged in each content, and whether the same or similar objects are arranged. The similarity of each content may be determined according to the number arranged.

また、判定部46は、基準コンテンツ内に配置されたオブジェクトのうち、利用者からの操作により所定の機能を発揮する機能オブジェクトと、比較コンテンツ内に配置された機能オブジェクトとの類似性が所定の条件を満たすか否かを判定してもよい。また、判定部46は、基準コンテンツ内に配置された機能オブジェクトが発揮する機能と、比較コンテンツ内に配置された機能オブジェクトが発揮する機能との類似性が所定の条件を満たすか否かを判定してもよい。例えば、判定部46は、共通する機能を発揮する機能オブジェクトが各コンテンツに共通して配置されている場合は、各コンテンツが類似すると判定してもよい。 Further, the determining unit 46 determines that the similarity between the functional object that performs a predetermined function by the user's operation among the objects arranged in the reference content and the functional object arranged in the comparison content is determined to be a predetermined value. It may be determined whether or not the conditions are satisfied. Further, the determination unit 46 determines whether or not the similarity between the function exhibited by the functional object arranged in the reference content and the function exhibited by the functional object arranged in the comparative content satisfies a predetermined condition. You may For example, the determination unit 46 may determine that each content is similar when a functional object that exhibits a common function is commonly arranged in each content.

また、判定部46は、基準コンテンツ内に配置された機能オブジェクトの外観と、比較コンテンツ内に配置された機能オブジェクトの外観との類似性が所定の条件を満たすか否かを判定してもよい。例えば、判定部46は、各コンテンツに含まれる機能オブジェクトの外観を、ピクセルごと或いは特徴量比較により、各コンテンツ内に配置されている機能オブジェクトの外観の類似性を判定し、判定結果に応じて、各コンテンツの類似性を判定してもよい。 The determination unit 46 may also determine whether or not the similarity between the appearance of the functional object placed in the reference content and the appearance of the functional object placed in the comparison content satisfies a predetermined condition. . For example, the determination unit 46 determines the similarity of the appearance of the functional objects included in each content for each pixel or by comparing the feature amount, and determines the similarity of the appearance of the functional objects arranged in each content. , the similarity of each content may be determined.

また、判定部46は、基準コンテンツが有する属性の特徴と、比較コンテンツが有する属性の特徴との類似性が所定の条件を満たすか否かを判定してもよい。また、判定部46は、基準コンテンツが有する機能の特徴と、比較コンテンツが有する機能の特徴との類似性が所定の条件を満たすか否かを判定してもよい。 Further, the determination unit 46 may determine whether or not the similarity between the attribute feature of the reference content and the attribute feature of the comparison content satisfies a predetermined condition. The determination unit 46 may also determine whether or not the similarity between the feature of the function of the reference content and the feature of the function of the comparison content satisfies a predetermined condition.

なお、判定部46は、上述した各種の基準に基づいて、類似性を示すスコアを算出する。しかしながら、実施形態はこれに限定されるものではない。判定部46は、基準コンテンツが有する特徴を示す基準特徴情報と比較コンテンツが有する特徴を示す比較特徴情報とが入力された場合に、利用者によって設定された情報であって、基準コンテンツと比較コンテンツとが類似するか否かを示す情報を出力するように学習が行われたモデルを用いて、基準コンテンツが有する特徴と、比較コンテンツが有する特徴との類似性が所定の条件を満たすか否かを判定してもよい。すなわち、判定部46は、共通する構成サービスを提供するコンテンツであると利用者が判断したコンテンツの特徴を学習したモデルを用いて、基準コンテンツと比較コンテンツとの共通性を判定してもよい。 Note that the determination unit 46 calculates a score indicating similarity based on the various criteria described above. However, embodiments are not so limited. When the reference feature information indicating the feature of the reference content and the comparison feature information indicating the feature of the comparison content are input, the determination unit 46 determines whether the reference content and the comparison content are information set by the user. Whether the similarity between the feature of the reference content and the feature of the comparison content satisfies a predetermined condition using a model trained to output information indicating whether or not the content is similar to may be determined. That is, the determining unit 46 may determine the commonality between the reference content and the comparison content using a model that has learned the characteristics of the content determined by the user to be content that provides a common constituent service.

なお、上述した処理は、コンテンツデータベース33に登録された情報を参照して実行することとなる。例えば、判定部46は、コンテンツデータベース33を参照し、基準コンテンツと、基準コンテンツに対する比較コンテンツとのスクリーンショットやオブジェクト情報を取得する。そして、判定部46は、取得した情報に基づき、基準コンテンツと比較コンテンツとの類似性を判定する。 It should be noted that the above-described processing is executed with reference to information registered in the content database 33 . For example, the determination unit 46 refers to the content database 33 and acquires screenshots and object information of the reference content and the comparison content with respect to the reference content. Then, the determination unit 46 determines the similarity between the reference content and the comparison content based on the acquired information.

通知部47は、判定結果に応じて、基準端末が実行したアプリケーションと比較端末が実行したアプリケーションとの関係性を示す情報を利用者に通知する。例えば、通知部47は、あるアプリケーションが比較端末に表示させた各比較コンテンツのうち、各比較コンテンツに対応する基準コンテンツと類似すると判定されたコンテンツの割合が所定の閾値を超える場合は、基準端末が実行したアプリケーションと比較端末が実行したアプリケーションとの同一性が担保されている旨を通知してもよい。また、通知部47は、比較した結果類似しないと判定された各コンテンツに関する情報を通知してもよい。 The notification unit 47 notifies the user of information indicating the relationship between the application executed by the reference terminal and the application executed by the comparison terminal according to the determination result. For example, the notification unit 47, among the comparison contents displayed on the comparison terminal by a certain application, when the ratio of contents determined to be similar to the reference content corresponding to each comparison content exceeds a predetermined threshold, the notification unit 47 The application executed by the comparison terminal and the application executed by the comparison terminal are guaranteed to be identical. In addition, the notification unit 47 may notify information about each content determined to be dissimilar as a result of the comparison.

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

例えば、情報提供装置10は、判定対象となるアプリケーションを受付けたか否かを判定する(ステップS201)。そして、情報提供装置10は、アプリケーションを受付けていない場合は(ステップS201:No)、受付けるまで待機する(ステップS201)。一方、情報提供装置10は、アプリケーションを受付けた場合は(ステップS201:Yes)、基準端末にアプリケーションを実行させ、基準コンテンツを取得する(ステップS202)。なお、情報提供装置10は、基準コンテンツが所定のデータベースに登録済みである場合は、それを取得すればよい。 For example, the information providing apparatus 10 determines whether or not an application to be determined has been received (step S201). If the information providing apparatus 10 has not received the application (step S201: No), it waits until it receives the application (step S201). On the other hand, when the application is accepted (step S201: Yes), the information providing apparatus 10 causes the reference terminal to execute the application and acquires the reference content (step S202). If the reference content has already been registered in a predetermined database, the information providing apparatus 10 may acquire it.

また、情報提供装置10は、比較端末にアプリケーションを実行させ、比較コンテンツを取得する(ステップS203)。なお、情報提供装置10は、任意の順序でステップS202、S203を実行してもよい。 Further, the information providing apparatus 10 causes the comparison terminal to execute an application and acquires comparison content (step S203). The information providing apparatus 10 may perform steps S202 and S203 in any order.

そして、情報提供装置10は、基準コンテンツと比較コンテンツとの類似性が所定の条件を満たすか否かを判定し(ステップS204)、判定結果に応じた情報を提供して(ステップS205)、処理を終了する。 Then, the information providing apparatus 10 determines whether or not the similarity between the reference content and the comparison content satisfies a predetermined condition (step S204), provides information according to the determination result (step S205), and performs processing. exit.

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

〔5-1.操作について〕
上述した例では、情報提供装置10は、アプリケーションが表示させたコンテンツの比較を行った。ここで、情報提供装置10は、生成処理や適用処理により生成された適用処理による試験において自動的に適用される操作の結果表示されるコンテンツの比較を行ってもよい。例えば、情報提供装置10は、利用者があるボタンをタップした場合や、QRコードの支払を行った場合、メニューを開く操作を行った場合において表示されるコンテンツを基準コンテンツや比較コンテンツとして取得し、取得した基準コンテンツや比較コンテンツの類似性を判定してもよい。
[5-1. About operation]
In the example described above, the information providing apparatus 10 compares the content displayed by the application. Here, the information providing apparatus 10 may compare the content displayed as a result of the operation automatically applied in the test by the application process generated by the generation process or the application process. For example, the information providing apparatus 10 acquires the content displayed when the user taps a certain button, pays with a QR code, or opens a menu as reference content or comparison content. , the similarity of the acquired reference content and comparison content may be determined.

このように、情報提供装置10は、各種の操作により基準コンテンツや比較コンテンツの表示態様が変化する場合、変化前のコンテンツと変化後のコンテンツとをそれぞれ個別の基準コンテンツや比較コンテンツとして取得し、類似性を判定してもよい。なお、このような処理は、例えば、操作を行うたびにスクリーンショットを取得し、取得したスクリーンショットを基準コンテンツや比較コンテンツとして取得させる適用情報を生成することにより実現可能である。また、このような処理を行う場合、情報提供装置10は、例えば、基準コンテンツや比較コンテンツが、どのような操作が行われた際に表示されたものであるかに応じて、比較対象とする基準コンテンツや比較コンテンツを選択すればよい。すなわち、情報提供装置10は、基準端末や比較端末において、同じ操作が行われた際にアプリケーションが表示させるコンテンツの類似性を判定すればよい。 In this way, when the display mode of the reference content or the comparison content changes due to various operations, the information providing apparatus 10 acquires the content before the change and the content after the change as separate reference content and comparison content, respectively. Similarity may be determined. Such processing can be realized, for example, by acquiring a screen shot each time an operation is performed and generating application information for acquiring the acquired screen shot as reference content or comparison content. Further, when performing such processing, the information providing apparatus 10, for example, selects the reference content and the comparison content as objects of comparison according to what kind of operation was performed when they were displayed. What is necessary is just to select a reference|standard content and a comparison content. That is, the information providing apparatus 10 may determine the similarity of the content displayed by the application when the same operation is performed on the reference terminal and comparison terminal.

なお、情報提供装置10は、例えば、SNS等に対する所定の文字列や写真といったコンテンツの投稿や、ゲーム等に対する入力、動画の閲覧といった任意の行動が行われた際における操作が行われる度に、スクリーンショットを基準コンテンツや比較コンテンツとして取得させてもよい。また、情報提供装置10は、例えば、端末装置200の向きを変更する、端末装置200を振る、音量を変更する等、音声による各種操作の入力といったハードウェアに依存する各種の行動が行われる際の操作が行われる度に、スクリーンショットを基準コンテンツや比較コンテンツとして取得させてもよい。 It should be noted that the information providing apparatus 10, for example, post a content such as a predetermined character string or a photo on SNS, input to a game, or view a video, every time an operation is performed. Screenshots may be acquired as reference content or comparison content. In addition, the information providing apparatus 10 performs various actions dependent on hardware, such as changing the direction of the terminal device 200, shaking the terminal device 200, changing the volume, and inputting various operations by voice. Screen shots may be obtained as reference content or comparison content each time the operation of is performed.

また、情報提供装置10は、任意のアプリケーションについて上述した各種の処理を実行してよい。例えば、情報提供装置10は、端末装置200を用いた各種の決済サービスを提供するアプリケーションについて、操作情報の生成や、基準コンテンツや比較コンテンツの比較を行ってもよい。例えば、決済サービスには、店舗に設置されたQRコード(登録商標)を読み取るとともに、決済額の入力を受付け、QRコードと対応する店舗の口座に対し、受付けた決済額の電子マネーを利用者の口座から送金するといったサービスが存在する。また、決済サービスには、利用者の口座やクレジットカードを識別するバーコードを表示し、表示したバーコードを店舗の端末が読み取ることで、利用者に対する課金を実現するものが存在する。 In addition, the information providing device 10 may execute various types of processing described above for any application. For example, the information providing apparatus 10 may generate operation information and compare reference content and comparison content for applications that provide various payment services using the terminal device 200 . For example, a payment service reads a QR code (registered trademark) installed at a store, accepts input of a payment amount, and sends electronic money for the accepted payment amount to an account at the store corresponding to the QR code. There are services such as remittances from bank accounts. In addition, there is a payment service that displays a bar code that identifies a user's account or credit card, and a store terminal reads the displayed bar code, thereby realizing billing for the user.

情報提供装置10は、このような各種決済サービスに関するアプリケーションについて、操作情報の生成や基準コンテンツや比較コンテンツの比較を行ってもよい。この場合、情報提供装置10は、例えば、所定の送金額を入力した場合、QRコードを読み取った場合、利用者の口座を示すバーコードを表示させた場合等において、基準コンテンツや比較コンテンツの比較を行うことで、適切な額や情報の表示が行われているかを判定してもよい。 The information providing apparatus 10 may generate operation information and compare reference content and comparison content for applications related to such various payment services. In this case, the information providing apparatus 10 compares the reference content and the comparison content, for example, when a predetermined remittance amount is input, when a QR code is read, when a barcode indicating the user's account is displayed, etc. may be used to determine whether an appropriate amount or information is displayed.

〔5-2.目的について〕
ここで、情報提供装置10は、対象のアプリケーションの試験以外にも、任意の目的で上述した判定処理を行ってよい。例えば、各種の提携作業をソフトウェア型のロボットやAI(Artificial Intelligence)が代行、自動化するRPA(Robotic Process Automation)の技術が知られている。情報提供装置10は、このようなRPAの技術において、上述した判定処理を適用してもよい。例えば、情報提供装置10は、基準端末となるロボットの動作結果(例えば、動作時の外観を撮影した動画像)を基準コンテンツとし、比較端末となるロボットの動作結果を比較コンテンツとする。そして、情報提供装置10は、各コンテンツの同一性に基づいて、比較端末となるロボットが適切に動作するかを判定してもよい。
[5-2. About purpose]
Here, the information providing apparatus 10 may perform the determination process described above for any purpose other than testing the target application. For example, there is known a technology of RPA (Robotic Process Automation) in which software-type robots or AI (Artificial Intelligence) perform and automate various collaborative work. The information providing apparatus 10 may apply the determination process described above in such RPA technology. For example, the information providing apparatus 10 uses the operation results of the robot serving as the reference terminal (for example, a moving image of the appearance during operation) as reference content, and the operation results of the robot serving as the comparison terminal as comparison content. Then, the information providing apparatus 10 may determine whether the robot serving as the comparison terminal operates appropriately based on the identity of each content.

また、情報提供装置10は、QAAS(Quality Assurance as a Service)を試験するために、各種ソフトウェアの比較処理を実行してもよい。例えば、情報提供装置10は、基準コンテンツと比較コンテンツとの類似性が所定の閾値を超える場合は、比較端末において実行されたアプリケーションのクオリティが所定の条件を満たすと判定してもよい。 In addition, the information providing apparatus 10 may perform comparison processing of various software in order to test QAAS (Quality Assurance as a Service). For example, the information providing apparatus 10 may determine that the quality of the application executed on the comparison terminal satisfies a predetermined condition when the similarity between the reference content and the comparison content exceeds a predetermined threshold.

このように、情報提供装置10は、表示される画像の類似性を判定する試験のみならず、アプリケーションが適切に動作するか、アプリケーションのクオリティが所定の閾値を超えているかに、判定結果を利用してもよい。また、情報提供装置10は、上述した目的以外にも、対象に対する操作を示す操作情報を生成するのであれば、任意の目的について、適用情報を生成してよい。 In this way, the information providing apparatus 10 uses not only the test to determine the similarity of the displayed images, but also whether the application operates properly and whether the quality of the application exceeds a predetermined threshold. You may Further, the information providing apparatus 10 may generate application information for any purpose other than the purpose described above as long as it generates operation information indicating an operation on a target.

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

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

また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組合わせることが可能である。 Moreover, each of the embodiments described above can be appropriately combined within a range in which the processing contents are not inconsistent.

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

演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。 The arithmetic device 1030 operates based on programs stored in the primary storage device 1040 and the secondary storage device 1050, programs read from the input device 1020, and the like, and executes various processes. The primary storage device 1040 is a memory device such as a RAM that temporarily stores data used by the arithmetic device 1030 for various calculations. The secondary storage device 1050 is a storage device in which data used for various calculations by the arithmetic device 1030 and various databases are registered. It 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 the output device 1010 that outputs various types of information such as a monitor and a printer. It is realized by a connector conforming to a standard such as HDMI (registered trademark) (High Definition Multimedia Interface). Also, the input IF 1070 is an interface for receiving information from various input devices 1020 such as a mouse, keyboard, scanner, etc., 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メモリ等の外付け記憶媒体であってもよい。 Note that the input device 1020 includes, for example, optical recording media such as CDs (Compact Discs), DVDs (Digital Versatile Discs), PDs (Phase change rewritable discs), magneto-optical recording media such as MOs (Magneto-Optical discs), and tapes. It may be a device that reads information from a medium, a magnetic recording medium, a semiconductor memory, or the like. Also, the input device 1020 may be an external storage medium such as a USB memory.

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

演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。 The arithmetic device 1030 controls the output device 1010 and the input device 1020 via the output IF 1060 and the input IF 1070 . For example, arithmetic device 1030 loads a program from input device 1020 or secondary storage device 1050 onto 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 device 1030 of the computer 1000 implements the functions of the control unit 40 by executing programs loaded on the primary storage device 1040 .

〔6.効果〕
上述したように、情報提供装置10は、基準端末が所定のアプリケーションを実行した際に表示させた基準コンテンツと、比較対象となる比較端末が所定のアプリケーションを実行した際に表示させた比較コンテンツとを取得する。そして、情報提供装置10は、基準コンテンツが有する特徴と、比較コンテンツが有する特徴との類似性が所定の条件を満たすか否かを判定する。
[6. effect〕
As described above, the information providing apparatus 10 displays the reference content displayed when the reference terminal executes the predetermined application, and the comparison content displayed when the comparison terminal to be compared executes the predetermined application. to get Then, the information providing apparatus 10 determines whether or not the similarity between the feature of the reference content and the feature of the comparison content satisfies a predetermined condition.

例えば、情報提供装置10は、比較端末が基準端末と同じ所定のアプリケーションを実行した際に表示させた比較コンテンツを取得する。このような処理の結果、情報提供装置10は、同一のアプリケーションが異なる端末装置に表示させるコンテンツの類似性を判定することができるので、アプリケーションの開発時や更新時において、適切な開発が行われているかを自動的に判定することができる。また、情報提供装置10は、異なるアプリケーションを比較端末と基準端末とに実行させた場合、比較端末で実行させたアプリケーションが、基準端末で実行させたアプリケーションと同一視できるかを自動的に判定することができる。このような判定を自動化する結果、情報提供装置10は、各種アプリケーションが提供するUIの試験を自動化し、手間を削減することができる。 For example, the information providing apparatus 10 acquires comparison content displayed when the comparison terminal executes the same predetermined application as the reference terminal. As a result of such processing, the information providing apparatus 10 can determine the similarity of content displayed on different terminal devices by the same application. It can automatically determine whether Further, when the comparison terminal and the reference terminal are caused to execute different applications, the information providing apparatus 10 automatically determines whether the application executed by the comparison terminal can be regarded as the same as the application executed by the reference terminal. be able to. As a result of automating such a determination, the information providing apparatus 10 can automate testing of UIs provided by various applications and reduce labor.

また、情報提供装置10は、基準コンテンツの外観が有する特徴と、比較コンテンツが有する外観の特徴との類似性が所定の条件を満たすか否かを判定する。また、情報提供装置10は、基準コンテンツ内に配置されたオブジェクトの配置位置と、比較コンテンツ内に配置されたオブジェクトの配置位置との類似性が所定の条件を満たすか否かを判定する
このため、情報提供装置10は、利用者が同一のサービスを提供するコンテンツであると判断することができる程度に外観が類似しているかを自動的に判定することができる。
Further, the information providing apparatus 10 determines whether or not the similarity between the feature of the appearance of the reference content and the feature of the appearance of the comparison content satisfies a predetermined condition. Further, the information providing apparatus 10 determines whether or not the similarity between the placement position of the object placed in the reference content and the placement position of the object placed in the comparison content satisfies a predetermined condition. , the information providing apparatus 10 can automatically determine whether the appearances are similar enough to allow the user to determine that the content provides the same service.

また、情報提供装置10は、基準コンテンツ内に配置された複数のオブジェクトの相対的な配置位置と、比較コンテンツ内に配置された複数のオブジェクトの相対的なオブジェクトの配置位置との類似性が所定の条件を満たすか否かを判定する。また、情報提供装置10は、基準コンテンツ内に複数のオブジェクトが配置されている順序と、比較コンテンツ内に複数のオブジェクトが配置されている順序との類似性が所定の条件を満たすか否かを判定する。このため、情報提供装置10は、オブジェクトの相対的な位置関係や順序が利用者に与える類似性に応じて、各コンテンツの類似性を判定することができる。 Further, the information providing apparatus 10 determines the similarity between the relative placement positions of the plurality of objects placed in the reference content and the relative placement positions of the plurality of objects placed in the comparison content. It is determined whether or not the conditions of are satisfied. Further, the information providing apparatus 10 determines whether or not the similarity between the order in which the plurality of objects are arranged in the reference content and the order in which the plurality of objects are arranged in the comparison content satisfies a predetermined condition. judge. Therefore, the information providing apparatus 10 can determine the similarity of each content according to the similarity given to the user by the relative positional relationship and order of the objects.

また、情報提供装置10は、基準コンテンツに含まれる文字が有する外観の特徴と、比較コンテンツに含まれる文字が有する外観の特徴との類似性が所定の条件を満たすか否かを判定する。このため、情報提供装置10は、字体等、文字の外観が利用者に与える類似性に応じて、各コンテンツの類似性を判定することができる。 The information providing apparatus 10 also determines whether or not the similarity between the appearance features of the characters included in the reference content and the appearance features of the characters included in the comparison content satisfies a predetermined condition. Therefore, the information providing apparatus 10 can determine the similarity of each content according to the similarity given to the user by the appearance of characters such as fonts.

また、情報提供装置10は、基準コンテンツ内に配置されたオブジェクトと類似するオブジェクトが比較コンテンツ内に配置されているか否かに基づいて、基準コンテンツが有する特徴と、比較コンテンツが有する特徴との類似性が所定の条件を満たすか否かを判定する。また、情報提供装置10は、基準コンテンツ内に配置されたオブジェクトのうち、利用者からの操作により所定の機能を発揮する機能オブジェクトと、比較コンテンツ内に配置された機能オブジェクトとの類似性が所定の条件を満たすか否かを判定する。このため、情報提供装置10は、各種のコンテンツの有無や類似性に応じて、各コンテンツの類似性を判定することができる。 Further, the information providing apparatus 10 determines the similarity between the feature of the reference content and the feature of the comparison content based on whether or not an object similar to the object arranged in the reference content is arranged in the comparison content. It determines whether or not the property satisfies a predetermined condition. Further, the information providing apparatus 10 determines that a functional object, among the objects arranged in the reference content, that exerts a predetermined function in response to an operation by the user and a functional object arranged in the comparison content have a predetermined similarity. It is determined whether or not the conditions of are satisfied. Therefore, the information providing apparatus 10 can determine the similarity of each content according to the presence or absence of various types of content and the similarity.

また、情報提供装置10は、基準コンテンツ内に配置された機能オブジェクトが発揮する機能と、比較コンテンツ内に配置された機能オブジェクトが発揮する機能との類似性が所定の条件を満たすか否かを判定する。このため、情報提供装置10は、各コンテンツが提供する機能の類似性に基づいて、各コンテンツの類似性を判定することができる。 Further, the information providing apparatus 10 determines whether or not the similarity between the function exhibited by the functional object arranged in the reference content and the function exhibited by the functional object arranged in the comparison content satisfies a predetermined condition. judge. Therefore, the information providing apparatus 10 can determine the similarity of each content based on the similarity of functions provided by each content.

また、情報提供装置10は、基準コンテンツ内に配置された機能オブジェクトの外観と、比較コンテンツ内に配置された機能オブジェクトの外観との類似性が所定の条件を満たすか否かを判定する。このため、情報提供装置10は、外観が利用者に与える類似性に応じて、各コンテンツの類似性を判定することができる。 Further, the information providing apparatus 10 determines whether or not the similarity between the appearance of the functional object arranged in the reference content and the appearance of the functional object arranged in the comparison content satisfies a predetermined condition. Therefore, the information providing apparatus 10 can determine the similarity of each content according to the similarity given to the user by the appearance.

また、情報提供装置10は、基準コンテンツが有する属性の特徴と、比較コンテンツが有する属性の特徴との類似性が所定の条件を満たすか否かを判定する。また、情報提供装置10は、基準コンテンツが有する機能の特徴と、比較コンテンツが有する機能の特徴との類似性が所定の条件を満たすか否かを判定する。このため、情報提供装置10は、各コンテンツの類似性を適切に判定し、各コンテンツの類似性を判定することができる。 Further, the information providing apparatus 10 determines whether or not the similarity between the attribute feature of the reference content and the attribute feature of the comparison content satisfies a predetermined condition. Further, the information providing apparatus 10 determines whether or not the similarity between the feature of the function of the reference content and the feature of the function of the comparison content satisfies a predetermined condition. Therefore, the information providing apparatus 10 can appropriately determine the similarity of each content and determine the similarity of each content.

また、情報提供装置10は、基準コンテンツが有する特徴を示す基準特徴情報と比較コンテンツが有する特徴を示す比較特徴情報とが入力された場合に、利用者によって設定された情報であって、その基準コンテンツと比較コンテンツとが類似するか否かを示す情報を出力するように学習が行われたモデルを用いて、基準コンテンツが有する特徴と、比較コンテンツが有する特徴との類似性が所定の条件を満たすか否かを判定する。このため、情報提供装置10は、利用者が各コンテンツを同一の機能を提供するコンテンツと判断するか否かを自動的に判定することができる。 Further, when the reference feature information indicating the feature of the reference content and the comparison feature information indicating the feature of the comparison content are input, the information providing apparatus 10 is the information set by the user, which is the reference. Using a model trained to output information indicating whether or not the content and the comparison content are similar, the similarity between the features of the reference content and the features of the comparison content satisfies a predetermined condition. Determine whether or not the conditions are met. Therefore, the information providing apparatus 10 can automatically determine whether or not the user determines that each content provides the same function.

また、情報提供装置10は、基準端末が表示させた基準コンテンツのスクリーンショットと、比較端末が表示させた比較コンテンツのスクリーンショットとを取得する。また、情報提供装置10は、基準端末が基準コンテンツを表示させた際の複数スクリーンショットと、比較端末が比較コンテンツを表示させた際の複数のスクリーンショットとを取得する。また、情報提供装置10は、基準端末におけるスクリーンショットと、比較端末におけるスクリーンショットであって、基準端末におけるスクリーンショットとは異なる数のスクリーンショットとを取得する。このため、情報提供装置10は、単一のコンテンツの全体が基準端末あるいは比較端末に表示される場合や、一部のみが表示される場合であっても、適切にコンテンツの同一性を自動的に判定することができる。 Further, the information providing apparatus 10 acquires a screenshot of the reference content displayed by the reference terminal and a screenshot of the comparison content displayed by the comparison terminal. The information providing apparatus 10 also acquires multiple screen shots when the reference terminal displays the reference content and multiple screen shots when the comparison terminal displays the comparison content. In addition, the information providing apparatus 10 acquires the screen shots of the reference terminal and the screen shots of the comparison terminal, the number of which is different from that of the screen shots of the reference terminal. For this reason, the information providing apparatus 10 can automatically and appropriately check the identity of a single content even when the entire single content is displayed on the reference terminal or the comparison terminal, or when only a part of the content is displayed. can be determined.

また、情報提供装置10は、判定結果に応じて、基準端末が実行したアプリケーションと比較端末が実行したアプリケーションとの関係性を示す情報を利用者に通知する。このため、情報提供装置10は、例えば、アプリケーションの修正の要否や、アプリケーションが正当なアプリケーションであるか否かといった各種の情報を提供することができる。 Further, the information providing apparatus 10 notifies the user of information indicating the relationship between the application executed by the reference terminal and the application executed by the comparison terminal according to the determination result. Therefore, the information providing apparatus 10 can provide various types of information such as whether the application needs to be modified and whether the application is legitimate.

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

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

10 情報提供装置
20 通信部
30 記憶部
31 操作データベース
32 組合わせデータベース
33 コンテンツデータベース
40 制御部
41 特定部
42 決定部
43 生成部
44 取得部
46 判定部
47 通知部
200 端末装置
300 操作者端末
BT 基準端末
CS クラウドサーバ
10 information providing device 20 communication unit 30 storage unit 31 operation database 32 combination database 33 content database 40 control unit 41 identification unit 42 determination unit 43 generation unit 44 acquisition unit 46 determination unit 47 notification unit 200 terminal device 300 operator terminal BT reference Terminal CS Cloud server

Claims (20)

基準端末が所定のアプリケーションを実行した際に表示させた基準コンテンツと、比較対象となる比較端末が所定のアプリケーションを実行した際に表示させた比較コンテンツとを取得する取得部と、
前記基準コンテンツが有する特徴と、前記比較コンテンツが有する特徴との類似性が所定の条件を満たすか否かを判定する判定部と
を有することを特徴とする判定装置。
an acquisition unit for acquiring reference content displayed when a reference terminal executes a predetermined application and comparison content displayed when a comparison terminal to be compared executes a predetermined application;
A determination device, comprising: a determination unit that determines whether or not a similarity between the feature of the reference content and the feature of the comparison content satisfies a predetermined condition.
前記取得部は、前記比較端末が前記基準端末と同じ前記所定のアプリケーションを実行した際に表示させた比較コンテンツを取得する
ことを特徴とする請求項1に記載の判定装置。
The determination device according to claim 1, wherein the acquisition unit acquires comparison content displayed when the comparison terminal executes the same predetermined application as that of the reference terminal.
前記判定部は、前記基準コンテンツの外観が有する特徴と、前記比較コンテンツが有する外観の特徴との類似性が所定の条件を満たすか否かを判定する
ことを特徴とする請求項1または2に記載の判定装置。
3. The method according to claim 1, wherein the determining unit determines whether or not similarity between the feature of the appearance of the reference content and the feature of the appearance of the comparison content satisfies a predetermined condition. Determination device as described.
前記判定部は、前記基準コンテンツ内に配置されたオブジェクトの配置位置と、前記比較コンテンツ内に配置されたオブジェクトの配置位置との類似性が所定の条件を満たすか否かを判定する
ことを特徴とする請求項3に記載の判定装置。
The determination unit determines whether or not a similarity between an arrangement position of an object arranged in the reference content and an arrangement position of an object arranged in the comparison content satisfies a predetermined condition. 4. The determination device according to claim 3.
前記判定部は、前記基準コンテンツ内に配置された複数のオブジェクトの相対的な配置位置と、前記比較コンテンツ内に配置された複数のオブジェクトの相対的なオブジェクトの配置位置との類似性が所定の条件を満たすか否かを判定する
ことを特徴とする請求項4に記載の判定装置。
The determination unit determines that the similarity between the relative placement positions of the plurality of objects placed in the reference content and the relative placement positions of the plurality of objects placed in the comparison content is predetermined. 5. The determination device according to claim 4, wherein it is determined whether or not a condition is satisfied.
前記判定部は、前記基準コンテンツ内に前記複数のオブジェクトが配置されている順序と、前記比較コンテンツ内に前記複数のオブジェクトが配置されている順序との類似性が所定の条件を満たすか否かを判定する
ことを特徴とする請求項5に記載の判定装置。
The determination unit determines whether or not similarity between an order in which the plurality of objects are arranged in the reference content and an order in which the plurality of objects are arranged in the comparison content satisfies a predetermined condition. 6. The determination device according to claim 5, characterized by:
前記判定部は、前記基準コンテンツに含まれる文字が有する外観の特徴と、前記比較コンテンツに含まれる文字が有する外観の特徴との類似性が所定の条件を満たすか否かを判定する
ことを特徴とする請求項3~6のうちいずれか1つに記載の判定装置。
The determination unit determines whether or not similarity between appearance features of characters included in the reference content and appearance features of characters included in the comparison content satisfies a predetermined condition. The determination device according to any one of claims 3 to 6.
前記判定部は、前記基準コンテンツ内に配置されたオブジェクトと類似するオブジェクトが前記比較コンテンツ内に配置されているか否かに基づいて、前記基準コンテンツが有する特徴と、前記比較コンテンツが有する特徴との類似性が所定の条件を満たすか否かを判定する
ことを特徴とする請求項1~7のうちいずれか1つに記載の判定装置。
The determination unit determines whether or not an object similar to an object arranged in the reference content is arranged in the comparison content, and determines the characteristics of the reference content and the characteristics of the comparison content. The determination device according to any one of claims 1 to 7, wherein it is determined whether or not the similarity satisfies a predetermined condition.
前記判定部は、前記基準コンテンツ内に配置されたオブジェクトのうち、利用者からの操作により所定の機能を発揮する機能オブジェクトと、前記比較コンテンツ内に配置された機能オブジェクトとの類似性が所定の条件を満たすか否かを判定する
ことを特徴とする請求項1~8のうちいずれか1つに記載の判定装置。
The determination unit determines that a functional object, among the objects arranged in the reference content, that exerts a predetermined function in response to an operation by a user and a functional object arranged in the comparison content have a predetermined similarity. The determination device according to any one of claims 1 to 8, wherein it is determined whether or not a condition is satisfied.
前記判定部は、前記基準コンテンツ内に配置された機能オブジェクトが発揮する機能と、前記比較コンテンツ内に配置された機能オブジェクトが発揮する機能との類似性が所定の条件を満たすか否かを判定する
ことを特徴とする請求項9に記載の判定装置。
The determination unit determines whether a similarity between a function exhibited by the functional object arranged in the reference content and a function exhibited by the functional object arranged in the comparison content satisfies a predetermined condition. The determination device according to claim 9, characterized in that:
前記判定部は、前記基準コンテンツ内に配置された機能オブジェクトの外観と、前記比較コンテンツ内に配置された機能オブジェクトの外観との類似性が所定の条件を満たすか否かを判定する
ことを特徴とする請求項9または10に記載の判定装置。
The determination unit determines whether or not similarity between an appearance of the functional object arranged in the reference content and an appearance of the functional object arranged in the comparison content satisfies a predetermined condition. 11. The determination device according to claim 9 or 10.
前記判定部は、前記基準コンテンツが有する属性の特徴と、前記比較コンテンツが有する属性の特徴との類似性が所定の条件を満たすか否かを判定する
ことを特徴とする請求項1~11のうちいずれか1つに記載の判定装置。
The determination unit determines whether or not a similarity between an attribute feature of the reference content and an attribute feature of the comparison content satisfies a predetermined condition. The determination device according to any one of them.
前記判定部は、前記基準コンテンツが有する機能の特徴と、前記比較コンテンツが有する機能の特徴との類似性が所定の条件を満たすか否かを判定する
ことを特徴とする請求項1~12のうちいずれか1つに記載の判定装置。
The determination unit determines whether or not similarity between the feature of the function of the reference content and the feature of the function of the comparison content satisfies a predetermined condition. The determination device according to any one of them.
前記判定部は、基準コンテンツが有する特徴を示す基準特徴情報と比較コンテンツが有する特徴を示す比較特徴情報とが入力された場合に、利用者によって設定された情報であって、当該基準コンテンツと比較コンテンツとが類似するか否かを示す情報を出力するように学習が行われたモデルを用いて、前記基準コンテンツが有する特徴と、前記比較コンテンツが有する特徴との類似性が所定の条件を満たすか否かを判定する
ことを特徴とする請求項1~13のうちいずれか1つに記載の判定装置。
When the reference feature information indicating the feature of the reference content and the comparison feature information indicating the feature of the comparison content are input, the determination unit compares the information set by the user with the reference content. The similarity between the feature of the reference content and the feature of the comparison content satisfies a predetermined condition using a model trained to output information indicating whether or not the content is similar to the content. The determination device according to any one of claims 1 to 13, characterized in that it determines whether or not.
前記取得部は、前記基準端末が表示させた基準コンテンツのスクリーンショットと、前記比較端末が表示させた比較コンテンツのスクリーンショットとを取得する
ことを特徴とする請求項1~14のうちいずれか1つに記載の判定装置。
15. The acquiring unit acquires a screenshot of the reference content displayed by the reference terminal and a screenshot of the comparison content displayed by the comparison terminal. The determination device according to 1.
前記取得部は、前記基準端末が前記基準コンテンツを表示させた際の複数スクリーンショットと、前記比較端末が前記比較コンテンツを表示させた際の複数のスクリーンショットとを取得する
ことを特徴とする請求項15に記載の判定装置。
The acquisition unit acquires a plurality of screen shots when the reference terminal displays the reference content and a plurality of screen shots when the comparison terminal displays the comparison content. Item 16. The determination device according to item 15.
前記取得部は、前記基準端末におけるスクリーンショットと、前記比較端末におけるスクリーンショットであって、前記基準端末におけるスクリーンショットとは異なる数のスクリーンショットとを取得する
ことを特徴とする請求項15に記載の判定装置。
16. The acquiring unit according to claim 15, wherein the acquisition unit acquires screenshots of the reference terminal and screenshots of the comparison terminal, the number of which is different from that of the screenshots of the reference terminal. judgment device.
前記判定部による判定結果に応じて、前記基準端末が実行したアプリケーションと前記比較端末が実行したアプリケーションとの関係性を示す情報を利用者に通知する通知部
を有することを特徴とする請求項1~17のうちいずれか1つに記載の判定装置。
2. A notification unit for notifying a user of information indicating the relationship between the application executed by the reference terminal and the application executed by the comparison terminal according to the determination result of the determination unit. 18. The determination device according to any one of 17.
判定装置が実行する判定方法であって、
基準端末が所定のアプリケーションを実行した際に表示させた基準コンテンツと、比較対象となる比較端末が所定のアプリケーションを実行した際に表示させた比較コンテンツとを取得する取得工程と、
前記基準コンテンツが有する特徴と、前記比較コンテンツが有する特徴との類似性が所定の条件を満たすか否かを判定する判定工程と
を含むことを特徴とする判定方法。
A determination method executed by a determination device,
an acquisition step of acquiring reference content displayed when a reference terminal executes a predetermined application and comparison content displayed when a comparison terminal to be compared executes a predetermined application;
A determination method, comprising: determining whether or not a similarity between the feature of the reference content and the feature of the comparison content satisfies a predetermined condition.
基準端末が所定のアプリケーションを実行した際に表示させた基準コンテンツと、比較対象となる比較端末が所定のアプリケーションを実行した際に表示させた比較コンテンツとを取得する取得手順と、
前記基準コンテンツが有する特徴と、前記比較コンテンツが有する特徴との類似性が所定の条件を満たすか否かを判定する判定手順と
をコンピュータに実行させるための判定プログラム。
an acquisition procedure for acquiring reference content displayed when a reference terminal executes a predetermined application and comparison content displayed when a comparison terminal to be compared executes a predetermined application;
A determination program for causing a computer to execute a determination procedure for determining whether or not the similarity between the features of the reference content and the features of the comparison content satisfies a predetermined condition.
JP2021020182A 2021-02-10 2021-02-10 Judgment device, judgment method and judgment program Active JP7029557B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021020182A JP7029557B1 (en) 2021-02-10 2021-02-10 Judgment device, judgment method and judgment program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021020182A JP7029557B1 (en) 2021-02-10 2021-02-10 Judgment device, judgment method and judgment program

Publications (2)

Publication Number Publication Date
JP7029557B1 JP7029557B1 (en) 2022-03-03
JP2022122740A true JP2022122740A (en) 2022-08-23

Family

ID=81212293

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021020182A Active JP7029557B1 (en) 2021-02-10 2021-02-10 Judgment device, judgment method and judgment program

Country Status (1)

Country Link
JP (1) JP7029557B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7386560B2 (en) * 2022-04-01 2023-11-27 株式会社エクストーン Software testing methods

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008065749A (en) * 2006-09-11 2008-03-21 Nippon Telegr & Teleph Corp <Ntt> Remote device operation system and remote device operation server
US20090248396A1 (en) * 2008-03-28 2009-10-01 International Business Machines Corporation Method for automating an internationalization test in a multilingual web application
JP2010186406A (en) * 2009-02-13 2010-08-26 Internatl Business Mach Corp <Ibm> Apparatus and method for supporting verification of software internationalization
JP2017138715A (en) * 2016-02-02 2017-08-10 日本電信電話株式会社 Screen difference pass/fail determination device, screen difference pass/fail determination method, and program
JP2017162120A (en) * 2016-03-08 2017-09-14 三菱電機株式会社 Information processor, information processing method, and information processing program
JP2018180094A (en) * 2017-04-05 2018-11-15 東芝三菱電機産業システム株式会社 Hmi screen testing device
JPWO2018211546A1 (en) * 2017-05-15 2019-06-27 三菱電機インフォメーションシステムズ株式会社 Screen test apparatus and screen test program

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008065749A (en) * 2006-09-11 2008-03-21 Nippon Telegr & Teleph Corp <Ntt> Remote device operation system and remote device operation server
US20090248396A1 (en) * 2008-03-28 2009-10-01 International Business Machines Corporation Method for automating an internationalization test in a multilingual web application
JP2010186406A (en) * 2009-02-13 2010-08-26 Internatl Business Mach Corp <Ibm> Apparatus and method for supporting verification of software internationalization
JP2017138715A (en) * 2016-02-02 2017-08-10 日本電信電話株式会社 Screen difference pass/fail determination device, screen difference pass/fail determination method, and program
JP2017162120A (en) * 2016-03-08 2017-09-14 三菱電機株式会社 Information processor, information processing method, and information processing program
JP2018180094A (en) * 2017-04-05 2018-11-15 東芝三菱電機産業システム株式会社 Hmi screen testing device
JPWO2018211546A1 (en) * 2017-05-15 2019-06-27 三菱電機インフォメーションシステムズ株式会社 Screen test apparatus and screen test program

Also Published As

Publication number Publication date
JP7029557B1 (en) 2022-03-03

Similar Documents

Publication Publication Date Title
Yan et al. The current status of accessibility in mobile apps
US20210055918A1 (en) Generating data mappings for user interface screens and screen components for an application
US9928450B2 (en) Automated application interaction using a virtual operator
US9164874B1 (en) Testing conversion and rendering of digital content
CA3018196C (en) Visual regresssion testing tool
US9189377B1 (en) Automation testing using descriptive maps
US8671389B1 (en) Web application resource manager on the web and localizable components
CN108292231A (en) It generates and applies from data
CN107783899A (en) The method of testing of the H5 pages, device and computer equipment in application program
CN109901968A (en) A kind of automation page data method of calibration and device
US11237948B2 (en) Rendering engine component abstraction system
US11521210B2 (en) Automated verification of user interface process flows
CN107729246A (en) For the auxiliary test methods of intended application, device, equipment and storage medium
Tuovenen et al. MAuto: Automatic mobile game testing tool using image-matching based approach
Xu et al. Guider: Gui structure and vision co-guided test script repair for android apps
CN112835579A (en) Method and device for determining interface code, electronic equipment and storage medium
JP6861880B1 (en) Generation device, generation method and generation program
JP7029557B1 (en) Judgment device, judgment method and judgment program
Pan et al. Effective testing of Android apps using extended IFML models
WO2016114748A1 (en) Data comparison
US20190102148A1 (en) Development Environment for Real-Time Application Development
WO2020093613A1 (en) Page data processing method and apparatus, storage medium, and computer device
JP6798050B1 (en) Generator, generation method and generation program
US20230283580A1 (en) Story message generation
CN116862495A (en) Payment tool decision method, device, computer equipment and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210210

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210210

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20210308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211105

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: 20220125

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220218

R150 Certificate of patent or registration of utility model

Ref document number: 7029557

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150