Q: What testing frameworks and processes do you use?
A: It’s really interesting that it’s such a common question, testing frameworks as opposed to many other tool choices you could make. I’m not sure why that is. It might be because it’s such an aesthetic choice and also such an unimportant choice. Ultimately, it’s that you’re testing at all, that you have an idea of what your software is supposed to do and that you’re writing it out so you can programmatically test it. So it becomes a place that’s just primed for bikeshedding. There are so many different possibilities, and it’s such a programmer-friendly kind of thing to work on, that there are tons of different libraries scratching everybody’s individual aesthetic itch. It becomes a question of whether you like periwinkle blue versus cornflower blue. In the end, you’re testing.
Jeremy during 37signals Podcast Episode #20: Programming roundtable (Part 1 of 3) (the transcript for this episode is now available)
Rich S
on 20 Sep 10Ha ha…so true. Leave it to us programmers to care about something so trivial. Like Java vs. C# vs. C++...who cares? As long as you make good software.
Ryan
on 20 Sep 10I think it’s because testing is a place where developers feel a lot of pain. Testing sucks, and once you build up an established test suite it can be hard to make architectural changes.
I think the choice of test tools it is an important choice. If you use a poor test suite, or if you use poor testing methodology, then you’re setting yourself up for a hard time later.
And there are a lot of test tools to choose from; unlike many other plug-in code (gems, plugins, etc.) it’s not always readily apparent which is the right tool for the job.
Robert Sullivan
on 21 Sep 10It becomes a question of whether you like periwinkle blue versus cornflower blue.
Anonymous Coward
on 21 Sep 10Ha ha – so true. It’s the same with, I dunno, everything isn’t it? Take project management software. Who cares what you use, the important thing is you’re doing project management.
Same with – web frameworks. In the end, you’re coding. So true. So much bandwidth is wasted on which is better, when you could be getting software out the door.
Ravi Hasija
on 21 Sep 10I disagree with the original comment, and am more in agreement with Ryan. There is definitely merit in certain tools and a little less in others. For example: to continue to code in EJB2 instead of Spring…we could apply the same argument. But to me coding in Spring is pleasure and EJB2 a suffering. The same goes with testing tools, as time progresses, people learn from their mistakes and come up better libraries. I would prefer Mockito over Easy Mock. In the end we are writing test code, yes, but how much of it and how beautiful/not-so-beautiful it is, is dependent on the choice of tools.
If getting from point A to point B is the only concern, why not drive a 1982 Toyota Tercel instead of a BMW?
My 2 cents!
Robert Sullivan
on 21 Sep 10Yes, I was making an attempt at humor, I think we (commenters) are all in agreement, not sure about Jeremy.
Perhaps the post, which is a bit condescending (bikeshedding?), is lacking important context, but I’m really surprised to see that picking a testing framework and process is simply a matter of aesthetics and unimportant. Weird. No thoughts on frameworks? Unit testing? Functional testing? Performance testing? No ideas? Odd.
Sure, in general, the most important thing is you are doing testing. And the same could be said for project management, or using a web framework. If Microsoft Project floats your boat, go for it, right? If Struts/Spring do the trick and not Rails, rock on.
Yeah, so the OP has some truth. But, like Ravi’s, I’ll be driving the BMW. Why? Because I’ll get from point A to point B quite a bit faster. On the autobahn.
JK
on 22 Sep 10Tool choice matters, for sure. BMW blows away the Tercel. But getting to the track is the important part! I’d take a hot lap in an econobox over reading any number of blog posts comparing the two.
Testing at all is the 90% benefit. If you’re coming from a land of zero or sporadic or mediocre tests, whatever tool you employ to engineer a revolution (or escape!) is +1000 awesome. The real work is not in choosing, or even using, the tool; it’s in changing your habits and building the discipline it takes to write solid tests every single day.
This discussion is closed.