atesting.ru Блог Что такое разработка через тестирование? Как это работает?

Что такое разработка через тестирование? Как это работает?

 Что такое разработка через тестирование? Как это работает?

Как разработка через тестирование помогает программистам писать лучший код

Если вы ' Что касается разработки программного обеспечения, вы наверняка слышали о подходе к разработке, основанном на тестировании (TDD). Чем он отличается от традиционного процесса разработки? Что делает его особенным? И в чем смысл его использования?

Сегодня мы собираемся изучить основы разработки через тестирование — что такое TDD, как он работает и когда работает лучше всего.

Начнем с основ.

Что такое TDD?

TDD означает разработку через тестирование . Это методология разработки программного обеспечения, которая предлагает подход к программированию «сначала тест, потом код».

В двух словах, TDD означает, что разработчики пишут автоматизированный тест перед написанием функции.

Там — это два других метода тестирования, аналогичных разработке на основе тестов: разработка на основе поведения (BDD) и разработка на основе приемочных испытаний (ATDD) .

В BDD тестирование основано на поведении системы, а ATDD фокусируется на удовлетворении функционального поведения системы.

Ключевые отличия:

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

Обучение подробнее о TDD, BDD и ATDD

Но вернемся к разработке через тестирование.

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

Рабочий процесс выглядит так:

  1. Dev пишет тест.
  2. Запускает тест и видит его. сбой.
  3. Записывает код.
  4. Выполняет тесты еще раз.
  5. Переписывает код.
  6. Повторяется до тех пор, пока тест не будет успешным.
  7. Бинго!

Что такое Test- Управляемая разработка? Как это работает?

В идеальном мире в процессе должны быть задействованы два специалиста — два разработчика или разработчик и инженер по обеспечению качества. Но это не правило: один разработчик по-прежнему может писать как модульные тесты, так и программный код с использованием технологии TDD.

Как работает TDD?

Давайте рассмотрим пример: мы собираемся рассчитать, сколько еды нам нужно приготовить для нашей собаки.

Нам нужно создать простую форму, в которой мы вводим возраст и вес собаки и рассчитываем, сколько еды собака должна есть в день.

Давайте подойдем к этой задаче с помощью техники TDD:

  1. Напишите тест, проверяющий, что функция getDogFood () возвращает желаемые значения в различных ситуациях.
  2. Посмотрите, как проходит тест.
  3. Напишите очень простой код функции, чтобы пройти тест.
  4. Убедитесь, что тест пройден.
  5. Подумайте о качестве написанного кода. Мы можем провести рефакторинг или изменить все, что захотим, поскольку у нас есть тесты, которые определят проблему (если есть).
  6. Повторите шаги.

Затем вам нужно описать это с помощью специального синтаксиса (зависит от используемого вами инструмента).

Идея TDD заключается в том, что перед написанием программного кода вы садитесь и заранее все обдумываете. И это здорово, потому что многие разработчики начинают писать код, не задумываясь, что именно код должен делать.

Зачем мне TDD?

Подход TDD к разработке дает немало преимуществ:

  • вы продумываете свой код при планировании функции;
  • вы обнаруживаете ошибки в коде намного быстрее (и чем быстрее вы обнаруживаете ошибка, тем дешевле будет ее исправить)
  • помогает установить связь между членами команды — разработчиком, QA, PM и т. д.
  • меньше передачи задач между разработчик и QA.
  • простой рефакторинг и сопровождение кода
  • хорошие тесты работают как документация и помогают новым членам команды быстрее адаптироваться.
  • лучшее покрытие, которое приводит к 40% -80% меньшему количеству ошибок

В конечном итоге это может даже снизить затраты на разработку программного обеспечения. Правильно, разработчикам и инженерам по обеспечению качества нужно время, чтобы написать эти тесты: разработка функции с автоматическими тестами может стоить на 20-50% дороже.

Но в долгосрочной перспективе процесс идет намного быстрее — все функциональность будет автоматически проверена после изменения или модификации.

 Что такое разработка через тестирование? Как это работает?

TDD работает лучше, когда дело доходит до создания программного обеспечения со сложными алгоритмами, и если это приложение проработано от начала до конца.

Биография автора : Виталий Купренко — технический писатель Cleveroad. Это украинская компания по разработке мобильных и веб-приложений. Ему нравится рассказывать о технологических инновациях и цифровых способах развития бизнеса.

TAG: qa