Что нужно знать и уметь, чтобы уверенно работать QA Automation Engineer в 2023? Рассмотрим на примере специализации автоматизатора тестирования веб-сайтов с помощью фреймворка Selenium и языка Python. Рассмотрим чем занимается специалист этой профессии, чтобы понять, что нужно выучить и знать для эффективной работы. Нет сомнений в том, что QA Automation Engineer —  интересная и востребованная профессия. И однозначно нужно потратить время, чтобы выучить весь учебный материал и занять желаемую позицию.

Чем занимается QA Automation Engineer?

Ежедневная работа QA Automation Engineer — разрабатывать скрипты автоматических тестов. По сути инженер-автоматизатор переводит с естественного языка, на которых записаны тестовые сценарии, на скрипты автоматизации на языке Python.

Разумеется, QA Automation Engineer запускает скрипты автоматических тестов по просьбе менеджера проектов, чтобы перепроверить качество разрабатываемого веб-приложения. После запуска анализирует отчет и сообщает о найденных проблемах. Остается дискуссионным вопрос: нужно ли инженеру-автоматизатору заносить сведения о найденных ошибках? Я считаю, что нет, т. к. у него специализация больше на программирование, и с занесением отчетов об ошибках лучшее и эффективнее справятся Manual QA Engineer.

Пример скрипта автоматического теста на Python и Selenium

Рис. 1. Пример скрипта автоматического теста на Python и Selenium

Обслуживание скриптов автоматических тестов — важная часть работы QA Automation Engineer. Она связана с несколькими случаями:

  • меняется верстка веб-приложения — нужно обновить локаторы в Page Objects;
  • меняются тестовые данные — нужно обновить данные в скриптах;
  • меняется логика приложения (например, последовательность действий в каком-либо сценарии) — нужно обновить аналогичные скрипты, чтобы они им соответствовали.

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

И небольшую часть времени QA Automation Engineer тратит на координирование своих действий с другими членами команды:

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

Вот как примерно распределяется время работы QA Automation Engineer в месяц (исходя из опыта работы в Design and Test Lab):

АктивностьДоля времени
Написание скриптов автоматизации60%
Обслуживание скриптов автоматизации (внесение исправлений и адаптация к новым версиям веб-приложения)20%
Запуск скриптов автоматизации и создание отчетов о запуске10%
Коммуникация в команде с менеджерами, программистами, тестировщиками, аналитиками10%

Нужно ли знать языки программирования, чтобы стать QA Automation Engineer?

В случае специализации автоматизатора тестирования веб-сайтов — да, нужно занять языки программирования, например, Python. Это связано с тем, что те действия, которые инженер-тестировщик делает руками, нужно описать компьютеру на понятном ему языке — языке программирования. Есть системы, которые позволяют записать повторяющиеся действия в виде скрипта (например, Selenium IDE), но такой инструмент не масштабируется, если мы хотим писать сотни автоматических тестов.

Поэтому QA Automation Engineer не сможет обойтись без знания языка Python.

В каком объеме нужно знать язык Python, чтобы писать скрипты?

Хорошая новость в том, что изучить Python придется в меньшем объеме, чем например Backend-разработчику. В курсе QA Automation Engineer изучается:

  • Базовые сведения о языке. Типы, литералы, переменные, операторы.
  • Базовые структуры данных: список (list), словарь (dictionary), кортеж (tuple), множество (set).
  • Установка интерпретатора Python и среды разработки PyCharm. Запуск Python-приложений.
  • Операторы, управляющие потоком вычислений: условия, циклы.
  • Определение функций. Реализация функций и алгоритмов.
  • Модули и пакеты.
  • Ошибки и исключения. Типичные ошибки в Python-коде.
  • Приемы объектно-ориентированного проектирования. Инкапсуляция, наследование, полиморфизм. Классы и экземпляры классов. Классы данны (dataclass).
  • Написание кода в объектно-ориентированном стиле.
  • Отладка Python-приложений.
  • Стандартная библиотека Python.
  • Пакет для запуска модульных тестов unittest, pytest.

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

Кроме этого еще желательно выучить основы таких языков программирования:

  • HTML — язык разметки гипер-текста, т. е. тех страниц, которые мы видим на экране;
  • CSS — каскадные таблицы стилей — язык, с помощью которого задаются стили элементов на страние;
  • JavaScript — язык сценариев на странице, чтобы понимать как работают динамические страницы;
  • JSON — формат обмена данными между клиентом и сервером в веб-приложении.

Это необходимый минимум, чтобы начать писать скрипты автоматизации в роли QA Automation Engineer.

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

Один рабочий день QA Automation Engineer

Посмотрите в вебинаре, на что похож один рабочией день автоматизатора тестирования веб-сайтов:

Нужно ли уметь тестировать, чтобы работать QA Automation Engineer?

В автоматизацию тестирования веб-сайтов приходят люди с различной историей:

  • кто-то до этого вообще не работал в айти;
  • тестировщики, которые хотят повысить свою квалификацию;
  • программисты, которые хотят попробовать себя в автоматизации тестирования.

Сложнее всего будет конечно же тем, кто ни работал ни тестировщиком, ни программистом. А проще всего будет работать QA Automation Engineer — уже состоявшимся программистам.

Необязательно уметь тестировать или иметь предыдущий опыт работы QA Engineer, чтобы успешно работать QA Automation Engineer. В некоторых организациях очень четко разграничены роли:

  • тест-менеджер составляет план тестирования;
  • тест-аналитик пишет тестовые сценарии;
  • тест-инженер проводит сессии ручного тестирования;
  • QA Automation Engineer автоматизирует готовые тестовые сценарии.

В этом случае качество автоматических тестов не пострадает, т. к. на вход QA Automation Engineer получит высококачественные тестовые сценарии.

Но если нет такой роли тестового аналитика и ответственность составить тестовые сценарии возлагается на QA Automation Engineer, то кое-какие знания и навыки тестирования придется пробрести, чтобы работать эффективно.

Выводы

Что должен знать QA Automation Engineer, чтобы претендовать на должность:

  • базу языка программирования Python;
  • базу фреймворка Selenium;
  • иметь представления об устройстве веб-приложений;
  • знать, как организована тестовая инфраструктура.

Что должен уметь QA Automation Engineer, чтобы эффективно работать в должности:

  • настройка среды разработки;
  • написание скриптов автотестов;
  • как обслуживать скрипты автотестов;
  • уметь запускать автоматические тесты;
  • уметь запускать автоматические тесты в облаке;
  • анализировать отчеты о запуске автоматических тестов;
  • отлаживать проблемы и ошибки в коде автоматических тестов.

Курсы QA Automation Engineer

Где изучить автоматизацию тестирования веб-приложений? Всем вышеперечисленным знаниям и навыкам First Institute of Reliable Software учит на онлайн-курсе QA Automation Engineer Selenium + Python за 65 часов. Примерно еще 40 часов потребуется на выполнение домашних заданий.

Об авторе

Владимир Обризан
Владимир Обризан, к. т. н.

Консультант CEO и собственников IT-компаний. Директор и основатель Первого института надежного программного обеспечения. Директор и сооснователь IT-компании DESIGN AND TEST LAB. 14 лет опыта разработки, ТОП-менеджмента, и создания успешного IT-бизнеса. 10 лет опыта преподавателем в ХНУРЭ.