GUIやWeb は、2014年現在では、自動テストの導入コストが高過ぎる
ので手動でテストすることになる。
でも、詳細設計やコーディングを始める前に、テスト仕様(=検収条件)
を定義することはできるので、TDD の考え方は適用できる。

この場合、Control・Model層 の自動テストをきちんとやることはもちろん
View層が疎かつ薄くなるように設計して、
人手による(高価な)GUI テストの範囲を限定する必要がある。

ただ、GUIやWeb の自動テストも、ミドルウェアやパッケージソフト
などの、寿命が長くて、自動テスト作成の費用が回収できる分野では
使われ始めているので、そのうち単発アプリでも使える方法が
見つかるでしょう。