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

Почему мы ввели анкетирование

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

Чтобы устранить этот баг, помимо запроса оценки работы от коллег мы добавили анкетирование — опрос сотрудника по определенным техническим темам. Однако погружение в тему у всех может быть разным, поэтому кажется несправедливым ставить “зачет” или “незачет”. Так мы выработали уровни компетенций — грейды, а каждая тема была разбита на тематические подразделы — блоки. По каждому блоку сформирован пул вопросов, раскрывающих уровень проявления компетенции на данном уровне. Возможно наш опыт будет полезен и вам. 

Процесс

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

Сам процесс анкетирования состоит из устного опроса сотрудника двумя опытными коллегами. Двое нужны, чтобы оценка была объективной. Важно понимать, что цель опроса не принизить навыки сотрудника или подловить его на незнании. Главная цель — выявить уровень компетенции и обозначить точки профессионального роста и развития. Поэтому все прекрасно осознают, что в своих ответах опрашиваемый коллега может использовать любые формулировки. В этом случае оценка не снижается, а в фидбеке мы отметим, что коллеге было бы неплохо поглубже забраться в предметную область и структурировать знания. 

В первый раз раз опрос занимает довольно много времени — от полутора до двух часов. Мы называем его калибровочным. Такая продолжительность связана с большим количеством вопросов, поскольку беседа ведется по всем уровням компетенций. При повторном анкетировании, которое проводится примерно через 6 месяцев, время сокращается до 30-60 минут. Тут уже мы задаем вопросы на повышение грейда. Вопросы с предыдущих уровней не задаются: мы подразумеваем, что сотрудник не мог всё забыть за такой короткий промежуток времени. 

Оценка

Всего мы выделяем две группы навыков. Первая группа — оценка понимания принципов работы Selenium включает в себя три уровня: beginner, competent, advanced. Их можно увязать со стандартными “джуном, мидлом и сеньором” грейда. Вторая группа — навыки Java. Здесь ситуация несколько иная: к трем грейдам добавляется уровень expert. Он пересекается с требованиям к разработчикам, поэтому коллеги этого грейда могут претендовать на позиции разработчика в командах. Для каждого грейда сформированы признаки проявления компетенции и составлены вопросы, позволяющие выявить. 

По итогам опроса выставляется две оценки по каждой из групп навыков. Оценка по каждой группе определяется по минимальной оценке в блоках этой части. Например, если есть две оценки beginner, а остальные competent, то мы ставим beginner. Но возможны и исключения. Например, сотрудник по одному из блоков показал уровень знаний beginner, а по остальным competent. Если это не базовый для понимания блок, и сотрудник в работе с ним не сталкивался, так как не было соответствующих задач, то можно выставить общий уровень competent при условии, что руководитель не возражает такой оценки, а сам сотрудник получит соответствующий фидбек и задачи для развития навыков до следующего уровня. Каждый следующий уровень выставляется при наличии достаточных знаний по предыдущим уровням.

Пример компетенций

В качестве примера приводим требования к уровню competent, он же соответствует требования middle грейда. Сотрудник этого уровня должен обладать следующими компетенциями:

  • Разбирается в архитектуре Selenium и понимать как он работает

  • Знает что такое DOM, как работает HTTP-протокол

  • Может дать определение локатора, назвать основные виды локаторов и расположить их в порядке рекомендуемого использования. Также может рассказать про стратегии выбора и написания оптимальных локаторов

  • Может рассказать разницу между мягкими и жесткими ассертами

  • Знает базовые паттерны проектирования, их виды, может перечислить основные паттерны в автотестировании и рассказать о них

  • Может рассказать, что такое TestNG или JUnit, какие есть аннотации — их иерархия и атрибуты

  • Знает, как работать с JS в Selenium, может написать и вызвать JS-скрипт из кода теста

  • Может рассказать про ожидания — их виды и когда какие следует применять

  • Может рассказать про работу в Selenium с фреймами, окнами, куками

  • Знает, что такое actions в Selenium и как с ними работать

  • Может объяснить, из чего состоят тестовые обвязки/фреймворки, рассказать, зачем нужны обертки и как с ними работать

  • В области Java может рассказать про ООП, дженерики, коллекции, лямбды и стримы

  • С помощью Maven может создать свой проект, рассказать про POM, знает жизненный цикл, может настроить и подключить отдельные плагины

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

Финал

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

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

Комментарии (0)