Тестировщик — это одна из самых востребованных профессий в IT, в которой можно прилично зарабатывать и трудиться без стресса с самого старта. Причем получить такую профессию можно с нуля за несколько месяцев: опыта работы и знания программирования не требуются.
Наши друзья из Яндекс.Практикума обучают тестировщиков и помогают в трудоустройстве таких специалистов. Вероника Ильина рассказывает о том как устроена эта профессия.
Кто такой инженер по тестированию
Quality Assurance — это процесс обеспечение качества продуктов, в том числе через тестирование. QA-специалист не просто тестирует программу, которую написал разработчик, но и участвует во всех этапах разработки продукта: он проверяет, можно ли в принципе разработать любую идею и будет ли это кому-нибудь нужно.
Например, в веб-приложении сайта социальных сетей есть функция обычных сообщений, а команда решила добавить функцию аудиосообщений. Тестировщику нужно проверить, что новая функция работает, а старая не сломалась, и что с новым типом сообщений взаимодействие работает так же, как и со старым — можно на него отвечать, пересылать, копировать.
Цель тестирования необязательно найти ошибки. Например, одна из задач — предоставить информацию о состоянии продукта: как он функционирует, что не работает и насколько это критично. Всегда существуют баги (ошибки в программе), которые никто не исправляет, потому что они встречаются у одного пользователя из 5000 — и, скорее всего, их никто никогда не заметит.
Сфере столько же лет, сколько и разработке ПО, но примерно до нулевых годов тестирование не было выделено в отдельного человека. В последние годы популярность тестировщиков растет: по данным HeadHunter, за последние три года количество вакансий выросло в четыре раза по всей России. Например, на middle-позицию в IV квартале 2019 года было 800 вакансий, а в 2016 году — 200. На всех трех уровнях тестировщиков — junior, middle, senior, lead — в IV квартале 2019 года суммарно было почти 2000 вакансий на HeadHunter.
При этом меняется и работа специалистов. Если еще несколько лет назад от тестировщика уровня middle требовалось просто уметь тестировать продукты, то сейчас работник на этой позиции почти всегда понемногу захватывает смежные сферы: разбирается, например, в управлении проектами, бизнес-аналитике или выполняет роль скрам-мастера (это человек, который помогает команде организовать и контролировать процесс разработки согласно методологии SCRUM).
Как им стать
Тестированию не учат в вузах и, наверно, не будут — базовое обучение QA занимает не 4 года, а гораздо меньше (до года). На позицию junior попасть легко. На моей практике, в профессию приходили маркетологи, воспитатели, водители трамвая, инженеры и бывшие разработчики. У нас есть студент, который до этого полгода работал на позиции инженера по тестированию приложений на ПК, но решил сменить специальность, потому что понял, что не чувствует развития на текущей позиции. Ещё не закончив обучение, получил оффер в Yota, теперь занимается тестированием мобильных приложений.
Самые важные качества в этой сфере — это любовь к порядку (как обычно пишут, «перфекционизм»), внимательность и усидчивость. Профессия точно не подойдет тем, кто не умеет и не хочет разговаривать с людьми. Тестировщик должен уметь объяснить разработчику, что его продукт не работает, релиз-менеджеру, что заявленная функция не выйдет, аналитику, какие требования к продукту изменить и почему именно их.
До недавнего времени самым популярным путем в профессию была книга Романа Савина «Тестирование dot com». Но в последние лет пять увеличилось число тех, кто ходит на курсы с практическими заданиями и проверками работ, потому что все компании хотят практического опыта.
Еще можно бесплатно учиться на онлайн-тренажерах в интернете, где робот проверяет сделанное задание. Например, так можно освоить SQL. Существуют и маленькие авторские курсы, когда опытный lead-тестировщик делится знаниями, ведет небольшие группы и помогает студентам с трудоустройством.
В вакансиях на junior-позиции есть три требования, которые встречаются чаще всего:
- функциональное тестирование;
- ручное тестирование;
- владение SQL.
Всё остальное — это специфические вещи, так как у всех компаний разный запрос. Главное — уметь продать себя в резюме. Я всегда советую нашим студентам любое обучение (не только на курсах, но и, если самостоятельная работа, например, на тренажерах) указывать, как опыт работы. Если нет проектов, то можно самостоятельно выбрать сайт и проверить его на ошибки, а потом оформить в отчёт — и прикрепить в портфолио.
Погрузиться в профессию помогут:
- статьи на Habr о тестировании и сопутствующих темах (разработка ПО, разработка и анализ требований, работа в команде);
- подкаст «Радио QA»;
- телеграмм-каналы: например, крупнейшее сообщество тестировщиков, чат про обучение тестированию для учащихся, сочувствующих и ищущих материалы по каким-то темам, личный канал опытного QA.
Где работать
Наибольшую потребность в QA-специалистах испытывают два типа компаний: это крупные продуктовые и аутсорс-компании.
Среди продуктовых компаний можно выделить Яндекс, Mail.ru Group, Avito, Ozon — и других гигантов ИТ-рынка. Банки — Сбербанк, Альфа-банк, Тинькофф, ВТБ — обычно не считаются истинно продуктовой разработкой, но в них тоже есть тестировщики. Однако банки любят нанимать людей, которые уже работали на банковских проектах, например, в аутсорсе, и не пугаются незнакомой терминологии и банковской специфики. В остальных компаниях знания предметной области приветствуются, но прийти без опыта гораздо проще.
Аутсорс-компании работают так. Если кто-то хочет сделать интернет-магазин, то легче не собирать собственную команду (он делается за пару месяцев и на долгие годы), а обратиться в аутсорс-компанию, которая разработает и будет поддерживать сайт, протестирует любой продукт по тех заданию (ТЗ). Работа тестировщика на аутсорсе отличается тем, что ему постоянно прилетают разные проекты, на которые он имеет меньшее влияние, чем в продуктовой разработке. Таким компаниям отдают разные проекты, среди которых и важные продукты, требующие многолетней разработки и поддержки — например, банковские мобильные приложения. Примеры крупных российских аутсорс-компаний: Epam, Netcracker, Luxoft, Bell. Эти компании присутствуют больше, чем в одном городе, и часто больше, чем в одной стране.
Набор на открытые вакансии отличается между компаниями. Например, Epam набирает только через собственные курсы. Другие компании из аутсорса, наоборот, изначально фокусируются на middle-тестировщиках, потому что у них сложные проекты и у них нет задач для «малышей».
Крупный бизнес — тот же Сбербанк — сотрудничает с несколькими подобными компаниями, и на него работает очень много аутсорсеров. Продуктовые компании тоже могут уходить в аутсорс или даже открывать свой собственный. Например, у Яндекса есть асессорская служба, которая именно эту функцию и выполняет.
Что касается фриланса, то для QA-специалистов полезного и интересного опыта там очень мало. Как правило, тестирование предполагает высокий уровень доступа к делам компании. Если разработчику несложно написать какую-то часть программы отдельно от проекта, то для тестировщика, чтобы проверить, как она работает, нужен доступ, например, к пользовательской базе или ко всему проекту — а это очень сложно передавать на фриланс.
Ещё одна проблема с тестированием на фрилансе заключается в том, что фриланс-биржи по всем направлениям оккупированы ботами, которые автоматически соглашаются на заказы за маленькие деньги, а потом отправляют их куда-нибудь в Индию. В большинстве случаев, если какие-то тестировщики и подрабатывают так, то только по личному знакомству.
Сколько можно зарабатывать
Зарплата на начальной позиции зависит от региона: в Москве и Санкт-Петербурге это 40 000 — 70 000 рублей в месяц, в регионах — 15 000 — 20 000.
На позиции middle зарплата доходит до 110 000 — 120 000 рублей, на позиции senior — 120 000 — 200 000. Lead может получать до 300 000 рублей. Считается, что специалисты в смежных областях, например разработчики и продакт-менеджеры, получают больше. По факту, с junior-позиций такие профессионалы действительно быстрее выходят на более высокий уровень зарплаты, но на остальных позициях «вилки» примерно одинаковые.
Начиная с позиции middle, QA-специалисты часто углубляются в одну из тем: автоматизацию, экспертность в конкретной области (например, тестирование API), аналитику и т.д. Перед тестировщиком открыта не одна прямая карьерная лестница, а большое дерево возможностей — можно стать экспертом в нескольких перечисленных сферах.
Интересных задач и грамотного наставника обычно достаточно, чтобы junior сам понял, куда ему развиваться и как. Но, естественно, нужно продолжать учиться — читать статьи экспертов (на том же Habr), слушать доклады на конференциях по QA (например, на Heisenbug), ходить на встречи тестировщиков (в Москве до режима самоизоляции проходили встречи «Общества анонимных тестировщиков»).
Пока я нигде не видела агрегированной информации по поводу карьерного развития в QA, но интересные варианты развития можно посмотреть, например, в профилях уже опытных QA-инженеров на Linkedin. Там будут переходные шаги, какие-то ответвления, дополнительные активности (например, кто-то вел проект, который в итоге привел его к лидерской должности) — это очень полезно.
QA-инженер — это не только про так называемый monkey-testing, когда ты сидишь и нажимаешь на кнопочки, проверяя, работает приложение или нет. Он понимает, что делает и зачем, какая от этого польза и можно ли сделать продукт для миллионов людей (или сотен, но очень важных — к примеру, врачей) ещё лучше, а его тестирование — эффективнее.