Карьера в IT: должность QA Automation engineer

Robot image via Shutterstock.
Данная статья — шестая из серии «Карьера в IT». Здесь мы обсудим профессию, возникшую на стыке программирования и обеспечения качества — тестировщик-автоматизатор.
QA Automation engineer — это специалист по обеспечению качества продукта, который использует программные средства для создания тестов и проверки результатов выполнения.
По данным ДОУ, среднему украинскому QA-автоматизатору 26 лет. Он имеет опыт работы от полугода (джуниор) до 5 лет (сеньор) и получает зарплату $600-2700.
Задачи и обязанности
Основная задача QA-автоматизатора — создавать автоматические скрипты, которые будут проверять работу программы на основании тест-кейсов, написанных QA-мануальщиками. Это помогает сократить время тестирования и упростить его процесс.
QA Automation engineer обладает навыками программиста и логикой тестировщика одновременно:
— Как и QA-инженеры или тестировщики, QA-автоматизатор мониторит качество продукта на различных этапах его разработки, тестирования и эксплуатации.
— Как и программисты, QA-автоматизатор занимается разработкой, только он создает продукт, чтобы проверить написанное программистами.
Другими словами, программисты — создают, тестировщики — ломают, а автоматизаторы — создают, чтобы сломать.
«Типичный Automation QA engineer — лентяй. Он сделает все для того, чтобы не делать одно и то же несколько раз».
В роли заказчика для автоматизатора выступает тестировщик, который тестирует вручную. Он просит автоматизировать тот или иной кусок функциональности, чтобы больше не повторять одни и те же рутинные действия и освободить время на анализ и придумывание нетривиальных сценариев. Таким образом, автоматизатор создает продукт, конечным пользователем которого будет он сам и его команда.
Автоматизация целесообразна только в том случае, если время и ресурсы, затраченные на ее реализацию и поддержку, не превышают предполагаемых затрат времени и ресурсов, необходимых для ручного тестирования той же функциональности.
«В теории все, что тестируется вручную, можно автоматизировать. Однако это не всегда нужно. Автоматизировать нужно в первую очередь рутинные действия, которые выполняются из релиза в релиз и занимают много времени».
В круг обязанностей QA Automation инженера входит:
— Анализ требований;
— Разработка позитивных/негативных/граничных сценариев;
— Описание автоматизационных тест-кейсов;
— Разработка фреймворка для автоматизации продукта;
— Настройка тестовых окружений;
— Подготовка тестовых данных;
— Анализ тестового покрытия;
— Написание автотестов, тестовых скриптов;
— Интеграция с системами автоматического запуска или Continuos Integration;
— Выполнение автоматических тестов;
— Поддержка работоспособности уже написанных тестов;
— Написание документации;
— Анализ результатов прогонов авто-тестов;
— Баг-репортинг, общие отчеты о тестировании.
«Мы с коллегами регулярно проверяем код, написанный друг другом. Очень крутая и полезная практика. Куча потенциальных проблем отсеивается еще до коммита».
В обязанности некоторых автоматизаторов также входит и ручное тестирование.
Типичный рабочий день QA Automation инженера включает в себя:
— Написание новых автотестов;
— Обновление поломанных/ устаревших автотестов;
— Прогон автотестов;
— Анализ результатов тестовых прогонов;
— Документирование ошибок;
— Верификация исправленных программистами ошибок;
— Ревью кода;
— Настройка тестового окружения;
— Стенд-ап митинги.
«Я трачу примерно 4 часа рабочего времени на просмотр обучающих роликов или чтение книг. И как по мне, это одна из важных задач автоматизатора».
«У меня есть правило: „Авто-тесты всегда рабочие!“. Если я пришла на работу, а тесты сфейлились, я сразу разбираюсь с причиной. Мне кажется, что если я перестану так делать, и тесты неделями будут „красными“, то все перестанут на них смотреть».
Достоинства и недостатки
Главным достоинством своей профессии автоматизаторы называют разнообразие выполняемой работы, которая объединяет аналитику, тестирование, программирование и администрирование.
«Автоматизация позволяет фокусироваться на решении трудных задач, аналитике, переложив монотонные задачи на плечи компьютера. Минимум рутины — максимум челенджа! Всегда любил искать недостатки в системе».
В отличие от обычного тестирования, работа автоматизаторов не завязана на однообразном «кликанье» и дает больше возможностей для творчества.
QA Automation инженерам нравится немедленно видеть результаты своего труда, а также придумывать новые подходы, технологии и инструменты.
«Я по жизни ужасный перфекционист, потому выбрал тестирование. Имею логический состав ума, потому ушел в автоматизацию».
Привлекают и зарплаты. Оклады автоматизаторов больше, чем у мануальных тестировщиков, и сравнимы со ставками разработчиков. К тому же, рынок труда насыщен QA Automation инженерамы в разы меньше, чем программистами, поэтому толковые автоматизаторы чувствуют себя уверенно.
Еще одно преимущество специальности — возможность работать с различными технологиями и языками программирования, стимул изучать новое.
«Моя работа привлекает меня тем, что технологии всегда на шаг впереди, а ты догоняешь. Узнаёшь всё больше и больше, а „за горизонтом“ в n раз больше».
«Постоянно появляются новые инструменты и подходы в разработке. Вчера писал автотесты на Java, сегодня автоматизируешь iOS на JavaScript, завтра делаешь нагрузочные тесты на С».
Наиболее упоминаемый недостаток заключается в том, что на некоторых проектах работа сводится к однообразному запуску тестов без разработки новых.
«В любой работе есть борьба с рутиной. Чинить одни и те же тесты может надоесть. Каждый борется с этим, как может. Мы вот придумали фреймворк, на котором писать тесты весело: даём своим роботам имена, генерируем данные пассажиров по смешным алгоритмам, и прочее».
Многопрофильность QA Automation инженера тоже не всегда кстати:
«Автоматизатору не дают забыть о „мануальном“ прошлом, и иногда навешивают разные отвлекающие от кода задачи. То же самое с настройкой серверов и прочей „админской“ работой. Наличие у автоматизатора разнообразных навыков становится для менеджеров поводом неэффективно использовать ресурсы».
Также многим автоматизатором не нравится, что менеджеры и девелоперы относятся к ним, «как к тестировщикам». В то же время:
«Многие воспринимают автоматизацию как магию, способную решить все проблемы. И очень трудно объяснить, что это просто один из инструментов обеспечения качества».
«Автоматизатор — это разработчик-тестеровщик, поэтому его всегда зовут на все Dev митинги и на все QA митинги. Это занимает очень много времени».
Как стать QA-автоматизатором и куда идти дальше?
Чтобы стать QA Automation инженером, необходимо освоить:
— Ручное тестирование (в том числе тестовые фреймворки) — для понимания, зачем нужен тот или иной тест;
— QA — для понимания, какие тесты нужны для покрытия того или иного элемента функциональности;
— Программирование — для непосредственного написания автотестов.
Обязательно понимать и уметь разрабатывать алгоритмы, знать процессы разработки ПО и его тестирования.
«Набор минимум: иметь базовые знания ООП языков (Java или C#), HTML/XML/XPath, понимать теорию тестирования. Для web нужно знать Selenium Web Driver. Также необходимо быть знакомым с SQL (уметь писать запросы к БД). Желательно иметь представление о Continuous Integration, JUnit/TestNG/NUnit».
«Нужно понимать, что такое граничные значения и классы эквивалентности, чтобы не пропустить ничего важного, но и не писать лишнего. Дружба с различными операционными системами также никому еще не навредила».
Поэтому большинство автоматизаторов — это бывшие QA-специалисты или тестировщики, которые дополнительно выучили программирование. Также будет плюсом опыт работы системным администратором или support-инженером.
«Карьерный путь зависит от конкретного человека: это может быть мануальщик, который хочет программировать, либо девелопер, который решил наконец-то протестировать свой код».
Что касается личностных качеств, необходимо:
— иметь развитое логическое и абстрактное мышление;
— уметь анализировать;
— любить сложные задачи;
— быть трудолюбивым и внимательным к деталям;
— уметь работать в команде;
— быстро осваивать новую информацию.
Пути развития QA Automation инженера:
1. Расти именно как специалист-автоматизатор: Junior Automation QA Engineer —> Middle Automation QA Engineer —> Senior Automation QA Engineer —> Automation QA Lead;
2. Расти по технической линии: стать Test Architect или переквалифицироваться в программисты;
3. Развиваться как управленец: Automation QA Manager —> Project Manager (с перспективами на Program Manager и/или CTO).
«Есть люди, которым это очень нравится, они работают по 8 лет. Другие уходят в разработку, где требования к знаниям уже выше. К тому же, после такой работы стать девелопером проще, чем если начинать с нуля. Как правило, в мануальное тестирование автоматизаторы не возвращаются».
P.S. Спасибо за помощь в написании статьи 15 украинским QA и Test Automation инженерам, которые поделились с DOU таинствами своей профессии. Приведенные в статье цитаты взяты из их рассказов.
Все про українське ІТ в телеграмі — підписуйтеся на канал DOU
Qa automation engineer кто это

Мы уже писали о профессии QA-инженера, которая считается одной из ключевых для входа в IТ. А как насчет QA automation engineer — какие знания необходимы, чтобы овладеть этой профессией? Расспросили Soft Engineer компании SimCorp Инессу Сторожеву, что такое автоматизированное тестирование и в чем его отличие от ручного.

О пути в профессию
Я училась на специальности «Компьютерная инженерия» в НТУУ «КПИ имени Игоря Сикорского». Когда после 4-го курса встал вопрос трудоустройства, свой выбор остановила именно на тестировании — эта сфера казалась проще, чем разработка. Но сейчас я понимаю, что это не совсем так. Тестирование — все время меняющаяся дисциплина: появляются новые сценарии и инструменты, которые необходимо постоянно изучать, чтобы расти профессионально.
В итоге я устроилась QA automation engineer в компанию SimCorp, где работаю уже полных 8 лет.
Сотрудники SimCorp в среднем работают в компании 5 лет, а 15% — более 14 лет. Узнайте, чем так привлекает SimCorp
Кто такой QA automation engineer
QA automation engineer — это специалист, который занимается обеспечением качества продукта в соответствии со стандартами и спецификациями. Он вовлекается во все процессы девелопмента (от подготовки стандартов, требований и планирования до непосредственно разработки продукта), разрабатывает стратегию тестирования, проводит ручное тестирование и пишет автотесты, докладывает о проблемах и следит, чтобы их вовремя исправляли.
Это человек, который должен постоянно держать руку на пульсе — от начала разработки и до релиза продукта: понимать, что, где и как происходит, и качественно сопровождать процесс. Эта роль предполагает много коммуникации: постоянное взаимодействие с девелоперами является залогом успешной работы, так что QA точно не сидит весь день наедине с предметом тестирования.
Поэтому если вас интересует сфера IТ, вы любите и умеете конструктивно общаться — вам сюда
QA инженер может вовлекаться в процесс работы над продуктом только в конце. Но тут вопрос: насколько это будет эффективно? Когда ты активно участвуешь в процессе с самого начала, то знаешь специфику продукта и критические моменты, на которые нужно обращать внимание.
Читайте также
Ср., 12/05 Поиск работы
5 профессий в ІТ, где не нужен опыт работы
Чем QA automation инженер отличается от ручного (manual) тестировщика? Если коротко — только тем, что последний не пишет автотесты, поэтому ему часто нужно повторять свой тест вручную для определенного функционала, который может быть «слабым звеном». То есть ты уже знаешь какие-то проблемные моменты продукта, но каждый раз проверяешь их фактически с нуля. Здесь будет уместной автоматизация, и одной из задач QA automation инженера является написание тест-сценариев, которые будут запускаться по мере необходимости. С помощью автотестов можно запрограммировать сценарии, которые физически невозможно повторить вручную, или же сравнить миллионы строк данных не ошибившись. Здесь появляется своя рутина — контроль результатов этих автотестов, их корректировка при необходимости, настройка и поддержка среды выполнения тестов.
Что входит в обязанности QA automation engineer?
Как правило, рабочий процесс включает следующие составляющие.
- Обсуждение планов и деталей работы над функционалом. QA инженерам очень важно присутствовать на таких встречах, потому что другие специалисты могут не учесть некоторые нюансы нашей работы или мы в будущем можем упустить важные моменты.
- Разработка и утверждение тест-стратегии.
- Здесь также присутствует ручной тест: прежде чем садиться за написание автотестов, нужно сесть и вручную проверить функционал, продумать сценарии, разработать так называемый road map (план) тестирования.
- Написание автотестов.
- Контроль и анализ результатов прогона автотестов, рапорты о найденных проблемах. Одновременно может быть активна не одна версия продукта, но и еще несколько предыдущих релизов. Это означает еще несколько альтернативных сценариев одного и того же тест-кейса.
- Корректировка существующих автотестов — часто их необходимо дорабатывать в соответствии с прогрессом работы (под расширение функционала или изменение требований).
- Много коммуникации с коллегами
Плюсы и минусы работы QA automation engineer
| Плюсы | Минусы |
| ➕ Возможность работать с новыми технологиями, программировать, развиваться, не стоять на месте. | ➖ Бывают периоды, когда приходится выполнять много рутинной работы: описывать проблемы и поддерживать старые автотесты, и со временем количество задач по поддержке растет. |
| ➕ В основном гибкий рабочий график. | |
| ➕ В зависимости от задач можно переключаться между ролями разработчика и тестировщика. Это помогает всесторонне оценивать новый функционал для его будущей проверки. | |
| ➕ Пространство для креатива — возможность выбирать, как и чем тестировать. |
Что должен знать QA automation engineer: hard и soft skills
Во всем IТ-мире сейчас растет потребность именно в QA automation, поэтому есть смысл в том, чтобы не останавливаться на ручном тестировании, если вы его уже освоили, а двигаться дальше.
Hard skills
Для входа в профессию QA automation инженеру обязательно нужны hard skills. QA automation специалист должен разбираться в особенностях разработки и уметь программировать.
Кроме того, необходимо:
QA Automation Engineer

QA Automation Engineer обеспечивает качество продукта и контроль всех этапов его разработки. Он работает с приложениями, программами, другими IT-продуктами. У профессии средний порог вхождения, она придется по душе школьникам, которые из всех предметов предпочитают информатику и математику. Кстати, недавно центр профориентации ПрофГид разработал точный тест на профориентацию, который сам расскажет, какие профессии вам подходят, даст заключение о вашем типе личности и интеллекте.
Краткое описание
Работа в сфере IT-технологий в последние годы приобретает все большую привлекательность. Онлайновые школы и университеты предлагают широкий выбор программ, благодаря которым можно в сжатые сроки освоить высокооплачиваемую профессию и приобрести первый практический опыт. Одна из таких профессий – QA Automation Engineer, который занимается обеспечением качества, создавая скрипты для автоматического тестирования.
Qa automation engineer кто это

Эксперты IT-отрасли прогнозируют, что в 2023 году и в ближайшие 5-10 лет спрос на QA-специалистов вырастет на 25%. Это востребованная профессия, в которой QA-автоматизаторы дополняют QA-мануальщиков для выпуска качественного цифрового продукта.
Кто такие QA-инженеры? Это специалисты, в задачу которых входит тестирование функциональности программного обеспечения на всех этапах разработки. Для тестировщика очень важно понимать и видеть систему разработки в целом, где изменения в одной части системы неминуемо повлияют на работу других частей. Без тестировщика продукт в подавляющем количестве случаев будет полон багов, которые не смогли увидеть сами разработчики.
В чем заключается работа тестировщика? В проверке всех возможных сценариев работы ПО, начиная со стадии спецификаций. То есть, QA-инженер хорошо разбирается в том, как устроены все компоненты, что позволяет ему их эффективно проверять. Он создает различные ситуации, не предусмотренные при разработке, выявляет те баги и проблемы в функционале ПО, которые могли бы появиться в процессе эксплуатации.
На сегодня на рынке IT можно найти вакансии для QA-мануальщиков и QA-автоматизаторов. Ручное тестирование и автоматизированное – это два направления работ над ПО, которые взаимодополняемы. Вначале тестирование проводится вручную, а затем Automated QA пишет тесты, которые автоматизируют прогнозируемые действия пользователя. При развитии проекта мануальщику уже не нужно будет заново проверять данные действия, их за него проверят автоматические тесты.
Как выглядит работа тестировщика в ручном и автоматическом формате?
Чем занимается Manual QA Engineer
Ручной тестировщик или QA-мануальщик (Manual QA Engineer) – это специалист, в задачи которого входит анализ и поиск ошибок в ПО без применения программ. Именно он моделирует и имитирует возможные действия пользователя, включая ошибочные, который будет взаимодействовать с конечным продуктом. Ошибки или «баги» выявляются в дизайне, функциональности и последовательной логике работы с ПО. Тестируя продукт на разных этапах развития, ручной тестировщик проверяет его надежность и юзабилити. Результаты работы он заносит в отчет о тестировании (баг-репорт) для разработчиков, которые будут исправлять ошибки.
Обязанности Manual QA:
- Изучение документации и требований к разрабатываемому ПО
- Планирование тестирования – типы, объем работ, методы
- Разработка тест-кейсов (алгоритмов), чек-листов
- Проведение тестирование, создание отчета
- Повторная проверка после исправлений
- Создание отчета по всем тестам
Что нужно знать для работы ручным тестировщиком:
- Владение основами тестирования: классификация, методы, сценарии и инструменты
- Знание основ программирования, HTML и CSS
- Понимание принципа работы баз данных и систем контроля версий
Куда расти Мануальному тестировщику?
Чтобы избежать стагнации в профессиональном развитии, нужно выбрать, в какую сторону двигаться дальше. Хорошая новость в том, что тестировщик находится одинаково близко и к бизнесу, и к разработке. Отдельная ветка развития из Senior Manual QA — это менеджмент и QA-анализ. Менеджерские задачи есть и у Lead, но можно строить карьеру как Project Manager, Product Manager, Resource Manager или любой другой менеджер. Востребовано в 2023 году опытный QA Мануал специалист аналитического склада ума.
Кто такой QA-аналитик?
QA-аналитик — это наиболее осведомленный тестировщик, виртуозно выставляющий баланс severity и priority, так, чтобы разработчики были сосредоточены на по-настоящему важных вещах в каждый момент отладки системы. На этом этапе от QA-аналитика требуется, прежде всего, умение видеть картину в целом, а не частности.
Чем занимается QA-аналитик:
- QA-аналитики, в отличие от тестировщиков, принимают участие в обсуждении требований и проводят оценку влияния новых требований на уже готовую систему
- Он очень близок к системе, каждый день работает с ней, поэтому документацию ему написать проще
- QA-аналитики могут создавать мокапы по новым требованиям или прописывать сценарии использования, по которым далее будет проводиться тестирование и приемка готовых результатов.
Кому подойдет быть QA-аналитиком? QA-аналитика— это ваше, если:
- вам нравиться общаться с людьми, вы умеете решать конфликтные ситуации, и способны на высоком уровне вести переговоры
- вам “не в напряг” писать документацию
- вы проработали тестировщиком более 2-х лет, имеет багаж знаний и опыта, и ищите новые ветки развития
Как начать развитие из Мануального тестировщика в QA-аналитики? Работая над проектами принимайте участие в его анализе, общении с клиентом, составлении технической документации.
Что делает QA Automation Engineer
Автотестировщик или Automation QA Engineer создает тесты с использованием скриптов, что позволяет автоматизировать процесс тестирования.
- Планирование сценариев тестирования
- Создание автоматических тестов
- Тестирование
- Анализ готовых результатов тестов
- Доработка сценариев и кода автотестов
- Создание отчета по найденным багам
- Перепроверка исправленных ошибок
Что должен знать QA Automation:
- Владение теорией и практикой тестирования с написанием тест-кейсов
- Использование инструментария Java для читаемого и поддерживаемого кода
- Знание фреймворков автоматизации тестирования
- Владение инструментами автоматизации интерфейсов программирования (API) и пользовательских интерфейсов (UI)
На должность Trainee QA Engineer могут взять с минимальным опытом работы и давать несложные задачи. Например, создавать тесты по готовому образцу или исправлять готовые. А что должен знать Middle QA Automation, к примеру? Это специалист средней квалификации, имеет опыт примерно 3 года, создает сценарии тестирования и ведет техническую документацию, читает логи, владеет системами контроля версий, самостоятельно проводит тестирование проекта, включая базы данных, и обучает стажеров. Чем выше квалификации, тем сложнее технические задачи.
Нужно ли тестировщику знать языки программирования?
Ручной тестировщик с нуля может не знать языки программирования, но желательно, чтобы он хотя бы разбирался в основах прикладного программирования. В тоже время, тестировщик-автоматизатор затрачивает около 75-80% времени на написание кода. Для начинающего специалиста достаточно знать английский, чтобы написать сценарий с использованием готовых методов. Но для продвинутых Software Test Automation Engineer нужны глубокие знания автоматизации тестирования и программирования. Поскольку в работе они используют фреймворки, Java-библиотеки, SQL и т.д. Знание одного языка обязательно, а если специалист знает несколько языков программирования — его ценность значительно возрастает в глазах работодателя.
Какие QA в 2023 году востребованы на IT рынке?
Согласно последним исследованиям, спрос на QA-специалистов растет и в этой нише по оплате труда лидируют автоматические тестировщики. Это объясняется тем, что автоматизированное тестирование позволяет сократить расходы (финансовые и временные) на тестирование и повысить уровень производительности. Но ручное тестирование по-прежнему остается привлекательным для соискателей за счет низкого порога вхождения в сферу IT. Более того, это отличный старт для того, чтобы со временем стать тестировщиком-автоматизатором и продвинуться по карьерной лестнице.
С чего начать карьеру QA Engineer
Без опыта тестирования можно устроиться в компанию на должность стажера мануальщика. Это хороший старт для тех, кто планирует развиваться в этом направлении и хочет наработать углубленный технический бэкграунд для расширения hard скиллов и написания автоматических тестов.
Преимуществом на собеседовании будет:
- Теоретическая база, освоенная самостоятельно
- Прохождение систематизированных курсов
- Знания инструментов тестировщиков
- Опыт работы над реальными проектами
На должность стажера могут взять и без диплома ВУЗа, но с примерами работ – тест-кейсами. Для этого можно брать любые сайты и приложения, проводить тестирования и грамотно их описывать.
Не менее важны и soft skills. Будет плюсом, если кандидат обладает такими навыками:
- Коммуникабельность
- Желание учится и осваивать новые технологии
- Дисциплинированность и внимание к деталям
- Аналитическое и критическое мышление
- Умение планировать свое время и укладываться в сроки
- Стрессоустойчивость
Резюме
QA-инженеры и тестировщики на сегодняшний день – одна из самых востребованных и быстро развивающихся профессий в IT сфере в мире.
Без знания языков программирования можно начинать карьеру как мануальный тестировщик, и, наряду с изучением основ тестирования, осваивать языки программирования. Этот пункт в резюме может на 20-25% поднять ожидаемую зарплату и шансы получить работу по сравнению с мануальным тестировщиком с таким же опытом.
Постоянное развитие hard и soft skills позволит повышать компетенции, двигаться по карьерной лестнице и выбирать сложные и интересные проекты для самореализации.