インターフェーステストの正式名称はAPI(Application Programming Interface)テストといい、原理的にはクライアントがサーバーにリクエストを送信する動作をシミュレートし、正しい戻り情報が得られるかどうかを確認するテストです。インターフェイス テストは、HTTP、HTTPS、JMS、MQ 経由で送信できる RESTful API、SOAP Web サービスをテストするために使用されます。
図 1 自動テストのピラミッド
API テストは安定しているだけでなく、自動テストに適しており、実装が簡単で、テストの実行が高速です。上位層の UI テストと比較して、インターフェイス自動テストの入出力比はより高く、インターフェイス テストはより安定しており、ソフトウェア開発の初期段階で実行できるため、ソフトウェアの欠陥を見つけることができます。以前。SOA アーキテクチャとマイクロサービス アーキテクチャの普及に伴い、インターフェイス指向の実装が増えており、多くのソフトウェア テストがインターフェイスを通じて実行できるようになり、インターフェイス テストの自動化が多くの企業にとって最優先事項となっています。チーム。
現在利用可能な便利なインターフェイス テスト ツールと、インターフェイス テストで使用されるインターフェイス モック ツール、インターフェイス ドキュメント開発ツール、およびインターフェイス管理ツールを見てみましょう。
-
郵便屋さん
-
SoapUI
-
安心してください
-
Jメーター
-
アピフォックス
-
カタロン スタジオ
-
空手
-
ワイヤーモック
-
ハナアブ
-
闊歩する
-
構造
インターフェーステストツール
より便利なインターフェイス テスト ツールには、Postman、SoapUI、REST-Assured、JMeter、Apifox、Katalon Studio、Karate などが あります。
1)郵便配達員
Postman は非常に人気のある API デバッグ ツールであり、開発プロセス中にインターフェイスをデバッグするために広く使用されています。Postman はシンプルで便利、そして強力です。ネットワーク プログラムの開発およびデバッグ時に一部のネットワーク リクエストを追跡すると、バックエンド開発者がインターフェイスを個別にテストするのに効率的に役立ちます。
公式サイトアドレス:https://www.postman.com
2) ソープUI
SoapUI は、広く使用されている SOAP および REST API 自動テスト ツールです。その使いやすいグラフィカル インターフェイスにより、テスターは REST および SOAP ベースの Web サービスを簡単に検証でき、複雑なテスト シナリオに非常に適しています。
公式サイトアドレス:https://www.soapui.org/
3)REST保証
REST-Assured は、Java 言語で REST API をテストするためのオープン ソース ツールで、XML および JSON リクエスト/レスポンスをサポートし、BDD-Given/When/Then 構文をサポートします。このフレームワークにより、Java 言語でインターフェイス テスト ケースを簡単かつシンプルに作成できるようになります。
公式ウェブサイトは次のとおりです: http://rest-assured.io/
4) Jメーター
JMeter は、アプリケーションのストレスおよびパフォーマンス テスト用のオープン ソース ソフトウェアであり、インターフェイス テストにも広く使用されています。JMeter は、REST、SOAP、HTTP、HTTPS、FTP、TCP およびその他のプロトコルをサポートします。
JMeter はさらに多くのプラグイン サポートを提供します: https://jmeter-plugins.org/
公式サイトアドレス:https://jmeter.apache.org/
5)アピフォックス
Apifox はインターフェイス テスト ツールとして強力で、API ドキュメント定義、API デバッグ、API モック、および API 自動テストをサポートできます。簡単に言うと、Apifox = Postman + Swagger + Mock + JMeter です。
さらに、Apifox はチームコラボレーションのために生まれ、インターフェースはクラウド上でリアルタイムに同期更新され、成熟したチーム/プロジェクト/メンバーの権限管理がさまざまな企業のニーズに応えます。
公式サイトアドレス:https://www.apifox.cn/
6) カタロスタジオ
Katalon Studio は、API、Web、デスクトップ テスト、モバイル テストのための強力かつ包括的な自動化ツールです。Katalon Studio は、すべてのフレームワーク、ALM 統合、およびプラグインを 1 つのパッケージに含めることにより、簡単な導入を実現します。UI と API/Web サービスを複数の環境 (Windows、Mac OS、Linux) に組み合わせる機能も、トップ API ツールの中でも Katalon Studio に特有の利点です。また、Katalon Studio は、 「 202 ソフトウェア テスト動向レポート: ノーコード テスト自動化 」で紹介された、ノーコード自動テスト ツールでもあります。
公式サイトアドレス:https://www.katalon.com/
7)空手
Karate は API テスト用のオープン ソース フレームワークです。テスト コードの開発にプログラミング言語を使用する必要はありません。テスターはドメイン固有の言語を使用してテスト ケースを作成できます。このツールは自動 API テスト用に特別に設計されており、Intuit によってリリースされています。数年前に Intuit によって作成された Karate は、API インターフェイスの機能テスト、UI 自動化テスト、パフォーマンス テストをカバーし、Mocks サポートを提供する包括的な機能を備えたテスト フレームワークに開発されました。『アジャイル テスト: 継続的デリバリーのための継続的テスト』のセクション 4.9.4 には、Karate テスト ツールについて詳しく説明されています。
公式サイトアドレス:https://github.com/karatelabs/karate
インターフェーステストモックツール
8)ワイヤーモック
WireMock は HTTP ベースのシミュレーション サービスです。テスト対象の API が依存する API が存在しないか不完全な場合、WireMock は特定のリクエストに対して固定応答を提供し、後で検証するために受信リクエストをキャプチャできます。WireMock は、プロジェクト内でサードパーティ ライブラリとして使用することも、別のプロセスとして開始することもできます。
公式サイトアドレス:http://wiremock.org/
9) ハナアブ
Hoverfly は、アプリケーションが依存する API の現実的なシミュレーションを作成できる軽量の API サービス シミュレーション ツール (サービス仮想化ツールとも呼ばれる) です。Hoverfly は、CI 環境で低速で不安定な外部サービスやサードパーティ サービスの代替として再利用可能な仮想サービスを作成するために使用されます。また、ネットワーク遅延、ランダムな障害、またはレート制限をシミュレートしてエッジ ケースをテストすることもできます。さらに、Hoeverfly は、HTTP 応答を記録、再生、変更、または合成できるさまざまな動作モードを提供します。
公式サイトアドレス:https://hoverfly.io/
インターフェースドキュメント開発ツール
10) 闊歩する
Swagger は、RESTful スタイルの Web サービスを生成、記述、呼び出し、視覚化するための標準化された完全なフレームワークです。Swagger の目標は、言語に依存しない標準の REST API インターフェイスを定義することです。これにより、人やコンピュータは、ソース コード、ドキュメント、ネットワーク トラフィックの監視にアクセスすることなく、サービスを発見して理解できるようになります。Swagger を通じて適切に定義すると、ユーザーは最小限の実装ロジックでリモート サービスを理解し、操作できるようになります。
API の設計、開発、ドキュメントの機能に加えて、Swagger は API テストと API モック関数もサポートしています。Swagger は、OpenApi 3.0 ドキュメント標準をサポートしています。
公式サイトアドレス:https://swagger.io/
インターフェース管理ツール
11) 構造
YApi は、開発者、製品、テスターに、よりエレガントなインターフェイス管理サービスを提供するように設計された、効率的で使いやすく強力な API 管理プラットフォームです。YApi は、開発者が API を簡単に作成、公開、保守するのに役立ちます。また、ユーザーに優れたインタラクティブなエクスペリエンスを提供します。開発者は、プラットフォームが提供するインターフェース データ書き込みツールと簡単なクリック操作を使用するだけで、インターフェース管理を実現できます。
公式サイトアドレス:http://yapi.smart-xwork.cn/
参照文書: