I think people sometimes forget that tests are made of code too. If it's possible to write bad code, it's certainly possible to write bad tests. And writing bad tests first (as in `test-driven`) won't make them any better. At some point, people see bad tests _and_ bad code together and instead of blaming it on the "bad" part, they blame it either on the tests, or on the fact that the tests were written first.