Along with load testing, my projects use a generated load for:
- Where does the program spend it’s time when it’s actually doing a production load?
- That’s not the same as where it goes doing unit tests!
- Code coverage
- What part of the code is unreachable by paying customers?
- Why are we paying for code that no-one uses?
- I find LOTS of stuff by playing everything, not just a selected sample.
- And you probably can use it for fuzz testing by creating data with /dev/random
- Preproduction acceptance tests
- Feed a copy of the production load by doing a tail -f on the production logs and feeding that to the generator
- Consider it finding the real-world bugs without subjecting the real word to the bugs
- In one case where we did lazy fetching from another service, replaying prod preloaded us.
- In another where performance depended on a warm cache, we preheated a system before varying it into production.
What uses can you think of?