IT-индустрия продолжает расти, растёт и востребованность тестировщиков. Только на сайте HeadHunter в мае 2022 года размещено 3 598 подобных вакансий. Если вы хотите работать в IT, при этом внимательны, любите всё доводить до совершенства и готовы учиться, возможно, эта профессия для вас. Рассказываем, легко ли стать тестировщиком, что он должен уметь, чем тестировщики занимаются на работе и сколько они получают.
Кто такой тестировщик
Чтобы приложение, программа или сайт хорошо работали, перед выпуском их проверяют на ошибки. Этим занимаются тестировщики.
Тестировщик — это IT-специалист, который ищет ошибки и слабые места в программах и приложениях. Без тестирования и последующего исправления ошибок пользователи получали бы на выходе неудобные интерфейсы и программы, которые плохо работают. Это как краш-тест нового автомобиля, только в роли машины — свеженаписанный софт.
В самом общем смысле тестирование — это поиск багов. Чтобы найти ошибки, специалисту приходится делать всё, что в теории может сделать с софтом пользователь: нажать все кнопки, прокликать все ссылки, заполнить все поля и совершить любые другие возможные действия. Как поведёт себя софт, если отключится интернет? Как будет работать приложение, если некорректно заполнить поля? Получается, что тестировщик — это своеобразный исследователь, итог его работы — полная информация о состоянии разрабатываемого продукта.
Может показаться, что тестировщик ПО только «ломает» софт, но это не совсем так. Он придумывает, как подойти к проверке той или иной функции, и создаёт тестовую документацию. Конечно, есть шаблоны и готовые чек-листы для тестирования, но есть и специфичные проверки, которые проводятся только для этой конкретной функции или модуля. В этой работе нужно и воображение, и умение смотреть на вещи с разных сторон.
В каких сферах нужны тестировщики?
Специалисты по тестированию работают везде, где создают сложные технологические продукты. Например, в разработке:
- сайтов,
- лендингов,
- ПО,
- игр для компьютеров, консолей и смартфонов,
- мобильных приложений.
Если в компании есть разработчики и там беспокоятся о качестве выпускаемого продукта, то скорее всего там будут и тестировщики.
Чем тестировщик отличается от QA-инженера
Если тестировщик ПО ищет баги, то QA-инженер (Quality Assurance) — это специалист, который организует процессы, нацеленные на то, чтобы создавать продукт правильно. Упор в его работе делается на превентивные процессы, они должны быть изначально построены так, чтобы продукт получался с как можно меньшим количеством багов.
Ещё есть QC-инженер (Quality Control), он проверяет, насколько продукт соответствует заявленным изначально характеристикам и качеству. Тестирование, по идее, это один из этапов QC.
Формально тестирование — это часть QC, а QC — это часть QA. В реальной жизни границы между этими профессиями размыты. Очень часто, когда компания ищет тестировщика, в вакансии указан QA-инженер или инженер по тестированию. Поэтому при поиске работы лучше смотреть на конкретные задачи, которые потребуется выполнять.
Чем отличаются ручное и автоматическое тестирование?
Ручное, или мануальное, тестирование проводят вручную, то есть специалистам приходится совершать много повторяющихся действий. Чтобы уменьшить рутину и упростить себе жизнь, многие тестировщики учатся писать программы, которые совершают эти действия за них.
Тестировщик ПО пишет код или скрипт, запускает программу и нужные сценарии, а затем тестовые случаи просто прогоняются через неё. Это и есть автоматическое тестирование. Его используют, чтобы сэкономить время и упростить процесс. Часто люди начинают с ручного тестирования и, постепенно научившись кодить, осваивают и автоматизированное.
В реальной жизни тестировщику чаще всего нужны оба эти навыка, он должен при необходимости уметь провести проверку вручную или через программу. А в больших проектах без автоматического тестирования просто не обойтись.
Сайт популярного инструмента для автоматизации тестирования Selenium
Обязанности тестировщика: что нужно уметь
Специалист по тестированию ищет все возможные слабые места в программе и проверяет, как работают функции. Ещё он оценивает совместимость продукта с разными версиями ПО, устройствами, операционными системами и браузерами.
Со стороны работа тестировщика может выглядеть как хаотичное «тыкание» по всем кнопкам, но это, конечно, не так. Сначала аналитики описывают требования — какие данные должны быть на входе, как они должны обрабатываться и что должно получиться в итоге. Тестировщики пишут тест-кейсы — пошаговые описания действий для проверки программы (какие функции проверяем и в какой очерёдности).
Пошагово это выглядит примерно так.
- Тестировщик изучает документацию по продукту — рекомендации и инструкции от аналитиков и программистов.
- Затем он прописывает тест-кейсы.
- Проводит тестирование, вносит ошибки в баг-репорт.
- Затем собирает в отчёт все баги, ошибки и примеры неправильной работы софта.
- Отчёт с рекомендациями передают разработчикам.
Пример тест-кейса. Источник: сайт medals-coins.ru
Получается, в идеале, тестировщик — это человек, который:
- понимает бизнес-логику проекта;
- анализирует требования по проекту;
- понимает, чего хочет пользователь;
- составляет тестовую документацию;
- проводит сами тесты;
- составляет баг-репорты и отчёты.
Зарплата тестировщика
По данным «Хабр Карьера», во втором полугодии 2021 года медианная зарплата* тестировщиков в России составляла 110 000 ₽.
* Медианная зарплата — это уровень, выше и ниже которого получают доход одинаковое количество спецов. Если медианная зарплата в группе из десяти человек равна 100 000 ₽, то пятеро из них зарабатывают меньше 100 000 ₽, а пятеро — больше.
Данные по зарплатам айтишников с сайта «Хабр Карьера»
При этом внутри средних значений размер зарплаты может варьироваться от 40 000 ₽ до 200 000 ₽. Цифра сильно зависит от опыта, квалификации специалиста и региона.
Например, в Москве тестировщикам с опытом работы от 1 года до 3 лет предлагают зарплаты примерно от 100 000 ₽ до 180 000 ₽. Начинающим тестировщикам без опыта в Москве предлагают около 50–80 000 ₽.
Примеры вакансий тестировщика в Москве с сайта HeadHunter
В регионах зарплаты традиционно ниже. Разбег зарплат примерно от 40 000 ₽ до 70 000 ₽.
Примеры вакансий тестировщика в регионах с сайта HeadHunter
Плюсы и минусы профессии
В профессии тестировщика есть свои нюансы, которые лучше знать заранее, чтобы не разочаровываться.
Плюсы |
Минусы |
Профессия востребована на рынке труда, вакансий много |
Технический порог входа в профессию ниже, чем в разработке, но учиться всё равно придётся |
Достойная зарплата, хотя и ниже, чем у разработчиков |
Работодатели неохотно берут на работу специалистов без опыта |
Можно работать удалённо, например, жить в регионе, а работать на московскую или заграничную компанию |
Много рутинной работы |
В профессии есть куда развиваться и расти |
|
Необязательно уметь кодить, чтобы начать работать тестировщиком |
Как новичку в IT стать тестировщиком
Тестирование ПО считается сферой, в которую достаточно просто прийти человеку без опыта и знаний в IT либо с совсем базовыми знаниями. Действительно, порог входа в специальность, по сравнению с теми же разработчиками, невысокий — при большом желании стать тестировщиком может любой.
Чтобы освоить базовые инструменты тестирования, годы не нужны. Это важно, когда нет много времени на освоение новой профессии. Но это не значит, что знать ничего не нужно, а работа простая. Чтобы стать тестировщиком, придётся покорпеть над учебой и много практиковаться.
Начинающему тестировщику не обязательно уметь кодить. Но, в дальнейшем, чтобы расти в профессии и зарплате, а также проводить автоматизированное тестирование, лучше изучать один из популярных языков программирования (например, Java или Python).
Самый сложный этап — получить первую работу без опыта. Работодатели опасаются брать людей после курсов без реального опыта работы. Поэтому беритесь за любую возможность использовать свои навыки в деле уже во время учебы и сразу после: помощь знакомым с тестированием их проектов, стажировки в компаниях, pet-проекты (проект, которым it-специалист занимается в свободное от основной работы время, для себя) и фриланс.
Что нужно знать
В 2000–2010-х годах тестировщику, чтобы устроиться на первую работу, часто было достаточно базовых знаний и энтузиазма. В последние годы сфера тестирования сильно развилась, а требования к специалистам выросли. Нужны навыки, знания и хотя бы какой-то опыт.
Hard skills
Что должен знать начинающий специалист:
- теоретические основы (виды тестирования, инструменты и техники, создание сценариев тестирования, типы документации);
- основы протокола HTTP;
- основы работы с базами данных (на уровне написания простых запросов);
- как пользоваться системами контроля версий (чаще всего нужна Git);
- как пользоваться консолью браузера;
- базово разбираться в HTML и CSS;
- хотя бы поверхностно ориентироваться в нескольких языках программирования.
Ещё тестировщику пригодятся:
- базовое понимание клиент-серверной архитектуры;
- умение тестировать API;
- умение пользоваться снифферами трафика.
Это не строгий список, но знание основ в этих областях очень упростит общение с разработчиками и весь рабочий процесс в принципе. Знание английского тоже будет серьёзным преимуществом.
Наиболее востребованы специалисты с универсальными навыками: умеющие делать ручное функциональное тестирование, автоматизировать тесты и знакомые с языками программирования.
Требуемые навыки в вакансиях тестировщика на HeadHunter
Soft skills
Здорово, если начинающий специалист по тестированию внимателен и усидчив, так как работа кропотливая и нужно внимание к мелочам. Облегчат жизнь и навыки коммуникации, ведь тестировщик работает не сам по себе, он член команды, работающей над продуктом. Общаться придётся и с разработчиками, и с аналитиками.
В работе тестировщика есть доля творчества: проверяя софт, он предугадывает поведение реальных людей, ищет обстоятельства, которые могут навредить продукту. Так что тут пригодятся и широкий взгляд на мир, и способность смотреть на продукт под разными углами.
Где учиться
В тестировку можно пойти, отучившись в вузе на одной из технических специальностей: программирование, информационная безопасность, системное администрирование и других подобных. В этом случае придётся самостоятельно или на практике дополучать прикладные навыки.
Научиться всему нужному для работы в тестировании можно и полностью самостоятельно, и на курсах. В сети много ресурсов с информацией о тестировании, нужны только время и мотивация. Минус в том, что информация разрозненная, везде разного качества и нужно приложить усилия, чтобы найти адекватную.
Хорошие онлайн-курсы за несколько месяцев дадут структурированную базу и актуальные навыки. Выбирая курсы, отдавайте приоритет тем, где сочетаются теория и практика.
Куда расти тестировщику?
У тестировщиков, как и у других айтишников, есть деление внутри профессии на Junior, Middle и Senior.
- Джун (Junior) — начинающий специалист, занимается ручным тестированием по готовым тест-кейсам.
- Мидл (Middle) — может работать самостоятельно, его опыт работы примерно от 2 лет.
- Сеньор (Senior) — опытный тестировщик, может управлять командой и сам ставить задачи.
Внутри самой профессии можно расти практически бесконечно, так как технологии и инструменты постоянно развиваются. Причём расти можно как горизонтально, то есть становиться всё более и более классным специалистом, так и вертикально, и стать, например, руководителем команды тестирования. Кроме того, в тестировании есть специализации, в которые можно углубляться, например, performance-тестирование, usability-тестирование и другие.
Некоторые тестировщики, проработав какое-то время и набравшись опыта, затем переходят в разработку, проджект-менеджмент или аналитику.
Тестирование — хороший вариант, чтобы новичку прийти в IT, тут довольно низкий порог входа и неплохие зарплаты. Сюда приходят не только из смежных IT-профессий, но и, например, бывшие бухгалтеры, контент-менеджеры и специалисты по охране труда. При этом профессия интересная, и в ней есть перспективы, если вы готовы развиваться и учиться.