How to do Test Driven Development (TDD) in Drupal? What are the tools used TDD in Drupal (PHP modules, Drupal modules, etc)?
What does your commit/test/deploy workflow look like? Do you use Phing, PHPUnderControl, Hudson for managing this workflow?
In which way does unit testing make your code more reliable?
Do you need a separate, expensive, stand-alone unit test server, or can you do it from a laptop?


I know that Robert wrote an excellent technical post here about unit testing in Drupal with SimpleTest; I am more interested in covering the workflow and configuration part. Currently I have a development machine, staging and production server. Both production and stage sites run on a 300MB RAM/300MHz CPU Dreamhost VPS.
Since Mark's blog is offline, I'll mention some of the tools his team has implemented:

Functional testing: Selenium
Unit testing: Simpletest
Build server: Jenkins
Performance benchmarking: XDebug + Cachegrind

In the two years since I asked this question I've seen some additional tools gain popularity to the TDD scene. Nowadays when you speak of Test Driven Development (in a Drupal context, of course) there's two sides to the same coin — front-end testing, and back-end testing.

Here are two presentations that stand out from the latest Drupalcon Portland 2013 representing this matter:

Development, By The Numbers, backend testing.
Automated testing with Jasmine and PhantomJS, frontend testing.

The first presentation is not related to unit or functional testing (strictly speaking), it's more about tools to measure code quality. Nevertheless, I feel it's somewhat related to the topic.