RESTは現在一番汎用されているAPIの設計規則として、REST APIは世界中に急速に普及されています。それでは、REST APIをテストする必要がある場合は、どうしたらいいですか?本文では、非常に使いやすいREST APIのテストサイトのApidogを皆さんに紹介します。このサイトを使うと、プログラムをダウンロードしてインストールせず、簡単にREST APIをテストすることができます。
REST APIとは
REST APIとは、REST(Representational State Transfer)と呼ばれるアーキテクチャスタイルに基づいて設計されたWeb APIです。REST APIは、HTTPプロトコルを利用しリソース指向でステートレスな設計を行うこと、そしてユニフォームインタフェースを持っています。
REST APIではCRUD操作をHTTPメソッドに対応付けて表現します。GETメソッドでデータを取得、POSTメソッドで新規データを作成、PUTメソッドでデータを更新、DELETEメソッドでデータを削除します。リソースはURIで表され、クライアントはURIに対してHTTPメソッドを実行することでCRUD操作を行えます。
REST APIはシンプルで直感的な設計思想を持ち、既存のHTTPインフラを活用できるため、Web APIのデファクトスタンダードとして広く利用されています。
REST APIの方針と原則
REST APIの設計方針と原則を理解することは、REST APIのテストに有益なことになります。REST APIの設計方針と原則といえば、主に以下のようなものがあります。
- リソース指向 - URIで表現されるリソースに対してCRUD操作を行う
- ステートレス - サーバがクライアントの状態を保持しない
- ユニフォームインタフェース - 一貫性のあるインタフェースを提供する
- クライアント-サーバ分離 - クライアントとサーバの役割を分離する
- 層状のシステム - 階層化されたシステムを構築する
- キャッシュ可能 - 可能な限りキャッシュを利用する
- コードオンデマンド - 必要に応じてクライアントにコードを提供する
- 統一したインターフェース - 現在の状態から次の遷移をリンク情報で提供する
これらの設計方針に従うことで、スケーラブルで柔軟なAPIを構築できます。分散システムの特性を活かしながら、アーキテクチャをシンプルに保つことがREST APIの目標です。
REST APIのテストは何をテストする?
REST APIのテストを行うことは、常にREST APIが思い通りに動作できるかどうかをテストすることになります。そこで、REST APIをテストするには、常に下記の項目を確認する必要があります。
- URIのテスト - 正しいURIでリソースにアクセスできること
- HTTPメソッドのテスト - 指定したHTTPメソッドで意図したCRUD処理ができること
- ステータスコードのテスト - 各APIリクエストに対し適切なステータスコードが返ってくること
- レスポンスのテスト - フォーマットや内容が仕様通りであること
- 認証/認可のテスト - 適切な認証が行われ、認可設定が反映されること
- CRUD処理のテスト - 登録・取得・更新・削除が正常にできること
- エラー処理のテスト - エラーケースで適切なレスポンスが返ること
- パフォーマンスのテスト - 要求されたパフォーマンスが得られること
- 負荷試験 - 要求された同時接続数やリクエスト数が処理できること
これにより、APIの仕様通りの動作を網羅的にテストできます。また、テスト自動化を行うことで、API変更時のリグレッションテストも可能になります。
テストサイトApidogでREST APIを簡単にテスト
それでは、REST APIをテストするため、一番簡単な対策は何ですか?この部分では、非常に使いやすいREST APIテストサイトを皆さんに紹介します。このサイトにアクセスして、何もダウンロードする必要がなく、直ちにREST APIをテストすることができます。また、このREST APIのテストサイトの機能は非常に強くて、REST APIの単体テストだけではなく、REST APIのテスト自動化を配置して実現っすることもできます。
REST APIテストサイト:https://app.apidog.com/user/login
ApidogでREST APIのリクエストを検証
上記のサイトにアクセスすると、すぐにREST APIのテストを行うことができます。このサイトで、APIリクエストを作成して、必要な情報(メソッド、URI、必須のパラメータなど)を記入して、「送信」ボタンをクリックすると、リクエストを送信して、レスポンスを取得することができます。
これにより、URI、httpメソッド、ステータスコード、レスポンスなどのテストが実現されます。
ApidogでAPIテストの自動化を実現
さらに、APIのパフォーマンステストか負荷テストを行いたい場合、このテストサイトもそれに対応できます。Apidogというテストサイトでは、自動テスト機能も備えていますので、REST APIのテスト自動化、負荷テスト、パフォーマンステストもこのテストサイトで実現されるので、非常に便利です。
ステップ⒈左側のメニューで「自動テスト」をクリックして、「テストのシナリオを作成」をクリックします。
ステップ⒉テストシナリオを作成すると、テストのステップを追加します。(ここで保存したAPIから参照することもできますし、手動でテストのステップを追加することもできます。)
ステップ⒊テストのステップをすべて追加すると、テストステップの順番を変えたり、条件分岐などを設定したりすることができます。また、APIのパフォーマンステストや負荷テストを行いたい場合、往復回数やスレッド数などの条件を設定することもできます。すべての設定を整えると、「実行」ボタンをクリックします。
ステップ⒋ここでこのシナリオテストのプロセスが開始されます。プロセスが終わると、テストのレポートが表示されます。ここで各リクエストも表示されるので、それを各リクエストの実行状況を詳しくチェックすることもできますので、リクエストが失敗した場合は、原因の特定も非常にシンプルになります。