Новый интенсив по созданию автотестов на React

Для junior- и middle-разработчиков на JavaScript
3 минуты5154

В экосистеме GeekBrains постоянно идёт обмен мнениями между организаторами, преподавателями, студентами и гостями сайта. Мы ищем возможности улучшить подготовку кадров, давать что-то новое в максимально удобном формате. Возьмём, например, JavaScript-код. Его, как и любой другой, необходимо тестировать, но часто junior-разработчики в силу загруженности упускают из виду эту часть профессии. Им сложно выделить пару месяцев и иногда даже неделю-другую для освоения тестирования. 

Мы нашли решение и упаковали весь пласт знаний по тестированию JavaScript в двухдневный интенсив — «Тестирование приложений на React». Более подробно о формате обучения, содержании и целях курса в этом посте расскажет его создатель — Александр Сокол, разработчик React Native в Andersen.

— Александр, привет! Первый вопрос: на кого рассчитан курс?

Это JavaScript-разработчики уровня junior, может быть, даже middle, те, у кого совсем поверхностное представление о механизмах тестирования кода.

— На основе чего ты создавал интенсив?

Только собственный опыт. Не было такого, что я взял курс, ужал его до формата двух дней и выдал за своё ноу-хау. У меня есть некоторый опыт наставничества, конечно же, сам когда-то вникал в тему, этим я и руководствовался при разработке программы.

— Расскажи немного про формат.

Это двухдневное обучение. Каждый день состоит из трёх часов теории и трёх часов практики. Разделение, разумеется, условное ㅡ формат стандартный: сначала вводная часть первого модуля, потом проецируем её на реальные кейсы, затем переходим к следующему модулю и так далее.

У нас нет задачи за это время научить людей пользоваться навыком в совершенстве, но объяснить, для чего какие тесты и как применяются ㅡ времени достаточно.

— Как ты считаешь, умение тестировать код — необходимый навык junior-разработчика?

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

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

— Приведи пару классических кейсов, когда тестирование необходимо разработчику?

Самый банальный пример ㅡ разработка кода. Даже базовые навыки в тестировании позволяют быстро определить слабые места, выловить баги и недочёты. В маленькой команде ㅡ это важно, в большой ㅡ архиважно.

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

— Какие ещё выгоды несёт навык тестирования кода разработчику? Увеличивает качество и производительность работы, стоимость на рынке?

То, что это повышает качество разрабатываемого кода ㅡ безусловно. Относительно производительности ㅡ вопрос навыков. Поначалу тесты будут отнимать много дополнительного времени. Но постепенно, с увеличением качества кода и наработкой навыков, ситуация будет улучшаться. И да, в конечном счёте это повлечёт повышение производительности. К примеру, сейчас тестирование кода занимает 30% моего рабочего времени, и это не так много, учитывая пользу.

Что касается стоимости на рынке ㅡ мне судить сложно. Я не HR-менеджер, и не знаю даже примерно, сколько тысяч рублей стоит тот или иной навык. Но что умеющему тестировать код разработчику будет проще искать работу ㅡ факт.

— Интенсив длится всего несколько дней. Могут ли студенты после его прохождения обращаться с вопросами?

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

— Какие у тебя ожидания от интенсива?

Главное ㅡ чтобы все получили знания, за которыми пришли, и впоследствии могли применять их в деле, попутно улучшая качество кода.  

программированиеreact-testing
Нашли ошибку в тексте? Напишите нам.
Спасибо,
что читаете наш блог!