К основному контенту

Переключите тумблер или умные люди дурного не посоветуют

Навеяно интересными вопросами про TDD после вчерашнего выступления.

Uncle Bob: "Flipping the Bit"

Подробнее постараюсь перевести чуть позже, пока только это:
Как определить, что у коллеги (или у вас) ТУМБЛЕР переключен?  Если ваши ответы на вопросы ниже совпадают с приведенными - то все хорошо :)
Мантра:

  1. Сможете ли вы выполнить работу быстрее используя TDD? ДА
  2. Существуют ли какие-либо задачи, которые вы можете выполнить быстрее без TDD? НЕТ
  3. Я понимаю, что TDD может помочь в долгом проекте, а что если у вас короткая задача? Будете использовать TDD? Да, потому что TDD быстрее даже в короткой перспективе
  4. Что если времени реально не хватает, и босс стоит над душой, будете ли вы использовать TDD? ДА
  5. В любом случае? ДА
  6. Есть ли случаи, когда вам не нужно использовать TDD? НЕТ
  7. Представьте себе что вы на звездном корабле Enterprise (Star track) и осталась всего секунда до взрыва антиматерии. Все что вам нужно, чтобы избежать этого, поменять один IF. Будете ли вы использовать TDD? ДА
  8. Почему? Потому что так быстрее
  9. Даже для одного IF????? ДА, даже для единственного IF
  10. Ты хочешь сказать, что вообще нет случаев, ВОООБЩЕ, когда тебе не надо использовать TDD? Хмм, я могу не использовать TDD, но тогда времени на выполнение потребуется больше, и багов будет больше. Каких то других случаев нет.
  11. Ха, а тестирование UI? :) ну вот c UI все веселей. Короткий ответ ДА, нужно. Его можно не делать только для статичных вещей (высота шрифта, стиль, положение) - мое мнение по поводу yes, for all the dymamics

Комментарии

Популярные сообщения из этого блога

Mock vs Stub

Когда мы начали изучать модульное тестирование, то одними из первых терминов, с которыми пришлось познакомиться, стали Mock и Stub. Ниже попробуем порассуждать в чем их сходство и различие, как и для чего они применяются. Проверять работоспособность тестируемого объекта (system under test - SUT) можно двумя способами: оценивая состояние объекта или его поведение. В первом случае проверка правильности работы метода SUT заключается в оценке состояния самого SUT, а также взаимодействующих объектов, после вызова этого метода. Во-втором, мы проверяем набор и порядок действий (вызовов методов взаимодействующих объектов, других методов SUT), которое должен совершить метод SUT. Собственно, если коротко, то в одном случае используется Stub, а в другом Mock. Это объекты, которые создаются и используются взамен реальных объектов, с которым взаимодействует SUT в процессе своей работы. Теперь подробнее. Gerard Meszaros использует термин Test Double (дублер), как обозначение для объе

Полезные ресурсы для молодых (и не только) тестировщиков

сперто(с) Уже 3 месяца провожу собеседования тестировщиков (март 2016). Поначалу они просто  веселили - после 15-летнего опыта собеседования С++-разработчиков, общение с тестировщиками (чаще были "-цы") было чем-то экзотическим и забавным. Потом становилось все грустнее и грустнее, мимими закончилось. Началась печаль.

Заметки на коленке - 3. Что еще делать, если ваши тесты уже "зеленые"?

"Lately I find I'm working on automated tests that return non-binary results. Tests that neither pass nor fail" by  @noahsussman Отличная мысль, которую я ретвитил еще в 2016. Но давайте вместе подумаем, что за этим может скрываться? ( кстати, не знаю, что при этом думал Noah ) Ваши тесты прошли и прошли "успешно". Все хорошо или все же есть, куда еще посмотреть? Дальше то, что использовал я лично и то, что еще можно прикрутить дополнительно. Естественно все шаги ниже должны быть автоматизированны. 1. Контролируйте время выполнения тестов. Если набор проверок не меняется (а такое часто бывает, к сожалению), то рост времени выполнения может говорить о проблемах в продакшен коде (чаще всего) или проблемах с окружением. 2. Контроль за количеством выполняемых тестов. "Все зеленое" не значит, что сегодня выполняли те же Х тестов, что и вчера. Смешно(нет), но случается такое, что какие-то проверки "исчезают" из запуска из-за того, что у кого-то &qu