Antithesis docs

What is Antithesis

Antithesis is a testing platform that works like an additional staging environment. You ensure your software is reliable by deploying it to Antithesis and running it there before you deploy it to production. It supplements or replaces your existing testing tools and lives alongside your normal CI workflow.

When you deploy to Antithesis, we run multiple copies of your software in a simulation environment that’s much more hostile than prod. This quickly exposes the bugs in your software – even the most complicated, unlikely, and lethal ones. Essentially, it tests your software without you writing tests.

Unlike the shared staging environment you already use, you never have to babysit your system, compete for deployment locks, or worry about what’s changed under you since you last deployed.

And because Antithesis’ simulation is perfectly deterministic, you get perfect, effortless repro of any problems you find.

How to use Antithesis

  1. Deploy a containerized production binary (or binaries) to Antithesis just as you would to any other deployment target.
  2. Deploy a containerized client – what we call a test template – to Antithesis.
  3. Antithesis uses the client to run your software under extremely hostile production conditions, exposing any bugs or unexpected behaviors.
  4. Explore what happened during the run by searching across thousands of execution histories, or specify problematic behaviors for which you want alerts.
  5. If you need to debug, Antithesis provides detailed artifacts and powerful, one-of-a-kind debugging tools, like a deterministic time-traveling debugger.

What next?

We recommend you read this quick introduction to how Antithesis works under the hood, because the mental model really helps.

Once you’re ready, contact us at support@antithesis.com or ask on our Discord to request a container registry and credentials.

Or, if you’re just exploring and want to see how this is going to fit your workflow, here’s a 5 minute video.

  • Introduction
  • How Antithesis works
  • Using Antithesis documentation with AI
  • Get started
  • Test an example system
  • With Docker Compose
  • Build and run an etcd cluster
  • Meet the Test Composer
  • With Kubernetes
  • Build and run an etcd cluster
  • Meet the Test Composer
  • Setup guide
  • For Docker Compose users
  • For Kubernetes users
  • Product
  • Test Composer
  • Test Composer basics
  • Test Composer commands
  • How to check test templates locally
  • How to port tests to Antithesis
  • Test launchers
  • Reports
  • The triage reports
  • Findings
  • Environment
  • Utilization
  • Properties
  • The bug reports
  • Context, Instance, & Logs
  • Bug likelihood over time
  • Logs Explorer & multiverse map
  • Multiverse debugging
  • Overview
  • The Antithesis multiverse
  • Querying with event sets
  • Environment utilities
  • Using the Antithesis Notebook
  • Cookbook
  • Tooling integrations
  • CI integration
  • Discord and Slack integrations
  • Issue tracker integration - BETA
  • Configuration
  • Access and authentication
  • The Antithesis environment
  • Optimizing for testing
  • Docker best practices
  • Kubernetes best practices
  • Concepts
  • Properties and Assertions
  • Properties in Antithesis
  • Assertions in Antithesis
  • Sometimes Assertions
  • Properties to test for
  • Fault injection
  • Reference
  • Webhooks
  • Launching a test
  • Launching a debugging session
  • Webhook parameters
  • SDK reference
  • Define test properties
  • Generate randomness
  • Manage test lifecycle
  • Assertion catalog
  • Coverage instrumentation
  • Go
  • Instrumentor
  • Tutorial
  • Assert (reference)
  • Lifecycle (reference)
  • Random (reference)
  • Java
  • Using the SDK
  • Building your software
  • Tutorial
  • Assert (reference)
  • Lifecycle (reference)
  • Random (reference)
  • C
  • C++
  • C/C++ Instrumentation
  • Tutorial
  • Assert (reference)
  • Lifecycle (reference)
  • Random (reference)
  • JavaScript
  • Python
  • Tutorial
  • Assert (reference)
  • Lifecycle (reference)
  • Random (reference)
  • Rust
  • Instrumentation
  • Tutorial
  • Assert (reference)
  • Lifecycle (reference)
  • Random (reference)
  • .NET
  • Instrumentation
  • Tutorial
  • Assert (reference)
  • Lifecycle (reference)
  • Random (reference)
  • Languages not listed above
  • Assert (reference)
  • Lifecycle (reference)
  • Assertion Schema
  • Handling external dependencies
  • FAQ
  • Product FAQs
  • About Antithesis POCs
  • Release notes
  • Release notes
  • General reliability resources
  • Reliability glossary
  • Techniques for better software testing
  • Autonomous testing
  • Deterministic simulation testing
  • Property-based testing
  • White paper — How much does an outage cost?
  • Catalog of reliability properties for key-value datastores
  • Catalog of reliability properties for blockchains
  • Test ACID compliance with a ring test