Как научиться тестированию с нуля

👨‍🔧️ Основы профессии тестировщика с нуля за 10 минут

Как научиться тестированию с нуля. Смотреть фото Как научиться тестированию с нуля. Смотреть картинку Как научиться тестированию с нуля. Картинка про Как научиться тестированию с нуля. Фото Как научиться тестированию с нуля

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

Тестирование – процесс исследования и контроль качества, который состоит из планирования, проектирования, собственно проверки и анализа ее результатов.

Как научиться тестированию с нуля. Смотреть фото Как научиться тестированию с нуля. Смотреть картинку Как научиться тестированию с нуля. Картинка про Как научиться тестированию с нуля. Фото Как научиться тестированию с нуляПроцесс тестирования.

Существует три уровня тестирования:

Классификация видов тестирования

Как научиться тестированию с нуля. Смотреть фото Как научиться тестированию с нуля. Смотреть картинку Как научиться тестированию с нуля. Картинка про Как научиться тестированию с нуля. Фото Как научиться тестированию с нуля

Как видите, классов не так много, но в каждом из них можно выделить несколько разных видов тестирования.

Как видите, в рамках тестирования могут идти самые разные процессы на различных уровнях. Управляют ими специалисты, которых называют тестировщиками.

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

Обязанности тестировщика

Это крайности, освоить профессию с нуля можно, причем способ стоит выбрать такой, который понравится – самостоятельно, в компании или сразу в работе.

Как научиться тестированию с нуля. Смотреть фото Как научиться тестированию с нуля. Смотреть картинку Как научиться тестированию с нуля. Картинка про Как научиться тестированию с нуля. Фото Как научиться тестированию с нуля

Стек технологий тестировщика:

У каждого инженера по QA есть свой уникальный опыт и собственный стек технологий – набор инструментов, которые он использует в работе, включая языки программирования, СУБД и прочее.

Перечислим наиболее распространенные варианты:

Языки разметки и программирования:

Фреймворки:

Системы автоматизации:

ПО для управления проектами:

Библиотеки модульного тестирования:

Серверы, для запуска легковесных оболочек:

Это примерный список: важно понимать, что в каждом проекте будет уникальная комбинация стека технологий, отвечающая индивидуальным требованиям. К акой-нибудь веб-проект может работать, например, с таким стеком: Java + Html elements + Selenoid + Allure + Jenkins + Readmine.

Список того, чем может владеть и что может изучать тестировщик огромен, начиная c английского и языков программирования, именно поэтому профессия становится такой гибкой и востребованной. Только постоянно развиваясь, инженер по QA может стать дорогим и уникальным специалистом. Начните с малого, постоянно практикуйтесь и развивайте уникальные компетенции. Удачи вам в освоении этой интересной профессии!

Источник

Как стать тестировщиком или каких знаний мы ждём от джуниора

Как научиться тестированию с нуля. Смотреть фото Как научиться тестированию с нуля. Смотреть картинку Как научиться тестированию с нуля. Картинка про Как научиться тестированию с нуля. Фото Как научиться тестированию с нуля

Пара вводных слов
Всем доброго времени суток, меня зовут Туманов Дима. Сейчас я работаю в компании Rambler&Co и отвечаю за тестирование на проектах Афиши. В рамках данной статьи я развею несколько мифов об IT и тестировании в частности. Кроме того, приведу примеры из жизни как “не зная ничего” стать Junior QA Engineer в крупной компании.

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

Вопрос №1 — “Какую область для работы выбрать”
Мой выбор основывался на нескольких фактах. Во-первых я хотел работать в быстро развивающейся отрасли. В этом я видел и вижу сейчас возможность постоянно расти в профессии, развивая себя в различных направлениях. Во-вторых я хотел уйти от бюрократии, жёстких регламентов и обязательного ношения костюмов жарким летом. Ну и последнее, но не по значению, я хотел делать действительно важное дело, ощущать близость конечного пользователя, понимать, что моя работа действительно нужна. Все три этих пункта я смог увидеть в IT-отрасли.

Вопрос №2 — “Какую профессию выбрать”
Для меня важным было некое совмещение гуманитарных и технических наук, то есть коммуникаций и инженерии. С одной стороны я не хотел быть только техническим специалистом и например писать лучший код на Java. С другой я хотел понимать как всё устроено изнутри. По этим причинам мой выбор пал на тестирование. Дополнительно к смежности профессии, описанной выше, в тестирование довольно просто попасть. Порог входа действительно небольшой.

Вопрос №3 — “Какую компанию выбрать”
По сути все компании можно классифицировать несколькими способами. Во-первых по отношению заказчик-разработчик. Есть принципиальная разница между компаниями аутсорсерами и продуктовыми компаниями. Для первых самым важным является продажа продукта. Да, есть имя компании, отзывы клиентов, но так или иначе заработок идёт от прямых продаж. Для вторых важным является иметь качественный и популярный продукт. На таком продукте можно разместить дорогую рекламу и заработать много денег. Поэтому с точки зрения тестирования сильная команда будет сформирована именно в продуктовой компании. Во-вторых компании стоит разделять на русские и импортные. На текущий момент тестирование остаётся слабо развитым направлением в России. Это даёт свои плюсы и оставляет возможность занять своё место под солнцем без сильных проблем. Но, с другой стороны, сужает выбор достойных мест для работы. Благо в крупных интернет компаниях рунета уже “пройден этап варварства и созданы первые государства”. Для меня было важно работать именно в русской компании. Это что-то вроде “странного” патриотизма, если хотите. Исходя из всего этого мой выбор пал на крупные продуктовые интернет компании России. Таких кстати совсем немного и вы легко можете найти их рейтинг в Forbes (2014, 2015, 2016).

Вопрос №4 — “Как решить проблему отсутствия опыта”
Парадокс подавляющего числа компаний заключается в необходимости опыта даже для начальных предложений. Ответ на вопрос как они вообще себе такое представляют я не нашёл до сих пор. Благо в неразберихе рождается всё новое и многие построили бизнесы на этой истории. Сеть сейчас кишит различными обучениями с практикой, среди которых есть действительно стоящие. С остальными знаниями, которые нужно приобрести, вроде без эксцессов, поэтому давайте обо всём по порядку.

Вопрос №5 — “Какие знания нужно получить и как это сделать”

Перспективы развития
Работа занимает треть нашей жизни. Если отбросить сон, то это вообще половина нашего времени. Единственно правильным считаю работать там и делать то, что действительно нравится. Помимо морального удовлетворения есть и материальные блага. Уровень зарплат по официальным источникам даже на старте превышает среднюю температуру по больнице. Наличие ДМС, скидки на фитнес или наличие зала внутри компании, бесплатные билеты на различные мероприятия и прочие бонусы конечно же присутствуют. К тому же работа оценивается по количеству сделанной работы, а никак не по проведённому на ней времени. В IT всегда гибкий график и “опоздание на 15 минут” никак не будет наказываться. Более того, на это даже никто не обратит внимание, потому что это действительно нормально. Роль тестировщика — это не окончание вашего движения, это лишь точка входа. После пары лет хорошей практики в тестировании вы сможете выбрать любой путь развития в компании.

Почему я уверен в вашем успехе
Как когда-то сказал Стив Джобс: “Нельзя соединить точки жизненного пути, смотря вперёд. Их можно соединить, только оглядываясь в прошлое”. Именно этот принцип и даёт мне уверенность в том, что стать тестировщиком и начать получать удовлетворение от работы может абсолютно каждый. Есть и другие примеры за последние несколько лет, которые только подтверждают доступность данной профессии. У меня был некий Challenge Accepted. В какой-то момент ко мне почти одновременно обратилось два человека, которых я очень хорошо знал. Один из них на тот момент работал в правоохранительных органах, другой был профессиональный военным. Схожесть ситуации была на лицо. Они большие молодцы и с большой настойчивостью проходили примерно описанный выше план. Такое самообучение и поиск самой работы у них заняло порядка трёх-четырёх месяцев. Сейчас они работают тестировщиками, имеют перспективы для развития, гибкий график и думаю много чего в их жизнях ещё изменилось.

Post Scriptum
Ещё раз подчеркну. Войти в данную профессию не сложно. Это сможет каждый. Дальнейшее развитие в IT зависит уже только от вас.

Источник

Бесплатные образовательные курсы: тестирование

Как научиться тестированию с нуля. Смотреть фото Как научиться тестированию с нуля. Смотреть картинку Как научиться тестированию с нуля. Картинка про Как научиться тестированию с нуля. Фото Как научиться тестированию с нуля

Ошибки и баги могут возникнуть в любых программах, поэтому тестировщиков нанимают многие крупные компании, которые разрабатывают программное обеспечение. А еще — небольшие фирмы, которые предоставляют услуги тестирования на аутсорс. Сегодня мы публикуем подборку из 14 бесплатных курсов по тестированию из нашего раздела Образование. Да, они, скорее, помогут вам получить базовые знания или освежить то, что вы уже и так знали, чем прокачаться до уровня синьора или лида. Но это не умаляет их полезности! Если вы видели что-то интересное, чего нет в этом выпуске — делитесь ссылками в комментариях.

QA Start · Академия IT

Семь уроков этого курса познакомят вас с методологиями разработки и их влиянием на качество, с фреймворками гибкой разработки, видами, техниками и уровнями тестирования, с тестовой документацией, а также с работой с дефектами ПО.

Интенсив по тестированию ПО · GeekBrains

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

Видеокурс по тестированию ПО · Академия IT

Один из стартовых курсов, после прохождения которого вы будете различать типы тестирования ПО, самостоятельно определять и ставить цели тестирования и узнаете, что такое баги и как их репортить. А еще вы попрактикуетесь в создании тест-кейсов и в тестировании веб-приложений.

Верификация программного обеспечения · ИНТУИТ

Программа курса посвящена современным технологиям верификации ПО, применяемыми при промышленной разработке сложных и отказоустойчивых систем. Она охватывает такие темы, как построение тестового окружения, планирование системы тестов, анализ и обнаружение багов, интеграционное и системное тестирование и общие аспекты тестирования интерфейсов.

Профессия «Инженер по тестированию» · Яндекс.Практикум

На этом курсе вы освоите тест-дизайн и овладеете инструментами Postman, Charles, Яндекс.Трекер, а также познакомитесь с Javascript и Puppeteer. Обратите внимание, Яндекс.Практикум предлагает бесплатно пройти только вводную часть курса, состоящую из 10 часов теории и 84 заданий. Это поможет определиться, хотите ли вы двигаться дальше в этом направлении.

Автоматизация тестирования с помощью Selenium и Python · Stepik

Это базовый курс для начинающих тестировщиков, на котором вас научат писать автоматизированные UI-тесты на Python с помощью библиотеки Selenium. А еще в программе — популярные фреймворки и лучшие практики написания автотестов.

Software Debugging · Udacity

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

Основы тестирования · Академия IT

Еще один базовый курс от Академии, на котором вам расскажут о QA, как таковом, и расскажут о тестовых артефактах, жизненном цикле тестирования, типах приложений, клиент-серверной архитектуре и других полезных вещах.

Software Testing · Udacity

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

Основы тестирования программного обеспечения · ИНТУИТ

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

Software Testing QA · Академия IT

Курс, на котором вас познакомят не столько с QA, сколько с тем, как начать свой путь в этой специальности. Уроки посвящены прохождению собеседований, лайфхакам и советам для новичков, а также разбору структуры QA команд в IT-компаниях.

Курсы тестировщиков онлайн · Академия IT

Базовый, но от этого не менее полезный курс, который вам пригодится, чтобы получить или освежить знания о тестирование ПО, контроле качества и баг-трекинге.

Тестирование ПО: базовый уровень · Stepik

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

Unit-тестирование С# · Академия IT

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

Больше бесплатных и платных курсов для тестировщиков, девопсов, разработчиков, дизайнеров и менеджеров — в разделе Образование на Хабр карьере.

Источник

Как стать тестировщиком и не разочаровать родителей. Порог входа и основы основ

Как научиться тестированию с нуля. Смотреть фото Как научиться тестированию с нуля. Смотреть картинку Как научиться тестированию с нуля. Картинка про Как научиться тестированию с нуля. Фото Как научиться тестированию с нуля

Еще 10-15 лет назад наши родители не могли себе представить, что большая часть бытовой рутины будет решаться в пару кликов мыши. Однако сейчас количество сервисов существенно увеличилось, и люди могут позволить себе пользоваться тем, что более качественно и удобно для пользователя. Если вы в процессе использования какого-либо приложения или сайта задумывались о профессии, которая позволила бы вам делать продукты лучше, то эта статья даст вам небольшую инструкцию о том, как войти в профессию тестировщика.

Кто такие тестировщики?

Существует заблуждение, что «тестировщик» – это профессия, которая подразумевает поиск ошибок и проверку продукта до тех пор, пока он не отвалится. На самом деле это утверждение верно лишь отчасти. Тестировщик проверяет, что продуктом удобно пользоваться и что его функционал исправно работает. Соответственно, тестирование – это не поиск ошибок, а проверка соответствия ожидаемого поведения продукта фактическому. Хотя иногда есть необходимость помучить продукт, а то и вовсе его сломать, чтобы вас прокляли разработчики убедиться, на каких максимальных мощностях или как долго продукт может стабильно работать. Об этом вы можете ознакомиться в статье про нагрузочное тестирование.

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

Очевидно, для начала хорошо бы изучить теорию и иметь возможность на чем-то практиковаться, чтобы подкрепить знания в деле. И на этом пути у вас есть два направления:

Жизненный цикл продукта

Любому начинающему или действующему специалисту it-сферы крайне полезно знать жизненный цикл продукта, так как он сам будет являться его частью на том или ином этапе.

Жизненный цикл бага

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

Виды тестирования и уровни тестирования

Любой тестировщик должен понимать, какой вид продукта он тестирует, и какие виды тестов необходимы именно под этот продукт.

Как писать чек-листы, тест-кейсы

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

Знание техник тест-дизайна

Знание техник тест дизайна помогают сильно сэкономить время, позволяя избавиться от ненужных проверок.

Умение пользоваться багтрекинговыми системами, системами написания тест-кейсов, а также хранением документации

Для постановки и контроля задач есть специальные сервисы, которые позволяют отслеживать, на каком этапе находится задача, ее приоритет и так далее. Одни из самых популярных – Jira, Redmine, Trello. Для систем написания тест-кейсов есть такие сервисы, как testRail, Qase, TestLink. В некоторых случаях вполне достаточно Google docs. Для хранения документации – Confluence, Notion и Wicki.

Понимание работы протоколов http/https, знание http запросов (Post, Get, Put, Option, Delete)

Для тестировщика важно понимать работу протоколов, а также знать структуру и типы http запросов, уметь читать ответы сервера. Не всегда проблема ошибки отображается явно на верстке, в некоторых случаях полезно проверять корректность общения между клиентом и сервером.

Умение работать с реляционными базами данных

Полезным навыком для тестировщика будет умение работать с системой управления базами данных (СУБД). Умение обращаться с СУБД заметно облегчит вам жизнь при работе на проектах с огромным количеством данных, для проверки целостности, а также корректной обработки данных. На начальном этапе от вас вряд ли потребуются высокоуровневые знания по работе с SQL, однако знание простых команд типа «выведение всех доступных баз данных» – SHOW DATABASES, «Просмотр таблиц, доступных в базе данных» – SHOW TABLES, Команды для создания запросов SELECT…; является достаточно необходимым.

Умение скачивать, читать логи мобильного приложения

Помимо описания путей воспроизведения бага, видеозаписи или скриншота, крайне полезно прикладывать логи работы мобильного приложения на момент воспроизведения бага. Это заметно облегчит жизнь разработчику в починке функционала. Также важно понимать, в какой именно отрезок времени воспроизвелся баг.

Умение гуглить

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

Английский язык

Большинство толковых документаций, полезных статей преимущественно пишется именно на этом языке.

Набор инструментов для проверок

Postman – инструмент для тестирования api. Это одно из самых популярных приложений, которое позволяет совершать отправку api-запросов, созданий коллекций запросов, создания полуавтоматических api-тестов.

Google Chrome Dev tools – консоль разработчика есть на всех браузерах, но по функционалу и удобству больше всех развилась именно эта, поэтому изучение стоит начать именно с нее. Это инструмент для проверки веб-сайтов, который поможет вам отслеживать запросы, проверять работу сайта, изменяя сигнал интернет-соединения, проверять верстку сайта на разных размерах. Также у GCDt есть шаблон с размерами мобильных устройств.
Эмуляторы Android Studio и Genymotion. Иногда в компаниях не всегда бывают устройства, заявленные в требованиях, и, чтобы не откладывать проверки, можно воспользоваться эмуляторами мобильных устройств.

Jmeter – инструмент для нагрузочного тестирования. У него достаточно низкий порог вхождения. Помимо нагрузочного тестирования, Jmeter можно использовать как-прокси сервер для отслеживания запросов, проходящих через ваш продукт.

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

Список материалов, которые помогут вам познакомиться с основами тестирования:

Способы применить теорию на практике

С теорией определились. Что же делать с практикой? Самый простой путь – взять любой сайт, и начать составлять тест-кейсы, чек-листы, проходить по ним. При нахождении ошибок составить баг-репорты и отправить их в службу поддержки. Как минимум, +100 к карме от разработчиков вам упадет, будьте уверены.

Для набора опыта стоит попробовать себя в crowd-testing – на фриланс площадках для тестировщиков. Подробнее об этом можно прочитать в статье.

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

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

Источник

Как научиться тестировать ПО

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

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

Как научиться тестированию с нуля. Смотреть фото Как научиться тестированию с нуля. Смотреть картинку Как научиться тестированию с нуля. Картинка про Как научиться тестированию с нуля. Фото Как научиться тестированию с нуля

Нужна ли тестировщику база в ИТ?

Откровенно скажем, желательна.

Большинство наших специалистов в той или иной форме увлекались ИТ с детства или как минимум учились в профильных вузах, т.е. уже имели какую-то базовую подготовку еще до прихода в тестирование. Часть из них начинали как разработчики (учились на разработчика) — отдельные “тестовые” направления еще лет 10 назад отсутствовали. Так что у нас перед глазами просто нет “антипримера” такого пути.

Сейчас в ИТ действительно много тех, кто такую подготовку не проходил. И им немного сложнее двигаться вперед. Чтобы справиться с задачами в тестировании, необходимо как минимум уметь поставить операционку, понимать, как развернуть тестовое приложение и необходимое окружение, как создать репозиторий в Git, погуглить ответы на свои вопросы, покопаться на специализированных ресурсах вроде Stackoverflow. По сути это и обеспечивает общая база по информатике.

Но и эти знания вполне можно освоить по книгам или курсам в интернете. Сегодня недостатка в источниках информации нет. Главное, чтобы была заинтересованность и время, которое можно на это выделить.

В тестировщики или в разработчики?

Тестирование тестированию рознь.

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

Автоматизатор тестирования уже ближе к разработчику. В базе знаний у каждого автоматизатора обычно значится как минимум один язык программирования — тот, на котором ведется разработка автотестов (это не всегда основной язык разработки на проекте). Занимаясь автоматизацией, также важно знать шаблоны проектирования и уметь применять общие принципы разработки — расширяемость, читаемость, легкость переиспользования. По сути автотест — это та же программа, которая должна соответствовать заранее заданному сценарию.
Чтобы начать работать автоматизатором, помимо знаний о тестировании в целом, необходимо иметь минимальные знания в объектно-ориентированном программировании, представлять, как написать простейший “Hello World!”.

Выбирая направление, вряд ли стоит смотреть на сиюминутную популярность специалистов на рынке труда. Средние показатели спроса и зарплат в ИТ — вещь очень специфическая, они зависят в том числе и от смежных знаний. Кто бы мог подумать, но специалисты по разработке на каком-нибудь Delphi сейчас в банковском секторе востребованы, несмотря на то, что в других отраслях язык не пользуется вообще никаким спросом. Здесь все работает по законам рынка: специалистов мало, а спрос на них остался, поскольку кому-то же надо поддерживать легаси.
Так и в тестировании. Сейчас есть спрос на JS-автоматизаторов. Он велик, потому что запросы у бизнеса большие, но еще не успели выучиться те люди, которые встали на данный путь с первым появлением интереса рынка. Как только они выучатся и пойдут работать, ситуация может измениться.

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

Что почитать?

Тестирование, да и ИТ в целом, — бурно развивающаяся отрасль, поэтому часто можно встретить скептическое отношение к книгам. Слишком уж у них велик “цикл производства”. Писать, издавать, распространять — долго. Он растягивается более чем вдвое, если мы говорим о переводной литературе.

Однако одну книгу наш отдел тестирования рекомендовал почти единогласно — “Тестирование Дот Ком” Романа Савина. Это самая известная книга по теме, которая просто и доступно вводит в курс основных понятий и процессов в ручном тестировании. И хотя она издана довольно давно, базовые знания, изложенные в ней, до сих пор актуальны. Пожалуй, ее читали процентов 80 всех тестировщиков в странах СНГ.

Другие рекомендации легко найти в распространенных в интернете “списках N книг для начинающего тестировщика”. Но в целом наша команда тестирования считает, что базы из книги Романа Савина будет достаточно для запуска дальнейшего процесса самообразования.

Стоит ли идти на курсы, тем более платные?

Мнение о курсах у наших специалистов неоднозначное.

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

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

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

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

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

Хорошие курсы должны подразумевать не просто рассылку видеозаписей с последующем сбором домашнего задания. Необходима нормальная обратная связь с преподавателем или наставником, который объяснит, в чем ошибка, в каком направлении стоит двигаться, чтобы правильно решить поставленную задачу. А видеоролики можно посмотреть и бесплатно (а потом и задачки из интернета порешать).

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

Стоит ли ездить на конференции?

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

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

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

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

Где взять первый опыт?

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

Вместе с общей базой любой проект даст определенную степень специализации. Может быть, это будет тестирование продуктов под разные операционные системы, клиент-серверные приложения или инструменты для серверов. Все это потребует своих сопутствующих умений.

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

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

На такие “дикие пляски” лучше идти более подготовленным специалистам, которые понимают, в чем здесь отступление от классических процессов. У человека без опыта работа в таком режиме породит только кашу в голове. Скорее всего, ничему хорошему он тут не научится.

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

Джун, миддл, сениор. А есть ли путь дальше?

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

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

Как и в разработке, в тестировании есть малая доля задач, которые подразумевают более глубокое знание, например, математики. Разговор о ней начинается там, где математика всплывает и в самой разработке — в высоких нагрузках и т.п. Это еще одно направление возможного роста для тех, у кого в голове могут укладываться действительно масштабные логические структуры (и кому скучно в стандартных задачах тестирования). Таких задач на рынке совсем немного. Но за счет них возможность дальнейшего саморазвития сохраняется и для тех, кто не хочет идти по управленческому пути развития.

Дополнительные ссылки

Материалы по тестированию есть на http://www.protesting.ru/. Там много теории и немного практики. Можно найти базовую информацию о том, какие бывают виды тестирования, что такое тест-кейс, тест-план и т.п. Правда, ресурс этот развивается с 2000-х годов, поэтому некоторая информация успела устареть. Но по базе здесь можно найти ценные примеры.

Форум на ресурсе https://software-testing.ru/forum/ — это своего рода аналог Хабра для тестировщиков (по большей части для автоматизаторов). Там много полезной информации именно начального уровня — на Хабре в разделе тестирования больше более продвинутых статей, а тексты для новичков появляются все реже и принимаются аудиторией все хуже.

Спасибо специалистам по тестированию нашей компании за помощь при подготовке статьи!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *