26 549
23 апреля 2021 в 10:00
Автор: Станислав Иванейко. Фото: Влад Борисевич
Спецпроект

«Гуманитариям здесь тяжеловато». Правда о работе QA-инженера из первых уст

Автор: Станислав Иванейко. Фото: Влад Борисевич

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


Из проектировщика в QA

— Как и почему стал работать QA-инженером?

— Это не сразу после университета произошло. Я много лет работал проектировщиком зданий — приложил руку к большинству магазинов крупных сетей. В 2008 году окончил БГУИР, и тогда входной порог в IT был не очень: зарплаты далеко не такие, как сейчас, об IT мало говорили, не было такого количества специальностей. Поэтому часть нашей университетской группы ушла в IT, а часть, включая меня, нет. Думаю, надо было еще тогда выбирать IT: после 2008 года как-то все, кроме IT, развивалось не очень хорошо.

Уже потом, ближе к 30 годам, понял, что хочу работать в IT. Оно накапливалось: я часто менял работу, меня переманивали из одной компании в другую, бюрократия в проектном деле процветала, не хватало ни нервов, ни терпения. И сказались кризисы 2009, 2011 и 2014 годов.

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

На нетехнические направления, такие как проектный менеджмент или бизнес-анализ, тоже не очень просто попасть «джуном». Полгода назад я окончил курс PM+BA, и, судя по чату нашей группы, люди по-прежнему ищут работу. Про чью-то победу в плане трудоустройства не слышно.

— Сколько времени искал работу?

— Долго, но там была интересная ситуация. Я окончил курс лучше всех, и меня пригласили на собеседование в ту же компанию, которая проводила курс. Но есть чувство, что звали скорее ради галочки. Потом пошел на собеседование в похожую компанию, там меня согласились взять. Затем сказали, что их покупают, будет реструктуризация и нужно подождать. Я прождал месяца три, мне надоело — и уже тогда нашел другую работу. То есть я был всего на трех собеседованиях, но суммарно потратил на поиски полгода.

Причем там работал разработчик — человек лет 40, без опыта. И его всячески восхваляли. Думаю, «джунам» и людям в возрасте проще попасть в IT через разработчика.

— Зарплаты у разработчиков выше, чем у QA?

— Если в целом смотреть на одну «весовую категорию» — мидлы в обоих случаях, например, — то да, у разработчиков зарплаты выше. Даже значительно выше. Видимо, потому что работа QA требует знаний «вширь», а разработчика — большей подготовки, большего объема «глубинных» знаний.

Тестировщик и QA — в чем разница

— Опиши суть работы QA.

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

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

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

— Можно сказать, что тестировщик в карьерной лестнице стоит ниже QA?

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

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

— Почему разработчики сами не видят, что какое-то решение так себе?

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

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

— Если сталкивается в первый раз, наверное, вряд ли. Например, я могу быть крутым QA на каких-нибудь e-commerce-проектах и буду знать все от «а» до «я». Но если меня позовут в игры, то там мидл или даже «джун» окажутся в чем-то толковее меня. То есть нужно знать продукт.

— Тестирование идет на всех поддерживаемых устройствах и версиях ПО?

— В случае с веб-продуктами ситуация простая: почти все браузеры используют ядро Chrome, то есть у них и баги одинаковые. Реально проблемным был Explorer, но потом Microsoft перенесла Edge на Chromium, и дышать стало легче. А так еще мобильный Safari своеобразный, да и в целом iOS. Там и баги нетривиальные появляются, некоторые старые движки тяжело поддерживать. И Apple часто что-то меняет, переделывает, а потом у нас все ломается.

Наши разработчики говорят, что Safari будет хорошим, когда его напишут на Chromium.

QA — это финальная точка в разработке

— Компания делает новую игру, тебе дают первую версию. Как обычно проходит тестирование?

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

— От QA может зависеть выход игры в срок? Допустим, когда в предрелизной версии находишь что-то критическое.

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

— Какие ошибки самые распространенные?

— Чаще всего это минорные UI-баги на клиенте: что-то не так отображается, где-то текстура не такая, как на макетах. Функциональные и большие баги — большая редкость.

— Тестирование идет по чек-листу либо просто перебираешь все подряд функции продукта?

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

— Чем занимаются тестировщики и QA, когда новых продуктов нет?

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

— Тестировщика лишают премии за баг в релизной версии продукта?

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

— Автоматизированное тестирование вытеснит ручное?

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

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

Кем может стать QA

— Какой карьерный путь у тестировщика?

— Как и везде: джуниор, мидл, сеньор — можно дойти до лида. А дальше можно пойти куда угодно — к примеру, DevOps или бизнес-анализ. Многие идут в менеджеры или в разработчики. Обычно говорят, что часто QA становятся разработчиками, но почему-то среди моих знакомых больше менеджеров. Если нравится общаться с людьми, тогда есть смысл идти в менеджеры, а когда технарь до мозга костей — лучше, наверное, в разработку.

— Почему считается, что в IT проще всего попасть через тестирование?

— Курсы тестировщика занимают меньше времени, чем, например, разработчика. И на ранних стадиях это довольно просто — думаю, справится практически любой. А развиваться дальше будет труднее. Если ты не технического склада ума, то вряд ли получится.

Гуманитариям здесь тяжеловато. Нужно понимать специфику: как что-то делает разработчик. Когда этого понимания нет, придется тратить много времени на кейс, который может оказаться элементарным и проверяться в два клика.

— Курсы короче, потому что это проще?

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


BGaming — быстрорастущий игровой провайдер с белорусскими корнями, предлагающий качественные продукты для онлайн-казино по всему миру.

Игрок и его выбор — главная ценность компании, поэтому мы постоянно изучаем и анализируем потребности и предпочтения аудитории, чтобы создавать яркие и запоминающиеся продукты. Студия разрабатывает онлайн-игры на стыке gambling и gaming, в которых идеально сбалансированы визуальные эффекты и математика. Это возможно благодаря команде экспертов с безграничной энергией и более чем 20-летним опытом в индустрии.

Спецпроект подготовлен при поддержке ООО «Меркелеон девелопмент», УНП 193084780.

Читайте также:

Наш канал в Telegram. Присоединяйтесь!

Есть о чем рассказать? Пишите в наш телеграм-бот. Это анонимно и быстро

Перепечатка текста и фотографий Onliner без разрешения редакции запрещена. nak@onliner.by