3 ms·
“Most product teams don’t need a separate testing role”, quoth the author. And he may be right. Most products don't need to be of high quality. Most products ha
by wilhelm 15y ago
“Most product teams don’t need a separate testing role”, quoth the author. And he may be right. Most products don't need to be of high quality. Most products have few moving parts and few things that can go wrong. If your product is a web application, you can fix stuff quickly once your users start complaining, too.
But then there is the kind of software that must not break, ever. The kind of software that is so complex that every time a developer touches it, he is bound to break something, somewhere, because no human can keep all that complexity in his head.
Your operating system falls into that category. Your web browser. The machines that bring humans to the Moon, keep you alive at the hospital or your car on the road. You know, the difficult stuff.
I've spent a few years as test manager for a web browser engine you may have heard of. The team consisted of some of the best developers I've ever met. Razor sharp guys. But despite their brilliance: for every bug fix they did, there was a 30% chance of them breaking something. In the most complex parts of the layout code, that number was closer to 50%.
50%!
Having less than one tester per two developers on that particular project would be madness. And I'm not talking about outsourced monkeys pushing random buttons ten time zones away. I'm talking about people more evil than the devil himself – able to conjure up the kind of tests that will rip your software to pieces in ways you could never imagine. I'm talking about proper test engineers that can automate away all that boring shit humans don't want to do.
A sparring match between a great developer and a great test engineer is truly a thing of beauty. And in the end, both of them win.
- patrickyeon 15y agoI interpreted points one and two as being against the culture of "oh well, let testing catch the bugs". He's not saying that there's no need for testing, just that the developers shouldn't count on some other department to make sure their code works. I've only had a very short career so far, but I've already seen the people who resist any review, make it as hard as they can for testers, get upset with testing when they find bugs, or just throw stuff at the wall to see what sticks. Even worse: a lot of this was in hardware design! When you need to go back and forth on a bug 4 or 5 times, every time the programmer claiming it was fixed but failing an old test case, a test group won't fix the problem, programmers taking responsibility to ensure their own code is correct will. > A sparring match between a great developer and a great test engineer is truly a thing of beauty. And in the end, both of them win. Absolutely. Unforunately, if the tester is not up to snuff, they're no help against a great developer, and a great tester against a sub-par (or worse, insecure) developer is nothing but trouble, no matter who's right.