Как организовать автоматическое тестирование

отлично ждем первых результатов

если что пишите, будем помогать :)

обязательно отпишу

Только что с интересом прочитал эту тему. Чертовски не хватает эпилога от @toyen :wink:

Ответ однозначный: разработчики должны писать и тесты тоже!
Стандартная отговорка “нет времени” снимается очень легко: на “код+тесты” тратится значительно меньше времени, чем на “код + тестирование + багфиксинг + багфиксинг на продакшине”.

Есть одна проблема: это невозможно доказать. Какие-то исследованями вряд ли кого-то убедят (хотя они есть), но зато есть реальный опыт команд, которые так делают. Так, например, сделали интернет-банк “Банк СанктПетербург” всего лишь за 5 месяцев вчетвером. Продукт теперь в тройке лидоров российского рынка. Подробнее об этом у них есть длинный пост: http://blog.codeborne.com/2012/12/5.html

Да, это очень точно подмечено – доказать очень сложно. И единственным доказательством может послужить то, что после внедрения автоматизации – “всё стало лучше” (или хуже) на данном проекте.

Следовательно, первоее что нужно сделать – это убедить менеджмент дать время.

Мне нравится пример, который привёл Боб Мартин в книге “Чистый код”.
Врачи, перед тем, как делать операцию, моют руки. Они не спрашивают ни у кого разрешения, не просят выделить на это время - они просто моют руки, потому что они профессионалы и знают, что это совершенно необходимо для достижения результата (ремарка: раньше врачи руки не мыли, и когда кто-то первый до этого додумался, его сильно критиковали: мол, лишняя трата время, нам некогда).

Прямая аналогия. Вы профессионалы, вы знаете, как надо делать - так фигли вы должны у кого-то спрашивать разрешения. Делайте как следует.

Очень просто. На тесты тратится рабочее время. Рабочее время оплачивается заказчиком.
Если не договоится с заказчиком, то авто-тесты нужно будет писать в нерабочие время, на выходных, например.

А хирурги сейчас моют руки, потому что таковы должностные инструкции и не важно что каждый отдельно про это думает.

Согласен с @dzhariy пример немного некорректен. Одно дело, сходить на 5 минут помыть руки, а другое - уделять треть рабочего времени написанию и поддержек тестов, коммуникации, и т.п.

Если это не нужно менеджменту, то разработчикам точно уж не нужно. Разработчики на самом деле, любят всё автоматизировать, это ж их работа по сути, и много не надо, чтобы вдохновить их писать тесты. Ты же программист, представь себе, что девочка должна кликать одни и те же кнопки, когда ты мог бы написать один крутой скриптик, который кликает на кнопки сам. Но. Если идут дедлайны, более важные задачи, багофиксы, релизы, деплои, у разработчика просто не хватает времени и энтузиазма, начинать и поддерживать сопутствующий проект.

В идеале, конечно, убедить менеджера, чтобы он убедил начальство. Ибо кто-то да должен быть ответственным. Самоорганизация в команде, где начальству важен не стратегический результат, а нужен деплой навчера, просто не возможна.

1 лайк

… но зато есть реальный опыт команд, которые так делают. Так, например, сделали интернет-банк “Банк СанктПетербург” всего лишь за 5 месяцев вчетвером. Продукт теперь в тройке лидоров российского рынка

1 лайк

Всем привет. К сожелению, чуда не происходит. Конечно, есть реальные примеры реальных компаний, но нет панацеи, нет уверенности в том, что вот так и так работать будет точно. Мне не удалось организировать этот процесс, то ли не хватило уверенности, то ли поддержки руководства. Разработчики писать тесты не станут. Почему? Просто потому, что не хотят, потому что нет времени, потому что за это не платят. Клиентам это не нужно - потому что они не понимают этого, потому что за это надо дополнительно платить. РУководство постоянно занято другими проблемами. Единственный аргумент, который может подействовать на руководителя или клиента - это модно, так делают во всех крутых компаниях, это просто нужно. Так во всяком случае все выглядит со стороны, с моей стороны.

Спасибо за внимание и помощь

наши заказчики оценили пользу от ежедневной регрессии. Когда для того, чтобы понять где бага - достаточно проверить коммиты за один-два дня.
у регрессионных багов один из самых высоких приоритетов.
Мы необходимость мануальщиков доказывали. Это было сложнее. вот такие у нас перевертыши.