> For the complete documentation index, see [llms.txt](https://docs.ddosify.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ddosify.com/ddosify/performance-testing/test-suite/scenario-flow.md).

# Scenario Flow

<figure><img src="/files/C0EpCsJm14PQQl396WFi" alt=""><figcaption><p>Ddosify Scenario Builder</p></figcaption></figure>

### What is Scenario?

In essence, a scenario represents a series of steps designed to mimic the actions of an end-user. This end-user could be a real person using a browser to access your website or another software program that sends API requests to your endpoints.

For instance, imagine you own an e-commerce business and wish to evaluate the performance of the following user flow:

1. User visits the home page
2. User logs in
3. User adds a product to the shopping cart

To accomplish this, you must construct a scenario containing these 3 steps. It is essential to ensure that the steps are executed in the correct order, as the sequence is critical to accurately simulating the end-user's experience.

<figure><img src="/files/JjxpDfsggdOTsZuu6e77" alt=""><figcaption><p>Ddosify Load Testing Example Scenario</p></figcaption></figure>

### What is a Step?

Step represents the individual network request.&#x20;

* **Step Name** is not mandatory. But it is nice to have since you can easily distinguish your steps on the Test Report page if you provide it.
* **Target** is where you supply network protocol and URL.
* **Method** is the HTTP method.

{% hint style="warning" %}
**Caution:** Don't put query parameters in the target field. There is a section for query parameters in the [Step Details](#step-details) section.

For example, instead of **`http://example.com/search?q=term`** write **`http://example.com/search`** and put **`q=term`** parameter to the key-value form in [Step Details](#step-details) modal.
{% endhint %}

* Click the **New Step** button if you would like to add another step to the scenario.
* Click the 'More' (three-dot icon at the right) button to provide [Step Details](#step-details).

<figure><img src="/files/I5lm8hx9i15g6uafW0Xj" alt=""><figcaption></figcaption></figure>

#### Step Details

You can provide query parameters, request headers, payload, authentication, and network details of the request here. You can also [Capture Variables](/ddosify/performance-testing/correlation.md) and create [Assertion](/ddosify/performance-testing/assertion.md) logic in Step Detail.

<figure><img src="/files/UaB9VArSEBRAjZxHLr5O" alt=""><figcaption></figcaption></figure>

#### Other Important Concepts on Scenario Builder

* [Parametrization](/ddosify/performance-testing/parametrization.md)
* [Test Data](/ddosify/performance-testing/test-data-import.md)
* [Environments](/ddosify/performance-testing/environment-variables.md)
* [Correlation](/ddosify/performance-testing/correlation.md)
* [Assertion](/ddosify/performance-testing/assertion.md)
* [Debugging](/ddosify/performance-testing/debugging.md)
* [Postman Import](/ddosify/performance-testing/postman-import.md)

&#x20;
