APIテスト自動化ツール「SOAtest」

テストドライバーの新規作成・実行と回帰テスト

1. テストドライバーの新規作成、テストの実行

1-1. マニュアルでテストドライバーを作成

テストドライバーの基本的な作成方法

APIのテストドライバーをマニュアルで作成し、テストの実行と結果を確認する方法をご紹介します。こちらの例では、REST ClientというREST APIのテストを実施するツールを利用し、書籍の検索APIに対してテストを行います。REST Clientに電文の送信先URLや送信したいテストデータを設定することで、APIテストを実施できます。




補足機能の説明

テストドライバーを作成する際の補足情報をご紹介します。PUTやPOSTメソッド等での利用例として、送信したいテストデータをリクエストボディに設定する方法をご紹介します。また、任意のヘッダー項目の追加方法や、有効なステータスコードを指定する方法についてもご紹介します。





1-2. 定義ファイルからテストドライバーの自動生成

Swagger ファイルからテストドライバーの自動生成

APIの仕様を定義するファイル(Swagger、RAML、WSDL、XMLスキーマ等)からテストドライバーを自動生成します。この例ではREST APIの仕様を定義する、Swaggerファイルを読み込み、テストドライバーを生成します。生成する4つのテストドライバーの雛形の内、書籍の検索APIに対するテストドライバーを編集し、テスト実行後の結果を確認する方法をご紹介します。





1-3. トラフィックのキャプチャとテストドライバーの自動生成

トラフィックのキャプチャ

バックエンドのAPIとのデータ連携でやり取りする電文を記録し、テキストファイルに保存する方法をご紹介します。この電文ファイルを読み込むことで、テストドライバーを自動生成することができます。電文の記録には、Virtualizeのプロキシ機能を利用します。フロントエンドのアプリケーションとバックエンドのAPIとのデータ連携が、プロキシを経由してやり取りするように設定します。フロントエンドのアプリケーションを操作した際に生じる電文をプロキシによって記録し、テキストファイルに保存します。






キャプチャしたトラフィックからテストドライバーを自動生成

電文が記録されたファイルを基に、テストドライバーを自動生成する方法をご紹介します。こちらの方法では、電文ファイルに記録されたデータが設定されたテストドライバを自動生成します。複数のAPIとの通信を記録した場合には、シナリオテストとして一括でテストドライバーを作成することができます。また、レスポンス電文を検証するための期待値が設定されたDiffを、自動で生成することも可能です。





1-4. AI機能でテストドライバーを自動生成

AI機能こと SOAtest Smart API Test Generator Add-On の概要

AI機能こと SOAtest Smart API Test Generator Add-On を用いて、APIテストをより一層スマートに自動生成するためのテスト対象アプリケーションのシステム構成や、生成されるテストドライバーについてご紹介します。AI機能は、SPA(Single Page Application)という構成のアプリケーションに対して利用することが最も効果的です。SPA では、JavaScript 等でブラウザから直接バックエンドの API と通信します。この時、Parasoft Recorder という Chrome ブラウザのプラグイン機能を利用することで、トラフィックの記録とテストドライバーの自動生成が可能です。生成されるテストドライバーは、値の受け渡しや検証設定が施されたスマートな構成となっています。








AI機能の Parasoft Recorder でトラフィックをキャプチャ

AI機能の Parasoft Recorder を利用してトラフィックを記録し、API のテストドライバーを自動生成する方法をご紹介します。Parasoft Recorder を利用することで、ブラウザで送受信する電文を記録できます。記録を終了すると、アプリケーションが利用した API に対する電文のみをスマートに抽出し、API のテストドライバーを自動生成します。この機能は、GUIDEWIRE や Salesforce Lightning のプラットフォームで生成した Web アプリケーションに対して、ヘッダー情報のパラメーターなどを最適化した形で API のテストドライバーを自動生成することも可能です。







AI機能で自動生成されるテストドライバの特長

AI機能で自動生成されるテストドライバーの特長をご紹介します。AI機能を利用した場合、Parasoft Recorder で記録したすべての電文から API に関する電文のみを抽出します。そして、記録時に API を呼び出した順番で API のテストドライバーを生成します。この時、AI機能によって、テストドライバー間で受け渡す値を変数化したスマートなシナリオを生成します。また、レスポンス電文の検証設定についても変数を活用し、スマートに自動設定を行います。





2. 回帰テスト

2-1. レスポンス電文の全体検証(回帰コントロール機能)

レスポンス電文全体を検証する際に利用される、回帰コントロール機能についてご紹介します。テスト時に受信した電文全体を期待値と比較するためにはDiff機能を利用します。回帰コントロールを実行することで、自動でテストドライバーに Diff を追加し、期待値が設定されます。こちらの例では、回帰コントロールの実行後に、故意に期待値を誤った値に設定し、エラーが生じた場合の挙動についてもご紹介しています。





2-2. レスポンス電文を部分的に検証(アサーター機能)

電文の項目を部分的に検証する、アサーター機能をご紹介します。アサーターには数十の検証方法があり、様々なユースケースにご対応いただけます。こちらの動画では、レスポンス電文に含まれる日付の値が、期待した数値範囲に含まれているどうかを検証する例をご紹介しています。





2-3. レポートの生成

テスト実行後にHTMLレポートを出力する方法や、出力される内容についてご紹介します。定義ファイルからテストドライバーを生成した場合は、APIカバレッジの情報を表示することができます。APIカバレッジとは、定義ファイルに記述されているAPIの内、どの程度テストを実施し、成功・失敗したのかを表す指標です(ソースコードのカバレッジではないことにご注意ください)。そのほかにも、実施したテスト全体のサマリーや、エラーメッセージの一覧等が表示されます。





APIのテスト自動化とサービス仮想化を1ツールで SOAtest/Virtualizeに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ソフトウェアエンジニアリング事業部

    03-4405-7853

メールでのお問い合わせ
parasoft-info@techmatrix.co.jp

CONTACT

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。