I find your position here uninformed and doctrinaire. Leading the way is your apparent conviction that developers are best qualified to test their own work. That is, frankly, nuts.
If you had more than a few scant years of experience in software development you would feel on an instinctual level that developers, all developers, will always exhibit the same blind spots in developing their tests as they exhibit in writing their code, whichever comes first. You don’t seem to be even aware of this at all. None of you TDD aficionados ever even mention having others write tests. The lack of this plain and obvious awareness is most revealing:
You don’t know what the hell you’re talking about.
The appeal of TDD is the same as the appeal of those dumb formatting inversions, like the spaces immediately inside parentheses: it’s backwards, therefore it’s original and new.
Another feature of our work that would be a visceral understanding were you not so addled with these fads is that whenever we write code we learn things that we did not anticipate in design. If testing was the secondary part of your work that it should be you would write your tests after you had made these discoveries, not before.
You are adrift. Lost. Unmoored at sea.