APIのシナリオテストを自動化

SOAtestは、REST、JSON、SOAP、XML、HTTP/S、MQ、TCP などを含む幅広いプロトコルに対応したAPIテストの自動化ツールです。APIの単機能テストを組み合わせて任意の順番で実行するシナリオテストを容易に作成できます。作成済みのテスト資産を回帰テストで繰り返し実行することにより、テストの負荷の削減や品質向上に対する大きな導入効果を期待できます。

APIのテストケースを自動生成

SwaggerやWSDLなどのIF定義ファイルからテストを自動生成

SwaggerやWSDLなどのIF定義ファイルからAPIのテストケースを自動生成し、任意のテストデータを設定してテストを実行できます。EXCELなどの外部ファイルで用意したテストデータや期待値の検証データを流し込むことでデータ駆動型のバリエーションのあるテストをすばやく実行できます。

例)SwaggerからREST Clientを自動生成し、GETメソッドで http://localhost:58080/End2EndStockREST/api/books?keyword=java を呼び出す。keywordにテストデータとして"java"を設定している。

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

SOAtestのプロキシ機能を使用するとAPIを利用するアプリケーションと公開中のAPIの間で送受信するメッセージをキャプチャできます。※SOAtest/Virtualizeは、HTTP(S)、MQ、JMSのトランスポートで送受信するメッセージをキャプチャできます。

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

キャプチャしたトラフィックからAPIのテストケースを自動生成できます。キャプチャ時の操作で呼び出したAPIの種類と順番をそのままにシナリオテストケースとして自動生成します。テストケースを自動生成する時に検証用に期待するレスポンスの値も自動的に設定するため、すばやく回帰テスト/ノンデグレード確認用のテストケースとして活用できます。

例)キャプチャしたトラフィックからテストを自動生成。自動生成した3つの電文のテストケースにはリクエストで送信するデータに加え、検証用のレスポンスの期待値もDiff機能に自動的に設定されている。

テスト実行と検証

APIのテストケースやシナリオはテストの実行ボタンをクリックして実行します。テストの実行時にテスト結果の検証も自動的に行います。

例)自動生成したAPIテストを実行。テスト3の実行結果が期待値と異なることをレポートしている。
※ 検証時には特定の要素のみを検証することや、特定の要素の検証を無視することに加え、正規表現の使用も可能です。

データ駆動型のテストケースへの拡張

EXCELなどの外部ファイルで用意したテストデータを投入

EXCELなどで用意したテストデータをテストケースに設定することで容易にテストのバリエーションを持たせることができます。

例)テストは java、sql、linuxのデータを使用して合計3回、テストを実行している。

EXCELなどの外部ファイルで用意した検証データを投入

EXCELなどで用意した検証データをテストケースに設定することで容易に検証のバリエーションも持たせることができます。

例)テストは java、sql、linuxのデータを使用して合計3回のテストを実行している。javaでテストした時は検証データの76.0を使用して検証を行っている。

APIのシナリオテスト

個々のAPIテストを組み合わせてシナリオ化

個々のAPIテストを直観的に組み合わせてシナリオテストに拡張できます。個々のAPIテストで発生した値を他のAPIテストに引き継ぐことも可能です。

例)ウィザードを使用して[テスト1:getItemByTitle]の実行結果で取得した[id]の値を[テスト2:placeOrder]の[itemId]で使用するテストデータに直観的に設定している。

APIの回帰テスト/ノンデグレード確認

何度も繰り返すテストを自動化/システムの現新比較の検証

一度作成したテストは回帰テストとして実行できます。スケジュール実行でテストをすることで継続的にAPIの品質を検証することが可能になります。

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

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

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

    03-4405-7853

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

CONTACT

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