I know I write a lot about testing with the randgen. In case anyone is interested, I wanted to share some links to randgen documentation and information. It really is an amazing and powerful tool and has found many bugs in MySQL, MariaDB, and Drizzle.
- It can generate queries faster than anyone could ever think of them. This provides breadth of input testing and allows for stress testing (multi-threaded scenarios are supported)
- A number of Validators are available to determine query correctness. These include server-server comparison validators for testing result sets, execution time comparison validators for comparing query execution time, and others. Custom validators are implemented fairly easily
- Grammar-based testing allows for faster generation of test queries. Rather than thinking of individual queries, one can focus on ‘patterns’ of queries and have the randgen generate hundreds of queries for the same amount of time and effort.
With that little sales pitch out of the way, here are the links to documentation.
- MySQL Forge – general documentation
- Drizzle wiki – information on how to run randgen tests and what to look for
- DrizzleQA – links to information about all Drizzle testing
I will be writing more about how to use this tool in the future, but I’d definitely welcome feedback on what people are interested in. The tool has applications for testing patches for regressions, validating upgrades based on current workloads, stress testing, etc. – feel free to let me know what you’d like to learn about. Discussion is always welcome – stop by IRC (#drizzle) or drop us a line on our mailing list.