Матрица компетенций инженера по тестированию
Таблица грейдов QA инженера. Подразумевается, что каждый следующий грейд включает в себя навыки из всех предыдущих.
Таблица - не эталон!
Необходимо помнить, что эта таблица обобщенная - внутри отдельной компании могут существовать свои собственные матрицы. Например, одни команды не используют SQL или снифферы, но зато им нужно углубленное понимание различных видов API, а у другой команды не тестируется бэкенд, но навыки тестирования UI должны быть развиты сильнее.
Мы рекомендуем руководствоваться таблицей как общим руководством, но в отдельных компаниях уточнять их внутренние грейды.
Junior | Junior+ | Middle | Middle+ | Senior | |
---|---|---|---|---|---|
Работа с дефектами | Умеет оформлять баг-репорты по шаблону. Может сделать ретест чужого бага | Оформляет и по возможности приоритизирует дефекты. Умеет правильно оформлять артефакты баг-репорта (скрины, видео, etc) | Точно расставляет приоритеты дефектов. При ретесте дефекта проверяет смежные функциональности. Не создает дубли дефектов, правильно пользуется поиском и сравнением. | Правильно локализует причины дефектов. При оформлении дефекта использует только необходимую информацию (нет избыточного текста и артефактов). | После оформления баг-репорта у разработчиков и других участников нет вопросов по воспроизведению. Помогает другим членам команды локализовать и анализировать дефекты. |
Работа с тест-кейсами | Успешно проходит чужие тест-кейсы | Самостоятельно пишет тест-кейсы на простые задачи | Пишет тест-кейсы любой сложности, понятные другим тестировщикам, приоритизирует их | Пишет связанные, параметризованные тест-кейсы. Может провести ревизию и актуализировать кейсы в ТМС | Определяет тестовое покрытие по тест-кейсам. При необходимости структурирует ТМС. |
Работа с чек-листами | Успешно проходит проверки по простым чужим чек-листам | Может написать чек-лист на простые проверки | Самостоятельно пишет чек-листы проверок любой сложности. | Пишет параметризованные чек-листы на различные функциональности. | Самостоятельно принимает решение какой вид документации использовать (тест-кейсы или чек-листы) |
Тестирование документации | В процессе изучения документации способен находить нестыковки и задавать вопросы | Способен протестировать простую документацию на однозначность и непротиворечивость | Может проверить полноту требований. Задает правильные вопросы к аналитике. | Проверяет глубину и детализацию требований, умеет читать и проверять схемы. | Способен проверить требования на необходимость, а также провести ревью на осуществимость и тестируемость требований. |
Владение тест-анализом и техниками тест-дизайна | Умеет применять классы эквивалентности и граничные значения | Может сделать декомпозицию небольшой фичи для анализа. | Уверенно пользуется комбинаторикой, может составить схему состояний и переходов или таблицу принятия решений | Самостоятельно принимает решения о выборе техник тест-дизайна для конкретных фичей, анализирует US | Делает ТА для систем любой сложности, знает и использует любые подходящие техники ТД и ТА. Проводит ревью ТД коллег |
Регрессионное тестирование | Проводит регрессионное тестирование по готовым планам под контролем старших коллег | Проводит регулярный регресс самостоятельно | Проводит исследовательское тестирование при регрессе, может исправить некоторые кейсы. | Расширяет и актуализирует списки проверок для регрессионного тестирования. Актуализирует тест-кейсы и чек-листы | Создает списки проверок для регрессионных тестов, определяет необходимость тех или иных кейсов, принимает решение о том, какие кейсы идут в автоматизацию |
Уровень владения инструментами для тестирования API (Postman, SOAP UI, etc) | Умеет делать простые действия (установить программу, импортировать-экспортировать проект, отправить готовый запрос и посмотреть ответ | Умеет составлять запросы, анализировать ответы, хорошо понимает принципы работы АПИ и инструментов | Пишет параметризованные тесты, умеет пользоваться разными окружениями | Умеет использовать готовые скрипты и возможности инструмента для полуавтоматизации прогонов. Умеет запускать автопрогоны готовых тестов. Анализирует результаты прогонов. | Использует все возможности инструментов, пишет автотесты при их помощи. |
Уровень владения Swagger | Понимает что такое Сваггер | Умеет запускать запросы | Хорошо понимает зачем нужен сваггер, умеет использовать его как документацию к API | Умеет экспортировать запросы группой из свагера в другие инструменты | Тестирует Swagger как документацию |
Уровень владения снифферами (актуально для UI тестировщиков) | Базовые навыки работы с снифферами и понимание основных протоколов. Может самостоятельно захватывать и анализировать сетевой трафик. Знаком с основными функциями снифферов, такими как фильтрация и анализ пакетов. | Расширенные навыки работы с снифферами. Опыт анализа и интерпретации сложных сетевых сценариев с помощью снифферов. Может выполнять базовый сетевой отладочный анализ для выявления проблем сетевого взаимодействия. | Уверенное владение различными инструментами сетевого анализа. Опыт работы с различными протоколами и технологиями сетевого взаимодействия. Может создавать сложные фильтры и анализировать большие объемы сетевого трафика для выявления проблем производительности и безопасности. | Продвинутое понимание работы с снифферами и сетевыми анализаторами. Опыт интеграции снифферов в сложные сетевые инфраструктуры и архитектуры. Может проводить анализ сетевого трафика на уровне протоколов и приложений для выявления проблем и уязвимостей. | Глубокое понимание всех аспектов снифферов и сетевого анализа. Опыт создания и разработки инструментов для автоматизации сетевого анализа и мониторинга. Может выполнять сложный анализ сетевого трафика для решения критических проблем сетевого взаимодействия. |
Уровень владения Брокерами сообщений | Основное понимание концепции брокеров сообщений. Может работать с простыми сценариями использования брокеров сообщений. Знаком с основными операциями, такими как отправка и получение сообщений через брокер. | Уверенное владение работой с различными брокерами сообщений (например, Apache Kafka, RabbitMQ, Apache ActiveMQ и др.). Опыт создания более сложных сценариев использования брокеров. | Продвинутое понимание архитектуры и внутренней работы брокеров сообщений. Опыт интеграции брокеров с различными приложениями и сервисами. | Способен разрабатывать сложные тестовые сценарии и сценарии отказоустойчивости для брокеров. Умеет анализировать производительность и масштабируемость брокеров для удовлетворения требований проекта. | Глубокое понимание всех аспектов брокеров сообщений и их применения. Способен проводить анализ производительности и оптимизировать настройки брокеров. Может обучать и консультировать других членов команды по работе с брокерами сообщений. |
Уровень владения Системами хранения логов (Kibana, Splunk: Graylog etc) | Базовые навыки работы с системами хранения логов. Может самостоятельно выполнять операции чтения и записи логов. Понимает основные концепции и инструменты для анализа логов. | Расширенные навыки работы с системами хранения логов. Умеет выполнять более сложные операции, такие как поиск и фильтрация логов. Может интерпретировать и анализировать логи для выявления проблем и ошибок. | Уверенное владение системами хранения логов. Опыт использования различных инструментов и технологий для анализа, мониторинга и агрегации логов. Может разрабатывать базовые сценарии с использованием логов для тестирования ПО. | Продвинутое понимание и опыт работы с системами хранения логов различных типов и масштабов. Способен решать сложные задачи, связанные с анализом и оптимизацией логов для обнаружения проблем производительности и безопасности. | Глубокое понимание и экспертные навыки работы со всеми типами систем хранения логов. Обладает способностью решать сложные проблемы, связанные с логами, и консультировать других членов команды. |
Работа с БД | Базовые навыки работы с различными типами баз данных (реляционные и/или NoSQL). Умеет создавать и оптимизировать простые SQL-запросы. Знаком с принципами баз данных, такими как нормализация данных и индексы. | Расширенные навыки работы с базами данных различных типов. Опыт оптимизации запросов и управления индексами для улучшения производительности. Может разрабатывать простые базы данных и модели данных. | Уверенное владение работой с различными типами баз данных и их специфичными особенностями. Опыт проектирования и оптимизации сложных баз данных. Может разрабатывать сложные SQL-запросы, включая подзапросы, объединения и хранимые процедуры. | Продвинутое понимание архитектуры баз данных и их взаимодействия с приложениями. Опыт работы с распределенными базами данных и кластеризацией. | Глубокое понимание всех аспектов баз данных и их роли в сложных системах. Может анализировать производительность и масштабируемость баз данных, предлагать улучшения. |
Работа с тестовыми окружениями | Умеет настраивать и управлять тестовыми окружениями для различных проектов и тестовых сценариев. | Может использовать контейнеры (например, Docker) для развертывания тестовых окружений. | Продвинутое понимание архитектуры тестовых окружений и их влияния на качество тестирования. | Может интегрировать тестовые окружения с системами непрерывной интеграции и развертывания (CI/CD). | Может проводить анализ требований к окружениям и разрабатывать соответствующие решения. |
Работа с регулярными выражениями | Может использовать простые регулярные выражения для выполнения базовых поисковых и заменных операций. | Знаком с основными метасимволами и квантификаторами. | Уверенное владение регулярными выражениями. Опыт работы с более сложными шаблонами и группировкой данных. | Может разрабатывать сложные и эффективные регулярные выражения для разнообразных задач. | Опыт оптимизации и рефакторинга сложных регулярных выражений. Может консультировать и обучать других членов команды по эффективному использованию регулярных выражений. |
Самостоятельность в работе | Может выполнять простые задачи самостоятельно, но может требовать руководства для более сложных задач. Постепенно развивает уверенность в своих знаниях и навыках, но предпочитает работать под руководством и поддержкой опытных членов команды. | Демонстрирует повышенную самостоятельность в выполнении задач и решении проблем. Может работать над средней сложности задачами с ограниченной помощью. Возможно, имеет небольшой опыт выполнения задач самостоятельно, но все еще могут возникать ситуации, когда требуется поддержка. | Обладает значительной самостоятельностью и способен решать сложные задачи без непосредственной помощи. Умеет разрабатывать и реализовывать собственные тестовые стратегии и планы. Может принимать решения и решать проблемы, связанные с тестированием, с минимальной необходимостью консультации. | Проявляет высокую степень самостоятельности и независимости в выполнении своих обязанностей. Может управлять своим временем и приоритетами, планировать и вести собственные задачи и проекты. Способен предлагать и внедрять улучшения в процессах тестирования без постоянной необходимости в руководстве. | Демонстрирует полную самостоятельность и автономность в выполнении задач и принятии решений. Способен управлять проектами, командами и решать сложные проблемы без внешнего управления. Может работать над высокоуровневыми стратегиями и руководить тестированием в широком масштабе. |
Анализ данных и отчетность | Умение анализировать результаты тестирования и выявлять основные проблемы. Может составлять структурированные отчеты о найденных дефектах и прогрессе тестирования | Расширенные навыки анализа данных и отчетности. Умение выделять ключевые метрики качества и производительности из результатов тестирования. | Может составлять более сложные отчеты с графиками и диаграммами. Может проводить более глубокий анализ данных для выявления скрытых проблем и трендов. | Продвинутое понимание анализа данных и отчетности с учетом широкого контекста бизнеса. Умение предоставлять ценные рекомендации на основе данных для улучшения качества продукта. Может создавать автоматизированные отчеты и дашборды для удобного мониторинга. | Глубокое знание анализа данных и отчетности, способность делать сложные выводы на основе данных. Опыт управления и анализа больших объемов данных. Может разрабатывать и внедрять стратегии анализа данных для повышения качества продукта и оптимизации процессов тестирования. |
Коммуникационные навыки | Улучшенные коммуникационные навыки и активное участие в командных обсуждениях. Умение предоставлять информацию о своей работе и прогрессе тестирования в понятной форме. Готовность поделиться своими знаниями и опытом с другими членами команды. | Развитые навыки эффективной коммуникации с различными интерфейсными группами. Способность аргументировать свои точки зрения и отстаивать свои решения. Умение слушать и воспринимать обратную связь для постоянного улучшения своей работы. | Опыт работы с командами разработки и умение строить конструктивное сотрудничество. Готовность и способность представлять результаты тестирования заказчикам и другим заинтересованным сторонам. Умение эффективно управлять коммуникациями в сложных проектных ситуациях. | Продвинутые коммуникационные навыки с акцентом на лидерство и наставничество. Способность эффективно коммуницировать на различных уровнях организации и с управленческим персоналом. Умение решать конфликтные ситуации и устранять недопонимания. | Высокий уровень коммуникационных навыков включает лидерство, менторство и презентационные навыки. Способность вести переговоры и управлять коммуникациями на стратегическом уровне. Может обеспечивать высокую степень понимания между различными командами и заинтересованными сторонами. |
Кроме того
Список навыков, которые также можно развивать в зависимости от того, куда вы хотите двигать свою карьеру:
1. Автоматизированное тестирование:
- Основы автоматизации тестирования (например, знание Selenium WebDriver для веб-приложений).
- Умение писать и поддерживать простые автоматизированные тесты.
2. Мобильное тестирование:
- Основы мобильного тестирования (тестирование на различных устройствах и ОС).
- Знакомство с инструментами для мобильного тестирования (например, Appium).
3. Тестирование безопасности:
- Основы тестирования на безопасность и знание основных уязвимостей.
- Знакомство с инструментами для тестирования на безопасность (например, Burp Suite).
4. Тестирование производительности:
- Основы тестирования производительности и нагрузочного тестирования.
- Знакомство с инструментами для производительностного тестирования (например, JMeter).
6. Agile и DevOps:
- Понимание принципов и практик Agile и DevOps.
- Опыт работы в Agile команде и умение выполнять QA задачи в интеграции с DevOps процессами.
7. Навыки программирования:
- Основы программирования на одном из языков (например, Java, Python, JavaScript).
- Умение писать автотесты и фреймворки для поддержки тестирования.
8. Навыки работы с командной строкой:
- Умение работать с командной строкой для выполнения тестовых задач или автоматизации.
9. Управление проектами:
- Знание основ управления проектами и способность планировать и организовывать свою работу.
10. Контроль версий:
- Опыт работы с системами контроля версий (например, Git).