I wonder if I'm an anomaly, or if it's actually more common that one might assume?
I wonder if I'm an anomaly, or if it's actually more common that one might assume?
Where the costs are high, like say in safety critical software or large companies with highly paid engineers on-call where 9s of uptime matters, the amount of testing and development rigor naturally scale up.
This is why rigid stances like that from "Uncle Bob" are shortsighted: they have no awareness of the actual economics of things.
Obviously pragmatism is always important and no advice applies to 100% of features/projects/people/companies. Sometimes the test is more trouble to write than it's worth and TDD never worked for me with the exception of specific types of work (good when writing parsers I find!).
If you make logical error in the code, chances are you will make logical error in the test that tests that segment too.
A big problem with tests is making sure they are correct.
Would having someone else write the tests catch more logical errors? Very possibly, I haven't tried it but that sounds reasonable. It also does seem like that (and the other things it implies) would be a pretty extreme change in the speed of development. I can see it being worth it in some situations but honestly I don't see it as something practical for many types of projects.
What I don't understand is saying "well we can't do the really extremely hard version so let's not do the fairly easy version" which is how I took you original comment.