Профессия QA-инженер: особенности, обязанности, плюсы и минусы, обучение, работа и карьера

22 мая 2023, 18:39

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

Профессия подходит тем, кого интересует информатика.

QA-инженер – Quality Assurance engineer (Quality Assurance дословно означает «обеспечение качества») — это специалист по функциональному тестированию программного обеспечения на этапе разработки.

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

Внутри процесса QA выделяют процесс Quality Control — контроль качества продукта. QC-специалисты анализируют результаты тестирования и отвечают за выявление и уничтожение дефектов в программном обеспечении. А тестировщик ПО является ещё более узким специалистом в пределах QC: он исследует готовое ПО на наличие багов (ошибок) и документирует выявленные дефекты. То есть, тестирование ПО является одним из этапов в процессе QA/QC – обеспечения и контроля качества.

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

Но чтобы стать хорошим QA-инженером необходимо пройти позицию тестировщика по всем этапам.

В работе над крупными проектами функции QA-инженера могут выполнять несколько человек и их обязанности представлены таким образом:

  • Test Analyst занимается статическим тестированием требований и проверкой их полноты и достаточности;
  • Test Designer формирует набор тестов на базе этих требований, создаёт конфигурации тестирования;
  • Test Executor исполняет тестирование, документирует найденные баги (ошибки) и шаги их воспроизведения;
  • Test Manager осуществляет планирование и контроль тестировочных работ, коммуникации с заинтересованными лицами по проекту (так называемыми стейкхолдерами).

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

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

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

Особенности профессии

Функциональные обязанности QA-инженера:

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

Плюсы и минусы профессии

Плюсы

  • Возможность (и необходимость!) постоянного повышения профессионального уровня в соответствии с прогрессом IT-отрасли и сферы бизнеса. Профессия не позволяет расслабиться и умственно деградировать, заставляет быть в курсе новых технологий.
  • Высокая оплата труда.
  • Престиж и всё возрастающая востребованность профессии в будущем.

Минусы

  • Главный минус — рутинная и монотонная работа при прохождении тест-кейсов в ручном тестировании и работе с документацией.
  • Один общий минус для всех профессий IT-сферы — постоянная сидячая работа за компьютером.
  • Возможное недовольство заказчика результатом работы.
  • Большое количество заинтересованных лиц в каждом проекте, у которых свои пожелания и требования: заказчики, разработчики, пользователи.

Важные качества

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

Инструменты для QA-инженеров

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

Selenium – Бесплатный инструмент, который используется для автоматизированного тестирования web-приложений. Поддерживает все известные браузеры разных операционных систем: Windows, Linux, Mac, а также позволяет писать сценарии тестирования на основных языках программирования. Однако, selenium имеет ограниченный функционал и предназначен только для тестирования веб-приложений.

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

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

IBM Rational Functional Tester – инструмент для автоматизации процесса тестирования приложений HTML, Java™, Dojo, Ajax, Microsoft Windows, Microsoft .NET, Microsoft Silverlight, Microsoft Visual Basic, Siebel, Flex, GEF и PowerBuilder, которые выполняются в ОС Microsoft Windows и Linux. Здесь, так же, можно записывать и воспроизводить действия пользователей, а также сценарии для тестирования новых компоновок приложения или ПО. Но полноценное функционирование раскрывается только в IBM среде.

TestComplete – еще один инструмент для автоматизированных тестирований десктопных, веб и мобильных приложений. Поддерживает большое количество языков программирования такие, как VBScript, JScript, DelphiScript, C++Script, C#Script, и тестируемых приложений .NET, Java, Visual C++, Visual Basic, Delphi, C++Builder. Также позволяет записывать и воспроизводить действия пользователей и выполнять различные виды тестирования.

Необходимые навыки и что должен знать QA-инженер

  • понимание жизненного цикла и этапов разработки ПО;
  • ориентироваться в кодах программирования;
  • владеть новыми технологиями в области тестирования и знаниями актуальных инструментов для проведения ручного и автоматического тестирования;
  • относительно высокий уровень английского языка;
  • знание систем bug-трэкинга (bug tracking system) таких, как Jira/YouTrack, например;
  • уверенно работать с протоколом HTTP и его кодами ответов сервера;
  • умение работать программный интерфейсом DOM;
  • понимание объектно-ориентированного программирования (ООП);
  • знание языков HTML и данных JSON;
  • умение работать с данными cookie & session;
  • знание SQL;
  • умение вести тестовую документацию;
  • понимание Agile/SCRUM/Lean методов;
  • знание и понимание системы CI&CD: программ GitLab, Docker, Kubernetes или их аналогов;
  • понимание Microservice Arhitecture, HighLoad;
  • умение работать с инструментами и методами обработки BigData;
  • тестирование программных решений на основе технологического стека (GoLang и/или php (symfony), PostgreSQL и/или Clickhouse);
  • навык составления тест-планов и тест-кейсов.

Этапы профессионального роста QA Engineer

Trainee QA Engineer — уровень начинающего QA-инженера с минимальным опытом работы.

Junior QA Engineer — специалист, имеющий опыт работы до 6 месяцев и уже имеющий определенные навыки.

Middle QA Engineer — инженер с опытом работы 1-3 года (средняя степень квалификации). Знает, как выполнять поставленные задачи (составления сценариев тестирования, ведение технической документации) и способен консультировать начинающих сотрудников.

Senior QA Engineer — инженер высшей степени квалификации, умеющий выполнять сложные технические задачи.

Обучение на QA-инженера (образование)

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

Место работы

  • IT-компании;
  • независимые компании по тестированию;
  • крупные компании, внедряющие свои программы.

Зарплата

  • Россия: 30 000 — 130 000 ₽
  • Москва: 50 000 — 210 000 ₽

Оплату труда продвинутых QA-инженеров можно сравнить с зарплатой программистов.

Источник: https://start-365.ru