Главная | Все статьи | Карьера

Кто такой тестировщик и как им стать

Тестирование Время чтения статьи ~12 минут 28
Кто такой тестировщик и как им стать главное изображение

Рассказываем, кто такой тестировщик и чем он занимается, сколько зарабатывает такой специалист, а также какие нужны знания и компетенции, чтобы им стать.

В написании статьи принял участие Ирек Насибуллин, Ростелеком ИТ Automation QA

Кто такой тестировщик

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

В понятие QA входит еще одно направление деятельности: QC, quality control или контроль качества. Инженеры QC контролируют продукт на этапе разработки и поддержки.

Тестирование программного обеспечения — один из инструментов контроля качества. То есть тестировщик проверяет приложение в рамках мероприятий по контролю качества (QC), которые входят в комплекс работ по обеспечению качества (QA).

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

Профессия «Инженер по тестированию»
  • Смените профессию за 4 месяца — короткий путь в IT
  • Познакомьтесь с этапами разработки и жизненным циклом ПО
  • Узнайте всё о техниках тест-дизайна
  • Разберитесь с системами управления тестированием и системами баг-трекинга
  • Научитесь работать с API и базами данных
Попробовать бесплатно

Виды тестирования

Тестирование ПО делят на два основных направления: ручное и автоматизированное. Специалисты по ручному тестированию проверяют приложения вручную. Например, если нужно протестировать интернет-магазин, регистрируются на сайте, наполняют корзину товарами, делают заказ и оценивают, правильно ли сайт реагирует на их действия.

А специалисты по автоматизированному тестированию пишут программы-скрипты, имитирующие действия пользователей. Такое ПО называют автотестами. Скрипты могут проверить, как поведет себя сайт, если, например, 1000 человек одновременно добавят в корзину по 1000 товаров.

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

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

Кроме автоматического и ручного тестирования можно выделить и много других видов.

Задачи и обязанности тестировщика

Вот примерное описание работы QA-инженера на проекте.

Анализ и планирование

Тестировщика подключают к работе еще на стадии планирования приложения. Он анализирует требования и следит за тем, чтобы документация была непротиворечивой, а пожелания заказчика корректно описаны.

Разработка стратегии

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

Создание документации

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

Тестирование

На основе документации QA-инженер проверяет приложение по шагам и создает отчеты о найденных ошибках. Их называют баг-репортами. Найденные дефекты передают разработчикам для исправления.

Поддержка

Найти все ошибки в ПО невозможно. Часть из них все равно доживет до стадии запуска продукта. А сообщать о дефектах будут уже пользователи. На стадии поддержки тестировщик должен своевременно реагировать на присланные ими баги: воспроизводить эти ошибки и передавать их на исправление коллегам.

Где работают тестировщики

Тестировщики трудятся в командах, которые занимаются разработкой программного обеспечения. Это скорее средние и крупные компании, которые делают собственный продукт или работают по модели аутсорсинга.

Перспективы профессии

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

У тестировщиков как профессионалов есть возможность развиваться вертикально и горизонтально. Горизонтальный рост подразумевает наращивание компетенций. Например, QA-инженер из мануальщика может вырасти в автоматизатора, а из джуна — в сеньора. Вертикальный рост приведет тестировщика к должности тимлида — руководителя команды по тестированию.

Сколько зарабатывают тестировщики

В декабре 2023 года на hh.ru опубликовано 4542 вакансии тестировщика и 3613 вакансии QA-инженера.

По данным «Хабр.Карьеры», в первом полугодии 2023 года медианная зарплата тестировщика в России — 125 000 рублей. За год она выросла на 17%.

По регионам:

  • В Москве зарплата составила — 167 000 рублей (рост на 11%).
  • В Санкт-Петербурге — 150 000 рублей (рост на 35%).
  • В регионах — 119 000 рублей (рост на 25%).

А на этом графике зарплаты тестировщиков по специальностям: максимальные, минимальные и средние.

Исследование SENSE Group приводит такие данные по заплате тестировщиков в зависимости от их квалификации.

Что нужно знать, чтобы освоить профессию

В этом разделе поговорим о необходимых знаниях по теории и практике тестирования. Можно воспринимать это как набросок программы обучения или минимум, необходимый для трудоустройства.

Тест-дизайн и тест-анализ

Основной результат работы QA-инженера — написание тестов. Первое, что должен узнать профессионал, — это правила, по которым нужно искать и анализировать требования к приложениям, а также ставить цели проверки. За это отвечает тест-анализ.

А тест-дизайн — конкретные методики, по которым пишут тесты. QA-инженер должен понимать, что такое классы эквивалентности, граничные значения и попарное тестирование.

Виды тестирования

Это теория, на основе которой профессионал выстраивает практику — продумывает стратегию проверки приложения. Как мы уже говорили выше, есть много видов тестирования.

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

DevTools в тестировании веб-приложений

В браузерах есть инструменты разработчика или DevTools. В Chrome их можно вызвать горячими клавишами — Ctrl+Shift+I или клавишей F12 в любом браузере. Их используют для отладки кода в режиме реального времени.

DevTools — незаменимые помощники тестировщика. С их помощью можно проверить корректную загрузку отдельных частей страницы, правильность написания пути до элементов в JavaScript и протестировать код в браузере.

QA-инженер должен уметь пользоваться DevTools и хорошо ориентироваться в панели.

Тестирование API и Postman

Фронтенд — интерфейс приложения — можно проверить пошагово, имитируя действия обычных пользователей. Но с бэкендом — внутренней логикой сайта — дела обстоят сложнее.

Зачастую бэкенд не привязывают сразу к фронтенду, а своего графического интерфейса у него нет. Зато есть API — набор правил, по которым программы взаимодействуют друг с другом напрямую.

Тестировщики проверяют его работу используя специальный инструмент — Postman. Он позволяет писать запросы к бэкенду напрямую через браузер. QA-инженер должен научиться им пользоваться.

SQL и базы данных

Сайты хранят информацию в базах данных. Они бывают реляционными и нереляционными. Первые — наиболее распространены. К ним относят, например, MySQL и PostgreSQL.

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

QA-инженеру нужно выучить его основы, чтобы уметь проверять работу баз данных.

Баги и документация

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

В конце работы QA-инженер создает баг-репорты — отчеты о найденных ошибках. Их хранят в специальном трекере, чтобы они были доступны для разработчиков.

Тестирование мобильных приложений

В проверке такого ПО есть своя специфика, связанная с более жесткими требованиями к интерфейсу. Мобильное приложение должно одинаково выглядеть на разных устройствах.

Также есть специфика, связанная с платформами. Например, необходимо проверять, как приложение поведет себя, если смартфон теряет сеть или если пользователь примет входящий звонок во время активной работы.

QA-инженер должен уметь тестировать мобильные приложения на симуляторах, эмуляторах и с использованием реальных устройств.

Автоматизированное тестирование

Есть вакансии исключительно мануальных тестировщиков, которые не пишут автотесты. Но даже таким специалистам нужно понимать, по каким принципам создают автотесты и как их правильно запускать.

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

Общие навыки специалиста по тестированию

  • Основы программирования. Необходимо понимать общие принципы работы программного продукта.
  • Сети, протокол HTTP и клиент-серверная архитектура. Это нужно для понимания принципов работы приложений.
  • HTML, CSS и JavaScript. Это разметка веб-страниц, каскадные таблицы стилей и основной язык программирования для фронтенда.
  • ОС и платформы. QA-инженер должен понимать архитектуру и принципы работы основных операционных систем (Windows, Linux, MacOS), мобильных платформ (iOS, Android) и браузеров (Chrome, Mozilla).
  • Git. Это система контроля версий — специальное ПО, позволяющее сохранять несколько версий изменений одного приложения в репозиториях. Все члены команды разработки должны уметь в них работать.
  • Инструментов автоматического тестирования. К ним относятся HP-UFT (бывший QTP), Selenium, Sahi и так далее.

Плюсы и минусы профессии QA-инженера

Тестирование считают одной из лучших точек входа в IT. Основные плюсы этой профессии:

  • Низкий порог. Если учеба на разработчика отнимает в среднем 9-16 месяцев, то на тестировщика можно выучиться всего за 4. Это дает возможность быстро обучиться и найти работу в IT в сжатые сроки.
  • Не нужно уметь программировать. QA-инженером можно работать и без навыков написания кода, если выбрать в качестве специализации мануальное тестирование. Хотя умение читать код все равно потребуется.
  • Все преимущества работы в IT. Тестировщиков также нанимают на удаленку, вакансии и уровень оплаты в них слабо привязаны к региону, а работникам предлагают достойную зарплату и соцпакет.

Недостатки в работе QA-инженеров тоже есть. Низкий порог входа влияет как на конкуренцию при трудоустройстве, так и на уровень заработка. Джуну в тестировании сложнее найти первую работу, чем в программировании. А платят им в среднем меньше, чем разработчикам.

Где учиться тестированию

Объем навыков, необходимых современному претенденту на должность QA-инженера, серьезно вырос. Сейчас на первый план выходят практические знания.

Речь идет, прежде всего, об умении пользоваться инструментами для тестирования. А автоматизаторам необходимо научиться писать тесты.

Профильного высшего образования для тестировщиков пока нет. Желающие работать в этой профессии могут самостоятельно освоить навыки или пройти курсы.

Первый вариант подойдет тем, кто обладает высоким уровнем дисциплины. Но им желательно найти ментора, который будет направлять, проверять работы и указывать на ошибки.

В Хекслете есть профессия «Инженер по тестированию». Вы можете за четыре месяца с нуля освоить необходимые навыки. Студентам профессии «Инженер по тестированию» будет доступен Rарьерный трек — это наш сервис для тех, кто ищет первую работу в IT. Мы расскажем, как правильно составлять резюме и писать сопроводительные письма. А еще подберем вакансии и стажировки в партнерских компаниях и подготовим к собеседованиям.

Кроме учебных проектов, студенты профессии «Инженер по тестированию» смогут участвовать в opensource-проектах Хекслета. Это позволит не только закрепить на практике знания, полученные во время учебы, но и положить к себе в портфолио опыт реального тестирования и работы в настоящем продукте.

Профессия «Инженер по тестированию»
  • Смените профессию за 4 месяца — короткий путь в IT
  • Познакомьтесь с этапами разработки и жизненным циклом ПО
  • Узнайте всё о техниках тест-дизайна
  • Разберитесь с системами управления тестированием и системами баг-трекинга
  • Научитесь работать с API и базами данных
Попробовать бесплатно

Аватар пользователя Анастасия Уминская
Анастасия Уминская 29 декабря 2023
28
Рекомендуемые программы
профессия
от 25 000 ₸ в месяц
Разработка фронтенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 21 ноября
профессия
от 25 000 ₸ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 21 ноября
профессия
от 14 960 ₸ в месяц
Ручное тестирование веб-приложений
4 месяца
с нуля
Старт 21 ноября
профессия
от 25 000 ₸ в месяц
Разработка приложений на языке Java
10 месяцев
с нуля
Старт 21 ноября
профессия
от 24 542 ₸ в месяц
новый
Сбор, анализ и интерпретация данных
9 месяцев
с нуля
Старт 21 ноября
профессия
от 25 000 ₸ в месяц
Разработка веб-приложений на Laravel
10 месяцев
с нуля
Старт 21 ноября
профессия
от 28 908 ₸ в месяц
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 21 ноября
профессия
от 39 525 ₸ в месяц
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
16 месяцев
с нуля
Старт 21 ноября
профессия
от 25 000 ₸ в месяц
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 21 ноября
профессия
новый
Автоматизированное тестирование веб-приложений на JavaScript
8 месяцев
c опытом
Старт 21 ноября