On 06/03/2013 10:20:26 AM, Jeroen De Dauw - jeroendedauw@gmail.com wrote: <snip>
- Regression detection
- Replaces manual testing with automated testing, saves lots of time, esp
in projects with multiple devs. Manual testing tends to be incomplete and skipped as well, so the number of bugs caught is much lower. And it does not scale. At all.
- Documentation so formal it can be executed and is never out of date
- Perhaps the most important: removes the fear of change. One can refactor
code to clean up some mess without having to fear one broke existing behavior. Tests are a great counter to code rot. Without tests, your code quality is likely to decline.
There is an economic argument also. Consider the extra cost of writing automated tests versus doing manual tests as an investment to reduce long-term costs. With manual testing someone (maybe you) has to remember and recreate a lot more each time testing is required. The more sucessful a software project is, the longer it will be in production; thus "maintenance" will be performed more times, and the bigger the payoff will be in the investment.
<snip>