Я часто слышу вопрос: «Какова карьерная лестница инженера по автоматизации?». Это интересная тема, поскольку данная специализация часто воспринимается как плоская. От этого менеджерам и техническим специалистам сложно понять, как член их команды может вырасти будучи инженером по автоматизации.

Данное руководство позволит оценить требующийся уровень знаний для инженеров по автоматизации и инженер по разработке ПО в тестировании (SDET). Статья содержит конкретные критерии, которые должны стать ориентиром при необходимости перехода на новый уровень.

Уровень 1: Junior QA automation

Инженер ранга Junior мало знаком с автоматизированным тестированием. Это новички или ограниченные в познаниях программисты с минимальной базой навыков тестирования. Они способны запускать тесты на уже готовом тестовом проекте и фреймворке, если те были созданы ранее. По сути, специалисты такого уровня пользуются лишь сформированными для них блоками тестирования.

“Младшим” инженерам по автоматизации тестирования не нужно ставить задачи самостоятельно создавать тестовый проект с нуля. Для этого требуются навыки программирования, архитектуры и, собственно, тестирования, которыми обладают более профессиональные инженеры по автоматизации или разработчики.

Уровень 2: Midlevel QA automation

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

Например, используя существующий фреймворк, инженер по автоматизации среднего уровня может добавлять дополнительные классы и функции для новых страниц, компонентов или сервисов по мере необходимости, без помощи других членов команды в создании этих элементов. Однако Midlevel QA automation – это все еще не тот уровень, который позволяет с нуля построить весь тестовый проект.

Уровень 3: Senior QA automation

Senior QA automation хорошо разбирается в программировании и тестировании. Помимо создания автоматизированных тестов он может реализовать весь проект тестирования с нуля. Также он разбирается в различных шаблонах проектирования для конкретных тестов и знает, когда их использовать.

Инженеры столь высокого уровня часто проверяют pull requests, связанные с тестированием, и помогают выработать правильные подходы для команды. Они способны научить других разработчиков (менее квалифицированных) писать тесты и создавать тестируемый код. Они также определяют, какие тесты следует автоматизировать, а какие не стоят усилий.

Senior QA automation не тратят много времени на написание тестов, как раньше, поскольку делегировали большую часть этой деятельности разработчикам и младшим инженерам по автоматизации. Вместо этого Senior больше времени тратит на создание тестовой среды, чтобы помочь другим, пишущим тесты. “Старшие” инженеры также более активно участвуют в мониторинге и сортировке сборок, осуществляя тщательный анализ информации, которую тесты показывают относительно исследуемого продукта.

Уровень 4: Архитектор автоматизации

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

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

Архитектор автоматизации обычно способен писать тесты на любом уровне, включая модульные, интеграционные и е2е. Квалифицированным архитекторам не доставляет неудобств комбинирование нескольких подходов и инструментов для оптимизации тестовых наборов.

Архитекторы по автоматизации способны написать оптимальные тесты (можно даже назвать их идеальными), но это не правильное использование времени такого специалиста. Вместо этого их деятельность должна быть направлена на создание архитектуры тестовых фреймворков и внутренних инструментов, чтобы помочь другим инженерам быть более эффективными. Эти инструменты не всегда предназначены для самих тестировщиков, некоторые из них служат для повышения производительности, что выходит за рамки тестирования.

Из-за высоких технических навыков архитекторы по автоматизации назначаются не в команду продукта. Один такой специалист зачастую работает на целый департамент.

Уровень 5: Team lead

Руководители отдела автоматизации несут ответственность за управление командой инженеров. Они предоставляют стратегию развития  и выступают в роли наставников для младших специалистов

Как и архитектор, Team lead понимает принципы встраивания тестов в общую картину доставки программного обеспечения. Он часто использует свои навыки для построения конвейеров CI / CD, оптимизации тестов, а также для обеспечения быстрой и надежной обратной связи в команде при проведении тестов.

Team lead часто получает задание “набрать команду” и, следовательно, в его обязанности входит проведение технического собеседования.

Руководитель отдела автоматизации  регулярно общается с заинтересованными сторонами:

  • менеджеры;

  • владельцы бизнеса;

  • Scrum-мастера;

  • разработчики;

  • тестировщики. 

Именно на Team lead`а ложится задача по определению роли указанных игроков в процессе автоматизации. Он способен подсказать, какой вклад данные специалисты могут внести в общее дело.

Уровень 6: Консультант по автоматизации

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

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

Инженеры по автоматизации на этом уровне обладают большим и разнообразным опытом. Они дополнительно анализируют свой опыт, чтобы определить общие проблемы, методы и стратегии, которые можно увидеть в большинстве проектов автоматизации. Благодаря этому можно предвидеть проблемы до того как они возникнут. Консультант по автоматизации предлагает оптимальный алгоритм действий, чтобы смягчить или вообще избежать проблем.

Лучшие инженеры-консультанты по автоматизации не только предоставляют технические знания, но и помогают компаниям создать целую культуру автоматизированного тестирования.

Достигайте успехов  

Карьерный путь в области автоматизации тестирования, безусловно, имеет большой потенциал. У специалистов данной сферы много возможностей для роста. С этой классификацией и руководством по критериям ранжирования инженеров вы будете знать, что необходимо для перехода на следующий уровень.