> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/resilience-testing/3.0/new-to-resilience-testing/overview.md).

# Overview

Resilience Testing is the practice of proactively validating that your systems can withstand and recover from failures, performance degradation, and disasters. By testing how your applications and infrastructure behave under stress, failure, and catastrophic scenarios, you can identify weaknesses before they impact your users and business.

Harness Resilience Testing provides a comprehensive platform to build confidence in your system's reliability through three integrated testing approaches: Chaos Testing, Load Testing, and Disaster Recovery Testing.

{% embed url="<https://youtu.be/ghXqnIbqs2Y>" %}

### Why Resilience Testing matters <a href="#why-resilience-testing-matters" id="why-resilience-testing-matters"></a>

Modern distributed systems are complex. A single application might depend on dozens of microservices, multiple cloud providers, third-party APIs, and various infrastructure components. Any of these can fail, and often do.

Without resilience testing, you discover weaknesses in production when the stakes are highest. Resilience testing shifts this discovery left and helps you:

* **Reduce downtime costs:** Identify and fix issues before they cause outages
* **Meet SLA commitments:** Validate that your systems can handle real-world conditions
* **Build customer trust:** Deliver reliable experiences even when failures occur
* **Improve incident response:** Practice recovery procedures before production incidents
* **Accelerate development:** Deploy confidently with systems tested for resilience

### The three pillars of Resilience Testing <a href="#the-three-pillars-of-resilience-testing" id="the-three-pillars-of-resilience-testing"></a>

Harness Resilience Testing brings together three complementary testing approaches, each addressing a different dimension of system reliability:

#### Chaos Testing <a href="#chaos-testing" id="chaos-testing"></a>

Tests your system's resilience against **unexpected failures**. Chaos Testing introduces controlled faults - like pod failures, network latency, or resource exhaustion - to validate that your system can detect, withstand, and recover from infrastructure and application failures.

**When to use**: Validate fault tolerance, test auto-healing mechanisms, verify monitoring and alerting, practice incident response.

#### Load Testing <a href="#load-testing" id="load-testing"></a>

Tests your system's resilience under **expected and peak demand**. Load Testing simulates realistic user traffic patterns to validate that your system maintains performance, availability, and reliability as load increases.

**When to use**: Validate performance under normal and peak traffic, identify bottlenecks, test auto-scaling policies, prepare for high-traffic events.

#### Disaster Recovery Testing <a href="#disaster-recovery-testing" id="disaster-recovery-testing"></a>

Tests your system's resilience during **catastrophic scenarios**. DR Testing validates that your backup systems, failover mechanisms, and recovery procedures work as expected when entire regions, data centers, or critical services become unavailable.

**When to use**: Validate backup and restore procedures, test failover mechanisms, verify RTO/RPO targets, ensure business continuity.

### How they work together <a href="#how-they-work-together" id="how-they-work-together"></a>

True resilience requires all three approaches working together. They complement each other as follows:

**During normal operations**: Load Testing validates your system can handle expected traffic while Chaos Testing ensures it remains resilient when individual components fail.

**During peak events**: Combine Load Testing with Chaos Testing to simulate Black Friday traffic while a database replica fails - the most realistic test of production conditions.

**During disasters**: DR Testing validates your recovery procedures, while Chaos Testing can verify that your failover systems are themselves resilient to failures.

**In your pipeline**: Integrate all three into your deployment process for continuous resilience validation alongside functional and security testing.

**Across all three:** Onboarded services give the three pillars a common subject. Continuous discovery invents workloads in the cluster. Resilience Testing onboarding turns the ones you select into services. For targets outside Kubernetes discovery, such as Linux VMs, use the [Custom Service Agent](/resilience-testing/3.0/shared-capabilities/services/custom-service-agent.md). Each service then collects chaos, load, and DR results in one place. Go to [Services](/resilience-testing/3.0/shared-capabilities/services.md) for the model, and go to [Automated service onboarding](/resilience-testing/3.0/shared-capabilities/services/service-discovery.md) for the bulk wizard.

### Use cases <a href="#use-cases" id="use-cases"></a>

**Continuous resilience validation**: Integrate resilience tests into your deployment pipelines to validate system reliability alongside functional and performance testing. Catch resilience issues before they reach production.

**Peak traffic preparation**: Combine load testing with chaos experiments to simulate high-traffic events like product launches or seasonal sales while validating that your system remains resilient to infrastructure failures.

**Disaster recovery validation**: Systematically test backup systems, failover mechanisms, and recovery procedures to ensure your DR plans work when you need them most.

**Multi-region resilience**: Validate that your system can handle region failures, network partitions, and cross-region failover scenarios while maintaining performance and availability.

### Platform capabilities <a href="#platform-capabilities" id="platform-capabilities"></a>

**200+ built-in faults:** Ready-to-use chaos faults covering Kubernetes, cloud platforms, Linux, Windows, and application runtimes.

**Service-based testing:** Discover workloads with a Kubernetes discovery agent, or define custom targets with the Custom Service Agent, then onboard them as services so experiments, risks, and scores attach to a named part of your system. Bulk discovery onboarding attaches default health probes and includes a risk scanning stage.

**Load Testing:** Simulate realistic user traffic patterns to validate system performance, identify bottlenecks, and test auto-scaling under expected and peak demand.

**DR Testing:** Validate disaster recovery procedures, backup systems, and failover mechanisms to ensure business continuity during catastrophic scenarios.

**Resilience probes:** Programmatically validate system behavior and steady state through integrations with application performance monitoring (APM) tools and applications. No manual observation is required.

**Actions:** Execute custom tasks within experiments for notifications, webhooks, load testing triggers, and more.

**Risk management:** Identify and track resilience, performance, and compliance risks across your systems with automated discovery and continuous monitoring.

**Enterprise governance:** Control who can run tests on specified systems and during specified periods through ChaosGuard.

**Integrations:** Connect with continuous integration and continuous delivery (CI/CD) pipelines, monitoring tools, and cloud service providers through built-in connectors.

**AI-powered insights:** Get recommendations for experiment creation, optimization, and failure resolution from the AI Reliability Agent.

The platform includes role-based access control (RBAC), single sign-on (SSO), comprehensive logging, and audit capabilities. It is available in software as a service (SaaS) and on-premises deployments. A free plan includes all capabilities. Go to [Harness Platform key concepts](/harness-ai/new-to-harness-platform/overview.md) to understand general Harness Platform concepts and features.

### Next steps <a href="#next-steps" id="next-steps"></a>

Continue with these topics:

* [Key Concepts](/resilience-testing/new-to-resilience-testing/key-concepts.md): Understand core resilience testing terminology and concepts
* [Get Started with Chaos Testing](/resilience-testing/3.0/chaos-testing/get-started.md): Run your first chaos experiment
* [Explore Chaos Faults](/resilience-testing/chaos-engineering/faults/chaos-fault-categories/chaos-faults-reference.md): Browse 200+ ready-to-use fault scenarios
* [Set Up Governance](/resilience-testing/shared-capabilities/rbac.md): Configure RBAC and ChaosGuard for safe testing
* [Get Started with Load Testing](/resilience-testing/3.0/load-testing/get-started.md): Simulate traffic and test performance
* [Get Started with DR Testing](/resilience-testing/3.0/disaster-recovery-testing/get-started.md): Validate disaster recovery procedures
