Automated testing is important for large object oriented programs as the code grows to test all execution paths and ensure changes don't break existing code. Tests can be run quickly and cover many paths. Test-driven development involves writing tests before code to specify requirements and ensure all code is tested. The goals of test-driven development are to guarantee tests are written and integrated into the design process.