> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qa.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Tests and Results

> Scenarios are groups of test cases that belong together

## Scenarios

Scenarios are groups of test cases that belong together. They are best organized around user flows, such as:

* Login
* Product Search
* Add to shopping cart
* Checkout
* Notification Settings

Each scenario should optimally include both positive and negative test cases. For example, a "Checkout Process" scenario might include:

* Successful purchase with valid payment details
* Order completion with fedex shipping
* Payment attempt with expired credit card (negative case)
* Checkout with empty cart (negative case)

This structure helps ensure comprehensive testing of each user flow, including both expected successes and potential failure points.

### Negative Testing

Negative testing is a QA practice that validates how a system handles invalid inputs, unexpected user behavior, and error conditions. Think of it as "testing what shouldn't work" to ensure the application fails gracefully and securely.

* Validating error messages
* Ensuring system stability under incorrect usage
* Preventing security vulnerabilities
* Maintaining data integrity

## Tests and Test Runs

Every time a test run is triggered, we run the selected scenarios. The result is a test run with one or more test cases in it.

## Filtering and Searching Results

When viewing test run results, you can quickly find specific tests using filters and search:

* **Filter by result** - Show only PASSED, FAILED, or SKIPPED tests
* **Filter by status** - Filter tests by execution state (INITIATED, RUNNING, COMPLETED, ERROR, CANCELLED)
* **Search by name** - Find specific tests using the search box
* **Filter by owner** - Show only tests you own with the "Owned by me" filter. See [Ownership](/core-concepts/ownership)

<Note>
  **Result vs. Status**: A test's *result* is the outcome after completion (PASSED/FAILED/SKIPPED), while *status* tracks the execution state. For example, a test can have STATUS=COMPLETED with RESULT=FAILED.
</Note>

All filters persist in the URL, making it easy to share specific views with your team.
