From ac169c1fb48ae75831aa343d67c4eee9afad21e7 Mon Sep 17 00:00:00 2001 From: Neha Gupta Date: Tue, 19 Sep 2023 22:18:40 +0530 Subject: [PATCH] docs: change intro page keploy and it's features Signed-off-by: Neha Gupta --- src/components/QuickStart.js | 14 ++-- .../concepts/what-are-keploy-features.md | 68 ++++++++++++------- .../version-2.0.0/concepts/what-is-keploy.md | 28 ++++---- .../keploy-explained/introduction.md | 4 +- 4 files changed, 68 insertions(+), 46 deletions(-) diff --git a/src/components/QuickStart.js b/src/components/QuickStart.js index 1ca08e67d..e3efd8ff9 100644 --- a/src/components/QuickStart.js +++ b/src/components/QuickStart.js @@ -17,14 +17,14 @@ export const QuickStart = () => { What is Keploy? πŸ€”

- Keploy is your open-source, developer-centric E2E testing tool. It makes - regression testing easy and productive for engineering teams. Plus, it's - free and highly extensible.πŸ› οΈ + Keploy is your open-source, developer-centric backend testing tool. It + makes backend testing easy and productive for engineering teams. Plus, + it's easy-to-use, powerful and extensible..πŸ› οΈ

- Keploy creates test cases and generates data mocks/stubs by recording - API calls and DB queries, significantly speeding up releases and - enhancing reliability. πŸ“ˆ + Keploy creates test cases and data mocks/stubs from user-traffic by + recording API calls and DB queries, significantly speeding up releases + and enhancing reliability. πŸ“ˆ

@@ -65,7 +65,7 @@ export const QuickStart = () => {

MacOS

-

+

⚠️ Please note that Keploy v2 is currently in development, with the best experience on Linux. Docker support is experimental and may have some limitations for certain use cases. diff --git a/versioned_docs/version-2.0.0/concepts/what-are-keploy-features.md b/versioned_docs/version-2.0.0/concepts/what-are-keploy-features.md index 2f3eb1903..8112ea305 100644 --- a/versioned_docs/version-2.0.0/concepts/what-are-keploy-features.md +++ b/versioned_docs/version-2.0.0/concepts/what-are-keploy-features.md @@ -5,53 +5,75 @@ sidebar_label: Keploy Features description: Keploy platform automatically mocks application dependencies and safely replay writes. It does accurate noise detection and statistical de-duplication. tags: - explanation + - keploy features + - features + - record replay test + - mock mutations keywords: - test cases - data dumps + - keploy features + - features + - record replay test + - mock mutations --- -### 1. Convert API calls from anywhere to Test-Case +To kick things off, let's dive into the fundamentals: -Keploy captures all the API calls and subsequent network traffic served by the application. You can use any existing API management tools like [Postman](https://www.postman.com/), [Hoppscotch](https://hoppscotch.io/), [Curl](https://curl.se/) to generate test-case. +## πŸ“½οΈ Record-Replay Complex API Flows -API Tools +#### Turn API Calls into Test-Cases and Mocks + +With Keploy, you can effortlessly record and replay intricate, distributed API flows as mocks and stubs. It's like having a time machine for your tests! ⏳ -### 2. Automatically mock Mutations +Keploy will record all API calls and their subsequent network traffic served by the application. You can utilize your favorite API management tools like [Postman](https://www.postman.com/), [Hoppscotch](https://hoppscotch.io/), or even [Curl](https://curl.se/) to generate test cases. Keploy automatically [mocks](/concepts/general-glossary.md#1-api-data-mocking) network/external dependencies for **all CRUD operations** with correct responses. -Data dumps, stubs or mocks for dependencies like DBs, internal services, or third party services like twilio, shopify or stripe are **not required**. +API Tools + +Once recorded, you have the flexibility to replay and simulate the same flow with mutations/write calls locally or within your CI environment without needing to connect to external services/dependencies. + +No more data dumps, stubs, or mocks for dependencies like DBs, internal services, or third-party services like twilio, shopify, or stripe are required anymore. πŸ’‘ Mock Application Dependencies -Please check list of currently supported dependencies in [Go, Java and Node](https://keploy.io/#integrations). +[Idempotency](/concepts/general-glossary.md#2-idempotency) guarantees are also **not required** in the application. Multiple Reads after write operations can be replicated automatically too. πŸ”„ -Keploy can safely replay writes or mutations by capturing from local or other environments and replaying without API chaining. +API Tools -API Tools +## 🧩 Combined Test Coverage: -[Idempotency](/concepts/general-glossary.md#2-idempotency) guarantees are also **not required** in the application. Multiple Reads after write operations can be replicated automatically too. +#### Run Tests with Mocks Anywhere You Like -### 3. Accurate Noise Detection +Keploy has [native integrations](/concepts/general-glossary.md#4-interoperability) with your unit-testing libraries like `go-test`, `jUnit`, `jest`, `pyTest`. +Keploy gives combined test-coverage and can also be integrated in +existing CI pipelines easily within `go-test`, `jUnit`, `jest`, `pyTest` workflows. -Keploy identifies [noisy fields](/concepts/general-glossary.md#3-noisy-field) in the responses accurately like (timestamps, random values) to ensure high quality tests. +Keploy Integration with Testing Libraries -As the application serves the API, Keploy re-run that API request with the captured dependency mocks. +Run tests with mocks anywhere you likeβ€”**locally on the CLI**, in your **CI pipeline**, or even across a **Kubernetes cluster**. It's testing wherever you want it! 🌍 -[//]: # 'Keploy noise filtration' +## ♻️ Multi-Purpose Mocks + +#### Re-Use Mocks for Testing Servers + +Keploy generated dependency mocks can also be used as test case for the server. These tests can be used for use-cases like chaos testing, e2e testing, integration testing, api and regression testing. 🌟 -Keploy then compares if the responses of the API requests disagree with each other. -If any of the fields of the API responses are different they are marked as random/non-deterministic fields. +## 🌐 Code-less EBPF Instrumentation -### 4. Native interoperability +#### Network Layer Integration makes it Light-Weight -Keploy has [native integrations](/concepts/general-glossary.md#4-interoperability) with popular testing libraries like `go-test`, `jUnit`, `jest`. -Code coverage will be reported with existing and Keploy recorded test cases and can also be integrated in -existing CI pipelines easily. +Keploy uses EBPF like a secret sauce to make integration code-less, language agnostic, and oh-so-lightweight. 🍲 -Keploy Integration with Testing Libraries +## πŸ” Accurate Noise Detection -### 5. Easy Integration Framework for new Libraries +#### Eliminates random fields for Assertion + +Keploy identifies [noisy fields](/concepts/general-glossary.md#3-noisy-field) in the responses accurately like (timestamps, random values) to ensure high quality tests. + +As the application serves the API, Keploy re-run that API request with the captured dependency mocks. + +[//]: # 'Keploy noise filtration' -Keploy has Instrumentation/Integration framework to easily add the new libraries/drivers within ~100 lines of code. -Please check-out the [contribution guide](/docs/devtools/sdk-contrib-guide). +Keploy identifies differences in API responses, marking them as random/noisy fields. πŸ§βœ… diff --git a/versioned_docs/version-2.0.0/concepts/what-is-keploy.md b/versioned_docs/version-2.0.0/concepts/what-is-keploy.md index 2043986ae..ab458ba50 100644 --- a/versioned_docs/version-2.0.0/concepts/what-is-keploy.md +++ b/versioned_docs/version-2.0.0/concepts/what-is-keploy.md @@ -1,23 +1,25 @@ --- id: what-is-keploy title: What is Keploy? -sidebar_label: What is Keploy? -description: Keploy is e2e testing toolkit for developers that generates tests from API calls. +sidebar_label: Introduction to Keploy +description: Keploy is open source backend testing toolkit that creates tests and mocks faster than unit tests, from user-traffic. tags: - explanation + - introduction + - features + - what is keploy keywords: - Junit + - PyTest + - GoTest + - Jest + - Backend Testing + - Open Source + - API Tests + - AI Generated Tests --- -Keploy is functional testing toolkit for developers. -It **generates E2E tests for APIs (KTests)** along with **mocks or stubs(KMocks)** by -recording real API calls. +Keploy creates backend **API tests with built-in-mocks** or stubs **by recording your application network +calls** making your testing process not only faster than unit tests but also incredibly efficient. -KTests can be imported as mocks for consumers and vice-versa. - -![Test Case Generation](/gif/record-tc.gif) - -Merge KTests with unit testing libraries(like Go-Test, JUnit..) to **track combined test-coverage**. - -KMocks can also be referenced in existing tests or use anywhere (including any testing framework). -KMocks can also be used as tests for the server. +Test Case Generator diff --git a/versioned_docs/version-2.0.0/keploy-explained/introduction.md b/versioned_docs/version-2.0.0/keploy-explained/introduction.md index 93f9911b3..977202d43 100644 --- a/versioned_docs/version-2.0.0/keploy-explained/introduction.md +++ b/versioned_docs/version-2.0.0/keploy-explained/introduction.md @@ -1,6 +1,6 @@ --- id: introduction -title: Introduction to Keploy +title: "What is Keploy?" sidebar_label: Introduction --- @@ -8,8 +8,6 @@ import WhatIsKeploy from '../concepts/what-is-keploy.md' -## Keploy Features - import WhatAreKeployFeatures from '../concepts/what-are-keploy-features.md'