В российской IT-индустрии QA-инженеров и тестировщиков ПО часто путают: порой сами работодатели не видят различий между этими профессиями. Но разница всё-таки существует, и немаленькая. QA-инженер — специалист с более широкими компетенциями. В отличие от тестировщика, он контролирует качество продукта с момента возникновения идеи до релиза.
Какие именно задачи решает QA-специалист, какие навыки ему нужны в работе и как им стать — расскажем в нашем материале.
Благодарим Никиту Балясного, senior QA-инженера в М.Видео и эксперта Нетологии, за помощь в подготовке материала.
Кто такой QA-инженер и чем он отличается от тестировщика ПО
QA — Quality Assurance — переводится с английского как «обеспечение качества». QA-инженер — специалист, который следит за качеством продукта на всех этапах его разработки.
В современных реалиях работа QA-инженера начинается ещё на стадии написания технической документации: он тестирует её и проверяет требования к продукту на наличие ошибок, тем самым помогая компании экономить на их исправлении.
QA-инженеров часто путают с тестировщиками, хотя эти профессии сильно отличаются друг от друга.
Если тестировщик проверяет работу уже готового или почти готового продукта, то QA-инженер обеспечивает качество на протяжении всего жизненного цикла ПО.
С точки зрения функций тестировщик — более узкоспециализированный специалист.
Никита Балясный
Senior QA-инженер в М.Видео
По факту тестировщик — это вариация профессии QA-инженера с гораздо меньшим набором обязанностей и способностей. Зачастую тестировщик ПО — это человек, который получает готовую документацию и по шагам проводит тестирование. У него есть всё необходимое: функции и определённые требования, — ему лишь нужно сверить одно с другим.
У QA гораздо больше ролей. Помимо прочего, этот специалист отвечает за внедрение новых техник, следит за актуальностью инструментов, которые команда использует в проекте, вводит метрики оценки качества, проводит мониторинг этих метрик, делает выводы из полученных значений и, возможно, меняет что-то в продукте.
QA-инженеры бывают ручными и автоматизированными.
Ручные QA не пишут код — все действия они выполняют руками с помощью клавиатуры, мышки и дополнительных инструментов.
Автоматизаторы пишут код, используя специальные языки программирования и дополнительные фреймворки. Они автоматизируют процесс тестирования, благодаря чему его можно запускать многократно, что экономит деньги и время на проверку ПО.
Где работает и какие задачи решает QA-инженер
QA-инженеры востребованы в самых разных областях: финтех, телекоммуникации, ритейл, медицина, образование, госсектор, логистика и маркетинг.
Вне зависимости от того, в какой компании работает специалист, он выполняет примерно одни и те же задачи:
- Анализирует техническую документацию и требования к продукту на этапе проектирования ПО.
- Разрабатывает сценарии тестирования.
- Тестирует MVP — Minimum Viable Product — самую примитивную версию продукта, которая уже может привлечь первых пользователей.
- Создаёт метрики качества ПО. Их можно разделить на два вида: внутренние и внешние. К первым относят свойства продукта, которые видны только команде проекта: метрики размера, сложности и стиля. Внешние — это свойства, видимые пользователям. Здесь выделяют метрики надёжности, функциональности, применимости и стоимости продукта.
- Фиксирует найденные ошибки.
- Отслеживает процессы исправления багов и ошибок.
- Повторно анализирует качество ПО.
- Проводит мониторинг метрик качества.
За счёт новых гибких методологий разработки ПО QA-инженер работает в тесной связке со всей командой проекта: тестировщиками, разработчиками, аналитиками, менеджерами. Иногда QA взаимодействует и с другими специалистами, например, системными администраторами и DevOps-инженерами.
Никита Балясный
Senior QA-инженер в М.Видео
Раньше разработка ПО проходила следующим образом: мы два месяца писали документацию, столько же времени разрабатывали продукт и ещё два месяца — тестировали его. В результате команда создавала довольно серьёзное обновление, но его выкатка занимала полгода.
Сейчас в гибких agile-методологиях принято, чтобы эта итерация занимала примерно две недели: небольшое обновление в документации → доработка кода продукта → тестирование новой доработки. В итоге часто, но по чуть-чуть выходят новые версии ПО.
Если раньше активная и плодотворная работа QA-инженера начиналась только к концу проекта, то сейчас этот пик растягивается по всей длительности разработки.
Какие знания и навыки нужны QA-инженеру
Специалист в области обеспечения и контроля качества ПО должен обладать целым комплексом навыков. Сперва рассмотрим хард-скиллы, необходимые QA-инженеру.
Знание языка программирования
Как правило, QA-инженеры не задерживаются в роли ручного специалиста и переходят к автоматизированному тестированию. Поэтому базовое владение языками программирования — Java, JavaScript, Python — желательно для профессионала. Не помешает и умение работать с SQL — языком запросов для баз данных. Это касается как ручных QA, так и автоматизаторов.
Понимание основ теории тестирования и тест-дизайна
Как строится тестовая документация, как её писать и оформлять, что такое чеклисты и тест-кейсы, какие виды тестирования существуют — всё это является теоретической базой, на основе которой строится работа QA-специалиста.
Чеклист — краткое обозначение действий, которые необходимо проверить.
Тест-кейс — документ, максимально подробно описывающий этапы процесса тестирования: что нужно сделать, при каких условиях и какой результат ожидается.
Знание методологий разработки Scrum и Kanban
Scrum и Kanban — гибкие подходы к разработке программного обеспечения. В их основе лежат принципы Agile, которые подразумевают быструю реакцию на постоянно меняющиеся условия среды и обратную связь от пользователей на каждом цикле работы.
Scrum в основном используют при разработке ПО силами небольшой команды. Работа делится на короткие временные отрезки — спринты — и чётко распределяется между участниками проекта.
При Kanban проект объединяет несколько небольших команд, которые работают независимо над конкретными задачами. Такой подход не предполагает временных ограничений и конкретных должностей.
В современных проектах часто совмещают несколько типов управления, и QA-инженер, как часть команды, должен понимать принципы работы каждого из них.
Понимание устройства компьютера и основ операционной систем Linux, Windows, Mac OS
Общее представление о том, как устроен компьютер и сервер, а также понимание основ клиент-серверного взаимодействия и операционных систем — базовая компетенция QA-специалиста, фундамент для работы в IT.
Способность работать с баг-трекингами Jira и YouTrack
Баг-трекинговые системы помогают QA-инженеру систематизировать и хранить отчёты об ошибках, которые он пишет десятками.
Jira — платный баг-трекинг, у которого есть бесплатный тариф с возможностью добавления до 10 пользователей. Изначально эта система предназначалась для отслеживания ошибок, но теперь её часто используют для планирования agile-проектов.
Визуально Jira выглядит как интерактивная доска, с помощью которой можно следить за выполнением поставленных задач.
Чаще всего QA-специалисты используют именно Jira, но иногда в работе применяют и её аналоги: YouTrack, Redmine, Trello.
Умение работать с фреймворком Selenium Web Driver
Selenium WebDriver — инструмент для автоматизации действий браузера. Он пригодится автоматизаторам: с его помощью можно смотреть, как отображается сайт в разных браузерах, и проверять жизнеспособность программы.
Среди софт-скиллов QA-инженера можно выделить ↓
Умение мыслить аналитически
QA-инженер должен уметь правильно подходить к решению задач и самостоятельно придумывать новые решения.
Грамотный тайм-менеджмент и стрессоустойчивость
Если в компании не налажена система планирования, то профессионалу важно научиться самому выстраивать свой рабочий график.
Умение выстраивать здоровые рабочие отношения и аргументировать свою позицию
QA-инженер работает в связке со всеми участниками проекта, поэтому ему важно быть командным игроком. Кроме того, он не должен бояться отстаивать своё мнение, сохраняя уважение к коллегам.
Усидчивость
Специалисту в области QA часто приходится работать над одной и той же задачей в течение долгого времени. Поэтому способность выполнять рутинную работу — важный навык сотрудника.
Самообучаемость
Этот навык одинаково полезен для всех сотрудников в сфере IT. Из-за стремительного развития отрасли QA-специалисту необходимо постоянно отслеживать все тенденции и изменения, читать профессиональную литературу, осваивать новые инструменты и изучать опыт коллег.
- Освоите IT-профессию, для которой не требуется опыт и техническое образование
- Изучите ручное и автоматизированное тестирование, а также языки программирования: Java, JavaScript и Python
- Начнёте работать уже через 2 месяца обучения
Сколько зарабатывает QA-инженер
Работа junior-, middle- и senior-специалистов в области QA оплачивается по-разному. В России специалист с минимальным опытом работы в ручном тестировании может рассчитывать на зарплату в 70 тысяч рублей с полной занятостью:
Профессионалы-автоматизаторы более высоких грейдов — middle и senior — зарабатывают больше:
В свою очередь, QA-инженеры в США получают около 82 тысяч долларов в год, то есть примерно 6,1 тысячи долларов в месяц. Эта цифра актуальна на конец 2021 года.
Никита Балясный
Senior QA-инженер в М.Видео
Судя по вакансиям QA-инженеров в стране, средняя зарплата junior-специалистов в ручном тестировании составляет 50 тысяч рублей, то есть вилка — от 30 до 70 тысяч. У автоматизаторов цифра чуть выше — 60 тысяч.
Что касается middle-инженеров, то они могут рассчитывать на зарплату в районе 100 тысяч рублей, автоматизаторы — 120 тысяч.
Предложения по работе для senior-специалистов начинаются с зарплаты от 180 тысяч, предела может и не быть. Иногда в индустрии выделяют отдельно лидов: это плюс 30–40 тысяч рублей к ежемесячному доходу.
Важно отметить, что все эти суммы в основном актуальны для Москвы. В зависимости от города и компании цифры могут меняться в меньшую сторону, чуть реже — в большую. Начинающим специалистам важно это понимать.
Как стать QA-инженером
В вузах получить специальность «QA-инженер», скорее всего, не получится. Как правило, университеты предлагают программы по информационным технологиям, компьютерным наукам, но такое обучение не заточено на детальное изучение QA. Однако иногда работодатели — в частности, государственные компании — требуют от соискателей именно высшего технического образования.
В этом случае стоит обратить внимание на образовательные программы в МГУ, МФТИ, Высшей школе экономики, Санкт-Петербургском государственном университете. Так, в ВШЭ на совместном факультете университета и Яндекса есть бакалавриат «Прикладная математика и информатика», который готовит инженеров-разработчиков и инженеров-исследователей по программному обеспечению. Также хорошую базу можно получить на программе «Фундаментальная информатика и информационные технологии» факультета вычислительной математики и кибернетики МГУ.
Ещё один путь к профессии QA-инженера — самостоятельное обучение. Книги, онлайн-тренажёры, видеоуроки, профессиональные чаты помогут получить знания и навыки на уровне стажёра или junior-специалиста. Такая база может стать подспорьем для получения первого предложения о работе.
Однако самообразование требует личной организованности и дисциплинированности: не каждый человек способен сам структурировать информацию и правильно спланировать самообучение. В этом случае подходящим способом освоить профессию могут стать онлайн-курсы.
Никита Балясный
Senior QA-инженер в М.Видео
Большой плюс онлайн-курсов в том, что они структурируют обучение. Студентам не нужно придумывать, где искать информацию, как её применять, как практиковаться. На курсах есть готовые задания, которые зачастую актуальны с точки зрения реального тестирования.
В программе курса «Инженер по тестированию: с нуля до middle» Нетологии акцент сделан именно на практику, и все упражнения основаны на реальных задачах QA-инженера.
Кроме того, курсы не дают расслабиться за счёт стабильного расписания, домашних заданий и наличия ментора.
Что почитать QA-инженеру
Книги
Искусство тестирования программ
Гленфорд Майерс, Том Баджетт, Кори Сандлер
Настольная книга по теории тестирования. Безопасность, совместимость, автоматизация процессов, юзабилити — в этом издании QA-инженер сможет найти для себя ответы практически на любые вопросы о тестировании.
Не заставляйте меня думать. Веб-юзабилити и здравый смысл. Третье издание
Стив Круг
Любое ПО должно быть эффективным, максимально простым и понятным — таков главный посыл этой книги. Особенно полезна она будет junior-специалистам. Последнее издание дополнено главой об удобстве и простоте использования мобильных устройств.
Коучинг agile-команд. Руководство для Scrum-мастеров, agile-коучей и руководителей проектов в переходный период
Лисса Адкинс
Если предыдущая книга подходит для junior, то эта — отличный вариант для senior-QA или лида. Она станет практическим руководством по управлению командой проекта в рамках agile-подхода.
Telegram-каналы
QA — русскоговорящее сообщество
В этом сообществе почти 13 тысяч участников. Здесь можно найти вакансии, рабочие лайфхаки, советы и рекомендации от специалистов со всей России.
QA — вакансии и аналитика рынка вакансий
За вакансиями на российском и зарубежном IT-рынке здесь следит более 40 тысяч человек. Посты публикуются регулярно, есть удобный поиск по хештегам.
Чат начинающих QA-инженеров — ресурс, который поможет всем новичкам в профессии. Поддержка, полезные ссылки и помощь коллег в решении реальных задач.
Никита Балясный
Senior QA-инженер в М.Видео
Среди всех академических источников мы в Нетологии в первую очередь выделяем «Тестирование программного обеспечения» Святослава Куликова. Также рекомендую заглядывать на сайты вроде Хабра и Software testing, смотреть тематические YouTube-шоу и слушать подкасты.
Бонус: лайфхаки для прохождения собеседований от эксперта
Постарайтесь ходить на собеседования как можно чаще и обязательно после каждого из них проводите работу над ошибками.
Не стоит приукрашивать реальность. Уточняющие вопросы и задания помогут работодателю понять, что до этого вы сказали неправду. Во-первых, вы точно не получите работу. Во-вторых, это не будет плюсом в получении обратной связи.
После собеседования будет полезно вернуться домой и загуглить то, чего вы не знали. После определённого количества собеседований задаваемые вопросы начнут повторяться. То есть спустя 10 собеседований багаж знаний уже будет намного больше, чем был ранее. Вероятность успешно ответить на все вопросы повышается, а вместе с ней растёт и вероятность получить работу.
Резюмируем
QA-инженер — востребованный и важный специалист в современной IT-индустрии. От его работы зависит, когда будут выявлены баги и ошибки в работе ПО. Чем раньше специалист сделает это, тем больше денег компании он сэкономит и тем скорее разработчики приступят к улучшению продукта. В конечном счёте выигрывают все: заказчик, команда и конечный потребитель.
Бытует мнение, что QA — самая простая профессия для входа в IT, однако это не так: начинающему специалисту нужно обладать большим багажом знаний и навыков — от понимания основ операционной системы до умения работать с языками программирования и применять теорию тестирования на практике.
Мнение автора и редакции может не совпадать. Хотите написать колонку для Нетологии? Читайте наши условия публикации. Чтобы быть в курсе всех новостей и читать новые статьи, присоединяйтесь к Телеграм-каналу Нетологии.