network emulation
Deliberately adding loss, delay or outages to a network so you can test how software copes.
Network emulation injects loss, delay, reordering and outages (for example Linux netem, or a proxy that drops connections) so failure handling can be tested repeatably on your own machine.
Examples
sudo tc qdisc add dev lo root netem delay 200ms 50ms loss 5%delays and drops packets on Linux's loopback interface.A small Python proxy can cut the connection for a 4-minute outage to check that backoff and the offline queue really work.