I've used automated module and integration testing for some time now, and my experience is that it both cuts initial development time, testing AND subsequent making of the next versions of the product. Granted there is some time spent writing the testcases, but this time saved by spending less time looking for bugs already during intial development. We do a lot of refactoring of our code (constant improvement ?!?), and run the testsuite several times a day. In doing this we catch newly introduced errors close to the point in time they have been introduced, and they are therefore a lot easier to locate and squash. Of course the tests do not catch everything, and when discovering a un-detected bug, we write a testcase which catch the error befor efixing the bug. This way the testsuite constantly get better and better. There is no way that I would go back to developing without an automated testing system. PERIOD!