JP2023070408A - 生成装置、生成方法及びプログラム - Google Patents
生成装置、生成方法及びプログラム Download PDFInfo
- Publication number
- JP2023070408A JP2023070408A JP2021182566A JP2021182566A JP2023070408A JP 2023070408 A JP2023070408 A JP 2023070408A JP 2021182566 A JP2021182566 A JP 2021182566A JP 2021182566 A JP2021182566 A JP 2021182566A JP 2023070408 A JP2023070408 A JP 2023070408A
- Authority
- JP
- Japan
- Prior art keywords
- test
- webapi
- type
- web api
- data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 44
- 238000012360 testing method Methods 0.000 claims abstract description 241
- 238000004458 analytical method Methods 0.000 claims abstract description 15
- 230000008569 process Effects 0.000 claims description 24
- 238000012916 structural analysis Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 10
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 238000011161 development Methods 0.000 abstract description 13
- 238000003860 storage Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000013475 authorization Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000012905 input function Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012938 design process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
【課題】WebAPIをテストするテストコードの開発時間を短縮する。【解決手段】実施形態の生成装置は、解析部とテストシナリオ生成部とテストコード生成部とを備える。解析部は、WebAPI(Web Application Programming Interface)の構造を定義する定義ファイルを解析し、前記WebAPIの構造解析データを生成する。テストシナリオ生成部は、前記WebAPIのテスト種別と前記テスト種別毎のテスト項目とを含むテスト設定ファイル、及び、前記構造解析データから、前記WebAPIのテストシナリオデータを生成する。テストコード生成部は、前記WebAPIをテストするテストコードを、前記テストシナリオデータに基づいて生成する。【選択図】図2
Description
本発明の実施形態は生成装置、生成方法及びプログラムに関する。
WebAPI(Web Application Programming Interface)には1つのパスに対して複数のパラメータが存在する。このパラメータ1つ1つに対して、上限境界値、下限境界値及び標準値チェック等のテストが大量発生する。パス及びパラメータが少し変化するだけで、テストの変更及び増加が大量に発生するため、テスト担当の開発者にとってテストコードの開発は負担となる。また、テストコードの作成が不十分であると成果物であるWebAPIの品質が低下するという副次的な課題もある。
従来の技術では、WebAPIをテストするテストコードの開発時間を短縮することが難しかった。
実施形態の生成装置は、解析部とテストシナリオ生成部とテストコード生成部とを備える。解析部は、WebAPI(Web Application Programming Interface)の構造を定義する定義ファイルを解析し、前記WebAPIの構造解析データを生成する。テストシナリオ生成部は、前記WebAPIのテスト種別と前記テスト種別毎のテスト項目とを含むテスト設定ファイル、及び、前記構造解析データから、前記WebAPIのテストシナリオデータを生成する。テストコード生成部は、前記WebAPIをテストするテストコードを、前記テストシナリオデータに基づいて生成する。
以下に添付図面を参照して、生成装置、生成方法及びプログラムの実施形態を詳細に説明する。
(第1実施形態)
はじめに、第1実施形態のWebAPIの開発フローについて説明する。
はじめに、第1実施形態のWebAPIの開発フローについて説明する。
図1は、第1実施形態のWebAPIの開発フローについて説明するための図である。図1は、インフラサービスを提供する空調メーカーのクラウドシステムのWebAPIの開発フローの例を示す。一般には、WebAPIの開発は、WebAPIの設計工程、WebAPIの実装工程、WebAPIのテストコードの実装工程、WebAPIのテスト工程を含む。そして、WebAPIのテストの実行後、WebAPIの品質に問題がなければ、WebAPIがリリースされる。
WebAPIのテストコードは大量のパターンを用意する必要があり、テスト開発者の負担となっていた。例えば、従来のテストコード自動生成システムは、WebAPIの定義ファイルから確認できるWebAPIの正常系テスト、及び、一部の異常系テストしか生成できなかった。
第1実施形態の生成装置は、WebAPI開発におけるWebAPIのテストコードを自動生成する装置に係わる。以下に説明する第1実施形態の生成装置によれば、テストコードの実装工程を自動化することができるので、テストコード開発にかかっていた時間を大幅に短縮できる。また、更に、第1実施形態の生成装置により生成されたテストコードを、市販あるいは無料で提供されているテスト自動実行ツール(例えば、Tavern等)に読み込ませることで、テスト工程も短縮できる。これにより、テストコード作成というソフトウェア開発における工数が大きい作業が、自動化されるので、テストコード開発者の負担を軽減させることができる。
[機能構成の例]
図2は第1実施形態の生成装置の機能構成の例を示す図である。第1実施形態の生成装置10は、解析部1、テストシナリオ生成部2及びテストコード生成部3を備える。
図2は第1実施形態の生成装置の機能構成の例を示す図である。第1実施形態の生成装置10は、解析部1、テストシナリオ生成部2及びテストコード生成部3を備える。
解析部1は、WebAPIの構造を定義する定義ファイル101を解析し、WebAPIの構造解析データ102を生成する。定義ファイル101は、例えばWebAPIのソースコード等を含む。
テストシナリオ生成部2は、WebAPIのテスト種別とテスト種別毎のテスト項目とを含むテスト設定ファイル103、及び、構造解析データ102から、WebAPIのテストシナリオを示すテストシナリオデータ104を生成する。このテストシナリオデータ104は、プログラムとして実際に動作させるテストコード105の生成に用いられる。
テストコード生成部3は、WebAPIをテストするテストコード105を、テストシナリオデータ104に基づいて生成する。
[テスト設定ファイルの例]
図3は第1実施形態のテスト設定ファイル103の例を示す図である。テスト設定ファイル103は、WebAPIの機能を確認するテストシナリオデータ104の生成に用いられる。図3の例では、WebAPIのテスト種別のバリエーションとして、WebAPIのパラメータのパラメータ型情報(パラメータ型のテスト種別)を含む。
図3は第1実施形態のテスト設定ファイル103の例を示す図である。テスト設定ファイル103は、WebAPIの機能を確認するテストシナリオデータ104の生成に用いられる。図3の例では、WebAPIのテスト種別のバリエーションとして、WebAPIのパラメータのパラメータ型情報(パラメータ型のテスト種別)を含む。
パラメータ型<integer>は、テスト項目“zero”,“max”,“min”及び“string”を含む。テスト項目“zero”は、当該パラメータに0(文字列型であればnull文字)を代入してテストを行う項目である。テスト項目“max”は、当該パラメータに、当該パラメータの最大値を代入してテストを行う項目である。テスト項目“min”は、当該パラメータに、当該パラメータの最小値を代入してテストを行う項目である。テスト項目“string”は、当該パラメータに文字列データを代入してテストを行う項目である。
パラメータ型<string>は、テスト項目“zero”,“byte”及び“len”を含む。テスト項目“zero”は、当該パラメータにnull文字(数値型であれば0)を代入してテストを行う項目である。テスト項目“byte”は、当該パラメータに、例えば2byteコードの文字列データを代入してテストを行う項目である。テスト項目“len”は、当該パラメータに、例えば当該パラメータに代入可能な最大文字列長の文字列データを代入してテストを行う項目である。
なお、図3は一例であり、パラメータ型毎のテスト項目には、例えば当該パラメータ型に応じた上限値、下限値、標準値及び異常値等、任意のデータをテストするテスト項目を定めてよい。
[生成方法の例]
図4は第1実施形態の生成方法の例を示すフローチャートである。はじめに、解析部1が、WebAPIの定義ファイル101を読み込む(ステップS1)。定義ファイル101は、例えばWebAPI開発者により作成される。この定義ファイル101のフォーマットは、機械可読なフォーマットによって記述される。機械可読なフォーマットは、OpenAPI、WSDL(Web Services Description Language)又はSOAP(Simple Object Access Protocol)等、いずれでもよいが、説明の簡略化のため、以降ではOpenAPIを用いた場合で説明する。
図4は第1実施形態の生成方法の例を示すフローチャートである。はじめに、解析部1が、WebAPIの定義ファイル101を読み込む(ステップS1)。定義ファイル101は、例えばWebAPI開発者により作成される。この定義ファイル101のフォーマットは、機械可読なフォーマットによって記述される。機械可読なフォーマットは、OpenAPI、WSDL(Web Services Description Language)又はSOAP(Simple Object Access Protocol)等、いずれでもよいが、説明の簡略化のため、以降ではOpenAPIを用いた場合で説明する。
次に、解析部1は、ステップS1読み込まれた定義ファイル101(OpenAPI)を解析し(ステップS2)、WebAPIの構造を示す構造解析データ102を生成する。構造解析データ102は、WebAPIのパラメータ情報を含む。この構造解析データ102は、テストシナリオ生成部2に入力される。
ここで、WebAPIの構造は、例えばOpenAPIで記述されたWebAPIのパス情報、各パスにおけるHTTPメソッドのアクセス方法、パラメータ名(例えばパス及びメソッドの組み合わせ)、及び、パラメータの種別情報(例えばinteger,string等のパラメータ型)を含む。
次に、テストシナリオ生成部2が、テスト設定ファイル103(図3参照)を読み込む(ステップS3)。テスト設定ファイル103は、例えば独自フォーマットのDSL(Domain-Specific Language)によって記述される。
次に、テストシナリオ生成部2が、構造解析データ102及びテスト設定ファイル103に基づいて、WebAPIに含まれるパラメータの種類(パラメータ型)を確認する(ステップS4)。具体的には、テストシナリオ生成部2は、構造解析データ102により特定されるWebAPIのパラメータ情報から、パスとメソッドとの組み合わせごとに、パラメータのパラメータ型を確認する。そして、テストシナリオ生成部2は、このパラメータ型と、テスト設定ファイル103のパラメータ型とを照合する。
次に、テストシナリオ生成部2は、ステップS4で確認されたパラメータのテスト種類(テスト項目)を確認する(ステップS5)。具体的には、テストシナリオ生成部2は、ステップS4の処理で照合されたパラメータ型ごとに、当該パラメータ型のテスト項目を、テスト設定ファイル103から取得する。
次に、テストシナリオ生成部2は、ステップS5の処理によって取得されたテスト項目に基づいて、テストシナリオデータ104を生成する(ステップS6)。テストシナリオ生成部2は、例えばテスト項目が“zero”の場合、WebAPIのパラメータの値に0値、具体的には数値型であれば0、文字列型であればnull文字を入れ、サーバ装置へ問い合わせを行うテストシナリオを生成する。
最後に、テストコード生成部3が、ステップS6の処理により生成されたテストシナリオデータ104に基づいて、テスト自動実行ツールで実際に実行されるテストコード105を生成する(ステップS7)。
以上、説明したように、第1実施形態の生成装置10によれば、WebAPIをテストするテストコード105の開発時間を短縮することができる。具体的には、WebAPI特有の1つのパスに対して複数のパラメータが存在し、パラメータ1つ1つに対する上下限境界値チェック及び標準値チェック等のテストは、WebAPIの定義ファイル101では表現できない。テストコード生成部3が、定義ファイル101とは別途定義されるテスト設定ファイル103に含まれるパラメータ種別(パラメータ型)ごとのテスト項目を読み込むことで、WebAPIのパスとメソッドとの組み合わせごとに複数存在するパラメータのテストコード105を自動で生成できる。
第1実施形態によれば、WebAPIの開発者は仕様に従ったWebAPIの定義ファイル101を作成するだけでテストコードを準備可能となり、開発者の負担を軽減することができる。具体的には、例えばWebAPIのパラメータ型ごとのテスト項目のバリエーションをより容易に拡大することができ、テストコード開発にかかっていた時間を大幅に短縮可能となる。
従来は、WebAPI特有のテストコードをすべて自動生成することはできなかった。例えば、ワークフロー文書及びインターフェース文書等のWebAPIを構成するための定義ファイル101から、テストコードのひな型を作る技術では、テスト担当の開発者負担の軽減が見込めるが、最終的には人がコードを記述する必要があり負担軽減は限定的だった。また例えば、テストを実行すると次のテストを自動的に実行し、その際パラメータなどを変更し新しいテストコードを生成する技術では、初期のテストコードについてはやはり人がコードを記述する必要があった。
(第2実施形態)
次に第2実施形態について説明する。第2実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。
次に第2実施形態について説明する。第2実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。
第2実施形態では、テスト設定ファイル103の記述形式が、第1実施形態と異なる。WebAPIの定義ファイル101に加え、新たに第2実施形態のテスト設定ファイル103を用意することで、WebAPIにおける認証認可、及び、イレギュラーな異常系テスト等についても、テストコードを出力可能になる。
第1実施形態では、WebAPIのパラメータに代入される値のテストを全て網羅するテストシナリオを生成していた。第2実施形態では、例えば認証認可等の処理フローにおけるフロー途中まで(処理の失敗まで)も含むテスト項目の追加も可能にする構成について説明する。
[テスト設定ファイルの例]
図5は第2実施形態のテスト設定ファイル103の例を示す図である。図5の例では、WebAPIのテスト種別として、WebAPIのフロー情報(フロー型のテスト種別)と、WebAPIのパラメータ型情報(パラメータ型のテスト種別)とを含む。また、第2実施形態のテスト設定ファイル103では、WebAPIパスとメソッドとの組み合わせ毎に、テスト種別が設定される。
図5は第2実施形態のテスト設定ファイル103の例を示す図である。図5の例では、WebAPIのテスト種別として、WebAPIのフロー情報(フロー型のテスト種別)と、WebAPIのパラメータ型情報(パラメータ型のテスト種別)とを含む。また、第2実施形態のテスト設定ファイル103では、WebAPIパスとメソッドとの組み合わせ毎に、テスト種別が設定される。
フロー情報<flow>は、テスト項目“auth”,“login”及び“token”の順番のテスト対象パスを含む。テスト項目“auth”は、認証処理の成功及び失敗のパターンをテストするテスト項目である。テスト項目“login”は、認証処理が成功の場合に、ログイン処理の成功及び失敗のパターンをテストするテスト項目である。テスト項目“token”は、ログイン処理が成功の場合に、トークン処理の成功及び失敗のパターンをテストするテスト項目である。
図5のフロー情報<flow>は一例であり、フロー情報は、フローに含まれる一連の処理の実行順序を確認する任意のテスト項目でよい。
[生成方法の例]
図6は第2実施形態の生成方法の例を示すフローチャートである。ステップS1~S7の処理は、第1実施形態の生成方法(図4参照)と同様なので説明を省略する。第1実施形態との相違点は、テスト設定ファイル103の記載内容が異なり、新たにフロー情報が追加されていること、及び、動作フローにおいてステップS8~S10が追加されていることである。
図6は第2実施形態の生成方法の例を示すフローチャートである。ステップS1~S7の処理は、第1実施形態の生成方法(図4参照)と同様なので説明を省略する。第1実施形態との相違点は、テスト設定ファイル103の記載内容が異なり、新たにフロー情報が追加されていること、及び、動作フローにおいてステップS8~S10が追加されていることである。
生成装置10は、ステップS3までは第1実施形態と同様の動作を行う。次に、テストシナリオ生成部2が、テスト設定ファイル103に含まれているパスとメソッドとの組み合わせ毎に、パラメータ情報のテストを行うか、または、逐次処理(フロー情報)のテストを行うかを判定する(ステップS8)。
パラメータ情報のテストを行う場合、処理はステップS4に遷移し、生成装置10は、第1実施形態と同様の処理を行う。
フロー情報のテストを行う場合、テストシナリオ生成部2が、構造解析データ102及びテスト設定ファイル103に基づいて、WebAPIに含まれるフロー情報のテスト対象パスを確認する(ステップS9)。例えば、図5のテスト設定ファイル103の例では、テストシナリオ生成部2が、フロー情報<flow>における“auth”,“login”及び“token”の順番のテスト対象パスを取得する。そして、テストシナリオ生成部2が、このテスト対象パスに該当するフローを、構造解析データ102に含まれるWebAPIのフロー情報(WebAPIのフローの構造を示す情報)から特定する。
次に、テストシナリオ生成部2が、テスト対象パスに応じたテストシナリオデータ104を生成する(ステップS10)。例えば、図5のテスト設定ファイル103の例では、テストシナリオ生成部2が、以下の第1~第4のテストシナリオを、テストシナリオデータ104に追加する。
第1のテストシナリオは、テスト項目“auth”の認証処理が失敗するテストシナリオである。
第2のテストシナリオは、テスト項目“auth”の認証処理が成功し、テスト項目“login”の認証処理が失敗するテストシナリオである。
第3のテストシナリオは、テスト項目“auth”の認証処理が成功し、テスト項目“login”の認証処理が成功し、テスト項目“login”の認証処理が失敗するテストシナリオである。
第4のテストシナリオは、テスト項目“auth”の認証処理が成功し、テスト項目“login”の認証処理が成功し、テスト項目“login”の認証処理が成功するテストシナリオである。
ステップS10の処理の後、処理はステップS7に遷移し、第1実施形態と同様の処理が行われる。
以上、説明したように、第2実施形態では、あるWebAPIを実行するためにほかのWebAPIを利用する必要がある場合のテストにも対応できる。例えば、認証認可を伴うWebAPIのテストのように、認可の方法によっては複数のテスト対象パスに対するテストが必要になる。このような場合でも、第2実施形態によれば、それぞれのパスに対して順次テストを実施することができ、開発者のテスト作成の負担を軽減することが見込める。これにより、テストコード開発にかかっていた時間を大幅に短縮可能となる。
最後に、第1及び第2実施形態の生成装置10のハードウェア構成の例について説明する。
[ハードウェア構成の例]
図7は第1及び第2実施形態の生成装置10のハードウェア構成の例を示す図である。第1及び第2実施形態の生成装置10は、制御装置201、主記憶装置202、補助記憶装置203、表示装置204、入力装置205及び通信装置206を備える。制御装置201、主記憶装置202、補助記憶装置203、表示装置204、入力装置205及び通信装置206は、バス210を介して接続されている。
図7は第1及び第2実施形態の生成装置10のハードウェア構成の例を示す図である。第1及び第2実施形態の生成装置10は、制御装置201、主記憶装置202、補助記憶装置203、表示装置204、入力装置205及び通信装置206を備える。制御装置201、主記憶装置202、補助記憶装置203、表示装置204、入力装置205及び通信装置206は、バス210を介して接続されている。
なお、第1及び第2実施形態の生成装置10は、上記構成の一部が備えられていなくてもよい。例えば、生成装置10が、外部の装置の入力機能及び表示機能を利用可能な場合、生成装置10に表示装置204及び入力装置205が備えられていなくてもよい。
制御装置201は、補助記憶装置203から主記憶装置202に読み出されたプログラムを実行する。主記憶装置202は、ROM及びRAM等のメモリである。補助記憶装置203は、HDD(Hard Disk Drive)及びメモリカード等である。
表示装置204は、例えば液晶ディスプレイ等である。入力装置205は、アクセスポイント装置20を操作するためのインターフェースである。なお、表示装置204及び入力装置205は、表示機能と入力機能とを有するタッチパネル等により実現されていてもよい。通信装置206は、他の装置と通信するためのインターフェースである。
生成装置10で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、メモリカード、CD-R及びDVD等のコンピュータで読み取り可能な記憶媒体に記録されてコンピュータ・プログラム・プロダクトとして提供される。
また生成装置10で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また生成装置10で実行されるプログラムをダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
また生成装置10のプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
生成装置10で実行されるプログラムは、上述の図2の機能構成のうち、プログラムによっても実現可能な機能を含むモジュール構成となっている。当該各機能は、実際のハードウェアとしては、制御装置201が記憶媒体からプログラムを読み出して実行することにより、上記各機能ブロックが主記憶装置202上にロードされる。すなわち上記各機能ブロックは主記憶装置202上に生成される。
なお上述した図2の各機能の一部又は全部をソフトウェアにより実現せずに、IC等のハードウェアにより実現してもよい。
また複数のプロセッサを用いて各機能を実現する場合、各プロセッサは、各機能のうち1つを実現してもよいし、各機能のうち2以上を実現してもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 解析部
2 テストシナリオ生成部
3 テストコード生成部
10 生成装置
201 制御装置
202 主記憶装置
203 補助記憶装置
204 表示装置
205 入力装置
206 通信装置
210 バス
2 テストシナリオ生成部
3 テストコード生成部
10 生成装置
201 制御装置
202 主記憶装置
203 補助記憶装置
204 表示装置
205 入力装置
206 通信装置
210 バス
Claims (10)
- WebAPI(Web Application Programming Interface)の構造を定義する定義ファイルを解析し、前記WebAPIの構造解析データを生成する解析部と、
前記WebAPIのテスト種別と前記テスト種別毎のテスト項目とを含むテスト設定ファイル、及び、前記構造解析データから、前記WebAPIのテストシナリオデータを生成するテストシナリオ生成部と、
前記WebAPIをテストするテストコードを、前記テストシナリオデータに基づいて生成するテストコード生成部と、
を備える生成装置。 - 前記構造解析データは、前記WebAPIのパラメータ情報を含み、
前記テスト種別は、前記WebAPIのパラメータ型を含み、
前記テストシナリオ生成部は、前記パラメータ情報から特定されたWebAPIのパラメータに、前記パラメータ型毎のテスト項目をテストするテストシナリオデータを生成する、
請求項1に記載の生成装置。 - 前記パラメータ型毎のテスト項目は、前記パラメータ型に応じた上限値、下限値、標準値及び異常値の少なくとも1つを含む、
請求項2に記載の生成装置。 - 前記構造解析データは、前記WebAPIのフロー情報を含み、
前記テスト種別は、前記WebAPIのフロー型を含み、
前記テストシナリオ生成部は、前記構造解析データから特定されたWebAPIのフローに、前記フロー型毎のテスト項目をテストするテストシナリオデータを生成する、
請求項1に記載の生成装置。 - 前記フロー型毎のテスト項目は、前記フローに含まれる一連の処理の実行順序を確認するテストを含む、
請求項4に記載の生成装置。 - 前記定義ファイルは、機械可読なフォーマットによって記述される、
請求項1乃至5のいずれか1項に記載の生成装置。 - 前記機械可読なフォーマットは、OpenAPI、WSDL(Web Services Description Language)又はSOAP(Simple Object Access Protocol)である、
請求項6に記載の生成装置。 - 前記テスト設定ファイルは、独自フォーマットのDSL(Domain-Specific Language)によって記述される、
請求項1乃至7のいずれか1項に記載の生成装置。 - 生成装置が、WebAPI(Web Application Programming Interface)の構造を定義する定義ファイルを解析し、前記WebAPIの構造解析データを生成するステップと、
前記生成装置が、前記WebAPIのテスト種別と前記テスト種別毎のテスト項目とを含むテスト設定ファイル、及び、前記構造解析データから、前記WebAPIのテストシナリオデータを生成するステップと、
前記生成装置が、前記WebAPIをテストするテストコードを、前記テストシナリオデータに基づいて生成するステップと、
を含む生成方法。 - コンピュータを、
WebAPI(Web Application Programming Interface)の構造を定義する定義ファイルを解析し、前記WebAPIの構造解析データを生成する解析部と、
前記WebAPIのテスト種別と前記テスト種別毎のテスト項目とを含むテスト設定ファイル、及び、前記構造解析データから、前記WebAPIのテストシナリオデータを生成するテストシナリオ生成部と、
前記WebAPIをテストするテストコードを、前記テストシナリオデータに基づいて生成するテストコード生成部、
として機能させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021182566A JP2023070408A (ja) | 2021-11-09 | 2021-11-09 | 生成装置、生成方法及びプログラム |
US17/823,199 US20230141619A1 (en) | 2021-11-09 | 2022-08-30 | Generation device, method of generation, and computer program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021182566A JP2023070408A (ja) | 2021-11-09 | 2021-11-09 | 生成装置、生成方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023070408A true JP2023070408A (ja) | 2023-05-19 |
Family
ID=86230267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021182566A Pending JP2023070408A (ja) | 2021-11-09 | 2021-11-09 | 生成装置、生成方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230141619A1 (ja) |
JP (1) | JP2023070408A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116932403A (zh) * | 2023-07-25 | 2023-10-24 | 太初(无锡)电子科技有限公司 | 测试用例的生成方法 |
-
2021
- 2021-11-09 JP JP2021182566A patent/JP2023070408A/ja active Pending
-
2022
- 2022-08-30 US US17/823,199 patent/US20230141619A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230141619A1 (en) | 2023-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8108456B2 (en) | Method and apparatus for migrating the system environment on which the applications depend | |
KR102044046B1 (ko) | 텔레메트리 파일 해시 및 충돌 검출 기법 | |
JP5350428B2 (ja) | 自動プログラム生成装置、方法及びコンピュータプログラム | |
JP4370525B2 (ja) | アプリケーション環境チェック装置及び方法とそのプログラム | |
US11409631B2 (en) | Verification automation apparatus, verification automation method, and computer-readable recording medium | |
JP2006244195A (ja) | プログラムテスト支援装置およびその方法 | |
JP2002032221A (ja) | ソフトウェアコンポーネント自動生成システム | |
CN110532182B (zh) | 一种虚拟化平台的自动化测试方法及装置 | |
US9047260B2 (en) | Model-based testing of a graphical user interface | |
CN112905459B (zh) | 服务接口测试方法、装置、电子设备及存储介质 | |
CN111475390A (zh) | 日志采集系统部署方法、装置、设备及存储介质 | |
CN113330419A (zh) | 一种设备应用安装方法和装置 | |
JP2023070408A (ja) | 生成装置、生成方法及びプログラム | |
JP2010250583A (ja) | アプリケーションテスト生成プログラム、アプリケーションテスト生成方法及びアプリケーションテスト装置 | |
US20040168064A1 (en) | System of generating procedure for digital signature and encryption to XML | |
CN109491919B (zh) | 一种软件测试方法及测试平台 | |
WO2022153404A1 (ja) | 操作支援装置、操作支援方法および操作支援プログラム | |
JP7029557B1 (ja) | 判定装置、判定方法および判定プログラム | |
US11442845B2 (en) | Systems and methods for automatic test generation | |
US20210272023A1 (en) | Information processing system and information processing method | |
JPWO2012049816A1 (ja) | モデル検査装置、方法及びプログラム | |
JP2002157144A (ja) | ソフトウェア自動試験方式 | |
US8775873B2 (en) | Data processing apparatus that performs test validation and computer-readable storage medium | |
JP2015148925A (ja) | プログラム生成装置および方法 | |
JP7319516B2 (ja) | プログラム、情報処理装置及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240227 |