После университета Андрей сомневался, стоит ли идти в IT, и сперва начал карьеру в другой отрасли. Но со временем интерес к «айтишке» и зарплаты в этой сфере перевесили, что привело к курсам тестировщика и долгим поискам работы. Теперь Андрей занимает позицию QA-инженера в компании BGaming. В рамках спецпроекта BGaming с Onliner айтишник рассказал, почему доходы у 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 на каких-нибудь e-commerce-проектах и буду знать все от «а» до «я». Но если меня позовут в игры, то там мидл или даже «джун» окажутся в чем-то толковее меня. То есть нужно знать продукт.
— Тестирование идет на всех поддерживаемых устройствах и версиях ПО?
— В случае с веб-продуктами ситуация простая: почти все браузеры используют ядро Chrome, то есть у них и баги одинаковые. Реально проблемным был Explorer, но потом Microsoft перенесла Edge на Chromium, и дышать стало легче. А так еще мобильный Safari своеобразный, да и в целом iOS. Там и баги нетривиальные появляются, некоторые старые движки тяжело поддерживать. И Apple часто что-то меняет, переделывает, а потом у нас все ломается.
Наши разработчики говорят, что Safari будет хорошим, когда его напишут на Chromium.
— Компания делает новую игру, тебе дают первую версию. Как обычно проходит тестирование?
— Обычно целую версию не дают — есть отдельные ее компоненты. И эти компоненты я проверяю на взаимодействие. А полная игра будет готова уже перед релизом, когда происходит приемочное тестирование. Здесь она тестируется уже полностью. Мы тестируем не только то, что видит и с чем взаимодействует пользователь, ведь еще есть серверная часть, которую тоже нужно проверить. Но это, как правило, происходит на более ранних стадиях.
— От QA может зависеть выход игры в срок? Допустим, когда в предрелизной версии находишь что-то критическое.
— Да. QA — это финальная точка. Если игра не будет протестирована, ее не выпустят. Тогда уже либо в ночь перед релизом тестировать, либо переносить выход. Но я не помню, чтобы такое происходило.
— Какие ошибки самые распространенные?
— Чаще всего это минорные UI-баги на клиенте: что-то не так отображается, где-то текстура не такая, как на макетах. Функциональные и большие баги — большая редкость.
— Тестирование идет по чек-листу либо просто перебираешь все подряд функции продукта?
— Есть чек-лист, который я сам же и составлял. Но он, пожалуй, больше подходит для молодых специалистов. Я люблю тестировать все подряд, что в голову придет. В принципе, тот же чек-лист я помню наизусть и по нему тоже прохожусь.
— Чем занимаются тестировщики и QA, когда новых продуктов нет?
— В моем случае такого не бывает, но, вообще, занимаются документацией. Каждую игру нужно подробно описать, потому что у каждой свои фичи. И это полезно, когда приходит новый человек: документация помогает ему быстро влиться и узнать особенности продукта.
— Тестировщика лишают премии за баг в релизной версии продукта?
— Я такого не встречал. (Смеется.) Если случилось что-то серьезное и это повлекло за собой убытки для компании, то, конечно, «косяк» неприятный. Не знаю, стоит ли наказывать за такое, но тестировщик должен чувствовать себя очень плохо, раз пропустил такой баг.
— Автоматизированное тестирование вытеснит ручное?
— Нет. Что такое автоматизированное тестирование? Это та рутинная работа, которую человек не может выполнять каждый день: она слишком нудная. Поэтому автоматизатор пишет код, который автоматизирует часть работы. Все равно будет разрабатываться что-то новое, что нужно будет проверять руками.
Наверное, есть сферы, где мануальщики не нужны, — думаю, это серверная часть. Год назад я окончил курсы автоматизаторов на Python, и там как раз были кейсы про серверы и базы данных. Мы думали покрыть наши игры автотестами, но пока что остаемся на ручном режиме. К тому же мануальное тестирование происходит быстрее, хотя в долгосрочной перспективе автоматизация себя окупает.
— Какой карьерный путь у тестировщика?
— Как и везде: джуниор, мидл, сеньор — можно дойти до лида. А дальше можно пойти куда угодно — к примеру, DevOps или бизнес-анализ. Многие идут в менеджеры или в разработчики. Обычно говорят, что часто QA становятся разработчиками, но почему-то среди моих знакомых больше менеджеров. Если нравится общаться с людьми, тогда есть смысл идти в менеджеры, а когда технарь до мозга костей — лучше, наверное, в разработку.
— Почему считается, что в IT проще всего попасть через тестирование?
— Курсы тестировщика занимают меньше времени, чем, например, разработчика. И на ранних стадиях это довольно просто — думаю, справится практически любой. А развиваться дальше будет труднее. Если ты не технического склада ума, то вряд ли получится.
Гуманитариям здесь тяжеловато. Нужно понимать специфику: как что-то делает разработчик. Когда этого понимания нет, придется тратить много времени на кейс, который может оказаться элементарным и проверяться в два клика.
— Курсы короче, потому что это проще?
— По сути, мы все являемся тестировщиками. Зашел на сайт, прошел форму регистрации — вот ты уже заодно и протестировал ее. Тестировщику нужно показывать на курсах: открываете форму, проверяете поля на валидность, заносите все в баг-трекер. А дальше уже зависит от сферы, в которую попадет тестировщик. То есть входной порог очень низкий, но никто не говорит, что дальше будет так же легко.
BGaming — быстрорастущий игровой провайдер с белорусскими корнями, предлагающий качественные продукты для онлайн-казино по всему миру.
Игрок и его выбор — главная ценность компании, поэтому мы постоянно изучаем и анализируем потребности и предпочтения аудитории, чтобы создавать яркие и запоминающиеся продукты. Студия разрабатывает онлайн-игры на стыке gambling и gaming, в которых идеально сбалансированы визуальные эффекты и математика. Это возможно благодаря команде экспертов с безграничной энергией и более чем 20-летним опытом в индустрии.
Читайте также:
Наш канал в Telegram. Присоединяйтесь!
Есть о чем рассказать? Пишите в наш телеграм-бот. Это анонимно и быстро
Перепечатка текста и фотографий Onliner без разрешения редакции запрещена. nak@onliner.by