06 июня

Выбираем свое QA-направление: автоматизированное или ручное тестирование

В TeachMeSkills мы предлагаем на выбор целых четыре курса по тестированию — это ручное тестирование мобильных и веб-приложений, а также автоматизированное тестирование на Java, Python и JavaScript.

Все направления актуальны, востребованы и сравнительно просты в изучении (если приложить усилия, конечно). Курсы в среднем занимают 4-4,5 месяца, и за это время вы успеваете получить тот объем знаний и практических навыков, которые необходимы для получения своей первой работы.

Но какое же направление выбрать? Давайте разбираться вместе!

QA-инженер — это специалист, который обеспечивает качество продукта (если буквально, от quality assurance — «обеспечение качества»). Делается это за счет тестирования программ или приложений, в процессе которого обнаруживаются ошибки. Затем эти ошибки исправляются, а пользователь получает доступ к крутому и работающему продукту без единого бага (в идеальном мире).

Начнем с наиболее простого способа освоить профессию — через ручное тестирование.

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

Алёна (QA lead/Team manager в iTechArt с 6+ летним опытом в мануальном тестировании)

Какие ключевые качества ты бы выделила для тестировщика?

  • Это умение рассуждать, анализировать и задавать вопросы (правильно поставленный вопрос зачастую кроет в себе частичку ответа);
  • внимательность к деталям;
  • дипломатичное умение отстаивать свое мнение или предложения;
  • коммуникативные навыки, т.к. приходится много общаться со всеми участниками процесса разработки (в том числе и на англ. языке);
  • читать книги и статьи для саморазвития.
Тестировщики действительно своего рода флегматики и перфекционисты? Или это стереотипы?


«мамы разные нужны, мамы всякие важны» (с)
Вне зависимости от темперамента, человек может овладеть этой профессией. Доведение какого-то свойства до максимума сможет сыграть злую шутку с нами, поэтому стоит всегда придерживаться золотой середины, хотя, порой, это и очень сложно. Здорово, когда в команде представлены сразу несколько психотипов — происходит взаимодополнение. И не стоит верить стереотипам, а проверить лучше на себе )


Нужно ли все равно разбираться в коде? Или это со временем само придет?


Конечно, ручное тестирование будет проще тем, кто совершенно далек от языков программирования или не имеет за собой технического образования совсем, но имеет хорошие коммуникативные и аналитические навыки. Однако это не мешает начать изучение языка программирования с нуля в параллели или уйти полностью в автоматизацию. Главное стремление и интерес к новому поприщу!

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

Подробнее о программе курса (онлайн/офлайн).


Автоматизированное тестирование.


Потребует больше усилий (которые как минимум окупятся — так как платят больше) для новичка. Выбирая же язык программирования для будущей работы, советуем смотреть на его востребованность.

Например, Python. Он прост для изучения (особенно с нуля) и предлагает массу возможностей как в техническом плане (язык уже не один год входит во всевозможные топы), так и в профессиональном (по количеству вакансий).

Дмитрий (QA Automation Backend Engineer в ITS Partner с 3+ летним опытом коммерческой разработки)


Нужно ли знать что-то новичку, приходя на курс? Или стоит почитать какие-то книги, чтобы уже можно было погрузиться в тему?


Нет. Будет ли хорошо, если он изначально обладает какими-то знаниями в тестировании, сетях, программировании — однозначно да. Как показывает практика: чем больше человек знает придя на курс, тем легче ему будет. Это логично)

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

Книги читать всегда хорошо. Но я бы советовал посмотреть на ютубе курсы по Python, где человек очень подробно (и часто даже новичку понятно) рассказывает. Далее порешать задачки на codewares.com. Если этого будет мало, тогда можно начинать читать «Изучаем Python» (Марк Лутц) и погружаться дальше в более сложные темы.
Может есть какая-то история из личных примеров, как человек из совершенно другой сферы деятельности смог поменять ее и стал тестировщиком?


В принципе это мой кейс — я заканчивал БНТУ и решил поменять профессию, потому что меня моя не устраивала. Так как я был человек не из сферы айти, мне пришлось очень многое учить самом: что такой API, какие есть виды тестирования, основы для тестирования. Приходилось изучать, что такое базы данных, как они работают, что такое HTML и вообще, как работают какие-то базовые вещи в плане автоматизации, как простой код написать. Достаточно много приходилось самому учиться и еще у меня были хорошие мануальные курсы (это тоже был плюс) — поэтому мне удалось.

Ребята из моих курсов — многие приходят и в 35, и в 38, и в 18-19, им всем удалось. Очень много примеров из менеджемента, МГЛУ. Все в принципе начинают с одного — и дальше, исходя из своих сил, желаний и потраченного времени, добиваются разных результатов.


А в целом, как ты считаешь, по уровню сложности для новичков, Python на каком будет месте?


Сам Python создавался как язык, который будет очень дружественный к человеку. Тому, кто будет на нем писать. В принципе он достаточно незамороченный в этом плане. Но стоит сказать — не нужно ждать, что будет прям легко.

Можно привести аналогию с лингвистическими языками. Сложно ли учить китайский? Да, очень. Я так думаю, я не учил. Сложно ли учить английский? Да. Проще, чем китайский, но его тоже нужно учить, тратить время, заниматься.

Поэтому тоже самое и в программировании. Будет ли интуитивно более понятен Python, чем какой-нибудь С++? Да, это так. Но говорит ли это о том, что Python сейчас можно учить налегке? Нет. Нужно садиться, разбираться, заниматься и очень много практиковаться. Поэтому сил потратить придется много :)

Подробнее о программе курса.

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

Дима (QA Group Manager в iTechArt с 8+ летним опытом коммерческой разработки)
Для тестировщиков понимать код вовсе необязательно. Это действительно так? Или все же нет?


Действительно понимать код, который написали разработчики, уж точно не входит в список основных компетенций. Но после нескольких лет в этой сфере я встретил очень много крутых специалистов, которые в конечном итоге использовали чтение чужого кода как еще один инструмент в обеспечении качества. Такой подход называется gray-box testing. Так что я тоже овладел этим навыком и с радостью его сейчас пропагандирую.

Как ты считаешь, по уровню сложности, Java на каком месте будет?


С точки зрения сложности языков — Java будет на втором по простоте, после Python. Но всегда важно сделать ремарку, что сложность — это не единственный критерий, по которому стоит делать выбор. Есть еще спрос на рынке, документация, комьюнити, уровень зп.

Подробнее о программе курса (онлайн/офлайн).

А закрывает наш топ-3 наиболее популярных языков для тестирования JavaScript. Объединивший в себе и низкий порог входа для новеньких, и большое количество возможностей (фреймворков) для профессиональной реализации.

Вячеслав (Software Test Automation Engineer в WM Reply 4,5+ летним опытом коммерческой разработки)


Я часто слышу, что путь тестировщика — это легкий способ попасть в айти. Как ты считаешь, это миф или правда?


На мой взгляд — все сугубо индивидуально: кто-то с сильным математическим аппаратом и любые математические/алгоритмические задачки щелкает как орешки, а кому-то надо посидеть и разобраться и уделить задачке больше времени. Так же касательно и сферы тестирования — тут все индивидуально. Но одно хочу сказать точно: полюби то, что ты делаешь, заставь свою работу стать хобби — и она начнет помимо денег приносить тебе и удовольствие. Тем самым можно незаметно для себя легко и безболезненно прийти в ИТ.


Что насчет сложности изучения JS для нулевых ребят? Среди других языков на каком месте он будет?


Ну на этот вопрос очень проблематично ответить как-то однозначно. Ведь опять же –- насколько человеку подходит язык программирования, насколько он его понимает и разбирается: кто-то может за день изучить синтаксис данного языка программирования, а кому-то нужно на это потратить неделю. Кто-то схвватывает парадигму языка программирования JS сразу, а кому-то ближе JAVA. Тут все очень индивидуально, но одно скажу с уверенностью –- изучая язык программирования, можно спустя некоторое время понять: будет ли тебе этот язык интересен, или может быть нужно перейти на другой язык программирования.

Исходя из опыта по автоматизации, могу сказать — чтобы начать автоматизировать на JS нужно сделать чуть меньше действий, если брать язык программирования JAVA. Но в тоже время яп JAVA больше дает возможностей и писать более серьезные программы (если ты, к примеру, разработчик), нежели JS. Поэтому выбор остается за каждым!

Подробнее о программе курса (онлайн/офлайн).

Можем сделать вывод, что для поиска себя в новой сфере потребуется время. И это нормально. Ведь именно ошибаясь мы приходим к верным решениям. Главное не сдаваться на полпути и пробовать. А наш бесплатный мастер-класс по автоматизированному тестированию лучше сориентирует вас в профессии и даст ответы на интересующие вопросы. Присоединяйтесь к нам 12 мая, в 19:00 (online) по ссылке!
#Входи в айти вместе с TeachMeSkills. По промокоду "ТЕСТИРОВАНИЕ" мы дарим тебе скидку в размере
100 BYN на курс " Тестирование веб и мобильных приложений".

*бонус будет действовать только при первичном обращении и последующем заключением договора
Над материалом работала Карина Старкова

Стань востребованным IT специалистом

Наша цель — дать тебе знания и опыт, достаточные для трудоустройства в крупнейшие IT компании.