APIテスト自動化ツール「SOAtest」の利用方法 Vol.1

APIテスト自動化ツール「SOAtest」の機能や利用方法をご紹介します。

はじめに

ここでは、APIテスト自動化ツール「SOAtest」を利用したAPIテストの流れを動画と共にお届けします。この記事では、APIテストの最初のステップとして、APIテストドライバーの作成方法とレスポンスの検証方法についてご紹介します。

次のような方におすすめです。
  • SOAtestについて興味がある方
  • SOAtestの利用を検討されている方
  • 既にSOAtestを利用したAPIテストに携わっている方
この記事を読む前に、APIのテスト戦略や概要についての記事を閲覧することをおすすめします。

STEP1:APIテストドライバーの作成

APIテストおこなうために、まず最初にAPIのテストドライバーを作成します。SOAtestは、APIのテストドライバーを簡単に作成する機能を複数搭載しています。ここでは、3つのユースケースにあわせて、APIのテストドライバーを作成する方法をご紹介します。

ケース1:APIの新規開発や改修案件で必要なテストドライバーを自動生成する

APIの新規開発や改修案件では、APIのインターフェース仕様の設計書としてOpenAPI/Swagger、RAML、WSDL、XMLスキーマ等の定義ファイルを用意するケースが一般的です。SOAtestは、これらの定義ファイルからAPIのテストドライバーを自動生成することが可能であるため、設計からテストをシームレスにおこなえます。





定義ファイルから自動生成したテストドライバーには、接続先URL、URLパス、URLパラメーター、ペイロードの項目などテストに必要な情報が予め設定されています。そのため、自動生成したテストドライバーにテストデータを設定することですぐにAPIテストを実行できます。
一方で、定義ファイルが用意されていない場合もあります。このような場合であっても、SOAtestに搭載されている機能を組み合わせて、マニュアルでテストドライバーを作成することができます。搭載済みの機能を利用するだけなので、プログラミングを行うことなく、ユースケースに合わせたテストドライバーを素早く作成できます。





ケース2:ポーティング、マイグレーションなどの現新比較のテストで必要なテストドライバーを自動生成する

システムのポーティング、マイグレーション、改修においては、現新比較のテストが必要になります。SOAtestは、このような現新比較のテストシナリオを自動生成する機能を搭載しています。トラフィックを記録する機能と記録したトラフィックからAPIのテストドライバーを自動生成する機能で現新比較のテストシナリオを素早く用意できます。

SOAtestのメッセージプロキシ機能では、API連携をおこなうフロントエンドとバックエンド(またはバックエンド同士)のトラフィックを記録することができます。APIの細かい仕様がわからないテスターであっても、フロントエンドのアプリケーションを操作をするだけで、トラフィックの記録がおこなえます。





記録したトラフィックはテキストファイルに保存されるので、そのテキストファイルを選択し、APIのテストドライバーを自動作成することができます。自動生成されたAPIのテストドライバーには、トラフィックを記録した際のリクエストをテストデータとして設定し、レスポンスを期待値として自動設定するため、現新比較のテスト実行と期待値の検証(記録時のレスポンスと差異がないことの確認)を効率化します。





ケース3:SPAのAPIテストで必要なテストドライバーをAIで自動生成する

SOAtestには、AIの力を活用した画期的な自動生成機能が搭載されています。SPA(Single Page Application)は、ブラウザー上のJavaSciprtからバックエンドへ直接API連携します。このトラフィックを記録し、APIのテストドライバーを自動生成する方法についてもご紹介します。AI機能は、ブラウザーから発生するすべてのトラフィックからREST APIコールを抽出し、APIテスト間の値の受け渡しを変数化し、シナリオテストとして自動設定します。





この機能では、1つ前にご紹介したようなメッセージプロキシの設定をおこなうことなく、トラフィックを記録することができるため、APIの開発者でなくても、誰でも簡単にAPIのテストドライバーを作成することを可能にします。

STEP2:レスポンスの自動検証

APIのテストでは、期待通りにAPIが動作していることを確認するために、テスト対象のAPIが返すレスポンスを検証する必要があります。SOAtestには、レスポンスを自動検証する機能が搭載されていますので、目視で検証するようなわずらわしい手間を省くことができます。ここでは、SOAtestに搭載された複数の検証機能のなかから主な検証機能を2つご紹介します。

レスポンス全体の差分を検証

APIが返すレスポンスを検証する場合は、回帰コントロール機能を利用します。テストドライバーに対し回帰コントロールを設定すると、テストドライバーにDiff機能を追加し、期待するレスポンスのベースライン(期待値)を自動設定します。テスト実行時には、ベースラインとなる期待値と実際のレスポンスを比較し、差分をレポートします。検証する電文項目から、特定の項目を比較しないように設定することなど、細かい設定もおこなえます。





レスポンスを部分的に検証

レスポンスの特定の項目のみを検証する場合は、アサーター機能を利用します。テストドライバーにアサーター機能を追加すると、数十種類の検証方法からユースケースに合った方法を選択し、期待値を設定できます。検証方法を選択する際に、正規表現を使用した検証や、値の範囲設定、電文の構造なども選択可能です。テスト実行時は、期待値を設定した特定の項目のみ検証を行い、結果をレポートします。








まとめ

STEP1とSTEP2を通して、SOAtestを使用したAPIテストドライバーの作成方法や、テスト実行時の検証方法をご紹介しました。次回は、APIテストの次のステップとして、データソースを使用したAPIのデータ駆動型テストや、シナリオテストに関する機能をご紹介します。

SOAtestを実際に操作したい方は、体験版ダウンロード、またはハンズオンセミナーのご参加をご検討ください。
APIテストまるわかりガイドダウンロード

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

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

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

    03-4405-7853

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

お問い合わせ

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