Рубрики
Без рубрики

Тестовый код перед разработкой (TDD).

Тестированному коду всегда отдается предпочтение в производстве, чем непроверенному коду. А с помощью написания модульных тестов разработчик может сократить свои усилия по разработке до переделки.

Автор оригинала: AB Abhi.

Разработка на основе TDD – тестов-это методология тестирования разработки, которая помогает разработчикам достичь Скорости, надежности и качества с помощью специально структурированных механизмов. Это подход к разработке программного обеспечения, при котором разработчик пишет модульные тесты перед кодом приложения.

Джо Берч, старший инженер Android в Buffer : “Следование TDD не только позволило нам написать более простой и понятный код, но и позволило нам больше думать о том, что мы реализуем, прежде чем фактически реализовать его. Это дополнительное пространство для размышлений позволяет нам понять и проверить различные логические пути, прежде чем углубляться в детали реализации. Это, в свою очередь, помогает сократить время разработки, создавая что-то менее подверженное ошибкам с самого начала.”

Если мы проведем unittest, но не рефакторинг, то мы обнаружим (некоторые) ошибки раньше. Если мы проведем модульное тестирование и рефакторинг, то мы предотвратим ошибки—будет сделано меньше ошибок, поэтому меньше обнаруживать. Итак, давайте измерим эти два результата в качестве наших основных показателей.

Шаблон для упорядочения и форматирования кода в методах модульного тестирования:

Последующие – 3 А

  1. Организуйте все необходимые предварительные условия и входные данные.
  2. Действие на тестируемый объект или метод.
  3. Утверждать , что ожидаемые результаты достигнуты.

Шаблон для именования модульных тестов:

  1. Дано – входы
  2. Когда – при определенных условиях
  3. – Сгенерированный вывод

Ниже приведены некоторые примеры: a. test_func_raises_zero_division_error_for_divisor_as_zero b. test_is_adult_false_age_less_than_18 c. test_fail_to_admit_form_if_mandatory_fields_missing

5 основных преимуществ разработки на основе тестирования:

“Проверенному коду всегда отдается предпочтение перед выходом в производство. И с помощью написания модульных тестов разработчик может сократить свои усилия по разработке, чтобы повторно работать, если в случае появления нового улучшения функций.”

  1. Подталкивает разработчика к написанию чистого и надежного кода.
  2. Разработчики имеют в виду четкую цель, и это очень важно в гибкой среде.
  3. Будущие усовершенствования будут намного проще, так как разработчик будет знать, что и где менять, и да, тестировать новый код одновременно.
  4. Функциональность кода может быть легко понята, так как, скажем, работа разработчика заполняется другим разработчиком, тогда новый разработчик может легко понять функциональность кода, пройдя модульные тесты.
  5. TDD снижает вероятность случайной упаковки тестов с производственными двоичными файлами.
  6. Существует множество гибких инженерных практик, которые может использовать команда, и многие из этих гибких инженерных практик зависят от наличия модульных тестов.

Рекомендации:

  1. Метрики: Делаем ли мы TDD
  2. Чистый код Роберта Си Мартина
  3. Примеры единичных тестов с использованием py-тестов
  4. Зачем использовать Разработку, Основанную На Тестировании?
  5. Принципы разработки на основе тестирования