3 ms·
A core cultural challenge that we have to deal with is that people are very soft about testing, and they don't make their artifacts or platforms testable. Ther
by mathgladiator 6y ago
A core cultural challenge that we have to deal with is that people are very soft about testing, and they don't make their artifacts or platforms testable.
There is a bit of diminishing returns to what I believe, but it also depends on ones dependencies and what one considers 100%.
As an example, I designed a multi-TB file-format and synchronization engine. I made that engine a dependency free library such that all the math, contracts, threading, and scheduling could be 100% tested before integration. This forced the messy integration into the core application which then was E2E tested with hundreds of randomized tests.
The key concept at play was beating all the math into the ground such that it was damn near perfect because a single flaw would lose data.
- dalke 6y agoYes, I figure it would have been easy to get to 100% if MySQL had been designed so that plugins could be coverage tested. For example, there might be an "environment" API which abstracts memory management and file I/O. The plugin could use this API instead of direct calls. Then if MySQL had an option to use a specific environment implementation for a plugin, then testers could drop in their own implementation under test. Getting that sort of support by MySQL is an example of what I think you mean by "cultural challenge."