Discussion about this post

User's avatar
Rick's avatar

Nice analysis, and very good points, notably your observation that "system tests enable large refactors." But I'm going to _blaspheme_ and disagree with your last point that "unit tests are still important". You're just being kind to the true believers and avoiding flak; I get it. But unit tests are only important for testing isolated, specialized sections of code, code that's just too expensive to test at a higher level, which is maybe up to 5% of code, if that. Otherwise, (1) unit tests are expensive to develop (using actual software developers), (2) they are brittle (as you just proved) (and for what benefit?), and (3) they are almost always redundant; they have to be superseded by a higher-level test anyway (or the higher-level tests are incomplete). Do you have developer time to duplicate work? So why spend the resources? If we all gave up on the unit test religion, we'd have a lot more time for creating and refining actual functionality. Anyway, thanks for your great analysis.

Expand full comment
2 more comments...

No posts