Профили QA-инженеров играют важную роль при оценке сотрудников в рамках performance review. Они обеспечивают прозрачность и ясное понимание механизма продвижения по карьерной лестнице.
Карьерная лестница в области QA-инженерии имеет ключевое значение, чтобы оценить производительность и развитие сотрудников, делая процесс продвижения по карьере более прозрачным и понятным.
Карьерная лестница в Bereke Bank включает следующие уровни:
- Младший инженер по тестированию (Junior QA Engineer)
- Инженер по тестированию (QA Engineer)
- Старший инженер по тестированию (Senior QA Engineer)
- Ведущий инженер по тестированию (Lead QA Engineer)
Движение по этой карьерной лестнице зависит от желания и проактивности сотрудника. Менеджеры играют важную роль, помогая развивать навыки сотрудников, представляя ИПР (индивидуальный план развития) и возможности для участия в различных проектах и инициативах.
Важно понимать, что ожидания для каждого следующего уровня добавляются к ожиданиям предыдущих уровней. Например, Senior QA инженер должен проявлять навыки и компетенции, аналогичные Junior QA, Middle QA и дополнять их.
Продвижение по карьерной лестнице требует от сотрудников продемонстрировать свои навыки и компетенции, соответствующие текущему или следующему уровню профиля на практике. Просто уметь или желать делать определенные вещи недостаточно.
Важно отметить, что если менеджер считает, что какой-то навык не является необходимым для конкретного специалиста в команде, этот навык может не учитываться при оценке и продвижении сотрудника. Это помогает фокусироваться на развитии навыков, наиболее важных для конкретной роли и задач.
- Выполняет ручное тестирование, проводит тестирование в соответствии с тест-кейсами или методом ad-hoc.
- Решает задачи, имеющие подробное описание скоупа тестирования.
- Осуществляет тестирование отдельных задач и компонентов.
- Создает чеклисты и тест-кейсы для основных позитивных и негативных сценариев.
- Перепроверяет закрытые дефекты и составляет понятные и воспроизводимые баг-репорты по обнаруженным ошибкам.
- Обеспечивает качество на всех этапах реализации, следит за метриками после выкатки фичи, юзер-сторей или крупных фичей.
- Составляет тестовые модели для части функциональности команды.
- Способен решать задачи даже без подробного описания скоупа тестирования.
- Разрабатывает тесты компонентного уровня.
- Применяет паттерн pageObjects для улучшения структуры и читаемости тестов.
- Создает тест-кейсы и согласовывает их с разработчиками, определяя, как будет организовано мануальное тестирование в соответствии с пирамидой тестирования.
- Тестирует не только пользовательский интерфейс, но и уровни ниже, например, API.
- Ведет и участвует в процессах SPT/ZBP, обеспечивая достижение SLO по решению проблем пользователей и дефектов.
- Применяет ATDD в команде и совместно с Product Owner разрабатывает критерии приемки.
- Достигает baseline по ТММ в QA-секции.
- Может предложить добавление дополнительных Quality Gates в CI/CD процесс команды.
- Применяет подход Risk Based Testing для оценки и предотвращения рисков, проводит анализ рисков задач.
- Обеспечение высокого уровня качества на всех этапах разработки, включая мониторинг метрик после выпуска функций, юзер-сторей и крупных фичей.
- Разработка тестовых моделей для значительной части функциональности команды.
- Способность самостоятельно решать задачи, даже в случае отсутствия подробного описания скоупа тестирования.
- В дополнение к разработке новых автотестов на уровне 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 для оценки и управления рисками, проведение оценки рисков в задачах и их предотвращение, а также применение других методологий по работе с рисками.
- Обеспечивает качество всего функционала команды в целом.
- Основываясь на данных о покрытии тестовой модели и результатах непосредственного тестирования, предоставляет полную информацию о проведенных тестах, качестве и рисках для каждого изменения, выпускаемого в продакшен.
- Актуализирует и управляет тестовой моделью всего функционала разрабатываемого продукта или системы, гарантируя достаточное и полное покрытие тестами всей модели.
- Координирует кросс-функциональное тестирование между различными командами.
- Предоставляет команде информацию о текущем состоянии качества и направляет усилия на его улучшение.
- Разрабатывает тесты как на уровне backend, так и хотя бы на одном уровне client-side, обеспечивая полное покрытие на всех уровнях системы.
- Разрабатывает в сотрудничестве с разработчиками юнит-тесты.
- Проверяет качество покрытия юнит-тестами, написанными разработчиками, через код-ревью или с использованием мутационного тестирования.
- Исследует и устраняет проблемы с flaky-тестами или выявляет причины их возникновения, работая над их устранением.
- Если обнаруживает множество багов в команде, анализирует их первопричины и предлагает изменения в процессах обеспечения качества.
- Является экспертом по QA внутри своей команды, обучает коллег тестированию через менторство, предоставляет теоретическое обучение и практическую поддержку. Организует процессы тестирования так, чтобы не становиться узким местом для команды.
- Может настроить автоматическую сборку тестового контура для интеграционного тестирования фичей на уровне юнит-тестов. Например, настраивает прогон специфичных тестов на релизах Инфомодели.
- Проводит исследовательское тестирование, включая определение целей, проведение сессий и создание итоговых отчетов о результатах.