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-инженеров можно сравнить с зарплатой программистов.
Ступеньки карьеры и перспективы
Существует 4 уровня квалификации:
- Trainee QA Engineer — начинающий специалист.
- Junior QA Engineer — специалист, проработавший в должности от 1 до 6 месяцев и имеющий определённые навыки в работе. Знающий, что такое тест-план, тест-кейс, тест-сьют, тест-степ, тест-дизайн в общих чертах, Definition of Done. Имеющий представление о дефектах Severity и Priority. Базовые навыки SQL - селект, упдейт.
- Middle QA Engineer — специалист среднего уровня квалификации, со стажем работы от 1 до 3 лет, умеющий работать самостоятельно и консультирующий младший персонал.
- Senior QA Engineer — специалист высшей квалификации, выполняющий самые сложные технические задачи широкого спектра, используя разные виды тестирования.
Пройдя эти 4 этапа, работники повышают профессиональный уровень, осваивая новые технологии. Далее профессиональный рост возможен:
- в направлении QA team lead — QA-manager — Head of QA department, то есть до позиции начальника смены или направления внутри отдела;
- до позиции разработчика, руководителя разработчиков, аналитика, архитектора вплоть до руководителя проекта внутри компании.
В настоящее время открыто множество курсов по обучению QA-инженеров. Вести преподавательскую деятельность, совмещая её с работой, также считается очень престижным.
В ходе карьерного роста можно переквалифицироваться в бизнес-аналитики или программисты, развиваться как управленец в направлении senior project manager — CTO.
Автор статьи Флюра Ягофарова