Статьи

Войти в ИТ: профессия тестировщик

Профессию тестировщика часто называют первым шагом в мир ИТ. Если посмотреть на рекламные объявления учебных центров и курсов, то действительно кажется, что ее несложно освоить человеку из любой сферы. Так ли это на самом деле, РАБОТА.TUT.BY разбиралась вместе с компанией Wowmaking – разработчиком мобильных игр и приложений.

Легко ли освоить тестирование и каким мифам о профессии не стоит верить, рассказал QA Engineer в Wowmaking Андрей Нелипович.

Войти в ИТ: профессия тестировщик

Для начала опиши, чем занимается тестировщик и есть ли разница между тестированием и QA?

QA расшифровывается как quality assurance – обеспечение качества. Понятие QA включается в себя все действия, направленные на получение качественного продукта. Они предпринимаются на каждом этапе процесса разработки. Тестирование – это лишь часть процесса обеспечения качества.

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

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

Объясни, чем отличается ручное тестирование от автоматизированного?

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

При автоматизированном тестировании он пишет код, который проверяет функционал, написанный разработчиком. Другими словами, это программирование, но не с целью добавления новых функций, а с целью проверки имеющихся. Можно сказать, что тестировщик-автоматизатор – это тот же разработчик, и к нему предъявляются практически те же требования.

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

Что нужно знать тестировщику и какими компетенциями обладать?

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

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

Также пригодится разобраться в области, к которой относится проект. То есть для специалиста, занимающегося тестированием игр, будет полезно понимать тенденции в этой сфере и обращать внимание на конкурентов, а для специалиста, тестирующего навигационного ПО, – разбираться в способах определения местоположения пользователя и построения маршрутов.

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

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

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

Есть мнение, что профессия тестировщика стартовый трамплин для входа в ИТ. Насколько ты с этим согласен и какие есть возможности для профессионального развития в профессии?

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

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

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

Для профессионального роста у тестировщиков, на мой взгляд, есть хорошие перспективы. Можно расти как специалист, приобретая новые навыки в тестировании, или как менеджер, а можно и все сразу. С опытом при желании тестировщик может перейти в смежные направления: бизнес-аналитика, продуктовый менеджмент, разработка (при переходе из автоматизации).

Каким был твой путь в тестирование?

Я учился на инженера по теплогазоснабжению и вентиляции, но по различным причинам перевелся на заочку и начал работать в интернет-магазине. Спустя какое-то время решил что нужно двигаться дальше и раздумывал, где себя искать. Решающую роль сыграл брат, который посоветовал попробовать себя в тестировании.

Мне повезло с тем, что среди моих знакомых оказался опытный тестировщик, который рассказал многие нюансы работы и помог определиться с способом обучения. Я прошел базовый курс по тестированию ПО, после чего еще некоторое время учился сам и в итоге устроился в компанию, которая делает свое приложение для навигации. Набравшись там опыта, я перешел в Wowmaking.

Какие ресурсы можешь рекомендовать новичкам, чтобы освоить азы тестирования?

Новичков в первую очередь хочу предостеречь от чтения книги Романа Савина “Тестирование Дот Ком”, которую часто советуют как входной билет в мир тестирования. Ее имеет смысл читать, только когда уже есть хотя бы минимальный опыт работы тестировщиком, иначе будет невозможно понять, как описанное выглядит в работе.

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

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

Лично от себя могу порекомендовать курсы Натальи Савастюк.

Что посоветуешь людям, которые хотят войти в ИТ?

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

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

Решились попробовать свои силы в тестировании? Сделать это можно здесь: уйма вакансий для разного уровня.

Вакансии дня