What is Antithesis? How we’re different Problems we solve Security approach Demo Fintech Customer stories Working with Antithesis Contact us Backstory Leadership Careers Brand

Testing with Antithesis

Welcome! In this tutorial, we’ll walk you through testing an example system using the Antithesis platform.

The emphasis here is teaching you how to test with Antithesis so we’ve chosen a lightweight system – a 3-node etcd cluster – that’s easy to set up and deploy. By the end, you’ll understand how to use Antithesis to test your systems and start hunting bugs with confidence. The whole tutorial sequence should take you no more than 3 hours, and you can do it in chunks.

If you want step-by-step instructions for getting your system set up in Antithesis, head to the Setup guide instead.

What you’ll learn

You’ll test a simple database cluster in the Antithesis environment and explore how our platform uncovers real-world bugs using autonomous testing.

By the end of this guide, you’ll know how to:

  • Package and deploy a system to Antithesis (under an hour).
  • Use Test Composer to exercise the system (1-2 hours).

Here’s the source code for this tutorial. Check it out or clone it to follow along.

Before you begin

Contact us to request a container registry and credentials.

Build and run an etcd cluster

We’ll begin by creating a basic 3-node etcd cluster and deploying it to Antithesis.

You’ll learn to:

  • Package a system and deploy it to Antithesis.
  • Kick off a test run (just as a liveness check).
  • Receive and read your first triage report.

Don’t worry if you’ve never packaged containers before — we’ll guide you through each step.

Meet Test Composer

The Antithesis Test Composer offers a framework for defining test templates, which are guides Antithesis uses to autonomously generate thousands of test cases that will run over a multitude of system states.

You’ll learn to:

  • Create a test template.
  • Run an actual Antithesis test and interpret the results.

You’ll see how Antithesis simulates faults in your system – machine crashes, network partitions, and more – to surface real bugs that are otherwise nearly impossible to find.

Need help?

You’ve got this! But if you run into trouble, we’ve got your back.

You can always email us at support@antithesis.com or join our Discord for live support and guidance from our Solutions Engineering team.

  • Introduction
  • How Antithesis Works
  • Tutorial
  • Testing with Antithesis
  • Build and run an etcd cluster
  • Meet the Test Composer
  • User manual
  • Setup guide
  • Properties and Assertions
  • Properties in Antithesis
  • Assertions in Antithesis
  • Properties to Test For
  • Sometimes Assertions
  • Test Composer
  • Test Composer Basics
  • Test Composer Reference
  • Principles of Test Composition
  • Checking Test Templates Locally
  • Webhooks
  • Launching a test
  • Retrieving logs
  • Launching a debugging session
  • Webhook API
  • Reports
  • Triage report
  • Bug report
  • Multiverse debugging
  • Overview
  • Exploring the multiverse
  • Querying with event sets
  • The Environment and its utilities
  • Using the Antithesis Notebook
  • Cookbook
  • The Environment and Multiverse
  • The Antithesis Environment
  • Fault Injection
  • CPUID
  • 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
  • Languages not listed above
  • Assert (reference)
  • Lifecycle (reference)
  • Tooling integrations
  • CI integration
  • Discord and Slack integrations
  • Configuring Antithesis
  • Instrumentation
  • User management
  • Sizing your deployment
  • Best practices
  • Is Antithesis working?
  • Optimizing for Antithesis
  • Finding more bugs
  • FAQ
  • About Antithesis POCs
  • Release notes
  • Release notes