Карьера в IT: должность QA engineer

DOU.ua
DOU.ua
19-01-2020, 22:04

Карьера в IT: должность QA engineer

Bug image via Shutterstock.

Представляем пятую статью серии «Карьера в IT». В данном выпуске мы расскажем о QA-инженерах. Профессия этих специалистов молода и всё еще находится на стадии формирования (особенно в Украине).

Quality Assurance engineer — это специалист по обеспечению качества, деятельность которого направлена на улучшение процесса разработки ПО, предотвращение дефектов и выявление ошибок в работе продукта.

По данным ДОУ, среднему украинскому QA-инженеру 26 лет. Он имеет опыт работы от полугода (джуниор) до 5 лет (сеньор) и получает зарплату $600-2700.

Задачи и обязанности

Основная задача QA — обеспечение качества. QA-инженер фокусирует внимание на процессах разработки ПО, улучшает их, предотвращает появление дефектов и проблем (Makes sure you are doing the right things, the right way).

Процесс обеспечения качества состоит из таких этапов:
— проверка требований к продукту;
— оценка рисков;
— планирование идей по улучшению качества продукта;
— планирование тестирования;
— анализ результатов тестирования;

Внутри процесса QA выделяют процесс Quality Control — контроль качества продукта. QC-специалисты анализируют результаты тестирования и отвечают за выявление и уничтожение дефектов в продукте (Makes sure the results of what you have done is what you expected).

Еще более узкая специальность в рамках QA/QC — тестировщик ПО, который проверяет готовый продукт на наличие ошибок (багов) и несоответствие требованиям, и затем документирует найденные дефекты и пути их воспроизведения. Тестирование — это один из этапов обеспечения и контроля качества.

Есть 4 основные роли:

  • Test Analyst — занимается статическим тестированием требований: проверяет, насколько они полны, однозначны, непротиворечивы etc;
  • Test Designer — создает набор тестов на базе требований, планирует конфигурации, необходимые для тестирования;
  • Test Executor — выполняет заранее подготовленные тесты, документирует найденные ошибки и шаги их воспроизведения;
  • Test Manager — скорее управленец, чем инженер. Планирует и контролирует работы, связанные с тестированием: оценки сроков, работу над планом-графиком, контроль покрытия требований тестами, постановку задач членам команды, коммуникацию со стейкхолдерами).
«QA должен точно понимать, в какой момент за дело возьмется тестировщик, и успеть подготовить к этому времени план тестирования, тестовую документацию, тестовое окружение».
«Тестировщик знает, как система работает, где она не работает, и где работает не так, как задумано. Он умеет определить, чем вызвана ошибка, или хотя бы знает, где это искать. Чем тестировщик опытней, тем более тяжелой и интересной ему кажется работа».

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

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

В круг обязанностей QA-инженера входит:
— Анализ и уточнение требований с заказчиком или бизнес-аналитиками;
— Планирование процесса тестирования;
— Написание тест-кейсов (сценариев тестирования);
— Тестирование функционала;
— Идентификация проблемных мест, внесение их в трэкинговую систему;
— Обсуждение фиксов с разработчиками;
— Отслеживание жизненного цикла ошибок;
— Ре-тест починенных дефектов;
— Анализ тестирования;
— Оптимизация процесса тестирования;
— Анализ процессов работы в команде;
— Улучшение процессов;
— Ведение тестовой документации.

«Хороший инженер по качеству понимает логику продукта и досконально знает проект: требования, текущее состояние дел. Возможно, ему придется отвечать на уточняющие вопросы девелоперов, которые знают только свой кусок задачи и смежные области». 

Типичный рабочий день QA-специалиста включает в себя:
— Написание тест-кейсов, тестирование, документирование ошибок (в зависимости от фазы проекта);
— Проверка баг-трекинговой системы на предмет появления исправленных ошибок;
— Стенд-ап митинги;
— Изучение требований, их уточнение у заказчика;
— Активное общение с разработчиками;
— Оформление тестовой документации.

«Утро — ревизия тасков, что за ночь упало или собралось. День — подготовка и запуск компиляций, анализ результатов автоматических тестов, оформление тикетов и т.п. Вечер — перезапуск компиляций и обновление статусов тасков в баг-трекере».

Достоинства и недостатки

Привлекает QA-инженеров возможность улучшать качество продукта и при этом осваивать разные технологии и вникать в детали продукта.

«Нравится возможность реализовать свой перфекционизм без ущерба для социальной жизни».

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

«Эта профессия требует наличия и постоянного применения аналитических способностей. Она не дает расслабиться и умственно деградировать, а заставляет постоянно изучать новые технологии и области знаний».

Не последнее место занимает и возможность приобщиться к миру высоких технологий и больших зарплат. Некоторые инженеры по качеству пришли к своей профессии, потому что хотели в IT, а порог входа на QA ниже, чем на программиста. Некоторые считает работу QA более интересной и разнообразной, чем работу разработчика.

«Пошел в QA, потому что интересуюсь IT, но не хочу быть программистом. Мне больше нравится разбираться в чем то, искать ошибки, особенно в логике, которые BA и девы могли пропустить».
«Тестировщик должен быть умнее программиста... Ну, по крайней мере, хитрее!».
«Мышление программистов и тестировщиков „заточено“ по-разному. Программист ищет короткий путь решения, достигает цели — и после этого стремится уже к новым задачам. А тестировщик обстоятельно выверяет неучтенные моменты, проверяет разные комбинации».

Главный минус — монотонная составляющая работы, особенно в начале карьеры. Сюда относят прохождение тест-кейсов при ручном тестировании и работу с документацией.

«Недостатками, скорее всего, можно назвать большую часть рутинной работы, которою нужно делать обязательно».

Как стать QA-специалистом и куда идти дальше?

Инженеров по качеству не обучают в университетах (исключение: на нескольких факультетах КПИ читают посвященный тестированию полугодовой курс). Будущие QA приобретают знания на курсах или же самостоятельно.

«Если программисты со школьного возраста или начальных курсов института интересуются какой-то отраслью технологий и начинают развиваться в этом направлении (писать первые боты для игр, взломщики аккаунтов, сайты), то про тестирование я никогда такого не слышал. В стиле — „Вот я с 11-го класса тестирую приложения и получаю от этого кайф“. Достаточно иметь аналитические способности, немного внимательности и смекалки. Ну, и, конечно, разбираться в компьютерных технологиях, и прочесть хотя бы пару книг по тестированию».

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

«Подавляющее большинство вакансий требуют знания English. Часто крупные компании берут джуниоров со знанием английского, отказывая кандидатам с большим опытом, но без знания языка».

Базовые знания теории тестирования — это умение ответить на вопросы:
— что такое тестирование и для чего оно нужно;
— какие бывают виды тестирования;
— что такое баг, и каков его жизненный цикл;
— какая документация используется при тестировании.

«Прочитать несколько книг и много статей, форумов на эту тему. Желательно изучить какой-то язык программирования, а также HTML, SQL, CSS etc. Это позволит качественней делать свою работу и быстрее двигаться по карьерной лестнице».

QA ответственен за улучшение качества процесса разработки, а потому должен обладать некоторыми навыками и других членов команды:

  • От девелопера — понимание технических ограничений для реализации того или иного функционала и хотя бы поверхностное понимание кода;
  • От бизнес-аналитика — понимание рынка и целевой аудитории;
  • От PM’а — понимание целостности всех частей проекта.

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

«Профессия QA обязывает понимать все технические аспекты и цели бизнеса, а также уметь правильно общаться с заказчиками/менеджерами/девелоперами. Не бойтесь задавать вопросы, начиная с „А что, если?“. Очень часто это спасает часы, а то и дни разработки для всей команды».

Если говорить о личностных качествах, то необходимо:
— Иметь широкий IT-кругозор и тягу к изучению нового;
— Уметь общаться — качество коммуникации в команде разработки напрямую влияет на качество создаваемого ПО;
— Быть внимательным к деталям, усидчивым, ответственным и настойчивым;
— Обладать аналитическими способностями, уметь моделировать и работать с абстракциями;
— Иметь критический или даже «деструктивный» склад ума, направленный на нахождение ошибок;
— Отличать муху от слона.

«Из навыков — удачливость: если спотыкаетесь на ровном месте, то вам в тестировщики».

Среди перспектив профессионального развития можно выделить 3 направления:

  1. Изучать новые области и расти как QA: junior QA —> middle QA —> senior QA —> QA team lead —> QA-manager —> Head of QA department.
  2. Освоить автоматизированное тестирование и двигаться уже по этой ветке (требует более глубоких технических знаний).
  3. Переквалифицироваться в бизнес-аналитики или программисты.

Получив достаточное количество опыта, можно дорасти до менеджера проекта и затем развиваться как управленец (senior project manager —> CTO). Также сейчас открыто множество курсов по обучению QA, так что основную работу можно совмещать с преподаванием или консультированием.

«А был случай, когда девушка-QA ушла работать в театр актрисой».


P.S. Спасибо за помощь в написании статьи 46 украинским QA- и Test-инженерам, которые поделились с DOU таинствами своей профессии. Приведенные в статье цитаты взяты из их рассказов.


Статья взята с портала DOU.UA

341
0
Карьера в IT: должности HR-менеджер & рекрутер
программист
hr recruitment
web-design
20-01-2020, 08:07
369
0
DOU.ua
DOU.ua
программист
project management
20-01-2020, 14:10
265
0
DOU.ua
DOU.ua