Ian Bicking: the old part of his blog

Re: Being Unitized

ill agree that Spille shoots himself in the foot by ranting heavily and slathering on the quasi-ad-hominem stuff, but I like the points he makes at the end for integration tests, regression tests, and non-functional tests. I think we dont hear so much about those things on the one hand because they are so "old school" and we supposedly all know them already, but I think moreso because those techniques are hard and cant be easily transmitted into one-page soundbyte-types of articles and tutorials. and the rule of the day seems to be the technologies and techniques that can be learned by any newbie in half a day are the only ones that gain any kind of popularity.

the testing style i am familiar with on pretty much an intuitive basis, is a couple of unit tests just for highly algorithmic units of code, such as elaborate data structures or synchronization objects, and after that a lot of integration testing, functional testing, and regression testing, with a varied mix of automated test runners and manual tests, as is appropriate. so far, ive never felt so inclined to write unit tests for all those components that are obviously trivial (trivial to me, that is), which pretty much prove their functionality after i inspect their progress within some full-system tests (i.e. components where if they had any kind of flaw, theres no way the app could possibly work).

But, I am trying to "see the light" for a more unit-testing-fundamental approach and beginning to semi-begrudgingly write some unit tests for code i usually wouldnt bother with, and in fact it did reveal some dumb little non-bug-but-not-quite-correct behavior almost right out of the gate. But I'm also inclined to throw into the testing framework a combination of unit tests and the more integrative tests Ive already written, like multithreaded load-killer type tests and other front-to-back types of stuff. Since unittest, being minimal (and yes not that great i agree) just gives you "testXXXX", why even call it "unittest" ? you can put whatever kinds of tests you want in there.

Comment on Being Unitized
by mike bayer