Прокачайся в код-ревью: для первых 50 участников — курс бесплатный

время чтения: 4 мин

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

Как и зачем работать в AQA? Какие есть плюсы и минусы в профессии? Как в ней развиваться? На основе личного опыта рассказывает Михаил Брель, Software Test Automation Engineer в EPAM.

Михаил Брель, Software Test Automation Engineer

Учеба и подработки

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

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

По образованию я инженер-экономист, закончил БНТУ по специализации «Экономика и организация производства на автомобильном транспорте». Не могу назвать этот выбор осознанным: в 16 лет сложно определиться с будущей профессией на годы вперед, да и тяги к чему-то конкретному не было. Я поступал, исходя из вполне прагматичных представлений: выбрать востребованную профессию, где можно нормально зарабатывать, ну а если это еще и с интересами будет соотноситься — вообще отлично.

Со школы и до окончания университета у меня были разные работы. Я работал грузчиком, на стройке, сборщиком на заводе по производству оборудования для связи и кальянщиком. После университета я устроился экономистом по материально-техническому обеспечению на заводе в Минске, по факту я занимался закупками материалов для обеспечения производства. На завод я шел с мыслью «Сейчас заработаю денег на платные курсы и пойду пробовать себя в программировании», потому что до этого уже предпринимал попытки по изучению программирования и даже прошел бесплатный курс на JavaRush. Но с заводской зарплатой это было не очень просто, и энтузиазм постепенно угасал.

Переломный момент

— Через год работы на заводе я решил подумать о будущем, поискал вакансии, сходил на парочку собеседований: осознал, что перспективы работать в снабжении и логистике меня не радуют, и начал поиски альтернатив. В итоге решил вернуться к идее с программированием. Выяснил, что есть бесплатные курсы от EPAM на Java разработчика, подался на них, но не прошел отбор: мне не хватило знаний. Я решил основательно подготовиться и через 3-4 месяца подался снова. В этот раз знаний уже было достаточно, и я прошел.

Ближе к концу обучения решил попробовать себя в автоматизации тестирования: в ней уже работал мой друг, я периодически слушал от него рассказы о работе, меня это заинтересовало. В тот момент как раз открывались первые онлайн-курсы от EPAM по автоматизации тестирования, и я зарегистрировался на эту программу. Нужно было пройти все ее уровни, тогда тебя брали в лабораторию EPAM. Я это сделал и был тем человеком, который попал в первый набор лаборатории из онлайн-курсов. В лабе в течение 5 месяцев я получал практику, приближенную к реальной работе на продакшн-проекте. После этого сдал экзамен на Junior специалиста, и мне сделали оффер при условии, что я переучусь на JavaScript. Соответственно, JavaScript я учил, уже будучи трудоустроенным в компании.

Сегодняшнее положение дел

— На данный момент я Key Tester в своей команде. На моем проекте мы разделены на команды, в каждой из которых 5-6 разработчиков, бизнес-аналитик, скрам-мастер и один тестировщик, который выполняет функцию как мануального тестировщика, так и автоматизатора.

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

QA в 2024: плюсы и минусы

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

В большинстве случаев все зависит от конкретного проекта. Когда на проекте легаси технологии, что-то постоянно не работает и сроки горят, то это напряжно. Но напряжно всем, не только автоматизаторам.

О вдохновении

— В каждом проекте находится что-то интересное. Здесь сделаю оговорку на всякий случай, что не надо питать иллюзии, что на проектах одни только интересные вещи: часто работа включает в себя большое количество рутины. Мне нравится, что я сталкиваюсь с различными продуктами, с которыми при других условиях не встретился бы. Например, у меня был проект с огромным количеством данных, таблиц, диаграмм, которые помогают принимать решения для повышения эффективности или инвестиций в различных отраслях. Был проект, который позволял купить автомобиль, взять кредит — со всеми сопутствующими юридическими документами, как любой другой товар в интернет-магазине. Интересно смотреть, как это все устроено изнутри.

Интересно пробовать разные технологии, зачастую они представляют из себя умные и продуманные решения для различных задач. Из последнего — была интересная задача о том, каким образом распределять тесты на различных уровнях: от unit до end-to-end. Приходится много думать и общаться с разработчиками, но в результате можно создать гораздо более эффективную систему в плане тестирования.

Навыки для тестировщиков

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

Для ознакомления с автоматизацией на JavaScript я бы посоветовал Typescript, Webdriver IO (UI testing), Axios (API testing), Allure (reporting), Mocha + Chai, Eslint, Git, хорошо бы уметь писать тесты, используя Cucumber, Jenkins.

О совершенствовании

— Знания я поддерживаю преимущественно благодаря обучению в рамках работы на проекте и собеседований, когда перехожу на другой проект. Базовые знания по языку и тестированию можно получить на YouTube. Можно находить платные курсы на обучающих платформах, там могут быть очень полезные вещи для начинающих специалистов. Что-то более сложное надо гуглить, читать документацию, смотреть конференции либо искать курсы — зависит от конкретного запроса. Если знать, что спрашивать и иметь экспертизу, то можно хорошо развиваться за счет использования AI инструментов.

Советы

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

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