Skip to content

Latest commit

 

History

History
78 lines (60 loc) · 12.1 KB

QA-profile.md

File metadata and controls

78 lines (60 loc) · 12.1 KB

Профили QA-инженеров

Профили QA-инженеров играют важную роль при оценке сотрудников в рамках performance review. Они обеспечивают прозрачность и ясное понимание механизма продвижения по карьерной лестнице.

Карьерная лестница

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

Карьерная лестница в Bereke Bank включает следующие уровни:

  1. Младший инженер по тестированию (Junior QA Engineer)
  2. Инженер по тестированию (QA Engineer)
  3. Старший инженер по тестированию (Senior QA Engineer)
  4. Ведущий инженер по тестированию (Lead QA Engineer)

Движение по этой карьерной лестнице зависит от желания и проактивности сотрудника. Менеджеры играют важную роль, помогая развивать навыки сотрудников, представляя ИПР (индивидуальный план развития) и возможности для участия в различных проектах и инициативах.

Как работают профили

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

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

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

Младший инженер по тестированию (Junior QA Engineer)

  • Выполняет ручное тестирование, проводит тестирование в соответствии с тест-кейсами или методом ad-hoc.
  • Решает задачи, имеющие подробное описание скоупа тестирования.
  • Осуществляет тестирование отдельных задач и компонентов.
  • Создает чеклисты и тест-кейсы для основных позитивных и негативных сценариев.
  • Перепроверяет закрытые дефекты и составляет понятные и воспроизводимые баг-репорты по обнаруженным ошибкам.

Инженер по тестированию (QA Engineer)

  • Обеспечивает качество на всех этапах реализации, следит за метриками после выкатки фичи, юзер-сторей или крупных фичей.
  • Составляет тестовые модели для части функциональности команды.
  • Способен решать задачи даже без подробного описания скоупа тестирования.
  • Разрабатывает тесты компонентного уровня.
  • Применяет паттерн pageObjects для улучшения структуры и читаемости тестов.
  • Создает тест-кейсы и согласовывает их с разработчиками, определяя, как будет организовано мануальное тестирование в соответствии с пирамидой тестирования.
  • Тестирует не только пользовательский интерфейс, но и уровни ниже, например, API.
  • Ведет и участвует в процессах SPT/ZBP, обеспечивая достижение SLO по решению проблем пользователей и дефектов.
  • Применяет ATDD в команде и совместно с Product Owner разрабатывает критерии приемки.
  • Достигает baseline по ТММ в QA-секции.
  • Может предложить добавление дополнительных Quality Gates в CI/CD процесс команды.
  • Применяет подход Risk Based Testing для оценки и предотвращения рисков, проводит анализ рисков задач.

Старший инженер по тестированию (Senior QA Engineer)

  • Обеспечение высокого уровня качества на всех этапах разработки, включая мониторинг метрик после выпуска функций, юзер-сторей и крупных фичей.
  • Разработка тестовых моделей для значительной части функциональности команды.
  • Способность самостоятельно решать задачи, даже в случае отсутствия подробного описания скоупа тестирования.
  • В дополнение к разработке новых автотестов на уровне end-to-end (e2e) и интеграционного тестирования, способность создавать тесты на компонентном уровне.
  • Применение паттерна Page Objects и разработка автотестов, которые являются не дублирующими, оптимальными и стабильными. Улучшение стабильности существующих автотестов.
  • Создание тест-кейсов и сотрудничество с разработчиками для определения, как распределять автоматизацию в соответствии с пирамидой тестирования. Обеспечение соблюдения пирамиды тестирования в команде.
  • Тестирование не только пользовательского интерфейса, но и уровней ниже, включая тестирование API.
  • Осуществление и регуляция процессов Service Level Objective (SLO) и Zero Bug Policy (ZBP) в команде, обеспечение удовлетворения проблем пользователей и устранение багов.
  • Применение и управление процессом Acceptance Test-Driven Development (ATDD) в команде, разработка критериев приемки совместно с Product Owner.
  • Поддержание и продвижение уровня качества в соответствии с моделью зрелости тестирования (Test Maturity Model - TMM) в разделе QA.
  • Возможность добавления дополнительных Quality Gates в процесс CI/CD команды.
  • Применение методологии Risk-Based Testing для оценки и управления рисками, проведение оценки рисков в задачах и их предотвращение, а также применение других методологий по работе с рисками.

Ведущий инженер по тестированию (Lead QA Engineer)

  • Обеспечивает качество всего функционала команды в целом.
  • Основываясь на данных о покрытии тестовой модели и результатах непосредственного тестирования, предоставляет полную информацию о проведенных тестах, качестве и рисках для каждого изменения, выпускаемого в продакшен.
  • Актуализирует и управляет тестовой моделью всего функционала разрабатываемого продукта или системы, гарантируя достаточное и полное покрытие тестами всей модели.
  • Координирует кросс-функциональное тестирование между различными командами.
  • Предоставляет команде информацию о текущем состоянии качества и направляет усилия на его улучшение.
  • Разрабатывает тесты как на уровне backend, так и хотя бы на одном уровне client-side, обеспечивая полное покрытие на всех уровнях системы.
  • Разрабатывает в сотрудничестве с разработчиками юнит-тесты.
  • Проверяет качество покрытия юнит-тестами, написанными разработчиками, через код-ревью или с использованием мутационного тестирования.
  • Исследует и устраняет проблемы с flaky-тестами или выявляет причины их возникновения, работая над их устранением.
  • Если обнаруживает множество багов в команде, анализирует их первопричины и предлагает изменения в процессах обеспечения качества.
  • Является экспертом по QA внутри своей команды, обучает коллег тестированию через менторство, предоставляет теоретическое обучение и практическую поддержку. Организует процессы тестирования так, чтобы не становиться узким местом для команды.
  • Может настроить автоматическую сборку тестового контура для интеграционного тестирования фичей на уровне юнит-тестов. Например, настраивает прогон специфичных тестов на релизах Инфомодели.
  • Проводит исследовательское тестирование, включая определение целей, проведение сессий и создание итоговых отчетов о результатах.