1

Кратко про Test Driven Development (TDD). Плюсы и минусы

Test Driven Development (TDD)- она же "разработка через тестирование" - это методология разработки, согласно которой при написании кода сначала пишешь проваливающийся авто-тест, потом только код, и делаешь код до тех пор, пока авто-тест не заработает.

3 этапа:

1. красный = написание проваливающегося авто-теста

2. зелёный = написание кода, чтоб тест не проваливался

3. рефакторинг = устранение дублирования и оптимизация кода

Мне такая задумка нравится, потому что:

+ TDD в некоторой степени гарантирует работоспособность программы

+ интереснее, чем мануально протыкивать swagger

+ меньше времени в будущем на манульное тестирование

+ если не доделал функционал - тест напомнит тебе его доделать

+ не нужно перепроверять работу за другими разработчиками, фронтендерам ненужно ждать фиксы первичных багов


Минусы:

- больше времени тратить на написание кода

- если писать тесты плохо, они только сделают всё хуже


Я предлагаю такие правила TDD:

- тесты делать минималистичными и простыми

- тестировать только корректный вывод результата (не тестировать пограничные случаи ошибки)

- не писать тесты, которые не могут провалиться, и не писать тесты для состояний, которые не могут произойти

- писать тесты только для главной тестируемой функции (если говорить на языке веба, писать тесты только для endpoint-ов, или же вьюх). для этого нам понадобится DI (dependency injection)

Этим мы добьёмся следующего:

- минимум времени на бесполезные тесты

- находим баланс между тратой времени на написание тестов, их пользой, и количеством покрываемого функционала

- не нарушаем архитектуру приложения, не импортируем в файл с тестами непубличные функции



Оригинальный пост:
https://t.me/sh1nke9/379

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества