Jou, das nennt sich denn test-driven-development (TDD). Ich versuche mir das gerade als Arbeitsweise anzueignen, und der erste Eindruck, den ich davon habe, ist ein sehr guter. Man entwickelt besseren Code, denke ich, und hat während der Entwicklung eines Projekts ein ständig wachsendes Netz von automatisierten Tests, die a) ein gewisses "Vertrauen" in den Code gewährleisten und b) sehr schnell zur Problembehebung führen.
Es gibt dazu ein Buch von Kent Beck (Test-Driven-Development By Example), welches ich nur empfehlen kann.
Allerdings ist die Software dann trotzdem nur so "sicher", wie es die Tests abdecken, die man vorher definiert.
Gruß,
Feng