Where to find randgen testing information / documentation

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.

3 thoughts on “Where to find randgen testing information / documentation

  1. In fact randgen proved to be “too good”. As far as I know it was developed mainly to test Falcon, and ended up killing the storage engine. I think the developer, Philip Stoev, can confirm this. His moto is “If you love it, break it!” :)

    • We were starting to use it for other things at MySQL before I left- like testing the optimizer and metadata locking. Philip has definitely created something awesome.

      It is definitely a powerful tool and has helped us find several bugs in Drizzle and a LOT of MySQL bugs. We’ll be unleashing it on PBXT before long, but our interest is in making the engine better, not beating it to death ; )

  2. Pingback: Patrick Crews: Where to find randgen testing information / documentation | Weez.com

Comments are closed.