3 ms·
Testing is wonderful- if one starts with the goal of delivering highest quality per unit time spent. If you start with a goal of coverage or every little thing
by nojvek 3y ago
Testing is wonderful- if one starts with the goal of delivering highest quality per unit time spent.
If you start with a goal of coverage or every little thing having X unit test, it becomes a pain on everyone.
Integration tests are the hardest. They test a huge surface area. They are slow, flakey and hard to debug when something is wrong.
But they offer the biggest bang for buck since they test it end to end from the user’s perspective.
Unit tests are wonderful for libraries with well crafted and stable interfaces.
The bottom line is always making a pragmatic decision - for the unit time spent, where can I add guards with highest bang.
SQLite is sqlite because they are obsessed with making it battle ready.
Most great quality software has a team that takes the quality bar seriously and has tests to hold that bar.
Somethings don’t need that quality bar because - it’s not proven anyone will use it.