IT-компаниям важно не только выпускать высокотехнологичные продукты, но и быть уверенными в том, что все работает как часы: без багов и зависаний. От этого зависит репутация и доход компании. Поэтому тестирование — обязательный этап разработки.
Как понять, какой именно тестировщик вам нужен, где его искать и как организовать процесс подбора, рассказала senior IT-recruiter в Innovative People Ксения Базарнова.
Ксения Базарнова, senior IT-recruiter, Innovative People
Кто такие тестировщики и чем они занимаются
Из самого названия профессии понятно, что тестировщики — это те, кто что-либо тестируют или проверяют. Тестировать можно как оборудование (hardware), так и софт (software). Сейчас наиболее распространены software-тест-инженеры, которые проверяют различные системы или их части.
В тестировании выделяют множество направлений:
- ручное (мануальное) тестирование;
- автоматизированные тестирование на разных языках:
- Java;
- Python;
- C#.
- нагрузочное тестирование;
- перфоманс-тестирование;
- тестирование безопасности.
Часто и рекрутеры, и сами специалисты путают понятия «тестировщик» и «QA-инженер». Это близкие, но не тождественные термины. Кроме того, есть направление QC — Quality Control.
Схематично взаимоотношения между этими направлениями можно изобразить так:
Эти направления соотносятся следующим образом. QA — это quality assurance, то есть обеспечение качества. Поднаправлением QA является QC — quality control или контроль качества. А вот уже тестирование — это поднаправление QC.
На основе этих подмножеств можно формально разделить профессию на три направления:
- Тестировщик — это самая первая ступень. Он несет ответственность только за проверку конечного продукта на наличие ошибок. Его задача — протестировать уже готовое ПО и понять, что работает не так, как хотел заказчик. Обычно такими задачами занимаются джуны.
- QC-инженеры на рынке России встречаются крайне редко — их редко отделяют от QA-инженеров. QC-инженеров интересует не только проверка финального продукта: они собирают статистику, а также изучают различные метрики и аналитику по тестированию.
- QA-инженеры — это наиболее глобальная позиция в тестировании. Она включает в себя задачи тестировщика и QC-инженера, а также оценку рисков и планирование тестирования. QA-инженеры принимают участие во всем цикле производства ПО — анализируют требования, находятся в тесном контакте с разработчиками, могут найти баг до того, как будет написана кодовая база.
Реализацию этих ролей можно показать на простом примере с производством табуретки.
Тестировщик проверит, что все 4 предполагаемые ножки на месте, они верно прикреплены к нужной плоскости. Он также убедится, что на табуретке можно сидеть, а еще проверит, что будет, если табуретку перевернуть и сесть на нее по-другому.
QC-инженер углубится в анализ качества древесины, из которой сделана табуретка, протестирует гвозди, которыми ножки крепятся к сиденью. Задача QC-инженера — убедиться, что табуретка готова к выпуску, в ней все так, как запланировано.
QA-инженер проделает все то же, что и тестировщик и QC-инженер. А еще проверит, что табурет собрали в соответствии с чертежами, которые он проверял и поправлял.
QA-инженер должен убедиться, что функции табурета соответствуют ожиданиям потребителей.
Однако на одном из этапов к QA-инженеру может прийти мысль скрепить ножки дополнительными опорами для большей устойчивости. Тогда он оценивает риски, советуется с инженерами, проверяет чертежи, договаривается с командой о выпуске новой модели, а после собирает обратную связь у покупателей — все ли им нравится.
В обиходе «тестировщиками» называют специалистов разного уровня и направлений тестирования. Для удобства и краткости таким подходом воспользуемся и мы.
Какими софт- и хард-скиллами должен обладать тестировщик
Софт-скиллы
Хороший тестировщик должен обладать такими навыками:
- умение корректно доносить мысли и аргументировать позицию;
- инициативность и проактивность;
- умение правильно задавать вопросы;
- желание разбираться в проблеме и искать причины.
Для проверки софт-скиллов тестировщика не обязательно проводить отдельное интервью или тестирование — достаточно внимательно слушать кандидата во время первичного скрининга. Нужно держать в уме психотипы у будущих коллег тестировщика, — и обращать внимание на его характер и темперамент.
Хард-скиллы
Чтобы понять, какие именно хард-скиллы потребуются на ту или иную позицию, нужно корректно снять заявку. Я задаю нанимающему менеджеру такие вопросы:
- Это ручное тестирование, автоматизированное или тестирование нагрузки?
- Это тестирование фронтенда, бэкенда, мобильных приложений или все сразу?
- Если тестирование автоматизированное, то на каком языке?
- Какими инструментами и технологиями должен владеть кандидат?
- Насколько самостоятельным должен быть новый сотрудник?
В зависимости от грейда различается уровень самостоятельности:
Каждой ли компании нужны тестировщики
В идеальном мире тестирование — это обязательная часть процесса аналитики и разработки. Индустрия уходит от дешевого тестирования, так называемого monkey testing — проверки готового продукта на критичные ошибки.
Теперь тестирование — это объемный процесс, потому что система с каждым днем становится масштабнее, появляются интеграции и новые модули. Выпускать «на авось» опасно — такое могут себе позволить только стартапы, которым первый релиз важнее проверки качества.
Сейчас до сих пор встречаются небольшие команды, где нет полноценных тестировщиков, а эта функция возложена на разработчиков или аналитиков. Но, как правило, это низкоуровневое тестирование, которое проверяет только работоспособность кода. Однако в масштабных проектах обязательно должны быть QA-инженеры — внутренние сотрудники или привлеченные на аутсорс.
Рынок тестировщиков
В последние 4–5 лет всем резко потребовались тестировщики-автоматизаторы, поскольку системы разрослись и стало сложно проводить повторяющееся ручное тестирование. Выгоднее писать автотесты, которые сэкономят много времени.
Рынок тестировщиков уровня миддл и выше — это рынок кандидатов. С джунами наоборот — работодатели выбирают сотрудников и решают, кто им подходит. Это стало особенно заметно в последние полгода.
Наем джуниор-тестировщиков
Один из самых популярных способов «войти в IT» — пройти курсы и стать джуниор-тестировщиком. Однако работодатели по-разному относятся к найму таких кандидатов:
- одни считают, что у тестировщика обязательно должно быть профильное высшее образование;
- другим достаточно знаний, полученных на курсах;
- третьи могут нанять и самоучек.
На мой взгляд, курсы — не панацея. Там дают лишь базовые знания, которые нужно дополнять чтением профессиональной литературы и стажировками.
Доверять или не доверять курсам, которые прошел джуниор-тестировщик, — это полностью ответственность нанимающего менеджера.
Где искать тестировщиков
Мы ищем тестировщиков в тех же каналах, что и других IT-специалистов:
- Хедхантер — один из самых востребованных каналов, через который мы закрываем 60–70% вакансий. Здесь выше конкуренция с другими компаниям за кандидатов, ведь эти специалисты точно находятся в активном поиске.
- Хабр.
- Линкедин.
- Телеграм-каналы. Самый большой канал — QA — вакансии и аналитика рынка. Не во все каналы и чаты вежливо размещать вакансии. Чтобы вас не забанили, читайте правила сообщества — их обычно пишут в описании.
- Твиттер.
- Рекомендации. Обычно таким способом мы закрываем 2–3% позиций, но в прошлом квартале случился рекорд: 25% новых сотрудников пришли к нам по рекомендациям. Вероятно, это связано с тем, что в наше неспокойное время люди боятся переходить в незнакомую компанию и откликаются на вакансии по совету знакомых.
Если мы ищем джуниор-тестировщика, то достаточно разместить вакансию в телеграм-канале: набежит столько кандидатов, что отклики будем разбирать неделю. В поисках тестировщиков синиор-уровня используем точечный поиск.
Как строится процесс найма
В Innovative People подбор тестировщиков проходит в несколько этапов.
Поиск
На этом этапе рекрутеры сорсят кандидатов, отправляют им электронные письма, иногда звонят.
Скрининг
Здесь рекрутер действует как тестировщик: сопоставляет требования по вакансии с фактическим результатом — резюме и реальным опытом кандидата.
Техническое интервью
Если кандидат соответствует требованиям и ему все нравится, проходит встреча с лидом или QA-инженером из команды. На этом этапе оцениваются технические компетенции соискателя.
Если у нанимающего менеджера высокая загрузка, то рекрутер может провести за него технический скрининг — по заранее подготовленному и согласованному плану. Далее рекрутер предоставляет отчет заказчику, а тот уже решает, приглашать ли кандидата на следующий этап.
Встреча с командой
Это необязательный этап, ставший популярным в последнее время. Организуется 30-минутный разговор с тестировщиками, аналитиками, разработчиками, представителями продуктовой команды. Здесь обсуждают опыт и интересы потенциального сотрудника.
На такой встрече и кандидат, и команда могут понять, подходят ли они друг другу.
Оффер
Если кандидата и команду все устраивает, выставляют оффер. После его принятия — подготовка документов, оформление доступов и прочее.
Почему не нужно тестовое задание
Зачастую кандидатам в тягость выполнять бесплатное тестовое задание. Особенно, если его надо сделать до технического собеседования. В этом случае человек еще не понимает, в какой команде он будет работать и чем предстоит заниматься, поэтому мотивации на выполнение задания нет. Для многих это полноценная работа, особенно если задание сложное и может занять весь день.
Тестовое задание уместно использовать, чтобы отсечь совсем некомпетентных джунов. А вот в подборе мидл- и синиор-тестировщиков оно скорее мешает, чем помогает закрыть вакансию. Часть кандидатов может просто «отвалиться» из-за нехватки времени или желания выполнять задание.
Главное про наем тестировщиков
- Тестировщики занимаются проверкой software или hardware на ошибки и соответствие техническим требованиям.
- Выделяют направления тестирования:
- QA;
- QC;
- Тестирование.
- Хороший тестировщик должен развивать навыки коммуникации и активного слушания, быть проактивным и любознательным.
- Тестировщиков разных грейдов различает уровень самостоятельности в принятии решений, вовлеченность в процесс разработки, а также наличие или отсутствие менеджерских функций.
- Работодатели неоднозначно относятся к выпускникам курсов для тестировщиков. Но в любом случае доверие или недоверие к конкретной школе — ответственность нанимающего менеджера.
- Тестировщиков ищут в тех же каналах, что и других IT-специалистов. Хедхантер — до сих пор самый популярный источник.
- Процесс подбора тестировщика строится так:
- поиск;
- первичный скрининг;
- техническое интервью;
- знакомство с командой;
- оффер.
- Тестовое задание в найме тестировщиков используют редко — этот этап может значительно сузить воронку подбора. Его применяют лишь затем, чтобы отсечь совсем некомпетентных джунов.