>웹 프론트엔드 >JS 튜토리얼 >손쉬운 API 테스트 : KushoAI

손쉬운 API 테스트 : KushoAI

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-14 14:25:03312검색

우리 조상들은 맨손으로 갈았는데 왜 우리는 그라인더를 사용하는지 궁금하신가요? 향상된 기술을 통해 이전 세대보다 뛰어난 성능을 발휘하고 일상 업무를 자동화하여 삶의 다른 측면에 더 집중할 수 있게 되었고 더 많은 발견이 가능해졌습니다. 오늘날 엔지니어들이 API 호출을 통해 전달되는 모든 정보를 처리하려고 몇 시간씩 앉아 있는 것과는 달리, 생산성을 높이고 데이터 처리에 더 집중하여 유용한 코드를 실생활에 적용할 수 있습니다. 유틸리티.

저는 백엔드 엔지니어로서 API 엔드포인트 서버의 작동 방식을 완전히 파악하지 못해 겪는 어려움, 더 정확하게는 API 엔드포인트 서버의 작동 방식을 완전히 이해(?)하지 못해 겪는 좌절감을 이해합니다. 또한 API 엔드포인트에 대한 최적의 성능과 테스트 런타임 환경을 만장일치로 이해하는 것이 엔지니어의 최우선 과제가 됩니다. 따라서 API를 테스트하는 방식은 궁극적으로 속도, 정확성 및 코드 초기에 버그를 잡는 능력을 결정합니다.

API를 테스트해야 하는 이유를 생각할 때 수많은 질문이 떠오를 수 있습니다!! 테스트 주도 개발은 간단해 보일 수 있지만 개발자가 겪을 수 있는 가장 어렵고 가장 장난스러운 라이프사이클 중 하나입니다. 궁극적으로 경로와 핸들러를 테스트하는 방식에 따라 데이터 관리 수명주기가 진행되는 방식이 결정됩니다. 그때 KushoAI가 탄생합니다.

솔직히 개발 주기를 단순화할 수 있는 AI 에이전트를 발견하면서 우연히 KushoAI를 고민하게 되었다고 장담합니다. "내 도구를 테스트할 때 백엔드 엔지니어로서의 삶이 그 어느 때보다 단순했던 적이 없습니다." 그런데 KushoAI가 정확히 무엇인가요? 그냥 "과장된 것 중 하나" AI 도구존재하는 걸까요? 실제로 유용합니까? 그렇다면 어떻게? 가장 중요한 질문은 "KushoAI가 다른 AI 테스트 에이전트보다 뛰어난 이유"입니다. 그래서 저는 KushoAI가 어떻게 작동하는지, 그리고 KushoAI가 다른 사람들과 다른 특징을 제공하는 방법을 이해하는 데 도움을 주기 위해 블로그를 만들기로 결정했습니다!!

그들의 문서에 정의된 책적인 정의에 따르면: "KushoAI는 API에 대한 철저한 테스트 스위트API 테스트용 AI 에이전트입니다. > 몇 분 만에 API 정보를 입력하고 KushoAI가 프로덕션에서 API에 대해 발생할 수 있는 실제 시나리오를 파악하고 이에 대해 즉시 실행 가능한 테스트를 작성하는 동안 해야 할 일은 바로 API 정보를 입력

하는 것입니다. "

간단히 말하면 입력을 에이전트에 제공하는 방법을 결정하고 API가 어떻게 작동할지 확인하는 상세하고 명확한 테스트 모음

을 받습니다. 그렇죠? 분명히 그렇지 않습니다. 이것이 제가 이 도구에 대해 블로그에 시간을 투자하는 이유입니다. KushoAI가 엔지니어에게 제공하는 가장 독특한 기능을 살펴보겠습니다.

API Testing Made Effortless : KushoAI


테스트 스위트 생성

(KushoAI에서 테스트 스위트를 생성하는 다양한 방법)

따라서 플랫폼이 제공하는 첫 번째이자 가장 흥미로운 기능은 테스트 스위트를 생성하기 위해 API에 대한 데이터 입력을 선택할 수 있는 다양성입니다. KushoAI 문서에는 다음과 같이 명시되어 있습니다.

"테스트 모음은 KushoAI

가 API에 대해 생성한 테스트 모음입니다. 높은 수준에서 KushoAI에서 테스트 생성이 작동하는 방식은 다음과 같습니다.
  • 아래 지정된 형식 중 하나로 테스트 모음을 생성하려면 API 정보를 제공하세요.
  • KushoAI는 API 정보를 살펴보고 이와 같은 API에 어떤 문제가 발생할 수 있는지 알아냅니다.
  • 이 정보를 바탕으로 KushoAI는 해당 API에 대한 테스트 모음에서 사용할 수 있는 테스트(테스트 실행에 필요한 시나리오와 API 페이로드 모두 포함)를 제시합니다."

KushoAI는 테스트 세대에 API 입력을 제공하는 데 도움이 되는 4가지 주요

방법을 제공합니다.
  1. API 세부정보 수동 입력
  2. OpenAPI 사양 가져오기
  3. Postman 컬렉션 가져오기
  4. cURL 명령 복사하여 붙여넣기

API Testing Made Effortless : KushoAI

4 방법 중에서 제가 가장 좋아하는 방법은 항상 Postman Collections 가져오기

였습니다. 하지만 모든 방법을 하나씩 간략하게 설명하고 싶습니다.

a) API の詳細を手動で入力する

これは、そのシンプルさと理解しやすさから、プラットフォーム上で最もよく利用されている方法の 1 つです。知っておく必要があるのは、エンドポイント URLヘッダーパス パラメータクエリ パラメータなど、API エンドポイントがどのように設計されているかだけです。および特定の API リクエストの リクエスト本文。この情報を入力したら、あとは [生成] をクリックして ドーン!! するだけで、わずか数分で API テストが生成されます。

よくある質問は、「用語に詳しくない場合、これらのパラメータとは正確には何ですか?」ということです。心配しないでください。KushoAI があなたをサポートします。プラットフォームでは、理解しやすいようにダミー API の例を使用して、これらのパラメーターが何であるかを明確に説明します。さらに、KushoAI は、Postman でのコレクションの動作と同様に、API スイートのグループを作成する機能を提供します。

API Testing Made Effortless : KushoAI
API Testing Made Effortless : KushoAI
API Testing Made Effortless : KushoAI
API Testing Made Effortless : KushoAI

b) OpenAPI 仕様をインポートする

誰もが人生で一度は、API として Swagger のようなサービスを使用したことがあります。すでに API を Swagger でホストしている場合は、JSON を KushoAI に直接インポートすることがおそらく最善の方法です。その後、内部パーサーを利用して API および JSON にリストされているすべてのエンドポイントに関するすべての情報を取得します。さらに、KushoAI は、テストしたいエンドポイントのみを選択するオプションも提供します。次にエンドポイント URL を確認すれば、準備は完了です。 生成 をクリックしてサイトに戻り、KushoAI がすべての作業を行っている間リラックスしてください。これがどのように機能するかを視覚的に表現したものを以下に示します:

API Testing Made Effortless : KushoAI
API Testing Made Effortless : KushoAI
API Testing Made Effortless : KushoAI

c) Postman Collections からのインポート

私のお気に入りの機能の 1 つは、Postman コレクションからインポートする機能です。これは主に Postman を頻繁に使用しているためです。以前は、必要な メソッド とパラメーターを使用してエンドポイントを手動で入力していました。しかし、私が本当に望んでいたのは、これらの API 呼び出しをテストに直接統合することでした。それが KushoAI を発見した方法です。

これは非常に簡単です:

  1. Postman コレクションを JSON ファイルとしてエクスポートします。
  2. JSON ファイルを KushoAI にアップロードします。
  3. OpenAPI 仕様をインポートする場合と同様に、テストを生成する必要がある必須パラメーターを選択します。
  4. 認証トークン、リクエストなどのオプションのパラメータがある場合は、次のポップアップに詳細を入力します。
  5. [生成] をクリックして、座ってリラックスして、KushoAI の魔法を働かせましょう。

API Testing Made Effortless : KushoAI
API Testing Made Effortless : KushoAI
API Testing Made Effortless : KushoAI
API Testing Made Effortless : KushoAI

d) cURLコマンドを使用したインポート

KushoAI は、curl コマンドをインポートしてテストを直接作成するオプションも提供します。テストが作成された実際の適用可能な cRUL コマンドの簡単な例を以下に示します。

curl -v -X POST \
    -F 'hostname=docker' \
    -F 'modelid=5000000002' \
    -F 'sitegroupid=1' \
    -F 'siteid=772' \
    -F 'sitename=Niwot Ridge Forest/LTER NWT1 (US-NR1)' \
    -F 'pft[]=temperate.coniferous' \
    -F 'start=2004/01/01' \
    -F 'end=2004/12/31' \
    -F 'input_met=5000000005' \
    -F 'email=' \
    -F 'notes=' \
    'http://pecan.localhost/pecan/04-runpecan.php'

KushoAI ワークベンチと API の情報

KushoAI を使用すると、API 情報へのアクセスと管理が驚くほど簡単になり、フィルターカウント、詳細な API 情報などのデータに関する洞察が得られます。 KushoAI が API の詳細を処理すると、通常は数分もかからずに、API コレクションの完全に機能するテスト スイートが生成され、実行できるようになります。

しかし、特定のシナリオに合わせて生成されたテスト ケースを微調整する必要がある場合はどうすればよいでしょうか?心配はいりません。KushoAI には、リクエストの詳細を変更し、正確なニーズに合わせてテストを調整できる使いやすいインターフェイスが用意されています。

In addition to customization, KushoAI offers parallel computation and API calls, a feature that significantly reduces latency and boosts efficiency. This is one of the most impressive features KushoAI brings to the table, allowing you to test APIs faster and with greater precision.

However, when I say "one of the most impressive," I truly mean it, because KushoAI offers even more. You can automatically generate AI Assertions for each API request using Generative AI, which, in my opinion, is the standout feature of the platform. You can even integrate custom assertions, a feature that I haven’t seen work as quickly or effectively anywhere else.

Below are some examples of requests I processed using KushoAI, demonstrating how its services work. For this, I used a custom endpoint for the WeatherAPI to showcase KushoAI’s capabilities. The ability to easily integrate with your own custom assertions is a game-changer, offering unmatched flexibility and speed. Below are some assertions which were automatically generated using KushoAI's inbuilt Generative AI :

expect(response.response.location.name, "name should exist").to.exist;
expect(response.response.location.name, "name should be a string").to.be.a('string');
expect(response.response.location.region, "region should exist").to.exist;
expect(response.response.forecast.forecastday[0].hour[0].gust_kph, "gust_kph should be a number").to.be.a('number');
expect(response.response.forecast.forecastday[0].hour[0].uv, "uv should exist").to.exist;
expect(response.response.forecast.forecastday[0].hour[0].uv, "uv should be a number").to.be.a('number');
expect(response.statusCode, "statusCode should exist").to.exist;
expect(response.statusCode, "statusCode should be a number").to.be.a('number');

API Testing Made Effortless : KushoAI
API Testing Made Effortless : KushoAI

Workspaces and Collaboration

KushoAI offers a robust Workspaces feature that enables seamless collaboration among users, allowing teams to work together efficiently on API collections. This feature is especially useful for larger teams or projects where multiple individuals need to contribute to the same API testing suite, fostering real-time collaboration and making the development process smoother.

If you're familiar with GitHub, you'll find this functionality quite similar. Just as GitHub allows multiple developers to collaborate on code, KushoAI enables teams to work simultaneously on API collections, share test cases, and address the same issues without stepping on each other’s toes.

This Spectacular feature helps teams stay in sync, reducing bottlenecks and improving productivity. By centralizing the workspace and offering easy access to shared projects, KushoAI streamlines the API testing workflow, making it easier for users to track changes, provide feedback, and enhance the overall quality of their API services.

Whether you're working with a small team or managing a large project with many contributors, KushoAI ensures that collaboration is as efficient and frictionless as possible. With real-time updates and shared access to API collections, it takes teamwork in API testing to a whole new level. You can also manage your API Keys for further integrations and CI automation (which we will discuss a bit later) along with Environment Variables to store your secrets.

KushoAI's Workbench provides a more sophisticated and user-friendly interface than Postman's, allowing for greater flexibility and control during API testing. While Postman is well-known for its simplicity and ease of use, KushoAI goes above and beyond with capabilities such as custom test case generation, real-time modification of API requests, and parallel test execution, all of which greatly speed up the testing process. KushoAI's Workbench is built with Generative AI at its heart, allowing it to automatically develop extensive test cases across numerous scenarios—something Postman often restricts to simple checks like response status and time. Furthermore, KushoAI delivers extensive insights into the data coming via your APIs, allowing users to select and analyse results more accurately.

Integration in your CI/CD Pipelines

KushoAI offers seamless integration with your CI/CD pipelines, providing automated, real-time test generation and execution, without the need for any manual intervention. This integration ensures that every time a new commit is pushed or a change is made, KushoAI automatically runs tests to validate your API’s functionality, performance, and security.

Currently available as part of KushoAI’s Enterprise plan, this feature is designed for organizations that need continuous testing at scale. By incorporating KushoAI into your CI/CD workflow, you can ensure that every API update is thoroughly tested, reducing the likelihood of bugs and security vulnerabilities slipping into production.

KushoAI は GitHub Actions もサポートしているため、API テストを GitHub ベースのワークフローに直接統合することが簡単になります。これにより、開発チームとテスト チームは開発プロセスの早い段階で問題を発見できるため、全体的な効率が向上し、手動テストに費やす時間が削減されます。

CI/CD パイプラインの一部として API テストを自動化すると、テストのパフォーマンスが向上するだけでなく、セキュリティも大幅に向上します。すべての変更は自動的に検証されるため、開発ライフサイクルのすべての段階で API がテストされているため、自信を持ってデプロイできます。これにより、人的ミスによって引き起こされる潜在的なセキュリティ リスクが排除され、バグや脆弱性に対する信頼できる保護が提供されます。

さらに詳しい情報が必要な場合、または CI/CD 統合が組織にどのようなメリットをもたらすかについては、KushoAI チームが相談とサポートを提供します。以下は、一般的なパイプライン内で統合がどのように機能するかを視覚的に表現したものです:

テストレポート。

テスト スイートが完了すると、KushoAI がテスト プロセスの完了を通知するため、テストを手動で監視する必要がなく、他のことに集中できるようになります。これは、KushoAI がテストを行っている間、時間を効率的に使用できることが保証されるため、多くの優先事項を持つチームにとって特に価値があります。

アラートに加えて、KushoAI はテスト スイートの生成ステータスのリアルタイム ビューを提供します。 [ホーム] タブの生成ステータス ページからテストの進行状況を追跡するだけで、プロセスのあらゆる段階で最新の情報を得ることができます。このリアルタイムの可視性は、未完了のテストをなくし、すべての API が完全にテストされたことを保証するために重要です。

テストが完了すると、KushoAI はテスト スイートと結果のエクスポートの選択肢を提供します。これらのレポートは「HTML」形式でエクスポートでき、テスト結果の簡潔でよく整理された概要が提供されます。これらのレポートは現在のテストをキャプチャするだけでなく、将来の参照用に保存することもできるため、時間の経過とともに進行状況や回帰の問題を簡単に追跡できるようになります。

この機能は、API の速度を継続的に向上させようとしている企業にとって非常に役立ちます。これらの広範なレポートを確認することで、考えられる問題を発見し、適切な変更を加え、API がどのように変更されたかの履歴記録を保持することができます。 KushoAI のレポート ツールを使用すると、実用的な洞察に常にアクセスできることが保証されます。

API Testing Made Effortless : KushoAI

API Testing Made Effortless : KushoAI

データをさらに活用するために HTML 形式でエクスポートする方法を示す画像

KushoAI のエンドツーエンド テスト (ベータ版) の機能

KushoAI のエンドツーエンド (E2E) テスト機能を使用することで、開発者は多数の API インタラクションを順次テストして、意図したとおりに動作することを確認することで現実世界のプロセスを複製できます。エンジニアはこの機能を使用して、複数のエンドポイントが関係する複雑な状況をカバーし、運用環境での API の動作についての洞察を提供できます。 E2E テストには多くの機能があり、最も顕著な機能は次のとおりです。

  1. テスト用の API の選択: - ユーザーは、新しい API を追加するか、既存の API をテスト スイートに選択できます。たとえば、画像に表示されているように「Weather Forecast API for Gorakhpur」を選択すると、いくつかのエンドポイントと機能を組み合わせて現実世界のシナリオを再現できることがわかります。

  2. ワークフローの自動化: - 「実行」 および 「ワークフローの保存」 ボタンを使用すると、ユーザーはエンドツーエンドの開発、実行、保存を行うことができます。 -再利用のためのテストを終了します。実際のユーザーが API を操作するのと同じ順序で API をテストするプロセスを作成できます。

  3. コラボレーションとカスタマイズ: - 右上隅の ワークスペース 機能は、チームがプロセスで協力し、テスト環境を効率的に維持するのに役立ちます。

  4. ユーザーフレンドリーなインターフェイス: UI は簡単な API 管理を提供することを目的としており、ユーザーは新しい API の追加と、テスト用に事前構成された API の選択をすばやく切り替えることができます。また、API の並列実行とリアルタイムのシナリオ検証もサポートしています。

API Testing Made Effortless : KushoAI

KushoAI の E2E テスト (ベータ版)

の UX フローを示す画像

KushoAI lwn Posmen: Ujian Generatif

Mungkin ada yang tertanya-tanya, mengapa memilih KushoAI apabila Posmen juga menawarkan ujian generatif? Jawapannya mudah: KushoAI menawarkan pengalaman ujian yang jauh lebih komprehensif dan pintar. Walaupun Posmen menjana ujian berdasarkan faktor terhad seperti masa tindak balas dan kod status, KushoAI menjana ujian merentas semua kemungkinan senario ujian, tanpa mengira spesifik koleksi anda.

Ini adalah pengubah permainan. Posmen sering mengehadkan skop ujian yang dihasilkannya, bergantung pada keadaan yang telah ditetapkan. Sebaliknya, KushoAI mengambil pendekatan yang lebih mantap, memastikan API anda diuji di bawah pelbagai keadaan yang lebih luas, termasuk kes tepi dan kesesakan prestasi yang mungkin terlepas pandang oleh Posmen.

Untuk menggambarkan ini, saya menjalankan simulasi pada pelayan backend localhost saya untuk menyemak data pengguna dan respons yang serupa dengan contoh terdahulu menggunakan API Cuaca. Hasilnya jelas menunjukkan bahawa rangka kerja ujian generatif KushoAI bukan sahaja menyediakan lebih banyak kes ujian tetapi juga menyelidiki lebih mendalam ke dalam potensi titik kegagalan dan senario ralat yang pendekatan Postman terlepas sepenuhnya. Keupayaan KushoAI untuk mencipta ujian komprehensif merentas semua lapisan fungsi, daripada kestabilan titik akhir kepada integriti data, menunjukkan liputan dan kebolehpercayaannya yang unggul.

Selain itu, Generative AI KushoAI disesuaikan untuk mengenal pasti isu bernuansa dalam API anda, menawarkan penegasan pintar dan kes ujian tersuai yang selaras dengan keperluan khusus anda—sesuatu yang kurang dari Posman. Dengan KushoAI, anda bukan sahaja menguji berdasarkan metrik peringkat permukaan; anda sedang mengesahkan keseluruhan kitaran hayat API, daripada kelemahan keselamatan kepada ujian tekanan dunia sebenar.

Ringkasnya, KushoAI mengatasi penyelesaian ujian generatif lain seperti Postman dengan memastikan bahawa setiap aspek API anda diuji dengan teliti, menawarkan cerapan yang lebih mendalam, fleksibiliti yang lebih besar dan hasil yang lebih dipercayai. Buktinya adalah dalam ujian yang dihasilkan melalui Posmen dan KushoAI yang mempamerkan bagaimana enjin ujian lanjutan KushoAI memberi anda tahap liputan yang membezakannya daripada persaingan.

API Testing Made Effortless : KushoAI

API Testing Made Effortless : KushoAI

Semasa KushoAI memutuskan untuk menguji senario yang terdiri daripada keadaan data, Posmen memutuskan untuk menguji senario dengan kod Ralat dan Kandungan Badan.

Kesimpulan

Selain sebagai alat ujian automatik, KushoAI ialah platform teguh dan jauh lebih unggul daripada yang lain yang memudahkan keseluruhan proses membangunkan dan menguji API. Ia menghilangkan usaha membosankan yang dikaitkan dengan ujian API dengan menggunakan teknologi AI termaju, membolehkan pembangun menumpukan pada perkara yang sebenarnya penting: kreativiti. Daripada penyepaduan CI/CD yang lancar kepada ruang kerja kolaboratif dan penjanaan ujian tersuai, Ia juga menyediakan segala yang diperlukan untuk meningkatkan produktiviti, mengurangkan ralat dan mempercepatkan penghantaran. Sama ada anda pasukan kecil atau perusahaan besar, ciri KushoAI memastikan API anda diuji dengan teliti, selamat dan cekap. Dengan KushoAI di sisi anda, ujian API menjadi bukan sahaja lebih mudah, tetapi lebih pintar.

위 내용은 손쉬운 API 테스트 : KushoAI의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.