Can TDD work in an architect / performer environment?

This has been in my opinion lately, as I can clearly see the benefits of TDD. I can easily understand how tests can manage a good design if the developer has an idea of ​​what functionality is. This may be an oversimplified statement, but from all that I read, TDD stands for the fact that you do not have a design that goes beyond the architecture of your project and the choice of structure. In this case, Id should guess that even the most hardcore TDDers do not have a completely empty mental design when they start working

My question is this: can TDD be used in an environment where a senior programmer / designer / architect designs the class and / or component and then passes it to the junior developer? In this case, the tests will not be the main design driver. I assume that the implementing programmer can implement this project using the first testing approach. In this case, is it still a TDD, or is it what it would be better to call the Test Driven Implementation? Would there be something like this work in the real world, or do you think that in the end you will come across the worst parts of TDD and design the front?

UPDATE:

I came across a Roy Osherove blog describing various TDD values :

What are the possible TDD values?

  • Test Driven Development : The idea is to write your code in a test manner first. You may already have an existing project in place.
  • Test-oriented development . integration test tests in your code and write them down either before or after our code writing. There are a lot of tests in your code. You recognize the value of tests, but you do not have to write them down before you write code. Design probably exists before writing code
  • Test Driven Design (eXtreme Method of Programming) : the idea of ​​using the first approach to testing is a technical technique, where tests are a bonus, but the idea is to manage a complete design from little-to-design in general. You design how you go.
  • : , . , , , .

, TDD, , , , , , Driven Development.

+3
5

TDD - . , , .

, , . , , - , TDD. , , , . , , .

TDD, , , , , . , , , , , . , - - , , - .

, , TDD , .

, TDD , , , , Do not Code anti pattern. , , . , , .

+6

"TDD , ,

TDD , .

: , - .

TDD - , .

, .. TDD , " ". TDD - , -, .

, , , "" , , . , .

, "" ? ? , . , .

, . , , , / , , , .

+2

, , TDD, , , , .

Test Driven Development - . . , .

repeat:(add a test->write code to satisfy test criteria) * , , . , , , .

* shortened for convenience
+2

, , .

, . .

For example, take a look at Martin Fowler's article “Consulting Contracts,” which describes how this approach works with web services: http://martinfowler.com/articles/consumerDrivenContracts.html

+2
source

We have a design process very similar to your question. In fact, we have broken the gap between analysis and implementation with this process. And the designer has unit tests in his design.

+1
source

Source: https://habr.com/ru/post/1697414/


All Articles