
Преподаватель нашего онлайн-курса по тестированию ПО Михаил Азаров — образцовый пример для начинающих. В IT он пришел после высшего гуманитарного образования, за три года прошел путь от младшего тестировщика до руководителя QA группы в финтех-компании.Сегодня он обучает своих подчиненных автоматизации и программированию. Мы спросили у него, каким способом он осваивал новую сферу, с какими сложностями сталкивался на разных этапах карьеры, и какие вопросы должен задать сам себе начинающий, чтобы определить, стоит ли ему идти в эту профессию.
Тестирование ПО считается одним из самых доступных способов построить карьеру в IT. В том числе и для гуманитариев. В этой связи очень интересен ваш опыт — ведь вы получили психологическое образование. С чего все начиналось, как вы решили попробовать себя в новой сфере?
Сфера IT для меня была не совсем новая — на тот момент я уже довольно долго работал в смежных направлениях — продвижение сайтов, интернет-маркетинг. В тестирование пошел, заинтересовавшись программированием. Услышал истории людей, которые через тестирование пришли в автоматизацию, а потом в разработку. В итоге тестирование оказалось настолько интересным и разноплановым, что решил остаться в нем.
Как вы сами получали первоначальное образование в сфере тестирования?
Первоначальное образование получил через интернет, книги, общение с разработчиками, и, конечно, через собственные ошибки, которые возникали при попытке что-то запустить и протестировать самостоятельно. Затем была подготовка к сертификации ISTQB, которая помогла систематизировать знания. Дальше уже было более осознанное прохождение курсов, посещение профильных конференций и т.д.
Минусы такого подхода — информации в интернете невероятно много, непонятно, с чего начинать. Также информация очень быстро устаревает — ты долго изучаешь какую-то технологию, а потом понимаешь, что ее время давно прошло и есть более современные варианты. Потраченные таким образом время и силы можно было использовать более эффективно, если бы обучение изначально имело план, структуру и цели.
В компании СМСФИНАНС вы прошли путь от младшего тестировщика до руководителя группы QA. Расскажите чуть подробней — на каких этапах было сложнее всего, какие задачи вызвали наибольшие трудности?
Первый этап для тестировщика — это необходимость получить совокупность технических знаний, чтобы понимать, как работает система в целом. Поэтому сначала наибольшие трудности вызывали технические моменты — написать сложный запрос в базу, разобраться с линуксовыми командами, написать запросы для тестирование API. Приходилось долго и безуспешно пробовать, обращаться к коллегам.
Потом начались задачи другого вида — создание стратегии тестирования и принятие решения о релизе продукта или отправки его на доработку. Иногда приходят проекты, которые бизнес-заказчики хотят видеть в продакшене еще вчера, и нужно решить, как протестировать проект, минимизировав возможные риски и уложившись в заданный срок. Это требует отличного знания как технических аспектов, так и продукта в целом.
Автоматизация тестирования. Насколько часто приходиться ее использовать, является ли она обязательным навыком для тестировщика, можно ли представить эту сферу в будущем (пусть и очень далеком) полностью автоматизированной?
В последнее время я практически не тестирую руками, а занимаюсь написанием вспомогательных инструментов для тестирования для нашего отдела. Разговоры про то, что автоматизация полностью вытеснит ручное тестирование, идут примерно столько же, сколько тестирование существует. Это отчасти верно, автотестирование активно развивается, и в большинстве крупных компаний оно в каком-то виде есть. Но на данный момент ручное тестирование также востребовано на рынке, и в ближайшие пять лет я не думаю, что ситуация кардинально изменится. Я считаю, что человеку, строящему карьеру в тестировании, стоит в перспективе двигаться в сторону автоматизации. Но начинать можно и нужно с ручного тестирования, это даст хорошую базу.
Как начинающему понять, подходит ли ему в принципе сфера тестирования? Какие вопросы себе задать, как быстрее всего это определить?
Тестирование может быть очень разным, и нужно найти то направление, которое лучше всего подойдет конкретному человеку. Тестирование игр и тестирование банковского ПО сильно различаются и требуют разных личностных качеств. Если говорить про вопросы, я бы выбрал два основных.
Первый: интересны ли вам информационные технологии? Доставляет ли вам удовольствие скачать какую-нибудь программу и в свободное время поковыряться в ней? В тестировании очень много инструментов и технологий, их придется изучать, и желательно, чтобы это приносило удовольствие.
Второй вопрос: нравится ли вам погружаться в какой-нибудь продукт настолько, что вам хочется в нем что-то улучшить? Написать разработчику, написать предложение на форум, предложить какое-то улучшение или рассказать о найденной ошибке.
Можно ли выделить какие-то основные тренды в этой сфере на ближайшее будущее? Что в ней будет меняться? На что обратить внимание?
Если посмотреть вакансии, то виден следующий тренд — все чаще в тестировании требуются универсальные специалисты. Желательно знание методик тестирования, немного программирования на Java/Python/JS, немного системного администрирования, автотестирования, DevOPS, нагрузочного тестирования и тестирования безопасности. Поэтому необходимо постоянно учиться и развиваться специалисту любого уровня.
Еще один тренд — появляются позиции в тестировании блокчейна, виртуальной реальности, интернета вещей, беспилотных автомобилей. Для этих направлений подходы к тестированию создаются прямо сейчас, готовых решений нет. На подходе внедрение подходов к тестированию, связанных с машинным обучением. Это может кардинально изменить профессию.
Вопрос человеку с высшим психологическим образованием. Что сложнее всего в этой профессии с точки зрения психологии?
Тестировщик ломает то, что кропотливо напрограммировали программисты. А потом сообщает бизнесу о том, что релиз откладывается на неделю. Затем идет к системному архитектору и говорит, что нужно выделить разработчика писать эмулятор, потому что без него тестирование невозможно. Очень важно все эти моменты подавать в конструктивном ключе — не как личную придирку, а как желание улучшить продукт, выполнить цели, стоящие перед всей командой. Иногда для этого требуется находить подход к людям, правильно формулировать свои мысли, предотвращать возникающие конфликты.
Расскажите немного о своем курсе. Каким моментам вы будете уделять большее внимание?
Мне приходилось как собеседовать людей на позицию Junior QA специалиста, так и обучать тех, кого на эту позицию взяли. Часто у людей нет понимания, что делает тестировщик, как вообще устроена разработка программного обеспечения, какое место в этом процессе занимает тестировщик, что нужно знать, чтобы быть востребованным специалистом. Грубо говоря, они не понимают, за что компании готовы платить деньги, чем тестировщик полезен компании.
После изучения этих базовых вещей пойдут блоки про конкретные техники, инструменты и технологии. Когда есть понимание “для чего”, гораздо проще изучить “как”. С одной стороны, моя цель — подготовить обучающихся к работе в тестировании. С другой, наметить векторы для дальнейшего развития и построения карьеры в этой области.
IT-Академия Алексея Сухорукова проводит курсы по тестированию ПО в очном и онлайн форматах.