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

Почему же это так сложно? Поскольку динамичное IТ-пространство включает в себя проекты различной сложности и требований, универсальных средств для поиска специалиста не существует.

В этом переводы статьи от QA-Madness вы найдёте набор навыков, необходимых для QA-тестировщика, инженера по автоматизации (QA-automation engineer) и руководителя отдела контроля качества. Данные рекомендации не будут устанавливать точные требования для каждого, но они могут стать полезной основой для ваших дальнейших поисков.

Manual QA

Говоря простыми словами, manual QA специалист, он же QA-тестировщик, тестирует программное обеспечение на наличие дефектов без использования автоматизированных инструментов. При этом основная задача состоит в том, чтобы оценивать продукт с точки зрения конечного пользователя. Взаимодействуя с программным обеспечением, такой тестировщик сравнивает ожидания качества с результатами, и, соответственно, предоставляет обратную связь по найденным ошибкам. Фактически, вам может понадобиться manual QA-инженер для выявления ошибок, которые могут ухудшить опыт использования программного обеспечения перед выпуском.

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

  • Знание тестовой документации: контрольные списки, отчеты об ошибках, контрольные примеры.
  • Опыт работы с системами отслеживания ошибок.
  • Использование инструментов управления тестированием.
  • Глубокое знание типов тестирования программного обеспечения и способов их применения.
  • Ориентация на пользователя: поскольку QA-мануальщик разрабатывает сценарии в реальном времени, главная задача состоит в том, чтобы стать на место конечного пользователя, для того, чтобы понять назначение программного продукта и ценность, которую он несет для клиента.
  • Аналитический склад ума: уметь определить сильные и слабые стороны программного обеспечения, проверить его на соответствие различным рабочим сценариям, проанализировать поведение системы и выявить ошибки, если таковые имеются.
  • Знание методологий разработки программного обеспечения и умение интегрироваться с моделями (Agile, Waterfall и другие).

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

QA Automation Engineer (QA автоматизатор)

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

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

Ниже указаны необходимые навыки для QA-автоматизатора:

  • Кодирование: знание общих языков программирования * необходимо для автоматизации процессов тестирования.

(* Обратите внимание, что нет необходимости искать специалиста по обеспечению качества в соответствии с технологиями вашего проекта, автоматическое тестирование может основываться на языке, отличном от программного кода проекта).

  • Опыт ручного тестирования: сценарии, написанные инженерами по автоматизации, основаны на тестовых примерах, созданных специалистами QA-мануальщиками.
  • Опыт разработки фреймворков и инструментов для автоматизации тестирования.
  • Понимание методологий SDLC: поскольку QA-автоматизаторы, в основном, работают с проектами по методологии Agile, им известно, как интегрировать автоматизированный процесс тестирования в модель разработки.

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

QA Team Lead

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

В дополнение к навыкам QA-инженера, QA Team Lead также:

  • имеет глубокие знания подходов к тестированию. Они знакомы с методами и инструментами, следят за тенденциями и технологиями в этой области.
  • ориентирован на бизнес. Стратегия тестирования и цели, определенные QA-тимлидом, всегда соответствуют изначальным требованиям проекта. Для него, как менеджера, очень важно понимать бизнес-цели, четко информировать клиентов о необходимости предоставления программного продукта ожидаемого качества.
  • использует инструменты управления проектами.

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

Нетехнические навыки (Soft Skills)

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

Многие специалисты по найму персонала, при выборе подходящего кандидата для QA команды, обращают внимание на такие навыки:

Точность и аккуратность. Конечно, это приоритетное качество для человека, который нацелен на предоставление услуг QA. Объективная оценка программного обеспечения и способность вырабатывать рекомендации по улучшению остаются в центре внимания при выборе кандидатов, которые претендуют на эту должность.

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

Эффективная командная работа. Работа над проектом подразумевает постоянное взаимодействие с членами QA команды, разработчиками, клиентами, заинтересованными сторонами. Коммуникация — важнейший для тестировщика способ достичь взаимопонимания касательно требований к проекту и выстроить эффективную стратегию обеспечения качества. Речь идет о способности четко выражать свое мнение так, чтобы разные участники проекта (технические и нетехнические) всё правильно поняли.

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

Гибкость. IТ-проект это динамичная среда, планы в которой постоянно подвергаются изменениям. Первоначальные требования заменяются новыми, корректируется временная шкала, ранее закрытые кейсы могут требовать повторного тестирования. Это те условия, к которым QA-инженер должен быть способен адаптироваться, то есть приспосабливаться к изменениям в рабочем процессе и оставаться устойчивыми к стрессовым ситуациям.

Поиск QA-специалистов

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