# Introduction

## Why use Stoobly?

⚡ **Easily create realistic API mocks** by recording HTTP(S) requests.

💡 Maintaining mocks gets expensive. **Streamline maintenance** with stale mock detection and automated regeneration.

🔨 **Minimize regressions** of customer workflows with fast and reliable E2E tests.

🚀 Supercharge CI setup with ready-to-go tooling. **Reduce CI setup time** from two weeks to one day.

## **Why do E2E Testing?**

Stoobly enables E2E testing. But before we talk about how, let us first answer what benefits E2E testing provides when compared to other forms of testing:

✅ Validates Real-World Scenarios

✅ Detects Integration Issues

✅ Provides High Code-Coverage

While full of benefits, E2E testing has several drawbacks:

* Dependence on live services make them flaky and slow
* Requires significant tooling support (test runner, mock framework, and CI setup)

## Stoobly Enables E2E Testing

{% hint style="info" %}
The goal of E2E testing is to ensure that real-world scenarios behave as expected. In order to achieve this goal, E2E tests have to be fast, reliable, and running as part of CI.
{% endhint %}

### API Mock Framework

> **Leverage a complete solution for API mocking.**

By serving as an API mock framework, Stoobly makes testing fast and reliable. Stoobly provides the following solutions to problems universal to mocking:

<table><thead><tr><th width="301">Problem</th><th>Solution</th></tr></thead><tbody><tr><td>Creating</td><td>Manual and recording</td></tr><tr><td>Stale Detection</td><td>Contract testing</td></tr><tr><td>Updating</td><td>Manual and automated mock regeneration</td></tr><tr><td>Grouping</td><td>Scenarios</td></tr><tr><td>Response Matching</td><td>Pattern and contract based configurations</td></tr><tr><td>Sharing</td><td>Git commitable mock storage format</td></tr></tbody></table>

### Out-of-the-Box CI Setup

> **Drastically reduce CI setup time. Minimize maintenance.**

Stoobly also empowers users to scaffold tooling to overcome the barrier between running E2E tests locally and running them in CI. Stoobly provides the following solutions to problems universal to CI setup:

<table><thead><tr><th width="300">Problem</th><th>Solution</th></tr></thead><tbody><tr><td>Separate mocks that belong to different services</td><td>Service definitions</td></tr><tr><td>Separate development, testing and CI configurations</td><td>Workflow definitions</td></tr><tr><td>Creating configurations</td><td>Generated Docker compose files</td></tr><tr><td>Updating configurations</td><td>Minimal parameters and centralized resource definitions</td></tr></tbody></table>

## Ready to get Started?

{% content-ref url="getting-started/install-and-run" %}
[install-and-run](https://docs.stoobly.com/getting-started/install-and-run)
{% endcontent-ref %}

## Looking to Learn More?
