For projects of any value and significance, having a comprehensive automated test suite is nowadays considered a standard software engineering practice.