4 ms·
It seems like there is a general realization is that TDD is useful for increasingly narrow contexts to create business logic where there already exists a genera
by politician 12y ago
It seems like there is a general realization is that TDD is useful for increasingly narrow contexts to create business logic where there already exists a generally accepted architecture.
In other words, the controllers of typical web apps which AFAICT is where the technique originated and the source for a lot of the introductory examples.
It's not a silver bullet, but what is?
- mkhpalm 12y agoEngineers who take their time and care... unfortunately.
- protonfish 12y agoI think that is the regular bullet.
- mkhpalm 12y agoI wouldn't go that far.
- Touche 12y ago> It seems like there is a general realization is that TDD is useful for increasingly narrow contexts There is? I haven't seen this "debate" take place anywhere other than the Rails community. I work on open-source and I can't imagine releasing a library where its APIs are not unit-tested. That's a different context than the one you mention. And I don't think I'm alone, every library I run into has automated testing.
- kenjackson 12y agoUnit testing does not equal TDD.
- Touche 12y agoI do TDD in open-source projects.
- krisdol 12y agoSure, but I usually write tests when I have a good confidence in the API of my class, even if that API isn't implemented. I tend to have more biases and assumptions if I write the tests later, so I find this works better for me. So, unit testing is often a subset of TDD.
- krisdol 12y agoTDD literally saved our product and, by extension, our team. We took one of the lowest NetPromoter Scores you can imagine (seriously, imagine a really low one right now, I guarantee ours was lower) and by massive investment into TDD and automation, brought it close to neutral. Hot-patches used to happen several times a quarter, whereas now we just had our first after a year of investment into QA. Our shop is far from a startup though so very few things on this site have meaning for our product.
- GuiA 12y agoCan you expound a bit? How can you correlate directly NPS and using TDD? Maybe it is that, for example, the new management/mindset/etc. that moved the dev team to TDD also moved the customer support team to be more responsive, and that's what increased your NPS. TDD reducing critical bugs hitting prod or stuff like that, I can understand - but NPS seems a bit odd.
- deleted 12y ago[deleted]
- politician 12y agoI think it's an error to conflate TDD and automated testing. For example, I use a combination of black box testing, unit tests, and simulation in my work, but I don't let those beneficial activities determine the architecture.
- seanewest 12y ago> to create business logic where there already exists a generally accepted architecture. I TDD'd for almost 3 years using Rails and this sounds pretty accurate. TDD pushes back on you a lot more when you have no clear underlying and preexisting architecture.