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

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

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

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

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

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

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

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

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

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

Научитесь основам тестирования бесплатно

Записаться на курс

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

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

А специалисты по автоматизированному тестированию пишут программы-скрипты, имитирующие действия пользователей. Такое ПО называют автотестами. Скрипты могут проверить, как поведет себя сайт, если, например, 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 бесплатно

Начать бесплатный курс

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Изучите основы JavaScript бесплатно

Учиться бесплатно

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

  • Основы программирования. Необходимо понимать общие принципы работы программного продукта.
  • Сети, протокол 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-проектах Хекслета. Это позволит не только закрепить на практике знания, полученные во время учебы, но и положить к себе в портфолио опыт реального тестирования и работы в настоящем продукте.

Научитесь основам тестирования бесплатно

Записаться на курс

Аватар пользователя Анастасия Уминская
Анастасия Уминская 29 декабря 2023
29
Похожие статьи