ロード テストは、リアルタイムの負荷条件でシステムのパフォーマンスを決定するさまざまな種類のパフォーマンス テストの 1 つの種類です。 API の役割は、ここ数年で大きく進化してきました。 API がレポートの抽出などのタスクにのみ使用された場合、そのパフォーマンスは決して重要な要素ではありませんでした。 しかし、API は、エンド ユーザーとサービス会社が提供するサービスとの間のクリティカル パスに向かってゆっくりと移行し、非常に重要です。 サービス提供のために API を使用する組織が増えているため、そのセキュリティとパフォーマンスが重要な要素となりました。 ここでは、OAuth 2.0 と呼ばれる API セキュリティ メカニズムについて説明し、OAuth Web API でロード テストを実行する方法について説明します。
ロードビューによるJMeterロードテスト
LoadView を使用して、JMeter スクリプトを数百万人の同時ユーザーにスケーリングします。

OAuth とは何ですか?

OAuth は、認証のための業界標準のプロトコルです。 OAuth は、クライアントと開発者のシンプルさに焦点を当て、Web アプリケーション、デスクトップ アプリケーション、携帯電話などに特定の承認フローを提供します。 この仕様とその拡張は 、IETF OAuth ワーキンググループ内で開発されています。 OAuth は、インターネットユーザーがパスワードを公開することなく、マイクロソフト、グーグル、フェイスブック、ツイッター、Slackアカウントなどを使用してサードパーティのウェブサイトにログインする方法として一般的に使用されています。

OAuth 1.0 はセキュリティ上の欠陥が疑われ、サポートが取り下げ出されました。 OAuth 2.0 は、より高度なセキュリティ機能を備えた最新の機能です。 OAuth 2.0 では、ユーザーはユーザー名、パスワード、およびその他の情報を非公開にしたまま、特定のデータをアプリケーションと共有できます。 たとえば、 アプリケーションは OAuth 2.0 を使用して、ファイルを格納するためのアクセス許可をユーザーから取得できます。 OAuthのウェブサイトによると、それは車のバレーキーのようなものです。 今日の多くの高級車にはバレーキーが付属しています。 それはあなたが駐車アテンダントを与える特別なキーであり、あなたの通常のキーとは異なり、車が1マイルまたは2マイル以上運転することはできません。 一部のバレーキーはトランクを開けないですが、他のバレットキーはオンボードの携帯電話のアドレス帳へのアクセスをブロックします。 バレーキーが課す制限に関係なく、アイデアは非常に巧妙です。 あなたは、すべてのロックを解除するためにあなたの通常のキーを使用しながら、誰かが特別なキーであなたの車への制限されたアクセスを与えます。

 

ロード テスト OAuth Web API が重要な理由

組織におけるあなたの役割が何であれ、少なくともたまにはAPIについて聞いたことがあります。 では、APIとは何でしょうか? API は、アプリケーション プログラミング インターフェイスの略です。 API は、ユーザーがインターネットを介してアプリにアクセスするときにアプリケーションと通信する方法のルールと手順のセットです。 要求は、次のように単純なものになります。

取得: https://userauth.dotcom-monitor.com/login

機能テストがアプリケーションにとって十分であり、それがすべての顧客が気にしている場合は、間違っています。 ウェブサイトがマーケティングキャンペーンと連携して公開され、何千人もの潜在的な顧客がログインし始めた場合はどうでしょうか。 ログインプロセス中に顧客がエラーに遭遇していることに気付くだけです。 その瞬間から、潜在的なビジネスと組織のイメージが失われます。

この屈辱的な状況を回避するために、ロード テストでは、運用環境で発生する と予想されるトラフィックを 体系的にアプリケーション サーバーに適用して、アプリケーションが稼働する前にどのように動作するかを判断します。 OAuth を実装している場合は、複数のユーザーがサーバーに同時に要求を送信するシミュレーションを行うことで、API ロード テストを実行できます。 ロード テストを実行する方法はいくつかありますが、API ロード テスト は最も簡単な方法の 1 つであり、最もコスト効率の高いオプションです。 これは、スクリプトを作成するのが簡単で、スクリプトの生成と実行に使用できる業界のオープン ソース ツールが多数あるためです。

API テストとロード テストのしく みに慣 れていない場合は 、API テストに関する知識を得ることができる良い記事を紹介します。

LoadView の API 要求は、2 つの方法で行うことができます: EveryStep Web レコーダーを使用して、スクリプトまたは HTTP タスクを記録します。 API を使用するアプリケーションを使用するか、LoadView ソリューションを使用して API を記録できます。 また、アプリケーションでサードパーティの API を使用する場合は、これらの API をロード テストして要件に準拠していることを確認する必要があります。

 

OAuth フロー/フェーズ

ここでは、LoadView ソリューションの助けを借りて OAuth 2.0 フローを説明します。 LoadView は、ハードウェアまたは ソフトウェア インフラストラクチャへの先行投資なしで現実的なロード テストを可能にするオンデマンド ロード テスト プラットフォームです。 ロードテストを行うアプリケーションは、医師が使用する医療アプリケーションです。

ここからは、ターゲットアプリケーションを「ヘルスケアアプリケーション」と呼びます。 健康アプリケーションは Azure でホストされ、ログイン プロセス中に Microsoft OAuth 2.0 サービスを使用しているため、医師は既に登録されている病院のメール アドレスにアクセスしてログインできます。 基本的に、このアプリケーションは、患者の履歴に関するすべての詳細を提供します。

OAuth 2.0 フローは、ユーザーの承認専用です。 機密情報を格納し、状態を維持できるアプリケーション用に設計されています。 適切に許可された Web サーバー・アプリケーションは、ユーザーがアプリケーションと対話中、またはユーザーがアプリケーションを終了した後に API にアクセスできます。

OAuth 2.0 フロー と、パフォーマンス テスト用の対応する LoadView 構成を示すステップ バイ ステップ ガイドを次に示します。

フローには 2 つのアクションしかありませんが、API の複数のシーケンスで実行する場合は開発者が必要とするかどうかによって異なります。 OAuth 2.0 API の構成と複雑さは、アプリケーションのセキュリティと開発者の要件に基づいて変更されます。 これは決して万能のプロセスです。

LoadView を使用してテスト OAuth 2.0 をロードする方法は 2 つあります。

  1. API の OAuth 認証のシーケンスを開発者に要求します。 これは最も簡単で簡単です。 [それ以外の場合は、読み込みビューを使用
  2. EveryStep Web レコーダー スクリプト ツールを使用して記録します。 あなたはここで自分のためにレコーダーを試すことができます

EveryStep Web レコーダーを使用すると、開発者に依存する必要がないため、使いやすく、より効果的で効率的です。

 

プロセス 1. EveryStep Web レコーダーを使用した OAuth 2.0 ロード テスト プロセス

ステップ 1. EveryStep Web レコーダーにアクセスします。

OAuth レコード新しいスクリプト

ステップ 2. アプリケーションの URL を入力し、[ 今すぐ記録] を選択します。

OAuth レコードを今すぐ

 

ステップ 3. アプリケーションのログインシナリオに従います。

OAuth ログインシナリオ

 

ステップ 4. アプリケーションの詳細をすべて確認します。

OAuth の検証の詳細

 

ステップ5:それでいい。 再生し、それが動作していることを確認します。 シンプルな権利? 記録が完了したら、LoadView プラットフォームで構成し、ロード テストを実行します。

 

プロセス 2. ロードビューを使用した OAuth 2.0 API シーケンスの使用

注: OAuth 2.0 プロセスを完了するには、2 つのアクションが必要です。

アクション 1. 認証コードの取得

アクション 2. アクセス トークンの認証コードを交換する

注: 開発チームから API サーバー要求の詳細と本文データの詳細を要求する必要があります。

ステップ 1. LoadView アカウントを作成 し、LoadView ダッシュボードに移動して、テスト用の API タイプを選択します。

OAuth は新しいロード テストを作成します。

ステップ 2. デモの目的で、 HTTP/Sを選択します。 状況は、API サービス の種類によって異なる場合があります。

OAuth HTTPS テスト

 

ステップ 3. アプリケーション API サーバーにヒットするように API 要求を構成します。

OAuth 構成デバイス

 

ステップ 4. APIサーバーは、データにアクセスするために、ログイン ページにリダイレクトします :ページにアクセスするには、Microsoft(OAuthプロバイダー)でログインします。 URL に OAuth 2 が表示されます。

OAuth ログイン URL

ステップ 5. ユーザーは、電子メール アドレスとパスワードを入力し、ログインをクリックし、ユーザー名とパスワードを入力し、アプリケーションへのアクセスを許可します。 認証サーバーは URL のパラメーターとしてコードを使用して、ユーザーを Web サイトにリダイレクトします。

OAuth ログイン URL の詳細

 

ステップ 6. API サーバーは、指定されたアクセス トークンのユーザー情報を Auth サーバーに要求します。 認証サーバーは、ユーザー ID、電子メールなどに関する詳細を返します。

OAuth ログイン・ユーザー情報

 

ステップ 7. API サーバーはユーザーを識別し、アクセス トークンと共に応答を送信します。 クライアントは、以下の要求でアクセストークンを API サーバーに送信します。 アクセス トークンが有効であるかどうかは、API サーバーはアプリケーションへのアクセス権を付与します。

OAuth ログイン アクセス トークン

 

ラップアップ: OAuth Web API のロード テスト

OAuth 2.0 要求の関連付けと構成は簡単な作業ではありません。 OAuth がアプリケーションにどのように機能するかを経験し、明確に理解する必要があります。 OAuth は、あらゆるアプリケーションの非常に重要な機能を有効にしているため、アプリケーションの OAuth API のパフォーマンス テストを実行することが非常に重要です。 JMeter などの他のオープンソースツールを使用している場合は 、JMeter テストを LoadView に 変換できます。JMeterはLoadViewのようなパフォーマンステストソリューションではなく、単なる負荷投げです。 エンドツーエンドのパフォーマンス テストを実行するには、LoadView のような優れたパフォーマンス テスト ソリューションが必要です。

LoadView の詳細を確認し、無料試用版にサインアップしてください。開始するには、最大 5 つの無料ロード テストを受け取ります