From 0a7a39adf103a37ae40dcb1d1b642375fa0e48c9 Mon Sep 17 00:00:00 2001 From: Andrei Brovko Date: Tue, 29 Jul 2025 13:36:42 +0300 Subject: [PATCH] =?UTF-8?q?=D0=90=D0=BA=D1=82=D1=83=D0=B0=D0=BB=D0=B8?= =?UTF-8?q?=D0=B7=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D1=8B=20=D0=BE=D0=B6?= =?UTF-8?q?=D0=B8=D0=B4=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=BE=D1=82=20=D1=80?= =?UTF-8?q?=D0=BE=D0=BB=D0=B8=20QA-=D0=B8=D0=BD=D0=B6=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D1=80=D0=B0=20(#114)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Актуализированы ожидания от роли QA-инженера. * Небольшие грамматичечкие исправления * Переформулировал предложение по Risk Based Testing --------- Co-authored-by: Andrey Brovko --- QA-profile.md | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/QA-profile.md b/QA-profile.md index db95c3b..3b6fd62 100644 --- a/QA-profile.md +++ b/QA-profile.md @@ -22,33 +22,32 @@ - Если менеджер считает, что специалисту в команде не нужен какой-то навык, то его можно не учитывать. ### Е1 -- Занимается ручным тестированием, составляет и тестирует по тест-кейсам или делает тестирование ad-hoc . +- Занимается ручным тестированием, составляет и тестирует по тест-кейсам или делает тестирование ad-hoc. - Решает задачи с подробным описанием скоупа тестирования. - Тестирует отдельные задачи. - Пишет чеклисты и тест-кейсы на основные позитивные и негативные сценарии. - Перепроверяет закрытые баги и пишет понятные и воспроизводимые багрепорты по ошибкам. ### Е2 -- При тестировании задач пишет тест-кейсы и автотесты на них. -- Может составить тест-кейсы для конкретных фичей, реализованных в задаче, с применением основных техник тест-дизайна: например, классы эквивалентности. -- Может всегда быстро предоставить актуальную и правдивую информацию о качестве разрабатываемых фичей - в задачах всегда понятно, что тестировалось руками и автоматически. -- Разбирает отчёты автотестов, перепроверяет ошибки. -- Разрабатывает новые автотесты е2е и/или интеграционного уровня, поддерживает их. -- Знает основные техники тест-дизайна и активно их использует, когда они применимы: оптимизирует проверки, обеспечивает полноту покрытия через техники тест-дизайна. Например покрывает негативные сценарии, граничные значения, проверяет все возможные ветви бизнес-процессов. Разрабатывает тест-кейсы и автотесты на основе техник тест-дизайна. +- Разрабатывает новые и актуализирует существующие тест-кейсы для конкретных фич, реализованных в задаче, применяя основные техники тест-дизайна. +- Предоставляет актуальную и правдивую информацию о качестве разрабатываемых фич. Подтверждением этого навыка служат отчёты о тестировании, пройденные тест-планы. +- Разбирает отчёты автотестов, перепроверяет ошибки. +- Разрабатывает автотесты на одном языке и/или уровне, поддерживает их. +- Знает основные техники тест-дизайна и активно их использует, когда они применимы: оптимизирует проверки, обеспечивает полноту покрытия через техники тест-дизайна. Например, покрывает негативные сценарии, граничные значения, проверяет все возможные ветви бизнес-процессов. Разрабатывает тест-кейсы и автотесты на основе техник тест-дизайна. ### Е3 - Обеспечивает качество на всех этапах реализации, следит за метриками после выкатки фичи, юзер-сторей или крупных фичей. - Составляет тестовые модели для части функциональности команды. - Самостоятельно решает задачи даже без описания подробного скоупа тестирования. -- Кроме новых автотестов е2е и тестов интеграционного уровня, может разрабатывать тесты компонентного уровня. -- Использует паттерн pageObjects. Разрабатывает недублирующие, оптимальные, стабильные тесты. Улучшает стабильность уже существующих автотестов. +- Поддерживает уже существующие и разрабатывает новые автотесты (e2e/интеграционные) на 2+ языках или уровнях. - Составляет тест-кейсы и обсуждает с разработчиками, как будет распределяться автоматизация по пирамиде тестирования. Следит за тем, чтобы команда придерживалась пирамиды тестирования. - Тестирует не только UI, но и уровни ниже: например, API. -- Владеет и ведёт процессы SPT/ZBP в своей команде, обеспечивает должное SLO по решению проблем пользователей и багов. +- Владеет и ведёт процессы SPT/ZBP в своей команде, обеспечивает необходимый SLO по решению проблем пользователей и багов. - Применяет и владеет процессом ATDD в команде, составляет критерии приёмки вместе с product owner. -- Драйвит достижение baseline по ТММ в QA-секции. +- Драйвит достижение baseline по Team Maturity Model (TMM) в QA-секции. - Может добавить дополнительные Quality Gates в CI/CD команды. -- Использует подход Risk Based Testing в оценке и предотвращении рисков, либо использует другие методологии по работе с рисками, проводит оценку рисков у задач. +- Использует подход Risk Based Testing в оценке и предотвращении рисков или другие методологии по работе с рисками, а также проводит оценку рисков у задач. +- Разрабатывает недублирующие, оптимальные, стабильные автотесты. Улучшает стабильность уже существующих автотестов. ### Е4 - Обеспечивает качество всего функционала команды целиком. @@ -56,26 +55,25 @@ - Актуализирует и владеет тестовой моделью всего функционала разрабатываемого продукта или системы, обеспечивает необходимое и достаточное покрытие тестами всей тестовой модели. - Координирует кросскомандное тестирование. - Доносит до команды информацию о состоянии качества и фокусирует команду на его улучшении. -- Умеет разрабатывать тесты на backend и хотя бы на один client-side, чтобы обеспечивать покрытие на всех уровнях системы. -- Прорабатывает вместе с разработчиками юнит-тесты. -- Может проверить качество покрытия юнит-тестами, которые пишут разработчики, через код ревью или с помощью мутационного тестирования. +- Закрывает потребность в автоматизации тестирования по всем слоям пирамиды тестирования, включая все платформы, необходимые команде. +- Прорабатывает вместе с разработчиками юнит-тесты; Может проверить качество покрытия юнит-тестами, которые пишут разработчики, через код ревью или с помощью мутационного тестирования; - Исследует проблемы flaky-тестов и самостоятельно устраняет причины, либо адресует руткозы flaky-тестов на ответственных и добивается их исправлений. - Если видит проблемы в большом количестве багов от команды, то исследует первопричину и меняет процессы обеспечения качества. - Является экспертом по QA внутри своей команды: обучает коллег тестировать через менторство, с объяснением теории и применением практики. Организует процессы тестирования, так, чтобы не являться боттл-неком для команды. -- Может настроить автоматическую сборку тестового контура для интеграционного тестирования фичей в юните. Например, прогон специфичных тестов на релизах Инфомодели. - Проводит исследовательское тестирование с целями, сессиями и итоговыми отчётами. ### Е5 - Для больших проектов проводит оценку рисков, аргументировано объясняет, где и что может пойти не так. - Занимается улучшением общих инструментов тестирования, осуществляет вклад в общую экосистему тестирования компании: например, самостоятельно добавляет необходимый функционал в Resource Manager. -- Комплексно подходит к обеспечению качества. Проводит сам или привлекает экспертов для проведения нефункционального тестирования - performance-тесты и Security-тесты. Например, комплексно подходит к соблюдению NFR сервисами. +- Комплексно подходит к обеспечению качества. Проводит сам или привлекает экспертов для проведения нефункционального тестирования - performance-тесты и security-тесты. Например, комплексно подходит к соблюдению NFR сервисами. - Владеет метриками качества своей команды/юнита, всегда может показать на объективных метриках, какая ситуация сейчас с качеством. - Участвует в разборах инцидентов, предотвращает повторные инциденты. - Является экспертом по QA внутри своего юнита или нескольких команд - обучает коллег тестировать как положено, с теорией и практикой. - Имеет карту/модель рисков по всему юниту, системно работает над предотвращением рисков в юните. +- Разрабатывает и внедряет новые решения или улучшает существующие подходы, направленные на повышение эффективности автоматизации своего кластера. ### Е6 - Создаёт с нуля новые инструменты для обеспечения качества. Например, скрипты сравнения диффов инфомодели или фреймворк для интеграционного тестирования автозагрузки. -- Может провести исследование по оценке качества для пользователей и качества продукта в целом: тестирует гипотезы качества на пользователях, сравнивает свой продукт и конкурентов в плане качества. Например, проводит сравнительное тестирование продуктов, проводит оценку по аспектам качества относительно конкурентов. -- Имеет карту/модель рисков по всему кластеру, системно работает по предотвращению рисков в кластере. +- Может провести исследование по оценке качества для пользователей и качества продукта в целом: тестирует гипотезы качества на пользователях, сравнивает свой продукт и конкурентов в плане качества. Например, проводит сравнительное тестирование продуктов, оценивает по аспектам качества относительно конкурентов. +- Имеет карту/модель рисков по всему кластеру, системно работает над предотвращением рисков в кластере. - Координирует общекластерные проекты по тестированию.