Pull to refresh

TDD, мокисты и реальные пацаны

Reading time2 min
Views3.1K
Рабочие обсуждения TDD и стратегий тестирования часто заходят в тупик.

Фаулер обтекаемо сказал, что это две культуры, мокисты против классиков.

Мокист: Давайте разрабатывать на моках.
— Это пустая трата времени! Их будет некому поддерживать и синхронизировать.
Мокист: Давайте напишем юнит-тесты.
— Полагаться на юнит-тесты опасно!
Мокист: Но если мы правильно разобъем компоненты…
— Да откуда вы уверены, что вы правильно разобъете?
Мокист: Давайте разобъем истории по юзер вэлью.
— Давайте! Но сначала нам нужно пофиксить упавший QA-энвайронмент.
Мокист: Тестировать на моках быстрее.
— Только интеграционные тесты на реальных зависимостях дадут нам ценную информацию! Да и кто ваши юнит-тесты будет поддерживать.
Мокист: Но интеграционные тесты долго выполняются и покрывают меньше сценариев.
— У меня на огромном проекте в прошлом все было прекрасно!

— Наши интеграционные тесты сломаны уже две недели. — Поставь skipTests и пропихни в QA, у нас деплоймент горит.
— Вы же обещали, что после релиза мы сможем отрефакторить лишние зависимости. — У нас продакшен инцидент, займись реальной работой.

Особенность этих обсуждений не в аргументах сторон, а скорее в манере ее ведения. Тут на кону нечто большее, чем разработка.

Можно предложить другой вариант: ботаники против реальных пацанов.

Ботаники обсуждают. Реальные пацаны учат.
Ботаники советуют и формулируют правила. Реальные пацаны диктуют.
Ботаники приводят воспроизводимые примеры. Реальные пацаны давят на опыт и anecdotal evidence.
Ботаники оценивают риски. Реальные пацаны пугают.
Ботаники оценивают последствия. Реальные пацаны предлагают новую агенду.
Ботаники живут по расписанию. У реальных пацанов всегда или слишком рано или слишком поздно.
Ботаники критикуют код. Реальные пацаны критикуют ботаников.
Ботаники любят смешные названия, моки, фейки, стабы. Реальные пацаны любят пафос.
Ботаники хвалят решения друг друга. Реальные пацаны обесценивают.
Ботаники любят книжки. Реальные пацаны любят «реальность» и «жизнь».
Ботаники не любят и не умеют лгать. Реальные пацаны лгут постоянно.
Ботаники любят код и фреймворки. Реальные пацаны их боятся и демонизируют.
Ботаники объединяются в коммьюнити, реальные пацаны — в иерархии.
Ботаники читают документацию. Реальные пацаны настаивают на том, что есть недокументирванные вещи.
У ботаников планы на вечер. Реальные пацаны любят авралы.
Ботаники ждут результата. Реальные пацаны кайфуют в процессе.
Ботаники любят порядок. Реальные пацаны любят порядок только на словах.
Ботаники все время делают одно и то же. У реальных пацанов каждый проект — уникальный, со своими, особыми требованиями.

Ботаники любят юнит-тесты, моки, рефакторинг и надежные частые билды. Реальные пацаны любят сложные системы, в которых бродят страшные непредсказуемые демоны.

Что с этим делать ботаникам? То же, что делали ботаники с гопниками всю человеческую историю.

Опознавать маркеры. Избегать скоплений. Дружить с себе подобными.

Быть настойчивыми. Терпение — не сильная сторона реальных пацанов.

Публично фиксировать ошибки. Пацаны любят не любят позора.

Не поддаваться на давление. Реальные пацаны любят дедлайны и срезания углов.

Учить матчасть. Реальные пацаны любят давить матчастью.

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

Реальные пацаны всегда доминируют. Ботаники побеждают.
Tags:
Hubs:
-10
Comments26

Articles