Who is this guy? I didn’t re-implement Ruby in Erlang, or write a web server in assembly that’s 10x faster than Apache, or start a successful company. At the end of the day, I’m just a guy who makes web sites. Jan Tik: http://flickr.com/photos/jantik/6708183/ http://flickr.com/photos/jantik/6708183/
Testing is overrated Luke Francl
So I had to pick something controversial. Don’t get me wrong, testing is great. Never forget the first time I saved myself from committing buggy code with my own unit test. And once written, programmatic tests provide a nice regression framework that helps catch future errors and makes refactoring possible. But I think it’s overemphasized to the detriment of other defect-detection techniques.
fuzz
fixtures
object mother
RSpec unit tests stub random
rcov
Shoulda
miniunit
Watir
Mocha
mock
Test::Unit
behaviors test-along
BDD
Selenium
test-first
coverage
autotest
TDD test cases
We as developers hear, read, and write a lot about testing. Why so much?
I think it’s because it’s something we, as programmers, can control. We usually can’t hire QA testers. t esters. It may be a struggle to institute in stitute code review in our company. We may not have the authority to set up usability tests.
But we can write code! And so we play to our strength -- coding -- and try to code our way out of buggy software.
In the worst case, this leads to a mindset that developer testing is all you need, and if we can only get to 100% code coverage, we’ll be bug free. You’ve got people having Rcov length contests. I read a blog entry just last week by a guy who was suggesting the “End of Bugs” due to behavior driven development and 100% rcov code coverage.
(I didn’t mention his name in my talk, but this was Adam Wiggins from Heroku: http:// adam.blog.heroku.com/past/2008/7/6/the_end_of_bugs/ adam.blog.heroku.c om/past/2008/7/6/the_end_of_bugs/ I didn’t know he’d be at RubyFringe, but he came up to me later and was like “Hi, I’m Adam. You called me an idiot.” Sorry Adam! Seriously, he was really nice about it. We had a good talk about testing.)
So I’ve been doing extensive research about the benefits of developer testing... - Code Complete 2nd, Steve McConnell - Facts and Fallacies of Software Engineering, Robert L. Glass And I’ve come to the conclusion that there are some significant weaknesses of developer testing.