Сейчас повсюду встречается реклама тестирования, как лёгкого способа вхождения в IT. Но тестировщик — это самостоятельная сложная профессия, требующая определённых качеств и навыков. Меня зовут Марьяна Плотникова, в QA я пришла 2 года назад после 10 лет работы в журналистике :) В статье рассказываю о своем пути в тестировании и делюсь полезными ресурсами.
К тестированию присматривалась довольно долго, но прекратить лежать в сторону мечты и начать действовать не хватало решимости. К тому же бросить всё и начать с нуля после 30-ти (да и в любом другом возрасте) очень непросто. Почему именно тестирование? Думаю потому, что мне всегда нравилось разбираться в том, как всё работает или искать причины, почему не работает как должно.
Сейчас работаю в ПСБ, тестирую web – в основном бэкенд и немного фронтенда, учусь автоматизировать на Python и Kotlin.
Мое мнение, что идти в тестировщики, чтобы потом перейти в разработку — не очень хорошая идея. Ведь главный ресурс, который есть у вас, — это время. Лучше сразу потратить его на изучение области, которая вам действительно нравится, а не терять несколько месяцев или лет, осваивая не интересующую профессию.
Кому будет интересно тестирование
Если вам нравится докапываться до сути проблемы, то тестирование для вас. Для тестировщика важно быть внимательным, усидчивым и дотошным. Ещё важна логика, умение мыслить критично, видеть вариативность процессов и уметь представить множество сценариев в ситуациях, когда многие видят один-два варианта. И очень важно не бояться задавать вопросы.
Чем занимается тестировщик
Представьте, вы купили микроволновку, распаковали, включили в розетку, но она не подала никаких признаков жизни. Вы достали инструкцию, внимательно её изучили, попробовали описанные в ней шаги. Ничего не помогло. Поздравляю, вы нашли баг в микроволновке. Может показаться, что к этому сводится работа тестировщика, но не всё так просто.
Тестировщик проверяет, соответствует ли реальное поведение системы или продукта ожиданиям. Он анализирует требования и проводит эксперименты, изучая поведение продукта в разных ситуациях. Для него важно уметь представить себя на месте обычного пользователя, но при этом хотя бы в общих чертах понимать работу системы или продукта изнутри, говорить с разработчиками и аналитиками на одном языке.
Какой технический бэкграунд нужен в начале пути
Для тестировщика важно понимать, как устроено то, что он проверяет. Это помогает точно локализовать проблему и правильно её описать. Поэтому понадобятся общие знания о технологиях и устройствах систем.
Если вы планируете заниматься веб или мобильным тестированием, для начала посмотрите:
что такое REST API — нужно знать, какие методы есть и уметь объяснить, чем они отличаются и когда какой используется. Также полезно познакомиться с кодами состояний. Все знать не обязательно, но понимать, что 4xx коды — ошибки на стороне клиента, например, переданы несуществующие данные, а 5хх — проблемы на стороне сервера.
Для тестирования десктопных приложений изучите устройство компьютера, какие бывают операционные системы, их основные отличия друг от друга.
Конечно, начать путь в тестировании можно и без этих знаний, но они помогут быстрее погрузиться в контекст и не теряться в том объёме информации, который обрушится на вас с первой работой.
Из специфических знаний нужно знать теорию тестирования. Прежде всего, она помогает структурировать работу, понять, с какой стороны подступиться к задаче и не изобретать велосипед. Основные моменты, которые помогут на старте и которые спрашивают на собеседовании у начинающих:
как пишутся тест-кейсы и чем они отличаются от чек-листов;
Обязательно необходимо иметь представление о баг-трекинговых системах и системах управления задачами, например, Jira, YouTrack, Redmine, Bugzilla и системах управления тестированием, например, TestRail и Test IT.
Также плюсом будет знание SQL на уровне простых запросов, например, как получить из таблицы данные пользователя с id=1. Также полезно разобраться с тем, что такое логи и как они помогают в процессе тестирования.
Где искать знания
Теория тестирования
Очень большая база знаний по тестированию — библия QA. Это почти 300 страниц из смеси ответов на вопросы с реальных собеседований на QA, полезных ресурсов и статей, переводов зарубежных статей.
Попробовать применить теорию на практике можно на сайте с челленджами по тестированию (на английском языке).
Книги
Святослав Куликов «Тестирование программного обеспечения. Базовый курс» — одна из лучших и постоянно обновляемых книг по основам тестирования.
«Тестирование программного обеспечения» Сэма Каннера книга далеко не новая, но при этом хорошо описывающая тестирование с практической точки зрения.
Курсы
Курсы помогают систематизировать знания и попробовать себя в роли тестировщика. Большинство курсов помимо базовых знаний знакомит также с основами автоматизации. У известных онлайн-площадок сейчас обучение длится от нескольких месяцев до года. Во процессе учёбы вас сопровождают наставники, после возможна помощь с трудоустройством (это зависит от программы). Онлайн-курсы сейчас предлагают:
Школа для начинающих тестировщиков Ольги Назиной;
Otus. Перед стартом потока обычно проходит день открытых дверей в формате онлайн-трансляции, на котором рассказывают про программу обучения;
GeekBrains. Есть бесплатный двухчасовой интенсив по тестированию, на котором предлагают попробовать себя в тестировании и понять, подходит ли вам эта профессия;
у «Яндекс.Практикум» в курсе по тестированию можно бесплатно пройти введение;
Нетология предлагает шестимесячные курсы с основами автоматизации на Java;
у SkillFactory в курсы также входит автоматизация: на Python или на Java;
SkillBox также предлагает курсы с основами автоматизации на Java.
Если по какой-то причине онлайн-обучение вам не близко, есть и оффлайн курсы по основам тестирования, например, в Москве — в учебном центре «Специалист» при МГТУ им. Н. Э. Баумана или в сетевой академии «Ланит», в Санкт-Петербурге — в компании «Бруноям».
Есть и бесплатные онлайн-курсы по основам тестирования. Например на stepik.org выложено «Введение в тестирование» — записи занятий Школы Тестирования от Women In Tech Russia, Test IT и молодежного пространства Просто. На YouTube можно посмотреть курс лекций по качеству и тестированию от mail.ru (лектор Алексей Петров) или курс «Тестировщик с нуля»
Сообщества
@qa_ru — русскоязычное сообщество в Telegram.
@pro_test_chat — чат веб-каста ПРО тест, интервью с QA-профи. Всегда можно задать вопрос экспертам.
@qajuniors — чат начинающих QA
Женское комьюнити QA Sisters.
Как искать первую работу
Обычно на курсах очень много возможностей для практики не "на кошечках", а на реальных кейсах компаний. Оплачиваемую работу можно поискать через специальный отдел тех же курсов, а также на сайтах по поиску работы и тематических сообществ. Если вам хочется попасть в конкретную компанию, изучите её сайт, ради интереса можете его протестировать. У крупных компаний, как правило, есть раздел с вакансиями, либо указан способ связи для тех, кто хочет с ними сотрудничать. Можно написать и поинтересоваться, берёт ли компания начинающих или стажёров, например, стажировки есть у Яндекса и «Ланита».
Не бойтесь откликаться на вакансии и всегда пишите сопроводительное письмо. Если переходите в тестирование из другой сферы, подумайте, как предыдущий опыт поможет вам на новом месте и напишите об этом. Рассказывать об опыте работы в коллективе — важно, поскольку это может стать одним из ключевых показателей того, впишитесь ли вы в новую команду или нет.
Не бойтесь ходить на собеседования. Даже если вы получите отказ, это будет полезный опыт: вы поймёте, как проходит собеседование, что спрашивают, где у вас пробелы в знаниях, чему нужно уделить особое внимание. И помните, что на собеседовании не только компания оценивает вас, но и вы оцениваете компанию: насколько комфортно вам будет там работать, чему вы сможете научиться. Поэтому готовясь к собеседованию, составьте списков вопросов, которые хотели бы задать потенциальному работодателю.
Куда двигаться дальше
Развиваться тестировщик может в автоматизацию, тестирование производительности и нагрузочное тестирование, тестирование безопасности, либо в менеджмент, управление и налаживание процессов тестирования.
Язык программирования нужен! Для автоматизации нужно будет изучить какой-либо язык программирования. Сейчас самые популярные — Python и Java. Автоматизировать можно как бэкенд, так и фронтенд. По фронтенду есть бесплатный курс по Python и Selenium. Для автоматизации тестирования бэкенда нужно понимать, как тестировать API или интеграции. Для тестирования безопасности — знать, что такое cookies, токены, авторизация и аутентификация.
Начиная свой путь в тестировании не пытайтесь сразу запомнить всё и не бойтесь, если поначалу не будете знать чего-то. С практикой знания, как детали пазла, будут вставать на место, а вы — чувствовать радость от того, что теперь поняли, как это всё работает и зачем это нужно. И помните, что всегда можно спросить или загуглить.