# Defining Tests in Distributional

Tests are the core mechanism for asserting acceptable app behavior within Distributional.  In this section, we introduce the necessary tools and explain how they can be used -- either with guidance from Distributional or by users based on unique needs.

At its core, a **Test** is a combination of a **Statistic**, derived from a run, which defines some behavior of the run, and an **Assertion** which enumerates the acceptable values of that statistic (and, thus, the acceptable behavior of a run). The run under consideration in a test is referred to as the **Experiment** run; often, there will also be a **Baseline** run used for comparison.

**Test Tags** can be created and applied to tests to group them together for, among other purposes, signaling the shared purpose of several tests (e.g., tests for text sentiment).

When a group of tests is executed on a chosen Experiment and Baseline Run, the output is a **Test Session** containing which assertions Pass and Fail.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dbnl.com/v0.24.x/to-be-deleted/stages-in-the-ai-software-development-lifecycle/defining-tests-in-distributional.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
