> Failing tests indicate the presence of bugs, but passing tests do not promise their absence. As somebody who primarily lives on the testing side of the house, I've definitely run into cases where the developer promises that their unit tests will make a new feature less buggy, then about 5 minutes later I either find a mistake in the test or I find a bug in something that the developer didn't think to test at all. I…
Tests don't find bugs. They find things a developer needs to investigate. Most tests I've seen aren't aids to diagnosability, so if there is a bug, the developer is still needed to find it. > tests are written too early, using a data structure that gets changed in development I wouldn't call this "too early," but "testing the wrong thing" if they were testing internal particulars instead of behaviors.
> Tests don't find bugs.
I want to be make sure I understand your message here. When I write unit tests, I frequently find bugs in my own code. Are you talking about something different?