テストシナリオを自動生成

APIテスト自動化ツール「SOAtest」は、ノーコードでAPIのテストシナリオを自動生成する機能を備えています。自動生成機能は、APIのテスト準備を効率化するだけでなく、APIに詳しくない人でも簡単にAPIのシナリオテストを作成することを可能にします。このページでは、「OpenAPI/SwaggerやWSDLなどのIF定義ファイルから自動生成」、「記録したトラフィックから自動生成」、「AIでAPIのテストドライバーを自動生成」の3つの自動生成機能について紹介します。

開発・メンテナンス工数を大幅に削減

なぜAPIのテスト資産を自動生成することが大事なのか?。APIをテストするためには、APIにリクエストを送信するテスト機能が必要になります。APIテストでは、1つのAPIをテストするだけではなく、検索API→更新APIといったように複数のAPIを順番に実行するシナリオテストが重要であり、それを可能にするテスト機能をプログラミングするには多くの開発工数を要するだけでなく、メンテナンスも困難になります。また、受け入れテストの担当者やQAチーム/テスターなどの直接API開発に関わらないメンバーは、APIの細かい仕様を理解している訳ではないため、APIのテスト資産を作成するのは困難です。そのような場合も考え、誰でも簡単にAPIのテスト資産を作成し、効率的にテストできるようにすることが重要なポイントと言えます。

OpenAPI/SwaggerやWSDLなどのIF定義ファイルから自動生成

APIの設計から、設計に基づいたAPIテスト資産をシームレスに作れる

APIテスト自動化ツール「SOAtest」は、APIの電文項目などのパラメータを定義するインターフェース定義ファイル(OpenAPI/Swagger、RAML、WADL、WSDL、XML スキーマ)からAPIのテスト資産を自動生成できます。REST API開発においては、OpenAPI/Swaggerの作成が一般的ですが、このようなIF定義ファイルを生成する開発においては、APIの設計から、設計に基づいたAPIテストの生成までシームレスな運用が可能になります。自動生成したテスト資産にテストデータを設定し、素早くAPIテストを実行できます。

APIの設計から、設計に基づいたAPIテスト資産をシームレスに作れる

※一般的に、IF定義ファイルは設計・開発時に手動で自作する方法と、開発済みのコードやAPIゲートウェイの設定画面から自動生成する方法などがあります。「SOAtest」には、作成したIF定義ファイルが正しい形式であるかを検証する機能も備えています。

記録したトラフィックから自動生成

アプリケーションを操作するだけで「誰でも簡単に」シナリオテストを作れる

APIテスト自動化ツール「SOAtest」に搭載されたメッセージプロキシ機能でAPIと送受信するトラフィックを記録し、APIのシナリオテストを自動生成できます。例えば、開発中のショッピングサイトで買い物をする時に、Webアプリケーションのようなフロントエンドの操作で「検索」→「カートに追加」→「購入」の3つの操作をすることは分かっているものの、その操作に関連してどのAPIが利用されているのかまでは分からない場合があります。そんな時に、トラフィックを記録することで、APIについての知識がなくとも操作に関連するAPIのシナリオテストを自動生成できます。※メッセージプロキシ機能は、Webアプリケーションに限らず、HTTP(S)、MQ、JMSでの通信をキャプチャできます。

アプリケーションを操作するだけで「誰でも簡単に」シナリオテストを作れる

自動生成したAPIのシナリオテストでは、どんなレスポンスを受信するのか、期待値も自動設定されているため、回帰テストでの利用が効果的です。システムのマイグレーション、ポーティング、バージョンアップ、機能修正、追加開発などで、動作が以前と変わらないことを検証する「現新比較」のテストシーンにおいて、改修前にトラフィックの記録からAPIのシナリオテストを自動生成しておくことで、改修後の回帰テストを効率化できます。回帰テストの実行時に、期待値と実際のレスポンスとの差異を検知するとエラーとして差異をレポートします。

AIでAPIのテストドライバーを自動生成

Webアプリケーションを操作するだけで「誰でも簡単に」シナリオテストを作れる

APIテスト自動化ツール「SOAtest」のAI機能(AI Add-On)は、APIの開発者でなくとも、Webアプリケーションを操作するだけで、その操作に関連するAPIのシナリオテストを自動生成することを可能にします。この「SOAtest」 のAI機能は、Webブラウザーから直接バックエンドのAPIをコールするアーキテクチャで構築された SPA (Single Page Application) で効果を発揮します。Webブラウザーから発生するすべてのトラフィックをキャプチャし、そこからAIでAPIコールのみを識別し、APIのシナリオテストを自動生成します。複数のAPIコールがある場合は、自動的にAPIコール間で受け渡す値を変数化し、賢くシナリオテストを自動生成します。※メッセージプロキシ機能とAI機能の違いは、AI機能はSPAに特化している点です。

Webアプリケーションの操作から、AIがAPIコールを識別し、APIテストドライバーを自動生成

実施すべきAPIテストの抜け漏れを防ぐ

開発したAPIはどのようにアプリケーションから利用されるのか?どのようなユースケースを想定してAPIのシナリオテストを実施すべきか?これらの考察が不十分な場合、テストの抜け漏れが発生しますが、「SOAtest」のAI機能は、実際にWebアプリケーションを操作した時の操作に関連するAPIのシナリオテストを自動生成するため、APIテストの抜け漏れを防ぎます。

アサーションで用いる期待値も自動的に設定

Webアプリケーションを操作した時のAPIのレスポンス情報も記録するため、その情報を用いてアサーション用の期待値も自動設定した状態でAPIのシナリオテストを自動生成します。自動生成したテスト資産を実行するだけで、期待通りのレスポンスを受信できているのか確認することができます。もし、テスト時のレスポンスが期待値と異なる場合は、差異をレポートします。

「現新比較のテスト」(回帰テスト)で活用

自動生成したAPIのシナリオテストは、マイグレーション、ポーティング、バージョンアップ、機能修正、追加開発などにおける「現新比較」のAPIテスト資産として継続的に運用いただけます。

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

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

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

    03-4405-7853

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

お問い合わせ

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