What is Antithesis? How we're different Problems we solve Security approach Demo Fintech Blockchain Databases Cloud infrastructure Customer stories Working with Antithesis Contact us Backstory Leadership Careers Brand Distributed systems reliability glossary Cost of outages white paper Deterministic simulation testing Property-based testing Best practices for autonomous testing

Documentation

Welcome to Antithesis

Antithesis is an autonomous testing platform that finds the bugs in your software, with perfect reproducibility to help you fix them. It supplements or replaces your existing testing tools and lives alongside your normal CI workflow.

Our platform integrates property-based testing, fuzzing, and deterministic simulation into a single testing tool.

Combining these approaches offers three key benefits:

  1. You can test better by spending more compute time, not more developer time.
  2. It finds bugs that you don’t know you have to look for.
  3. It finds really hard bugs.

Using Antithesis

  1. The first thing you’ll do is upload your software to a private container registry.
  2. You’ll also upload a test template to exercise it.
  3. From here, everything will run in our deterministic testing environment. Kick off a test with a simple webhook, and a few hours later…
  4. You’ll get an email with the results for your team to triage.
  5. If there are any bugs, we have a time machine that will help you fix them.

A word of encouragement

Antithesis is fundamentally self-service, but right now it’s also a little opaque.

Setup is done via CLI. You communicate with the platform using webhooks, and receive debugging artifacts in return. The one actual UI in the system is our fully reactive debugging tool, the Antithesis Notebook.

We’ll be adding better interfaces soon, but even now, you’re not alone!

If you run into trouble, or have a particularly complex system to bring under test, or simply want to make sure your testing is as thorough as possible, our Solutions Engineering team would be happy to help – the best way to reach us is to join our Discord.

We’re confident that however you integrate Antithesis into your DevOps cycle, it will empower your team to move faster and build fearlessly, knowing that you’ll find and fix issues before they actually become problems.

What next?

To learn more about how Antithesis works, start here, or just follow the table of contents.

If you’re ready to get started, contact us to request a container registry and credentials. Once you have those, you can go through our tutorials or dive right in with our Docker Setup Guide or Kubernetes Setup Guide

  • Introduction
  • How Antithesis works
  • Tutorial
  • Testing with Antithesis
  • Docker Compose
  • Build and run an etcd cluster
  • Meet the Test Composer
  • Kubernetes
  • Build and run an etcd cluster
  • Meet the Test Composer
  • User manual
  • Setup guide
  • Using Docker Compose
  • Using Kubernetes
  • Properties and Assertions
  • Properties in Antithesis
  • Assertions in Antithesis
  • Sometimes Assertions
  • Properties to test for
  • Test Composer
  • Test Composer basics
  • Test Composer reference
  • Checking test templates locally
  • Getting started with Test Composer
  • Webhooks
  • Launching a test in Docker environment
  • Launching a test in Kubernetes environment
  • Launching a debugging session
  • Retrieving logs
  • Reports
  • The triage report
  • Findings
  • Environment
  • Utilization
  • Properties
  • The bug report
  • Context, Instance, & Logs
  • Bug likelihood over time
  • Statistical debug information
  • Search dashboard & multiverse map
  • Multiverse debugging
  • Overview
  • The Antithesis multiverse
  • Querying with event sets
  • The Environment and its utilities
  • Using the Antithesis Notebook
  • Cookbook
  • Antithesis' testing environment
  • The Antithesis Environment
  • Fault Injection
  • Reference
  • Handling external dependencies
  • SDK reference
  • Go
  • Tutorial
  • Instrumentor
  • Assert (reference)
  • Lifecycle (reference)
  • Random (reference)
  • Java
  • Tutorial
  • Instrumentation
  • Assert (reference)
  • Lifecycle (reference)
  • Random (reference)
  • C
  • C++
  • Tutorial
  • C/C++ Instrumentation
  • Assert (reference)
  • Lifecycle (reference)
  • Random (reference)
  • JavaScript
  • Python
  • Tutorial
  • Assert (reference)
  • Lifecycle (reference)
  • Random (reference)
  • Rust
  • Tutorial
  • Instrumentation
  • Assert (reference)
  • Lifecycle (reference)
  • Random (reference)
  • .NET
  • Tutorial
  • Instrumentation
  • Assert (reference)
  • Lifecycle (reference)
  • Random (reference)
  • Languages not listed above
  • Assert (reference)
  • Lifecycle (reference)
  • Assertion Schema
  • Tooling integrations
  • CI integration
  • Discord and Slack integrations
  • Issue tracker integration - BETA
  • Configuring Antithesis
  • Instrumentation
  • User management
  • Best practices
  • Kubernetes best practices
  • Docker best practices
  • Optimizing for Antithesis
  • Finding more bugs
  • FAQ
  • About Antithesis POCs
  • Product FAQs
  • Release notes
  • Release notes