Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Привет, Хабр! На связи Кирилл Шувалов, Senior QA Test Engineer аутстаффинговой компании Smart IT. В этой статье я расскажу вам о пути в тестирование и как добиться успеха в этой области. Будет круто, если в этих строчках начинающие IT-специалисты почерпнут для себя полезную информацию, а опытные спецы поделятся своими наставлениями в комментариях. Ну, что ж, погнали!:)
Хочу отметить, что обмен опытом — это важно на этапе становления карьеры. Мой нынешний успех был бы невозможен без помощи старших коллег. Возможно, я помогу кому-то избежать части тех трудностей, через которые прошёл сам.
Как и в любой области человеческой деятельности, для вхождения в сферу требуется определённый набор знаний. Одни работодатели считают, что техническое образование обязательно для IT, другие сначала смотрят на практические навыки специалиста, а потом на его диплом. На самом деле все сильно зависит от компании/ проекта/ руководителя направления. К примеру, на большинство крупных проектов в Smart IT профильное образование является преимуществом, но сильнее ценится опыт.
На практике, примерно у каждого третьего IT-шника в крупной компании нет профильного IT-образования, но есть техническое.
Ожидание и реальность в тестировании
Для многих людей, не знакомых со сферой информационных технологий, это самое IT выглядит как некий «Град на холме». Люди сидят дома, в комфортабельном офисе или в какой-нибудь кафешке, потягивая чай/кофе/e.t.c., смотрят в экран крутого (или не очень) ноутбука и зарабатывают баснословные по меркам «простого» человека деньги. Увы, изнутри всё видится не так радужно, как может показаться снаружи. Как и любая другая профессия, IT требует много времени и сил, усердного труда и терпения. Высокооплачиваемым специалистом никто из нас не рождается.
Моя специальность, полученная в университете, связана с IT. За 4 года бакалавриата и 2 года магистратуры, в процессе обучения было испробовано много образовательного софта. Большая часть этого софта была написана студентами для образовательных целей и баги там были не редкостью. Они доставляли массу проблем, а исправить их не представлялось возможным. Поэтому, натерпевшись багов в университете, я решил, что стоит попробовать себя в тестировании, потому, как мне казалось, что у меня прямо-таки талант к поиску всяких дефектов. Да и знакомые IT-шники говорили, что устроиться джуном-тестировщиком без опыта работы не так сложно.
В целом, мне не соврали, но жизнь меня к такому точно не готовила.
В сфере я уже более четырёх лет, работал над проектами для банка ВТБ и Сбера. За это время было много вызовов для меня как для специалиста по тестированию: были трудные внедрения, падения промышленных сред и поиск причин этих неприятностей, поэтапный переход на микросервисную архитектуру и миграция системы в OpenShift. Конечно, все эти испытания я проходил не один, а в командах под руководством опытных специалистов.
Как я вижу вход в IT через тестирование?
Будем считать, что вы уже изучили вопрос, что такое тестирование, чем занимается тестировщик и твёрдо решили связать свою жизнь с поиском дефектов, заведением дефектов и проверкой исправления дефектов и так далее, а что дальше?
Курсы
Это прекрасный способ получить комплексное представление о профессии, получить необходимые навыки и освоить технологии и инструменты, с которыми вам придётся работать. На хороших, подчёркиваю, на хороших курсах вас научат необходимому минимуму для успешного прохождения собеседования и получения вашего первого оффера в IT.
Самообучение
Если курсы для вас не вариант, прокачайте в себе навык самообучения. И развивать его придётся в любом случае.
У тех, кто только входит в IT я обычно спрашиваю:
Жизненный цикл программного обеспечения;
Виды тестирования. Что делает тестировщик при проведении каждого из видов тестирования;
Уровни тестирования;
Жизненный цикл артефактов тестирования;
Типы архитектур современных систем и протоколы взаимодействия внутри систем и между системами.
Прочитайте пару книг про тестирование написанных тестировщиками. Например, «Тестирование Дот Ком». Там вам расскажут немного о внутренней кухне вашей будущей профессии. О том, как процесс тестирования устроен изнутри. Это отличный способ перенять толику опыта старших коллег.
Об инструментах: чем тестировать?
В распоряжении тестировщика есть огромный набор специализированных инструментов. Вот их коротенький перечень, который стоит хотя бы бегло изучить в рамках подготовки к собеседованию:
Postman/Insomnia – инструмент для тестирования API и взаимодействия по REST протоколу;
SoapUI – инструмент для тестирования взаимодействия по SOAP и REST некоторых других;
DBeaver – универсальный клиент для взаимодействия с реляционными базами данных;
Kibana – мощный инструмент для визуализации в виде графиков и анализа логов;
Apache JMeter – инструмент для проведения нагрузочного тестирования;
Jira, HP ALM, YouTrack, Redmine, Mantis – багтрекеры, при этом Redmine и Mantis являются открытым ПО, так что можно установить себе и поработать в них.
Какой инструмент лучше подходит под решаемую задачу, зависит от ситуации и того, что есть в вашем распоряжении на проекте. Да, бывает такое, что не только стек технологий ограничен политикой компании, но и стек инструментов. Какие-то из этих инструментов я активно использую на текущем месте работы. Например: Postman, DBeaver, Jira. Другие инструменты я использовал ситуативно или на прошлых проектах: HP ALM, SoapUI, JMeter. Каждый инструмент подходит под свои задачи.
Помимо инструментов для тестирования, будет хорошим плюсом знание английского на уровне Intermediate и выше, и знание SQL.
Для старта, стоит освоить простые запросы, такие как: select, update, insert, delete. В освоении SQL вам очень поможет сайт sql-ex.ru. Он подойдёт как для старта обучения, так и для более углублённого изучения SQL. Можно поставить на домашнем компьютере базу данных Oracle или PostgreSQL и соответствующий клиент для взаимодействия с базой, например DBeaver упомянутый ранее, или SQL Developer для Oracle или pgAdmin для PostgreSQL. Всё это можно получить на официальных сайтах продуктов в качестве бесплатного community edition.
Также стоит иметь общее представление об языках программирования. Нет, писать на них ничего не надо, но знать какой язык используется для написания веб-сайта, а какой для написания серверного приложения и иметь базовые представления о программировании, а так же жизненном цикле разработки — стоит. Это упростит взаимодействие с разработчиком продукта, который вы будете тестировать.
Чего ждать после первого оффера?
Скорее всего, вас взяли младшим инженером по тестированию или что-то в этом духе. Ближайшие полгода вас ждёт:
Низкий, по меркам рынка, оклад;
Куча новой (полезной и не очень) информации;
Простенькие (но вам так не покажется) задания от вашего руководителя;
Чтение документации по проекту;
Изучение уже имеющейся тестовой модели;
Прохождение готовых тест-кейсов.
Хочу подбодрить новичков, которые читают эту статью — всегда тяжело только в начале, потом, после года опыта в сфере, будет проще во многих пунктах из этого раздела :)
Как оценить свою реальную стоимость как специалиста?
Вы прошли испытательный срок, освоились на проекте и задания от руководителя, вызывавшие раньше панику, начали превращаться в рутину? Отлично! Считайте, что первый шаг уже сделан.
Первый из тысячи…)
Далее вам предстоит изучить требования к вакансиям на hh.ru или Хабр Карьера, чтобы узнать какие специалисты на рынке востребованы и какие знания и умения необходимы.
Возможно стоит даже пройти парочку собеседований, чтобы узнать зарплатную вилку, которую готовы платить работодатели. Собеседование — это всегда волнительный процесс, но со временем волнение почти уйдёт, вы точно будете знать, что хотите от своей работы и что можете предложить своему потенциальному работодателю.
В течение года я бы рекомендовал не менять первое место работы. Лучше подучитесь, заполните пробелы в знаниях и вперёд в путешествие по компаниям. Найдите уютное для себя место (если вам не повезло с первого раза) и растите там как в зарплате, так и в специальности.
Выводы
Итак, если обобщить, то вам потребуется много времени на изучение необходимой базы. Ведь вышеуказанную информацию необходимо не просто прочитать, а усвоить и уметь доставать её из своей памяти в нужный момент.
Вам облегчит путь профильное образование, но и без него можно пробиться в мир IT. Тренируйте в себе терпение и дисциплину, чтобы изучить не самый большой, но и не маленький объём весьма специфических знаний. Особенно, если ранее с IT вы тесно не общались.
Наконец, вам потребуется твёрдое желание войти в IT и стать тестировщиком. Потому как изучать что-то новое и осваивать азы профессии “из-под палки” совершенно вам не поможет, а только будет мешать и в дальнейшем приведёт к негативным последствиям.
И, напомню, что если вы в поиске крутых проектов в IT, то напишите нам, мы принимаем на работу специалистов в разных областях (QA, Java, iOS, Android-разработчики и др.), полный список открытых вакансий можете посмотреть тут или в нашем Linked IN.