I spotted this checklist attached to a Worklog for an upcoming change in MySQL 5.7.3 (not yet released). What it is, is a series of Yes/No questions to be answered by developers, which is used as part of the QA process.
- Any new/modification in syntax introduced
- Any change in existing behavior of SQL
- Any change in mysql protocol
- Any change in result formatting or data types
- Any change in
INFORMATION_SCHEMA
andPERFORMANCE_SCHEMA
- Concurrency testing Required
- Any lock/deadlock testing required
- Any multi user/client testing
- Do you expect any data race, Data Corruption when multiple users request
- Boundary value testing
- Replication testing is needed
- Any change in binary log formats
- Partitioning Changes
- Performance testing
- Is the feature claim to have performance improvement (time to first row)
- Do you see any implication on performance
- Any thing related Index
- Any thing touching optimizer
- Backup Testing
- Upgrade downgrade testing
- On disk format changes
- Changes in system table
- Retire or deprecate any mysqld configuration options
- Downgrade supported
The list looks pretty complete to me. It’s confidence inspiring to see the level of detailed consideration that is going into MySQL 5.7. As Tomas mentioned in his keynote MySQL 5.7 DMR releases are heavily tested and should be considered of release candidate quality. Anitha has also wrote about the QA process in this blog post.