Fighting with tests during the last two days, I would like to drop a short note of why I usually do this job.
First of all, it’s a great chance to understand how the project works. Even if test coverage is not good enough, usually you can learn a lot about project architecture.
The next reason is that almost every project team doesn’t have enough time to improve or extend the current tests. Test-driven development helps a bit with unit tests coverage, but it doesn’t require any other tests to be implemented first. I’m not talking about QA practices here, I’m talking from the developers perspective. Slow unit tests or too complicates integration tests could be found to improve in any project.
Last, but not least: it’s a challenge to get tests faster and increase tests coverage.