Как мы переобучили ручных тестировщиков на Java-автотестеров

Задача
Заказчику необходимо оптимизировать процесс тестирования ПО.
Решение
Запустили программу переобучения ручных тестировщиков автотестированию на Java, и через год после старта проекта вовлечение ручных тестировщиков уменьшилось на 70%, и каждую отгрузку компания экономит до 800 человеко-часов.

Задача

ПО клиента с развитием компании стало очень объемным, для его поддержания требовалась чрезмерно большая команда тестировщиков. Им приходилось практически всю итерацию до выхода новой версии проводить ручное тестирование старой. До выхода свежего кода не получалось значительно продвинуться вперед. Стало очевидно, что процессы нуждаются в модернизации и структурной перестройке. 
При этом поиск на рынке автоматизаторов не был оптимальным решением — эти специалисты дефицитны, и к тому же после найма потребовалось бы адаптировать новичков не только к компании, но и к самим продуктам. При этом в штате клиента уже были сотни ручных тестировщиков, которые лучше всех знают свой продукт. Так что наиболее эффективным выходом в данном случае было переобучить часть из них на Java- автоматизаторов.

Решение

Мы провели входное тестирование, чтобы выбрать амбициозных и мотивированных тестировщиков, способных стать автотестерами.

Отбор происходил по 3 критериям:

  • тест,
  • беседа — проверка мотивации,
  • отзыв руководителя — чтобы убедиться, что сотрудник действительно может получать задачи по автоматизации и обучение пройдет не зря.
В результате тестирования мы отобрали 12 инженеров, которые попали в группу на дообучение.
При создании курса мы опирались на требования и список всех технологических сервисов, используемых для создания и работы ПО заказчика. Также мы проводили детальные кастдевы с руководителями и инженерами компании, чтобы точнее понять их запросы. Работа с руководителями позволила заранее подготовить реальные задачи по автоматизации для выпускников. Такие, которые они будут выполнять в своих командах после окончания курса.

Из чего состояло обучение

Курс был гибридным и сочетал предзаписанную теорию с тестовыми заданиями, практическими задачами с самопроверкой и синхронными встречами с экспертами. Почти полгода менторы из Т1 Цифровой Академии и практикующие эксперты по автотестированию ИТ-холдинга Т1 индивидуально работали с участниками группы, проводили ревью и консультации при выполнении учебного проекта.

Что изучали сотрудники

Обучающиеся освоили инструментарий тестирования на базе Java-технологий, научились автоматизировать процессы проверки программных модулей, веб-сервисов и веб-интерфейсов, освоили JUnit. Также они практиковались в тестировании веб-сервисов с использованием RestAssured и применении WebDriver для обеспечения качества веб-интерфейсов, познакомились с инструментами отчетов Allure и TestIt.

Какие были сложности

Главная сложность (помимо того, что освоение программирования — априори непростой процесс) заключалась в психологическом барьере. Если раньше специалист находил ошибки у разработчика, то теперь его роль кардинально поменялась — он сам разрабатывает тесты и уже у него могли найти ошибку в коде. 
Чтобы облегчить обучающимся погружение, мы приняли решение ввести параллельные процессы: участники курса проходили темы по Java и в то же время правили чужие тесты, со временем начиная писать собственные.
В курс вошли модули по изучению ПО Docker, Openshift, Kubernetes, Helm, Grafana, Prometheus, TeamCity и TeamCity Kotlin DSL.

Результат

По итогам программы автоматизаторами стали 7 человек — они вернулись в свои команды и перехватили те блоки задач, что были связаны с повторяющимися рутинными тестами. Через год после старта проекта вовлечение ручных тестировщиков уменьшилось на 70%, и теперь каждую отгрузку экономия времени достигает 800 человеко-часов.
А еще переобучение вышло на 25% дешевле, чем поиск и найм специалистов с аналогичными навыками на рынке.