It looks like Mr. Sutherland's article on functional testing vs. unit testing has been around for a while, but I just came across it via Hacker News.
Benefits of automated functional testing
My experience with unit tests has been largely ad-hoc, for example when I'm working with a bug-prone chunk of code. I've never been part of a large system with solid unit test coverage or worked in a TDD environment. That being said, I agree with the general premise of Tim's message. As the release manager (by default) on a fairly complex java system, having a number of solid automated functional tests was very valuable to prevent a lot of wasted testing time during busy release weekends. The ROI of creating and maintaining a large set of unit tests seems to be much less.
Benefits of automated functional testing
My experience with unit tests has been largely ad-hoc, for example when I'm working with a bug-prone chunk of code. I've never been part of a large system with solid unit test coverage or worked in a TDD environment. That being said, I agree with the general premise of Tim's message. As the release manager (by default) on a fairly complex java system, having a number of solid automated functional tests was very valuable to prevent a lot of wasted testing time during busy release weekends. The ROI of creating and maintaining a large set of unit tests seems to be much less.
Comments
Unit and functional tests both are critical to a robust testing strategy.
We have been practicing TDD now for a bit in our development and it REALLY speeds things up and really helps keep design concrete.