Topic: TDD: why it arose?
Esteemed here the book about TDD, and thought of its value and generally what for it is necessary. As it is known, technologies pr-va a software - how many not a science, and the dial-up of the mechanical skills powdered by a thick layer by nothing confirmed and marketing. In this case I was attracted with the thesis that TDD is created not so much for testing, how many for incremental creation of design, laconic, clear and simple for the further changes at any moment of development. And units-tests form as ghost effect, the useful bonus. But if to look at those examples which are resulted as an illustration of process with usage TDD, at all architectural changes imported to the code in the course of refactoring on each cycle TDD, it is possible to fulfill with the same success without everyone TDD simply drawing charts on a paper, considering limitation of this or that architecture, and importing to it changes in . With the above-named principles (laconicism, simplicity of change, ). I.e. For any sequence of changes in frames TDD there is a sequence of changes in frames of traditional charts in style UML. Only in a case with UML the design documentation, instead of units-tests as a result turns out. And since application TDD at all does not replace application of the best an expert (the patterns which have been checked up in practice receptions of implementation of OOPs-systems in specific language), it is not becomes clear why TDD it is presented as changeover to the traditional approach in software designing? Well type "already nobody draws charts, and it is fashionable and TDD".