Они все пытаются донести мысль о том, что «самый лёгкий способ попасть в IT — идти в тестирование». Так ли это на самом деле? Что нужно знать о профессии и что нужно знать, чтобы войти в профессию? Попытаемся найти ответ в этой статье.
А самый ли лёгкий путь? Вышеуказанный тезис я слышу в 70% случаев, когда задаю вопрос «Почему вы решили попробовать себя в тестировании?» кандидатам на позицию Junior QA Engineer. Я не планирую разрушать этот миф, ведь это и не совсем миф. Однако считаю важным пролить свет на этот вопрос, дабы взглянуть на него пошире. Является ли тестирование самым легким способом попасть в IT? Конечно же, нет. Образ IT-компании как места, в котором сидят 20 человек, жмут кнопки, пьют кофе и говорят на смеси русского с техническим английским, уже давно пора похоронить. На этих предприятиях также трудятся маркетологи и юристы, бухгалтеры и кадровики. Это лишь краткий список сотрудников, и если вы уже состоялись как специалист в этой отрасли, то путь в IT-мир для вас может быть гораздо проще, чем изучение новой профессии тестировщика.
Можно много спорить о терминах, но в большом количестве вакансий «Тестировщик» и «QA Engineer» пишутся через косую черту и используются как взаимозаменяемые. И тестировщик — это действительно техническая должность, должность инженера. Но, пожалуй, действительно с самым низким порогом вхождения среди всех инженерных позиций в IT-компаниях. Отсюда и пошла вот эта легенда про «самый лёгкий путь». В тестирование действительно можно прийти без знаний алгоритмов сортировки на C++ или умений администрировать сервер на Linux. Однако уровень технической базы должен быть высоким, и нужно быть готовым регулярно повышать её. Тем, кто обучался на IT-специальностях в университете, конечно, будет проще, но это не значит, что профильное образование является обязательным условием для начала карьеры в тестировании.
Кроме того, рекомендую изучить вакансии тестировщиков на уровнях Junior и Middle еще до того, как вы решитесь окунуться в освоение новых навыков. Это даст вам понимание заработной платы младшего инженера, и сколько времени занимает рост до уровня Middle. Это зачастую всё индивидуально: кто-то развивается быстрее, кто-то медленнее, но получить какие-то средние цифры это вам поможет. Возможно, вы просто не окажетесь готовы сделать сейчас шаг назад в своем ежемесячном доходе, даже если в перспективе через какое-то время он превысит ваш текущий.
А что нужно знать и уметь? На заводе хорошо, а в трамвае — лучше, я б кондуктором пошел, пусть меня научат. В. Маяковский На собеседованиях я неоднократно слышал формулировку, напоминающую цитату из стихотворения Маяковского. Что-то по типу «ну примерно кто такой тестировщик я почитал, готов обучаться». Стремление к обучению — несомненный плюс, и этим вы будете заниматься всю свою карьеру, но в начале пути уже надо что-то знать и уметь. Дальше я буду описывать, что IT-компании ожидают от кандидата на должность младшего инженера по тестированию.
Soft skills Я начну именно с soft skills, так как считаю их даже более важными. Технические недочёты можно закрыть с помощью усердия и свободного времени, а вот «переделать себя» будет уже сложнее. Именно через эти навыки можно понять, подходит ли вам работа в тестировании.
1. Усидчивость
Уже утомились читать эту статью? Очень плохо. В тестировании вам придется читать очень много технической документации, понятной и не понятной, актуальной и не очень. Кроме того, придется повторять одни и те же действия для проверки одной и той же функциональности. Деятельность тестировщика очень монотонна, и надо быть к этому готовым.
2. Внимательность
Тестировщик — это человек, ответственный за качество конечного продукта. Стоимость исправления дефекта, обнаруженного при тестировании, и обнаруженного при опытной эксплуатации существенно отличается, поэтому невнимательный тестировщик — это слишком большая роскошь для бизнеса. Вы должны уметь концентрироваться на задачах, которые выполняете, иначе будете пропускать ошибки/затягивать процесс тестирования, что сведет пользу вашей работы к нулю.
3. Коммуникабельность
Один мой знакомый сказал мне, что решил изучать тестирование для последующего переезда за границу, так как «английский мой не очень, поэтому выбрал там, где надо общаться поменьше». Конечно, коммуникаций у менеджера по продажам поболее, чем у тестировщика. Но тестировщик — это человек, который не может работать по принципу «взял задачу — решил задачу — закрыл задачу». Тестировщик ежедневно коммуницирует с разработчиками, аналитиками, другими тестировщиками из смежных команд. Кроме того, так как тестировщики становятся самыми опытными пользователями разработанных продуктов, они так же могут общаться с бизнес-заказчиками, проводить демонстрации доработок и так далее. Если вам неуютно много общаться на работе, то работать в тестировании вам не понравится.
4. Адаптивность
Умение переключаться между задачами без потери концентрации очень ценится. Меняются проекты, продукты, платформы, процессы, и нужно успевать перестраиваться под новые условия.
Hard skills Вышеуказанные навыки — не просто стандартная отписка в резюме, это действительно важные характеристики. Если по ним вы узнаёте себя, то можно перейти к технической составляющей знаний и умений кандидата.
1. Методологии разработки ПО
Разработка ПО — непрерывный процесс, практически живой организм, и важно понимать в нём свое место. Зачастую тестировщики попадают на проект, где разработка идет уже активно. Именно поэтому нужно понимать: когда задачи попадают к тестировщику, когда нужно проводить этапы приемочного и регрессионного тестирования, как созданные баг-репорты будут попадать к разработчикам.
2. Теория тестирования ПО
Считается, что без практики теория бесполезна. Но обратное утверждение может быть еще более справедливым. Если вы собираетесь работать в тестировании, то вы просто обязаны знать, что же такое тестирование, какие существуют виды тестирования и зачем вообще их как-либо делить, какими бывают требования к продукту. Отдельно стоит разобраться с техниками тест-дизайна. Ведь на самом деле, хоть при первом прочтении они кажутся достаточно примитивными и слишком теоретическими, это является основой всех проверок, которые проводит тестировщик.
3. Виды тестовой документации
Весь труд тестировщика должен быть зафиксирован с помощью различных видов тестовой документации. Тестировщик на теоретическом уровне должен быть знаком с понятиями тест-плана, отчёта о проведении тестирования. А вот с тест-кейсами, чек-листами и баг-репортами желательно быть знакомым и на практике. На собеседованиях я часто слышу: «Не было практики, так как нечего было тестировать». Вздор! Работа тестировщика — это не значит найти баг, это значит убедиться, что багов нет. А вот как вы это будете проверять, можно вполне описать на любом доступном примере. Откройте форму авторизации на одной из соседних вкладок или же посмотрите на чайник на вашей кухне и попробуйте описать проверки для корректной работы этой формы/прибора. Найдёте ошибку — супер. Попробуйте её грамотно расписать по всем правилам оформления баг-репорта. Кроме того, приятным бонусом будет, если вы изучите, какие системы используют IT-компании для заведения баг-репортов и тест-кейсов.
4. Базы данных
Каждому тестировщику приходится сталкиваться с понятием тестовых данных. Как их добыть/создать может быть несколько способов, часто это можно сделать с помощью пользовательского интерфейса используемого продукта. Но зачастую это а) долго, б) невозможно. И тогда появляется необходимость обратиться напрямую к базе данных. Младший инженер по тестированию должен знать о том, что такое база данных, какие типы этих баз данных бывают, из чего эти базы данных состоят. Несомненно, нужно владеть минимальными навыками написания запросов на языке SQL. В первую очередь, это SELECT на уровне выборки из нескольких таблиц, с возможностью группировки данных, применения функций агрегирования и сортировок. Кроме того, вашим преимуществом будет умение применять запросы INSERT, UPDATE и DELETE.
5. API
На самом деле этот вопрос немного шире. Кандидат должен понимать, что такое клиент-серверная архитектура, как взаимодействуют между собой различные модули веб-приложения, что такое frontend и backend. Желательны практические навыки работы c SOAP и REST в популярных приложениях: SOAP UI, Postman, Insomnia; понимать, чем такие виды веб-сервисов отличаются. Термины «WSDL» и «HTTP-метод» зачастую будут звучать на собеседованиях, так что нужно изучить эту тему заранее. Бонусом будет, если вы также сможете рассказать о MQ-очередях, как об ещё одном способе передачи данных.
Как обучаться тестированию? Список солидный, не правда ли? Всё ещё считаете тестирование лёгким путём в IT? Если не испугались, то давайте рассмотрим способы обучения.
1. Курсы
Сейчас в Сети и не только достаточно много курсов по обучению профессии «тестировщик ПО». У многих из них действительно хорошие программы. Как выбрать самый лучший? При выборе обращайте внимание на то, насколько она соответствует тому, что ожидается от кандидата — это я описал выше. Важным фактором также является наличие практических заданий. Это даст вам не только полезный опыт, но и сформирует у вас окончательное понимание, насколько вам подходит эта профессия. Рекомендую также почитать отзывы выпускников, чтобы понимать, удаётся ли с полученным багажом знаний устроиться на работу. Подходящая вам стоимость обучения определяется исключительно вами. Курсы отлично подходят тем людям, которым проще обучаться в группах, в формате «преподаватель — ученик», чем изучать самостоятельно. Но помните: сам факт прохождения курса не гарантирует вам получение высокооплачиваемого места работы. Главное — это ваши знания и умения, которые вы с этих курсов должны вынести.
2. Литература
Тут я имею в виду буквально книги. Книг по тестированию меньше, чем по программированию, но и тут есть что почитать. В книгах информация изложена весьма структурировано, что позволяет эту информацию, как кирпичиками, выложить у себя в голове. Конечно, недостаток книг — это то, что они дают только теоретические знания, но как я писал выше, практические навыки вы можете получить, просто тестируя то, чем пользуетесь ежедневно. Хотите контроль? Попросите друзей повторить действия из ваших проверок. Чем меньше у них возникнет вопросов — тем понятней и правильней составлен тест-кейс.
3. Интернет
В интернете много текстовых и видеоматериалов по тестированию, базам данных и веб-сервисам. Впрочем, я советую прибегать к этим материалам исключительно дополнительно к тому, что вы услышите на курсах или прочитаете в книгах. Прошли занятия по тест-дизайну? Прочитайте 2−3 статьи об этом, чтобы углубиться в тему. Почему плохо готовиться, исключительно обращаясь к Гуглу с тем или иным термином? Вы не получите целостного понимания того, что вам нужно изучить, и несколько уточняющих вопросов на собеседовании вас поставят в тупик.
Какой способ обучения лучше всего? Все вместе, разумеется. Изучили новую тему — пошли почитали в Интернете, забежали на онлайн-тренажёр для написания SQL-запросов, параллельно попробовали поработать в Postman. И помните: освежать знания нужно постоянно. Я часто слышу фразу: «Да, SQL пробовал, но это было пару месяцев назад, чуть подзабыл». Забывать — это нормально, но преимущество всегда будет у кандидата, который не забыл. Намёк, я думаю, понятен.
Собеседование После того как вы почувствовали, что готовы начинать работу, все необходимые навыки у вас есть, нужно заполнить резюме. Тут важным моментом является, какие навыки указывать. Практически все кандидаты делятся на два лагеря. Первые пишут в навыки всё то, что слышали краем уха, а когда начинаешь задавать им вопросы об этом, оказывается, что «я в курсе про это, но практических навыков нет». Другие же думают: «Ну я об этом только читал, указывать это не буду», и по итогу просто не доходят до собеседования, так как у них не указано необходимых для работы навыков. Так что же делать? Указывать те навыки, изучению которых вы уделили достаточно времени, чтобы рассказать, что это такое, для чего применяется и с какими инструментами. Глубину ваших знаний можно честно указать в разделе «О себе». Если вы претендуете на должность младшего специалиста, то никто от вас не будет ждать экспертных знаний в этом. Пишите честно.
Когда вам назначат собеседование, то очень важно на это собеседование прийти вовремя. Если собеседование проводится удалённо, то включите камеру. В остальном же это банальные и понятные, но при том важные вещи по типу: выглядеть опрятно, исключить из речи нецензурную лексику и так далее. Поверьте, бывали разные случаи. Не стоит волноваться: держите в голове мысль, что первые 2−3 собеседования для вас важны как получение опыта, исследование недочётов в вашей подготовке. В конце концов, вы не проситесь на работу, а предлагаете свою кандидатуру для сотрудничества, и как вы можете не подойти компании, так и компания может не подойти вам.
Помимо вопросов, которые работодатель задаёт вам, важной частью являются ваши вопросы работодателю. Это стандартные вопросы об оформлении, графике работы, размере заработной платы, но также узкие вопросы, которые могут дать вам понимание вашего развития.
1. Сколько сотрудников компании работают в тестировании? Есть ли политика менторства?
Для начинающего тестировщика очень важно присутствие опытного инженера, который может сделать период адаптации более комфортным и быстрым. Кроме того, работа со сформировавшимися профессионалами делает вас как специалиста лучше. Несколько раз я собеседовал тестировщиков из веб-студий с опытом работы в 1−1,5 года, но их уровень навыков был не лучше Junior’ов. Почему так? Они были там единственными, кто занимался тестированием, их никто не контролировал, не давал оценку их работе. Задачи были монотонными, поэтому отдельные навыки типа SQL не применялись и забылись.
2. На каком проекте мне работать? Какие технологии там применяются и по какой методологии разрабатывается ПО?
Кроме того, что такой вопрос демонстрирует вашу заинтересованность в работе для работодателя, ответ на этот вопрос даст вам понять, с чем вам предстоит столкнуться на проекте, какие технологии сейчас востребованы. Часто бывает так, что есть вакансии на разных проектах и уже по итогам собеседования становится понятно, какие навыки у кандидата развиты лучше и на какой проект он подходит больше. Чем больше применяется технологий, тем лучше для вас как для специалиста. Снова приведу пример из собеседований. Был период, когда в одно время собеседовал 3−4 ребят из геймдева. Работа мечты, казалось бы: играй в игры, проверяй, что доработка работает, дальше исследовательским путём ищи ошибки. Их навыки тестирования были хороши, но на вакансии, где требуется знание тестирования интеграции, они не подходили, так как не были к этому готовы. Зато подошли кандидаты вообще без опыта, но со свежими знаниями и умениями в Postman и SOAP UI.
3. Какие у меня есть пути развития в компании? Есть ли практика внутреннего обучения?
На этапе подготовки к первому собеседованию обучение не заканчивается. Чем больше вы будете учиться, тем крепче вы будете стоять на ногах на рынке IT-специалистов. Впрочем, не со всеми технологиями мы можем столкнуться на проекте, а на следующем они будут нужны (пример геймдева выше). Внутреннее обучение позволяет открыть «второй фронт» для развития ваших навыков. Кроме того, вам нужно понимать, как ваше развитие как специалиста будет коррелировать с вашим развитием в компании, когда вы сможете изменить свой уровень заработной платы, должность, сложность проекта. Некоторые стесняются задавать такие вопросы, но в этом нет ничего стыдного и наглого, это абсолютно деловой вопрос двух заинтересованных сторон.
Я получил оффер! Когда вы получите оффер на желаемую должность тестировщика, то еще раз вам стоит всё обдумать. Смена профессии не такой уж лёгкий шаг, а работа не так уж проста. Поэтому оцените еще раз все риски и преимущества, которые вам даёт это решение, и тогда принимайте/не принимайте предложение о сотрудничестве.
Тестирование — это очень интересная и важная отрасль IT-сферы. Если вы после прочтения этой статьи готовы посвятить себя этой профессии и знаете, что у вас есть все необходимые навыки для этого, то составляйте резюме и присылайте его через форму обратной связи Logrocon. Наши эксперты в тестировании готовы
пообщаться, дать обратную связь и предложить интересные проекты достойным кандидатам.