Профессию тестировщика многие рассматривают как первый этап для вхождения в сферу IT. Порог входа в неё значительно ниже, чем для других направлений, но всё же необходимы определённые знания математики, информатики и других дисциплин. Расскажем, как стать тестировщиком с нуля, какие скилы обязательны, а ещё о плюсах и минусах этой специализации.
Что такое QA?
Quality Assurance (QA) значит «обеспечение качества» какого-либо продукта, например ПО. QA-engineer – специалист, который проверяет качество продукта, начиная с этапа разработки, что позволяет уменьшить количество ошибок. Но тестировщик решает иные задачи – он не участвует в разработке продукта на всех стадиях, а тестирует уже готовую программу.
Кто такой тестировщик и чем он занимается
QA-инженер и QA-тестировщик в целом занимаются одним и тем же, но у первого специалиста объем работы больше. В задачи программиста-тестировщика входит проверка уровня качества готовых ПО, сайтов, приложений, игр (Game Dev).
Для этого используют два метода:
- Ручной. Специалист вручную имитирует действия пользователей – следуя разным сценариям, нажимает на баннеры, кнопки, оформляет заказы в интерфейсе и др.
- Автоматизированный. Тестирование проводится с помощью специальных программ. Специалист по автотестам (developer in test) – это следующая ступень, поскольку здесь нужно обладать бо́льшим объёмом навыков.
Инженер по тестированию помогает выпустить на рынок качественный продукт, который будет удобен для пользователя, обеспечит рост продаж. Задача специалиста – провести проверку по заданному регламенту, смоделировать разные поведенческие модели пользователей, выявить системные ошибки и баги. А после тестирования составить отчёт, на основании которого разработчики внесут правки.
Какие знания и умения необходимы QA-инженеру
Работа тестировщиком требует разнообразных hard и soft skills.
Знание языка программирования
Тестировщики программного обеспечения, которые используют ручные методы проверки, могут обойтись без знания языков программирования и умения писать код. Но, как правило, специалисты не задерживаются на этой ступени и переходят к автоматическому тестированию.
Хотя бы на базовом уровне желательно владеть:
Любой из языков программирования не помешает тестировщику. Это поможет минимизировать контакты с разработчиками и перевести в автоматический режим ряд ручных операций. Кроме того, в крупных компаниях используют только автотесты.
Понимание основ теории тестирования и тест-дизайна
Профессия тестировщика предполагает, что специалист должен знать:
- Основы тест-дизайна. Это этап, на котором создаются тест-кейсы, намечается алгоритм действий. Цель – структурировать процедуру проверки и свести к минимуму количество тестов.
- Азы теории тестирования. Специалист должен уметь составлять техническую документацию (матрицы соответствия требований, тест-планы, спецификации), разбираться в разных видах тестирования – статическом, динамическом, исследовательском и др.
Обучение тестировщиков начинается с освоения теории, без которой нет смысла приступать к практике.
Знание методологий разработки Scrum и Kanban
Scrum и Kanban – варианты организации рабочего процесса. Скрам позволяет создавать продукт частями и тестировать каждую сразу же в условиях рынка, за счёт чего уменьшаются затраты. По каждой такой «порции» продукта разработчики получают обратную связь, в том числе от пользователей.
Kanban – не фреймворк, а инструмент для повышения эффективности продукта. Его задача – минимизировать потери при работе. Может работать и на уровне всей команды или даже компании, и по отдельным задачам. Это своеобразная визуализация процесса тестирования.
Понимание устройства компьютера и основ операционных систем Linux, Windows, Mac OS
Практически для любой IT-специальности необходимо понимать, как устроен компьютер и разные операционные системы, как работает сервер. Без этих знаний тестировщику не обойтись.
Способность работать с баг-трекингами Jira и YouTrack
Эти платформы используют для управления задачами и проектами, с их помощью отслеживают ошибки:
- Jira – баг-трекинг в виде интерактивной доски, бесплатный для небольших команд, позволяет в том числе планировать проекты;
- YouTrack – система для выявления багов и управления проектами, имеет десктопную и облачную версии, бесплатна для команд численностью не более 10 человек.
Реже используют аналоги, например Worksection.
Умение работать с фреймворком Selenium Web Driver
Его используют чаще при автоматическом QA-тестировании. Этот драйвер предоставляет автотестам доступ к браузеру. Напрямую не участвует в тестировании, но автоматизаторам может пригодиться для проверки корректности отображения сайта в нескольких браузерах.
Умение мыслить аналитически
Инженеру-тестировщику желательно иметь определённый набор soft skills. Один из обязательных «гибких» навыков – аналитическое мышление. Специалист должен уметь обрабатывать большие объёмы данных, правильно оценивать, систематизировать их, находить взаимосвязи и делать правильные выводы.
Грамотный тайм-менеджмент и стрессоустойчивость
Ещё один важный навык для специалиста по тестированию в области информационных технологий – умение соблюдать дедлайны. Пока тестировщик не проверит программу или сайт, продукт не выйдет на рынок, а любая задержка означает потенциальную потерю прибыли.
Усидчивость
Профессия тестировщика программного обеспечения предполагает достаточно монотонную работу, в процессе которой важны внимательность, умение обращать внимание на детали. Над одним приложением или сайтом часто нужно работать по нескольку раз, поэтому без рутины не обойтись.
Самообучаемость
Любой специалист в сфере IT должен следить за трендами, регулярно изучать новые инструменты, не игнорировать профессиональную литературу.
Где работают QA-инженеры и сколько они зарабатывают
Практически в любом серьёзном IT-проекте задействуют тестировщиков. Такие специалисты востребованы во всех компаниях, которые выпускают на рынок сайты, ПО, приложения. Большинство работодателей отдают вакансии универсалам, которые могут сочетать функции мануальщика и автотестировщика, знают языки программирования.
Разбег зарплат тестировщиков внушительный. Например, по данным hh.ru на начало марта 2023 года, сотрудникам junior готовы платить до 60–80 тыс. руб. QA-инженер middle/senior может получать до 200–220 тыс. руб.
Как стать QA-инженером
Выучиться на тестировщика с нуля можно на курсах или самостоятельно.
Платные курсы
Самые популярные среди платных курсов:
- Нетология «Тестировщик». Обучают ручному и автоматизированному тестированию, длительность курса – 8 месяцев, формат – онлайн с практическими заданиями, видеолекциями. По итогу выдают диплом о профессиональной переподготовке.
- Skillbox «Инженер по тестированию». Длительность – 7 месяцев, есть помощь наставников, гарантии трудоустройства.
- GeekBrains «Тестировщик ПО». Рассчитан на 1 год, подойдёт новичкам. Включает обучение по нескольким популярным специализациям, школа предоставляет гарантию трудоустройства и выдаёт диплом.
- SkillFactory «Инженер по ручному тестированию». Короткий интенсив продолжительностью 4 месяца, включает свыше 200 часов практически задач, предоставляет доступ к тренажёрам. По окончании обучения выдаётся диплом и предоставляется стажировка в IT-компании.
Платные курсы предназначены для студентов с разным уровнем знаний – некоторые рассчитаны на новичков в IT, другие позволяют перейти на ступень выше или, например, освоить автоматическое тестирование тем, кто раньше использовал только ручное. Кроме того, в школах проводят собеседования. Перед тем как стать тестировщиком, студент сможет с их помощью определиться со специализацией.
Бесплатные курсы
Бесплатные курсы обычно дают базовую информацию – знакомят с особенностями профессии, азами тестирования. Самые популярные:
- Курс от Сергея Семёнова. Позволит познакомиться с основными понятиями и определить путь развития в сфере тестирования. Состоит из видеоматериалов – 6 уроков продолжительностью не более 10 минут. Нет сертификата и обратной связи.
- Курс от Алекса Маршала. Состоит из коротких видеоуроков в записи, подойдёт для новичков. Сертификат не выдаётся, нет обратной связи от автора курса.
- Stepik. Курс необходим тем, кто готовится к сдаче сертификационных экзаменов ISTQB Foundation Level. Состоит из 33 уроков и более 100 тестов для самопроверки, подходит для действующих тестировщиков.
- Яндекс Практикум. Четырёхмесячный курс, который познакомит с профессией тестировщика. Предполагает поддержку наставника, проходит в формате онлайн. Бесплатно предоставляется доступ только к вводным урокам.
Бесплатные курсы могут иметь разную направленность – знакомить новичков с основами тестирования или быть посвящены определённой теме, например, автоматическому тестированию.
YouTube и книги
Для самообучения можно использовать видео и литературу. Популярные интернет-каналы на Youtube:
- Тестирование ПО – Software Testing;
- autotestinfo;
- HelpingTesters;
- Radio QA;
- Alexei Barantsev.
Полезные книги для тестировщиков:
- «Что такое тестирование. Курс молодого бойца» О. Назиной;
- «Дружеское знакомство с тестированием программ» Б. Лабуна;
- «Тестирование программного обеспечения. Базовый курс» С. Куликова;
- «Тестирование dot com» Р. Савина;
- «Как тестируют в Google» Д. Уиттакера.
Вся литература значительно отличается по уровню сложности. Некоторые книги подойдут тем, кто не сталкивался с тестированием и только входит в профессию. Но есть и серьёзные издания, в том числе англоязычные. Например, одной из лучших по тест-дизайну считается работа Л. Копланда «A Practitioner's Guide to Software Test Design».
Плюсы и минусы профессии
Как и у других IT-профессий, здесь есть свои плюсы и минусы.
Плюсы
Преимущества:
- минимальный порог входа в профессию;
- возможность работать на удалёнке, в том числе на фрилансе;
- высокий спрос на специалистов.
Работать тестировщиком проще, чем в других технических направлениях, профессия доступна даже без глубоких знаний информатики и математики.
Минусы
Недостатки:
- нужны усидчивость, внимательность и коммуникабельность;
- график работы обычно ненормированный;
- с навыками только ручного тестирования в крупную компанию устроиться сложно.
Работа достаточно скучная – с одним и тем же продуктом иногда приходится работать по 2–3 и более раз. За тестировщиком никто не проверяет – нужно быть внимательным и не пропускать хотя бы серьёзные баги.