Исследование рынка труда в QA (тестировании): декабрь 2018

Сообщество специалистов по тестированию InQA.by совместно с образовательной студией MyMonday.by провели исследование рынка труда QA-инженеров и автоматизаторов. Задача исследования – определить наиболее распространенные требования работодателей к специалистам по ручному и автоматизированному тестированию ПО на различных профессиональных уровнях от junior до lead, ожидающие специалистов задачи и озвучиваемые работодателями зарплатные ожидания.

В ходе исследования были проанализированы 248 вакансий для «ручных» тестировщиков и автоматизаторов на HeadHunter, Dev.by, LinkedIN; из них 79 вакансий для специалистов по автоматизации, 169 – для «мануальщиков». 

Manual QA Engineer

Junior 

Опыт работы: до года 

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

Уровень английского: Intermediate и выше (более 90% вакансий, менее 10% вакансий не содержат требований к языку) 

Зарплата: нет данных (работодатели предпочитают не указывать диапазон в вакансиях). 

Наиболее частые задачи Junior QA Engineer (более 60% вакансий):

● Непосредственно тестирование. В зависимости от специфики деятельности компании оно может включать тестирование интерфейсных элементов приложения, его производительности и пр. 
● Работа с мониторинговыми системами 
● Занесение найденных ошибок в баг-трекинговую систему (как правило, JIRA) 
● Составление документации: тест-планов, тест-кейсов и чек-листов 
● Взаимодействие с самыми различными специалистами, начиная с разработчиков и заканчивая менеджерами клиентской поддержки 
● Анализ требований клиента 

К редким требованиям (<30% вакансий) можно отнести:

● Участие в ежедневных митингах 
● Разработку и создание не только мануальных, но и автоматизированных тест-кейсов с использованием соответствующего инструментария (правда, в составе команды). Довольно серьезное требование для новичка без опыта работы. 

Что касается технологий, работодатель будет ожидать от junior QA следующего (более 60% вакансий):

● Знания JIRA 
● Понимание методологий Agile (Scrum, Kanban) 
● Понимание принципов работы сетей 
● Знания сетевых протоколов, cookies и кэша 
● Знание Android SDK, xCode 
● Общего представления об HTML, CSS, JavaScript 

Более редкие (<30% вакансий) требования к знаниям:

● Опыт работы с системами управления тестированием (например, HP QC и Zephyr) 
● Умение писать простые SQL запросы и использовать PHPMyAdmin 
● Опыт программирования на JAVA или Python 

Middle 

Опыт работы: 1-2 года (более 90% вакансий) 

Стоит отметить, что некоторые компании готовы брать специалиста с опытом от 2-х лет на позицию Senior. Ключевым отличием от junior’а является то, что мидлу, как правило, требуется опыт в какой-то определенной области (например, бэкенд или API). 

Уровень английского: Intermediate и выше (более 80% вакансий, менее 20% вакансий не содержат требований к языку) 

Зарплата: 800-2000 у.е. (данные по 14 вакансиям) 

Частые задачи (более 60% вакансий):

● Тестирование ПО: требуется применение различных видов тестирования (функционального, UI-тестирования, регрессионного тестирования, тестирования визуальных и звуковых эффектов, тестирования API и Web Services) на различных платформах (iOS, Android). 
● Анализ и оценка поступающих требований 
● Составление тестовой документации: тест-планов, тест-кейсов, чек-листов 
● Сопровождение проекта на всех этапах его существования 
● Анализ работы системы (работа со статистикой и базами данных) 
● Составление стратегий тестирования новых проектов и оптимизация старых 

Среди редких задач (<30% вакансий) встречаются:

● Участие в ежедневных митингах и ежемесячных показах 
● Работа с виртуальными машинами (Oracle VM VirtualBox) 
● Оценка затрат на проект 

От специалиста уровня Middle работодатель ожидает владения следующими технологиями (для более чем 60% вакансий):

● Системами отслеживания ошибок (например, JIRA) 
● Системами управления тестированием (например, HP QC, Zephyr) 
● Системами управления версиями (например, Git, SVN) 
● Продвинутого пользования Windows OS 
● Знания SQL 
● Опыт работы с MS SQL, mySQL, SQLite 

Редкие (<30% вакансий) требования:

● Базовые знания Java 
● Опыт работы с анализаторами трафика (Fiddler, Charles) 
● Опыт работы с Linux 
● Знание CI Jenkins или TeamCity 
● Владение инструментами автоматизации действия браузера Selenium, WebDriver 
● Знание NUnit, SpecFlow 
● Знание NET Framework, ASP.NET, C# 

Middle, по сути, — промежуточный уровень: продвинутый Junior и подготовка к позиции Senior. Отличается более глубоким пониманием самого процесса тестирования, а также знанием технологий. На этом уровне добавляется владение базами данных и системами управления тестированием. 

Senior 

Опыт работы: 2-4+ 

Можно найти вакансии с опытом работы от двух лет, но наиболее частый порог опыта для «сеньора» – 3-4 года (более 70% вакансий). Более половины компаний ищут senior-специалистов с опытом в конкретной сфере, например, работавших в тестировании мобильных приложений/игр/высоконагруженного бэкенда и т.д. 

Уровень английского: Intermediate (более 50% вакансий), Advanced (около 20% вакансий) 

Зарплата: от 1200 у.е. (по данным 11 вакансий) 

Как легко заметить, вполне можно быть «мидлом» в одной компании, и зарабатывать больше, чем «сеньор» в другой. 

В обязанности Senior-специалиста часто входят (более 60% вакансий):

● Тестирование ПО: требуется применение различных видов тестирования (функционального, smoke, регрессионного, юзабилити-, UI-тестирования, тестирования локализации, тестирования методом свободного поиска, тестирования API и Web Services и т.д.) на различных платформах 

● Анализ и оценка поступающих требований 
● Верификация и валидация дефектов 
● Составление тестовой документации: тест планов, тест-кейсов, чек-листов 
● Разработка стратегии тестирования, составление и выполнение тест-планов 
● Сопровождение проекта на всех этапах его существования 
● Работа с базами данных 
● Оформление улучшений в JIRA 
● Контроль за выполнением тестирования 
● Оценка качества продукта и готовность продукта к релизу 
● Участие в митингах и показах 
● Формирование команды тестировщиков и управление ей 
● Обучение и консультирование начинающих специалистов 

К редким задачам (<30% вакансий) можно отнести:

● Автоматизацию процесса тестирования 
● Отслеживание новых тенденций в сфере тестирования 
● Cоздание и поддержка тестовых сред для различных Windows, NAS и SharePoint платформ и устройств 

На уровне Senior у QA Engineer появляются управленческие и наставнические обязанности. Senior – это уже не только специалист по тестированию ПО, это еще и «небольшой» менеджер, занимающийся руководством менее опытными коллегами. 

Требования к знанию технологий (более 60% вакансий):

● JIRA 
● Powershell 
● Владение методологиями Agile и Scrum 
● Знание особенностей разных версий iOS/WatchOS/Android 
● Навыки работы с Firebase Console 
● Опыт работы с прокси-инструментами (Charles proxy, Fiddler и др.) 

Редкие требования (менее 30% вакансий):

● знание инструментов Xcode, Android Studio 
● опыт автоматизации iOS/Android приложений (Appium/XCTest и др.) 
● опыт работы с консолью Unix 
● опыт работы с PostgreSQL 
● опыт профилирования RDBMS 
● опыт работы с инструментами CI (TeamCity, Jenkins и пр.) 
● базовые навыки автоматизации тестирования с помощью POSTMAN/ Swagger/ Insomnia 
● работы с симуляторами EMC, NetApp, Nasuni, Panzura и других NAS-устройств 
● Навыки работы с Facebook Analytics / Flurry / AppsFlyer и другими аналитическими сервисами 

На уровне Senior можно заметить возрастающую потребность в умении автоматизировать процесс тестирования ПО даже для «мануальщиков», однако в подавляющем большинстве компаний это не обязательное требование. 

Lead 

Опыт работы: от 3 лет (<30% вакансий), 4+ лет (>60% вакансий) 

Уровень английского: Intermediate (более 60% вакансий), Advanced (менее 30% вакансий) 

Зарплата: нет данных 

Задачи (более 60% вакансий):

● Отвечать за выполнение программы тестирования 
● Взаимодействовать с заказчиком и владельцем продукта 
● Решать все вопросы управления персоналом команды тестирования: участвовать в отборе и найме кандидатов, управлении знаниями и обучением 
● Внедрять инструменты тестирования 
● Планировать тестирование 
● Проектировать, разрабатывать и выполнять тесты 
● Производить функциональное и нефункциональное тестирование 
● Управлять средой тестирования и конфигурацией продукта, предназначенного для тестирования 
● Использовать метрики для непрерывного совершенствования процесса тестирования 
● Производить стратегический менеджмент всех ресурсов тестирования в Agile-командах 
● Отслеживать новые тенденции с целью постоянного совершенствования процесса тестирования 
● Осуществлять контроль качества в течение всего жизненного цикла продукта 
● Обеcпечивать доступность тестовой среды 
● Анализировать и исправлять причины торможения процесса тестирования 
● Обеспечивать прозрачность процесса тестирования 

К специфическим задачам (менее 30% резюме) можно отнести:

● Обеспечение автоматизации тест-кейсов, модульного тестирования, тестирования производительности 
● Разработку автоматических тест-сценариев и скриптов 
● Приобретение нужного ПО и hardware для компании 

Знание технологий (более 60% вакансий):

● Опыт работы с bug-tracking и test-tracking системами (Jira, Test Link,Test Real) 
● Использование инструментов для функционального тестирования 
● Опыт работы с логами 
● Понимание форматов JSON и XML 
● Опыт работы с SQL-/NOSQL-базами данных 

Менее частые требования (менее 30% вакансий):

● Знание инструментов автоматизации тестирования для различных слоев ПО (например, UI, сервисов, API и т.д.) и технологий CI и CD (например, Git, Jenkins) 
● Знание Python и Java 
● Опыт работы с электронными платежными системами 

Работодатели также обращают внимание на количество специалистов в команде, где уже работал лид. Оптимальный опыт руководства: от трех лет в команде от 5 до 10 человек (такое требование встречается более чем в половине вакансий для Lead QA). 

Вакансии QA Automation Engineer 

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

Junior 

Опыт работы: 0-1 год (более 90% вакансий) 

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

Уровень английского: Pre-Intermediate (более 60% вакансий), Upper-Intermediate (менее 30% вакансий) 

Зарплата: нет данных 

Задачи джуниора для более чем 60% вакансий:

● Обслуживание сред и фреймворков автоматизированного тестирования 
● Подготовка среды для проведения автоматизированного регрессионного тестирования 
● Осуществление автоматизированного регрессионного тестирования 
● Составление документации: тест-планов и тест-кейсов 
● Поддержка существующего фреймворка автоматизированного тестирования и внесение исправлений на основании отчетов о сбоях 
● Обзор и анализ функциональных спецификаций и другой смежной документации 
● Выполнение автоматизированных тестовых сценариев и определение отклонений от ожидаемых результатов 
● Взаимодействие с другими отделами для обсуждения недостатков продукта и решения возникающих проблем 

Junior должен владеть следующими технологиями для более чем 60% вакансий:

● MS Visual Studio, Selenium, Cucumber, SpecFlow 
● Основными принципами объектно-ориентированного программирования 
● Java / JavaScript / C# 
● XPath 
● SQL 
● Базы данных MSSQL, Oracle 

Более редкие (30% вакансий или меньше) требования:

● Опыт работы с инструментами автоматизации – JSystem 
● Опыт работы с генераторами трафика (например, Spirent Test Center) 
● Знание Linux OS 
● Опыт ручного тестирования 

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

Middle 

Опыт работы: 1-2 года (более 90% вакансий) 

Уровень английского: Pre-Intermediate (более 60% вакансий), Upper-Intermediate (менее 30% вакансий) 

Зарплата: нет данных 

Задачи, с которыми столкнется Middle Automation QA (более 90% вакансий):

● Организация и построение методологии автоматизированного тестирования 
● Подготовка и поддержка тестов 
● Участие в Agile-процессе тестирования приложений 
● Внедрение новых технологий в процессе разработки автоматизации тестирования 
● Составление и контроль качества документации 
● Взаимодействие с другими командами 

Для работы понадобится знание следующих технологий (более 60% вакансий):

● Фреймворков автоматизированного тестирования (Selenium, WebDriver и др.) 
● HTML/CSS 
● опыт тестирования WEB Services, API (Runscope) 
● понимание REST, SOAP, HTTP; 
● JavaScript (в особенности Webdriver.io) 
● опыт работы с СУБД, написания SQL запросов 
● Знание NUnit, SpecFlow 
● Знание CI Jenkins или TeamCity 

Редкие требования (менее 30% вакансий):

● опыт Back-End программирования 

Senior 

Опыт работы: от 2 до 4 лет (более 90% вакансий) 

Уровень английского: Intermediate (более 60% вакансий), Upper-Intermediate (менее 30% вакансий) 

Зарплата: нет данных 

Задачи для более чем 60% вакансий:

● Развитие системы автоматизированного тестирования (методологии, критериев тестирования, необходимых тест-кейсов) с фокусом на функциональное и нефункциональное тестирование 
● Разработка новых и развитие текущих автоматизированных тестов, фреймворков 
● Создание RPA-скриптов на базе Java/Groovy 
● Работа с документацией по проекту (ТЗ, макеты, дизайн, задачи) 
● Составление и оптимизация тестовой документации (тест-кейсов, тест планов, чек-листов) 
● Автоматизация новых функций 
● Работа по методологии Agile 
● Анализ и исправление ошибок 
● Проверка критических функций в релизах 
● Активное взаимодействие с командой тестировщиков, а также с другими техническими специалистами 
● Участие в выпуске продукта 
● Обучение и консультирование молодых специалистов 

Требования к знанию технологий для более чем 60% вакансий:

● Продвинутое владение Windows 
● Опыт работы с Selenium и UI-фреймворками автоматизации 
● Навыки программирования на Java/Groovy/C# 
● Опыт работы с системами: баг-трекинга (Jira и т.д.), Confluence, сервисом Zeplin 
● Базовое понимание веб-технологий (HTML, CSS, HTTP и т.д.) 
● Опыт рaботы с системами: Continuous Integration (Jenkins), Git, SVN 
● Опыт работы с библиотеками TestNG/jUnit 
● Уверенные знания SQL 

Требования для менее чем 30% вакансий:

● Знание регулярных выражений, работа с shell-скриптами 
● Владение и опыт реального использования Jmeter 
● Знание Linux 
● Опыт работы с Autoit 
● Знание RCPTT 
● Опыт работы с инструментами тестирования API (JMeter, Postman) 

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

Lead 

Опыт работы: 3-6 лет (более 90% вакансий) 

Уровень английского: Intermediate (более 50% вакансий), Upper-Intermediate (менее 20% вакансий) 

Зарплата: нет данных 

В качестве Lead-специалиста сотрудник будет выполнять следующие функции более чем в 60% случаев:

● Решать все вопросы управления персоналом команды тестирования: участвовать в отборе и найме кандидатов, управление знаниями и обучением 
● Разрабатывать автоматизированные тесты и фреймворки 
● Проводить тесты и анализировать результаты тестирования 
● Обеспечивать возможность проведения автоматизированного тестирования 
● Документировать процесс автоматизации 
● Оптимизировать процесс тестирования 
● Взаимодействовать с разработчиками и командой тестировщиков с целью разъяснения требований и внесения изменений в продукт 
● Управлять командой автоматизации 
● Проводить исследование и адаптировать новые технологии под нужды продукта 
● Создавать тест-планы и разрабатывать технические требования 
● Обеспечивать управление и предоставление отчетов по метрикам 
● Отслеживать и регистрировать дефекты ПО 
● Управлять автоматизацией процесса тестирования 
● Участвовать презентации продукта клиенту, а также во внутренних показах 

Требования к знанию технологий следующие для более чем 60% вакансий:

● В минимальный набор входят Java, Selenium, Selenide, CSS, XPath, JS, HTML, XML/ JSON, AJAX 
● Владение методами Scrum и Kanban 
● Хорошее знание Python (а еще лучше и PHP) и MySQL 
● Владение DevOps 
● Опыт работы с TestNG, JenkinsCI, Appium 
● Владение фреймворками на базе технологий Java и Groovy 
● Ручное тестирование как бэкграунд 

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

Бонусы 

Наверное, самый приятный и долгожданный раздел исследования. Бонусы и плюшечки, которые можно получить в дополнение к любимой работе и достойной оплате труда. По уровням делить нет смысла – почти все бонусы общие для сотрудников компании, прошедших испытательный срок.«Классика жанра», или стандартный соцпакет (более половины вакансий):

● Медицинское страхование 
● Отпуск от 20 до 28 дней в год 
● Выходной в честь Дня рождения сотрудника 
● Кухню для комфортных перекусов, кофемашину и всегда полный холодильник продуктов (свежие фрукты, разнообразные сладости, молочные продукты, а летом – даже мороженое) 
● Корпоративное обучение английскому языку в офисе, оплачиваемые курсы повышения квалификации, возможность участия в международных семинарах и конференциях 
● Компенсацию спортивных занятий от 50% до 100% стоимости абонемента 
● Подарки в честь Дня рождения, свадьбы, рождения детей, Нового года, 23 февраля, 8 марта и пр. 
● Корпоративы и другие активности от настольных игр до походов с палатками 
● Бесплатная авто- и велопарковка 

Нельзя не отметить редкие, но очень креативные пункты, вносящие приятное разнообразие в соцпакет белорусского QA-специалиста:

● Режим работы, уважающий биоритмы каждого отдельного сотрудника 
● Бесплатный мультишенген для всех сотрудников, который всегда поддерживается в актуальном состоянии 
● Компенсация покупки линз и очков 
● Заботливое кресло Herman Miller 
● Лекции по Art&Technology и ЗОЖ 

Вывод 

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

No Comments

Post A Comment