4 ms·
As a developer you should be thinking through your edge cases more than a tester would. The alternative is needing more testing. Ideal situation: tester doesn'
by michaelfeathers 10y ago
As a developer you should be thinking through your edge cases more than a tester would. The alternative is needing more testing.
Ideal situation: tester doesn't find anything.
- LoSboccacc 10y agohowever the real world sucks, most field bugs are caused from configurations you would never think of and a ever changing world i.e. apple just recently decided to break 5 years of responsive design practices by ignoring the maximum-scale meta tag. their decision is not without merit, but suddenly many web applications started behaving weirdly and encountering usage pattern they were never tested on before. those edge cases never existed before, but I bet only the shops with dedicated testers caught them within the first week.
- michaelfeathers 10y agoI agree. My argument isn't against exploratory testing but rather against the idea that developers shouldn't also be cultivating that way of seeing systems.
- 6stringmerc 10y agoFair and I think you are correct. As a counter balance though, there's an expression via Murphy's Laws that I think is worth keeping in the back pocket: "It is impossible to make anything foolproof because fools are so ingenious."
- falcolas 10y agoIt may be the ideal, but the reality is that they will always be finding bugs. The really good ones will automate the simple cases, incorporate combinatorial and fuzz testing, and then go on a mission to break things. Sadly, most of the really good ones are developers-in-potentia, and move out of the QA role after a year or two. Those who really are meant to remain in QA are gold - if you find them, don't ever let them go.
- rubidium 10y agoAcademically I would agree, but I disagree out of business principles. Testers finding bugs is the ideal situation of a good production process. Ideally not a ton of them, but if a programmer has really thought through every potential edge case then they're likely over-engineering the product, and the business will suffer from being too slow.
- koonsolo 10y agoNot ideal if it takes you 4 weeks what I can write buggy in 2 days, and my tester does 2 days and me an extra 2 days to fix it up. (my tester is also cheaper than me). Maybe your software is perfect, but maybe my customer is happy to pay me 4 times less for the software, even though it still contains the few bugs my tester overlooked.
- ktRolster 10y agoZero bugs: program faster