JP2016177659A - 検証プログラム、検証装置及び検証方法 - Google Patents
検証プログラム、検証装置及び検証方法 Download PDFInfo
- Publication number
- JP2016177659A JP2016177659A JP2015058549A JP2015058549A JP2016177659A JP 2016177659 A JP2016177659 A JP 2016177659A JP 2015058549 A JP2015058549 A JP 2015058549A JP 2015058549 A JP2015058549 A JP 2015058549A JP 2016177659 A JP2016177659 A JP 2016177659A
- Authority
- JP
- Japan
- Prior art keywords
- api
- verification
- unit
- verification target
- reference information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012795 verification Methods 0.000 title claims abstract description 319
- 238000000034 method Methods 0.000 title claims description 111
- 238000012360 testing method Methods 0.000 claims abstract description 203
- 230000008569 process Effects 0.000 claims description 66
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 31
- 238000012545 processing Methods 0.000 description 35
- 238000010586 diagram Methods 0.000 description 28
- 230000006870 function Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 230000008859 change Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【解決手段】検証装置100は、作成部132と、設定部134と、検証部135とを含む。作成部132は、検証対象である検証対象API(Application Programming Interface)に対して実行されるテストケースを作成する。設定部134は、検証対象APIと、当該検証対象APIが実行される際に利用する情報である参照情報を戻り値として返す関係にある他のAPIとの階層関係の設定を行う。検証部135は、設定部134によって設定された階層関係に基づき、上位の階層にある他のAPIを呼び出すことにより参照情報を取得し、取得した参照情報及びテストケースを用いて検証対象APIを検証する。
【選択図】図2
Description
まず、図1を用いて、実施形態に係る検証処理の一例について説明する。図1は、実施形態に係る検証処理の一例を示す図である。図1では、検証システム1を例に挙げて、実施形態に係る検証処理について説明する。具体的には、図1では、検証システム1に含まれる検証装置100が検証対象となるAPIの動作を検証する処理(本願に係る検証プログラムに相当する)の流れについて説明する。
次に、図2を用いて、実施形態に係る検証装置100の構成について説明する。図2は、実施形態に係る検証装置100の構成例を示す図である。図2に示すように、検証装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、検証装置100は、検証装置100を利用する管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。かかる通信部110は、通信ネットワークと有線又は無線で接続され、通信ネットワークを介して、ユーザ端末10や実行サーバ20等との間で情報の送受信を行う。
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、API情報記憶部121と、テストケース記憶部122と、テスト結果記憶部123とを有する。以下、各記憶部について順に説明する。
API情報記憶部121は、検証装置100が検証を行うAPIに関する情報を記憶する。例えば、API情報記憶部121は、APIを識別するための識別情報(例えば、APIの名称や種別)や、APIに関する変数や配列に関する情報(例えば、JAVA(登録商標)等においてはフィールドと表記される)や、APIが保持されている場所(例えば、実行サーバ20のURL)などを記憶する。
テストケース記憶部122は、APIの検証に用いられるテストケースに関する情報を記憶する。例えば、テストケース記憶部122は、検証対象APIである検証対象APIの識別情報や、検証対象APIに設定された階層情報や、実際にテストとして実行されるテストパターンの種別や、テストで実行されるメソッド(method)の種類などが記憶される。
テスト結果記憶部123は、テストケースを用いて検証対象APIの挙動に対するテストが行われた後の結果を記憶する。例えば、テスト結果記憶部123は、テストを行った環境に関する情報や、各々のテストパターンや、各々のテストパターンに対して期待される状態や、実際に期待される状態が発生したか否かが検証された結果などを記憶する。
制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、検証装置100内部の記憶装置に記憶されている各種プログラム(検証プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
UI提供部131は、検証処理に関するUIを提供する。具体的には、UI提供部131は、検証装置100が提供する検証プログラムをユーザが利用するために、ユーザ端末10の表示部に表示させるUIを提供する。一例として、UI提供部131は、後述する検証部135によって検証された結果を表示するUIを提供する。
作成部132は、検証対象である検証対象APIに対するテストケースを作成する。例えば、作成部132は、ユーザから検証対象APIに対して実行するテストに関する設定を受け付けることにより、ユーザが所望するテストケースを作成する。なお、テストケースの作成にあたり、作成部132は、APIに係る情報を取得する。作成部132は、ユーザから送信される情報を用いてAPIに関する情報を取得してもよいし、外部の提供装置からAPIに関する情報を取得してもよい。この場合、作成部132は、取得した情報をAPI情報記憶部121に格納する。また、図2に示すように、作成部132には、受付部133と、設定部134とが含まれる。
受付部133は、テストケースに関する設定を受け付ける。具体的には、受付部133は、UI提供部131が提供するUIを介して、ユーザ端末10から送信されるテストケースに関する設定を受け付ける。
設定部134は、受付部133によって受け付けられた情報に基づいてテストケースを作成するための設定を行う。例えば、設定部134は、検証対象APIと、当該検証対象APIが実行される際に利用する参照情報を戻り値として返す関係にある他のAPIとの階層関係についての設定を行う。
検証部135は、検証対象となるAPIを検証する。例えば、検証部135は、設定部134によって設定された階層関係に基づき、上位の階層にあるAPIを呼び出すことにより上位の階層にあるAPIから発行される参照情報を取得し、取得された参照情報及び作成部132によって作成されたテストケースを用いて、検証対象APIを検証する。
実行部136は、検証対象APIに対する検証処理を実行する。例えば、実行部136は、作成部132によって作成されたテストケースに従い、検証対象APIに対して所定の入力を行う。そして、実行部136は、入力された情報に対する検証対象APIからの出力を得る。言い換えれば、実行部136は、テストパターンごとに定義されたテストを検証対象APIに実行し、結果を得る。
格納部137は、実行部136によって実行された検証処理の結果を格納する。具体的には、格納部137は、テストケースに従って実行された各々のテストパターンの結果をテスト結果記憶部123に格納する。
上記、検証プログラムを実行する検証装置100の構成について説明した。以下では、検証装置100が実行する検証処理の一例として、具体的に、ユーザが広告に係るAPIの一例である「広告API」を利用する例を示すとともに、かかる広告APIの検証が行われる処理について、ユーザ端末10に表示されるUIとともに説明する。以下の説明においては、検証装置100からユーザ端末10にUIが提供されており、ユーザは、UIを介して、ユーザ端末10で実行可能なツールとして検証プログラムを利用する例を想定する。
次に、図13及び図14を用いて、実施形態に係る検証装置100による処理の手順について説明する。図13は、実施形態に係る検証装置100による作成処理手順を示すフローチャートである。
上述した実施形態に係る検証装置100によって実施される検証プログラムは、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、上記の検証装置100及び検証プログラムの他の実施形態について説明する。
上記実施形態では、広告に係るAPIについて検証処理を実行する例を示した。しかし、検証装置100は、広告に係るAPIに限らず、上記処理を行うことができる。例えば、検証装置100に係る検証プログラムによれば、階層関係を有するようなAPIであり、REST(Representational State Transfer)形式で設計されたAPIであれば、いずれも上記の検証処理が適用可能である。
上記実施形態において、検証装置100は、ユーザからAPIに関するフィールド等、変数や配列の設定を手動で受け付ける例を示した。ここで、検証装置100は、APIに特定の変換を行うことにより、上記の設定を自動で行うようにしてもよい。
上記実施形態では、実行部136が実行する処理において「add」を選択する例を示した。ここで、実行部136は、ユーザから「set」等の命令が選択された際には、予め検証対象APIを実行し、所定の戻り値を得てから検証を行うようにしてもよい。これは、「set」は、所定の値を置き換える処理であり、置き換える対象となる値が存在しない場合には、検証処理を行うことができないことによる。このため、実行部136は、予め検証対象APIを動作させることで、「set」の対象となる戻り値を取得しておき、かかる戻り値を利用して検証処理を実行することができる。
APIにおいては、上位関係に応じて、下層のAPIが取りうる処理の数が決まる場合がある。実施形態における広告に係るAPIを用いて、具体的に説明する。例えば、キャンペーンAPIでは、APIの管理者等によって作成できるキャンペーンの数が決められている場合がある。これは、例えば、実際のAPIの運用で支障をきたさぬよう、APIに予め設定される。例えば、キャンペーンAPIでは、作成できるキャンペーンの数に「100」という上限値が定められているものとする。この場合、実行されるテストケースが「100」を超える場合には、検証処理においてエラーが発生する。これは、検証処理においてAPIが実行される際には実際にキャンペーンの作成処理が行われるため、設定された上限値を超えた処理を行うことができないことによる。しかしながら、テストケースは上層のAPIが発行する参照情報の組合せにより増大するため、ユーザは、テストを実行する際に、上記のような上限値の条件を満たしているかを判断することが困難である。
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、上述してきた実施形態に係る検証装置100は、例えば図15に示すような構成のコンピュータ1000によって実現される。図15は、検証装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
上述してきたように、実施形態に係る検証装置100は、作成部132と、設定部134と、検証部135とを有する。作成部132は、検証対象である検証対象APIに対して実行されるテストケースを作成する。設定部134は、検証対象APIと、当該検証対象APIが実行される際に利用する情報である参照情報を戻り値として返す関係にある他のAPIとの階層関係の設定を行う。検証部135は、設定部134によって設定された階層関係に基づき、上位の階層にある他のAPIを呼び出すことにより参照情報を取得し、取得された参照情報及びテストケースを用いて検証対象APIを検証する。なお、上記の検証装置100による処理は、本願に係る検証プログラムが検証装置100の制御部130に係る各処理を実行させることにより行われる。
10 ユーザ端末
20 実行サーバ
100 検証装置
110 通信部
120 記憶部
121 API情報記憶部
122 テストケース記憶部
123 テスト結果記憶部
130 制御部
131 UI提供部
132 作成部
133 受付部
134 設定部
135 検証部
136 実行部
137 格納部
Claims (7)
- 検証対象である検証対象API(Application Programming Interface)に対して実行されるテストケースを作成する作成手順と、
前記検証対象APIと、当該検証対象APIが実行される際に利用する情報である参照情報を戻り値として返す関係にある他のAPIとの階層関係の設定を行う設定手順と、
前記設定手順によって設定された階層関係に基づき、上位の階層にある前記他のAPIを呼び出すことにより前記参照情報を取得し、取得された前記参照情報及び前記テストケースを用いて検証対象APIを検証する検証手順と、
をコンピュータに実行させることを特徴とする検証プログラム。 - 前記設定手順は、
前記検証対象APIに対する階層関係の順序を示す情報である階層レベルを前記他のAPIごとに設定し、
前記検証手順は、
前記設定手順によって設定された階層レベルが上位の順に前記他のAPIを呼び出し、より下位の階層レベルに対応するAPIが利用する参照情報を取得し、取得された参照情報を用いて前記検証対象APIを検証する、
ことを特徴とする請求項1に記載の検証プログラム。 - 前記検証手順によって検証された結果を表示するUI(User Interface)を提供する提供手順、
をさらに含み、
前記提供手順は、
前記UIを介して、前記検証対象APIの検証結果と併せて、前記検証対象APIの検証に用いられた前記他のAPIに関する情報を提供する、
ことを特徴とする請求項1又は2に記載の検証プログラム。 - 前記検証対象APIは、ウェブネットワークを介して所定のユーザに利用される機能を提供するAPIである、
ことを特徴とする請求項1〜3のいずれか一つに記載の検証プログラム。 - 前記検証対象APIは、ウェブネットワーク上で配信される広告の設定を受け付ける機能を提供するAPIである、
ことを特徴とする請求項1〜4のいずれか一つに記載の検証プログラム。 - 検証対象である検証対象APIに対して実行されるテストケースを作成する作成部と、
前記検証対象APIと、当該検証対象APIが実行される際に利用する情報である参照情報を戻り値として返す関係にある他のAPIとの階層関係の設定を行う設定部と、
前記設定部によって設定された階層関係に基づき、上位の階層にある前記他のAPIを呼び出すことにより前記参照情報を取得し、取得された前記参照情報及び前記テストケースを用いて検証対象APIを検証する検証部と、
を備えることを特徴とする検証装置。 - コンピュータが実行する検証方法であって、
検証対象である検証対象APIに対して実行されるテストケースを作成する作成工程と、
前記検証対象APIと、当該検証対象APIが実行される際に利用する情報である参照情報を戻り値として返す関係にある他のAPIとの階層関係の設定を行う設定工程と、
前記設定工程によって設定された階層関係に基づき、上位の階層にある前記他のAPIを呼び出すことにより前記参照情報を取得し、取得された前記参照情報及び前記テストケースを用いて検証対象APIを検証する検証工程と、
を含むことを特徴とする検証方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015058549A JP6300750B2 (ja) | 2015-03-20 | 2015-03-20 | 検証プログラム、検証装置及び検証方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015058549A JP6300750B2 (ja) | 2015-03-20 | 2015-03-20 | 検証プログラム、検証装置及び検証方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016177659A true JP2016177659A (ja) | 2016-10-06 |
JP6300750B2 JP6300750B2 (ja) | 2018-03-28 |
Family
ID=57069452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015058549A Active JP6300750B2 (ja) | 2015-03-20 | 2015-03-20 | 検証プログラム、検証装置及び検証方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6300750B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032956A (zh) * | 2018-09-11 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种接口测试方法及装置 |
WO2020157795A1 (ja) * | 2019-01-28 | 2020-08-06 | 三菱電機株式会社 | 試験装置、試験方法および試験プログラム |
KR102614650B1 (ko) * | 2022-11-28 | 2023-12-19 | 쿠팡 주식회사 | 전자 장치 및 그의 api 관리 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009223700A (ja) * | 2008-03-17 | 2009-10-01 | Ricoh Co Ltd | テストケース動的構築装置 |
WO2009150788A1 (ja) * | 2008-06-10 | 2009-12-17 | パナソニック株式会社 | 組み込み機器におけるapi評価システム |
JP2016170548A (ja) * | 2015-03-11 | 2016-09-23 | 株式会社リコー | 情報処理システム、情報処理装置および情報処理プログラム |
-
2015
- 2015-03-20 JP JP2015058549A patent/JP6300750B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009223700A (ja) * | 2008-03-17 | 2009-10-01 | Ricoh Co Ltd | テストケース動的構築装置 |
WO2009150788A1 (ja) * | 2008-06-10 | 2009-12-17 | パナソニック株式会社 | 組み込み機器におけるapi評価システム |
JP2016170548A (ja) * | 2015-03-11 | 2016-09-23 | 株式会社リコー | 情報処理システム、情報処理装置および情報処理プログラム |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032956A (zh) * | 2018-09-11 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种接口测试方法及装置 |
CN109032956B (zh) * | 2018-09-11 | 2022-03-22 | 郑州云海信息技术有限公司 | 一种接口测试方法及装置 |
WO2020157795A1 (ja) * | 2019-01-28 | 2020-08-06 | 三菱電機株式会社 | 試験装置、試験方法および試験プログラム |
JPWO2020157795A1 (ja) * | 2019-01-28 | 2021-04-30 | 三菱電機株式会社 | 試験装置、試験方法および試験プログラム |
KR102614650B1 (ko) * | 2022-11-28 | 2023-12-19 | 쿠팡 주식회사 | 전자 장치 및 그의 api 관리 방법 |
WO2024117381A1 (ko) * | 2022-11-28 | 2024-06-06 | 쿠팡 주식회사 | 전자 장치 및 그의 api 관리 방법 |
Also Published As
Publication number | Publication date |
---|---|
JP6300750B2 (ja) | 2018-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10057118B2 (en) | Method and apparatus for enabling dynamic analytics configuration on a mobile device | |
US8584116B2 (en) | Installing method, installer, and installing program | |
US8140578B2 (en) | Multilevel hierarchical associations between entities in a knowledge system | |
US20120066667A1 (en) | Simulation environment for distributed programs | |
US20160132314A1 (en) | Remote configuration management of applications | |
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 | |
US20120226818A1 (en) | Publishable Metadata for Content Management and Component Testing | |
US20150339628A1 (en) | Online software service system and method | |
US20200042310A1 (en) | Automated software package deployment | |
US9692808B2 (en) | Code path directives for controlling in-app experiences | |
US11487595B2 (en) | API adapter creation device, API adapter creation method, and API adapter creation program | |
CN111913738A (zh) | 访问请求的处理方法、装置、计算设备和介质 | |
US8296723B2 (en) | Configurable unified modeling language building blocks | |
US8984487B2 (en) | Resource tracker | |
JP6300750B2 (ja) | 検証プログラム、検証装置及び検証方法 | |
JP2010003224A (ja) | テスト情報管理サーバ、テスト情報管理方法、およびプログラム | |
US9910725B2 (en) | Error-specific advertisement display in electronic device | |
CN107918543B (zh) | 安装包生成的方法、装置、计算机设备和存储介质 | |
JP6505849B2 (ja) | 要素識別子の生成 | |
CN109254778B (zh) | 用于部署信息流***的方法和装置 | |
WO2024049456A1 (en) | Method and system for testing automation in marketplace | |
US9767000B1 (en) | Selecting appropriate subsets of software tests | |
Barroca Filho et al. | A case study of development of a mobile application from an existing web information system |
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 |