apeescape2.com
  • メイン
  • ライフスタイル
  • 財務プロセス
  • ブランドデザイン
  • アジャイルタレント
バックエンド

RESTアシュアードvs。 JMeter:RESTテストツールの比較

自動テストは、テストプロセスの重要なコンポーネントです。 ソフトウェア品質管理 。ただし、Representational State Transfer(REST)APIのテストには注意が必要です。手動のRESTAPIテストに頼る人の多くは、詳細を見落とし、時間を節約する方法を見逃しています。

テストに成功したRESTAPIサービスには、次の領域が含まれます。

  • APIサービスがREST標準に準拠しているかどうかのテスト
  • APIサービス応答コードテスト
  • APIサービスの応答コンテンツをアサートする
  • APIサービスのパフォーマンスのベンチマーク

RESTテスト用のツール



このためには、適切なツールが必要です。 ApacheJMeterとRESTAssuredは、RESTAPIサービスをテストするための2つの一般的なRESTテストツールです。あなたはそれらを実際にどのように使うことができるかについてもっと学ぶことができます ここに Y ここに 。

この記事では、これら2つのツールの長所と短所、および既存のRESTAPIプロジェクトのどこに最適かを学習します。

セットアップのしやすさ

前提条件があります。JMeterおよびRESTAssuredにはJavaが必要であるため、JMeterまたはRESTAssuredを実行するにはコンピューターにJavaがインストールされている必要があります。

ApacheJMeterのインストールは非常に簡単です。 ダウンロードページ 、ZIPまたはTARを選択し、ファイルをダウンロードして解凍すると、準備が整います。

ファイルを解凍したフォルダー、サブフォルダーに移動しますbin実行jmeter.bat (または、Windowsでない場合は、オペレーティングシステムでも同様です)。 Apache JMeterの構成方法の詳細については、こちらを参照してください。 ページ 。

REST Assuredのインストールは、少し異なる経験です。 RESTAssuredはスタンドアロンツールではありません。これはJavaライブラリです。これを使用するには、新しいJavaプロジェクトをセットアップし、プロジェクトのライブラリとして含める必要があります。もちろん、多くのコンパイルツールがサポートされているため、依存関係リゾルバーをパブリックリポジトリ(Maven)にポイントするだけで済みます。 REST Assuredの構成方法の詳細については、[ここ](https://semaphoreci.com/community/tutorials/testing-rest-endpoints-using-rest-assured)を参照してください。

ドキュメンテーション

Apache JMeter ドキュメンテーション JMeterの公式Webサイトにあります。開始からリスナーのような複雑な機能まで、かなり包括的なドキュメントを提供します。また、JMeterの公式Webサイトには、チュートリアルビデオなどの非常に豊富なリソースへのリンクがあります。読書を減らして見るのが好きなら、これは間違いなくあなたにとってのボーナスです。

ザ・ ドキュメンテーション REST Assuredから、ツール/ライブラリ自体と同様に、Githubリポジトリ内にあります。オンラインドキュメントにリストされている機能の大規模なリストと、何かを達成する方法の非常に詳細な説明があります。ただし、すべてのドキュメントは優れたWebページであり、ツールを探索する最も簡単な方法ではありません。

RESTテストの自動作成とメンテナンス

Apache JMeterは、グラフィカルユーザーインターフェイス(GUI)を備えたスタンドアロンアプリケーションとして、GUIからテストを作成できます。これは、特にJMeterから導入されたエンティティの階層のために役立ちます。テスト内で作成するすべてのものは、JMeterGUIでツリーのような表現で表示されます。

テストを作成するために、コーディングスキルは必要ありません。ただし、GUIは、テスト計画に関する可能性を制限するものではありません。それでもカスタムスケジュール/フローを追加したい場合は、BeanShellコンポーネントでそれを行うことができます。

JMeterGUIスクリーンショット

JMeterプロジェクトを保存すると、作成したすべてのものが大きなXMLファイル(拡張子.jmx)に保存されます。一般に、テストの1つに小さな変更があったとしても、変更を加えるには(ほとんどの場合)GUIでプロジェクトを再度開く必要があります。

同じJMeterプロジェクトファイルで他のユーザーと共同作業する必要がある場合、この大きなXMLファイルは、ソース管理管理(SCM)システム(Git、SVN、Perforceなど)を使用して保守するのは簡単ではありません。

一方、REST Assuredは、テストを作成するためにJavaコーディングスキルを必要とします。テストを作成するための使いやすいGUIはありません。ただし、REST Assuredでは、Gherkin言語(Given-When-Then構文)を使用してテストを作成できるため、Javaコーディングのスキルが必要な場合でも、テストは非常に読みやすくなっています。

given(http://via.placeholder.com/2000x200?text=image+placeholder). config(RestAssured.config(http://via.placeholder.com/2000x200?text=image+placeholder).jsonConfig(jsonConfig(http://via.placeholder.com/2000x200?text=image+placeholder).numberReturnType(BIG_DECIMAL))). when(http://via.placeholder.com/2000x200?text=image+placeholder). get(“/price”). then(http://via.placeholder.com/2000x200?text=image+placeholder). body(“price”, is(new BigDecimal(12.12)));

REST Assuredはライブラリであり、テストは実際にはJavaで記述されているため、テストを個別のJavaファイルに編成できます。したがって、テストを変更する必要がある場合は、1つのファイルを開くだけで済みます。 GUIは必要ないので、SSH端末からでも簡単にテストを編集できます。 JavaファイルはSCMを使用して簡単に保守できるため、他のユーザーとのコラボレーションは非常に簡単です。

RESTテストタイプ

JMeterは、Webサービスおよびアプリケーションをテストするためのパフォーマンステストツールとしてよく知られています。パフォーマンステストのメトリックを表示するために使用できるさまざまな種類のグラフを含むレポートなど、すぐに使用できる優れたオプションがあります。

JMeterの応答時間のスクリーンショット

一方、これはJMeterの主な使用シナリオでもありません。応答アサーションを含む、JMeterを使用したRESTAPIの機能テストを作成できます。

REST Assuredの主な使用シナリオは、RESTAPIサービスの機能テストです。独自の応答アサーションメカニズム(Gherkinの構文)も付属しています。 REST AssuredはJavaライブラリであるため、単体テストと簡単に統合できます。

ベンチマークに関しては、RESTAssuredはすぐに使用できるベンチマークをサポートしていません。ただし、パフォーマンステストに使用する場合は、RESTAssuredでのパフォーマンステスト用に独自のカスタムフレームワークを開発する必要があります。

実行のテスト

JMeterテストは2つの方法で呼び出すことができます。

ユーザーインターフェイスから[実行]ボタンをクリックして:

JMeterの「実行」ボタンのスクリーンショット

コマンドラインから:

jmeter -n -t your_script.jmx

JMeterの公式の推奨事項は、GUIを使用してパフォーマンステストを実行しないことです。テストは、コマンドラインから実行する場合に比べて(1秒あたりのリクエスト数の点で)実行が遅くなるためです。

一方、REST Assuredには、jUnitやTestNG(またはJavaコードを実行する他の方法)などの別個のテストランナーが必要です。

TestNGを使用したEclipseから:

REST AssuredEclipseのスクリーンショット

たとえば、Antビルドツールを使用してコマンドラインから:

ant run-tests

レポートの種類

Apache JMeterは、その主な目的のために、テストの結果から作成できる多数のタイプのレポートを持っています。 JMeterからパフォーマンステストを実行できるため、パフォーマンスメトリックは通常、次のようなグラフを使用して表示されます。

JMeterパフォーマンスレポート

JMeterレポートと作成できるレポートの種類について詳しく知ることができます ここに 。

REST Assuredはレポートを作成しないため、ユーザーと選択したテストフレームワークに依存します。ただし、いくつかの単体テストフレームワークと統合すると、HTML、テキスト、またはXML形式で有用なレポートを取得できます。

REST AssuredHTMLに通知する

Jenkinsとの統合

テスト対象の製品の継続的インテグレーションに関しては、テストの実行と結果のレポートの両方で、テスト自動化フレームワークをCIツールと統合することが非常に重要です。

JMeterの自動テストは、を使用してJenkinsと簡単に統合できます。 プラグインのパフォーマンス これにより、ビルド後のアクションを構成し、Jenkinsの作業ページから素敵なダッシュボードページを取得できます。

JMeterJenkinsのスクリーンショット

Jenkinsにはほとんどすべてのテストフレームワーク用のプラグインがあるため、RESTAssuredはJenkinsと簡単に統合することもできます。たとえば、彼 プラグインTestNG これもまた、テスト結果の堅牢なトレンドチャートを作成できます。

REST AssuredJenkinsのスクリーンショット

コミュニティ活動

これは簡単に測定できないカテゴリです。コミュニティの活動は、ツールの有効期限や寄稿者の数など、いくつかの要因によって異なります。

今日、ApacheJMeterにはより大きなコミュニティがあります。これは主に、JMeterがかなり前に市場に導入され、Webサービスおよびアプリケーションのパフォーマンステストに関して業界標準と見なされているという事実によるものです。 JMeterが公開 5〜6か月ごとの公式リリース 。彼の GitHubリポジトリ 非常に活発で、毎日新しい確認があります。 JMeterはBugzillaを問題トラッカーとして使用し、 未解決の問題のリスト 頻繁に変更されます。検索でのJMeterの結果は23000件を超えています スタックオーバーフロー 。ソーシャルネットワーキングサイトから、JMeterは公式アカウントを持っています ツイッター 。 FacebookとLinkedInには、JMeterの公式アカウントはありませんが、2つのグループがあり、そのうち最大のものはこれです。 Facebookグループ この LinkedInグループ 。

REST Assuredはメインステージに到達しており、REST APIサービスの機能テストの自動化に関して、最初の選択肢であるマルチソースの推奨事項になっています。 RESTAssuredが投稿しています 6か月に1回の公式リリース 過去2年間。ザ・ GitHubリポジトリ 貢献者が多く、JMeterよりも少しアクティブではありませんが、非常にアクティブでもあります。 REST AssuredはGitHubリポジトリの問題を追跡しているため、すべてが1か所にまとめられています。に スタックオーバーフロー 、REST Assuredの検索結果は2000を超えているため、JMeterの検索結果と比較して大幅に低いと言えます。ソーシャルメディアグループに関しては、 LinkedInグループ JMeterと比較して大幅に少ないメンバーに遭遇しました。 REST AssuredコミュニティはJMeterコミュニティほど大きくないかもしれませんが、非常に活発です。

概要

JMeterとRESTAssuredはどちらも、お互いに利点があります。ただし、作業しているプロジェクトによっては、RESTAPIテストの自動化に一方が他方よりも優れている場合があります。どちらも非常に堅牢で、便利なテストオプションがあり、優れたレポート機能があり、カスタムテストフレームワークと簡単に統合できます。

これら2つの一般的なRESTテストツールについて、この記事で検討したすべての比較基準の概要を次に示します。

スプリングブートレスト例外処理
Apache JMeter 安心してください
コーディングスキルが必要 番号 はい(Java)
完全なドキュメント はい はい
機能テスト はい(ただし過剰) はい
パフォーマンスのテスト はい いいえ(箱から出して)
SCMに適しています(Git、P4 ...) 番号 はい
テストレポート はい 番号
CIツールとの統合 はい はい
ユニットテストとの統合 番号 はい
並列化のテスト はい はい
コミュニティ活動 はい はい

数字から物語を作る

投資家と資金調達

数字から物語を作る
Adobe XDとSketch–どのUXツールがあなたに適していますか?

Adobe XDとSketch–どのUXツールがあなたに適していますか?

Uiデザイン

人気の投稿
共謀:iOSのMultipeerConnectivityを使用した近くのデバイスネットワーキング
共謀:iOSのMultipeerConnectivityを使用した近くのデバイスネットワーキング
コンテンツ戦略ディレクター
コンテンツ戦略ディレクター
生産的な行動の誘発:仕事の動機付けのヒント
生産的な行動の誘発:仕事の動機付けのヒント
ビジネスアナリスト-戦略と分析
ビジネスアナリスト-戦略と分析
異文化デザインとUXの役割
異文化デザインとUXの役割
 
VUIの設計-音声ユーザーインターフェイス
VUIの設計-音声ユーザーインターフェイス
AWSでのTerraformによるダウンタイムゼロのJenkins継続的デプロイ
AWSでのTerraformによるダウンタイムゼロのJenkins継続的デプロイ
アジャイルサーバントリーダーシップを通じて変化を促進する方法
アジャイルサーバントリーダーシップを通じて変化を促進する方法
ファミリーオフィス投資ガイド:ベンチャーキャピタルの代替案
ファミリーオフィス投資ガイド:ベンチャーキャピタルの代替案
WordPressを嫌いではない:5つの一般的なバイアスが暴かれる
WordPressを嫌いではない:5つの一般的なバイアスが暴かれる
人気の投稿
  • c法人とsの違い
  • オンラインで誰かのクレジットカードをハッキングする方法
  • オブジェクトの属性の例は次のとおりです。
  • sとc法人の違いは何ですか
  • llc s corp vs c corp
  • SQLServerクエリのパフォーマンスチューニング
カテゴリー
Uiデザイン 技術 ヒントとツール モバイルデザイン モバイル 計画と予測 プロジェクト管理 製品ライフサイクル 仕事の未来 Uxデザイン

© 2021 | 全著作権所有

apeescape2.com