Разработка через тестирование (TDD) — это стиль программирования, в котором кодированию предшествует тестирование.

Разработка через тестирование, или TDD, — это стиль программирования. TDD фокусируется на улучшении кода, сосредотачиваясь в первую очередь на написании тестов. Это противоположно типичной разработке программного обеспечения. В большинстве случаев сначала разрабатывается программное обеспечение, а тестовые сценарии создаются позже.

Правила TDD

Общий принцип состоит всего из трех шагов:

  1. Напишите один модульный тест, описывающий аспект программы. Тест должен завершиться неудачно, поскольку в программе отсутствует необходимая функция.
  2. Напишите минимально возможный объем кода, который решит тест. Цель должна заключаться в том, чтобы все было просто. Нам нужно только пройти тест.
  3. При необходимости выполните рефакторинг, чтобы уменьшить дублирование кода или улучшить качество. Затем продолжайте повторять процесс.

Преимущества разработки через тестирование

  • Покрытие тестами чрезвычайно велико, потому что код написан так, чтобы тестовые сценарии проходили. Это обеспечивает хорошее качество кода и сводит дефекты к минимуму.
  • Написание только самых основ для прохождения теста делает код простым, а дизайн — более чистым.
  • Дефекты обнаруживаются раньше, потому что тестовые примеры уже написаны.

Минусы TDD

  • TDD — это шаблон проектирования, поэтому команды могут реализовывать TDD по-разному. Даже внутри команд разработчики могут иметь разный уровень приверженности принципам.
  • TDD может привести к чрезмерному сосредоточению внимания на небольших фрагментах кода и уменьшению внимания к более широким функциональным тестам.
  • Тестирование становится частью проекта, и его обслуживание может быть дорогостоящим, если тесты написаны слишком жестко.

Дальнейшее чтение

TDD тесно связан с ATDD, или разработкой, основанной на приемочном тестировании, и BDD, или разработкой, управляемой поведением.

Первоначально опубликовано на https://blog.seancoughlin.me.