(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-12
(45)【発行日】2022-10-20
(54)【発明の名称】APIアダプタ試験システム、APIアダプタ試験支援装置、APIアダプタ試験支援方法、および、APIアダプタ試験支援プログラム
(51)【国際特許分類】
G06F 11/36 20060101AFI20221013BHJP
【FI】
G06F11/36 196
G06F11/36 188
(21)【出願番号】P 2019033972
(22)【出願日】2019-02-27
【審査請求日】2021-06-01
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100083806
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100129230
【氏名又は名称】工藤 理恵
(72)【発明者】
【氏名】金丸 翔
(72)【発明者】
【氏名】高橋 謙輔
(72)【発明者】
【氏名】池谷 友基
(72)【発明者】
【氏名】近藤 悟
【審査官】三坂 敏夫
(56)【参考文献】
【文献】特表2009-512063(JP,A)
【文献】KANEMARU, Sho et al.,A study on automation of testing API adapters,電子情報通信学会2019年総合大会講演論文集(通信2),一般社団法人 電子情報通信学会,2019年03月22日,第S-31頁 - 第S-32頁,ISSN:1349-1369
【文献】武 直樹 他,GUIを用いたAPIアダプタ開発容易化方式に関する一検討,電子情報通信学会2018年通信ソサイエティ大会講演論文集2,一般社団法人電子情報通信学会,2018年09月14日,第262頁,ISSN:1349-1415
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/07
G06F 11/28-11/36
(57)【特許請求の範囲】
【請求項1】
所定サービスのAPIに関するAPIアダプタの正常性判定試験を支援するAPIアダプタ試験支援装置と、前記APIアダプタ試験支援装置に接続された開発担当者端末と、前記APIアダプタ試験支援装置および前記APIアダプタ試験支援装置に接続されたサービスAPI模擬装置とを備えたAPIアダプタ試験システムにおいて、
前記開発担当者端末は、
前記APIアダプタ試験支援装置に、NorthBound-API(NB-API)仕様を規定した第1仕様書データと、サービスAPI仕様を規定した第2仕様書データと、前記正常性判定試験に用いる試験用パラメータと、前記APIアダプタへの入力信号である第1APIリクエストを前記APIアダプタにより変換した後の第2APIリクエストに対する応答データを生成するためのサービス模擬データとを送信するデータ送信部と、
前記データ送信部からデータを送信したことにより前記APIアダプタ試験支援装置から送信される試験結果情報を取得する試験結果情報取得部と、
を有し、
前記サービスAPI模擬装置は、
前記APIアダプタの正常性判定試験を行うために、前記第2APIリクエストに対する応答である第2APIレスポンスを送信するサービスAPI模擬機能実行部を有し、
前記APIアダプタ試験支援装置は、
前記開発担当者端末から送信された前記第2仕様書データと、前記サービス模擬データとを用いて、前記第2APIリクエストに対するスタブを生成し、前記サービスAPI模擬装置の前記サービスAPI模擬機能実行部に配備させるために送信するサービスAPI模擬機能配備部と、
前記開発担当者端末から送信された第1仕様書データと、前記試験用パラメータとに基づいて、前記正常性判定試験に用いる第1APIリクエストに含めるクエリパターンを生成し、前記クエリパターンごとに、前記サービス模擬データを用いて、期待される応答内容を示した試験シナリオを生成する試験シナリオ作成部と、
生成した前記試験シナリオを実行させる試験シナリオ実行部と、
前記第2APIレスポンスが前記APIアダプタによって変換された、第1APIレスポンスを受信し、前記クエリパターンごとに、期待される応答であるか否かにより正常性判定を行う試験結果情報生成部と、
を有することを特徴とするAPIアダプタ試験システム。
【請求項2】
所定のサービスを実行するために、APIアダプタの正常性判定試験を行うAPIアダプタ試験支援装置であって、
開発担当者端末から送信された第2仕様書データと、サービス模擬データとを用いて、前記APIアダプタへの入力信号である第1APIリクエストを前記APIアダプタにより変換した後の第2APIリクエストに対するスタブを生成し、サービスAPI模擬装置に送信するサービスAPI模擬機能配備部と、
前記開発担当者端末から送信された第1仕様書データと、試験用パラメータとに基づいて、前記正常性判定試験に用いる第1APIリクエストに含めるクエリパターンを生成し、前記クエリパターンごとに、サービス模擬データを用いて、期待される応答内容を示した試験シナリオを生成する試験シナリオ作成部と、
生成した前記試験シナリオを実行させる試験シナリオ実行部と、
前記第2APIリクエストに対する応答である第2APIレスポンスが、前記APIアダプタによって変換された、第1APIレスポンスを受信し、前記クエリパターンごとに、期待される応答であるか否かにより正常性判定を行う試験結果情報生成部と、
を有することを特徴とするAPIアダプタ試験支援装置。
【請求項3】
所定のサービスを実行するために、APIアダプタの正常性判定試験を行うAPIアダプタ試験支援方法であって、
開発担当者端末から送信された第2仕様書データと、サービス模擬データとを用いて、前記APIアダプタへの入力信号である第1APIリクエストを前記APIアダプタにより変換した後の第2APIリクエストに対するスタブを生成し、サービスAPI模擬装置に送信するサービスAPI模擬機能配備ステップと、
前記開発担当者端末から送信された第1仕様書データと、試験用パラメータとに基づいて、前記正常性判定試験に用いる第1APIリクエストに含めるクエリパターンを生成し、前記クエリパターンごとに、サービス模擬データを用いて、期待される応答内容を示した試験シナリオを生成する試験シナリオ作成ステップと、
生成した前記試験シナリオを実行させる試験シナリオ実行ステップと、
前記第2APIリクエストに対する応答である第2APIレスポンスが、前記APIアダプタによって変換された、第1APIレスポンスを受信し、前記クエリパターンごとに、期待される応答であるか否かにより正常性判定を行う試験結果情報生成ステップと、
を有することを特徴とするAPIアダプタ試験支援方法。
【請求項4】
コンピュータに、
請求項2に記載した装置の機能を
実現させるためのAPIアダプタ試験支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
APIアダプタ作成装置によって作成されたAPIアダプタの正常性を判定するためのAPIアダプタ試験システム、APIアダプタ試験支援装置、APIアダプタ試験支援方法、および、APIアダプタ試験支援プログラムに関する。
【背景技術】
【0002】
近年、B2B2X(Business To Business To X)の普及に伴って、複数のサービスを組み合わせて新たなサービスを構築し運用することが行われている。ここで、新たなサービスの登場および既存サービスの仕様変更が頻繁に行われるため、サービス事業者はこれらの変更に迅速かつ低コストで対応することが求められる。
【0003】
これに対応するため、各事業者が公開した各種サービスごとのAPI(Application Program Interface)の仕様差分を吸収して連携させるAPIアダプタを自動生成する技術が開発されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】GUIを用いたAPIアダプタ開発容易化方式に関する一検討 武 直樹・池谷友基・小内伸夫・高橋謙輔・大谷未稚・加藤 浩(NTT) IEICE 2018年ソサイエティ大会B-14-13
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述したように自動生成されたAPIアダプタは、使用前にその正常性を確認する必要がある。しかし、この確認作業を行うためには、正常性を確認するための結合試験シナリオ情報、結合試験シナリオ情報に沿ってAPIを実行させる機能、および自動生成されたAPIアダプタで対象APIを模擬実施させる機能を搭載した装置を必要とするとともに、作業者に、APIアダプタの動作仕様に関する知識、スキルおよび時間を要するため、コストおよび手間がかかるという問題があった。
【0006】
本発明は上記事情を鑑みてなされたものであり、APIアダプタの正常性を容易に判定することが可能なAPIアダプタ試験システム、APIアダプタ試験支援装置、APIアダプタ試験支援方法、および、APIアダプタ試験支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記の課題を解決するための、本発明のAPIアダプタ試験システムは、所定サービスのAPIに関するAPIアダプタの正常性判定試験を支援するAPIアダプタ試験支援装置と、前記APIアダプタ試験支援装置に接続された開発担当者端末と、前記APIアダプタ試験支援装置および前記APIアダプタ試験支援装置に接続されたサービスAPI模擬装置とを備えたAPIアダプタ試験システムにおいて、前記開発担当者端末は、前記APIアダプタ試験支援装置に、NorthBound-API(NB-API)仕様を規定した第1仕様書データと、サービスAPI仕様を規定した第2仕様書データと、前記正常性判定試験に用いる試験用パラメータと、前記APIアダプタへの入力信号である第1APIリクエストを前記APIアダプタにより変換した後の第2APIリクエストに対する応答データを生成するためのサービス模擬データと、を送信するデータ送信部と、前記データ送信部からデータを送信したことにより前記APIアダプタ試験支援装置から送信される試験結果情報を取得する試験結果情報取得部とを有し、前記サービスAPI模擬装置は、前記APIアダプタの正常性判定試験を行うために、前記第2APIリクエストに対する応答である第2APIレスポンスを送信するサービスAPI模擬機能実行部を有し、前記APIアダプタ試験支援装置は、前記開発担当者端末から送信された前記第2仕様書データと、前記サービス模擬データとを用いて、前記第2APIリクエストに対するスタブを生成し、前記サービスAPI模擬装置の前記サービスAPI模擬機能実行部に配備させるために送信するサービスAPI模擬機能配備部と、前記開発担当者端末から送信された第1仕様書データと、前記試験用パラメータとに基づいて、前記正常性判定試験に用いる第1APIリクエストに含めるクエリパターンを生成し、前記クエリパターンごとに、前記サービス模擬データを用いて、期待される応答内容を示した試験シナリオを生成する試験シナリオ作成部と、生成した前記試験シナリオを実行させる試験シナリオ実行部と、前記第2APIレスポンスが前記APIアダプタによって変換された第1APIレスポンスを受信し、前記クエリパターンごとに、期待される応答であるか否かにより正常性判定を行う試験結果情報生成部とを有することを特徴とする。
【発明の効果】
【0008】
本発明のAPIアダプタ試験システム、APIアダプタ試験支援装置、APIアダプタ試験支援方法、および、APIアダプタ試験支援プログラムによれば、APIアダプタ作成装置によって作成されたAPIアダプタの正常性を容易に判定することが可能になる。
【図面の簡単な説明】
【0009】
【
図1】本発明の一実施形態によるAPIアダプタ試験システムの構成を示すブロック図である。
【
図2】本発明の一実施形態によるAPIアダプタ試験システムの動作を示すシーケンス図である。
【
図3】本発明の一実施形態によるAPIアダプタ試験システムのAPIアダプタ試験支援装置で生成される、(a)クエリパターン情報の一例、(b)試験シナリオ情報の一例、および、(c)模擬変換処理で期待される応答内容が得られたか否かを確認する処理を示す情報の一例である。
【
図4】一実施形態によるAPIアダプタ試験システムのAPIアダプタ試験支援装置で生成される試験結果情報の一例である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態として、卸サービスXのAPIに関して作成された卸サービスAPIアダプタYの正常性を判定するための試験処理を行うAPIアダプタ試験システムについて説明する。
【0011】
〈一実施形態によるAPIアダプタ試験システムの構成〉
本実施形態によるAPIアダプタ試験システムは、
図1に示すように、対象のAPIアダプタYの正常性判定試験を行う開発担当者が操作する開発担当者端末10と、当該正常性判定試験を支援するAPIアダプタ試験支援装置20と、開発担当者端末10およびAPIアダプタ試験支援装置20に接続された卸サービスAPI模擬装置30とを備える。
【0012】
開発担当者端末10は、データ記憶部11と、データ送信部12と、試験結果情報取得部13とを有する。データ記憶部11は、第1仕様書データとしてのNB-API(Northbound API)仕様書データD1、第2仕様書データとしての卸サービスAPI仕様書データD2、試験用パラメータD3、および卸サービス模擬データD4を記憶する。NB-API仕様書データD1は、試験対象のAPIアダプタYによって変換される前の卸サービスXのNB-API仕様を規定するためのswagger specファイルで構成されたAPI仕様書データである。卸サービスAPI仕様書データD2は、APIアダプタYによってAPI信号が変換された卸サービスAPI仕様を規定するためのAPI仕様書データである。試験用パラメータD3は、APIアダプタYに入力するNB-API信号の中の、当該正常性判定試験処理に用いる試験用パラメータを示す情報である。卸サービス模擬データD4は、APIアダプタYへの入力信号である第1APIリクエストをAPIアダプタYにより変換した後の第2APIリクエストに対する応答データを生成するためのデータである。
【0013】
データ送信部12は、開発担当者の操作に基づいて、データ記憶部11に記憶されたデータが保持されたファイル情報を、APIアダプタ試験支援装置20に送信する。試験結果情報取得部13は表示装置で構成され、APIアダプタ試験支援装置20から送信された試験結果情報を取得して出力する。
【0014】
APIアダプタ試験支援装置20は、ファイル読み込み部21と、卸サービスAPI模擬機能コード生成部22と、卸サービスAPI模擬データ投入部23と、卸サービスAPI模擬機能配備部24と、試験シナリオ作成部25と、試験シナリオ実行部26と、試験結果情報生成部27とを有する。
【0015】
ファイル読み込み部21は、開発担当者端末10から送信されたファイル情報を読み込む。卸サービスAPI模擬機能コード生成部22は、開発担当者端末10から送信されたファイル情報中の卸サービスAPI仕様書データD2を用いて、PostgreSQLのテーブルのソースコード情報を生成する。卸サービスAPI模擬データ投入部23は、卸サービスAPI模擬機能コード生成部22で生成されたテーブルのソースコード情報に、卸サービス模擬データD4中のデータを挿入する。
【0016】
卸サービスAPI模擬機能配備部24は、開発担当者端末10から送信された第2仕様書データD2と、卸サービス模擬データD4とを用いて、第2APIリクエストに対するスタブを生成し、卸サービスAPI模擬装置30の卸サービスAPI模擬機能実行部31に配備させるために送信する。
【0017】
試験シナリオ作成部25は、開発担当者端末10から送信されたNB-API仕様書データD1と試験用パラメータD3とに基づいて、正常性判定試験に用いる第1APIリクエストに含めるクエリパターンを生成し、クエリパターンごとに、サービス模擬データを用いて、期待される応答内容を示した試験シナリオを生成する。
【0018】
試験シナリオ実行部26は、生成した試験シナリオを実行させ、その応答結果を受信する。試験結果情報生成部27は、第2APIレスポンスがAPIアダプタYによって変換された第1APIレスポンスを受信し、クエリパターンごとに、期待される応答であるか否かにより正常性を判定して当該正常性判定試験の試験結果情報を生成し、開発担当者端末10に送信する。
【0019】
卸サービスAPI模擬装置30は、APIアダプタの正常性判定試験を行うために、第2APIリクエストを受信し、それに対する応答である第2APIレスポンスを送信する卸サービスAPI模擬機能実行部31を有する。
【0020】
〈一実施形態によるAPIアダプタ試験システムの動作〉
次に、本実施形態によるAPIアダプタ試験システムの動作について、
図2のシーケンス図を参照して説明する。
【0021】
まず、開発担当者がAPIアダプタYの正常性判定試験処理を実行するための操作を行うと(S1の「YES」)、開発担当者端末10のデータ送信部12により、データ記憶部11に記憶されたNB-API(Northbound API)仕様書データD1、卸サービスAPI仕様書データD2、試験用パラメータD3、および卸サービス模擬データD4が保持されたファイル情報が、APIアダプタ試験支援装置20に送信される(S2)。
【0022】
APIアダプタ試験支援装置20では、開発担当者端末10から送信されたファイル情報がファイル読み込み部21で読み込まれる(S3)。ファイル読み込み部21で当該ファイル情報が読み込まれると、卸サービスAPI模擬機能コード生成部22により、卸サービスAPI仕様書データD2を用いてPostgreSQLのテーブルのソースコード情報が生成され、卸サービスAPI模擬機能配備部24で取得される(S4)。そして、卸サービスAPI模擬データ投入部23により、卸サービスAPI模擬機能配備部24で取得されたPostgreSQLのテーブルのソースコード情報に卸サービス模擬データD4中のデータが挿入される(S5)。さらに、卸サービスAPI模擬機能配備部24は、第2APIリクエストに対するスタブを生成し、卸サービスAPI模擬装置30に送信する(S6)。
【0023】
卸サービスAPI模擬装置30では、卸サービスAPI模擬機能配備部24から送信されたスタブを受信し、配備する(S7)。例えば、卸サービスAPI模擬装置30としての仮想マシンが起動されるかまたは、docker composeにより卸サービスAPI模擬装置30が起動され、当該スタブが配備される。
【0024】
一方、APIアダプタ試験支援装置20の試験シナリオ作成部25では、ファイル読み込み部21で読み込まれたファイル情報のNB-API仕様書データD1と試験用パラメータD3とに基づいて、正常性判定試験に用いる第1APIリクエストに含めるクエリパターンとして、NB-API仕様書データデータD1の中で、当該正常性判定試験処理に用いるパラメータの組み合わせによる、複数のクエリパターン情報Eが生成される(
図3(a)参照)。そして、生成されたクエリパターン情報Eに関するNB-API仕様書データD1中の情報と卸サービス模擬データD4とから、クエリパターン情報Eごとに、試験対象のAPIアダプタYで変換されたAPI信号で取得されることが期待される応答内容を示した情報が、試験シナリオ情報Fとして生成される(
図3(b)参照)(S8)。
【0025】
試験シナリオ作成部25で試験シナリオ情報が生成されると、試験シナリオ実行部26により実行され、APIアダプタへNB-APIリクエストが入力される(S9)。APIアダプタにより、NB-APIリクエストが、卸サービスAPIリクエストに変換され、卸サービスAPI模擬装置30へ、リクエストが送られる。卸サービスAPI模擬装置30の卸サービスAPI模擬機能実行部31では、卸サービスAPIリクエストに対する応答である卸サービスAPIレスポンスを生成する(S10)。APIアダプタでは、再び、卸サービスAPIレスポンスの変換を行い、NB-APIレスポンスを生成し、APIアダプタ試験支援装置20の試験シナリオ実行部26へ送られる(S11)。
【0026】
そして、試験結果情報生成部27により、このステップS11で取得された応答内容と、ステップS8で生成された試験シナリオ情報内の応答内容とに基づいて、APIアダプタにより期待される応答内容が得られたか否かがクエリパターンごとに判定される(
図3(c)参照)。そして、期待される応答内容が得られたクエリパターンについては「OK」情報が付加され、期待される応答内容が得られなかったクエリパターンについては「NG」情報が付加されることで、
図4に示すような試験結果情報が生成される。生成された試験結果情報は、試験結果情報生成部27から開発担当者端末10に送信され(S12)、開発担当者端末10の試験結果情報取得部13で取得され、出力される(S13)。
【0027】
以上の実施形態によれば、所定の卸サービスのAPIに関して作成された卸サービスAPIアダプタの正常性を、簡易な処理で容易に判定することができる。
【符号の説明】
【0028】
1 APIアダプタ試験システム
10 開発担当者端末
11 データ記憶部
12 データ送信部
13 試験結果情報取得部
20 APIアダプタ試験支援装置
21 ファイル読み込み部
22 卸サービスAPI模擬機能コード生成部
23 卸サービスAPI模擬データ投入部
24 卸サービスAPI模擬機能配備部
25 試験シナリオ作成部
26 試験シナリオ実行部
27 試験結果情報生成部
30 卸サービスAPI模擬装置
31 卸サービスAPI模擬機能実行部