IT-индустрия сегодня продолжает стремительно развиваться, а спрос на компетентных специалистов в сфере разработки и контроля качества по-прежнему достаточно высок. Есть мнение, что тестировщики и QA — наиболее доступные в освоении профессии, с которых можно стартовать в сфере информационных технологий. Так ли это на самом деле — определить можно только опытным путем. Предлагаем познакомиться поближе с профессией QA-инженера, с требованиями, которым должны соответствовать тестировщики, и перспективами, которые эта специальность открывает.
Что за профессия — QA-engineer?
QA-engineer (Quality Assurance Engineer или просто QA) — это специалист, который отслеживает качество IT-продукта, а точнее — его соответствие требованиям, предъявляемым заказчиком, и ожиданиям конечных потребителей.
Инженер по тестированию включается в работу на самом старте — с момента подготовки технической документации. Он проверяет, насколько корректны требования к будущему продукту, выявляет ошибки и таким образом избавляет компанию от многочисленных переделок на более продвинутых этапах и, соответственно, от дополнительных затрат. И далее QA продолжает курировать проект на всех этапах — до его завершения.
QA-инженер и тестировщик ПО — в чем разница?
Помимо QA-инженеров в IT есть и другие специалисты, проверяющие качество программного обеспечения. Это тестировщики (от «tester» — испытатель). Мнения по поводу идентичности этих позиций расходятся. Кто-то считает, что разделение условное — просто маркетинговый ход для привлечения внимания потенциальных кандидатов. Другие придерживаются точки зрения, что это все же два разных специалиста.
И принципиальные отличия состоят вот в чем:
-
QA-инженер знакомится с продуктом еще на стадии рождения идеи и составления технической документации и затем сопровождает его — отслеживает изменения, баги на каждом последующем этапе разработки. Причем он не просто контролирует качество, но и строит прогнозы — делает предположения, где возможны проблемы, и предлагает варианты улучшения, т. е. может влиять на результат.
-
Тестировщик получает в работу уже готовый или почти готовый продукт. Его задача — проверить, насколько он соответствует документации (буквально по пунктам в инструкции), насколько точно реализовано задуманное, все ли функционирует, как было спроектировано. Тестировщик не влияет на устранение ошибок.
Таким образом, получается, что QA и тестировщики решают одни и те же задачи:
-
контролируют качество;
-
проверяют, корректно ли функционирует продукт, соответствует ли задумке;
-
выявляют ошибки.
Но специализация у тестировщиков значительно более узкая, чем у инженеров по проверке качества ПО.
Чем занимается специалист?
QA-инженеры трудятся в самых разных сферах — логистике и госсекторе, маркетинге и медицине, ритейле и телекоммуникациях, образовании и финансовых технологиях. Поэтому функциональные обязанности могут варьироваться — в зависимости от специфики конкретной компании. Обозначим стандартный круг обязанностей инженеров QA:
-
Анализ требований на стадии создания проекта будущего программного продукта. Чтобы понять, какие функции должны быть у ПО, как они должны быть реализованы, специалист общается с заказчиком, изучает и уточняет его ожидания и пожелания.
-
Подготовка документации по тестированию.
-
Разработка сценариев тестирования (тест-кейсов). Они позволяют систематизировать и структурировать проверку.
-
Тестирование ПО на разных этапах производства.
-
Отслеживание и фиксация ошибок и недочетов (в баг-репортах), контроль за их исправлением, проведение повторных тестов.
-
Анализ полученных в ходе тестирования результатов.
-
Мониторинг метрик (показателей) качества.
-
Обнаружение проблемных участков в разработке и их оптимизация. Это позволяет устранить причины выявленных ошибок и предотвратить их появление в дальнейшем.
-
Подготовка отчетов о проведенных тестах, их количестве, результатах, в которых также содержатся выводы о продукте, его качестве в моменте, целесообразности выпуска такого ПО.
Какие навыки нужны инженеру по качеству?
Сопровождение проекта на протяжении всего цикла разработки от идеи до релиза и контроль соответствия продукта требованиям качества — дело ответственное. Для безупречного выполнения задач специалисту потребуются:
-
базовые знания языков программирования (Python, Java, JavaScript);
-
умение работать с языком запросов для баз данных (SQL);
-
знание различных моделей, методологий и подходов в разработке программного обеспечения (Agile, Waterfall, Kanban, Scrum);
-
понимание принципов тестирования;
-
знание различных видов тестирования;
-
знание принципов и правил оформления тестовой документации (тест-кейсов, чек-листов и т. д.);
-
знания об устройстве и принципах взаимодействия компьютеров, серверов, операционных систем;
-
умение работать с системами баг-трекинга, которые необходимы для систематизации и хранения отчетов об ошибках (Jira) и др.
QA-инженеры — командные игроки, которые постоянно взаимодействуют с разработчиками, администраторами, менеджерами, аналитиками, заказчиками, тестировщиками. Поэтому помимо чисто профессиональных компетенций (так называемых hard skills) им нужны и гибкие навыки (soft skills), а именно:
-
аналитическое мышление;
-
навыки эффективной коммуникации;
-
умение разрешать конфликты;
-
умение принимать решения;
-
эмоциональная стабильность и устойчивость к стрессовым ситуациям;
-
умение отстаивать свое мнение и предлагать весомые аргументы;
-
усидчивость;
-
внимание к деталям;
-
умение рационально распределять время и нагрузку;
-
умение четко формулировать свои мысли;
-
любознательность;
-
ответственность и настойчивость;
-
критическое мышление и здоровый перфекционизм.
IT-сфера стремительно развивается, а потому всем специалистам, которые в ней заняты, нужно быть готовыми к постоянному развитию, совершенствованию, самообразованию.
Где можно освоить профессию?
Освоить востребованную специальность в IT-сфере можно разными путями:
-
Поступить в вуз и пройти подготовку, например, по таким направлениям, как «Информационные системы и технологии», «Прикладная информатика», «Программная инженерия» и другим. Высшее техническое образование станет прочным фундаментом для карьеры IT-специалиста. Кроме того, его наличие приветствуется многими работодателями.
-
Самостоятельно постигать азы профессии, читая профессиональную литературу и используя интернет-ресурсы (видеоуроки, онлайн-тренажеры, чаты, где тусуются айтишники). Таким образом можно получить базовый уровень — стажера или джуниора и пытаться делать первые шаги в поисках работы. Правда, этот вариант подойдет дисциплинированным людям, у которых нет проблем с самоорганизацией и тайм-менеджментом.
-
Пройти обучение на онлайн-курсах. Дистанционный формат даст возможность планировать время по собственному усмотрению. Обучающие программы подготовлены компетентными специалистами, а информация в них четко структурирована, что позволит получить системные знания и документ, который подтвердит уровень подготовки. Профессиональная переподготовка по направлению «Технические специальности» представлена в НЦРДО.
Плюсы и минусы профессии QA
Чтобы у вас сложилось полное представление о профессии QA-инженера, предлагаем обозначить ее основные преимущества и недостатки.
Плюсы |
Минусы |
---|---|
Востребованность на рынке труда. |
Работа инженера по тестированию не предполагает частых разъездов и перемещений, сидячий образ жизни подходит не всем. |
Хорошие возможности карьерного роста: от стартовой позиции стажера или джуниора можно постепенно подняться до уровня продвинутого, старшего, ведущего инженера и стать руководителем отдела. |
Придется выучить английский, чтобы иметь возможность читать специальную литературу и самые последние новости из мира IT. |
Достойный уровень заработной платы. |
Часто приходится работать в авральном режиме, в условиях ненормированного рабочего времени. |
Возможность совершить горизонтальный переход — в смежную сферу — и развиваться в аналитике, менеджменте или разработке. |
Не у всех хватает терпения и усидчивости, чтобы раз за разом проводить тестирование и перепроверять, устранены ли баги. |
Разрабатывая сценарии тестов, можно реализовывать свой творческий потенциал. |
Каждый проект — это высокий уровень ответственности, а значит, и напряжения. |
Можно работать на удаленке и в условиях гибкого графика. |
Предстоит выполнять однообразные задачи, а рутина не всем по плечу. |