JP6300750B2 - Verification program, verification apparatus, and verification method - Google Patents

Verification program, verification apparatus, and verification method Download PDF

Info

Publication number
JP6300750B2
JP6300750B2 JP2015058549A JP2015058549A JP6300750B2 JP 6300750 B2 JP6300750 B2 JP 6300750B2 JP 2015058549 A JP2015058549 A JP 2015058549A JP 2015058549 A JP2015058549 A JP 2015058549A JP 6300750 B2 JP6300750 B2 JP 6300750B2
Authority
JP
Japan
Prior art keywords
api
verification
verification target
unit
test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015058549A
Other languages
Japanese (ja)
Other versions
JP2016177659A (en
Inventor
瞬 伊藤
瞬 伊藤
卓哉 香川
卓哉 香川
智也 小平
智也 小平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan 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 Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2015058549A priority Critical patent/JP6300750B2/en
Publication of JP2016177659A publication Critical patent/JP2016177659A/en
Application granted granted Critical
Publication of JP6300750B2 publication Critical patent/JP6300750B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、検証プログラム、検証装置及び検証方法に関する。   The present invention relates to a verification program, a verification apparatus, and a verification method.

近年、プログラムにおいて、API(Application Programming Interface)が盛んに利用されている。ユーザは、APIを利用することで、OS(Operating System)やライブラリ(Library)で提供される機能を有効に活用することができる。また、API(あるいは、APIを実装するソフトウェア)の挙動の検証やデバック作業を効率的に行うために、様々なテスト手法が提案されている。   In recent years, API (Application Programming Interface) has been actively used in programs. A user can effectively utilize functions provided by an OS (Operating System) or a library (Library) by using the API. Also, various test methods have been proposed in order to efficiently verify the behavior of API (or software that implements API) and perform debugging work.

例えば、テスト実行時のシステムの状態をAPI呼び出しにより取得したうえで、取得した状態に応じて関連するソフトウェアを制御することにより、常に同じテスト条件を作り出すことができる技術が知られている(例えば、特許文献1)。   For example, a technique is known that can always create the same test condition by acquiring the system state at the time of test execution by API call and controlling related software in accordance with the acquired state (for example, Patent Document 1).

また、プラグインモジュールからの情報を受けてテストケースを構築することにより、未知なる機能が発生したとしても、容易にテストの実施を可能とすることができる技術が知られている(例えば、特許文献2)。また、APIなどのソースコードを利用できない外部関数を処理する際に、モデルを提供して、その外部関数が適切に呼び出されるかどうかを評価するといった技術が知られている(例えば、特許文献3)。   In addition, a technology is known that can easily perform a test even if an unknown function occurs by building a test case by receiving information from a plug-in module (for example, a patent) Reference 2). In addition, when processing an external function that cannot use source code such as an API, a technique is known in which a model is provided and whether or not the external function is appropriately called is evaluated (for example, Patent Document 3). ).

国際公開第2009/150788号International Publication No. 2009/150788 特開2009−223700号公報JP 2009-223700 A 特開2006−236336号公報JP 2006-236336 A

しかしながら、上記の従来技術では、網羅的な検証を効率良く行うことができるとは限らない。具体的には、検証対象とするAPIが、他のAPIの処理結果を利用するなどの所定の関係性を有する場合、他のAPIが処理結果として発行する情報によって検証結果が変化する場合がある。このような場合、上記の従来技術では、他のAPIが処理結果として発行する情報を適切に把握することができないため、検証対象とするAPIに対して適切な検証を行うことは困難である。また、他のAPIが処理結果として発行する情報の組合せを手動で設定することは可能だが、かかる組合せは膨大な数になり、現実的ではない。   However, the above-described conventional technology cannot always perform exhaustive verification efficiently. Specifically, when the API to be verified has a predetermined relationship such as using the processing result of another API, the verification result may change depending on information issued as the processing result by another API. . In such a case, according to the above-described conventional technology, it is difficult to appropriately verify the API to be verified because information issued by other APIs as processing results cannot be properly grasped. In addition, it is possible to manually set combinations of information issued by other APIs as processing results, but such combinations are enormous and are not realistic.

本願は、上記に鑑みてなされたものであって、網羅的な検証を効率良く行うことができる検証プログラム、検証装置及び検証方法を提供することを目的とする。   The present application has been made in view of the above, and an object thereof is to provide a verification program, a verification apparatus, and a verification method capable of efficiently performing comprehensive verification.

本願に係る検証プログラムは、検証対象である検証対象API(Application Programming Interface)に対して実行されるテストケースを作成する作成手順と、前記検証対象APIと、当該検証対象APIが実行される際に利用する情報である参照情報を戻り値として返す関係にある他のAPIとの階層関係の設定を行う設定手順と、前記設定手順によって設定された階層関係に基づき、上位の階層にある前記他のAPIを呼び出すことにより前記参照情報を取得し、取得された前記参照情報及び前記テストケースを用いて検証対象APIを検証する検証手順と、をコンピュータに実行させることを特徴とする。   The verification program according to the present application includes a creation procedure for creating a test case to be executed for a verification target API (Application Programming Interface) that is a verification target, the verification target API, and when the verification target API is executed. A setting procedure for setting a hierarchical relationship with another API that has a relationship of returning reference information that is information to be used as a return value, and the other layer in an upper layer based on the hierarchical relationship set by the setting procedure The reference information is acquired by calling an API, and a verification procedure for verifying a verification target API using the acquired reference information and the test case is executed by a computer.

実施形態の一態様によれば、網羅的な検証を効率良く行うことができるという効果を奏する。   According to one aspect of the embodiment, there is an effect that exhaustive verification can be performed efficiently.

図1は、実施形態に係る検証処理の一例を示す図である。FIG. 1 is a diagram illustrating an example of a verification process according to the embodiment. 図2は、実施形態に係る検証装置の構成例を示す図である。FIG. 2 is a diagram illustrating a configuration example of the verification apparatus according to the embodiment. 図3は、実施形態に係るキャンペーンAPIを説明する図である。FIG. 3 is a diagram illustrating the campaign API according to the embodiment. 図4は、実施形態に係る広告グループAPIを説明する図である。FIG. 4 is a diagram illustrating the advertisement group API according to the embodiment. 図5は、実施形態に係る広告APIを説明する図(1)である。FIG. 5 is a diagram (1) illustrating the advertising API according to the embodiment. 図6は、実施形態に係る広告APIを説明する図(2)である。FIG. 6 is a diagram (2) illustrating the advertising API according to the embodiment. 図7は、実施形態に係る作成処理を説明する図(1)である。FIG. 7 is a diagram (1) illustrating a creation process according to the embodiment. 図8は、実施形態に係る作成処理を説明する図(2)である。FIG. 8 is a diagram (2) illustrating the creation process according to the embodiment. 図9は、実施形態に係る作成処理を説明する図(3)である。FIG. 9 is a diagram (3) illustrating the creation process according to the embodiment. 図10は、実施形態に係る検証処理を説明する図(1)である。FIG. 10 is a diagram (1) illustrating the verification process according to the embodiment. 図11は、実施形態に係る検証処理を説明する図(2)である。FIG. 11 is a diagram (2) illustrating the verification process according to the embodiment. 図12は、実施形態に係る検証処理を説明する図(3)である。FIG. 12 is a diagram (3) illustrating the verification process according to the embodiment. 図13は、実施形態に係る検証装置による作成処理手順を示すフローチャートである。FIG. 13 is a flowchart illustrating a creation processing procedure performed by the verification apparatus according to the embodiment. 図14は、実施形態に係る検証装置による検証処理手順を示すフローチャートである。FIG. 14 is a flowchart illustrating a verification processing procedure performed by the verification apparatus according to the embodiment. 図15は、検証装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。FIG. 15 is a hardware configuration diagram illustrating an example of a computer that realizes the function of the verification apparatus.

以下に、本願に係る検証プログラム、検証装置及び検証方法を実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る検証プログラム、検証装置及び検証方法が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。   Hereinafter, modes for carrying out a verification program, a verification device, and a verification method according to the present application (hereinafter referred to as “embodiments”) will be described in detail with reference to the drawings. In addition, the verification program, verification apparatus, and verification method which concern on this application are not limited by this embodiment. In the following embodiments, the same portions are denoted by the same reference numerals, and redundant description is omitted.

〔1.検証処理の一例〕
まず、図1を用いて、実施形態に係る検証処理の一例について説明する。図1は、実施形態に係る検証処理の一例を示す図である。図1では、検証システム1を例に挙げて、実施形態に係る検証処理について説明する。具体的には、図1では、検証システム1に含まれる検証装置100が検証対象となるAPIの動作を検証する処理(本願に係る検証プログラムに相当する)の流れについて説明する。
[1. Example of verification process)
First, an example of the verification process according to the embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating an example of a verification process according to the embodiment. In FIG. 1, the verification process 1 according to the embodiment will be described using the verification system 1 as an example. Specifically, FIG. 1 illustrates a flow of processing (corresponding to the verification program according to the present application) in which the verification apparatus 100 included in the verification system 1 verifies the operation of the API to be verified.

図1に示すように、検証システム1には、ユーザ端末10と、実行サーバ20、20、及び20と、検証装置100とが含まれる。検証装置100は、図示しない通信ネットワーク(例えば、インターネット)を介して、ユーザ端末10、実行サーバ20、20、及び20と通信可能に接続される。なお、以下では、実行サーバ20、20、及び20を区別する必要のないときは、実行サーバ20と表記する。また、検証システム1に含まれるユーザ端末10や実行サーバ20の台数は、図1に示した例に限られない。例えば、検証システム1には、複数台のユーザ端末10が含まれてもよいし、さらに多くの実行サーバ20が含まれてもよい。 As illustrated in FIG. 1, the verification system 1 includes a user terminal 10, execution servers 20 1 , 20 2 , and 20 3, and a verification device 100. The verification device 100 is communicably connected to the user terminal 10 and the execution servers 20 1 , 20 2 , and 20 3 via a communication network (for example, the Internet) (not shown). In the following, when it is not necessary to distinguish the executing server 20 1, 20 2, and 20 3, referred to as executing server 20. The number of user terminals 10 and execution servers 20 included in the verification system 1 is not limited to the example illustrated in FIG. For example, the verification system 1 may include a plurality of user terminals 10 and may include more execution servers 20.

ユーザ端末10は、ユーザによって利用される情報処理装置である。具体的には、ユーザ端末10は、検証対象となるAPIの動作を検証するため、検証装置100が提供する検証プログラムのUI(User Interface)を表示したり、検証装置100にプログラムの実行命令を送信したりするためなどに利用される。ユーザ端末10は、例えば、スマートフォンやタブレット端末やPDA(Personal Digital Assistant)等の移動端末や、デスクトップ型PC(Personal Computer)や、ノート型PC等である。なお、実施形態における一般ユーザとは、例えば、実行サーバ20が提供するAPIであって、ウェブネットワーク上に配信させる広告を設定するための機能を提供するAPI(以下、「広告に係るAPI」と表記する場合がある)を利用しようとする広告主等が該当する。   The user terminal 10 is an information processing device used by a user. Specifically, the user terminal 10 displays a UI (User Interface) of a verification program provided by the verification device 100 in order to verify the operation of the API to be verified, or issues a program execution instruction to the verification device 100. It is used for sending. The user terminal 10 is, for example, a mobile terminal such as a smartphone, a tablet terminal, or a PDA (Personal Digital Assistant), a desktop PC (Personal Computer), a notebook PC, or the like. The general user in the embodiment is, for example, an API provided by the execution server 20 and an API that provides a function for setting an advertisement to be distributed on the web network (hereinafter referred to as “API related to advertisement”). Advertisers who want to use this may apply.

実行サーバ20は、APIを実行するサーバ装置である。例えば、実行サーバ20は、インターネットを介して、APIをユーザに提供する。そして、実行サーバ20は、ユーザからの所定の入力や制御に従い、APIを実行する。例えば、実行サーバ20は、広告に係るAPIをユーザに提供することで、広告に係る入札の設定を受け付けたり、ユーザが広告配信を所定のウェブサイトで行う手間を省いたり、所定のウェブサイトで広告を表示させるための処理を実行する。実施形態では、実行サーバ20は、検証装置100が実行する検証プログラムによって、検証に係る設定を受け付けたり、APIを実行したりする。なお、実行サーバ20、20、及び20は、それぞれ異なるAPIを保持し、検証装置100からの送信される制御に従い、各々の処理を実行する。ユーザ端末10や検証装置100は、各々の実行サーバ20のAPIを利用する場合、実行サーバ20を特定する情報を指定する。例えば、ユーザ端末10や検証装置100は、実行サーバ20を特定するURL(Uniform Resource Locator)を指定する。 The execution server 20 is a server device that executes an API. For example, the execution server 20 provides an API to the user via the Internet. Then, the execution server 20 executes the API according to predetermined input and control from the user. For example, the execution server 20 provides an API related to the advertisement to the user, accepts the setting of the bid related to the advertisement, saves the user from having to distribute the advertisement on the predetermined website, Execute the process to display the advertisement. In the embodiment, the execution server 20 receives a setting related to verification or executes an API by a verification program executed by the verification apparatus 100. The execution servers 20 1 , 20 2 , and 20 3 hold different APIs, and execute each process according to the control transmitted from the verification device 100. When using the API of each execution server 20, the user terminal 10 and the verification device 100 specify information that identifies the execution server 20. For example, the user terminal 10 and the verification apparatus 100 specify a URL (Uniform Resource Locator) that identifies the execution server 20.

実施形態において、実行サーバ20は、ウェブネットワークで利用されるAPI(以下、「ウェブAPI」と表記する場合がある)を提供する。ウェブAPIは、API同士で相互の利用関係を有する場合がある。相互の利用関係とは、例えば、ウェブAPI同士が上位及び下位という階層関係を有すること等をいう。例えば、下層のウェブAPIは、上層のウェブAPIの所定の処理の結果である戻り値を取得し、取得した戻り値を利用して処理を行う場合がある。この場合、下層のウェブAPIは、上層のウェブAPIから得られる戻り値を取得できない場合には、処理がエラーとなる場合がある。なお、以下では、上層のAPIが発行する戻り値のような情報であって、下層のAPIの実行のために参照される情報を「参照情報」と表記する場合がある。参照情報は、上層のAPIの処理結果として発行される所定のID情報であり、上層のAPIで行われた処理を識別することができる。例えば、参照情報は、数桁の数値等により構成される。   In the embodiment, the execution server 20 provides an API (hereinafter, may be referred to as “web API”) used in the web network. Web APIs may have mutual usage relationships among APIs. The mutual usage relationship means, for example, that the web APIs have a hierarchical relationship of upper and lower levels. For example, the lower layer web API may acquire a return value that is a result of a predetermined process of the upper layer web API, and perform processing using the acquired return value. In this case, if the lower layer web API cannot acquire the return value obtained from the upper layer web API, the processing may result in an error. In the following description, information such as a return value issued by the upper API and referred to for execution of the lower API may be referred to as “reference information”. The reference information is predetermined ID information issued as a processing result of the upper layer API, and can identify a process performed by the upper layer API. For example, the reference information is composed of numerical values of several digits.

検証装置100は、検証対象となるAPI(以下、「検証対象API」と表記する場合がある)の動作をテスト(検証)するためのテストケースを作成し、テストケースに従ってAPIをテストする情報処理装置である。検証装置100は、検証プログラムを実行することにより、検証対象APIのテストを網羅的に効率良く実施することができる。以下、図1を用いて、検証システム1及び検証装置100による検証処理を流れに沿って説明する。   The verification apparatus 100 creates a test case for testing (verification) the operation of an API to be verified (hereinafter sometimes referred to as “verification target API”), and processes the API according to the test case. Device. The verification apparatus 100 can execute the verification target API test comprehensively and efficiently by executing the verification program. Hereinafter, the verification process by the verification system 1 and the verification apparatus 100 will be described along the flow with reference to FIG.

まず、図1に示した例において、検証装置100は、ユーザがAPIのテストに関する情報等を検証プログラムに設定するために利用されるUIをユーザ端末10に提供する(ステップS11)。すなわち、ユーザ端末10は、検証プログラムに係るUIを表示部に表示させ、ユーザからの入力を受け付ける。   First, in the example illustrated in FIG. 1, the verification apparatus 100 provides the user terminal 10 with a UI that is used by the user to set information related to an API test or the like in the verification program (step S11). That is, the user terminal 10 displays a UI related to the verification program on the display unit and accepts input from the user.

ここで、ユーザ端末10は、検証対象APIの階層を設定する(ステップS12)。上記のように、検証対象APIがウェブAPIである場合、API同士に階層関係を有する場合がある。そして、階層関係がある場合には、検証対象APIに対して上層のAPIを設定していなければ、検証におけるテストの項目に漏れが生じたり、エラーが発生したりするため、網羅的な検証が行えない場合がある。そこで、ユーザ端末10は、検証対象APIの階層を設定することで、漏れのないテストを検証プログラムに行わせることができる。   Here, the user terminal 10 sets the hierarchy of the verification target API (step S12). As described above, when the verification target API is a web API, the APIs may have a hierarchical relationship. And if there is a hierarchical relationship, if an upper layer API is not set for the verification target API, there will be omissions in test items in the verification or errors will occur, so comprehensive verification will be possible. It may not be possible. Therefore, the user terminal 10 can cause the verification program to perform a test without omission by setting the hierarchy of the verification target API.

また、ユーザ端末10は、検証プログラムによって提供される所定のテストパターンを選択することで、APIのテストケースを作成させる。ここで、テストパターンとは、検証のためにAPIに実行させる所定の動作を示す。例えば、テストパターンは、ユーザから入力を受け付ける項目を有するAPIにおいて、提供した入力必須項目に入力がなされているか否か、あるいは、入力項目に設定された最大値を超える値が入力されているか否かなど、具体的にAPIがテストとして行う項目として予め定義された動作(挙動)のパターンである。なお、用途に応じて、ユーザ端末10は、検証プログラムによって提供される所定のテストパターン以外のテストパターンを作成させることもできる。また、テストケースとは、テストパターンをまとめたものであり、検証プログラムがAPIに対して実行する一連のテスト項目を示す。また、テストケースには、テストが行われる環境に関する情報等も含まれる。   Further, the user terminal 10 creates an API test case by selecting a predetermined test pattern provided by the verification program. Here, the test pattern indicates a predetermined operation to be executed by the API for verification. For example, in the API having an item that accepts an input from the user, the test pattern is input to the required input item provided, or whether a value exceeding the maximum value set in the input item is input. Specifically, the pattern is an action (behavior) predefined as an item that the API specifically performs as a test. Note that the user terminal 10 can also create a test pattern other than the predetermined test pattern provided by the verification program depending on the application. The test case is a collection of test patterns, and indicates a series of test items executed by the verification program for the API. The test case also includes information about the environment in which the test is performed.

このように、検証装置100は、APIの階層など、ユーザ端末10から設定される情報の送信を受け付ける。そして、検証装置100は、ユーザ端末10から設定された情報に基づいて、テストケースを作成する(ステップS13)。そして、検証装置100は、ユーザ端末10からの制御に従い、テストケースを実行することにより、検証対象APIのテストを行う。なお、検証装置100は、必要に応じて実行サーバ20、20、及び20にアクセスし、それぞれが保持するAPIをテストさせる場合がある(ステップS14)。 In this way, the verification apparatus 100 accepts transmission of information set from the user terminal 10 such as an API hierarchy. And the verification apparatus 100 produces a test case based on the information set from the user terminal 10 (step S13). Then, the verification apparatus 100 tests the verification target API by executing a test case according to the control from the user terminal 10. Note that the verification apparatus 100 may access the execution servers 20 1 , 20 2 , and 20 3 as necessary to test the APIs held by each of them (step S14).

ここで、検証装置100に係る検証プログラムは、テストを実行するにあたり、検証対象APIの上層のAPIに対して、最上層に位置するAPIから順に参照情報を発行させる。すなわち、検証プログラムは、検証対象APIが実行するテストパターンについて、上層に位置するAPIから発行される全ての参照情報が入力された状態でテストを行わせる。すなわち、検証プログラムによれば、検証対象APIが実行するテストパターンにおいて、他のAPIの動作結果が組み込まれるような相互の関係を有するテストパターンであっても、取りうる結果の全てを網羅的に取得することができる。   Here, when executing the test, the verification program according to the verification apparatus 100 causes the upper API of the verification target API to issue reference information in order from the API located in the uppermost layer. That is, the verification program causes the test pattern to be executed by the verification target API to be tested in a state where all reference information issued from the API located in the upper layer is input. That is, according to the verification program, all the possible results are comprehensively included in the test pattern executed by the verification target API, even if the test pattern has a mutual relationship such that the operation result of another API is incorporated. Can be acquired.

そして、検証装置100は、検証対象APIに対して行われたテスト結果の通知をユーザ端末10に行う(ステップS15)。例えば、検証装置100は、検証対象APIに対して行われたテストケースの一覧をUIに表示させることで、ユーザ端末10に結果を通知する。この場合、検証装置100は、1つのテストパターンに対して、複数の結果を表示する場合がある。これは、APIのテストにおいて、上層のAPIから発行された参照情報が異なることにより、1つのテストパターンを検証するために、異なる参照情報ごとに検証対象APIが実行されていることによる。言い換えれば、検証装置100は、検証対象APIに設定された階層関係に基づいて、1つのテストパターンに対する複数のテスト環境(テストケース)を動的に作成する場合がある。   And the verification apparatus 100 notifies the user terminal 10 of the test result performed with respect to verification object API (step S15). For example, the verification apparatus 100 notifies the user terminal 10 of the result by displaying a list of test cases performed on the verification target API on the UI. In this case, the verification apparatus 100 may display a plurality of results for one test pattern. This is because the verification target API is executed for each different reference information in order to verify one test pattern because the reference information issued from the upper layer API is different in the API test. In other words, the verification apparatus 100 may dynamically create a plurality of test environments (test cases) for one test pattern based on the hierarchical relationship set in the verification target API.

このように、実施形態に係る検証装置100は、検証対象である検証対象APIに対して実行されるテストケースを作成し、検証対象APIと、当該検証対象APIが実行される際に利用する参照情報を戻り値として返す関係にある他のAPIとの階層関係についての設定を行う。そして、検証装置100は、設定された階層関係に基づいて、他のAPIを上位の階層から順に呼び出すことにより、検証対象APIの実行に用いられる参照情報を取得しながら、テストケースを用いて検証対象APIを検証する。   As described above, the verification apparatus 100 according to the embodiment creates a test case to be executed for the verification target API that is the verification target, and uses the verification target API and the reference used when the verification target API is executed. Setting is made for a hierarchical relationship with other APIs that have a relationship of returning information as a return value. Then, the verification apparatus 100 performs verification using a test case while acquiring reference information used for executing the verification target API by sequentially calling other APIs from the higher hierarchy based on the set hierarchical relationship. Validate the target API.

これにより、実施形態に係る検証装置100は、ウェブAPIなどの相互に関係を有するAPIの検証処理を効率良く行うことができる。すなわち、テストを実施させるユーザは、検証対象APIの階層関係を設定することで、上位階層のAPIがとりうる戻り値の組合せ等を意識することなく、検証対象APIに対するテストを実行させることができる。このように、検証装置100は、階層関係を有するAPIに対して、網羅的な検証を効率良く行うことができる。   Thereby, the verification apparatus 100 which concerns on embodiment can perform efficiently the verification process of API which has mutual relations, such as web API. That is, the user who performs the test can execute the test for the verification target API by setting the hierarchical relationship of the verification target API without being aware of the combination of the return values that can be taken by the higher-level API. . As described above, the verification apparatus 100 can efficiently perform exhaustive verification on an API having a hierarchical relationship.

〔2.検証装置の構成〕
次に、図2を用いて、実施形態に係る検証装置100の構成について説明する。図2は、実施形態に係る検証装置100の構成例を示す図である。図2に示すように、検証装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、検証装置100は、検証装置100を利用する管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
[2. Configuration of verification device]
Next, the configuration of the verification apparatus 100 according to the embodiment will be described with reference to FIG. FIG. 2 is a diagram illustrating a configuration example of the verification apparatus 100 according to the embodiment. As illustrated in FIG. 2, the verification apparatus 100 includes a communication unit 110, a storage unit 120, and a control unit 130. The verification apparatus 100 includes an input unit (for example, a keyboard and a mouse) that receives various operations from an administrator who uses the verification apparatus 100, and a display unit (for example, a liquid crystal display) that displays various types of information. You may have.

(通信部110について)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。かかる通信部110は、通信ネットワークと有線又は無線で接続され、通信ネットワークを介して、ユーザ端末10や実行サーバ20等との間で情報の送受信を行う。
(About the communication unit 110)
The communication unit 110 is realized by, for example, a NIC (Network Interface Card). The communication unit 110 is connected to a communication network in a wired or wireless manner, and transmits and receives information to and from the user terminal 10 and the execution server 20 via the communication network.

(記憶部120について)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、API情報記憶部121と、テストケース記憶部122と、テスト結果記憶部123とを有する。以下、各記憶部について順に説明する。
(About the storage unit 120)
The storage unit 120 is realized 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 120 according to the embodiment includes an API information storage unit 121, a test case storage unit 122, and a test result storage unit 123. Hereinafter, each storage unit will be described in order.

(API情報記憶部121について)
API情報記憶部121は、検証装置100が検証を行うAPIに関する情報を記憶する。例えば、API情報記憶部121は、APIを識別するための識別情報(例えば、APIの名称や種別)や、APIに関する変数や配列に関する情報(例えば、JAVA(登録商標)等においてはフィールドと表記される)や、APIが保持されている場所(例えば、実行サーバ20のURL)などを記憶する。
(About the API information storage unit 121)
The API information storage unit 121 stores information related to the API that the verification apparatus 100 performs verification. For example, the API information storage unit 121 is described as a field in identification information (for example, API name and type) for identifying an API, information on API variables and information (for example, JAVA (registered trademark)), and the like. And the location where the API is held (for example, the URL of the execution server 20).

例えばユーザは、検証に係るテスト項目となるテストケースを作成する際には、UIを介して、API情報記憶部121に記憶されているAPIの情報を参照することができる。   For example, the user can refer to the API information stored in the API information storage unit 121 via the UI when creating a test case that is a test item for verification.

(テストケース記憶部122について)
テストケース記憶部122は、APIの検証に用いられるテストケースに関する情報を記憶する。例えば、テストケース記憶部122は、検証対象APIである検証対象APIの識別情報や、検証対象APIに設定された階層情報や、実際にテストとして実行されるテストパターンの種別や、テストで実行されるメソッド(method)の種類などが記憶される。
(About test case storage unit 122)
The test case storage unit 122 stores information on test cases used for API verification. For example, the test case storage unit 122 identifies the verification target API that is the verification target API, the hierarchical information set in the verification target API, the type of test pattern that is actually executed as a test, The type of method to be stored is stored.

例えばユーザは、検証対象APIに対するテストケースを作成した際に、UIを介して、テストケース記憶部122に記憶されているテストケースの情報を参照することができる。これにより、ユーザは、テストケースにおいて実行されるテストパターンの種別などを確認することができる。   For example, when creating a test case for the verification target API, the user can refer to the information on the test case stored in the test case storage unit 122 via the UI. Thereby, the user can confirm the type of the test pattern executed in the test case.

(テスト結果記憶部123について)
テスト結果記憶部123は、テストケースを用いて検証対象APIの挙動に対するテストが行われた後の結果を記憶する。例えば、テスト結果記憶部123は、テストを行った環境に関する情報や、各々のテストパターンや、各々のテストパターンに対して期待される状態や、実際に期待される状態が発生したか否かが検証された結果などを記憶する。
(About test result storage unit 123)
The test result storage unit 123 stores a result after the test for the behavior of the verification target API using the test case. For example, the test result storage unit 123 determines whether information about the environment in which the test was performed, each test pattern, a state expected for each test pattern, and a state actually expected have occurred. The verified result is stored.

また、上述のように、テストの結果は、上層のAPIが発行する参照情報によって異なる場合がある。すなわち、検証対象APIは、上層のAPIが発行する参照情報を受けて処理を実行するため、1つのテストパターンの実行であっても、複数の結果を返す場合がある。このような場合には、テスト結果記憶部123は、実施されたテストケースに対する結果として、実施された全てのテストパターンの結果を網羅的に記憶する。   Further, as described above, the test result may differ depending on the reference information issued by the upper API. In other words, since the verification target API receives the reference information issued by the upper layer API and executes the process, there are cases where a plurality of results are returned even if one test pattern is executed. In such a case, the test result storage unit 123 comprehensively stores the results of all the executed test patterns as the results for the executed test cases.

例えばユーザは、所定のテストケースを用いて検証対象APIに対してテストが行われた場合に、UIを介して、テスト結果記憶部123に記憶されているテストケースの結果を参照することができる。   For example, when a test is performed on the verification target API using a predetermined test case, the user can refer to the result of the test case stored in the test result storage unit 123 via the UI. .

(制御部130について)
制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、検証装置100内部の記憶装置に記憶されている各種プログラム(検証プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
(About the control unit 130)
The control unit 130 is configured such that, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like stores various programs (corresponding to an example of the verification program) stored in a storage device inside the verification apparatus 100 as a work area. This is realized by being executed as The control unit 130 is realized by an integrated circuit such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA).

実施形態に係る制御部130は、図2に示すように、UI提供部131と、作成部132と、受付部133と、設定部134と、検証部135と、実行部136と、格納部137とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図2に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、図2に示した接続関係に限られず、他の接続関係であってもよい。   As illustrated in FIG. 2, the control unit 130 according to the embodiment includes a UI providing unit 131, a creation unit 132, a reception unit 133, a setting unit 134, a verification unit 135, an execution unit 136, and a storage unit 137. And implements or executes the functions and operations of information processing described below. The internal configuration of the control unit 130 is not limited to the configuration illustrated in FIG. 2, and may be another configuration as long as the information processing described later is performed. In addition, the connection relationship between the processing units included in the control unit 130 is not limited to the connection relationship illustrated in FIG. 2, and may be another connection relationship.

(UI提供部131について)
UI提供部131は、検証処理に関するUIを提供する。具体的には、UI提供部131は、検証装置100が提供する検証プログラムをユーザが利用するために、ユーザ端末10の表示部に表示させるUIを提供する。一例として、UI提供部131は、後述する検証部135によって検証された結果を表示するUIを提供する。
(About the UI providing unit 131)
The UI providing unit 131 provides a UI related to the verification process. Specifically, the UI providing unit 131 provides a UI to be displayed on the display unit of the user terminal 10 so that the user can use the verification program provided by the verification device 100. As an example, the UI providing unit 131 provides a UI for displaying a result verified by the verification unit 135 described later.

ユーザは、UI提供部131によって提供されるUIを介して、APIの検証処理に係る種々の設定を行う。また、ユーザは、UIに表示されるテストパターンを参照し、実際にテストを行う項目としてテストパターンを選択する。そして、ユーザは、選択したテストパターンがまとめられたテストケースを作成させる。   The user performs various settings related to the API verification process via the UI provided by the UI providing unit 131. Further, the user refers to the test pattern displayed on the UI, and selects the test pattern as an item to be actually tested. Then, the user creates a test case in which the selected test patterns are collected.

また、UI提供部131は、後述する検証部135によって検証された結果を表示するUIを提供する。これにより、ユーザは、APIのテストが実施された後に、UIを介してテスト結果を参照することができる。このとき、UI提供部131は、UIを介して、検証対象APIの検証結果と併せて、検証対象APIの検証に用いられた他のAPIに関する情報についても提供することができる。検証対象APIの検証に用いられた他のAPIとは、具体的には、検証対象APIに対して階層関係が設定されたAPIのことを示す。例えば、UI提供部131は、実行された検証対象APIのスクリプトにおいて、実際に参照情報として用いられたAPIの識別情報(例えば、名称)等を提供する。   In addition, the UI providing unit 131 provides a UI for displaying a result verified by the verification unit 135 described later. Accordingly, the user can refer to the test result via the UI after the API test is performed. At this time, the UI providing unit 131 can also provide information on other APIs used for verification of the verification target API together with the verification result of the verification target API via the UI. The other API used for verification of the verification target API specifically indicates an API in which a hierarchical relationship is set for the verification target API. For example, the UI providing unit 131 provides API identification information (for example, name) that is actually used as reference information in the executed script of the API to be verified.

すなわち、UI提供部131は、後述する作成部132や、検証部135、及び記憶部120等と相互に情報をやり取りすることにより、実行するテストの内容や、テストの結果等をユーザに提供する。   That is, the UI providing unit 131 exchanges information with the creation unit 132, the verification unit 135, the storage unit 120, and the like, which will be described later, to provide the user with test contents to be executed, test results, and the like. .

(作成部132について)
作成部132は、検証対象である検証対象APIに対するテストケースを作成する。例えば、作成部132は、ユーザから検証対象APIに対して実行するテストに関する設定を受け付けることにより、ユーザが所望するテストケースを作成する。なお、テストケースの作成にあたり、作成部132は、APIに係る情報を取得する。作成部132は、ユーザから送信される情報を用いてAPIに関する情報を取得してもよいし、外部の提供装置からAPIに関する情報を取得してもよい。この場合、作成部132は、取得した情報をAPI情報記憶部121に格納する。また、図2に示すように、作成部132には、受付部133と、設定部134とが含まれる。
(About the creation unit 132)
The creation unit 132 creates a test case for the verification target API that is the verification target. For example, the creation unit 132 creates a test case desired by the user by receiving a setting regarding a test to be executed on the verification target API from the user. In creating a test case, the creation unit 132 acquires information related to the API. The creation unit 132 may acquire information related to the API using information transmitted from the user, or may acquire information related to the API from an external providing device. In this case, the creation unit 132 stores the acquired information in the API information storage unit 121. As illustrated in FIG. 2, the creation unit 132 includes a reception unit 133 and a setting unit 134.

(受付部133について)
受付部133は、テストケースに関する設定を受け付ける。具体的には、受付部133は、UI提供部131が提供するUIを介して、ユーザ端末10から送信されるテストケースに関する設定を受け付ける。
(About the reception unit 133)
The accepting unit 133 accepts settings related to the test case. Specifically, the reception unit 133 receives a setting related to a test case transmitted from the user terminal 10 via a UI provided by the UI provision unit 131.

例えば、受付部133は、検証を行おうとするAPIである検証対象APIの指定を受け付ける。また、受付部133は、検証対象APIにおける配列や変数の環境情報(例えば、フィールド等)の設定を受け付ける。   For example, the accepting unit 133 accepts designation of a verification target API that is an API to be verified. The accepting unit 133 accepts setting of environment information (for example, fields) of arrays and variables in the verification target API.

また、受付部133は、検証対象APIと、当該検証対象APIが実行される際に利用する参照情報を戻り値として返す関係にある他のAPIとの階層関係についての指定を受け付ける。すなわち、受付部133は、ユーザから指定された検証対象APIがウェブAPIであり、参照情報等を利用して処理を実行する階層関係にあるAPIがある場合には、かかる指定をユーザから受け付ける。かかる階層関係は、後述する設定部134により設定される。   The accepting unit 133 accepts designation of a hierarchical relationship between the verification target API and another API that has a relationship of returning reference information used when the verification target API is executed as a return value. That is, when the verification target API designated by the user is a web API and there is an API having a hierarchical relationship for executing processing using reference information or the like, the accepting unit 133 accepts such designation from the user. Such a hierarchical relationship is set by the setting unit 134 described later.

また、受付部133は、テストとして実行するAPIの処理の種別(メソッド)について受け付ける。例えば、受付部133は、メソッドとして「add」や「set」といった具体的なメソッドの指定を受け付ける。また、受付部133は、APIリファレンス(API Reference)を受け付け、かかるAPIリファレンスに対応するテストパターンを受け付ける。   The accepting unit 133 accepts the type (method) of API processing executed as a test. For example, the reception unit 133 receives a specific method designation such as “add” or “set” as a method. The accepting unit 133 accepts an API reference and accepts a test pattern corresponding to the API reference.

テストパターンは、テストの際に検証対象APIに入力される情報であり、予め検証プログラムによっていくつかのパターンが用意される。例えば、テストパターンとして、入力情報として「必須項目×デフォルト値」や、「必須項目×最小値」などのパターンが予め準備される。一例として、「必須項目×デフォルト値」であれば、APIにおいて入力が必須となっている項目に対してデフォルト値が入力されている、という状況を示したテストパターンとなる。   The test pattern is information input to the verification target API during the test, and some patterns are prepared in advance by the verification program. For example, as a test pattern, patterns such as “essential item × default value” and “essential item × minimum value” are prepared in advance as input information. As an example, if “required item × default value”, the test pattern indicates a situation in which a default value is input for an item that is required to be input in the API.

(設定部134について)
設定部134は、受付部133によって受け付けられた情報に基づいてテストケースを作成するための設定を行う。例えば、設定部134は、検証対象APIと、当該検証対象APIが実行される際に利用する参照情報を戻り値として返す関係にある他のAPIとの階層関係についての設定を行う。
(About the setting unit 134)
The setting unit 134 performs settings for creating a test case based on the information received by the receiving unit 133. For example, the setting unit 134 sets the hierarchical relationship between the verification target API and another API that has a relationship of returning reference information used when the verification target API is executed as a return value.

設定部134によって階層関係が設定されたテストケースは、検証対象APIのテストを実行するときに、階層関係に基づく処理を行うことができる。例えば、検証対象APIが参照情報を利用するスクリプト(script)を実行する場合、参照情報を取得していなければ、結果としてエラーが返される。一方、設定部134によって階層関係が設定されたテストケースを用いて検証対象APIが実行される場合、実行されるスクリプトには、上位階層のAPIを呼び出して取得された参照情報が入力される。これにより、検証プログラムは、検証対象APIに対する処理について、エラーを発生させずに行うことができる。   The test case in which the hierarchical relationship is set by the setting unit 134 can perform processing based on the hierarchical relationship when executing the test of the verification target API. For example, when the verification target API executes a script that uses reference information, if the reference information is not acquired, an error is returned as a result. On the other hand, when the verification target API is executed using the test case in which the hierarchical relationship is set by the setting unit 134, the reference information acquired by calling the higher-level API is input to the executed script. Thereby, the verification program can perform the process for the verification target API without causing an error.

また、設定部134は、検証対象APIに対する階層関係の順序を示す情報である階層レベルをAPIごとに設定することが可能である。例えば、検証対象APIが参照する戻り値を発行するAPIの更に上層のAPIが存在する場合には、設定部134は、更に上層のAPIを「階層レベル1」とし、検証対象APIが参照する戻り値を発行するAPIを「階層レベル2」と設定することができる。すなわち、設定部134は、検証対象APIについて多層的な関係性を設定することができる。   Further, the setting unit 134 can set a hierarchy level, which is information indicating the order of the hierarchical relationship with respect to the verification target API, for each API. For example, when there is a higher-level API that issues a return value referred to by the verification target API, the setting unit 134 sets the higher-level API to “hierarchy level 1” and returns the verification target API to reference. An API for issuing a value can be set as “hierarchy level 2”. That is, the setting unit 134 can set a multi-layer relationship for the verification target API.

このように、受付部133及び設定部134による処理に基づいて、作成部132は、ユーザが所望するテストケースを作成する。また、作成部132は、作成されたテストケースをテストケース記憶部122に格納する。   Thus, based on the processing by the reception unit 133 and the setting unit 134, the creation unit 132 creates a test case desired by the user. In addition, the creation unit 132 stores the created test case in the test case storage unit 122.

(検証部135について)
検証部135は、検証対象となるAPIを検証する。例えば、検証部135は、設定部134によって設定された階層関係に基づき、上位の階層にあるAPIを呼び出すことにより上位の階層にあるAPIから発行される参照情報を取得し、取得された参照情報及び作成部132によって作成されたテストケースを用いて、検証対象APIを検証する。
(About the verification unit 135)
The verification unit 135 verifies the API to be verified. For example, the verification unit 135 acquires reference information issued from an API in an upper layer by calling an API in an upper layer based on the hierarchical relationship set by the setting unit 134, and the acquired reference information The verification target API is verified using the test case created by the creation unit 132.

なお、検証部135は、設定部134によって検証対象APIに対する階層関係の順序を示す情報である階層レベルが設定された上層のAPIがある場合には、設定部134によって設定された階層レベルが上位の順に上層のAPIを呼び出すことにより参照情報を取得し、取得された参照情報を用いて検証対象APIを検証する。具体的には、検証部135は、検証対象APIに対して上位階層となる複数のAPIが設定されている場合には、階層レベルの最上位のAPIを呼び出す(実行する)ことで参照情報を取得し、取得された参照情報を利用して、次の階層レベルのAPIを呼び出す。すなわち、検証部135は、設定された階層レベルが上位の順に他のAPIを呼び出し、参照情報として、下位で必要な上位設定を予め登録する。例えば、検証部135は、上位のAPIから取得される参照情報をテストケース記憶部122に登録(格納)する。そして、検証部135は、登録された参照情報を用いて、より下位のAPIを呼び出す。検証部135は、かかる処理を繰り返すことで、最終的に検証対象APIで利用する参照情報を取得し、取得された参照情報を用いて検証対象APIを検証する。図2に示すように、検証部135は、実行部136と、格納部137とを有する。   Note that the verification unit 135 determines that the hierarchical level set by the setting unit 134 is higher when there is an upper-level API in which the hierarchical level that is information indicating the order of the hierarchical relationship with the verification target API is set by the setting unit 134. The reference information is acquired by calling the upper-level APIs in this order, and the verification target API is verified using the acquired reference information. Specifically, when a plurality of APIs that are higher layers are set for the verification target API, the verification unit 135 calls (executes) the top-level API at the hierarchical level to obtain the reference information. The API of the next hierarchy level is called using the acquired reference information. That is, the verification unit 135 calls other APIs in the descending order of the set hierarchy level, and registers in advance the upper settings required in the lower order as reference information. For example, the verification unit 135 registers (stores) reference information acquired from a higher-level API in the test case storage unit 122. Then, the verification unit 135 calls a lower-level API using the registered reference information. The verification unit 135 repeats such processing to finally acquire reference information used by the verification target API, and verifies the verification target API using the acquired reference information. As illustrated in FIG. 2, the verification unit 135 includes an execution unit 136 and a storage unit 137.

(実行部136について)
実行部136は、検証対象APIに対する検証処理を実行する。例えば、実行部136は、作成部132によって作成されたテストケースに従い、検証対象APIに対して所定の入力を行う。そして、実行部136は、入力された情報に対する検証対象APIからの出力を得る。言い換えれば、実行部136は、テストパターンごとに定義されたテストを検証対象APIに実行し、結果を得る。
(About the execution unit 136)
The execution unit 136 executes a verification process for the verification target API. For example, the execution unit 136 performs a predetermined input to the verification target API according to the test case created by the creation unit 132. Then, the execution unit 136 obtains an output from the verification target API for the input information. In other words, the execution unit 136 executes a test defined for each test pattern on the verification target API and obtains a result.

実行部136は、上述のように、階層関係が設定されたAPIに対しては、上層のAPIから参照情報を取得しながら、検証対象APIに対するテストを実行していく。そして、実行部136は、1つのテストパターンから参照情報ごとに派生するテスト結果を取得する。すなわち、実行部136によれば、階層関係に応じて出力が変化する結果についても取得できるので、ユーザは、網羅的に検証対象APIの挙動に関する結果を得ることができる。また、実行部136は、設定部134によって設定された階層関係に基づいて、自動的に上層のAPIを呼び出して参照情報を得ることができるので、ユーザは、効率的に漏れのないテスト結果を得ることができる。   As described above, the execution unit 136 executes the test for the verification target API while obtaining the reference information from the upper layer API for the API for which the hierarchical relationship is set. Then, the execution unit 136 acquires a test result derived for each reference information from one test pattern. That is, according to the execution unit 136, it is possible to obtain the result of the output changing according to the hierarchical relationship, so that the user can comprehensively obtain the result regarding the behavior of the verification target API. Further, since the execution unit 136 can automatically call the upper layer API and obtain the reference information based on the hierarchical relationship set by the setting unit 134, the user can efficiently obtain a test result without omission. Can be obtained.

(格納部137について)
格納部137は、実行部136によって実行された検証処理の結果を格納する。具体的には、格納部137は、テストケースに従って実行された各々のテストパターンの結果をテスト結果記憶部123に格納する。
(About the storage unit 137)
The storage unit 137 stores the result of the verification process executed by the execution unit 136. Specifically, the storage unit 137 stores the result of each test pattern executed according to the test case in the test result storage unit 123.

〔3.処理の一例〕
上記、検証プログラムを実行する検証装置100の構成について説明した。以下では、検証装置100が実行する検証処理の一例として、具体的に、ユーザが広告に係るAPIの一例である「広告API」を利用する例を示すとともに、かかる広告APIの検証が行われる処理について、ユーザ端末10に表示されるUIとともに説明する。以下の説明においては、検証装置100からユーザ端末10にUIが提供されており、ユーザは、UIを介して、ユーザ端末10で実行可能なツールとして検証プログラムを利用する例を想定する。
[3. Example of processing)
The configuration of the verification apparatus 100 that executes the verification program has been described. Hereinafter, as an example of the verification process executed by the verification apparatus 100, a specific example in which the user uses an “advertisement API” that is an example of an API related to an advertisement is shown, and a process in which the verification of the advertisement API is performed Will be described together with the UI displayed on the user terminal 10. In the following description, it is assumed that a UI is provided from the verification apparatus 100 to the user terminal 10 and the user uses a verification program as a tool that can be executed on the user terminal 10 via the UI.

まず、図3乃至図6を用いて、検証対象APIの一例として、広告に係るAPIに関する概要を説明する。広告に係るAPIは、ウェブネットワークを介して所定のユーザに利用される機能を提供するAPIの一例であり、より詳しくは、ウェブネットワーク上で配信される広告の設定を受け付ける機能を提供するAPIである。例えば、広告に係るAPIは、ユーザ(例えば、広告主)が広告を配信させようとする場合に利用するウェブAPIであり、所定の階層関係を有するものとする。   First, with reference to FIGS. 3 to 6, an outline of an API related to an advertisement will be described as an example of a verification target API. An API related to an advertisement is an example of an API that provides a function used by a predetermined user via a web network. More specifically, an API that provides a function of accepting a setting of an advertisement distributed on the web network. is there. For example, an API related to an advertisement is a web API used when a user (for example, an advertiser) intends to distribute an advertisement, and has a predetermined hierarchical relationship.

実施形態においては、広告に係るAPIは、アカウントの設定等を行う「アカウントAPI」、広告の全体予算等の設定を行う「キャンペーンAPI」、詳細な入札価格等の設定を行う「広告グループAPI」、具体的な広告コンテンツの設定を行う「広告API」の順に階層関係を有するものとする。すなわち、アカウントAPIは、キャンペーンAPIに対して上位である。また、キャンペーンAPIは、広告グループAPIに対して上位である。また、広告グループAPIは、広告APIに対して上位である。   In the embodiment, the API related to the advertisement is an “account API” for setting an account, etc., a “campaign API” for setting an overall budget of the advertisement, and an “ad group API” for setting a detailed bid price and the like. Assume that there is a hierarchical relationship in the order of “advertisement API” for setting specific advertisement content. That is, the account API is higher than the campaign API. Further, the campaign API is higher than the advertisement group API. The advertisement group API is higher than the advertisement API.

まず、ユーザは、アカウントAPIを利用し、アカウントの設定を行ったものとする。続いて、ユーザは、キャンペーンAPIを利用する。図3は、実施形態に係るキャンペーンAPIを説明する図である。キャンペーンAPIは、広告に係るウェブAPIの1つであり、例えば、所定の実行サーバ20から提供される。ユーザは、キャンペーンAPIを利用する場合、表示画面31に表示される所定のUIを用いて、画面内の項目に情報を入力する。これにより、ユーザは、広告に係るキャンペーンを設定できる。表示画面31において、「*」が表示される項目は、入力が必須である必須項目を示す。例えば、表示画面31において、「キャンペーン名」が入力されていない場合、キャンペーンAPIは、エラーを返す。表示画面31において、「*」が表示されていない項目は、入力が必須でない任意項目を示す。任意項目の場合、項目に情報が入力されていなくても、エラーとならない場合がある。また、表示画面31において、「入札方法」や、「配信方法」を選択するためのラジオボタンが設けられている。かかる選択によって、キャンペーンAPIが戻り値として発行する参照情報が変化する場合がある。   First, it is assumed that the user has set an account using the account API. Subsequently, the user uses a campaign API. FIG. 3 is a diagram illustrating the campaign API according to the embodiment. The campaign API is one of web APIs related to advertisements, and is provided from, for example, a predetermined execution server 20. When the user uses the campaign API, the user inputs information into items on the screen using a predetermined UI displayed on the display screen 31. Thereby, the user can set a campaign related to the advertisement. In the display screen 31, items for which “*” is displayed indicate essential items that must be input. For example, if “campaign name” is not input on the display screen 31, the campaign API returns an error. On the display screen 31, items for which “*” is not displayed indicate optional items that do not require input. In the case of an optional item, an error may not occur even if information is not entered in the item. In addition, the display screen 31 is provided with radio buttons for selecting “bid method” and “distribution method”. Depending on such selection, the reference information issued as a return value by the campaign API may change.

そして、ユーザは、キャンペーンAPIを利用し、キャンペーンの設定を行ったものとする。続いて、ユーザは、広告グループAPIを利用する。図4は、実施形態に係る広告グループAPIを説明する図である。ユーザは、広告グループAPIを利用する場合、表示画面32に表示される所定のUIを用いて、画面内の項目に情報を入力する。これにより、ユーザは、配信させようとする広告コンテンツの上位概念である広告グループを作成することができる。なお、図4に示すように、表示画面32にも表示画面31と同様、必須項目や、任意項目や、選択項目が存在する。   Then, it is assumed that the user has set a campaign using the campaign API. Subsequently, the user uses the advertisement group API. FIG. 4 is a diagram illustrating the advertisement group API according to the embodiment. When using the advertisement group API, the user uses the predetermined UI displayed on the display screen 32 to input information in the items on the screen. Thereby, the user can create an advertisement group that is a superordinate concept of the advertisement content to be distributed. As shown in FIG. 4, the display screen 32 includes essential items, optional items, and selection items as in the display screen 31.

そして、ユーザは、広告グループAPIを利用し、広告グループの設定を行ったものとする。続いて、ユーザは、広告APIを利用する。図5は、実施形態に係る広告グループAPIを説明する図(1)である。図5に示すように、ユーザは、広告APIにおいて、表示画面33のようなUIを介して、広告コンテンツに係るキーワードを入力することができる。広告コンテンツに係るキーワードは、例えば、検索処理の際に検索クエリとして用いられる。   Then, it is assumed that the user has set an advertisement group using the advertisement group API. Subsequently, the user uses an advertisement API. FIG. 5 is a diagram (1) illustrating the advertisement group API according to the embodiment. As shown in FIG. 5, the user can input a keyword related to the advertisement content via the UI such as the display screen 33 in the advertisement API. The keyword related to the advertisement content is used as a search query in the search process, for example.

ユーザは、キーワードの設定を行った場合、次の設定を行う。図6は、実施形態に係る広告グループAPIを説明する図(2)である。図6に示すように、ユーザは、広告APIにおいて、表示画面34のようなUIを介して、広告コンテンツに係る詳細な設定を行う。なお、広告APIにおいて、ユーザが配信を希望する広告コンテンツの種別によって、広告APIの処理が変化する場合がある。例えば、ユーザは、広告APIにおいて、テキストによる広告コンテンツを作成するか、あるいは、例えばスマートフォン等で動作するアプリ用の広告コンテンツを作成するかを選択できる。このようにAPIの処理が2通りある場合、後述するテストケースに影響を与える場合がある。   When the user sets a keyword, the user performs the following setting. FIG. 6 is a diagram (2) illustrating the advertisement group API according to the embodiment. As shown in FIG. 6, the user performs detailed settings related to the advertisement content via the UI such as the display screen 34 in the advertisement API. In the advertising API, the processing of the advertising API may change depending on the type of advertising content that the user wants to distribute. For example, in the advertising API, the user can select whether to create advertising content based on text or to create advertising content for an application that operates on a smartphone or the like. In this way, when there are two types of API processing, the test case described later may be affected.

以上、図3乃至図6を用いて、広告に係るAPIについて説明した。続いて、図7乃至図11を用いて、検証装置100で実行される検証プログラムが広告APIを検証する処理の一例について説明する。   The API related to the advertisement has been described above with reference to FIGS. 3 to 6. Next, an example of processing in which the verification program executed by the verification apparatus 100 verifies the advertisement API will be described with reference to FIGS. 7 to 11.

図7は、実施形態に係る作成処理を説明する図(1)である。図7では、広告APIに関するテストケースを作成するための処理の流れを示している。   FIG. 7 is a diagram (1) illustrating a creation process according to the embodiment. FIG. 7 shows a flow of processing for creating a test case related to the advertisement API.

まず、ユーザは、テストを実行するシステムを選択する(ステップS21)。ここでは、システムとは、種々のAPIを管理するためのカテゴリを示す。実施形態においては、システム「bltapi」において、検証に係るAPIが管理されているものとする。   First, the user selects a system for executing a test (step S21). Here, the system indicates a category for managing various APIs. In the embodiment, it is assumed that an API for verification is managed in the system “bltapi”.

続いて、ユーザは、検証を行うサービス(API)を選択する(ステップS22)。ここでは、ユーザは、4つのサービスのうち、検証を行うAPIとして広告API(図7では「adGroupad」と表記)を選択する。   Subsequently, the user selects a service (API) to be verified (step S22). Here, the user selects an advertisement API (indicated as “adGroup” in FIG. 7) as an API to be verified among the four services.

そして、ユーザは、サービスに関するフィールド(Field)、そのフィールドに係る状態(Value)などを適宜選択する(ステップS23、24)。なお、かかる処理は、サービスを選択した時点で、自動で行われてもよい。すなわち、検証装置100は、APIに係る情報を取得した時点で、各々のAPIの変数や配列に関する情報を取得し、サービスが選択された時点で、取得していた情報を適用することで、各サービスに対するフィールド等が読み込まれる。   Then, the user appropriately selects a field related to the service (Field), a state related to the field (Value), and the like (steps S23 and S24). Such processing may be automatically performed when a service is selected. In other words, the verification device 100 acquires information regarding the API variables and arrangements at the time of acquiring information related to the API, and applies the information acquired at the time when the service is selected. The fields for the service are read.

そして、ユーザは、サービスに関する上位階層の設定を行う(ステップS25)。図7において、階層関係は「Chain」という項目で示されている。すなわち、ユーザは、サービス「adGroupad」の上位階層のサービスとして、「acccount」、「campain」、「adGroup」を指定し、階層関係を設定させる。なお、図7の「acccount」、「campain」、「adGroup」という表記は、上述の広告に係るAPIとして説明した「アカウントAPI」、「キャンペーンAPI」、「広告グループAPI」にそれぞれ対応する。   Then, the user sets an upper hierarchy regarding the service (step S25). In FIG. 7, the hierarchical relationship is indicated by an item “Chain”. That is, the user designates “acccount”, “campain”, and “adGroup” as the services of the upper hierarchy of the service “adGroup”, and sets the hierarchical relationship. Note that the notations “acccount”, “campain”, and “adGroup” in FIG. 7 correspond to the “account API”, “campaign API”, and “advertising group API” described as the API related to the above-described advertisement, respectively.

なお、検証を行うサービスについて、テストを実施可能なメソッドが複数存在する場合がある(ステップS26)。例えば、サービス「adGroupad」では、メソッドとして「add」、「set」、「remove」、「get」が選択可能である。かかるメソッドは、テストが実行される際にユーザによって選択される。そして、ユーザは、サービス「adGroupad」のAPIリファレンスを設定する(ステップS27)。かかるAPIリファレンスについても、検証装置100は、各々のAPIに対して設定された情報を事前に取得することができる。   There may be a plurality of methods that can be tested for a service to be verified (step S26). For example, in the service “adGrouppad”, “add”, “set”, “remove”, and “get” can be selected as methods. Such a method is selected by the user when the test is executed. Then, the user sets an API reference of the service “adGroup” (step S27). For such API reference, the verification apparatus 100 can acquire information set for each API in advance.

そして、ユーザは、検証処理で実行されるテストパターンを選択する(ステップS28)。一例として、ユーザは、サービス「adGroupad」に対するテストパターンとして、「必須項目×デフォルト値」、「必須項目×最小値」といった入力項目を選択する(図7では、それぞれ「required×default」、「required×min」と表記)。   Then, the user selects a test pattern to be executed in the verification process (step S28). As an example, the user selects input items such as “required item × default value” and “required item × minimum value” as test patterns for the service “adGroup” (in FIG. 7, “required × default”, “required” respectively). Xmin ”).

そして、ステップS21〜S28の項目で選択された情報に基づいて、作成部132は、テストケースを作成する(ステップS29)。なお、上述のように、広告APIは、テキスト広告と、アプリ用広告という2種類の広告を作ることが可能であり、かかる処理は異なる処理により行われる。そのため、作成部132は、テキスト広告と、アプリ用広告という2種類の処理に対応したテストケースをそれぞれ自動的に作成する。   Then, based on the information selected in the items of steps S21 to S28, the creation unit 132 creates a test case (step S29). As described above, the advertisement API can create two types of advertisements, a text advertisement and an application advertisement, and the process is performed by different processes. Therefore, the creation unit 132 automatically creates test cases corresponding to two types of processing, that is, text advertisement and application advertisement.

ここで、上記のようにユーザが設定する処理を、UIを模した図を用いて説明する。図8は、実施形態に係る作成処理を説明する図(2)である。図8では、ユーザがUIを介して、サービス「adGroupad」に階層関係を指定する例を示している。例えば、UIは、ユーザ端末10が有する表示部41に表示される。   Here, the process set by the user as described above will be described with reference to a diagram simulating a UI. FIG. 8 is a diagram (2) illustrating the creation process according to the embodiment. FIG. 8 illustrates an example in which the user specifies a hierarchical relationship for the service “adGrouppad” via the UI. For example, the UI is displayed on the display unit 41 included in the user terminal 10.

ユーザは、サービス「adGroupad」の「上位階層設定」という項目を選択することで、上位階層の設定に用いる表410を表示させることができる。表410に示すように、サービス「adGroupad」に対して、「階層レベル Level−1」として、「Account」が設定されている。なお、「階層レベル」の項目は、数字が小さいほど上位を示す。同様に、サービス「adGroupad」に対して、「階層レベル Level−2」として「campain」が、「階層レベル Level−3」として「adGroup」が、それぞれ設定されている。このように、ユーザは、UIを介して、サービス「adGroupad」に対する階層関係を指定する。受付部133は、かかる指定を受け付け、設定部134は、かかる指定に基づいて、階層関係を設定する。   The user can display the table 410 used for setting the upper layer by selecting the item “upper layer setting” of the service “adGrouppad”. As shown in Table 410, “Account” is set as “hierarchy level Level-1” for the service “adGrouppad”. Note that the item “hierarchy level” indicates a higher level as the number is smaller. Similarly, “campain” is set as “hierarchy level Level-2” and “adGroup” is set as “hierarchy level Level-3” for service “adGrouppad”. In this way, the user specifies a hierarchical relationship for the service “adGrouppad” via the UI. The accepting unit 133 accepts such designation, and the setting unit 134 sets a hierarchical relationship based on such designation.

続いて、テストパターンの例について、UIを模した図を用いて説明する。図9は、実施形態に係る作成処理を説明する図(3)である。図9では、ユーザがUIを介して、テストパターンを指定する例を示している。   Next, an example of a test pattern will be described with reference to a diagram simulating a UI. FIG. 9 is a diagram (3) illustrating the creation process according to the embodiment. FIG. 9 shows an example in which the user designates a test pattern via the UI.

図7では、ユーザは、「必須項目×デフォルト値」、「必須項目×最小値」という2つのテストパターンを選択する例を示した。実際には、ユーザは、図9に示すように、多数用意されたテストパターンから、テストパターンを任意に選択することができる。   FIG. 7 shows an example in which the user selects two test patterns of “essential item × default value” and “essential item × minimum value”. Actually, as shown in FIG. 9, the user can arbitrarily select a test pattern from a large number of prepared test patterns.

また、図9に示すように、テストパターンには「期待結果」という項目が存在する。これは、テストパターンとして情報が入力された場合に、その入力に対して、APIが「成功」と返すことが望ましいのか、「失敗」と返すことが望ましいのかを選択する項目である。例えば、APIは、「必須項目×デフォルト値」の場合、処理が可能な値が必須項目に入力されているので、「成功」を返すことが望まれる。一方、APIは、「必須項目×入力なし」の場合、必須項目に値が入力されていないため、「失敗(エラー)」を返すのが望ましい。このように、検証装置100は、予め想定されるテストパターンと期待結果を記憶する。そして、ユーザは、かかるテストパターンを選択することにより、行いたいテストを効率良く行うことができる。なお、ユーザは、テストパターンを任意に作成してもよい。この場合、受付部133は、かかるテストパターンの作成を受け付ける。設定部134は、新たに作成されたテストパターンを設定する。   Further, as shown in FIG. 9, the test pattern includes an item “expected result”. This is an item for selecting whether the API should return “success” or “failure” in response to input of information as a test pattern. For example, in the case of “essential item × default value”, it is desirable that the API returns “success” because a value that can be processed is input to the mandatory item. On the other hand, in the case of “required item × no input”, the API preferably returns “failure (error)” because a value is not input in the required item. As described above, the verification apparatus 100 stores the test pattern and the expected result that are assumed in advance. The user can efficiently perform a desired test by selecting such a test pattern. Note that the user may arbitrarily create a test pattern. In this case, the reception unit 133 receives the creation of the test pattern. The setting unit 134 sets a newly created test pattern.

上記のように、ユーザがテストを行うAPIを選択し、テストに係る情報を選択することにより、作成部132によってテストケースが作成される。   As described above, a test case is created by the creation unit 132 when the user selects an API to be tested and selects information related to the test.

続いて、図10乃至図12を用いて、作成部132によって作成されたテストケースを用いて、検証対象APIを検証する処理について説明する。まず、図10を用いて、テストを行うにあたってユーザが指定するテスト環境について説明する。   Next, a process for verifying a verification target API using a test case created by the creation unit 132 will be described with reference to FIGS. 10 to 12. First, a test environment designated by the user when performing a test will be described with reference to FIG.

図10は、実施形態に係る検証処理を説明する図(1)である。図10では、テストケースを実行する際にユーザが選択する項目について説明する。   FIG. 10 is a diagram (1) illustrating the verification process according to the embodiment. In FIG. 10, items selected by the user when executing a test case will be described.

まず、ユーザは、テスト環境(図10では、「Environment」と表記)を選択する(ステップS31)。テスト環境とは、例えば、検証プログラムを利用するユーザ毎に用意されるテストの環境設定等である。続いて、ユーザは、テストを実行するシステムを選択する(ステップS32)。システムは、図7で示した項目に対応する。   First, the user selects a test environment (indicated as “Environment” in FIG. 10) (step S31). The test environment is, for example, a test environment setting prepared for each user who uses the verification program. Subsequently, the user selects a system for executing the test (step S32). The system corresponds to the items shown in FIG.

そして、ユーザは、テストを実行するサービス(API)を選択する(ステップS33)。ここでは、ユーザは、サービスとして「adGroupad」を選択するものとする。続いて、ユーザは、テストケースを用いて実行するメソッド(図10では、「Execute」と表記)を選択する。ここでは、ユーザは、実行するメソッドとして「add」を選択するものとする。ユーザの選択に基づいて、実行部136は、検証対象APIに対する検証処理を実行する。   Then, the user selects a service (API) for executing the test (step S33). Here, it is assumed that the user selects “adGroup” as the service. Subsequently, the user selects a method (indicated as “Execute” in FIG. 10) to be executed using the test case. Here, it is assumed that the user selects “add” as the method to be executed. Based on the user's selection, the execution unit 136 executes a verification process for the verification target API.

具体的には、実行部136は、作成処理において作成された2つのテストケースについて、検証対象APIである広告APIに対して、指定されたメソッドを実行して、かかる処理が成功であったか、失敗であったかの結果を得る。ここで、実行部136は、実行される処理に参照情報が利用される場合には、適宜、上位階層のAPIを呼び出すことで、参照情報を得る。なお、実行部136は、最上位のAPIに対する参照情報については、予め所定の参照情報を用意する。例えば、実行部136は、広告APIに対して最上位であるアカウントAPIに対しては、テストのための所定の参照情報を当て嵌めることで処理を実行する。   Specifically, the execution unit 136 executes the specified method on the advertisement API that is the API to be verified for the two test cases created in the creation process, and whether the process was successful or failed. Get the result of what was. Here, when the reference information is used for the process to be executed, the execution unit 136 obtains the reference information by appropriately calling an upper layer API. The execution unit 136 prepares predetermined reference information in advance for reference information for the highest-level API. For example, the execution unit 136 executes the process by fitting predetermined reference information for testing to the account API that is the highest level with respect to the advertisement API.

そして、実行部136によって実行された結果について、格納部137は、テスト結果記憶部123に格納する。そして、かかる結果は、UI提供部131が提供するUIを介して、ユーザに通知される。この点について、図11を用いて説明する。   Then, the storage unit 137 stores the results executed by the execution unit 136 in the test result storage unit 123. The result is notified to the user via the UI provided by the UI providing unit 131. This point will be described with reference to FIG.

図11は、実施形態に係る検証処理を説明する図(2)である。図11では、UIを介して、広告APIの「add」の実行を行った実行結果が表示される例を示している。図11に示すように、UIを介して、実行部136が行った実行結果がテストパターンごとに表示される。   FIG. 11 is a diagram (2) illustrating the verification process according to the embodiment. FIG. 11 illustrates an example in which an execution result of executing “add” of the advertising API is displayed via the UI. As shown in FIG. 11, the execution result performed by the execution unit 136 is displayed for each test pattern via the UI.

また、実行部136は、1つのテストパターンに対して、上層のAPIが発行した参照情報ごとに実行する。この点について、図12を用いて説明する。図12は、実施形態に係る検証処理を説明する図(3)である。図12では、UIを介して、テストパターン「REQUIRED PATTERN」の詳細が表示される状態を示している。   Further, the execution unit 136 executes each reference information issued by the upper layer API with respect to one test pattern. This point will be described with reference to FIG. FIG. 12 is a diagram (3) illustrating the verification process according to the embodiment. FIG. 12 shows a state in which the details of the test pattern “REQUIRED PATTERN” are displayed via the UI.

図12の表411では、1つのテストパターンが実行される場合に、いくつのテストケースが実際に検証されたかを示している。上記では、広告APIでは、アプリ広告と、テキスト広告の2種類のテストケースが検証されることを説明した。そして、広告APIには、上層のAPIであるアカウントAPIと、キャンペーンAPI、広告グループAPIが設定されているため、各APIが発行した参照情報ごとに検証が行われる。   Table 411 in FIG. 12 shows how many test cases are actually verified when one test pattern is executed. In the above description, it has been described that the advertisement API verifies two types of test cases, that is, an application advertisement and a text advertisement. Since an account API, a campaign API, and an advertisement group API, which are upper-layer APIs, are set in the advertisement API, verification is performed for each reference information issued by each API.

例えば、図12の表411の一例では、「(account)required×default (campaign) AAA×aaa (adGroup) XXX >>>APP AD」というテストケースにより、テストパターン「REQUIRED PATTERN」が実行されたことを示している。例えば、「(campaign) AAA×aaa」という表記は、キャンペーンAPIが発行する参照情報によって変化する情報を示している。「AAA」や「aaa」等は、キャンペーンAPIに入力される値によってキャンペーンAPIが発行する参照情報が変化することを概念的に示すものである。一例としては、図3で示した例において、キャンペーンAPIの設定で選択される入札方法の違い(「手動で設定する」か「自動入札を設定する」を選択する違い)などにより、「AAA」や「aaa」に該当する項目が変化する。   For example, in the example of Table 411 in FIG. 12, the test pattern “REQUIRED PATTERN” is executed in the test case “(account) required × default (campaign) AAA × aaa (adGroup) XXX >>> APP AD”. Is shown. For example, the notation “(campaign) AAA × aaa” indicates information that changes depending on the reference information issued by the campaign API. “AAA”, “aaa”, and the like conceptually indicate that reference information issued by the campaign API changes depending on a value input to the campaign API. As an example, in the example shown in FIG. 3, “AAA” due to a difference in the bidding method selected in the campaign API setting (a difference in selecting “manual setting” or “automatic bidding setting”) or the like. And items corresponding to “aaa” change.

図12の例では、キャンペーンAPIは「AAA×aaa」、「AAA×bbb」、「BBB×aaa」、「BBB×bbb」という、4種類の異なる参照情報を発行する場合があることを示している。また、広告グループAPIは、「XXX」と、「YYY」という2種類の参照情報を発行する場合があることを示している。また、上記のように、広告APIは、「APP AD(アプリ広告)」と、「TEXT AD(テキスト広告)」の2種類のテストケースを取りうることを示している。このように、実行部136は、1つのテストケースであっても、上層のAPIを呼び出して参照情報を取得しながら下層のAPIを実行することにより、網羅的に検証対象APIを検証することができる。   In the example of FIG. 12, it is shown that the campaign API may issue four types of different reference information, “AAA × aaa”, “AAA × bbb”, “BBB × aaa”, and “BBB × bbb”. Yes. Further, the advertisement group API indicates that two types of reference information “XXX” and “YYY” may be issued. Further, as described above, the advertisement API indicates that two types of test cases of “APP AD (application advertisement)” and “TEXT AD (text advertisement)” can be taken. As described above, the execution unit 136 can comprehensively verify the verification target API by executing the lower API while calling the upper API and obtaining the reference information even in one test case. it can.

なお、上層のAPIの発行した参照情報によって、下層のAPIが取りうる参照情報の数が変わる場合がある。図12の例では、例えば、キャンペーンAPIが「AAA」という選択を行った場合、広告グループAPIは「XXX」を取りうるが、「YYY」を取りえないという状況がありうる。かかる状況は、API同士の関係性によるものであり、実行部136は、例えば、上層のAPIを実行する過程においてかかる関係性を導出し、API同士が取りうる選択によって作成されるテストケースを用いて検証を行う。そのため、図12に示す例においても、テストパターンによっては、詳細情報に8つ以上のテストケースが表示される場合もあり、また、より少ないテストケースが表示される場合もありうる。また、図12での図示は省略しているが、各処理結果には、検証が行われた時間などの履歴情報が含まれる。ユーザは、かかる履歴情報を参照し、ネットワーク上のAPIが適切に動作しているか、また、APIのリンク切れが発生したのがいつ頃なのか、といった情報を把握する管理ツールとして、検証プログラムを用いることができる。   Note that the number of reference information that can be taken by the lower API may change depending on the reference information issued by the upper API. In the example of FIG. 12, for example, when the campaign API selects “AAA”, the advertisement group API may take “XXX” but may not take “YYY”. Such a situation is due to the relationship between APIs, and the execution unit 136 uses, for example, a test case created by selection that the APIs can derive by deriving such a relationship in the process of executing an upper layer API. And verify. Therefore, also in the example shown in FIG. 12, depending on the test pattern, eight or more test cases may be displayed in the detailed information, or fewer test cases may be displayed. In addition, although illustration in FIG. 12 is omitted, each processing result includes history information such as the time when the verification was performed. The user refers to such history information, and uses a verification program as a management tool to grasp information such as whether the API on the network is operating properly and when the API link breakage occurred. Can be used.

〔4.検証処理手順〕
次に、図13及び図14を用いて、実施形態に係る検証装置100による処理の手順について説明する。図13は、実施形態に係る検証装置100による作成処理手順を示すフローチャートである。
[4. (Verification procedure)
Next, a processing procedure performed by the verification apparatus 100 according to the embodiment will be described with reference to FIGS. 13 and 14. FIG. 13 is a flowchart illustrating a creation processing procedure performed by the verification apparatus 100 according to the embodiment.

図13に示すように、受付部133は、ユーザ端末10からAPIの設定を受け付ける(ステップS101)。ここで、APIの設定とは、例えば、APIの階層関係の設定などをいう。この場合、設定部134は、受付部133によって受け付けられた内容を設定する。さらに、受付部133は、検証対象APIで検証する内容として、テストパターンの選択を受け付ける(ステップS102)。   As illustrated in FIG. 13, the reception unit 133 receives an API setting from the user terminal 10 (step S101). Here, the API setting refers to, for example, API hierarchical relationship setting. In this case, the setting unit 134 sets the content received by the receiving unit 133. Furthermore, the reception unit 133 receives selection of a test pattern as content to be verified by the verification target API (step S102).

そして、作成部132は、受付部133によって受け付けられた内容に基づいて、検証対象APIに対するテストケースを作成する(ステップS103)。作成部132は、作成したテストケースをテストケース記憶部122に格納し、作成処理を終了する。   Then, the creation unit 132 creates a test case for the verification target API based on the content received by the reception unit 133 (step S103). The creation unit 132 stores the created test case in the test case storage unit 122, and ends the creation process.

次に、図14を用いて、実施形態に係る検証装置100による検証処理の手順について説明する。図14は、実施形態に係る検証装置100による検証処理手順を示すフローチャートである。   Next, a verification processing procedure performed by the verification apparatus 100 according to the embodiment will be described with reference to FIG. FIG. 14 is a flowchart illustrating a verification processing procedure performed by the verification apparatus 100 according to the embodiment.

まず、検証部135は、ユーザからテスト環境の選択を受け付ける(ステップS201)。テスト環境の選択とは、図10に示すような、テストを行うシステム等を特定したり、APIに実行させる処理を選択したりすることをいう。   First, the verification unit 135 receives a selection of a test environment from the user (step S201). The selection of the test environment means specifying a system or the like to perform a test as shown in FIG. 10 or selecting a process to be executed by the API.

そして、実行部136は、検証対象APIに対するテストを実行する(ステップS202)。ここで、実行部136は、実行している検証対象APIに関して、階層関係が設定されているか否かを判定する(ステップS203)。具体的には、実行部136は、実行しようとするスクリプト内に、参照情報が入るべき空欄の箇所があるか否かを判定し、かかる空欄を埋めることができる上層APIからの戻り値(参照情報)を取得することを判定する。   Then, the execution unit 136 executes a test for the verification target API (step S202). Here, the execution unit 136 determines whether or not a hierarchical relationship is set for the verification target API being executed (step S203). Specifically, the execution unit 136 determines whether or not there is a blank area in the script to be executed in which the reference information is to be entered, and a return value from the upper layer API that can fill the blank (reference) Information).

実行部136は、階層関係が設定されている場合には(ステップS203;Yes)、上層のAPIを呼び出し、上層のAPIを実行する(ステップS204)。そして、実行部136は、上層のAPIから発行される戻り値を参照情報として取得する(ステップS205)。   When the hierarchical relationship is set (step S203; Yes), the execution unit 136 calls the upper layer API and executes the upper layer API (step S204). Then, the execution unit 136 acquires a return value issued from the upper layer API as reference information (step S205).

そして、実行部136は、取得した参照情報に基づいて、テストを実行する(ステップS206)。例えば、実行部136は、実行するスクリプト内に参照情報(例えば、数桁の数値などのIDとして発行された情報)を代入し、検証対象APIの挙動を検証する。   And the execution part 136 performs a test based on the acquired reference information (step S206). For example, the execution unit 136 substitutes reference information (for example, information issued as an ID such as a numerical value of several digits) in a script to be executed, and verifies the behavior of the verification target API.

そして、実行部136は、テスト結果を取得する(ステップS207)。なお、検証対象APIに階層関係が設定されていない場合には(ステップS203;No)、実行部136は、検証対象APIに係るテストケースをそのまま実行し、テスト結果を取得する(ステップS207)。そして、格納部137は、テスト結果をテスト結果記憶部123に格納し、検証処理を終了する。   Then, the execution unit 136 acquires a test result (step S207). When the hierarchical relationship is not set in the verification target API (step S203; No), the execution unit 136 executes the test case related to the verification target API as it is and acquires the test result (step S207). Then, the storage unit 137 stores the test result in the test result storage unit 123, and ends the verification process.

〔5.変形例〕
上述した実施形態に係る検証装置100によって実施される検証プログラムは、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、上記の検証装置100及び検証プログラムの他の実施形態について説明する。
[5. (Modification)
The verification program executed by the verification apparatus 100 according to the above-described embodiment may be executed in various different forms other than the above-described embodiment. Therefore, in the following, other embodiments of the verification apparatus 100 and the verification program will be described.

〔5−1.API〕
上記実施形態では、広告に係るAPIについて検証処理を実行する例を示した。しかし、検証装置100は、広告に係るAPIに限らず、上記処理を行うことができる。例えば、検証装置100に係る検証プログラムによれば、階層関係を有するようなAPIであり、REST(Representational State Transfer)形式で設計されたAPIであれば、いずれも上記の検証処理が適用可能である。
[5-1. API]
In the above-described embodiment, an example in which the verification process is executed for the API related to the advertisement has been described. However, the verification apparatus 100 can perform the above process without being limited to the API related to the advertisement. For example, according to the verification program related to the verification apparatus 100, the above verification process can be applied to any API that has a hierarchical relationship and is an API designed in a REST (Representational State Transfer) format. .

〔5−2.自動設定〕
上記実施形態において、検証装置100は、ユーザからAPIに関するフィールド等、変数や配列の設定を手動で受け付ける例を示した。ここで、検証装置100は、APIに特定の変換を行うことにより、上記の設定を自動で行うようにしてもよい。
[5-2. Automatic setting)
In the above-described embodiment, the verification apparatus 100 has shown an example in which settings of variables and arrays such as fields related to APIs are manually received from the user. Here, the verification apparatus 100 may automatically perform the above setting by performing specific conversion on the API.

例えば、検証装置100は、所定の言語間の変換を行うコンバータ(converter)を有することにより、APIの設定を自動的に行う。例えば、APIの作成者は、特定のプログラミング言語(例えばJAVA等)で作成したAPIと、所定のIDL(Interface Description Language)ファイルを作成する。IDLファイルは、記載されたソースコードベースでフィールド等を予め定義するファイルである。そして、検証装置100は、IDLコンバータを利用することで、フィールド等が定義されたJAVAソースのAPIが作成される。これにより、ユーザ(または、検証プログラムにおいて事前にAPIの設定を行う提供者)がフィールド等を手動で設定する手間を省くことが可能となる。   For example, the verification apparatus 100 automatically sets an API by including a converter that performs conversion between predetermined languages. For example, an API creator creates an API created in a specific programming language (for example, JAVA or the like) and a predetermined IDL (Interface Description Language) file. The IDL file is a file that predefines fields and the like based on the described source code base. Then, the verification apparatus 100 uses the IDL converter to create a JAVA source API in which fields and the like are defined. As a result, it is possible to save the user (or a provider who sets API in advance in the verification program) from manually setting fields and the like.

〔5−3.実行処理〕
上記実施形態では、実行部136が実行する処理において「add」を選択する例を示した。ここで、実行部136は、ユーザから「set」等の命令が選択された際には、予め検証対象APIを実行し、所定の戻り値を得てから検証を行うようにしてもよい。これは、「set」は、所定の値を置き換える処理であり、置き換える対象となる値が存在しない場合には、検証処理を行うことができないことによる。このため、実行部136は、予め検証対象APIを動作させることで、「set」の対象となる戻り値を取得しておき、かかる戻り値を利用して検証処理を実行することができる。
[5-3. Execution process)
In the above embodiment, an example in which “add” is selected in the process executed by the execution unit 136 has been described. Here, when an instruction such as “set” is selected from the user, the execution unit 136 may execute the verification target API in advance and perform verification after obtaining a predetermined return value. This is because “set” is a process of replacing a predetermined value, and when there is no value to be replaced, the verification process cannot be performed. For this reason, the execution unit 136 can acquire the return value that is the target of “set” by operating the verification target API in advance, and can execute the verification process using the return value.

〔5−4.上位関係〕
APIにおいては、上位関係に応じて、下層のAPIが取りうる処理の数が決まる場合がある。実施形態における広告に係るAPIを用いて、具体的に説明する。例えば、キャンペーンAPIでは、APIの管理者等によって作成できるキャンペーンの数が決められている場合がある。これは、例えば、実際のAPIの運用で支障をきたさぬよう、APIに予め設定される。例えば、キャンペーンAPIでは、作成できるキャンペーンの数に「100」という上限値が定められているものとする。この場合、実行されるテストケースが「100」を超える場合には、検証処理においてエラーが発生する。これは、検証処理においてAPIが実行される際には実際にキャンペーンの作成処理が行われるため、設定された上限値を超えた処理を行うことができないことによる。しかしながら、テストケースは上層のAPIが発行する参照情報の組合せにより増大するため、ユーザは、テストを実行する際に、上記のような上限値の条件を満たしているかを判断することが困難である。
[5-4. (Superordinate relationship)
In the API, the number of processes that can be taken by the lower-level API may be determined depending on the upper level relationship. A specific description will be given using an API related to an advertisement in the embodiment. For example, in the campaign API, the number of campaigns that can be created by an API administrator or the like may be determined. For example, this is set in advance in the API so as not to hinder the actual operation of the API. For example, in the campaign API, it is assumed that an upper limit of “100” is set for the number of campaigns that can be created. In this case, when the test case to be executed exceeds “100”, an error occurs in the verification process. This is because, when the API is executed in the verification process, the campaign creation process is actually performed, and therefore the process exceeding the set upper limit value cannot be performed. However, since test cases increase due to a combination of reference information issued by upper-level APIs, it is difficult for a user to determine whether or not the above upper limit condition is satisfied when executing a test. .

この場合、実行部136は、所定の回避手段を行い、検証処理にエラーが発生しないよう調整する。一例として、実行部136は、キャンペーンAPIの上位にあるアカウントAPIで発行する参照情報について、テストケースが行える数を満たすよう発行させる。例えば、アカウントAPIで2種類の参照情報が発行された場合、実行部136は、各々でキャンペーンAPIに対する処理を行うことができるため、キャンペーンAPIで作成されるキャンペーンの数を「200」にすることができる。このように、実行部136は、上層のAPIで発行される参照情報を調整することにより、作成されるテストケースが増大した場合であっても、エラーを発生させずにテストを行うことができる。   In this case, the execution unit 136 performs predetermined avoidance means and adjusts so that no error occurs in the verification process. As an example, the execution unit 136 causes the reference information issued by the account API above the campaign API to be issued so that the number of test cases can be satisfied. For example, when two types of reference information are issued with the account API, the execution unit 136 can perform processing for the campaign API, so the number of campaigns created with the campaign API is set to “200”. Can do. As described above, the execution unit 136 can perform the test without generating an error even if the number of test cases to be created increases by adjusting the reference information issued by the upper layer API. .

〔6.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[6. Others]
In addition, among the processes described in the above embodiment, all or part of the processes described as being automatically performed can be performed manually, or the processes described as being performed manually can be performed. All or a part can be automatically performed by a known method. In addition, the processing procedures, specific names, and information including various data and parameters shown in the document and drawings can be arbitrarily changed unless otherwise specified.

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

例えば、図2に示した記憶部120は、検証装置100が保持せずに、所定のストレージサーバ等に保持されてもよい。この場合、検証装置100は、ストレージサーバにアクセスすることで、格納されている各種情報を取得する。   For example, the storage unit 120 illustrated in FIG. 2 may be stored in a predetermined storage server or the like without the verification device 100. In this case, the verification apparatus 100 acquires various pieces of stored information by accessing the storage server.

また、例えば、上述してきた検証装置100は、UIを介してユーザ端末10との情報の送受信を中心に行うフロントエンドサーバ側と、実際にAPIのテストを実行するバックエンドサーバ側に分散されてもよい。また、検証装置100と実行サーバ20は一体に構成されてもよい。この場合、検証装置100は、所定のAPIを自ら保持し、かかるAPIを実行部136に実行させる。   Further, for example, the verification device 100 described above is distributed between a front-end server side that mainly performs transmission / reception of information with the user terminal 10 via a UI and a back-end server side that actually executes an API test. Also good. Moreover, the verification apparatus 100 and the execution server 20 may be comprised integrally. In this case, the verification apparatus 100 holds a predetermined API and causes the execution unit 136 to execute the API.

〔7.ハードウェア構成〕
また、上述してきた実施形態に係る検証装置100は、例えば図15に示すような構成のコンピュータ1000によって実現される。図15は、検証装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
[7. Hardware configuration)
Further, the verification apparatus 100 according to the above-described embodiment is realized by a computer 1000 having a configuration as shown in FIG. 15, for example. FIG. 15 is a hardware configuration diagram illustrating an example of a computer 1000 that implements the functions of the verification apparatus 100. The computer 1000 includes a CPU 1100, RAM 1200, ROM 1300, HDD 1400, communication interface (I / F) 1500, input / output interface (I / F) 1600, and media interface (I / F) 1700.

CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。   The CPU 1100 operates based on a program stored in the ROM 1300 or the HDD 1400 and controls each unit. The ROM 1300 stores a boot program executed by the CPU 1100 when the computer 1000 is started up, a program depending on the hardware of the computer 1000, and the like.

HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を記憶する。通信インターフェイス1500は、通信網500(実施形態における所定の通信ネットワークに対応する)を介して他の機器からデータを受信してCPU1100へ送り、また、通信網500を介してCPU1100が生成したデータを他の機器へ送信する。   The HDD 1400 stores a program executed by the CPU 1100, data used by the program, and the like. The communication interface 1500 receives data from other devices via the communication network 500 (corresponding to the predetermined communication network in the embodiment) and sends the data to the CPU 1100, and the data generated by the CPU 1100 via the communication network 500. Send to other devices.

CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、入出力インターフェイス1600を介して生成したデータを出力装置へ出力する。   The CPU 1100 controls an output device such as a display and a printer and an input device such as a keyboard and a mouse via the input / output interface 1600. The CPU 1100 acquires data from the input device via the input / output interface 1600. Further, the CPU 1100 outputs the data generated via the input / output interface 1600 to the output device.

メディアインターフェイス1700は、記録媒体1800に格納されたプログラム又はデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。   The media interface 1700 reads a program or data stored in the recording medium 1800 and provides it to the CPU 1100 via the RAM 1200. The CPU 1100 loads such a program from the recording medium 1800 onto the RAM 1200 via the media interface 1700, and executes the loaded program. The recording medium 1800 is, for example, an optical recording medium such as a DVD (Digital Versatile Disc) or PD (Phase change rewritable disk), a magneto-optical recording medium such as an MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory. Etc.

例えば、コンピュータ1000が検証装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、HDD1400には、記憶部120内の各データが格納される。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から通信網500を介してこれらのプログラムを取得してもよい。   For example, when the computer 1000 functions as the verification apparatus 100, the CPU 1100 of the computer 1000 implements the function of the control unit 130 by executing a program loaded on the RAM 1200. In addition, each data in the storage unit 120 is stored in the HDD 1400. The CPU 1100 of the computer 1000 reads these programs from the recording medium 1800 and executes them, but as another example, these programs may be acquired from other devices via the communication network 500.

〔8.効果〕
上述してきたように、実施形態に係る検証装置100は、作成部132と、設定部134と、検証部135とを有する。作成部132は、検証対象である検証対象APIに対して実行されるテストケースを作成する。設定部134は、検証対象APIと、当該検証対象APIが実行される際に利用する情報である参照情報を戻り値として返す関係にある他のAPIとの階層関係の設定を行う。検証部135は、設定部134によって設定された階層関係に基づき、上位の階層にある他のAPIを呼び出すことにより参照情報を取得し、取得された参照情報及びテストケースを用いて検証対象APIを検証する。なお、上記の検証装置100による処理は、本願に係る検証プログラムが検証装置100の制御部130に係る各処理を実行させることにより行われる。
[8. effect〕
As described above, the verification apparatus 100 according to the embodiment includes the creation unit 132, the setting unit 134, and the verification unit 135. The creation unit 132 creates a test case to be executed for the verification target API that is the verification target. The setting unit 134 sets a hierarchical relationship between the verification target API and another API having a relationship in which reference information, which is information used when the verification target API is executed, is returned as a return value. Based on the hierarchical relationship set by the setting unit 134, the verification unit 135 acquires reference information by calling other APIs in a higher level, and uses the acquired reference information and test cases to determine the verification target API. Validate. Note that the processing by the verification apparatus 100 is performed by causing the verification program according to the present application to execute each process related to the control unit 130 of the verification apparatus 100.

このように、実施形態に係る検証装置100は、階層関係など相互に関係を有するAPIの検証処理を効率良く行うことができる。すなわち、テストを実施させるユーザは、検証対象APIの階層関係を設定することで、上位階層のAPIがとりうる戻り値の組合せ等を意識することなく、検証対象APIに対するテストを実行させることができる。このように、検証装置100は、階層関係を有するAPIに対して、網羅的な検証を効率良く行うことができる。   As described above, the verification apparatus 100 according to the embodiment can efficiently perform verification processing of APIs having mutual relationships such as a hierarchical relationship. That is, the user who performs the test can execute the test for the verification target API by setting the hierarchical relationship of the verification target API without being aware of the combination of the return values that can be taken by the higher-level API. . As described above, the verification apparatus 100 can efficiently perform exhaustive verification on an API having a hierarchical relationship.

また、設定部134は、検証対象APIに対する階層関係の順序を示す情報である階層レベルをAPIごとに設定する。そして、検証部135は、設定部134によって設定された階層レベルが上位の順に他のAPIを呼び出し、より下位の階層レベルに対応するAPIが利用する参照情報を取得し、取得された参照情報を用いて検証対象APIを検証する。   In addition, the setting unit 134 sets, for each API, a hierarchy level that is information indicating the order of the hierarchical relationship with the verification target API. Then, the verification unit 135 calls other APIs in the order of higher hierarchy levels set by the setting unit 134, acquires reference information used by APIs corresponding to lower hierarchy levels, and acquires the acquired reference information. To verify the API to be verified.

このように、実施形態に係る検証装置100は、APIが多層的な関係を有する場合であっても、かかる関係の定義を受け付けることにより、検証対象APIの検証を行うことができる。これにより、検証装置100によれば、1つのテストパターンから参照情報ごとに派生するテスト結果を網羅的に取得することができるため、漏れのない効率的な処理を行うことができる。   As described above, the verification apparatus 100 according to the embodiment can verify the verification target API by receiving the definition of the relationship even when the API has a multi-layer relationship. Thereby, according to the verification apparatus 100, since the test result derived | led-out for every reference information from one test pattern can be acquired comprehensively, the efficient process without a leak can be performed.

また、実施形態に係る検証装置100は、検証部135によって検証された結果を表示するUIを提供するUI提供部131(提供部の一例)をさらに有する。UI提供部131は、UIを介して、検証対象APIの検証結果と併せて、検証対象APIの検証に用いられた他のAPI(例えば、検証対象APIとの階層関係が設定されたAPI)に関する情報を提供する。   The verification apparatus 100 according to the embodiment further includes a UI providing unit 131 (an example of a providing unit) that provides a UI for displaying a result verified by the verification unit 135. The UI providing unit 131 relates to another API used for verification of the verification target API (for example, an API in which a hierarchical relationship with the verification target API is set) together with the verification result of the verification target API via the UI. Provide information.

このように、実施形態に係る検証装置100は、ユーザが検証結果を閲覧することが可能なUIを提供する。これにより、検証装置100によれば、相互に関係を有するような複雑な検証を要するAPIであっても、視覚的な情報に基づいて管理を行わせることができるので、ユーザの管理にかかる負担を軽減させることができる。また、検証装置100によれば、検証結果として他のAPIの情報についても提供できるので、人的に管理することが困難であったAPI同士の関連性を容易に把握させることができる。   As described above, the verification apparatus 100 according to the embodiment provides a UI that allows the user to browse the verification result. Thereby, according to the verification apparatus 100, even if it is API which requires the complicated verification which has a mutually related relationship, management can be performed based on visual information, Therefore The burden concerning a user's management Can be reduced. Further, according to the verification apparatus 100, information on other APIs can be provided as a verification result, so that it is possible to easily grasp the relevance between APIs that are difficult to manage manually.

なお、検証対象APIは、ウェブネットワークを介して所定のユーザに利用される機能を提供するAPIであってもよい。   The verification target API may be an API that provides a function used by a predetermined user via a web network.

検証装置100によれば、上述のように、階層関係を有するウェブAPIについて網羅的な検証を行うことができる。これにより、検証装置100は、例えば、APIが保持されているサーバの動作不備や、リンク切れなどを容易にユーザに把握させることができ、ウェブネットワークを介して利用するAPIに対する利便性を向上させることができる。   According to the verification device 100, as described above, it is possible to perform comprehensive verification on the web API having a hierarchical relationship. Thereby, for example, the verification apparatus 100 can allow the user to easily grasp incomplete operation of the server holding the API, a broken link, etc., and improve the convenience for the API used via the web network. be able to.

また、検証対象APIは、ウェブネットワーク上で配信される広告の設定を受け付ける機能を提供するAPIであってもよい。   Further, the verification target API may be an API that provides a function of accepting a setting of an advertisement distributed on a web network.

検証装置100によれば、例えば、広告主が配信させようとする広告の種類(入札価格の自動設定、手動設定などの選択や、テキスト広告であるか否かなど)を設定するAPIについての網羅的な検証を行うことができるため、広告主や、広告配信会社にとって、APIの管理を効率良く行わせることができる。   According to the verification apparatus 100, for example, coverage of APIs for setting types of advertisements that an advertiser intends to distribute (selection of automatic setting of bid price, manual setting, whether or not a text advertisement, etc.) Therefore, it is possible to efficiently manage APIs for advertisers and advertisement distribution companies.

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

また、上述した検証装置100は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をAPI(Application Programming Interface)やネットワークコンピューティングなどで呼び出して実現するなど、構成は柔軟に変更できる。   The verification apparatus 100 described above may be realized by a plurality of server computers, and depending on the function, the configuration may be realized by calling an external platform or the like with an API (Application Programming Interface) or network computing. Can be changed flexibly.

また、特許請求の範囲に記載した「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、検証部は、検証手段や検証回路に読み替えることができる。   Further, “section (module, unit)” described in the claims can be read as “means”, “circuit”, and the like. For example, the verification unit can be read as verification means or a verification circuit.

1 検証システム
10 ユーザ端末
20 実行サーバ
100 検証装置
110 通信部
120 記憶部
121 API情報記憶部
122 テストケース記憶部
123 テスト結果記憶部
130 制御部
131 UI提供部
132 作成部
133 受付部
134 設定部
135 検証部
136 実行部
137 格納部
DESCRIPTION OF SYMBOLS 1 Verification system 10 User terminal 20 Execution server 100 Verification apparatus 110 Communication part 120 Storage part 121 API information storage part 122 Test case storage part 123 Test result storage part 130 Control part 131 UI provision part 132 Creation part 133 Reception part 134 Setting part 135 Verification unit 136 Execution unit 137 Storage unit

Claims (7)

検証対象である検証対象API(Application Programming Interface)に対して実行されるテストケースを作成する作成手順と、
前記検証対象APIと、当該検証対象APIが実行される際に利用する情報である参照情報を戻り値として返す関係にある他のAPIとの階層関係の設定を行う設定手順と、
前記設定手順によって設定された階層関係に基づき、上位の階層にある前記他のAPIを呼び出すことにより前記参照情報を取得し、取得された前記参照情報及び前記テストケースを用いて検証対象APIを検証する検証手順と、
をコンピュータに実行させることを特徴とする検証プログラム。
A creation procedure for creating a test case to be executed for a verification target API (Application Programming Interface),
A setting procedure for setting a hierarchical relationship between the verification target API and another API having a relationship of returning reference information, which is information used when the verification target API is executed, as a return value;
Based on the hierarchical relationship set by the setting procedure, the reference information is acquired by calling the other API in the higher hierarchy, and the verification target API is verified using the acquired reference information and the test case. Verification procedure to
The verification program characterized by making a computer run.
前記設定手順は、
前記検証対象APIに対する階層関係の順序を示す情報である階層レベルを前記他のAPIごとに設定し、
前記検証手順は、
前記設定手順によって設定された階層レベルが上位の順に前記他のAPIを呼び出し、より下位の階層レベルに対応するAPIが利用する参照情報を取得し、取得された参照情報を用いて前記検証対象APIを検証する、
ことを特徴とする請求項1に記載の検証プログラム。
The setting procedure is as follows:
A hierarchy level, which is information indicating the order of the hierarchy relationship for the verification target API, is set for each of the other APIs,
The verification procedure includes:
The other APIs are called in the order of the hierarchical level set by the setting procedure, the reference information used by the API corresponding to the lower hierarchical level is acquired, and the verification target API is used using the acquired reference information Verify
The verification program according to claim 1, wherein:
前記検証手順によって検証された結果を表示するUI(User Interface)を提供する提供手順、
をさらに含み、
前記提供手順は、
前記UIを介して、前記検証対象APIの検証結果と併せて、前記検証対象APIの検証に用いられた前記他のAPIに関する情報を提供する、
ことを特徴とする請求項1又は2に記載の検証プログラム。
A providing procedure for providing a UI (User Interface) for displaying a result verified by the verification procedure;
Further including
The providing procedure includes:
Via the UI, along with the verification result of the verification target API, providing information on the other API used for verification of the verification target API;
The verification program according to claim 1 or 2, characterized in that:
前記検証対象APIは、ウェブネットワークを介して所定のユーザに利用される機能を提供するAPIである、
ことを特徴とする請求項1〜3のいずれか一つに記載の検証プログラム。
The verification target API is an API that provides a function used by a predetermined user via a web network.
The verification program according to any one of claims 1 to 3.
前記検証対象APIは、ウェブネットワーク上で配信される広告の設定を受け付ける機能を提供するAPIである、
ことを特徴とする請求項1〜4のいずれか一つに記載の検証プログラム。
The verification target API is an API that provides a function of accepting a setting of an advertisement distributed on a web network.
The verification program according to any one of claims 1 to 4, wherein:
検証対象である検証対象APIに対して実行されるテストケースを作成する作成部と、
前記検証対象APIと、当該検証対象APIが実行される際に利用する情報である参照情報を戻り値として返す関係にある他のAPIとの階層関係の設定を行う設定部と、
前記設定部によって設定された階層関係に基づき、上位の階層にある前記他のAPIを呼び出すことにより前記参照情報を取得し、取得された前記参照情報及び前記テストケースを用いて検証対象APIを検証する検証部と、
を備えることを特徴とする検証装置。
A creation unit for creating a test case to be executed for a verification target API that is a verification target;
A setting unit configured to set a hierarchical relationship between the verification target API and another API having a relationship of returning reference information, which is information used when the verification target API is executed, as a return value;
Based on the hierarchical relationship set by the setting unit, the reference information is acquired by calling the other API in the higher hierarchy, and the verification target API is verified using the acquired reference information and the test case. A verification unit to
A verification apparatus comprising:
コンピュータが実行する検証方法であって、
検証対象である検証対象APIに対して実行されるテストケースを作成する作成工程と、
前記検証対象APIと、当該検証対象APIが実行される際に利用する情報である参照情報を戻り値として返す関係にある他のAPIとの階層関係の設定を行う設定工程と、
前記設定工程によって設定された階層関係に基づき、上位の階層にある前記他のAPIを呼び出すことにより前記参照情報を取得し、取得された前記参照情報及び前記テストケースを用いて検証対象APIを検証する検証工程と、
を含むことを特徴とする検証方法。
A verification method performed by a computer,
A creation step for creating a test case to be executed for the verification target API that is the verification target;
A setting step for setting a hierarchical relationship between the verification target API and another API having a relationship of returning reference information, which is information used when the verification target API is executed, as a return value;
Based on the hierarchical relationship set by the setting step, the reference information is acquired by calling the other API in the higher hierarchy, and the verification target API is verified using the acquired reference information and the test case. A verification process to
The verification method characterized by including.
JP2015058549A 2015-03-20 2015-03-20 Verification program, verification apparatus, and verification method Active JP6300750B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015058549A JP6300750B2 (en) 2015-03-20 2015-03-20 Verification program, verification apparatus, and verification method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015058549A JP6300750B2 (en) 2015-03-20 2015-03-20 Verification program, verification apparatus, and verification method

Publications (2)

Publication Number Publication Date
JP2016177659A JP2016177659A (en) 2016-10-06
JP6300750B2 true JP6300750B2 (en) 2018-03-28

Family

ID=57069452

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015058549A Active JP6300750B2 (en) 2015-03-20 2015-03-20 Verification program, verification apparatus, and verification method

Country Status (1)

Country Link
JP (1) JP6300750B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032956B (en) * 2018-09-11 2022-03-22 郑州云海信息技术有限公司 Interface testing method and device
WO2020157795A1 (en) * 2019-01-28 2020-08-06 三菱電機株式会社 Test device, test method, and test program
KR102614650B1 (en) * 2022-11-28 2023-12-19 쿠팡 주식회사 Electronic apparatus and managing api method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009223700A (en) * 2008-03-17 2009-10-01 Ricoh Co Ltd Test case dynamic configuration device
WO2009150788A1 (en) * 2008-06-10 2009-12-17 パナソニック株式会社 Api evaluation system in embedded device
JP2016170548A (en) * 2015-03-11 2016-09-23 株式会社リコー Information processing system, information processing apparatus, and information processing program

Also Published As

Publication number Publication date
JP2016177659A (en) 2016-10-06

Similar Documents

Publication Publication Date Title
US10057118B2 (en) Method and apparatus for enabling dynamic analytics configuration on a mobile device
JP6765885B2 (en) Methods and systems for intelligent cloud planning and decommissioning
US10908928B2 (en) Rules-based workflow messaging
US8140578B2 (en) Multilevel hierarchical associations between entities in a knowledge system
US20160132314A1 (en) Remote configuration management of applications
US20090158271A1 (en) Installing method, installer, and installing program
US9058333B2 (en) Publishable metadata for content management and component testing
EP3398063B1 (en) Controlled deployment of application feature
US20160103585A1 (en) Facilitating dynamic customization of reporting tools in an on-demand services environment
US20130179798A1 (en) Application dissemination and feedback
US20150339628A1 (en) Online software service system and method
US11487595B2 (en) API adapter creation device, API adapter creation method, and API adapter creation program
CN111913738A (en) Access request processing method, device, computing equipment and medium
US20150212814A1 (en) Code Path Directives for Controlling In-app Experiences
US8296723B2 (en) Configurable unified modeling language building blocks
US8984487B2 (en) Resource tracker
JP6300750B2 (en) Verification program, verification apparatus, and verification method
US9910725B2 (en) Error-specific advertisement display in electronic device
CN110008431B (en) Page component construction method and device, page generation equipment and readable storage medium
JP2010003224A (en) Test information management server, test information management method and program
CN107918543B (en) Installation package generation method and device, computer equipment and storage medium
CN109254778B (en) Method and apparatus for deploying an information flow system
CN113392010A (en) Common component testing method and device, electronic equipment and storage medium
WO2020230241A1 (en) Testing device, testing method, and program
CN107851165B (en) Key system, key client and key management method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170315

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180122

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180227

R150 Certificate of patent or registration of utility model

Ref document number: 6300750

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250