«В тестировщике живёт три личности»: как стать QA-инженером
Кто такой тестировщик, чем он занимается и какие перспективы у этой профессии
О работе тестировщиков ходит много легенд. Одни считают, что задача таких специалистов — находить ошибки в программном обеспечении (ПО). Другие утверждают, что тестировщики просто тыкают кнопки и проверяют ссылки. Третьи убеждены, что QA-инженеры — рыцари в сияющих доспехах, которые защищают клиентов от некачественных продуктов.
Все эти суждения верны лишь наполовину.
Александр Наумов, QA-тимлид в «Утконосе», рассказывает всё о своей классной профессии:
- кто такие тестировщики и чем они занимаются;
- кто может стать инженером по тестированию;
- сколько зарабатывает тестировщик и какие у него перспективы. (Спойлер — их больше, чем многие думают.)
Несколько слов о спикере. Александр по образованию экономист-бухгалтер. По профессии работал ровно три месяца, потом перешёл в техподдержку. Дальше попал в e-commerce и начал развиваться как специалист, который отвечает за качество продукта. Александр признался, что тогда не знал, что это называется «тестировщик». В 2016 году он устроился в «Утконос» и уже там стал инженером по тестированию. За шесть лет Александр вырос в QA-тимлида: он выстраивает процессы в команде и много общается с коллегами.
Передаём слово Александру.
Кто такой тестировщик и что он делает
Тестировщиков по-другому называют QA-инженерами или инженерами по тестированию. QA — это Quality Assurance, то есть обеспечение качества. Задача тестировщика — следить за тем, чтобы выпускаемое ПО соответствовало требованиям бизнес-заказчика.
QA-инженер изучает техническое задание (ТЗ) и сверяет с ним готовый функционал. То, что описано в ТЗ, должно совпадать с тем, что получилось.
Во время проверки тестировщик имитирует поведение реального пользователя и нажимает на все кнопки, кликает на ссылки, добавляет товары в корзину и пишет абракадабру, где это возможно. Иногда таким образом специалист обнаруживает поведение сервиса, которое не предусмотрели при составлении ТЗ. Например, неработающие кнопки или другие странности. Это баги. Тестировщик сообщает о них разработчикам, и программисты устраняют ошибки.
Если QA-инженер считает, что сервис сделан некачественно, он может сообщить об этом: «Ребят, функционал выглядит плохо — мы потеряем деньги». Но последнее слово за тем, как выглядит конечный продукт, остаётся за бизнес-заказчиком.
В прошлом году мы выпускали доработку. Я предупредил продакт-менеджера, что в функционале 20 мажорных проблем и выкатывать такое нельзя. Он ответил, что это всё ерунда. Хозяин — барин. Выпустили. После этого продакт-менеджер пришёл ко мне и спросил: «Вы зачем такую фигню выкатили?». Я ответил: «Я говорил об этих проблемах, но ты сказал, что тебя устраивает результат». Мы договорились, что в течение месяца наши разработчики исправят баги.
Софт и хард-скилы тестировщика
QA-инженер — это отличная возможность для тех, кто мечтает об удалённой работе и хочет перейти в IT-сферу. Для старта в профессии не нужно владеть языками программирования. В нашем отделе тестирования всего пять человек учились на айтишников и работают по специальности. В основном у нас собрались люди из разных отраслей: есть бухгалтер, два кинолога, менеджер съёмочной группы и даже следователь.
Стать тестировщиком может любой человек, обладающий следующими качествами:
Дотошность и здоровый перфекционизм. QA-инженер сразу заметит, если на всех страницах кнопка «Оформить заказ» жёлтая, а на одной — красная. И ему это не понравится — он на уровне генов понимает, что везде должно быть одинаково.
Системность мышления. Тестировщик знает, что компоненты в системе взаимосвязаны и изменение одного элемента может повлиять на остальные.
Коммуникабельность. QA-инженеру необходимо общаться с другими людьми: выяснять подробности ТЗ у заказчика, ставить задачи разработчикам. Без любви к общению будет трудно.
Вариативность мышления. Тестировщик может предложить множество разных решений для одной задачи.
На собеседованиях я люблю предлагать кандидатам проверить работоспособность теста на возраст. Условие: после 18 продаём алкоголь, до 18 — не продаём. Других критериев нет. У соискателя есть поле для ввода. Я спрашиваю «Что будешь вводить?» и слушаю варианты. Обычно люди со складом ума, как у тестировщика, предлагают много вариантов: буквы, цифры, предложения разной длины, числа словами, точки, запятые, точки с запятыми и так далее.
Любопытство. Инженеру по тестированию до всего есть дело. Если у него открыт браузер, он будет лупить курсором везде, чтобы посмотреть, что произойдёт. Если есть какие-то кнопки или ссылки, тестировщик обязательно на них нажмёт. Ему любопытно, что будет.
У меня был случай. Аналитик описал процесс функциональности. Я показал документ QA-инженеру, он выкатил 30 сценариев и сказал: «Это описание отвечает только трём сценариям. Где остальные 27 возможных?». Поражённый аналитик уточнил, как так получилось. Тестировщик объяснил: «Тут можно нажать эту кнопку, тут — другую». Аналитик спросил: «А зачем их нажимать?» Тестировщик ответил: «В смысле зачем? Они же есть».
Умение понимать поведение других людей и подстраиваться под них. По моему мнению, в тестировщиках живёт три личности.
Первая личность — это бабушка, которая ничего не видит и жмёт на всё подряд.
Вторая — мамочка с двумя детьми, у которой постоянно нет времени. Она не читает всплывающие окна — ей надо быстро накидать товары в корзину, желательно по акции, и бежать по своим делам.
Третья личность — молодой человек 20-25 лет, который прекрасно понимает, что он видит на экране, и на всё реагирует так, как задумано.
QA-инженер посчитает, что функциональность прошла проверку, когда все три личности скажут: «Да, это работает».
Мы обсудили софт-скилы тестировщика. Немного затронем хард-скилы. Начинающий QA-инженер:
- должен понимать жизненный цикл ПО;
- знать термины тестирования: смоки, регресс, санитарное, юнит, интеграция, баг-репорт и т. д.;
- владеть основными инструментами: Postman, Charlie, Devtools.
Перспективы тестировщика
Есть заблуждение, что у QA-инженера только два варианта развития: мануальщик или автотестер. На самом деле возможностей гораздо больше.
Мануальщик — это специалист, который вручную проверяет ПО по чек-листам. Как правило, путь в профессию начинается именно с ручного тестирования.
Через год-полтора начинающий специалист (джуниор) осваивает все основные инструменты и становится мидлом — рабочими руками команды. Год-полтора — условный срок. Люди с IT-прошлым (техподдержка, админы систем) растут быстрее, но это не значит, что без айтишного бэкграунда путь будет долгим. Всё зависит от того, сколько сил и желания человек вкладывает в то, чтобы освоить профессию. В моей практике были случаи, когда джуны за год прокачивались до сеньора — очень сильного специалиста, который понимает, как устроен проект, может решить задачу оптимальным способом и организовать процессы в команде.
Мануальщик уровня мидл может попробовать написать свой первый автотест — программу, которая проверяет приложение автоматически. Чтобы её сделать, нужно владеть каким-то языком программирования. Чаще всего автотесты делают на Java, Python или JavaScript.
Дальнейшее развитие специалиста зависит от того, понравится ли человеку писать автотесты и захочет ли он учить языки программирования.
Если нет, тогда варианта три:
- Остаться мануальщиком. Это востребованные специалисты, но у них есть зарплатная планка (около 120-140 тысяч рублей).
- Развиваться в управлении продуктом и становиться аналитиком или продакт-менеджером.
- Развиваться в управлении командой и идти в QA-тимлиды. Это специалист с сильными софт-скилами, который управляет командой и строит процессы внутри неё. В будущем QA-тимлид может стать Head of QA (руководитель всех QA-проектов компании) или техническим директором (CTO).
Если специалисту понравилось писать автотесты и он решил изучать языки программирования, тогда его перспективы:
- Стать автотестировщиком и писать программы для автоматической проверки ПО.
- Уйти в более узкую специализацию и развиваться, как специалист по нагрузочному тестированию или тестировщик-безопасник. Вакансий нагрузочников или безопасников мало, но стоят такие эксперты как крыло самолёта.
- Стать техническим лидером QA-команды (техлид). После этого можно перейти в смежную сферу, например, в разработку или DevOps.
Как понять, куда развиваться? Пробовать.
У меня был тестировщик, который искал себя в трёх разных направлениях. Сначала он попробовал писать код — у него получалось. Он сказал: «Не знаю, нравится мне или нет». Тогда я предложил: «Давай ты будешь заниматься только этим целый месяц». Он ответил: «Ты что, с дуба рухнул? Я с ума сойду». Так стало понятно, что писать автотесты не его. Дальше он попробовал нагрузочное тестирование — тоже не зашло. Я его снова спросил: «Что ты хочешь делать на проекте?» и получил ответ: «Хочу напрямую влиять на продукт, а не предлагать изменения». В этот момент я понял, что говорю с новым продакт-менеджером, своим потенциальным заказчиком. Коллега попробовал это направление, и ему понравилось. Работает до сих пор.
Зарплата и востребованность тестировщиков
Джуниор-тестировщик в среднем зарабатывает 60-70 тысяч рублей в месяц. Мидл получает 110-130 тысяч рублей. Зарплаты QA-сеньоров начинаются от 150 тысяч рублей в месяц.
Тестировщики уровня мидл и сеньор по-прежнему востребованы на рынке. А вот для джунов в связи с событиями в стране и мире сейчас не самое благоприятное время: многие компании приостановили набор новичков со стороны и предпочитают выращивать специалистов внутри. Вероятно, к концу года ситуация изменится — как раз есть время набраться достаточных для джуниор-тестировщика знаний.
Курс «Как стать тестировщиком»
Если прочитав эту статью вы подумали: «Хочу стать тестировщиком», приглашаем на наш курс. Он подойдёт людям, которые не знают языков программирования, но мечтают работать удалённо в одной из самых высокооплачиваемых сфер в мире. После обучения вы сможете выполнить тестовое задание и стать джуниор-тестировщиком веб-сайтов.
До 27 июля курс стоит 30 000 рублей, после — 40 000 рублей.
Посмотреть программу и записаться на курс: