Колонки

Карьера в QA: как попасть в IT через тестирование

Колонки
Антон Якутович
Антон Якутович

Software Developer in Test (SDET) с 8-летним стажем

Ахмед Садулаев

QA (Quality Assurance) включает в себя тестирование качества на всех этапах жизненного цикла программного обеспечения от разработки до выпуска и эксплуатации. Антон Якутович занимается тестированием веб-сервисов более восьми лет, и он расскажет, как попасть в IT через тестирование и с какими сложностями могут столкнуться новички.

Карьера в QA: как попасть в IT через тестирование

Как понять, подходит ли мне тестирование как профессия?

Когда у меня спрашивают, с чего начать, я рекомендую сперва проверить мотивацию. Мотивация лучше всего проявляется в процессе обучения. Есть несколько вариантов:

Курсы от компаний с трудоустройством

Крупные компании постоянно испытывают нехватку кадров. Поэтому они создают обучающие центры, чтобы помогать людям освоить IT-специальности. Самых перспективных зовут на работу. Какие особенности?

  • Не нужно тратить деньги на обучение, чаще всего компания организует курсы бесплатно.
  • Компания заинтересована обучить релевантным навыкам, поэтому «воды» в процессе обучения минимум.
  • Высокий конкурс. Берут на курсы после предварительного отсева. Нужно показать свою мотивацию и начальные знания.

Этот вариант подходит для целеустремленных людей с начальными техническими знаниями.

Платные курсы в интернете

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

При выборе я бы ориентировался на два критерия:

  1. Есть ли знакомые, которые прошли курс? У кого вы можете получить честное мнение.
  2. Преподаватели участвовали на профильных конференциях, митапах? Можно ли сделать вывод об их экспертности по публичным выступлениям?

На первых порах я рекомендую пойти именно по пути с платными курсами.

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

Стоит понимать, что через 3-5 месяцев обучения на курсах вы получите базовые навыки. Это значит, что вы продолжите учиться уже на первой работе. 

Процесс обучения никогда не заканчивается. Будьте к этому готовы.

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

Бесплатные курсы

Бесплатных уроков и курсов на порядок больше, чем платных. Фундаментальная проблема — где взять мотивацию, чтобы проходить курс без стимула. Признаюсь честно, у меня никогда не получалось. Я бы рассматривал бесплатные курсы только для ознакомления. Что за специальность «тестировщик»? Какие обязанности входят в эту специальность? Интересно ли мне попробовать заниматься этим?

Какие навыки прокачивать?

Начинать нужно с технических навыков. Именно эти навыки у вас будут проверять на собеседовании. Мой пример будет касаться тестирования веба.

SQL (язык структурированных запросов)

Строго говоря, нужно уметь делать выборки данных по разным условиям. Когда мы тестируем, мы всегда работаем с данными. Умение находить нужные данные и обрабатывать их понадобится в ежедневной работе. SQL — это первый шаг. Помимо реляционных баз данных есть и другие типы хранилищ, но для старта этого достаточно.

Протокол HTTP и умение пользоваться Developer Tools внутри браузера

Какие запросы отправляет браузер? Какие ответы получает от веб-сервиса? Это пригодится, когда вы будете составлять отчет о дефекте. Разработчик, которому выпадет чинить дефект скажет спасибо. Чем больше подробностей о дефекте вы предоставите, тем легче найти и исправить проблему в ПО.

Пример плохого отчета:

Открыл страницу → Нажал кнопку → Не работает

Хороший отчет будет содержать детали:

Открыл страницу с адресом → Нажал на кнопку «купить», ушел запрос такой-то → Сервис ответил так-то с ошибкой такой-то.

Нужно понимать, как работает протокол HTTP, потому что это «кит» на котором держится веб и обмен данными между вами как пользователем браузера (клиент) и веб-сервисом (сервер).

SSH, Bash, скрипты и основы Linux

Необязательно вас заставят пользоваться линуксом, но так как веб живет на линуксовых серверах, надо понимать базовые вещи. SSH нужен для удаленного доступа к серверам, Bash — это самая популярная командная оболочка в линуксе. Coreutils — набор утилит для UNIX-подобных операционных систем: cat, ls, rm и десятки других. Нужно знать, как использовать пайпы (pipes), чтобы комбинировать несколько команд.

Docker

Прошли времена, когда админы по просьбе разворачивали проект на виртуальной машине. Сейчас программы для веба упаковывают в контейнеры. Эта чудесная абстракция может быть представлена буквально как грузовой контейнер, в который вы помещаете приложение со всеми необходимыми частями (зависимостями). После этого контейнер можно запустить где угодно: у себя на компьютере, в облаке Амазона, Гугла или Майкрософта. Тестировщику нужно понимать базовые концепции технологии и уметь запускать контейнеры на собственном компьютере.

Программирование

Этот навык вам потребуется, если вы хотите заниматься автоматизацией тестирования. Автоматические тесты — это та же программа, которую нужно спроектировать с определенными требованиями. Только не нужно сразу изучать экзотику. Для начала прокачивайте мейнстрим языки программирования, для которых существует много библиотек и инструментов для тестирования. Это может быть Java, Python или JavaScript.

Помимо технических навыков нужны и гибкие навыки. Я выделяю три основных навыка:

  • Эмпатия к пользователям продукта
  • Умение задавать вопросы и искать ответы
  • Английский язык

Как выбирать первую работу?

  • Что выбрать в начале карьеры? Деньги или опыт?

Перед вами два варианта:

  1. Тестировать интернет-магазин, в котором давно закончилась фаза активной разработки. Проект находится на поддержке. Нужно проверять, чтобы все работало. Зарплата 1000 попугаев.
  2. Сервис каршеринга. Год на рынке, команда растет и проект постоянно проверяет гипотезы и экспериментирует с технологиями. Зарплата 500 попугаев.

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

  • Начинать с большой компании или маленькой?

В маленьких компаниях меньше иерархии и формальных процессов. Это подкупает. Вопросы решаются быстрее, нет того количества бюрократии. Я бы рекомендовал идти в маленькую компанию в начале карьеры только, если вы уверены, что у вас будет ментор.

  • Офис или удаленка?

Как не крути, коммуникации проходят в офисе проще. В начале карьеры взаимодействие с коллегами будет занимать много времени. Поэтому и опыт в офисе получить проще — достаточно подойти к коллеге и задать вопрос. Я бы не рекомендовал 100% удаленку на первых порах. Будет круто, если у компании есть офис, где команда может собираться периодически.

  • Выбирать узкоспециализированный проект или мейнстрим?

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

Как выглядит идеальная компания для новичка:

  • Крупная компания с устоявшимися процессами.
  • Менторство или обучение.
  • Возможность выбора проекта внутри.

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

Фото: Unsplash

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

Материалы по теме

  1. 1 Сколько стоит разработать сайт и кто для этого нужен
  2. 2 Лицей «Академии Яндекса» открыл набор студентов на бесплатные курсы по программированию
  3. 3 Что такое programmatic: словарь терминов
  4. 4 Как создать кейтеринг — советы для запуска выездного ресторана
  5. 5 Открываем собственный коворкинг — 10 советов для начала