Ask HN: What prominent and high profile companies use TDD?
From abstract:
> In our research, we ran a set of structured experiments with 24 professional pair programmers. One group developed code using TDD while the other a waterfall-like approach. Both groups developed a small Java program. We found that the TDD developers produced higher quality code, which passed 18% more functional black box test cases. However, TDD developer pairs took 16% more time for development.
Referring to this as "industry" seems a bit contrived and wrong.
What I am looking for is some details of companies/teams/organizations (not individual developers at companies) that use TDD with some significant consistency for production software with real users. That means > 50% of the time, said entities use TDD for some code base. And I would like this to be somewhat verifiable and well documented - not just some person on Quora saying "Some How Yes !!! All major products are following TDD, And if few are not following then they are probably busy to create unit cases/integration tests for existing code and want to adapt TDD in near future as soon as possible !"
With TDD I mean:
- From Kent Beck: Never write a single line of code unless you have a failing automated test. Eliminate duplication.
- From Wikipedia: 1. Add a test, 2. Run all tests and see if the new test fails, 3. Write the code, 4. Run tests, 5. Refactor code, Repeat
What TDD is not:
- Existence of automated tests
- Existence of test coverage metric mandates
6 comments
[ 4.5 ms ] story [ 24.1 ms ] threadOften the unknowns in software development aren't the kind of things you can test in a unit test.
As for Kent Beck, he's like Tony Robbins. Kent Beck might have been a software developer but now his business is giving talks.
My experience is that "TDD" works best in a "plan it all ahead of time" scenario. For instance if you wanted to write a C compiler you know what the syntax and behavior is ahead of time and you can start with an extensive test suite.
https://youtu.be/z9quxZsLcfo?t=1447
> I share with with David and Kent, there are problems where TDD doesn't work terribly well, and sadly most of the programming I do these days is not conducive to TDD and I miss it because actually I really like the TDD flow that really works for me just as it works the Kent.
I think it is important to understand the concept and to strive to have a good test suite that helps you enhance and maintain projects.