Подтвердить что ты не робот

Является ли разработка, управляемая тестированием, такой же, как тестовый дизайн?

Я начинаю узнавать о Test Driven Development. Я прочитал немало статей, которые рассказывают о TDD. Некоторые из них относятся к тестированию. Другие называют это Test Driven Design. Они то же самое? У меня создается впечатление, что они одинаковы, но если нет, каковы основные отличия?

4b9b3361

Ответ 1

Разработка, основанная на тестировании, относится к практике, описывающей, как писать код.

Конструкция, управляемая тестированием, требует дополнительного требования: после этого практика приведет к хорошему (общему) дизайну.

Ответ 2

Есть некоторые из евангелистов TDD, в которых говорится, что "Test Driven Development" - это прежде всего технология дизайна, поэтому они переименовали ее "Test Driven Design" некоторое время назад. Но эта точка зрения была скептически воспринята другими, читайте, например, эту быструю публикацию

Проводится ли разработка, основанная на тестировании, сфокусироваться на дизайне?

Существует также интересная запись в блоге Ральфа Вестфала в немецком блоге:

http://ralfw.blogspot.com/2011/07/test-driven-unterstanding.html

(Здесь Google Перевод, если вы не понимаете немецкий).

Ответ 3

Разработка, основанная на испытаниях, разрабатывает тесты, прежде чем писать, что будет производственным кодом. Целью этого является создание так называемых "исполняемых требований", и все это касается написания достаточно кода для удовлетворения требований.

Если вы используете фреймворк Mocking, такой как Moq, вам придется создавать свой код на основе принципов инверсии принципов, используя Dependency Injection, который считается хорошей практикой, поскольку он уменьшает "хрупкость" вашего кода и способствует свободному соединению при мелкозернистый аспект вашего решения.

Итак, чтобы ответить на ваш вопрос, TDDevelopment больше касается реализации требований в коде, используя любые инструменты, которые вы хотите. TDDesign - это следующий шаг в эволюции модульного тестирования, в котором вы создаете хороший дизайн, используя Mocking frameworks, такие как Moq. Код, созданный с помощью TDDesign, гарантированно соответствует требованиям контейнера IoC, такого как spring.

TDDev хорош... TDDesign лучше.