Основные моменты, которые следует учесть при организации автоматизации.
Доклад рассматривает пять основных пунктов: цель, план, бюджет, людей и инструменты.
По каждому пункты я сформулировал основные вопросы, которые следует задавать себе перед тем как браться за автоматизацию.
The main points to consider when organizing automation.
The report examines five main points: the purpose, plan, budget, people and tools.
For each point, I formulated the basic questions that should be asking yourself before you take on automation.
7. План:
● Какие направления вы будете развивать?
● Какие приоритеты у работ?
● Какие ресурсы вам понадобятся?
● Как вы планируете обосновать их перед
бизнесом?
14. Устройство нашей команды:
● 4 команды;
● По одному инженеру на команду;
● Инженер совмещает ручное тестирование
и автоматизацию;
● Обучение “с нуля”.
15. Результаты:
● 3000 тестов;
● Fronted + API;
● Суммарное время на прогон: 20 минут в 5
потоков;
● В карантине +/- 100 тестов.
16. Выводы:
● Автотесты сохраняют ценность продукта;
● Наличие автоматизации обусловлено
прибыльностью или целями проекта;
● Сами по себе автотесты ничего не
решают;
● Сопротивление - это точка развития.
Здравствуйте, дамы и господа!
Сегодня я хочу представить вам свои размышления на тему организации отдела автоматизации с нуля.
Меня зовут Максим Богуславский и на данный момент я руковожу отделом обеспечения качества в компании Банки.ру.
Я занимаюсь тестированием и обеспечением качества уже 8 лет. За это время я успел проработать в таких компаниях как: Banki.ru, Luxoft, Acronis, Innova и Glu Mobile. Последние 3 года я руковожу отделом обеспечения качества в компании banki.ru .
Три года назад я столкнулся с ситуацией когда мне пришлось с нуля построить направления ручного и автоматизированного тестирования в компании banki.ru.
За это время мы сталкивались с разными этапами внедрения: были взлеты и падения
Свой опыт организации я разделил на 5 отдельных тем. Темы связанны между собой и определяют друг друга. Эти темы: Цель, План, Бюджет, Люди и Инструменты.
Для начала стоит ответить на вопрос: нужна ли вам автоматизация вообще? Я пришел к идее, что сама по себе автоматизация совершенно не решает проблемы тестирования и обеспечения качества. Какой прок от автотестов, если их никто не смотрит, они нигде не крутятся, результаты автотестов нельзя посмотреть, эти результаты никто не хочет исправлять, а сами автотесты некому отлаживать и дорабатывать.
Автоматизация должна быть интегрирована в бизнес процесс ;
Она позволяет отслеживать, что все привнесенные ценности в продукт - остаются целыми;
Автоматизация должна способствовать привнесению новых ценностей
Автоматизация может быть дополнительным инструментом мотивации для сотрудников
Основной вопрос в который все это встанет - это деньги. Вы будете тратить деньги фирмы и соответственно вам их придется каким-то образом компенсировать.
Главный вопрос который у вас будет стоять состоит в следующем:
автоматизация для непосвященных выглядит как магия
для автоматизаторов - как интересная задача
а для бизнеса - как могила для денег
им нужно объяснить на что ваши инженеры будут закапывать кучу денег.
ведь при хороших раскладах будут находить дефекты, ломаться, будут требовать калибровки или доладки.
более того качественное покрытие во многих веб-проектах - подразумевает кучу неинтересной и муторной работы. а интересные и редкие сценарии в 99% не окупаются.
Помните, что цель автоматизации - это:
снижать расходы на тестирование
защищать критический функционал (имидж или деньги)
давать быструю и надежную обратную связь
Отсюда и вопрос:
Можно взять человека на полставки? Можно организовать частичную занятость? Или взять человека на полный день. Можно аутсорсить проект внешникам.
В этих случаях возникают различные ситуации контроля исполнения.
синдром поиска “идеального автоматизатора”
паттерны: новичок, эксперт, внештатник, красноглазый линуксоид
плюсы и минусы каждого паттерна
На начальных порах автотесты очень простые и вам понадобиться человек, который просто начнет. Он будет первооткрывателем и начнет строить систему.
Хорошие исполнители плохо справляются с неизвестностью. Поэтому этот человек должен четко видеть цель, которую он достигнет, проблемы, которые возникают и уметь выбирать решение.
Ему в помощь понадобиться человек, который все это будет реализовывать.
Который будет наращивать технологические решения и развивать их.
Так же понадобятся люди, которые будут просто следить за работой тестов, запускать их и связывать их с задачами.
Сам по себе инструмент ничего не решает. И без человека он бесполезен.
Инструменты бывают разного уровня технической сложности. Для новичков и для профессионалов.
Стоит так же учитывать, что они бывают платные, бесплатные.
Их нужно откуда-то запускать. То есть стоит сразу решить в каких условиях вы их будете использовать? Локально? С сервера? Как вы их будете отлаживать?
Насколько они распространены?
Что
В нашем случае мы используем следующую связку?
Все эти слова
jmeter
SeleniumIDE
php
phpunit
curl
Пустой звук без оператора.
С другой стороны - инструмент - это такое же приложение. С такими же дефектами. За три года работы я ни разу не встретил идеального инструмента. Они все ломаются, имеют свои ограничения и сложности в использовании. Но это решается только практикой и ростом экспертизы.
Коротко расскажу о себе.
Коротко расскажу о себе.
Вместо итогов:
прежде чем начать автоматизировать поймите следующие вещи:
какие расходы вы хотите снизить и что вы хотите защитить
кто этим будет заниматься и откуда у него будет на это время
почему этот человек будет заниматься именно этими задачами
какие инструменты он будет использовать и откуда он на них возьмет деньги
как вы будете рассчитывать расходы
как вы будете защищать увеличение расходов
как вы будете считать эффективность автоматизации
ведь именно это позволяет вам защищать это направление от закрытия и оптимизации