APIテストとは何か?REST API テストの正攻法 Vol.1
DXのデータ連携を実現するREST APIのテスト手法についてご紹介する記事です。
「APIテストとは何か?REST API テストの正攻法」ページへ自動的に遷移します。
はじめに
DXのデータ連携でREST APIの開発・利用が加速する中で、そもそもREST APIとは何か?REST APIの最適なテスト戦略は何なのか?ここでは、REST APIを利用してアプリケーションを開発するメリットと、REST APIの品質検証の重要性やテスト手法に関する記事をお届けします。
- これからREST APIの開発案件に関わる方
- すでにREST APIの開発案件のテスト計画や実施に携わっている方
REST API とは何か?なぜ API を使用するのか
REST API のテストアプローチについてお話しする前に、まずは、"API" の役割について簡単に述べたいと思います。
システム開発における API(アプリケーションプログラムインターフェイス)は、さまざまなアプリケーションが共通言語を用いて互いにデータ連携するために使用されます。この共通言語は、多くの場合コントラクトによって定義されます。コントラクトの具体的な例は、REST API の Swagger ドキュメントや SOAP サービスの WSDL です。データベースの場合でも、インターフェイス言語、つまり SQL があります。
システム開発における API(アプリケーションプログラムインターフェイス)は、さまざまなアプリケーションが共通言語を用いて互いにデータ連携するために使用されます。この共通言語は、多くの場合コントラクトによって定義されます。コントラクトの具体的な例は、REST API の Swagger ドキュメントや SOAP サービスの WSDL です。データベースの場合でも、インターフェイス言語、つまり SQL があります。
UI が人間とアプリケーションとのやりとりを可能にするのと同様に、API はシステムやデバイス間のデータ連携を可能にします。データを利活用して新しい価値を創造する DX に欠かせないデータ連携においては、特に REST API の活用が主流であるため、ここでは REST API テストに関する情報をお届けします。
まず、REST API の利点は、部品であることです。REST API を使用すると、システム間のデータ連携が必要になるたびに部品化した API であらゆる種類のデータ連携を簡単に実現できます。さらに、REST API にはコントラクトがあるため、相互にデータ連携するアプリケーションは、REST API のコントラクトに従ってデータ連携する限り、それ以外の部分については好きなように開発できます。これにより、世界中のさまざまな組織のさまざまな開発者が、同じ REST API を再利用して高度な分散アプリケーションを開発できます。
昨今のシステムアーキテクチャでは、ユーザーがアプリケーションのフロントエンド(モバイルアプリや PC ブラウザーで操作するアプリなど)を操作するとき、そのフロントエンドはバックエンドシステムとのデータ連携のために REST API の呼び出し(利用)を行います。このようなアーキテクチャは主に次の 2 つの点で開発プロセスを簡略化します。
- 開発者は、モバイルデバイスやブラウザーごとにカスタマイズされたアプリケーションを作成する必要がない
- アプリケーション全体を毎回再デプロイせずに、個々の REST API (バックエンド) を改修するだけでアプリケーションを素早くバージョンアップできる
REST API の使用例
たとえば、ショッピングを行うスマートフォンのアプリや PC ブラウザーで操作するフロントエンドを開発する際に、開発者は REST API を利用してバックエンドのショッピングサービスとデータ連携するシステムを構築することができます。開発者は、ユーザー操作の適切なタイミングでバックエンドのショッピングサービスの REST API を利用して、ユーザーにシームレスな動線(データ)を提供できます。
たとえば、次のようなケースです。
ユーザー操作 | ユーザー操作時に利用する REST API |
|
|
|
|
|
4. cardAdd |
ユーザーがスマートフォンのアプリや PC ブラウザーを用いてフロントエンドを操作するとき、フロントエンドは開発者が設定した定義に従ってバックエンドのショッピングサービスの REST API を利用します。利用する REST API が期待通りに動作している限り、すべてがうまく機能します。
……しかし、REST API が期待通りに動作すると仮定するのは非常に危険です。
そこで、REST API をテストすることが重要だという認識に至ります。
まとめ
次回は、REST API が期待通りに動作することを検証する、REST API テストの重要性について考えていきます。このページは、「APIテストとは何か?REST API テストの正攻法 Vol.1」です。Vol.1からVol.3をまとめて読む場合は、資料ダウンロードいただけます。
PICK UP
イベント・セミナー
APIのテスト自動化とサービス仮想化を1ツールで SOAtest/Virtualizeに
関するお問い合わせ
テクマトリックス株式会社
東京本社ソフトウェアエンジニアリング事業部
03-4405-7853
- メールでのお問い合わせ
- parasoft-info@techmatrix.co.jp