Разделы портала

Онлайн-тренинги

.
Варианты развития QA специалиста если вы еще линейный специалист, но уже «у потолка»
27.11.2023 00:00

Автор: Игнат Смычков

Дисклеймер

Данная статья несет познавательный характер и не несет цели кого либо задеть или оскорбить.

Вступление

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


Вопроса денег касаться не буду, так как на Хабре уже отлично все рассказано про ЗП тут: Зарплаты IT-специалистов в первом полугодии 2023: +10% за счет регионов

QA Automation Engineer

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

Кто такие автоматизаторы (QA Automation Engineer). Как правило, это специалисты, которые переводят тестовые сценарии в код для инструментов, которые по этому коду будут тестировать.

С чем желательно определиться, чтобы пойти в Автоматизаторы.

  1. Нужно ли это вашей текущей команде?
    С этим всё просто: спросите у лидера, сформируйте договоренности и идите учиться. В противном случае, готовьтесь менять работу (что, в целом, не плохо, так как часто рост связан с сменой рабочего места).

  2. На каком языке вы планируете автоматизировать.
    Тут, во многом, зависит от того, в каком направлении IT вы планируете развиваться, Например в геймдеве, то C# \ плюсы \ C, а в вебе, это Python

  3. Определиться с инструментами
    Для геймдев движков существуют свои инструменты, которые прикручиваются в юнити, у не геймдева, это Selenium, JUnit, Cucumber, Selenide и другие.

Я хотел бы подсветить, что автоматизация подходит далеко не каждому проекту, так как нужно учитывать ROI автоматизации, но об этом сейчас не будем)

Если вы пришли почитать именно про автоматизацию, то я вам рекомендую эту статью автора digitalsibur который хорошо раскрыл это направление

Performance Engineer

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

Основная цель perfomance-тестов — Определить и исправить причины медленной работы системы. Для этого проводится мониторинг показателей «железа» и софта, хотя порой это делают и DevOps-инженеры.  

Как вкатиться? да как всегда. Читаем нужную литературу, наподобие этой и этой, и этой и др.

Практикуемся на текущем месте, и, если нравится, то двигаем дальше на полноценную должность

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

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

Тест-аналитик

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

Что может быть на страже тест-аналитика

  • интеллект-карты,

  • диаграммы состояний и переходов,

  • тестовая комбинаторика,

  • техника создания таблиц решений,

  • составление стратегий,

  • тестирование окружений.

Основной задачей тест-аналитика является организация максимально эффективного (при существующих ограничениях) тестирования программного продукта и анализ качества этого продукта на основе аналитики и анализа.

Более подробно про тест-аналитиков можно почитать тут: Тест-аналитики – кто это?

QA lead

Я думаю, ни для кого не секрет, что QA Lead (и его следующая ступень, это QA Head), это руководитель команды тестировщиков. То есть это специалист, который формирует стратегию тестирования для QA команды, чтобы она могла обеспечивать качество выпускаемого продукта в соответствии со стандартами отрасли и компании. Также QA-руководители регулируют процессы работы QA команды и берут на себя ответственность за управление персоналом команды. Если в команде присутствует Head, то обязанности распределяются между ними. Например, верхнеуровневая настройка процессов и управление персоналом передаются Head, а Lead уже следит, чтобы работа внутри процессов осуществлялась согласно задуманному.

Для того, чтобы стать хорошим лидом, нужно всего четыре вещи:

  1. Опыт

  2. Знания, если команда не практикует повышение по сроку службы, тогда знания не важны (мы такое не поддерживаем)

  3. Соответствующие софты (иногда об этом забывают)

  4. Вакантное место

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

Какие основные обязанности лида:

  1. Понимать процессы и методологии используемые на проекте (и не только)

  2. Развивать в команде всесторонний взгляд на качество

  3. Знать и использовать разные практики в своей работе и работе отдела

  4. Улучшение процесса при необходимости

  5. Управление людьми

  6. Настройка прозрачной работы с возможностью ее поддержки

Если вы думаете, что именно это вам близко, то рекомендую дополнительно почитать на эту тему, прежде чем делать какие-то выводы, так как лидство — практически отдельная профессия, как, например, QA. статья на тему QA лидства

QA Аrchitect

Честно говоря, специальность достаточно редкая и в командах приято, закрывать ее силами QA лида, но встречается и отдельная позиция.

Кто же он такой?

Quality Architect, это роль или должность в области управления качеством, тестирования и обеспечения качества продуктов, основные обязанности которого могут включать:

  1. Разработку стратегии тестирования: Определение методологий и подходов к тестированию продукта, включая выбор инструментов и технологий.

  2. Проектирование тестовых сценариев: Создание и планирование тест-кейсов и сценариев, которые помогут проверить функциональность и производительность продукта.

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

  4. Сотрудничество с командами разработки: Взаимодействие с разработчиками и другими членами команды для обеспечения качества в каждой фазе разработки.

  5. Управление инструментами и автоматизацией: Разработка и внедрение автоматизированных процессов тестирования и управления качеством.

  6. Обучение и консультирование: Помощь другим членам команды в понимании и соблюдении стандартов и практик качества.

То есть эти ребята узнают требования к качеству продукта , анализируют имеющиеся ресурсы, и выстраивают индивидуальную архитектуру, тестирования (и иногда разработки).

Для успешной работы, QA архитектор должен обладать:

  1. Экспертным знанием QA и тестирования

  2. Уметь в автоматизацию тестирования

  3. Владеть знанием программирования: Чем глубже, тем лучше.

  4. Архитектурным мышлением

  5. Навыком управления рисками

  6. Знанием инструментов тестирования

  7. Навыками моделирования данных

Круто про профессию написал irishaspir в статье Quality Architect: кто это такой и когда он нужен.

Application Security Tester

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

Так же, как и для любой роли, QA который хочет вкатиться в безопасность, должен иметь определенные навыки:

  1. Знание уязвимостей: Глубокое понимание различных видов уязвимостей в безопасности, таких как SQL-инъекции, XSS, CSRF, утечка данных и другие.

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

  3. Понимание архитектуры приложений: Способность анализировать архитектуру приложений и их компоненты с точки зрения безопасности.

  4. Тестирование на проникновение: Навыки проведения тестирования на проникновение для выявления уязвимостей и потенциальных слабых мест в приложениях.

  5. Знание инструментов безопасности: Умение работать с инструментами для сканирования уязвимостей, анализа безопасности кода и другими инструментами, используемыми в безопасности приложений.

  6. Знание принципов шифрования: Понимание методов шифрования и мер безопасности данных.

  7. Понимание принципов аутентификации и авторизации: Знание принципов проверки подлинности и установления прав доступа к ресурсам.

  8. Базовые знания сетевой безопасности: Понимание принципов сетевой безопасности, включая файрволы, VPN и другие средства защиты.

  9. Умение анализировать код: Способность анализировать исходный код приложений на предмет уязвимостей и безопасных практик.

  10. Обучение и коммуникация: Хорошие коммуникативные навыки для взаимодействия с разработчиками и другими участниками команды.

  11. Безопасные практики разработки: Помощь разработчикам в применении безопасных практик в процессе разработки.

  12. Обучение и самообразование: Постоянное обучение и отслеживание новых тенденций и угроз в области кибербезопасности.

Уфф, бывает и такое, но чтобы во всем разобраться подробнее, приглашаю в статью, где подробно раскрываются все особенности работы AST, а мы подходим к концу

Итог

Как мы с вами увидели, Тестирование многогранно и необъятно, так что не попадаем под эффект Даннинга — Крюгера, анализируем, какие навыки нам не обходимы, читаем полезные статьи и книги, и растем профессионально.

Обсудить в форуме