ロード テストは、ソフトウェア アプリケーションまたは REST API 開発プロセスの重要な部分です。 これは、実際のユーザーに会うときにそれが正常に動作することを保証するために、特定のプログラムの機能を理解するのに役立ちます. これらのテストにより、開発者や企業はあらゆるボトルネックを特定できます。 さらに、時間を節約し、後で余分に利用される金銭的資源を確保します(特にセレンのようなロードテストツールを使用)。 同様に、API(アプリケーションプログラミング インターフェイス)テストは、新しく開発されたアプリケーションが信頼性、パフォーマンス、運用、およびセキュリティの観点から期待を満たしているかどうかを判断するソフトウェアテストの一種です。

ただし、REST API (API の一種) に焦点を当てる場合、これにより、複数のシステムが HTTP を介して通信できます。 だから、あなたは短いチュートリアルの助けを借りて、REST APIの自動化テストの詳細を知りたい場合は、飛び込む! しかし、チュートリアルに飛び乗る前に、API、REST、REST API、およびオートメーションテストが何であるかを理解することは非常に重要です。 それでは、それらを一つずつ簡単にカバーしましょう。

APIとは何ですか?

APIとは何か疑問に思っていますか? さて、簡単に言えば、APIはプログラムが互いに通信するのに役立つ一連のルールです。 開発者は、クライアントがサーバーと話すことを可能にする API をサーバー上に作成します。 一般的な消費者がそれを知っているかどうかにかかわらず、APIは彼らが毎日使用する サービス やアプリケーションで利用されています。 天気予報を表示したり、ソーシャル アカウントにログインしたり、PayPalを通じてアイテムを支払うことまで、API は舞台裏にあり、よりパーソナライズされた、接続された、安全なエクスペリエンスを提供するために取り組んでいます。

そのため、API は他のアプリケーションや統合、ユーザーエクスペリエンスとの開発において重要な役割を果たすため、徹底的にテストすることが重要です。 彼らのパフォーマンスは、機会を作るか、または壊すことができます。

RESTとは何ですか?

REST は、表現状態転送の略です。 これは、開発者が従う必要があるルール(制約)を持つソフトウェアアーキテクチャスタイルです。 しかし、最も重要な制約の 1 つは、コマンドが指定されるたびに Web アプリケーションがデータ (情報) を配信できる必要があるということです。

REST APIとは何ですか?

上記の情報はすべて、REST API にうまく私たちを連れて来ます。 この用語の理解を深め、いくつかの例を挙げてみましょう。

安価な航空券を提供する航空会社を探しているとします。 検索エンジンにリクエストを入力すると、会社のリスト全体が表示されます。 同様に、 YouTubeで動画を検索しようとしているときは、検索フィールドにキーワードまたは名前を入力してEnterキーを押すだけです。 次に見るのは、関連する動画の長いリストです。

さらに、Googleマップを開き、訪問したい特定の場所を探すと、レストランや通勤オプションなどの近くのアメニティを見ることもできます。 これは、企業が API を公開しており、REST API がほぼ同様に動作するためです。 HTTP(または簡単に言えばインターネット)を使用してデータを要求することを好み、 要求している会社から情報または結果を受け取ります。

REST APIはほぼすべての分野で主要な役割を果たしていますが、eコマース業界では、複数のユーザーのコマンド(リクエスト)を処理し、個別のデータ形式を返すことでビジネスを支援しているため、このテクノロジーを広く使用しています。 つまり、大きなビジネスグループから通常の個人まで、画像をアップロードしたり、プロファイル情報を編集したり、単にファイルをダウンロードしようとしている人を含むハイパーメディア全体を提供しています。

REST API テストの実行

REST API をテストするには、次の 2 つの方法があります。

  1. 手動テスト
  2. 自動化テスト

ただし、 このチュートリアルは自動化テスト用です。 また、メソッドやステータスコードを含む結果を解釈するために理解しておく必要がある重要な点があります。

REST API オートメーション テスト用の HTTP メソッド

REST API は、コマンドを要求するために 5 つの HTTP メソッドを使用します。

GET: 特定の URL の情報を取得します。

PUT: 以前のリソースを更新するか、特定の URL で新しい情報を作成します。

パッチ: 部分的な更新の場合。

POST: 新しいエンティティの開発に使用されます。 また、ファイルのアップロードや顧客情報などの情報をサーバーに送信する場合にも使用されます。

DELETE: 特定の URL で現在のリプレゼンテーションをすべて削除します。

HTTP ステータス コード

ステータス コードは、サーバーがクライアントの要求に対して返す応答です。 それらは5つのカテゴリーに分類されます:

  1. 1xx (100 – 199): 応答は情報提供です
  2. 2xx (200 – 299): 応答が正常に行われます。
  3. 3xx (300 – 399): 要求を満たすためにさらにアクションを実行する必要があります
  4. 4xx (400 – 499): 構文が正しくないため、要求を完了できません
  5. 5xx (500 – 599): サーバー は完全に要求を完了できません

これらのコードは、結果を解釈するのに役立ちます。 したがって、REST API 自動化テスト結果が 2xx 範囲の間にある場合、アプリケーションの関数が理想的に動作していることを意味します。 通常のインターネットユーザーの大半にとって、ステータスコードは、彼らが遭遇したり探しに行くものになることはありません。 1xx、2xx、および 3xx の状況コードの場合、これらは実際にはエラーではなく、むしろ有益なメッセージと見なされず、必ずしもユーザーエクスペリエンスに影響を与えるとは限りません。

ただし、4xx および 5xx ステータス コードに入ると、これらはエラー メッセージと見なされ、何か問題が発生した場合、ユーザーは API をナビゲートしているときにエラー メッセージに直面します。 4xx ステータスコードエラーメッセージは、通常、クライアント/ブラウザレベルで何かが起こると発生します。 5xx ステータスコードエラーメッセージは、サーバレベルでエラーを発生させます。 エラーが表示されることは決して良いことではありませんが、深刻な問題を示し、 ユーザーの満足度に大きな影響を与えるため、できるだけ早く修正することが特に重要です。

HTTP ステータスコードの詳細については、すべての異なるコードとエラーメッセージの包括的なリストと共に、当社のサポート技術情報の HTTPステータスコードリスト 記事をお読みください。

POSTMAN API テスト ツールを使用した REST API テスト チュートリアル

次のチュートリアルは、Postman を使用した REST API 自動化テスト用です。 Postman は、開発者やチームが API 開発プロセスのテスト、共有、作成、共同作業、および文書化を行える、一般的な API クライアントです。 クライアントは、複雑なリクエストと応答だけでなく、シンプルなHTTP /sリクエストも作成して保存するのに最適です。 郵便配達人は Chrome拡張機能としてダウンロードすることも、公式ウェブサイトにアクセスしてプログラムを ダウンロード することもできます。

テスト シナリオ: ステータス コード毎週

これは、 ステータス コード Weekly で 5 つのメソッドすべてをテストして Web サイトのステータス コードを検索する、REST API オートメーション テスト シナリオのサンプルです。 始めましょう!

GET 要求のテスト

注:このリンクをクリックすると、JSONコードが表示されます(https://reqres.in/api/users?page=2)。

しかし、Postman の最も良い点は、API URL があれば、それを貼り付けてステータスコードを取得するだけで、他のすべてのメソッドにも同じルールが適用されるということです。

テストチュートリアル: Postman を起動した後、GET メソッドを選択し、GET 要求リンク (https://reqres.in/api/users?page=2) をコピーし、’要求 URL の入力’ フィールドに貼り付けます。 完了したら、[送信] をクリックして [状態] を表示します。

結果: ステータスが ‘200 OK’ であることがわかります。

郵便配達員インターフェイス

解釈: ‘OK’ は、GET 要求がエラーなしで機能していることを示し、ステータス コードは正確に 200 です。

POST 要求のテスト

ステップ1: [新しいタブ] をクリックし、ドロップダウン メニューから [POST] を選択します。

郵便配達ポストリクエスト画面

ステップ2:’要求URLを入力してください’フィールドにPOST要求URL(https://reqres.in/api/users)をコピーして貼り付け、「送信」ボタンを押します。

結果: ステータス コードは ‘200 作成済み’ です。

ステータス コード POST 要求 201

解釈: ‘作成済み’ は、POST 要求が成功し、新しいリソースが生成されたことを意味します。

PUT 要求のテスト

ステップ1: 「新規タブ」を開き、オプションから「PUT」を選択します。

郵便配達員 PUT リクエスト画面

ステップ2: [要求 URL の入力] フィールドに PUT 要求 URL (https://reqres.in/api/users/2) をコピーして貼り付け、[送信] をクリックします。

結果: ステータスは ‘200 OK’ です。

状況コード PUT 要求 200

解釈: PUT 要求が機能しています。

パッチリクエストのテスト

ステップ1:「新規タブ」で「パッチ」を選択します。

ポストマンパッチリクエスト画面

ステップ 2: フィールドに PATCH リクエストの URL を貼り付け、[送信] をクリックします。

結果: ステータス コードは ‘200 OK’ です。

ステータス コード PATCH リクエスト 200

解釈: PATCH 要求が正しく機能しています。

DELETE 要求のテスト

ステップ1:’新しいタブ’を作成し、今度はメニューから’DELETE’を選択します。

郵便配達人削除要求画面

ステップ2:フィールドにDELETEリクエストURLを入力し、もう一度[送信]ボタンをクリックします。

結果: ステータスが 「204 コンテンツなし」であることがわかります。

郵便配達員インターフェイス
解釈: リンクには削除するコンテンツがないため、’204′ 応答が返されます。 ただし、URL にコンテンツが存在する場合は、ステータス コードが一般的な範囲にあるため、このコマンドで削除されます。

REST API テストチュートリアル (REST アシュアードを使用)

REST Assured は、 RESTful API をテストするための Java ライブラリです。 JSON および XML ベースの Web アプリケーションをテストするために広く使用されています。 さらに、GET、PUT、POST、パッチ、および削除を含むすべてのメソッドを完全にサポートしています。

それでも、テストを実行するには、Java、Maven、TestNG、および IDE (IntelliJ、Eclipse など) が既にシステムにインストールされている必要があります。

ステップ1:Javaをインストールする

ステップ 2: IDE をダウンロードする (Eclipse)

ステップ3:Mavenをインストールし、Eclipseとリンクしてもらいます

ステップ4:‘pom.xml’に依存関係を追加することによって、最初にMavenプロジェクトを作成します。 その後、テスト スクリプトを作成し、確認してから実行します。

安心してメイブン依存

メイブン依存

テストング メイブン依存関係

メイブン依存テストNG

すべてのツールをインストールしたと仮定すると、同じGETリクエストをテストしてみましょう、あなたは結果を見つけるためにRESTアシュアードを使用してEclipseで、同じGET要求をテストしてみましょう。 必要に応じて、同じメソッドを適用して他の要求をテストできます。

したがって、GET 要求の次の手順に従います。

ステップ1:’日食’を開く。

ステップ2:新しい「Javaパッケージ」を作成し、名前を付けます。

ステップ3:新しい「Javaクラス」を作成し、名前を付けます。 たとえば、「データを取得」とします。

ステップ 4:次に示すコードをコピーまたは書き込みます。

1 package getRequest;

2

3 import org.testing.Assert;

4

5 import io.restassured.RestAssured;

6 import io.restassured.response.Response;

7 

8 public class GetData

9 {

10

11 @Test

12 public void testResponsecode()

13 {

14

15 

16 Response resp=RestAssured.get("https://reqres.in/api/users?page=2");

17

18 int code=resp.getStatusCode();

19 

20 System.out.printin(" Status code is "+code);

21

22 Assert.assertEquals(code, 200);

23

24 }

25

26

27 }

28

次のようになります。

データの取得

ステップ 5:コードの近くを右クリックし、[実行する] をポイントして [TestNG] をクリックします。

>テストとして実行します

結果と解釈: ご覧のとおり、ステータスコードは200で、テストに「合格」があります。

テスト NG が成功しました

結論: REST API オートメーションテストのチュートリアル

REST API を使用すると、2 つ以上のアプリケーション間で通信できるだけでなく、ユーザーがプログラムにコマンドを実行して目的の結果を得られるようにすることができます。 REST API をテストする方法はさまざまですが、最も推奨されるプロセスは自動化テストです。 有名な REST API テスト ツールもありますが、現在、Postman と Rest アシュアードが注目を浴びています。 このチュートリアルでは、両方のインターフェイスでいくつかの要求をテストし、結果を共有しました。 予想通り、両方のプラットフォームが同様の結果を示しています。 ただし、REST アシュアードを使用して REST API オートメーション テストを行う方が、Postman と比較して信頼性が高くなります。 しかし、それはプロの開発者を必要とします。

また、これらの API 開発ツールが 優れているのと同様に、API を適切にロード テストするには、パフォーマンス テストを拡張するための機能を提供するソリューションが必要です。 API 機能に Postman を使用していて、 API に対してロード テストを実行して負荷がかかった状態の動作を判断する場合は、LoadView プラットフォームが役立ちます。 詳しくは、Postman を使用した API テストについての記事をご覧ください。 もっと知りたい方は、ぜひ チームに連絡してください

LoadView では、ロード テストの専門家チームがロード テストの予算を最大限に活用できるように支援し、プロセスを簡単にする優れたツール スイートを提供しています。 ロード テストを後回しにしないでください。 LoadView を使用すると、さまざまなテストを実行し、ロード テストを開発プロセスに簡単に統合し、貴重なデータにアクセスし、データを実用的な分析情報に変換し、ユーザーの ウェブ サイトとアプリケーションを改善できます。

オールインワンのロードテストソリューションで時間、お金、ストレスを節約し、ユーザーのために ウェブ サイトやアプリケーションを測定可能な形で改善するためにより多くの時間を費やすことができます。 開発チームに究極のロード テスト リソースを提供し、パフォーマンスの向上、稼働時間の増加、ユーザーのエクスペリエンスの向上、さらには収益の増加という結果を確認します。 パフォーマンスが速く、一貫性のあるWebサイトは、競合他社とは一線を画しています。 LoadView 試用版を開始し 、最大 5 つの無料ロード テストを取得します。