Load testing asks how the system behaves under volume. Fault injection is a technique that introduces a specific failure. Chaos engineering is the practice of using experiments, often with fault injection, to test a hypothesis about steady state. They overlap, and a mature team uses all three.
Load testing
You send controlled traffic at a system and measure throughput, latency and errors as volume rises. It answers how much can we take, and where does it break. The Google SRE book recommends finding each component's breaking point and checking that it sheds load rather than crashing, and testing both sudden and gradual increases.
Load testing does not, by itself, tell you what happens when a dependency vanishes.
Fault injection
You deliberately introduce a fault: kill a process, add latency, drop packets, return errors, expire a certificate, deny a permission. It is a technique, and it can be used in a unit test, an integration test or a full experiment. It answers: does the code handle this specific failure.
Chaos engineering
The Principles of Chaos Engineering describe a discipline built around a hypothesis about steady state, varying real-world events, minimising blast radius, and ideally running in production and automating. The site is clear that the goal is to confirm the system works, by trying to disprove that steady state holds. Fault injection is how the event is introduced. The experiment design around it is what makes it chaos engineering.
Side by side
| Load test | Fault injection | Chaos experiment | |
|---|---|---|---|
| Main question | How much can it take? | Is this failure handled? | Does steady state hold when reality intrudes? |
| Input | Volume | One specific fault | Realistic faults, varied |
| Needs a hypothesis | Sometimes | Not always | Yes |
| Typical setting | Pre-production | Test or staging | Staging, then production |
| Output | Capacity and limits | Pass or fail on a case | Confirmed or refuted hypothesis |
Which for which question
- Can we survive launch day? Load test.
- Does the retry code actually back off? Fault injection, see retry storms.
- Does login hold when the identity provider is slow, with real traffic? Chaos experiment.
- Do we shed load before collapsing? Load test with a dependency fault, which blends both. See load shedding vs rate limiting.
Where security comes in
All three can test security behaviour. A load test can show whether a rate limit holds. Fault injection can check that an authorisation error denies access. A chaos experiment can test whether a control keeps enforcing when its backing service is down. For the security flavour, start with steady state metrics for security chaos experiments and dispel common doubts in chaos engineering myths versus facts.
Quick check
Is a game day the same as chaos engineering?
Not quite. A game day is a planned exercise, often a tabletop or a manual fault, and it can feed chaos work. See the game day plan.
Do I need special tools?
No. A script that blocks a port or adds latency in staging is enough to start.
Sources
Last reviewed: 19 October 2026.