3 ms·
Thou who uses unit tests, UI tests, precondition, postcondition checks, heavy logging, knows the language and toolchain and knows arse from elbow NEVER debugs i
by gouranga 14y ago
Thou who uses unit tests, UI tests, precondition, postcondition checks, heavy logging, knows the language and toolchain and knows arse from elbow NEVER debugs in production out of necessity or desire.
It just works.
In the last 5 years, we've never hooked a debugger to production instance or given access to a developer.
In that time, we've pushed approximately 912 billion SQL transactions through the system and 24 billion page hits (most of our stuff is backend non OLTP).
That's how it's done.
- TazeTSchnitzel 14y agoYou're right. Now that I think about it, I doubt Facebook is that careful, considering how often they break things.
- rimantas 14y agoNo please tell me, how did you learn to write unit test which cover all the crazy data configurations users are able to come with.
- alttab 14y agoBy being able to design software that doesn't need or allow crazy data configurations. My whole mantra is don't manage complexity: avoid it.
- gouranga 14y agoYou nailed it - thanks for the absolutely spot on comment. Design is the key word here. It requires thought, it requires intelligence and it requires multiple people's input.
- gioele 14y agoBoundary value analysis? Machine state transitions testing? Equivalence partitioning? There are heaps of techniques one can use to identify which data points and combinations are useful to test. Some of these techniques even take a peek at your code to highlight the possible pain points.
- gaius 14y agoLOL! You think someone who's drunk the unit testing kool-aid has even heard of any of that?
- wpietri 14y agoYou have to start somewhere. If I have to choose between a world where people never test and one where they test but aren't very good at it yet, I'll definitely take the latter. Of course, I'm still filled with rage when I find a cargo-cult suite of unit tests. But it's so much easier to convince those people to write smarter tests than it is to deal with the team that has no time to write tests because they're spending all their time debugging.