Разработка через тестирование (TDD) — это стиль программирования, в котором кодированию предшествует тестирование.
Разработка через тестирование, или TDD, — это стиль программирования. TDD фокусируется на улучшении кода, сосредотачиваясь в первую очередь на написании тестов. Это противоположно типичной разработке программного обеспечения. В большинстве случаев сначала разрабатывается программное обеспечение, а тестовые сценарии создаются позже.
Правила TDD
Общий принцип состоит всего из трех шагов:
- Напишите один модульный тест, описывающий аспект программы. Тест должен завершиться неудачно, поскольку в программе отсутствует необходимая функция.
- Напишите минимально возможный объем кода, который решит тест. Цель должна заключаться в том, чтобы все было просто. Нам нужно только пройти тест.
- При необходимости выполните рефакторинг, чтобы уменьшить дублирование кода или улучшить качество. Затем продолжайте повторять процесс.
Преимущества разработки через тестирование
- Покрытие тестами чрезвычайно велико, потому что код написан так, чтобы тестовые сценарии проходили. Это обеспечивает хорошее качество кода и сводит дефекты к минимуму.
- Написание только самых основ для прохождения теста делает код простым, а дизайн — более чистым.
- Дефекты обнаруживаются раньше, потому что тестовые примеры уже написаны.
Минусы TDD
- TDD — это шаблон проектирования, поэтому команды могут реализовывать TDD по-разному. Даже внутри команд разработчики могут иметь разный уровень приверженности принципам.
- TDD может привести к чрезмерному сосредоточению внимания на небольших фрагментах кода и уменьшению внимания к более широким функциональным тестам.
- Тестирование становится частью проекта, и его обслуживание может быть дорогостоящим, если тесты написаны слишком жестко.
Дальнейшее чтение
TDD тесно связан с ATDD, или разработкой, основанной на приемочном тестировании, и BDD, или разработкой, управляемой поведением.
Первоначально опубликовано на https://blog.seancoughlin.me.