Что делает этот специалист и что ему нужно знать для трудоустройства на должность «quality assurance engineer».
Рейтинг профессии
Экскурс в историю
Многие уверены, что тестировщик (QA-инженер) – сравнительно новая профессия, появившаяся примерно в середине 1990-х годов. Это ошибочное мнение. Ручной метод тестирования, проверка готового компьютерного продукта на работоспособность практиковались еще в самом начале информационной эпохи. В 1950-е – 1960-е годы мануальным тестированием активно занимались в научных институтах и кибернетических корпорациях. Первые попытки автоматизировать процесс пришлись на 1980-е годы, и они оказались успешными. Разработка инструментов, существенно облегчавших работу тестировщика, стала поворотным моментом для представителя этой профессии. Если раньше им мог стать лишь высококвалифицированный сотрудник научного учреждения, то после внедрения программного тестирования к выполнению таких задач могли допускаться даже те, кто осваивал эту сферу деятельности самостоятельно, без учебы в вузе.
Повышение востребованности профессии мануального тестировщика было обусловлено:
- стремительным увеличением количества выпускаемых программ для персональных компьютеров;
- ростом сложности разрабатываемого программного обеспечения (ПО);
- ориентацией системной продукции на массового пользователя.
В течение многих лет профессиональный тандем ручного тестировщика и программиста успешно справлялся с задачей поиска дефектов программного продукта и последующим выпуском протестированной работоспособной версии. Особую важность его работа обрела в период активного выпуска новых компьютерных игр, когда нужно было тщательно следить за правильным и бесперебойным функционированием каждого их компонента. Со временем процесс выполнения тех задач, которые специалист делал вручную, был автоматизирован. В результате заказчик получил значительную экономию бюджета, сокращение сроков производства продукта и, соответственно, его удешевление. Таким образом, буквально за несколько лет круг обязанностей мануального тестировщика существенно сузился, а вот требования, предъявляемые к нему, наоборот, возросли. Рассмотрим, чем сейчас занимается QA-инженер.
Описание профессии
Quality assurance engineer – специалист, который отвечает за качество готового IT-продукта. Его работа сводится к оптимизации разработки ПО, обнаружению ошибок в его функционировании и предотвращению дефектов.
Процесс обеспечения качества продукта состоит из трех последовательных компонентов-этапов: тестирование ПО, QC (Quality Control) и QA (Quality Assurance). Тестирование предполагает проверку с целью поиска ошибок и несоответствий выдвигаемым требованиям. Обнаруженные дефекты обязательно фиксируются в документации, где также отражается путь их воспроизведения. Затем наступает очередь QC – тщательного анализа полученных результатов и удаления задокументированных погрешностей. И наконец QA – финальная стадия, которая предусматривает обеспечение правильности и предсказуемости работы продукта в целом.
В профессии QA-инженера сочетаются 4 направления работы:
- Аналитик: проверка требований к продукту на степень полноты, однозначность, отсутствие противоречий и так далее;
- Проектировщик: создание тестов на основе выдвигаемых заказчиком требований, планирование конфигурации, необходимой для выполнения тестирования;
- Исполнитель: проведение тестов, документирование обнаруженных ошибок и создание пошаговой инструкции по их воспроизведению;
- Менеджер: планирование и контроль этапов работы, связанной с тестированием (определение сроков, создание рабочего графика, учет требований заказчика в тестах, раздача задач сотрудникам и общение со стейкхолдерами).
Если в штате компании тестировщик – отдельная должностная единица, QA-инженеру нужно четко знать, когда он приступит к работе, чтобы успеть разработать к этому моменту для него план тестирования и специальную документацию. Тестировщик знает продукт от А до Я, поэтому сразу определяет, что в нем не работает совсем, а что функционирует с погрешностями. Кроме того, он может выяснить, в чем заключается причина ошибки или как минимум понимает, где ее найти.
Разграничить эти две должности сложно, да и на практике это, как правило, один и тот же человек. Хотя в теории тестировщик должен заниматься исключительно тестированием готового продукта, а инженер – работать над повышением качества ПО в общем.
Обучение
Профессию QA-инженера сегодня невозможно получить в классическом высшем учебном заведении. Правда, на некоторых факультетах, где ведется подготовка программистов, студентам преподают краткий курс тестирования. Но этого крайне недостаточно для работы, тем более что практика с реальными проектами в процессе обучения в вузе не предусмотрена.
Будущий QA-инженер обучение может пройти самостоятельно (по видеоурокам и специальной литературе, которых в интернете предостаточно). Чтобы занять эту должность и успешно работать, необходимо понимание полного цикла разработки ПО, безупречное знание теории и основных инструментов тестирования, а также хорошее владение английским языком.
Второй вариант освоения профессии – стажировка в IT-компании. Она будет, скорее всего, неоплачиваемой, зато у вас появится возможность учиться у опытных специалистов.
Третий способ, как стать QA-инженером, – пройти курсы. Они представлены как в онлайн-, так и в оффлайн-формате, бывают краткими и развернутыми, бесплатными и платными. В процессе обучения слушатель получает самые актуальные материалы, возможность подробных консультаций с преподавателями, а также наставничество ментора, который разъяснит все, что осталось непонятным. Дополнительное преимущество курсов состоит в дисциплинировании. Бросить учебу сложнее: занятия проходят строго по заранее расписанному графику, есть домашние задания, да и успехи других слушателей подстегивают. Именно всего этого обычно не хватает в условиях самообучения.
Многие интересуются, сколько времени придется потратить на освоение профессии QA-инженера. Следует ориентироваться как минимум на 2-3 месяца, если у вас уже есть кое-какие знания. Если нужно обучение с нуля, на учебу уйдет примерно 8-12 месяцев.
Предлагаем ознакомиться с несколькими популярными онлайн-курсами, которые помогут стать quality assurance engineer:
Онлайн-школа | Название курса | Формат | Описание | Длительность обучения |
---|---|---|---|---|
SkillFactory | «Тестировщик программного обеспечения» | Онлайн-симулятор, домашние задания и обратная связь от наставников | Программа построена для обучения профессии с нуля. Сюда приходят за крепкой теоретической базой, системным аналитическим мышлением QA-инженера, практикой и заданиями, направленными на закрепление полученных умений. Слушатели погружаются в рабочий процесс тестировщика, обзаводятся навыками автоматического тестирования веб-интерфейсов и веб-сервисов REST API, учатся взаимодействию в команде. Для удобства программа разделена на тематические блоки. Первый посвящен ручному тестированию, второй – основам программирования, третий – автоматизации тестирования, четвертый – управлению проектами и командной работе. После завершения обучения выдаются сертификат и личное портфолио. | 8 месяцев |
Skillbox | «Профессия “тестировщик”» | Вебинары, домашние задания и обратная связь от наставников |
Слушатели курса обучаются мануальному и автоматизированному тестированию API, веб- и мобильных приложений, а также функциональному, нагрузочному, регрессионному и интеграционному видам тестирования. Они читают чужие коды, пишут тест-планы, тест-кейсы, чек-листы и сценарии. После завершения учебы слушателю выдают диплом и помогают трудоустроиться. |
12 месяцев |
«Нетология» | «Тестировщик» | Вечерние онлайн-вебинары-интенсивы, домашние задания, обратная связь от наставников | Программа курса предполагает изучение актуальных теорий тестирования, жизненного цикла разработки ПО, программирования (в частности объектно-ориентированного), системы управления версиями, unit-тестирования, автоматизированных тестовых сценариев, отчетов о выполненном тестировании и найденных дефектах. После завершения обучения выдается диплом и предоставляется возможность устроиться на работу в «Альфа-банк». | 6 месяцев |
QA Academy | «Тестирование ПО» и «Автоматизация тестирования» | Очный и дистанционный |
Над программами курсов работали эксперты-практики компании «A1QA». Они рассчитаны на тех, у кого нет большого опыта в IT. Теоретическая подготовка начинается с базы тестирования ПО. Слушатели поймут, в чем заключаются обязанности тестировщика, разберутся в разных уровнях тестирования и подходах к нему, усвоят, чем отличается «баг» и «фича», запомнят правила проставления степени критичности ошибок, а также обучатся работе с документацией и отчетами. Практические занятия позволят углубиться в работу QA-инженера, научиться работать с настоящей системой отслеживания дефектов и пройти весь процесс тестирования от А до Я (от поиска ошибок до создания отчетов). После окончания обучения и сдачи экзамена выдается сертификат. |
2 месяца |
GeekUniversity | Факультет тестирования ПО | Вебинары, домашние задания и обратная связь от наставников | Программа курса дает возможность ознакомиться с методологией и стандартами тестирования приложений (как веб-, так и мобильных), жизненным циклом разработки ПО. Слушатели учатся готовить кейсы, чек-листы и тест-планы, составлять сценарии тестирования. Ученики практикуют разные виды тестирования, отслеживают ошибки, разбираются с системой управления задачами. Кроме того, они осваивают базовое программирование (в том числе ООП), тест-менеджмент и автоматизацию тестирования. После окончания обучения выдают свидетельство и сертификат, а также гарантируют трудоустройство. | 12 месяцев |
Обязанности
Главная задача QA-инженера – обеспечивать качество IT-продукта. Что это значит? Процесс его контроля состоит из нескольких последовательных этапов:
- Проверить требования заказчика к ПО.
- Оценить возможные риски.
- Генерировать идеи повышения качества готового продукта.
- Выполнить тестирование.
- Проанализировать результаты тестов.
Вот что делает QA-инженер в течение своего рабочего дня:
- детализирует требования заказчика, предъявляемые к программе (этот этап работы выполняется вместе с клиентом);
- планирует процесс тестирования ПО;
- пишет тест-кейсы (сценарии);
- отслеживает жизненный цикл каждой ошибки;
- анализирует и улучшает процессы работы внутри команды;
- тестирует ПО;
- вносит обнаруженные дефекты в баг-трекинговую систему;
- обсуждает варианты исправления с командой разработчиков;
- отслеживает процесс устранения неисправности;
- повторно тестирует проблемные места;
- анализирует результаты вторичного тестирования;
- дорабатывает созданные тест-кейсы;
- оптимизирует процессы разработки, чтобы не допустить дальнейшего возникновения ошибок (если причина появления недочетов заключается в несогласованности работы разных отделов компании или в нарушении стандартов разработки, обязанность QA-инженера – показать проблему и достичь ее ликвидации);
- ведет документы по проведенным тестам.
Вначале может показаться, что обязанностей слишком много, однако на практике часть их выполняют тестировщики, QC-специалисты, разработчики и бизнес-аналитики. Поэтому на разных предприятиях спектр задач QA engineer отличен: где-то ему приходится уделять больше внимания планированию работы над ПО и багами, где-то – концентрироваться на тестах и слежении за исправленными дефектами, а где-то он сам должен исправлять выявленные недочеты.
Знания и умения
Что нужно знать будущему QA-инженеру для успешной работы? Прежде всего ему понадобится теория. Кандидат на эту должность может подробно рассказать:
- что собой представляет тестирование ПО и зачем его применяют;
- о существующих разновидностях тестирования;
- о баге и его жизненном цикле;
- о документации, которая заполняется в процессе выполнения тестов.
QA-инженер несет ответственность за оптимизацию процесса разработки, поэтому ему необходимы некоторые умения и навыки, которыми обладают другие члены команды. Он должен быть немного:
- девелопером (уметь базово читать код и осознавать технические границы для возможности реализации какой-либо функции);
- бизнес-аналитиком(иметь понятие о целевой аудитории и рынке);
- проект-менеджером(осознавать целостность всех составляющих продукта).
Кроме того, инженер должен уметь видеть создаваемое ПО глазами конечного потребителя. Это помогает повысить удобство его использования (юзабилити), а значит и качество.
Личные качества
Профессия QA-инженера подходит не каждому. Ее представителю нужно обладать определенными личностными качествами:
- аналитическим складом ума;
- абстрактным, стратегическим и критическим мышлением;
- здоровым перфекционизмом;
- способностью к работе в мультизадачном режиме;
- умением взаимодействовать с членами команды;
- коммуникабельностью (очень важны адекватная аргументация своей точки зрения и стремление к поиску компромиссов);
- ответственностью;
- внимательностью к деталям;
- настойчивостью;
- усидчивостью;
- умением грамотно определять приоритеты.
Как проходит собеседование
В процессе беседы с соискателем руководитель группы разработчиков хочет не только услышать стандартные фразы из резюме и убедиться в наличии документов, подтверждающих профпригодность, но и проверить его готовность к работе. Собеседование, как правило, состоит из таких компонентов:
- задача на логику;
- теория и практика тестирования;
- проверка уровня владения английским языком;
- вопросы о навыках и личных качествах.
Для проверки знания теории кандидата на должность QA-инженера могут попросить рассказать о процессе тестирования, дать определение терминов «баг», «тест-план», «тест-кейс», «чек-лист». Затем ему предложат рассмотреть предоставленное приложение и разработать для него тест-план, тест-кейс и чек-лист, а также найти допущенные ошибки и внести их в баг-репорты.
Заработная плата
Зарплата опытного инженера по качеству сравнима с оплатой труда программиста. На ее размер влияют регион и масштаб компании, где он работает. Разумеется, специалист, трудоустроенный в столичной крупной IT-компании, будет получать больше, чем в маленькой фирме где-то на периферии. В среднем в Москве QA-инженер может зарабатывать от 60 до 180 тысяч рублей в месяц. По России в целом ему предлагают от 35 до 160 тысяч рублей.
По статистике, зарплата специалистов, которые работают по гибкому офисному графику и удаленно, гораздо выше, чем тестировщиков, занятых строго по 8 часов 5 дней в неделю. А вот фрилансерам, периодически меняющим работодателей, удается зарабатывать менее 45 тысяч рублей в месяц.
Карьера
У QA-инженера есть 4 квалификационных уровня:
- Trainee – новичок.
- Junior – специалист с опытом работы 1-6 месяцев и основными навыками. Он знает SQL (базово), как делать тест-планы, тест-кейсы, тест-сьюты, тест-степы и в целом разбирается в тест-дизайне. Также он имеет понятие о багах priority и severity.
- Middle – средний квалификационный уровень. Опыт работы 1-3 года. Умеет работать сам и консультирует младших сотрудников.
- Senior – высшая квалификация. Выполняет самые трудные задания, применяя разные типы тестирования.
Переходя на новый квалификационный уровень, специалист повышает свой профессионализм, получает новые умения и навыки. Для сеньора дальнейший рост возможен в таких векторах:
- QA тим лид – QA-менеджер – руководитель QA-отдела (это направление позволяет дорасти до главы своего отдела);
- разработчик – начальник разработчиков – аналитик – архитектор – руководитель проекта.
Карьерный рост инженера по качеству не обязательно связан с компанией, где он работает. Специалист, достигший высокого квалификационного уровня, способен обучать других. Чтобы стать ментором, нужно зарегистрироваться как преподаватель на курсах по обучению QA-инженеров или же открыть собственные. Такую деятельность вполне можно совмещать с основной работой.
Преимущества и недостатки профессии
Чем, помимо заработной платы, привлекательна работа QA-инженера? Одно из самых приятных преимуществ заключается в осознании собственной причастности к созданию и улучшению IT-продукта, которым будут пользоваться тысячи или даже миллионы людей.
Кроме того, к плюсам относят возможность близко знакомиться с новейшими технологиями в тестировании и разработке. Если вы захотите сменить профессию, но при этом оставаться в IT-сфере, должность QA – оптимальное место, с которого удобно присматриваться к новому направлению.
Недостаток у QA-инженера лишь один – монотонность обязанностей, касающихся ручного тестирования и обновления документации. Справедливости ради отметим, что скучно может быть только в начале работы. По мере расширения круга задач работа становится гораздо динамичнее.
Перспективы
IT-продукты, которые производятся для пользования людьми, должны проверяться, соответственно, тоже человеком. Навряд ли в обозримом будущем тестировщика и инженера по качеству сможет заменить компьютерная программа или робот. Например, визуальное оформление продукта (сместившиеся компоненты, некорректное отображение мультимедиа и так далее) еще долго будет контролировать опытный QA-специалист.
Сегодня пока еще отсутствует возможность максимальной эффективной автоматизации процесса тестирование юзабилити программ или их частей. Речь идет в данном случае об игровых продуктах и мобильных приложениях, насыщенных анимацией и другими визуальными эффектами. Поэтому ручной тестировщик в течение следующие 5-10 лет не «умрет», а будет профессионально эволюционировать. Чтобы сохранить собственную востребованность как специалиста, уже сейчас желательно заняться саморазвитием, получением новых знаний и оттачиванием обретенных навыков.
Автор: Юлия Заблоцкая