Профессия тестировщик: какая зарплата у тестировщика и что нужно уметь?

Тестировщик или QA-инженер (от английского quality assurance — «обеспечение качества») —специалист, который тестирует различные программы, приложения и сервисы, чтобы убедиться, что они работают корректно, выявить возможные ошибки и уязвимости в защите.

Время чтения: 13 мин.

Тестировщик — обзор профессии

Если главная задача разработчика — создать продукт, то задача тестировщика — убедиться, что продукт работает именно так, как было задумано. При этом оба работают в тесном контакте друг с другом: тестировщик находит ошибки и уязвимости, передает их разработчику, тот вносит исправления — и продукт снова отправляют на тестирование. Так — пока не выпустят версию, которая не вызовет нареканий у тестировщика.

Вот как выглядит работа тестировщика:

  1. Изучение документации по продукту: инструкции и рекомендации от разработчиков и продуктовых аналитиков.
  2. Составление тест-кейсов для тестирования: какие функции нужно проверить и в какой последовательности, с учетом всех возможных сценариев поведения пользователя.
  3. Тестирование.
  4. Сбор и анализ полученных результатов: ошибки, сбои, некорректная работа, уязвимости.
  5. Оформление полученных результатов в виде отчета с рекомендациями для разработчиков.

Тестирование проводят двумя способами:

  • Тестирование ПО и сервисов вручную —когда специалист сам проходит все этапы работы с продуктом. Для этого он тестирует его в разных операционных системах и браузерах, а также на разных устройствах. Это самый дорогой и долгий способ.
  • Автоматическое тестирование — с помощью автоматизированных инструментов. Подходит, когда есть готовый набор параметров для проверки, которые слишком долго перебирать вручную или же их применяют сразу для нескольких версий одного и того же продукта. Этот способ — более дешевый и быстрый, но все равно требует контроля со стороны тестировщика. Как правило, таким способом проверяют наиболее критичные функции — такие, как обработка платежей или защита персональных данных.

И ручное, и автоматическое тестирование может быть поведенческим или по методу «черного ящика».

При тестировании приложений важно проверить, как оно выглядит на разных устройствах и ОС

Поведенческое тестирование учитывает технические требования и условия, при которых нужно использовать продукт. Для этого он изучает инструкции от разработчиков и проверяет, все ли работает так, как в них написано.

«Метод черного ящика» означает, что тестировщик не знает, как устроен продукт, как его нужно использовать и действует как бы вслепую — то есть воспроизводит действия обычного пользователя без оглядки на инструкции.

Среди тестировщиков есть разные специалисты:

  • Тестировщики ПО.
  • Тестировщики веб-приложений.
  • Тестировщики мобильных приложений.
  • Тестировщики игр.

По тому, какие именно параметры тестируются, различают:

  • Security-тестировщики — тестируют сервисы и ПО на возможные утечки данные и устойчивость к хакерским атакам;
  • Performance-тестировщики — тестируют продукты при возрастающих нагрузках.
  • Usability-тестировщики — тестируют сервисы на удобство использования.

Плюсы и минусы профессии тестировщика

Плюсы:

  • Хороший старт для тех, кто хочет в перспективе заниматься разработкой или продуктовой аналитикой.
  • Высокий спрос на рынке труда.
  • Малый порог входа: не требуется обширных знаний и навыков, как у программистов и разработчиков.
  • Подходит для людей с аналитическим складом ума, любящим последовательные и логичные действия.
  • Хорошие перспективы для роста.
  • Можно работать удаленно — подходит для тех, кто живет в регионах.

Минусы:

  • Высокая конкуренция.
  • Более низкие зарплаты (по сравнению с другими профессиями в отрасли), особенно на старте.
  • Достаточно монотонная работа, в которой не так много творчества.
  • Есть жесткие рамки — по срокам, последовательности действий и результатам работы.

Какие качества, навыки и инструменты необходимы тестировщику?

Вот личные качества, которые играют важную роль для этой профессии:

  • Аналитический склад ума. Вам придется работать с большими объемами информации, разрабатывать четкую последовательность действий и анализировать результаты.
  • Внимание к деталям. Тестировщик должен обращать внимание на малейшее отклонение от того, каким видят продукт разработчики и проверять любые возможные варианты.
  • Усидчивость. Приходится выполнять большой объем рутинных операций и тщательно следить за малейшими ошибками.
  • Критическое мышление. Даже если продукт выглядит идеальным, важно убедиться в этом на практике.
  • Ответственность и системный подход. Важно соблюдать регламенты и сценарии работы, добиваться поставленного результата и предоставлять итог своей работы в виде четких и понятных рекомендаций. Не просто найти ошибку, а подробно описать, при каких обстоятельствах и почему она возникает.
  • Эмпатия и внимание к людям. Это нужно, чтобы абстрагироваться от сугубо технических сценариев и инструкций и понять, как действует обычный человек, удобно ли ему будет работать с продуктом, с какими сложностями он столкнется.
  • Навыки коммуникации. Нужно уметь общаться и убеждать разработчиков и других участников команды в вашей правоте и необходимости внести правки.
  • Стремление к саморазвитию. В профессии тестировщика важно постоянно осваивать новые методы и технические приемы, чтобы хорошо разбираться в продукте, его слабых и сильных сторонах.

Интерфейс одного из сервисов для тестирования

Технические навыки и инструменты, которыми должен владеть тестировщик:

  • Основы программирования и редакторов кода: VScode, Pytest, Gitlab, XML, CSS, JavaScript.
  • Знание ключевых систем управления проектами в разработке — Waterfall, Scrum и Kanban.
  • Представление о том, как создаются пользовательские интерфейсы — в плане разработки, UX UI-дизайна.
  • Работа с системами баг-трекинга (обнаружения ошибок): Redmine, Jira.
  • Знание инструментов мониторинга HTTP/HTTPS-трафика.
  • Навыки работы с базами данных — такими, как MySQL, PostgreSQL, MS SQL.
  • Навыки составления тест-планов и тест-кейсов с помощью TestRail, Zephyr, TestLink и других сервисов.
  • Знание особенностей всех популярных ОС и браузеров — мобильных и десктопных.
  • Представление о клиент-серверной архитектуре.
  • Умение работать с системами контроля версий — например, CVS или Git.
  • Умение работать с системами автоматического тестирования веб-приложений, тестирования нагрузки и функционала — такими, как HP-UFT, Sahi, Selenium.
  • Хороший технический английский.

Какова зарплата в профессии тестировщика и востребованность профессии

Тестировщики широко востребованы в IT-индустрии — везде, где выпускают и используют ПО, мобильные и веб-приложения и онлайн-сервисы. Вот данные о количестве вакансий тестировщиков ПО в России на популярных площадках:

Однако и отбор достаточно жесткий: придется выполнить тестовое задание и подтвердить свои навыки.

Так выглядят требования к соискателю на позицию QA-инженера

Средняя зарплата тестировщика в регионах — от 35 до 50 тыс. рублей, в Москве — 80–150 тыс., на топовых позициях — около 300 тыс.

Больше всего востребованы специалисты широкого профиля, которые работают с автоматизированным и ручным тестированием, владеют языками программирования и тест-системами. Много предложений, предполагающих проектную или частичную занятость, а также удаленную работу.

Как получить профессию тестировщика

Согласно опросу на Software-Testing.ru, в тестировщики приходят из самых разных сфер: ИТ-администраторы, программисты, дизайнеры, юристы, экономисты. Проще всего тем, кто уже знаком с основами программирования и веб-разработки, остальные могут научиться с нуля. Однако после стажировки или самостоятельного обучения вы можете рассчитывать максимум на позицию junior, и то — при большом везении. Это значит, что вам придется вручную проводить тестирование по готовым тест-планам — самая рутинная и монотонная работа.

Единого рецепта, как быстро можно освоить профессию тестировщика, нет: кто-то способен все освоить сам, кто-то проходит неоплачиваемую стажировку, кому-то помогают опытные коллеги. Самый простой и надежный вариант —пройти онлайн-курсы, где можно всему научиться у практиков. После курсов у вас будет практический опыт и все шансы для позиции уровня middle: то есть работы с автоматизированными тест-системами и собственными тест-планами.

Профессия тестировщика — с чего начать

Вот подборка полезных книг, которые помогут новичкам:

  1. «Как тестируют в Google», Джеймс Уиттакер, Джейсон Арбон и Джефф Каролло. «Тестирование ПО», Рон Паттон.
  2. «Практическое руководство по тест-дизайну», Ли Коупленд.
  3. «Искусство тестирования программ», Гленфорд Майерс, Том Баджетт и Кори Сандлер.
  4. «Быстрое тестирование», Роберт Калбертсон, Крис Браун и Гэри Кобб.
  5. «Agile-тестирование. Обучающий курс для всей команды», Джанет Грегори и Лайза Криспин.
  6. «Дневник охотника за ошибками. Путешествие через джунгли проблем безопасности программного обеспечения», Тобиас Клейн.
  7. «Автоматизация тестирования ПО», Марк Фьюстер и Дороти Грэхем.

Полезные ресурсы:
https://software-testing.ru
https://habr.com/ru/hub/it_testing/
https://www.reddit.com/r/QAGeeks/

Будущее профессии тестировщик программного обеспечения

В исследовании IDC говорится, что в 2020 рынок устройств и сервисов в рамках интернета вещей достиг $7,1 трлн. По данным App Annie за 2017 год, мы, в среднем, используем от 9 приложений в день. При этом, согласно данным TechBacon, половина пользователей ожидает, что приложение обработает запрос не дольше, чем за 2 секунды. 80% больше не воспользуются сервисом после трех ошибок. Все это говорит о том, что роль тестировщиков ПО и приложений будет только расти.

Вот главные тренды профессии в ближайшем будущем:

  1. Автоматизация выходит на первый план. В будущем все тест-кейсы будут полностью автоматизированы, однако это приведет к проблемам контроля качества.
  2. ИИ и машинное обучение позволят вывести автоматизацию на новый уровень: когда алгоритмы сами будут составлять тест-кейсы, проводить основную работу и анализировать результаты. Контроль со стороны человека останется, но в минимальном объеме.
  3. Гибкие подходы к разработке продуктов. Помимо DevOps, Scum и Kanban появятся новые методы ведения проектов, и тестировщикам важно следить за тенденциями в этой области.
  4. Слияние разработки и тестирования. В будущем разработчики и тестировщики будут связаны еще теснее, а их работа станет практически параллельной. С ростом автоматизации и внедрения ИИ-инструментов эти профессии можно будет и вовсе объединить в одну.

(Голосов: 1, Рейтинг: 5)
Поделитесь статьей
Пройти тестирование

Проверьте свои знания интернет-маркетинга

Бесплатные вебинары

Раскрываем полезные темы для интернет-маркетологов!

Возник вопрос? Задай!

Свяжитесь с нами, и мы расскажем о всех подробностях обучения

Подпишитесь на рассылку

Полезные статьи, дайджест и анонсы курсов. Без спама.