サービス仮想化ツール「Virtualize」の利用方法 Vol.1

サービス仮想化ツール「Virtualize」の機能や利用方法をご紹介します。

はじめに

ここでは、サービス仮想化ツール「Virtualize」を利用した仮想アセットの作成の流れを動画と共にお届けします。一般的にはモックサーバースタブと呼ばれるものを「Virtualize」では仮想アセットと呼びます。この記事では、サービス仮想化の最初のステップとして、仮想アセットの作成と利用方法、そして応答条件の設定や補足機能についてご紹介します。

本記事で紹介する動画では、Virtualizeに関連する以下の用語が使用されています。
  • 仮想アセット :モックサーバーやスタブに該当するもの
  • レスポンダー :モックサーバーやスタブを構成する要素で、各APIに対するレスポンスを設定する機能
  • 応答条件 :レスポンダーでリクエストとレスポンスのマッピングをおこなうための設定
次のような方におすすめです。
  • Virtualizeについて興味がある方
  • Virtualizeの利用を検討されている方
  • 既にVirtualizeを利用した仮想アセットの作成に携わっている方
この記事を読む前に、APIを利用するアプリケーションのテスト戦略についての記事を閲覧することをおすすめします。

STEP1:仮想アセットの作成(モックサーバー/スタブの作成)

Virtualizeは、高性能なモックサーバー/スタブを簡単に作成する機能を複数搭載しています。ここでは、2つのユースケースにあわせて、Virtualizeで仮想アセットを作成する方法をご紹介します。

ケース1:新規開発や改修で必要な仮想アセットを自動生成する

定義ファイルから自動生成した仮想アセットには、レスポンスデータの項目、リクエストを待ち受けるパス、リクエストとレスポンスをマッピングするための応答条件のテンプレートなどが予め設定されています。必要に応じて、レスポンスデータを設定し、応答条件をチューニングするだけで、テストで必要な仮想アセットをすぐに作成できます。

APIの新規開発や改修では、APIのインターフェース仕様の設計書としてOpenAPI/Swagger、RAML、WSDL、XMLスキーマ等の定義ファイルを用意するケースが一般的です。Virtualizeは、これらの定義ファイルを読み込み、高性能なモックサーバー/スタブを自動生成することができます。これは、APIの設計からテストまで、シームレスな開発を可能にします。





開発プロジェクトによっては、定義ファイルが用意されていない場合もあります。このような場合であっても、Virtualizeに予め搭載されている機能を組み合わせるだけで、マニュアルでも簡単に仮想アセットを作成することができます。搭載済みの機能を利用するだけなので、基本的にプログラミングを行うことなく、ユースケースに合わせて必要な仮想アセットをすぐに作成できます。







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

システムのポーティング、マイグレーション、改修においては、現新比較のテストが必要になります。Virtualizeは、このような現新比較のテストで利用できる仮想アセットを自動生成する機能を搭載しています。トラフィックを記録する機能と記録したトラフィックから仮想アセットを自動生成する機能で、すぐに現新比較のテストに着手することを可能にします。

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






記録したトラフィックはテキストファイルに保存されるので、そのテキストファイルから、仮想アセットを自動作成することができます。自動生成された仮想アセットには、トラフィックを記録した際のレスポンスデータや応答条件が自動設定されているため、すぐにテストで利用できます。





STEP2:仮想アセットの利用(モックサーバー/スタブの利用)

Virtualizeで作成した仮想アセットを利用するには、Virtualizeサーバーにデプロイする必要があります。ここでは、仮想アセットをデプロイする方法をご紹介します。

モックサーバー/スタブのデプロイ

Virtualizeで作成した仮想アセットをVirtualizeに同梱されているサーバーにデプロイすることで、APIを利用するアプリケーションのテストで利用することができるようになります。複数の仮想アセットがデプロイされている場合は、リクエストに対応した仮想アセットが応答するするため、複雑なシナリオテストの実行も可能にします。





STEP3:仮想アセットの応答条件(モックサーバー/スタブの応答条件)

文脈にあわせて賢くレスポンスできる仮想アセットの作成においては、リクエストデータに対し適切なレスポンスデータを返すように、リクエストとレスポンスのマッピングをおこなう必要があります。ここでは、応答条件を設定する方法、及び、Virtualizeで作成した仮想アセットで設定可能な補足機能をご紹介します。

応答条件の設定

Virtualizeでは、コードを書かずに簡単にリクエストとレスポンスのマッピングをおこなう事ができます。リクエストヘッダーやリクエストボディの各項目などに対し、応答条件の設定が可能です。




Virtualizeで作成した仮想アセットには、応答条件の他にも設定できる事がいくつかあります。主に利用される機能について、ご紹介します。

補足機能

仮想アセットのレスポンスでは、利用するヘッダー情報の追加・編集、ステータスコードの編集、応答時間の設定などが可能です。他にも、対象の仮想アセットでレスポンスデータを返さずに通知のみ返す設定や、エンコーディングの指定などが可能です。





まとめ

STEP1~STEP3を通して、Virtualizeを使用した仮想アセットの作成と利用方法、そして応答条件の設定や補足機能などをご紹介しました。次回は、Virtualizeの利用における次のステップとして、データ駆動型の仮想アセットへの拡張や、シナリオテスト用の仮想アセットへの拡張方法をご紹介します。

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

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

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

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

    03-4405-7853

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

お問い合わせ

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