Test an example system

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).

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.

Jump into it

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
  • 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 reference
  • How to check test templates locally
  • How to port tests to Antithesis
  • 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
  • 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 Antithesis
  • 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 in Docker environment
  • Launching a test in Kubernetes environment
  • Launching a debugging session
  • Retrieving logs
  • 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
  • Instrumentation
  • Handling external dependencies
  • FAQ
  • Product FAQs
  • About Antithesis POCs
  • Release notes
  • Release notes