4 ms·
TDD is good. I think "Test-First" is dead. Few places I've been at have been able to do test-first. Small groups trying to deliver on aggressive schedules wa
by fireWalker 12y ago
TDD is good. I think "Test-First" is dead. Few places I've been at have been able to do test-first.
Small groups trying to deliver on aggressive schedules waste too much time with test-first.
Having a competent leader and skilled team that can follow SOLID principles removes the need to be test-first.
TDD is not dead. Test-first probably is.
- kens 12y agoAren't those both the same thing? (Not being sarcastic; I'm genuinely confused.) http://stackoverflow.com/questions/3192090/test-driven-development-vs-test-first-development http://stackoverflow.com/questions/3192090/test-driven-devel...
- ZoFreX 12y agoThe way I was taught is that TDD is writing a test, making it pass, repeat - the red-green-refactor cycle. Test first could include "write 200 tests that all fail, then write all the code to make them pass". Somewhat substantiated by this answer: http://stackoverflow.com/questions/334779/is-there-a-difference-between-tdd-and-test-first-development-or-test-first-prog http://stackoverflow.com/questions/334779/is-there-a-differe...
- icefox 12y agoWhile TDD originally stood for writing tests first and then code for the majority of people TDD means you have tests. I have encountered countless people that say they are using TDD, but writing tests after or during coding and not before. To them test driven development means that you are done with a task when the test passes. In comparison to before where there was no tests it is easy to see how the new way of developing is related to tests so they think they are doing TDD. So I would say that "classic" TDD or test first development is dead. It also didn't help how TDD was shown in a study to not work out very well. I don't have it off hand, but it was talked about in the "Making Software" book http://www.amazon.com/exec/obidos/ASIN/0596808321/wwwicefoxnet-20 http://www.amazon.com/exec/obidos/ASIN/0596808321/wwwicefoxn...
- randomdata 12y agoI'm interested to know what the difference is? Test Driven Development implies test-first to me. I do agree that testing itself remains useful.
- npinguy 12y agoThe theory for test-first is you'll come up with a more testable design, and have better, cleaner, more focused tests if you write them first, then design the code based on the tests. If you write the code first, then try to write the tests after, you may have to refactor code to support testing (if you're not used to writing testable code), or you might end up having to do very convoluted tests to make them work (see above re: 3-level mocks), or you might just accept subpar test coverage
- randomdata 12y agoIf you write code first, how are the tests driving your application? It sounds like, by your description, that "test-last" is code driven development; often making the tests fit the code, rather than the other way around.
- npinguy 12y agoThe second "code" should have been "tests" ;) Edited
- shutton 12y agoSometimes people take TDD to mean Test Driven Design
- ZoFreX 12y agoGiven that TDD is a subset of Test First, how can test first be dead but TDD be alive?
- deleted 12y ago[deleted]