🪓
QAммунизм
  • 💬Предисловия
  • 📜Теория тестирования
    • Для чего проводится тестирование ПО?
    • Принципы тестирования
    • QC — Quality Control
    • QA — Quality Assurance
    • Верификация и валидация
    • Этапы тестирования
    • Стадии разработки ПО
    • Требования
    • Дефект (bug) и Отчёт о дефекте (bug report)
    • Severity vs Priority
    • Базовые типы задач
    • Тестовые среды
    • Основные фазы тестирования
    • Основные виды тестирования ПО
    • Тест-дизайн
    • Методы тестирования
      • Тестирование белого ящика
      • Тестирование серого ящика
      • Тестирование чёрного ящика
    • Тестовая документация
      • Тест план (Test Plan)
      • Чек-лист (check list)
      • Тестовый сценарий (test case)
  • 🦠Матрица компетенций QA Engineer
    • Грэйды QA
      • Trainee Manual QA Engineer (стажер)
      • Junior Manual QA Engineer (младший)
      • Pre-Middle Manual QA Engineer (почти средний)
      • Middle Manual QA Engineer (средний)
      • Upper-Middle Manual QA Engineer (продвинутый)
      • Senior Manual QA Engineer (ведущий)
    • Грэйды AQA
      • Trainee Automation QA Engineer (стажер)
      • Junior Automation QA Engineer (младший)
      • Pre-Middle Automation QA Engineer (почти средний)
      • Middle Automation QA Engineer (средний)
      • Upper-Middle Automation QA Engineer (продвинутый)
      • Senior Automation QA Engineer (ведущий)
    • Краткое содержание
  • 📑Паттерн описания тест-кейсов
    • Названия
    • Описание
    • Количество шагов
    • Ожидаемые результаты
  • 🦾Автоматизация тестирования
    • 🐍Python
      • 🧪PyTest
        • pytest.ini
      • 📗SeleniumBase
        • Установка
        • Конфигурации подключения к Selenoid
        • Распространенные методы
      • 📊Allure Python
        • Установка
        • Слушатель
        • Декораторы
          • Шаги(step)
          • Вложения(attach)
          • Ссылки(issue)
          • Описания(description)
          • Заголовки(title)
          • Строгость(Severity)
          • Epic
          • Title
        • Окружающая среда(Environment)
        • Маркеры(mark)
      • 🗺️ООП в Python во всех подробностях
        • Приватность свойств. Name Mangling (_name и __name)
        • Переменные (свойства / атрибуты) класса
        • Анотация типов
        • @staticmethod
        • @classmethod
        • @property
        • Кеширование результата вычисляемых свойств
        • Наследование
        • Определение одного родителя
        • Перегрузка
        • Множественное наследование
        • Mixins
        • Полиморфизм
        • super().__init__() - Инициализация из родительского класса
        • Хешированные объекты
        • Абстрактные классы
        • Абстрактный класс наследуется от абстрактного класса
        • __slots__ в классе и при наследовании
        • Композиция
        • Наследование vs Композиция
        • Дескрипторы (__get__(), __set__(), __del__())
        • No Data Descriptor
        • Data Descriptor
        • Слабые ссылки (weakref)
        • Метод __set_name__
    • 🐸JavaScript (В разработке)
      • 🃏Playwright (В разработке)
    • 🛰️Git: Основные команды
    • 🧊Selenoid - Allure server
      • Установка
    • 🐳Docker
      • Установите Docker Desktop в Windows
    • 🧾Паттерны проектирования автоматизированного тестирования
      • Как написать идеальный автотест: 25 принципов.
        • Тесты не так важны, как действия по результатам этих тестов
        • Ценность
        • Лучше ничего не делать, чем сделать flaky-тест
        • Доверие
        • Поделись знанием
        • Устрой дестрой
        • Думай иначе
        • Тесты должны запускаться автоматически
        • Тайна пирамиды
        • Из множества важного выбирай то, что проще
        • Нельзя протестировать всё
        • Используй скрытую силу
        • Принцип ААА
        • Не повторяйся
        • Хрупкость
        • Принцип двух ящиков
        • Тестируй без последствий
        • Упрощения
        • Красота
        • Параллельность
        • Скорость
        • Автотест — это фича
        • Автотест — это тест
        • Атомарность
        • Независимость
      • Паттерны
        • Page Object Model (POM)
    • 🧑‍🔧Принципы разработки ПО
      • SOLID в автоматизации тестирования
        • S — Single Responsibility Principle(Принцип единой ответственности)
        • O — Open/Closed Principle(Принцип открытости/закрытости)
        • L — Liskov Substitution Principle(Принцип замены Лискова)
        • I — Interface Segregation Principle(Принцип разделения интерфейса)
        • D — Dependency Inversion Principle(Принцип инверсии зависимостей)
      • KISS (Keep It Simple, Stupid)
      • DRY (Don’t Repeat Yourself)
      • YAGNI (You Aren’t Gonna Need It)
      • Бритва Оккама
      • Avoid Premature Optimization
  • 🎭Вопросы для собеседования
    • Junior
      • Теория тестирования
      • AQA
        • Программирование
        • Selenium
        • TestNG/JUnit(PYTHON)
        • Git
        • CI
      • Интернет
      • Компьютерные сети
      • Практические задания
    • Middle
      • Теория
      • AQA
        • Selenium
        • Тестовая инфраструктура
      • Интернет
      • Мобильный
      • Практические задания
    • Senior
      • Теория
      • Практические задания
    • Практические задания
  • 📊Оценка покрытие Тест-кейсами/UI-автотестами(Coverage)
    • Матрица трассировки требований(RTM)
    • Обратная связь от тестировщиков
    • Включение новых сценариев
    • Использование метрик покрытия
    • Анализ отчетов о выполнении тестов
    • Измерение покрытия кода
    • Определение целевых экранов
    • Рассмотрение покрытия по сценариям использования
    • Автоматизированные средства анализа кода
Powered by GitBook
On this page
  • Уровень 1: Junior QA automation
  • Уровень 2: Middle QA automation
  • Уровень 3: Senior QA automation
  • Уровень 4: Архитектор автоматизации
  • Уровень 5: Team lead
  • Уровень 6: Консультант по автоматизации

Was this helpful?

  1. Матрица компетенций QA Engineer

Краткое содержание

Уровень 1: Junior QA automation

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

“Младшим” инженерам по автоматизации тестирования не нужно ставить задачи самостоятельно создавать тестовый проект с нуля. Для этого требуются навыки программирования, архитектуры и, собственно, тестирования, которыми обладают более профессиональные инженеры по автоматизации или разработчики.

Уровень 2: Middle QA automation

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

Например, используя существующий фреймворк, инженер по автоматизации среднего уровня может добавлять дополнительные классы и функции для новых страниц, компонентов или сервисов по мере необходимости, без помощи других членов команды в создании этих элементов. Однако Midlevel QA automation – это все еще не тот уровень, который позволяет с нуля построить весь тестовый проект.

Уровень 3: Senior QA automation

Senior QA automation хорошо разбирается в программировании и тестировании. Помимо создания автоматизированных тестов он может реализовать весь проект тестирования с нуля. Также он разбирается в различных шаблонах проектирования для конкретных тестов и знает, когда их использовать.

Инженеры столь высокого уровня часто проверяют pull requests, связанные с тестированием, и помогают выработать правильные подходы для команды. Они способны научить других разработчиков (менее квалифицированных) писать тесты и создавать тестируемый код. Они также определяют, какие тесты следует автоматизировать, а какие не стоят усилий.

Senior QA automation не тратят много времени на написание тестов, как раньше, поскольку делегировали большую часть этой деятельности разработчикам и младшим инженерам по автоматизации. Вместо этого Senior больше времени тратит на создание тестовой среды, чтобы помочь другим, пишущим тесты. “Старшие” инженеры также более активно участвуют в мониторинге и сортировке сборок, осуществляя тщательный анализ информации, которую тесты показывают относительно исследуемого продукта.

Уровень 4: Архитектор автоматизации

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

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

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

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

Из-за высоких технических навыков архитекторы по автоматизации назначаются не в команду продукта. Один такой специалист зачастую работает на целый департамент.

Уровень 5: Team lead

Руководители отдела автоматизации несут ответственность за управление командой инженеров. Они предоставляют стратегию развития и выступают в роли наставников для младших специалистов

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

Team lead часто получает задание “набрать команду” и, следовательно, в его обязанности входит проведение технического собеседования.

Руководитель отдела автоматизации регулярно общается с заинтересованными сторонами:

  • менеджеры;

  • владельцы бизнеса;

  • Scrum-мастера;

  • разработчики;

  • тестировщики.

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

Уровень 6: Консультант по автоматизации

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

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

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

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

Last updated 2 years ago

Was this helpful?

🦠