Агентам не нужен TDD
Дядя Боб говорит, что TDD вообще-то для людей и агентам совсем не обязателен, ведь у агента дела с краткосрочной памятью обстоят куда лучше, чем у людей.
А что нужно агентам по его мнению? Юнит тест, CRAP метрика и мутационное тестирование... Кто-то считает CRAP и делает мутационные тесты? Если первое ещё иногда интересно, то второе довольно спорная техника - если практикуете расскажите.
TDD != тесты
А по поводу TDD (его щас прям любят вайб кодеры тиражировать), то давно понятно, что классический TDD цикл (красный тест > код > зелёный тест > рефакторинг, причем мелкими итерациями) с агентами больше похож на прожигание токенов, чем на что-то полезное. Смысл имеет скорее разнообразные тест кейсы перед реализацией продумывать с агентом (включая интересные техники типа pairwise testing), сохранить их в маркдаун или (по BDD или нет - не принципиально).
Ну и, конечно, одних лишь юнитов недостаточно совсем, они в принципе часто мало чего хорошего дадут проверить просто by design - идеально использовать умную связку из разных видов тестов - по пирамиде тестирования или лучше даже по трофею (статические проверки), ну или на худой конец хотя бы e2e или browser use/computer use.
А когда вайб кодеры говорят про важность TDD часто просто имеют в виду, что нужно тестировать и верифицировать результат - что, конечно, бесспорно. Но Кент Бэк TDD это же не про это, это именно про красный тест > код > зелёный тест. Вот так начинают путаться классические термины с этими нашими вайб кодингами... В общем, если вы ещё используете TDD с агентами - скорее всего, он вам им не нужен.
@ai_driven
Дядя Боб говорит, что TDD вообще-то для людей и агентам совсем не обязателен, ведь у агента дела с краткосрочной памятью обстоят куда лучше, чем у людей.
А что нужно агентам по его мнению? Юнит тест, CRAP метрика и мутационное тестирование... Кто-то считает CRAP и делает мутационные тесты? Если первое ещё иногда интересно, то второе довольно спорная техника - если практикуете расскажите.
TDD != тесты
А по поводу TDD (его щас прям любят вайб кодеры тиражировать), то давно понятно, что классический TDD цикл (красный тест > код > зелёный тест > рефакторинг, причем мелкими итерациями) с агентами больше похож на прожигание токенов, чем на что-то полезное. Смысл имеет скорее разнообразные тест кейсы перед реализацией продумывать с агентом (включая интересные техники типа pairwise testing), сохранить их в маркдаун или (по BDD или нет - не принципиально).
Ну и, конечно, одних лишь юнитов недостаточно совсем, они в принципе часто мало чего хорошего дадут проверить просто by design - идеально использовать умную связку из разных видов тестов - по пирамиде тестирования или лучше даже по трофею (статические проверки), ну или на худой конец хотя бы e2e или browser use/computer use.
А когда вайб кодеры говорят про важность TDD часто просто имеют в виду, что нужно тестировать и верифицировать результат - что, конечно, бесспорно. Но Кент Бэк TDD это же не про это, это именно про красный тест > код > зелёный тест. Вот так начинают путаться классические термины с этими нашими вайб кодингами... В общем, если вы ещё используете TDD с агентами - скорее всего, он вам им не нужен.
@ai_driven