Chaos Engineering

Chaos engineering is a practice that involves intentionally introducing failures and errors–such as shutting down servers or introducing network latency–into a software system under controlled conditions to test its resilience.

In software development, resilience refers to a given software system's ability to tolerate failures while ensuring adequate service quality per specified requirements.

The goal of chaos engineering is to increase complex systems' reliability and stability by proactively identifying potential weaknesses or failure points by creating these scenarios or experiments.

The concept of chaos engineering stems from chaos theory, which attempts to describe the qualities of the point at which stability moves to instability or order moves to disorder.