# Antithesis Documentation > 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. It integrates property-based testing, fuzzing, and deterministic simulation into a single testing tool. ## Getting started > Tutorials and setup guides for new Antithesis users. - [Test an example system](https://antithesis.com/docs/tutorials/index.md) - [With Docker Compose](https://antithesis.com/docs/tutorials/etcd_docker.md) - [Build and run an etcd cluster](https://antithesis.com/docs/tutorials/cluster-setup.md) - [Meet the Test Composer](https://antithesis.com/docs/tutorials/cluster-test.md) - [Kubernetes](https://antithesis.com/docs/tutorials/etcd_kubernetes.md) - [Build and run an etcd cluster](https://antithesis.com/docs/tutorials/k8s-cluster-setup.md) - [Meet the Test Composer](https://antithesis.com/docs/tutorials/k8s-cluster-test.md) - [Setup guide](https://antithesis.com/docs/getting_started/index.md): Setup guide section for how to package and configure your software with Docker Compose or Kubernetes - [Docker Compose setup guide](https://antithesis.com/docs/getting_started/setup.md): Set up your software for testing in our Docker environment. Package your system, push images, and run your first test. - [Kubernetes setup guide](https://antithesis.com/docs/getting_started/setup_k8s.md): Set up your software for testing in our Kubernetes environment. Package manifests, push images, and run your first test. ## Core concepts > How Antithesis works, properties, assertions, and the testing environment. - [How Antithesis works](https://antithesis.com/docs/introduction/how_antithesis_works.md): Autonomous testing that generates test cases, explores system states, and reproduces bugs deterministically. - [The Antithesis environment](https://antithesis.com/docs/environment/the_antithesis_environment.md): Details of the machine environment and container environment your software runs in. - [The Antithesis testing environment](https://antithesis.com/docs/environment/index.md): The Antithesis testing environment | Antithesis Docs - [Properties and Assertions](https://antithesis.com/docs/properties_assertions/index.md): Properties and assertions overview. Express how your system should behave with assertions instead of example-based tests. - [Properties in Antithesis](https://antithesis.com/docs/properties_assertions/properties.md): Always and sometimes properties, default and custom properties, and how Antithesis analyses properties. - [Assertions in Antithesis](https://antithesis.com/docs/properties_assertions/assertions.md): Overview of assertions: expressing properties, the message parameter and language-specific implementations. - [Properties to test for](https://antithesis.com/docs/properties_assertions/reliability_properties.md): Guide to functional and concurrency properties for testing distributed systems, including ACID, CAP, and fault models. - [Fault injection](https://antithesis.com/docs/environment/fault_injection.md): Types of faults that the fault injector produces, including network faults, node failures, and thread pausing ## Test harness > Test Composer templates and test launchers - [Test Composer](https://antithesis.com/docs/test_templates/index.md) - [Test Composer basics](https://antithesis.com/docs/test_templates/first_test.md) - [Test Composer commands](https://antithesis.com/docs/test_templates/test_composer_reference.md) - [How to check test templates locally](https://antithesis.com/docs/test_templates/testing_locally.md) - [How to port tests to Antithesis](https://antithesis.com/docs/test_templates/composer_example.md) - [Principles of test composition](https://antithesis.com/docs/test_templates/test_best_practices.md) - [Test launchers](https://antithesis.com/docs/test_launchers/index.md): Configure and launch Antithesis tests from the web app. ## Configuration > System configuration. - [Access and authentication](https://antithesis.com/docs/configuration/auth.md): Configure SSO with GitHub or OIDC, manage machine credentials, and control report access for Antithesis users. - [Configuring Antithesis](https://antithesis.com/docs/configuration/index.md) ## Reports and debugging > Understanding test reports, findings, and multiverse debugging. - [Reports](https://antithesis.com/docs/reports/index.md) - [Findings](https://antithesis.com/docs/reports/findings.md) - [Environment](https://antithesis.com/docs/reports/environment.md) - [Utilization](https://antithesis.com/docs/reports/utilization.md) - [Properties](https://antithesis.com/docs/reports/properties.md) - [Context, Instance, & Logs](https://antithesis.com/docs/reports/context_instance.md) - [Bug likelihood over time](https://antithesis.com/docs/reports/likelihood.md) - [Statistical debug information](https://antithesis.com/docs/reports/statistical.md) - [Logs Explorer & multiverse map](https://antithesis.com/docs/logs_explorer/index.md): Search and visualize logs across multiple execution paths in Antithesis test runs with the Logs Explorer tool. - [Multiverse debugging](https://antithesis.com/docs/multiverse_debugging/index.md) - [Overview](https://antithesis.com/docs/multiverse_debugging/overview.md) - [The Antithesis multiverse](https://antithesis.com/docs/multiverse_debugging/moment_branch.md) - [Querying with event sets](https://antithesis.com/docs/multiverse_debugging/event_sets.md) - [Environment utilities](https://antithesis.com/docs/multiverse_debugging/bash_env.md) - [Using the Antithesis Notebook](https://antithesis.com/docs/multiverse_debugging/antithesis_notebook.md) - [Cookbook notebook](https://antithesis.com/docs/multiverse_debugging/cookbook.md) ## Best practices > Docker and Kubernetes best practices, optimization, and sizing guidance. - [Optimizing for testing](https://antithesis.com/docs/best_practices/optimizing.md): Find bugs faster by configuring systems differently for testing to exercise rare code paths more frequently. - [Docker best practices](https://antithesis.com/docs/best_practices/docker_best_practices.md): Docker Compose configuration best practices for Antithesis, with an example docker-compose file - [Kubernetes best practices](https://antithesis.com/docs/best_practices/k8s_best_practices.md) - [Sizing your Antithesis deployment](https://antithesis.com/docs/best_practices/sizing.md): Considerations for how to choose the number of parallel CPU cores you allocate for testing - [Is Antithesis working?](https://antithesis.com/docs/best_practices/is_antithesis_working.md): Verify your Antithesis setup works using deliberate bugs and sometimes assertions as test signals. - [Best practices](https://antithesis.com/docs/best_practices/index.md): Best practices for working with Antithesis. - [Sometimes Assertions](https://antithesis.com/docs/best_practices/sometimes_assertions.md): Use sometimes assertions to verify code reachability and assess test coverage. ## API > Webhook endpoints for launching tests and debugging sessions. - [Webhooks](https://antithesis.com/docs/webhook/index.md) - [Launching a test](https://antithesis.com/docs/webhook/test_webhook.md) - [Launching a debugging session](https://antithesis.com/docs/webhook/notebook_webhook.md) - [Webhook parameters](https://antithesis.com/docs/webhook/webhook_reference.md) ## SDK and instrumentation > Language-specific SDKs and code coverage instrumentation. - [Overview](https://antithesis.com/docs/using_antithesis/sdk/index.md) - [Define test properties](https://antithesis.com/docs/using_antithesis/sdk/define_test_properties.md): Use SDK assertions to define test properties for your Antithesis tests. - [Generate randomness](https://antithesis.com/docs/using_antithesis/sdk/generate_randomness.md): Use SDK random functions to generate structured randomness for your Antithesis tests. - [Manage test lifecycle](https://antithesis.com/docs/using_antithesis/sdk/manage_test_lifecycle.md): Use SDK lifecycle functions to signal test setup and teardown phases. - [Assertion catalog](https://antithesis.com/docs/instrumentation/assertion_cataloging.md): How Antithesis uses assertion cataloging to track all assertions in your SUT. - [Coverage instrumentation](https://antithesis.com/docs/instrumentation/coverage_instrumentation.md): How Antithesis uses coverage instrumentation to track code coverage of your software. - [Go SDK](https://antithesis.com/docs/using_antithesis/sdk/go/index.md): Go SDK for Antithesis - [Go instrumentor tool](https://antithesis.com/docs/using_antithesis/sdk/go/instrumentor.md) - [Go SDK tutorial, times10 function](https://antithesis.com/docs/using_antithesis/sdk/go/example.md) - [Java SDK](https://antithesis.com/docs/using_antithesis/sdk/java/index.md): Java SDK for Antithesis - [Using the SDK](https://antithesis.com/docs/using_antithesis/sdk/java/how_to_use_sdk.md): Learn how to use the Antithesis Java SDK in your code. - [Building your software when using the SDK](https://antithesis.com/docs/using_antithesis/sdk/java/how_to_build_with_sdk.md): Learn how to build and instrument Java applications with the Antithesis SDK. - [Java SDK tutorial, times10 method](https://antithesis.com/docs/using_antithesis/sdk/java/example.md) - [C SDK](https://antithesis.com/docs/using_antithesis/sdk/c_sdk.md) - [C++ SDK](https://antithesis.com/docs/using_antithesis/sdk/cpp/index.md) - [C/C++ Instrumentation](https://antithesis.com/docs/using_antithesis/sdk/cpp/instrumentation.md) - [C++ SDK tutorial, times10 function](https://antithesis.com/docs/using_antithesis/sdk/cpp/example.md) - [Assert macros (C++ SDK)](https://antithesis.com/docs/using_antithesis/sdk/cpp/assert.md) - [Lifecycle functions (C++ SDK)](https://antithesis.com/docs/using_antithesis/sdk/cpp/lifecycle.md) - [Random functions (C++ SDK)](https://antithesis.com/docs/using_antithesis/sdk/cpp/random.md) - [JavaScript SDK](https://antithesis.com/docs/using_antithesis/sdk/javascript_sdk.md) - [Python SDK](https://antithesis.com/docs/using_antithesis/sdk/python/index.md) - [Python SDK tutorial, times10 function](https://antithesis.com/docs/using_antithesis/sdk/python/example.md) - [Rust SDK](https://antithesis.com/docs/using_antithesis/sdk/rust/index.md) - [Rust instrumentation](https://antithesis.com/docs/using_antithesis/sdk/rust/instrumentation.md) - [Rust SDK tutorial, times10 function](https://antithesis.com/docs/using_antithesis/sdk/rust/example.md) - [.NET SDK](https://antithesis.com/docs/using_antithesis/sdk/dotnet/index.md) - [.NET instrumentation](https://antithesis.com/docs/using_antithesis/sdk/dotnet/instrumentation.md) - [.NET SDK tutorial, Times10 method](https://antithesis.com/docs/using_antithesis/sdk/dotnet/example.md) - [Fallback SDK](https://antithesis.com/docs/using_antithesis/sdk/fallback/index.md) - [Assertion functionality (Fallback SDK)](https://antithesis.com/docs/using_antithesis/sdk/fallback/assert.md) - [Lifecycle functionality (Fallback SDK)](https://antithesis.com/docs/using_antithesis/sdk/fallback/lifecycle.md) - [Antithesis Assertion Schema](https://antithesis.com/docs/using_antithesis/sdk/fallback/schema.md) ## Resources > In-depth guides on testing methodologies, property catalogs, and reliability. - [A distributed systems reliability glossary](https://antithesis.com/resources/reliability_glossary.md): A list of key concepts for building and testing reliable distributed systems, with basic definitions and deep references. - [How much does an outage cost?](https://antithesis.com/resources/cost_of_outages.md): A framework and examples for calculating the business impact of a software outage. - [Deterministic simulation testing - how it works and when to use it](https://antithesis.com/resources/deterministic_simulation_testing.md): Learn what deterministic simulation testing is, how to implement it, and which systems benefit most. Uncover bugs faster with reproducible, simulation-based tests. - [Property-based testing - how it works and when to use it](https://antithesis.com/resources/property_based_testing.md): Learn what property-based testing is, and how it relates to fuzzing and generative testing. See how to implement it, and which systems benefit most. Uncover unknown-unknowns faster with property-based tests. - [Autonomous testing - how it works and when to use it](https://antithesis.com/resources/autonomous_testing.md): Learn what autonomous testing is, and how it relates to property-based testing and automated testing. See which problems it solves, and which systems benefit most. - [Catalog of reliability properties for key-value datastores](https://antithesis.com/resources/kv_property_catalog.md): Learn how to test blockchain systems by defining core safety and liveness properties. Use our catalog to select applicable properties and generate effective property-based workloads. - [Writing better software tests](https://antithesis.com/resources/testing_techniques.md): Learn practical ways to improve your software tests — from using randomness to swarm testing, concurrency, and better validations — to catch more bugs and build resilient software. - [Catalog of reliability properties for blockchains](https://antithesis.com/resources/blockchain_property_catalog.md): Learn how to test blockchain systems by defining core safety and liveness properties. Use our catalog to select applicable properties and generate effective property-based workloads. - [Test ACID compliance with a ring test](https://antithesis.com/resources/ring_test.md): Learn how to test ACID compliant graph databases. Use our ring test workload to test your graph database. ## Integrations > CI, Discord, Slack, and issue tracker integrations. - [Tooling integrations](https://antithesis.com/docs/using_antithesis/tooling_integrations.md) - [CI integration](https://antithesis.com/docs/using_antithesis/ci.md) - [Discord and Slack integrations](https://antithesis.com/docs/using_antithesis/discord_slack.md) - [Issue tracker integration - BETA](https://antithesis.com/docs/using_antithesis/issue_tracker_integration.md) - [Antithesis CPUID info](https://antithesis.com/docs/using_antithesis/cpuid.md) ## FAQ > Frequently asked questions about the Antithesis platform. - [Product FAQs](https://antithesis.com/docs/faq/customer_faq.md): Common questions about validating setups, test frequency, mocks, logging, and using Antithesis testing features. - [About Antithesis POCs](https://antithesis.com/docs/faq/poc_faq.md): Common questions about Antithesis proof-of-concepts, including POC structure and what kind of bug to look for. ## Reference > Reference documentation for external dependencies and advanced topics. - [Handling external dependencies](https://antithesis.com/docs/reference/dependencies.md) ## Release notes > Platform release notes and changelog. - [Release notes](https://antithesis.com/docs/release_notes.md) ## Other - [Using Antithesis documentation with AI](https://antithesis.com/docs/docs_for_ai/index.md): Leverage AI to get answers to your burning Antithesis related questions. Build fast and test faster using Antithesis.