I have just come onto a project that has tests up to the armpits, mocked everything, and the test lead wielding an almost evangelical bent across the developers. And the codebase and system is still shit. Why? Because the team though loads of tdd and bdd equals a great system. Wrong. They can help, when used sparingly, but to make them your design methodology, praying at the church of testing dogma is insane. So, no…
The Failures of “Intro to TDD”
11–20 of 58 posts
Re: The Failures of “Intro to TDD”
#12Re: The Failures of “Intro to TDD”
#13I have just come onto a project that has tests up to the armpits, mocked everything, and the test lead wielding an almost evangelical bent across the developers. And the codebase and system is still shit. Why? Because the team though loads of tdd and bdd equals a great system. Wrong. They can help, when used sparingly, but to make them your design methodology, praying at the church of testing dogma is insane. So, no…
This is even more prevalent in the test masturbation known as Cucumber. Like your experience the lead in this case a weak developer was extremely pleased we had a very high coverage using Cucumber and because we where using Cucumber, by proxy we where doing BDD right??? ;) So bonus points are to be gained when reporting to management. The fact was the Cucumber sweet was a heavy set of UI tests against the most fragile part of the system; what changes most in a html app? A: The UI. The implementation in Cucumber is poorly executed leading to hours debugging because of it's shared mutable state in Cucumbers global world giving absolutely no value as features under test could be tested lower down the stack more reliably, faster, giving more value. I'd go as far to say the only person getting benefit from Cucumber is the person reporting to management trying to look like they've been busy and proactive or someone selling their consultancy fee. Cucumber is nothing more than the work of Satan seeing how much punishment a team can take while chasing the mythical utopia promised but never quite reached! Better tools exist!!!
I'm not saying TDD/BDD is bad, I use it when I think needed and enjoy it when used sparingly when requeied. Doing tdd because someone told you so and then the tests taking higher priority than deliverable code is bad unless your code results in death or other hardship upon someone, in these cases you're best of using a more formal approach to testing! Cargo culting at it's best.
Re: The Failures of “Intro to TDD”
#14I have just come onto a project that has tests up to the armpits, mocked everything, and the test lead wielding an almost evangelical bent across the developers. And the codebase and system is still shit. Why? Because the team though loads of tdd and bdd equals a great system. Wrong. They can help, when used sparingly, but to make them your design methodology, praying at the church of testing dogma is insane. So, no…
At least you can be sure that it does what you expect. You can have bad architecture with and without tests, but testing will help you to avoid surprising behaviour, regressions, that kind of stuff.
Re: The Failures of “Intro to TDD”
#15At best they can give a person with good judgement a different angle to look at their problems with.
At worst they are thought-stopping slogans that turn a gullible novice into a crippled novice.
Re: The Failures of “Intro to TDD”
#16Methodologies aren't a substitute for creativity or intelligence. At best they can give a person with good judgement a different angle to look at their problems with. At worst they are thought-stopping slogans that turn a gullible novice into a crippled novice.
Re: The Failures of “Intro to TDD”
#17Re: The Failures of “Intro to TDD”
#18Another issue with TDD is that it is incredibly difficult to reason about. In many groups, there are at least one developer sold on the concept, and when I voice my concerns with the methodology they immediately demand an explanation why I "hate testing", or alternatively preach about all the goodness of unit testing. Which of course isn't the issue at all. Many developers seem to confuse TDD and unit tests, and the supposed benefits of the former is very hard to quantify.
Re: The Failures of “Intro to TDD”
#19The tl;dr of this article - some programmers _really_ need to get exposed to a Systems Engineering course.
Re: The Failures of “Intro to TDD”
#20At least they won't have to change the acronym.