Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Автотесты. Борьба за внедрение

Автотесты. Борьба за внедрение

Владимир Остаточников (Свемел, Ведущий программист). @ Moscow Python Meetup №76
"Хочу рассмотреть кейс, когда разработчик приходит на проект, а там: автоматизации тестов — нет и команда не хочет ее внедрять; cd/ci — нет и не предвидится. Хочу обсудить: типовые причины, которые приводят к такой ситуации; проблемы, которые будут у разработчиков."

Видео: https://moscowpython.ru/meetup/76/fight-for-autotests/

Moscow Python Meetup

December 23, 2021
Tweet

More Decks by Moscow Python Meetup

Other Decks in Technology

Transcript

  1. Боль • 25 собеседований за 2 недели (декабрь 2020); •

    0 упоминание о автотестах в вакансии; • 3 из собеседующих затронули тему тестирования; • 8 “автотест диссидентов”.
  2. Подходящее время не придет никогда. Цитаты: • На написание тестов

    нет времени.(с) • Напишем, когда реализуем все функции ПО, не хотим тесты переписывать.(с) • Покроем тестами только важные части.(с) Вопросы для обсуждения: 1. Разработчики будут все проверять руками и это будет гораздо быстрее? 2. Какой шанс того, что вы потом сможете внедрить тесты? 3. Какая-то часть кода меняется постоянно, когда наступит это “потом”?
  3. Сложная архитектура . Цитаты: • Не будем писать тесты, потому

    что нам придется сторонние сервисы дублировать, а их много(с) • На беке много сущностей, поэтому будет много моков. Чем больше мок объектов на один тест, тем меньше пользы от теста. (с) • Архитектура постоянно меняется, что же нам тесты переписывать?(с) Вопросы для обсуждения. 1. Стаб объекты и моки нужны, но если их на один тест нужно много, то, наверно, архитектура кода требует пересмотра? 2. Почему архитектура приложения не гибкая? 3. Может быть команде нужены бизнес аналитик и архитектор?
  4. Нет доверия к команде. Цитаты: • Программисты плохо тестируют.(с) •

    Для тестов нужны хорошие программисты, потому что это навык, а это дорого.(с) • У нас нет программистов, которые умеют хорошо писать тесты.(с) • Тесты, все равно, работают криво\не корректны.(с) Вопросы для обсуждения. 1. Возможно, менеджмент недооценивает профессиональный уровень команды? 2. Компания сознательно идет на написание кода, которой превратиться в суровое легаси?
  5. Почему нужно обсудить автотесты? 1) Типичные возражения против введения автотестов

    - это попытка скрыть проблемы архитектуры ПО и организации разработки. 2) Анализ возражений позволяет показать настоящие проблемы, которые есть в проекте и в организации разработки. 3) Простое обсуждение темы атоматизации тестирования помогает понять, хотите вы заниматься разработкой предлагаемого проекта или нет.