Прокачайся в код-ревью: для первых 50 участников — курс бесплатный

время чтения: 4 мин

Какие навыки нужны, чтобы начать работать тестировщиком

Что входит в обязанности тестировщика и какие скиллы нужны QA-специалисту? Что делать, чтобы освоить новые навыки, и где получать знания? Ответы на эти и другие вопросы — в новой публикации блога Anywhere Club.

Автор статьи — Senior QA Manual Engineer и преподаватель курса тестирования в академии IT.Life Украина Максим Демьянов.

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

Именно здесь в многоуровневом IT-мире на первый план выходит команда тестирования. В 2023 году сохраняется и даже увеличивается спрос на специалистов этого направления. В этой статье мы проанализируем, какие ключевые (hard) и дополнительные (soft) навыки необходимы для начала работы тестировщиком.

Что именно делают тестировщики?

Тестировщик программного обеспечения, тестировщик, а зачастую и просто лаконичное QA объединяют в себе понятие IT-специалиста, ответственного за проверку функционала (приложений, сайтов, игр) на отсутствие ошибок и эффективную работу в соответствии с технической документацией.

Среди основных обязанностей QA-команды наиболее часто встречаются:

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

И эффективное выполнение этих задач невозможно без комплексного владения набором навыков. Поговорим о них подробнее.

Hard skills, или ключевые технические навыки

Hard skills — это предметные знания и навыки, без которых невозможно реализовать тестирование. Часто их еще называют техническими, потому что именно эти знания позволяют эффективно работать на всех этапах проверки функционала и ориентироваться в нужных терминах.

К основным hard skills относятся:

  • Базовые знания терминов и принципов работы IT-сферы помогают лучше понимать спецификации (технические описания) и организацию мокапов (визуальных примеров), которые являются основой для сравнения с самим функционалом.
  • Глубокие знания различных методологий тестирования позволяют подобрать оптимальный вариант по скорости и охвату материала для каждой задачи, стоящей перед тестировщиком. Расскажем о нескольких основных:
    • Модульное тестирование — проверка отдельных единиц функционала, чтобы убедиться, что код ведет себя ожидаемым образом.
    • Тестирование API — позволяет убедиться, что добавление в продукт готовых частей кода от других разработчиков (API) ничего не сломало, и в целом код работает, как было запланировано.
    • Регрессионное тестирование — проверка протестированного продукта после внесения дополнительных изменений или тестирование функционала после того, как код сначала проверил сам программист.
    • Тестирование производительности — определяет стабильность продукта и позволяет проверить его скорость работы, а также определить, какую нагрузку на сервер продукт способен выдержать без сбоев.
    • Тестирование черного ящика (англ. black box testing) — проверка без доступа к коду программы, то есть тестировщик оценивает работу продукта без предварительного знания о том, как должна работать вся система. Такой подход позволяет тестировать менее предвзято и чаще находить более «творческие» ошибки.
    • Тестирование белого ящика (англ. white box testing) — проверка продукта с доступом к полной информации о том, как все должно работать: проектной документации, программного кода и так далее.

Существует большое количество классификаций методов и подходов тестирования: по объекту теста, целям, знанию системы, времени тестирования, признаку позитивности сценариев и др. Может показаться, что уместить все это в голове нереально. Но в IT.Life Украина мы точно знаем, что все возможно при эффективной структуре программы обучения, которая включает следующие модули:

  • Создание и актуализация базы багов — именно команда тестирования вносит и формирует список багов, которые в данный момент есть в продукте.
  • Знакомство с инструментами тест-менеджмента и трекинга багов (Asana, Jira, BugHerd и др.) — тестировщики не только заводят баги в определенном таск-менеджере, но и следят за их актуальностью, дополняют при необходимости и закрывают, когда проблема больше не воспроизводится.
  • Понимание принципов снятия логов — технических данных, содержащих информацию о локализации и типе ошибки на устройстве.
  • Знание различных моделей жизненного цикла разработки продукта: например, разработка может идти по модели Waterfall, когда задачи описываются, выполняются и передаются на тест по очереди. Либо используется одна из гибких моделей Scrum, когда вся разработка делится на одинаковые периоды (спринты), и каждый спринт включает план того, что нужно разработать, проверить и выпустить. Это всего лишь 2 модели из всех существующих. Понимание основ различных моделей разработки помогает тестировщику более эффективно адаптироваться к задачам, проектам и даже компаниям.

Но не только технические навыки способствуют эффективной работе тестировщика программного обеспечения.

Soft skills, или человеческие качества, которые пригодятся

Если hard skills — это составные детали механизма, без которых он не включится, то soft skills — это своевременное смазывание и правильное сочетание этих элементов, чтобы обеспечить плавную и бесперебойную работу.

Иными словами, soft skills — это черты характера и проявления личности, которые помогут комфортно себя чувствовать на позиции тестировщика и тратить меньше нервных клеток для продуктивной работы.

Среди основных полезных личностных качеств:

  • Готовность эффективно задавать вопросы — техническая документация приносит пользу, но QA специалиста ценят гораздо выше, когда он проявляет проактивность, не боится задавать четкие уточняющие вопросы разработчикам, при этом не заводит лишние баги, а для необходимых формулирует полные описания.
  • Внимание к деталям — пользователи легко замечают самые маленькие недостатки функционала, потому что при работе с ним фокусируются на отдельных элементах. А вот тестировщику не помешает развитое внимание, чтобы, зная, как все должно работать, не пропустить небольшой белый квадратик, который отображается вместо 1 из 10 иконок или проблему, которая возникает только при неправильном указании почты в форме оплаты.
  • Терпение и умение сохранять концентрацию — тестирование позволяет работать со всеми частями приложения или сайта, что создает ощущение разнообразия задач. Но не стоит забывать и о том, что в этом разнообразии часто нужно внимательно проверять одну и ту же часть продукта несколько (а иногда и больше) раз или обрабатывать в течение дня большие объемы информации.
  • Творческое мышление — если можете назвать себя человеком, который не боится экспериментировать и выходить за рамки, вам понравится профессия тестировщика. Поскольку, помимо четкого следования описанным тест-кейсам, очень ценится инициатива в поиске вариантов, в каких еще условиях можно проверить функционал: что произойдет, если пользователь нажмет кнопки в обратном порядке или попытается ввести «абра-кадабра» в поле имени?
  • Тайм-менеджмент — в личной жизни вы все успеваете и можете легко составить план на день? Тогда добро пожаловать в мир тестирования. Потому что этот навык станет незаменимым в периоды горящих дедлайнов во время релизов, когда от тестировщика требуется все и сразу.

Где получить необходимые знания и навыки?

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

Что еще делать, чтобы развить имеющиеся или освоить новые навыки:

  • Читать специализированные онлайн-ресурсы и блоги опытных QA, кстати, там можно найти не только лайфхаки и рекомендации, но и забавные истории о повседневной жизни тестировщика.
  • Практиковать подходы к тестированию, как на уже созданных сайтах или приложениях, так и в более креативном варианте — подумайте, как бы вы протестировали обычные вещи вокруг вас. Например, сколько тест-кейсов можно придумать для проверки рюкзака?
  • Смотреть онлайн или посещать QA-события, мастер-классы и конференции — это позволяет быть в курсе самых актуальных новостей и инновационных решений, а также знакомиться и общаться с коллегами из разных компаний.
  • Читать литературу для саморазвития — это полезный вариант для тех, кто хочет узнать больше о тайм-менеджменте или разобраться, какие существуют техники для креатива. Например, можем порекомендовать «Рисовый штурм и еще 21 способ мыслить нестандартно» Майкла Микалко и «Найди время. Как фокусироваться на главном» от Джейка Кнаппа и Джона Зерацки.
Подробнее о профессии