Возможности JavaScript Automation для твоего развития
Автоматизация на JavaScript сегодня – в топе скилов в тестировнии. Почему JS – отличный старт для входа в автоматизацию и как сделать шаг к развитию в этом направлении, рассказывают матерые автоматизаторы на JS и тестировщики, которые только начали свой путь к новым навыкам.

Почему именно JavaScript?
Дмитрий Шаплыко, Software Testing Team Leader и разработчик программы обучения JS для тестировщиков в EPAM: «JavaScript с точки зрения обучения очень приятный за счет своих особенностей и инфраструктуры. Легко настраиваемое окружение, удобные библиотеки (сейчас в пакетном менеджере npm больше двух миллионов пакетов), очень живое сообщество только поддерживают желание развиваться».
Александр Галиченко, Lead Software Test Automation Engineer и разработчик программы обучения JS для тестировщиков в EPAM: «JS прощает новичкам очень многое. Кривая обучения языку намного проще, чем другим, так как сам по себе он более понятный. Соответственно, через него проще войти в автоматизацию и программирование, начать делать собственные решения и параллельно погружаться в особенности и процессы языка».
Перспективы для профессионального роста
· Входит в Топ-10 языков программирования в 2020 году по версии GitHub.
· Возможные направления развития в рамках тестирования со скилом JS Automation: Test Automation Engineer, Software Engineer in Test, Software Quality Engineer (MIX QA). База языка также поможет в изучении новых, переходе в разработку или другие направления IT.
Дмитрий: «На практике любой путь роста специалиста по тестированию так или иначе включает автоматизацию и изучение языка программирования. Это помогает вырасти, расширить навыки и обязанности, повышает значимость специалиста. Чем больше ты умеешь, тем более востребованным будешь в длительной перспективе, тем больший спектр проектов и позиций открывается для тебя».
Василиса Шохова, EPAM Software Testing Engineer: «JS сравнительно молодой и поэтому постоянно развивающийся язык. Он перспективен и дает много возможностей применения. В то же время, сейчас в сфере автоматизации на JS конкуренция меньше, чем на других языках, а потребность в специалистах только растет».
Светлана Пашко, EPAM Software Testing Engineer: «Я начинала как мануальный тестировщик, а после обучения JS работаю как Software Quality Engineer (MIX QA) и могу сказать, что когда ты видишь две стороны монеты, смотришь и с точки зрения автоматизации, и со стороны функционального тестирования, мозг начинает находить более креативные решения и видеть новые грани. Благодаря этому тестирование однозначно становится качественнее.
Развитие в SQE – это еще и крутая возможность разнообразить свой рабочий день, в который время от времени поступают однообразные задачи. В том числе и поэтому я развиваюсь в автоматизации. И сейчас, когда я целый день погружена в работу с фреймворком, что-то естественно не получается, задачка застопорилась, и уже даже Google не справляется. И вдруг захожу на борду, вижу мануальный баг... и лечу к нему на всех порах! Такое переключение в обе стороны не только спасает от рутины, но и открывает новые грани обязанностей мануального тестировщика».
Технические возможности
· Динамическая типизация – нет строгого контроля типов, что ускоряет работу.
· Мультипарадигменность (FP, OOP и другие).
· JIT-компиляция (нет необходимости компилировать какие-либо двоичные файлы, ускоряющие выполнение).
· Разнообразие инструментов и решений.
Александр: «Если брать теоретический аспект, то решение для тестирования должно всегда быть проще, чем то решение или приложение, которое попадает на тестирование. И для многих языков это не работает. Например, Java обладает строгой статической типизацией, то есть приходится писать очень много кода, чтобы реализовать простую идею. JavaScript же, как по мне, для таких целей подходит намного лучше, потому что за счет своих фич дает нам разные возможности для создания того, что нужно».
Взаимопонимание в команде
· Один язык для разработки frontend и автоматизации тестирования
Светлана: «JavaScript это язык frontend разработки. И все, что ты делаешь в коде, можно сразу же увидеть на UI. Иногда это напоминает мне магию 😊 Знания языка расширяют кругозор, и ты начинаешь иначе смотреть на проект, больше понимать, о чем говорят разработчики на дэйлика. Зная с одной стороны код, а с другой требования, ты глубже продумываешь проверки и подлавливаешь то, о чем раньше, возможно, и не задумался бы».
Вызовы и мифы автоматизации на JS
Александр: «По опыту, многие в тестировании очень сильно бояться самого слова «программирование». Но в реальности все намного проще. Плюс сейчас очень популярны решения codeless автоматизации, когда все внутренности фреймворков решений уже написаны и все сводится к написанию тест-кейса. Можно начинать путь в автоматизацию как раз через это.
Меня в начале работы с автоматизацией пугали объемы задач: были сотни тест-кейсов, которые нужно автоматизировать. Изначально это занимало много времени, но я довольно быстро набил руку. Конечно, первые мои решения были не сильно эффективны, как говорится, писал код с «запашком»😊 Но в процессе ты много раз решаешь похожие задачи, переписываешь ошибочные места и это позволяет адаптироваться».
Светлана: «Сейчас для меня основной вызов – научиться понимать код других людей. Я часто слышала, что 80% времени программиста уходит на чтение чужого кода, сейчас я столкнулась с этим сама. В этом деле главное не бояться задавать вопросы коллегам, если видишь, что работа не идет. И не бояться писать код самостоятельно, даже пускай он и потребует доработки после ревью»
Убедили, иду в автоматизацию на JS. С чего начать?
· В первую очередь изучи возможности рескилл- и менторинг-программ в своей компании и принимай в них участие.
· Если обучаешься самостоятельно, то сайт Learn JavaScript и обучающие видео на YouTube – твои лучшие друзья. Можешь начать с докладов о JS автоматизации на One Day ProQuality и ProQuality Conference 2020.
· Следи за трендами и новинками.
· История успеха для дополнительного вдохновения и мотивации.
Светлана: «Если ты готов(а) идти на менторинг, главный совет: не бойся гуглить и учиться этому! Ведь от того, как ты задаешь свой вопрос, зависит скорость поиска решения».
Василиса: «Самое главное – иметь возможность практиковаться. После прохождения обучения кажется, что помнишь все, но знания сложно поддерживать в актуальном состоянии без применения. Если вы сомневаетесь, но хотите попробовать – ничего не пройдет даром. Вы как минимум преодолеете новый вызов и получите бесценный опыт, который обязательно пригодится, даже если автоматизация не станет для вас главной рабочей задачей».