Преподаватель курса по тестированию ПО Александр Таранков начинал в этой профессии в те времена, когда о ней в нашей стране ещё мало что знали. Не было обучающих курсов, литературы, всего того, что сейчас доступно почти каждому. Пройти мимо специалиста с таким опытом решительно невозможно. Мы спросили у Александра каково это — быть первооткрывателем.
Расскажите немного о себе. Как пришли в эту сферу, с чего и когда всё начиналось.
Высшее образование я получал в СибГУТИ по специальности инженер мобильной связи, но так уж вышло, что по этой специальности я никогда не работал. Зато мне в жизни пригодилась моя первая профессия "техник-программист", полученная в авиационном колледже (НАТК). Сразу после окончания универа, летом 2001 года, друг предложил мне пройти собеседование на вакансию тестировщика ПО в компании, в которой он сам работал. Что это за работа я тогда не имел никакого представления, но друг сказал, что по ходу разберусь. Навыки по первой специальности за 5 лет института уже потеряли свою актуальность, так что на работу программистом их не хватало. И "войти в IT" у меня получилось через тестирование. Это к вопросу о пороге входа — кто бы что ни говорил, а в тестировании он всё же ниже.
Вы работали в сфере тестирования ПО ещё в 2001 году. Насколько тогда была востребована и перспективна эта профессия?
Востребованной профессия тестировщика в 2001 году не была. О ней тогда вообще мало что было известно, по крайней мере в Новосибирске. Опыт западных компаний-разработчиков сулил хорошие перспективы роста популярности профессии, что подтверждается практикой — сейчас профессия тестировщика ПО очень популярна и востребована во всём мире.
Если сравнить 2001 год и 2018 год: когда было сложнее начинать обучение тестированию, когда было сложнее стартовать по этой специальности. Можно ли сейчас обучится тестированию ПО, используя только бесплатные источники в интернете?
В то время не было никаких курсов по тестированию. Литературы в свободном доступе тоже было не очень много. В основном учились на практике и своих ошибках. Так что с точки зрения доступности обучения сейчас всё сильно лучше. Но зато сейчас и требования к тестировщикам заметно выше, поэтому просто прочитать книжку обычно недостаточно — нужно видеть и понимать больше и желательно иметь практический опыт.
Обучиться тестированию, используя бесплатные источники в интернете, я считаю, можно — это только вопрос мотивации и наличия времени. Но платные курсы дают материал более концентрированно и структурировано. Плюс практика, так что лучшего результата можно добиться за более короткий срок.
Расскажите о каком-нибудь интересном проекте, над которым вы работали. Может быть какая-то нестандартная задача, которую пришлось решать.
Я работал над несколькими проектами. Самая популярная хостинговая панель Plesk, система биллинга для энергосбыта, онлайн банк БКС, система учёта и администрирования жилого фонда для проведения капремонта. Делал нагрузочное тестирование для информационных систем Минфина и Федерального Казначейства, помогал разработчикам по созданию качественной панели для доменного регистратора Openprovider. Теперь работаю над обеспечением качества системы лицензирования Plesk. Самое интересное — это то, что, становясь опытнее, начинаешь понимать, как одни и те же задачи можно решать более эффективно, методами, которые для меня прежнего могли показаться нестандартными. Вообще, в разработке ПО каждая новая задача отличается от предыдущей, даже если она очень на неё похожа.
Автоматическое тестирование и ручное. Насколько важно тестировщику овладеть таким инструментом как автоматизация?
Можно ли быть отличным специалистом по тестированию, совсем не умея программировать? Можно. Автоматизация для тестировщика далеко не самое главное. Но это не значит, что ей не стоит учиться. Хотя бы для того, чтобы лучше понимать, что происходит в голове разработчика, как он решает задачу. Или для того, чтобы сделать более эффективной свою работу, написав небольшой скриптик, который сэкономит впоследствии часы ручного труда. В общем, программирование для тестировщика — это ещё один навык, который помогает ему быть более эффективным и полезным в команде.
Какой язык программирования стоит изучать тестировщику? Какой из них удобен для решения задач по автоматизации тестирования?
Если начинать, то, пожалуй, лучше с Python — он проще в освоении и при этом имеет развитую экосистему для автотестов. Экосистема — это наличие готовых библиотек и инструментов, которые можно использовать для автоматизации тестирования.
Java — лидер по развитию экосистемы и комьюнити, так что, если она не пугает и есть рядом разработчики, которые в случае чего помогут, то лучше изучать её.
Javascript — тоже имеет развитую экосистему, но заметно скромнее той же Java. Плюс как язык он довольно специфичен, но сейчас очень популярен, почти как Java и Python.
Посоветуйте какие-то ресурсы, блоги, сайты — где черпать информацию начинающему тестировщику? За чем следить?
software-testing — портал о тестировании, где есть ссылки на блоги, форумы, статьи (в том числе переводные с иностранных блогов). Начать можно с него, а дальше уже найти для себя интересных авторов и читать напрямую.
Давайте поговорим о современных требованиях работодателей к начинающим на позиции тестировщика. Что должен уметь, знать начинающий тестировщик, какими навыками обладать?
Тестировщиков без опыта сейчас мало кто готов брать, это факт. Обычно нужны рабочие руки (и голова), а это значит, что обучать азам никто не готов: небольшое введение в предметную область и вперёд — гонять регрессию, верифицировать баги и т.д. и т.п. Так что базовые навыки и знания профессии уже должны быть в наличии. Технические основы работы с программными продуктами, ОС и виртуализации. Понимание специфики производства, терминологии, процессов, особенностей взаимодействия с коллегами. Наличие софт-скиллз, необходимых тестировщику, как то: любопытство, целеустремлённость, ответственность за результат, коммуникабельность и т.д.
Немного о вашем курсе. На что он направлен, что будет уметь выпускник после его окончания, как много в нем будет практических занятий?
Курс направлен на то, чтобы максимально погрузить человека в профессию и рабочий процесс, показать, рассказать и дать почувствовать на себе, что такое работа тестировщика ПО.
За время работы вы сталкивались со многими тестировщиками, руководили отделами тестирования, могли наблюдать за развитием карьеры таких специалистов. Какие основные перспективы в этой отрасли, в какие направления переходят тестировщики, как они растут в своей профессии?
Основные перспективы — это вертикальный рост как специалиста. Можно расти до уровня гуру, светила в своей области, всемирно известной личности. Можно просто совершенствовать свои навыки как специалиста, повышая квалификацию на практике, на тренингах, получая сертификаты. Можно двигаться по карьерной лестнице и расти в менеджмент. Можно двигаться горизонтально — в смежных профессиях: перейти в разработчики, аналитики, ПМ и расти вертикально там. На самом деле, особых преград для роста нет, всё зависит от человека и его интересов, стремлений, амбиций.
Часто ли тестировщики работают удалённо? Был ли у вас такой опыт? Может быть, какие-то сотрудники вашей команды по тестированию работали в удалённом режиме?
Тестировщик прежде всего — командный игрок. Для эффективной работы он должен быть в курсе всего, что происходит на проекте, в команде, в задачах. Такого погружения в процесс крайне сложно добиться в распределённой команде, поэтому обычно команда работает совместно в офисе. Однако, при правильной организации процесса работы распределённой команды тестировщик вполне может работать удалённо. По своему опыту могу сказать, что лично мне работать непосредственно с коллегами в офисе гораздо интереснее.
Ваше кредо как преподавателя.
Невозможно научить того, кто не хочет учиться. А учиться в IT нужно обязательно и постоянно.
Если вы хотите овладеть новой специальностью и найти хорошо оплачиваемую, интересную работу в области IT-разработки, то курсы тестировщиков в IT-Академии Алексея Сухорукова станут прекрасным выбором