Вы знаете, как создаются программы и информационные сервисы, которыми все мы пользуемся? Какие специалисты нужны, чтобы появился новый Фейсбук, Вайбер, Инстаграм, новый Windows или какая-то крутая видеоигра?
За разработкой программного обеспечения (ПО) стои́т целая команда профессионалов — и далеко не все из них умеют программировать.
- Кто такой тестировщик: описание профессии
- Кто становится тестировщиком
- Чем занимается тестировщик: обязанности и задачи
- Какой карьерный путь проходит
- Направления QA
- Какие знания и навыки нужны QA-инженеру
- Знание языка программирования
- Понимание основ теории тестирования и тест-дизайна
- Знание методологий разработки Scrum и Kanban
- Понимание устройства компьютера и основ операционной систем Linux, Windows, Mac OS
- Способность работать с баг-трекингами Jira и YouTrack
- Умение работать с фреймворком Selenium Web Driver
- Сколько стоит обучение
- А что с работой
- Заключение
Кто такой тестировщик: описание профессии
Тестировщик (он же QA-инженер) — это специалист в сфере IT, который тестирует программное обеспечение (ПО), игры, сервисы. Он продумывает, что и где может сломаться, прогнозирует сбои и находит ошибки в приложениях, видеоиграх, сайтах и программах, чтобы продукт вышел работоспособным, и качественным — без серьезных багов.

Тестировщик ПО ищет все неисправности на этапе разработки продукта. Например, во время создания игры он тестирует разные билды — версии — проекта. Если он находит серьезные баги и неисправности, то передает информацию разработчикам, которые устраняют найденные ошибки.
QA — это аббревиатура, которая расшифровывается как quality assurance (обеспечение качества).
Кто становится тестировщиком
В этом году спрос на онлайн-образование, по опыту Школы iFellow, вырос более чем в два раза. Учиться приходили не только студенты, но и люди, желающие кардинально сменить профессию.
Самые популярные направления — автоматизированное и функциональное тестирование. Нагрузочное стоит особняком.
Но, несмотря на то что это непопулярное направление для студентов, оно востребовано у работодателей. Уровень зрелости заказчиков серьезно вырос за последние 1.5-2 года, пришло понимание, что IT-решения должны быть устойчивыми к высоким нагрузкам.
В нашей школе тестировщиков, в текущем году выпустилось три потока по нагрузочному и автоматизированному тестированию, а по функциональному только два — это соответствует спросу рынка на специалистов по тестированию уровня junior.
За год мы выпустили порядка 140 начинающих специалистов. По направлениям они распределились следующим образом:
- функциональное тестирование выбрали 33%;
- автоматизированное тестирование — 45%;
- нагрузочное решили освоить 22%.
Из них 32% студентов устроились к нам в компанию, а еще 36% — нашли работу по новой специальности самостоятельно. К слову, определенный процент выпускников курсов работу потом не ищет: люди понимают, что не готовы дальше развиваться в IT.

Средний возраст слушателей составил от 20 до 45 лет. Это мужчины и женщины, в примерно равной пропорции. Преимущественно — студенты технических вузов.
Женщины предпочитают функциональное тестирование и лучше с ним справляются благодаря особенностям мышления, усидчивости, внимательности и аккуратности. А мужчины, в основном, осваивают автоматизированное и нагрузочное.
Для входа в функциональное тестирование, как правило, требуется техническое образование и уверенное знание ПК. Для автоматизированного и нагрузочного дополнительно нужно освоить на базовом уровне один из языков программирования.
Но в любом случае, новая профессия легче дается людям с техническим складом ума, так как в тестировании требуется системное мышление и понимание логики процессов. Приходится решать такие задачи как генерация скриптов, создание запросов в различные инструменты и написание тестов.
Чем занимается тестировщик: обязанности и задачи
Теперь давайте поговорим о том, чем занимается тестировщик. Для этого изучим должностные обязанности и задачи этого IT-специалиста: как мануальщиков, так и автотестеров.
Обязанности и задачи тестировщика:
- Функциональное и нефункциональное тестирование сайтов, приложение.
- Тестирование компьютерных игр.
- Поиск багов, ошибок и неисправностей в мобильных приложениях.
- Составление тест-кейсов — инструкций для тестирования.
- Программирование на Python, Java, JavaScript для проведения автотестов.
- Тестирование пользовательских интерфейсов.
- Использование шаблонов тест-кейсов, тест-планов, чек-листов, сценариев.
- Работа в панели инструментов веб-разработчиков.
- Выполнение разных типов тестирования: дымовое (smoke testing), функциональное (functional testing), регрессивное (regression testing).

Какой карьерный путь проходит
Есть несколько квалификаций тестировщика. Junior — джуниор, младший специалист. Middle — мидл, специалист среднего уровня. Senior — сеньор, старший специалист. Работодатели оценивают инженера по тому, над сколькими задачами он может работать одновременно, насколько эти задачи сложные, какую прибыль приносят компании.
Направления QA
Начнем с того, что в QA есть два основных направления — Manual и Automation. Специалисты каждого из них называются мануальный (ручной) тестировщик и тестировщик-автоматизатор, соответственно.
Их разница в том, что первый следит за качеством продукта и проводит все тесты вручную, а второй автоматизирует тестирование путем написания скриптов. Automation QA использует определенный язык программирования и фреймворк для того, чтобы создавать программы, которые будут производить тестирование продукта вместо самого специалиста.

Такой подход позволяет сократить время на тесты.
В обязанности мануального QA инженера входят:
- анализ и выяснение требований у заказчика либо бизнес-аналитиков;
- планирование процесса тестирования;
- написание сценариев тестирования;
- непосредственно тестирование программного продукта;
- определение проблемных мест, их документирование;
- использование систем отслеживания багов (баг-трекинги);
- обсуждение исправлений с разработчиками, активное взаимодействие с ними;
- отслеживание жизненного цикла ошибок;
- повторный тест исправленных дефектов;
- анализ тестирования;
- планирование идей по оптимизации качества программного обеспечения;
- ведение тестовой документации;
- проверка требований к программному обеспечению;
- оценка рисков;
- участие в стенд-апах и других митингах.
Тем временем на плечи Automation QA помимо прочего возлагаются такие обязанности, как:
- написание новых автотестов на основе разработанных вручную;
- обновление поломанных/устаревших автотестов;
- прогон автотестов;
- анализ результатов тестовых прогонов;
- настройка тестового окружения;
- ревью кода;
- оформление автотестовой документации.
На самом деле и мануальное, и автоматизированное направление имеют много общих требований, поскольку их фундамент одинаков. Давайте начнем с рассмотрения Manual QA, а затем плавно дополним его инструментами Automation QA.

Какие знания и навыки нужны QA-инженеру
Специалист в области обеспечения и контроля качества ПО должен обладать целым комплексом навыков. Сперва рассмотрим хард-скиллы, необходимые QA-инженеру.
Знание языка программирования
Как правило, QA-инженеры не задерживаются в роли ручного специалиста и переходят к автоматизированному тестированию. Поэтому базовое владение языками программирования — Java, JavaScript, Python — желательно для профессионала. Не помешает и умение работать с SQL — языком запросов для баз данных. Это касается как ручных QA, так и автоматизаторов.
Понимание основ теории тестирования и тест-дизайна
Как строится тестовая документация, как её писать и оформлять, что такое чеклисты и тест-кейсы, какие виды тестирования существуют — всё это является теоретической базой, на основе которой строится работа QA-специалиста.
Чеклист — краткое обозначение действий, которые необходимо проверить.
Тест-кейс — документ, максимально подробно описывающий этапы процесса тестирования: что нужно сделать, при каких условиях и какой результат ожидается.
Знание методологий разработки Scrum и Kanban
Scrum и Kanban — гибкие подходы к разработке программного обеспечения. В их основе лежат принципы Agile, которые подразумевают быструю реакцию на постоянно меняющиеся условия среды и обратную связь от пользователей на каждом цикле работы.
Scrum в основном используют при разработке ПО силами небольшой команды. Работа делится на короткие временные отрезки — спринты — и чётко распределяется между участниками проекта.
При Kanban проект объединяет несколько небольших команд, которые работают независимо над конкретными задачами. Такой подход не предполагает временных ограничений и конкретных должностей.

В современных проектах часто совмещают несколько типов управления, и QA-инженер, как часть команды, должен понимать принципы работы каждого из них.
Понимание устройства компьютера и основ операционной систем Linux, Windows, Mac OS
Общее представление о том, как устроен компьютер и сервер, а также понимание основ клиент-серверного взаимодействия и операционных систем — базовая компетенция QA-специалиста, фундамент для работы в IT.
Способность работать с баг-трекингами Jira и YouTrack
Баг-трекинговые системы помогают QA-инженеру систематизировать и хранить отчёты об ошибках, которые он пишет десятками.
Jira — платный баг-трекинг, у которого есть бесплатный тариф с возможностью добавления до 10 пользователей. Изначально эта система предназначалась для отслеживания ошибок, но теперь её часто используют для планирования agile-проектов.
Визуально Jira выглядит как интерактивная доска, с помощью которой можно следить за выполнением поставленных задач.
Чаще всего QA-специалисты используют именно Jira, но иногда в работе применяют и её аналоги: YouTrack, Redmine, Trello.
Умение работать с фреймворком Selenium Web Driver
Selenium WebDriver — инструмент для автоматизации действий браузера. Он пригодится автоматизаторам: с его помощью можно смотреть, как отображается сайт в разных браузерах, и проверять жизнеспособность программы.

Сколько стоит обучение
Для погружения в профессию не требуются большие финансовые вложения. Пройти обучение в этом году можно было как бесплатно, так и уложиться в сумму до 40 тысяч рублей. Мы, к сведению, готовим специалистов уровня junior на безвозмездной основе, для собственных и клиентских проектов.
А вот курсы предметного изучения различного инструментария стоили уже в среднем от 60 до 200 тысяч рублей. Но полученные навыки могут пригодиться для повышения квалификации до middle или senior, а значит — повлияют на уровень зарплаты и помогут быстрее окупить затраты на образование.
При этом нет какой-то четкой планки, сколько курсов должен пройти тестировщик, чтобы поднять свой уровень. Кто-то прекрасно учится самостоятельно, а кому-то нужна поддержка ментора и четко выстроенная программа обучения.
Но по нашему опыту, в среднем за цикл роста до senior-а начинающий специалист прослушивает от 3 до 12 курсов и получает 2-7 сертификатов. Ведь в тестировании, как и в других направлениях IT, для серьезного карьерного скачка нужно много дополнительно изучать, читать и смотреть. Без постоянного обучения и практики развитие невозможно.
В целом, рынок образовательных услуг в сфере IT стал достаточно большим. Различные курсы предлагают не только крупные платформы, но и сами компании-интеграторы. Поэтому, найти подходящую программу сегодня не сложно.

Продолжительность курсов зависит от направления подготовки. В нашей Школе обучение функциональному тестированию сегодня занимает в среднем 1,5 месяца, автоматизированному или нагрузочному — уже 2,5 месяца.
А что с работой
По данным HeadHunter, количество вакансий на позицию тестировщика в 2022 году выросло на 18% по сравнению с прошлым периодом. На начало декабря работодатели искали 3 726 специалистов различного уровня и направлений. Например, только в нашей компании открыто 30 вакансий для тестировщиков.
После ухода из России интеграторов-нерезидентов на рынок труда вышло большое количество высококвалифицированных тестировщиков. Преимущественно, «функциональщиков».
Такая тенденция очень сильно уронила зарплатные ставки и подняла планку требований работодателей. В итоге, сейчас специалисту по функциональному тестированию уровня junior и даже middle, трудоустроиться может быть сложно.
В автоматизированном тестировании, наоборот, сильная нехватка кадров. Быстро получить оффер могут «автоматизаторы» middle и senior. Спрос упал только на джунов.
Острый дефицит наблюдается и в нагрузочном тестировании. В этом направлении рынок по-прежнему разогрет, и устроиться хорошему специалисту любой квалификации не составит проблем.

Заключение
В российской IT-индустрии QA-инженеров и тестировщиков ПО часто путают: порой сами работодатели не видят различий между этими профессиями. Но разница всё-таки существует, и немаленькая. QA-инженер — специалист с более широкими компетенциями. В отличие от тестировщика, он контролирует качество продукта с момента возникновения идеи до релиза.








