
Если вы увлекаетесь программным обеспечением разработки, вы наверняка слышали о подходе к разработке через тестирование (TDD). Чем он отличается от традиционного процесса разработки? Что делает его особенным? И в чем смысл его использования?
Сегодня мы собираемся изучить основы разработки через тестирование — что такое TDD, как он работает и когда он работает лучше всего.
Начнем с основы.
Что такое TDD?
TDD означает разработка через тестирование. Это методология разработки программного обеспечения, которая предлагает подход к программированию “сначала тестирование, потом код”.
В двух словах, TDD означает, что разработчики пишут автоматический тест перед тем, как написать функцию.
Существуют два других метода тестирования, похожих на разработку через тестирование: разработка, управляемая поведением (BDD). и разработка на основе приемочного тестирования (ATDD).
В BDD тестирование основано на поведении системы, а ATDD фокусируется на удовлетворении функционального поведения системы.
Ключевые отличия:
Подробнее о TDD, BDD и ATDD.
Но вернемся к разработке через тестирование.
< br>Вот как работает TDD. В цикле TDD разработчик пишет модульный тест (разбивает приложение на небольшие части — модули, каждый модуль тестируется отдельно), который определяет функцию, а затем пишет код. который проходит этот тест.
Рабочий процесс выглядит следующим образом:
В идеальном мире в процессе должны быть задействованы два специалиста — два разработчика или разработчик и QA-инженер. Но это не правило: один и тот же разработчик может писать как модульные тесты, так и программный код в технике TDD.
Давайте рассмотрим пример: мы собираемся подсчитать, сколько еды нам нужно приготовить для нашей собаки.
Нам нужно создать простую форму, в которую мы вводим возраст и вес собаки и рассчитываем, сколько еды собака должна съедать в день.
Давайте подойдем к этой задаче с помощью техники TDD:
Далее вам нужно описать это, используя специальный синтаксис (зависит от на используемом вами инструменте).
Идея TDD заключается в том, что перед написанием программного кода вы садитесь и заранее все обдумываете. И это здорово, потому что многие разработчики берутся за написание кода, не задумываясь, что именно этот код должен делать.
Подход TDD к разработке приносит довольно несколько преимуществ:
В долгосрочной перспективе это может даже снизить затраты на разработку программного обеспечения. Да, разработчикам и QA-инженерам нужно время, чтобы написать эти тесты: разработка функции с помощью автоматизированных тестов может стоить на 20–50 % дороже.
Но в долгосрочной перспективе процесс идет гораздо быстрее — тестируется вся функциональность. автоматически после изменения или модификации.
TDD работает лучше, когда речь идет о создании программного обеспечения со сложными алгоритмами, и если это приложение разработано от начала до конца.
Биография автора: Виталий Купренко — технический писатель Cleveroad. Компания по разработке веб и мобильных приложений в Украине. Ему нравится рассказывать о технических инновациях и цифровых способах развития бизнеса.
TAG: qa