A TDD loop is a test, code, refactor, (replay), and then sending. TDD implies development that is driven by testing, in particular, it means understanding the requirements and then performing tests before developing or writing code.
My natural inclination is a philosophical bias in favor of TDD; I would like to make sure there are other approaches that now work well or even better than TDD, so I asked this question. There are other questions that suggest that TDD is expensive, difficult to implement, presents problems ... I agree, but what are some good alternatives?
What are some good examples of perfectly acceptable approaches that don't use / don't require / require test-based development?
I can come up with a lot of approaches that are not TDD, but there can be a lot more problems than what they cost ... this is not a moral judgment, but simply that they cost more than they cost ... just examples things that may be in order, like training exercises, but approaches that I find unacceptable for serious production, rather than TDD, may include:
- Quality control in your product . Focusing your efforts on developing test / QA skills can be problematic, especially if you are not working with requirements and the development side first ... a symptom of this includes an error where developers have so many different errors, in order to deal with this, you must use the form sorting - each development cycle gets worse and worse, programmers work more and more hours, sleep less and less, fight continue to march to death until they are absorbed.
- Superstition ... believing that you do not understand - this will imply a borrowing code that, in your opinion, has been verified or verified somewhere, for example. legacy code, a magic code launcher, or an open source project, and you go ahead by cracking a storm of modifications, pushing FaceBook Connect into your user interface, inventing some new magic features on the fly (for example, mashup using the Twitter API, API GoogleMaps and possibly the Zappos API), demonstrating several new “products”, and then wrote a simple “specification” and a list of “test cases” and submitted it to the Mechanical Turk for testing. (Extra points are awarded for believing that your product is the next Facebook, Twitter, or YouTube.)
source share