Дмитрий Будим, Software Development Engineer in Test с более чем 4-летним опытом в профессии, расскажет читателям «ПрофГида» о том, как начать путь в QA.

Дмитрий Будим
Software Development Engineer in Test, airSlate

Дмитрий, кому будет интересно работать в тестировании и какими качествами нужно обладать?

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

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

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

В чем разница между тестировщиком и QA-инженером?

Очень хороший вопрос.

Формально в QA выделяют несколько профессий:

  • Software Test Engineer – выполняет функциональное тестирование продукта;
  • Quality Control Engineer – проверяет на соответствие требованиям;
  • Quality Assurance Engineer – обеспечивает контроль качества на всех этапах планирования, проектирования и разработки.

Цель тестировщиков и QC – обнаружить неисправности и расхождения с требованиями, а QA – не допустить появление дефектов через улучшение процессов разработки и тестирования. Quality Assurance – это обеспечение качества, а тестирование и Quality Control – часть этого процесса.

В наших реалиях нет разделения на подкатегории, а перечисленными выше задачами занимается Manual QA инженер – он планирует, тестирует и участвует в улучшении процессов.

В чем заключаются обязанности QA инженера? Чем он занимается на работе?

QA инженер «стоит на страже качества». Его задача в том, чтобы разрабатываемый продукт был без дефектов, соответствовал требованиям и ожиданиям пользователей.

Рабочие активности QA инженера могут отличаться в зависимости от культуры разработки и тестирования в компании, а также от текущей фазы спринта.

В основном QA инженер:

  • анализирует требования;
  • планирует тестирование;
  • составляет тестовую документацию (тест-план, чек-листы, тест-кейсы);
  • производит тестирование продукта;
  • оформляет баг-репорты;
  • ведет коммуникацию по исправлению найденных багов;
  • повторно тестирует проблемные места после исправлений;
  • анализирует причины возникновения проблем и работает над улучшением процессов.

Какие профессиональные навыки и знания необходимы для работы Manual QA?

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

Общая техническая база:

  • работа на продвинутом уровне с одной, а лучше несколькими операционными системами;
  • умение работать с командной строкой, знание базовых shell-команд;
  • понимание, как работают сети и интернет;
  • понимание клиент-серверной архитектуры;
  • базовые знания HTML, XML, JSON;
  • умение работать с Dev Tools браузера (просмотр трафика, ошибок, эмуляция соединения и др.);
  • навыки работы с Postman (умение формировать и отправлять запросы);
  • навыки работы с Charles или Fiddler (умение перехватывать и модифицировать трафик);
  • знание SQL (умение писать простые запросы в базу).

Тестирование:

  • понимание SDLC и роли тестирования в нем;
  • знание уровней, видов и методик тестирования;
  • знание техник тест-дизайна;
  • умение работать с тестовой документацией (тест-план, чек-лист, тест-кейс, баг-репорт);
  • навыки работы с TMS и Bug Tracking системами (TestRail, Jira).

Где обучаться профессии?

Самый лучший способ – это школы внутри больших компаний. Занятия в таких школах, как правило, ведут практикующие специалисты. А перспективные выпускники имеют шанс попасть в штат на trainee-позицию сразу после окончания.

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

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

Какие есть варианты развития карьеры?

Пути развития карьеры зависят от мотивации и соотношения hard & soft skills.

Можно развиваться по технической ветке, углубляя знания в предметной области, и дорасти до уровня Senior Manual QA или перейти в QA Automation, сменив мануальное тестирование на автоматизацию.

Если нравится строить процессы тестирования и управлять командами, то можно пойти по управленческой ветке и стать QA Lead.

Еще есть вариант: полностью изменить специализацию, знаю случаи, когда тестировщики становились бизнес-аналитиками и проджект-менеджерами. 

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

Дмитрий, спасибо за такие подробные разъяснения. Надеемся, они помогут разобраться читателям «ПрофГида» в особенностях профессии и построить карьеру QA Engineer′а.