QA-инженер

QA-инженер

Профессия 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-сферы — постоянная  сидячая работа за компьютером.
  • Возможное недовольство заказчика результатом работы.
  • Большое количество заинтересованных лиц в каждом проекте, у которых свои пожелания и  требования: заказчики, разработчики,  пользователи.

Место работы

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

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

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

Где учиться на QA-инженера (образование)

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

Высшее образование:

Для успешной работы QA-инженеру необходимо:

  • высшее техническое образование в сфере IT-технологий по специальности "Информационные системы и технологии" или "Автоматизация систем обработки информации и управления";
  • знание  Unix\Linux систем на уровне продвинутого пользователя;
  • знание  SQL (PL\SQL, MySQL, Oracle);
  • хорошее знание методов тестирования;
  • опыт автоматизации тестирования (знание программ Silk Test или Rational Robot);
  • опыт функционального тестирования распределенных систем;
  • опыт программирования на Java;
  • технический английский (upper-intermediate).

Оплата труда

Диапазон зарплат на 22.08.2017

Москва 30000—90000 р.
Россия 25000—100000 р.

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

Ступеньки карьеры и перспективы

Существует 4 уровня квалификации:

  1. Trainee QA Engineer — начинающий специалист.
  2. Junior QA Engineer — специалист, проработавший в должности от 1 до 6 месяцев и имеющий определённые навыки в работе. Знающий, что такое тест-план, тест-кейс, тест-сьют, тест-степ, тест-дизайн в общих чертах, Definition of Done. Имеющий представление о дефектах Severity и Priority. Базовые навыки SQL - селект, упдейт.
  3. Middle QA Engineer — специалист среднего уровня квалификации, со стажем работы от 1 до 3 лет, умеющий работать самостоятельно и консультирующий младший персонал.
  4. Senior QA Engineer — специалист высшей квалификации, выполняющий самые сложные технические задачи широкого спектра, используя разные виды тестирования.

Пройдя эти 4 этапа, работники повышают профессиональный уровень, осваивая новые технологии. Далее профессиональный рост возможен:

  • в направлении QA team lead — QA-manager — Head of QA department, то есть до позиции начальника смены или направления внутри отдела;
  • до позиции разработчика, руководителя разработчиков, аналитика, архитектора вплоть до руководителя проекта внутри компании.

В настоящее время открыто множество курсов по обучению QA-инженеров. Вести преподавательскую деятельность, совмещая её с работой, также считается очень престижным.

В ходе карьерного роста можно переквалифицироваться в бизнес-аналитики или программисты, развиваться как управленец в направлении senior project manager — CTO.

Автор статьи Флюра Ягофарова

А какая профессия подходит Вам? Обратитесь за помощью к профессионалу

Профориентация для взрослых: поменять профессию взрослому или уточнить направление движения в профессиональной жизни.

Профориентация для школьников: кем стать после школы, какую профессию выбрать?

Профориентация детей от 6 до 12 лет: диагностика, выявление способностей школьников.


Комментарии

войти, используя

Здесь пока никто ничего не написал. Будьте первыми!

Похожие статьи

Программист

Программист Программист — это специалист, который занимается разработкой алгоритмов и компьютерных программ на основе специальных математических моделей.

Верстальщик HTML (HTML-верстальщик)

Верстальщик HTML (HTML-верстальщик) HTML-верстальщик – это специалист, выполняющий вёрстку web-страниц. Другими словами, он создаёт HTML-шаблон для web-сайта с использованием знаний HTML-кода и всех особенностей стиля и графического оформления.

Мобильный разработчик

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

Фронт-энд разработчик (front-end developer)

Фронт-энд разработчик (front-end developer) Фронт-энд разработчик (с англ. «front-end developer») - это программист, занимающийся разработкой пользовательского интерфейса, то есть внешней публичной части сайта в браузере.

Другие профессии в разделе «Информационные технологии (IT)»