ロード テストは、ソフトウェア アプリケーションまたは 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 パフォーマンスの最大化: ロード テストの要点

急速に進化するソフトウェア開発の世界では、さまざまな負荷条件下でAPIのピークパフォーマンスを確保することは、単に必要であるだけでなく、アプリケーションを成功させるための基盤でもあります。 このセクションでは、REST API のロード テストの重要性と、高度なロード テスト プラットフォームである LoadView が API パフォーマンスを最適化するゲームチェンジャーになる方法について説明します。

REST API のロード テストの重要性の理解

負荷テストは、トラフィック量の多いシナリオや使用率の高いシナリオで REST API がどのように実行されるかを理解する上で重要です。 APIが正しく動作することを確認するだけでなく、速度や信頼性を損なうことなくユーザーリクエストの急増を処理できるようにすることも重要です。 この種のテストでは、実際の条件をシミュレートし、ストレス下での API の動作に関する洞察を提供し、ボトルネックとパフォーマンス低下ポイントを特定するのに役立ちます。

API ロード テストに LoadView を選択する理由

LoadView は、ユーザーの行動とトラフィック パターンの現実的なシミュレーションを提供する機能で、ロード テストの分野で際立っています。 サーバーに要求を大量に送信するだけの従来のロード テスト ツールとは異なり、LoadView はより微妙なアプローチを提供します。

リアルブラウザテスト: LoadView は実際のブラウザーを利用するため、テストはサーバー要求に基づくだけでなく、クライアント側のレンダリングと対話も含まれ、より包括的なロード テスト エクスペリエンスを提供します。

柔軟なテストシナリオ: トラフィックの急激な急増であろうと、段階的な増加であろうと、LoadView を使用すると、さまざまなテスト シナリオを作成して、さまざまな実際の状況を模倣できます。

既存のツールとの容易な統合: API の開発とテストに Postman を既に使用しているチームの場合、LoadView との統合はシームレスであり、より堅牢で包括的なテスト戦略が可能になります。

実用的なインサイトとレポート: LoadView は問題を強調表示するだけではありません。負荷がかかった状態でのパフォーマンスを理解し、特定の問題を特定し、情報に基づいた意思決定を行って API を最適化するのに役立つ詳細なレポートと分析を提供します。

開発サイクルでの LoadView の実装

LoadView を開発プロセスに統合することは、API が負荷を処理できるかどうかを調べるだけではありません。 これは、負荷テストを通常の開発サイクルの一部にすることです。 LoadView が API テスト戦略をどのように変革できるかを次に示します。

継続的なテスト: LoadView を CI/CD パイプラインに組み込むことで、運用環境に到達する前に、API のすべてのバージョンの負荷容量がテストされます。

リソースの最適化: APIの負荷容量を理解することで、サーバーリソースを最適化し、インフラストラクチャに過剰に投資することなく、トラフィックの急増に備えることができます。
ユーザーエクスペリエンスの向上:最終的には、APIのパフォーマンスがユーザーエクスペリエンスに直接影響します。 LoadView は、トラフィックのピーク時でも、ユーザーがスムーズで中断のないエクスペリエンスを享受できるようにするのに役立ちます。

API のパフォーマンスがアプリケーションを左右するデジタル時代において、LoadView は、高性能で信頼性が高く、スケーラブルな API の提供を目指す開発者や企業にとって重要なツールセットを提供します。 スタートアップ企業であろうと大企業であろうと、APIの負荷容量を理解して最適化することは、シームレスなユーザーエクスペリエンスを提供するための鍵です。 LoadView を使用すると、テストするだけではありません。現実世界の要求を満たすように API を準備し、最も重要なときに最適なパフォーマンスを確保できます。

結論: 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 つの無料ロード テストを取得します。