# [[Types of chaos experiments]]
A chaos experiment is an activity designed to test the way a system responds to failures by inducing the failures in a controlled, methodical way. The use of the word "experiment" emphasizes that these activities are carried out with scientific rigor. Chaos experiments can encompass the following specific tests, usually using purpose-built tools.
## Resource
Resource attacks involve artificially using increasing a server's CPU, memory, disk, or I/O to see how it responds.
### CPU
### Memory
### Disk
### I/O
## State
### Shutting down instances randomly
[[Chaos Monkey]]
Sometimes developers hardcode references to environments, and they shouldn't.
### Time travel
Changing clock time on servers to test for daylight savings or how to handle expired security certificates
### Process killer
## Network
### Blackhole
A blackhole attack drops targeted IP packets at the transport level, effectively shutting off communication to and from a component.
### Injecting latency
Purposefully increasing the latency (or response time) between components
### Packet loss and corruption
Mimics poor or mobile internet connections by seeing how components or the whole application responds to missing or faulty data.
## Fault Injection
- [[AWS Fault Injection Simulator]]
- [[Gremlin]] makes a distinction between "ALFI" (application-level fault injection) and "ILFI" (infrastructure-level fault injection)
- Creates a "small blast radius" experiment that induces a very small and specific failure.
## References
- [[Chaos Engineering Bootcamp with Gremlin]]