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

# Overview

> Learn about Autoblocks Testing and how it helps you test your LLM applications.

## Key Features

Autoblocks Testing provides a powerful framework for testing your LLM applications. It enables you to declaratively define tests and execute them either locally or in a CI/CD pipeline.

### Declarative Test Definition

Define your tests using a simple, declarative API that works with both TypeScript and Python. Your tests can exist as standalone scripts or be integrated into your existing test framework.

### Flexible Test Cases

Create test cases that match your application's needs. Test cases can contain any properties necessary to run your tests and make assertions on the output.

### Powerful Evaluators

Build custom evaluators to assess your test outputs. Evaluators can:

* Score outputs on a scale from 0 to 1
* Define pass/fail thresholds
* Include metadata for better debugging
* Support both synchronous and asynchronous evaluation
* Handle concurrent execution with configurable limits

### Local and CI/CD Support

Run your tests:

* Locally during development
* In your CI/CD pipeline for automated testing
* With progress tracking and real-time results

### Rich Results Visualization

View detailed test results in the Autoblocks platform, including:

* Test suite progress
* Individual test case results
* Evaluation scores and metadata
* Failure analysis

## Getting Started

Choose your preferred language to begin:

<CodeGroup>
  <CodeGroupItem title="TypeScript">
    ```typescript
    import { runTestSuite } from '@autoblocks/client/testing';

    runTestSuite({
      id: 'my-test-suite',
      testCases: genTestCases(),
      evaluators: [new HasAllSubstrings(), new IsFriendly()],
      fn: testFn,
    });
    ```
  </CodeGroupItem>

  <CodeGroupItem title="Python">
    ```python
    from autoblocks.testing.run import run_test_suite

    run_test_suite(
      id="my-test-suite",
      test_cases=gen_test_cases(),
      evaluators=[HasAllSubstrings(), IsFriendly()],
      fn=test_fn,
    )
    ```
  </CodeGroupItem>
</CodeGroup>

## Core Concepts

### Test Cases

Test cases define the inputs and expected outputs for your tests. They can be simple or complex, depending on your needs.

### Evaluators

Evaluators assess the output of your tests and determine if they pass or fail. They can:

* Score outputs numerically
* Define pass/fail thresholds
* Include metadata for debugging
* Support both sync and async evaluation

### Test Suites

Test suites bring together your test cases and evaluators to run comprehensive tests on your application.

## Next Steps

* [TypeScript Quick Start](/v2/guides/testing/typescript/quick-start)
* [Python Quick Start](/v2/guides/testing/python/quick-start)
* [CI/CD Integration](/v2/guides/testing/ci)
