UA RU
logo
09 Feb 2022

Кто такой QA engineer: что он должен знать и уметь, чтобы попасть в IT

Наталья Пиотрович и Денис Якушенко

Автор полезных текстов в MC.today

Артем Бородатюк, сооснователь Netpeak Group, считает: QA engineer – одна из профессий, через которую можно попасть в IT. По его словам, здесь относительно несложно обучиться новым знаниям.

Редакция MC.today разобралась, что такое QA engineer, как овладеть этой профессией и сколько можно зарабатывать.


Кто такой QA engineer

QA engineer – специалист по качеству разработки программного обеспечения. QA англ. Quality Assurance. – Прим. ред. расшифровывается как обеспечение качества.

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

В крупных корпорациях QA-отделы большие, и там должности QA engineer и тестировщика и правда могут быть разделены. Но в небольших компаниях и стартапах тестировщик – как человек-оркестр: делает всё.

Курс
Frontend розробка
Заробляйте від $1800 вже через два роки і навчайтесь у вільний час
РЕЄСТРУЙТЕСЯ!

Обязанности и задачи QA-инженера

QA-инженер контролирует качество продукта. Вот что конкретно он делает:

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

Вот алгоритм работы над программой:

  1. В компании есть план задач и документы, где описывают программу на этапе завершения.
  2. Разработчики пишут программу и ищут в ней критические ошибки. Затем они выдают готовую программу или промежуточную версию для закрытого или открытого тестирования.
  3. Тестировщик проверяет программу во всех доступных режимах. Он смотрит, что в ней получилось, а что нет. Пошагово записывает сбои в работе и ошибки. Отдает свои записи о несоответствиях разработчикам.
  4. Снова подключаются разработчики. Они исправляют найденные QA-инженером ошибки и несоответствия.
  5. Затем QA-специалист снова проверяет программу. Если находит баги, отдает ее на доработку. Так происходит до тех пор, пока программа не будет готовой.

Что должен знать QA engineer

QA-инженер должен:

  • понимать жизненный цикл и этапы разработки ПО;
  • знать языки программирования, если занимается автоматизированным тестированием;
  • владеть новыми технологиями для тестирования и знать новые инструменты для автоматического и ручного тестирования;
  • уметь пользоваться протоколом HTTP и работать с кодами ответов сервера;
  • хорошо знать английский язык;
  • использовать системы bug-трекинга программы, которые помогают разработчикам программного обеспечения учитывать и контролировать ошибки. – Прим. ред., например Jira и YouTrack;
  • знать язык программирования SQL;
  • работать с программным интерфейсом DOM;
  • знать данные JSON и языков HTML;
  • работать с данными cookie & session временные таблицы в базе данных, в которых можно хранить уникальные данные конкретного пользователя, которые удаляются вручную или когда закончится их срок действия или сессия. – Прим. ред.;
  • понимать объектно ориентированное программирование;
  • уметь вести тестовую документацию;
  • понимать методы scrum, agile или lean;
  • тестировать программы на основе технологического стеканабор технологий, на основе которого разрабатывают сайт или приложение. – Прим. ред., например, GoLang и/или php (symfony), PostgreSQL и/или Clickhouse;
  • знать системы CI&CD: программы Docker, GitLab, Kubernetes или их аналоги;
  • понимать HighLoad высоконагруженные системы. – Прим. ред., Microservice Architecture программное обеспечение, направленное на взаимодействие небольших, слабо связанных и легко изменяемых модулей. – Прим. ред.;
  • уметь работать с методами обработки и инструментами big data;
  • уметь составлять тест-кейсы и тест-планы.

Артем Бородатюк советует изучить карту знаний, которую разработали в Netpeak Group. Так вы поймете, какие навыками должны обладать QA на разных уровнях.

Виды QA-инженеров

Есть несколько видов QA-инженеров, которые отличаются по уровню навыков и опыта:

  • Стажер, новичок, ассистент – специалист без опыта – trainee.
  • Младший тестировщик – 0,5–1,5 года опыта – junior.
  • Тестировщик среднего уровня – 1,5–4 года опыта – middle.
  • Старший тестировщик – больше пяти лет опыта – senior.
  • Ведущий тестировщик – QA tech lead.

Иногда можно встретить понятие «функциональный менеджер» (QA functional manager) – специалист, который управляет командой тестировщиков и тестированием конкретного проекта.

  • Если у компании есть большой отдел качества, то самая высокая должность QA engineer – руководитель отдела (head of QA department).

Виды QA-инженеров еще делятся по продуктам и сферам:

  1. тестировщики сайтов;
  2. тестировщики мобильных приложений – mobile QA;
  3. юзабилити-тестирование – тестировщики проверяют удобство использования программы или сайта;
  4. тестировщики игр (game tester), клиент-банков и так далее.

По механизму тестирования и специализации выделяют три группы:

  • Ручное, или мануальное, тестирование. Он пробует делать то, что в будущем будет делать пользователь.
  • Автоматизированная проверка (automation QA). Здесь нужно использовать результаты ручного тестирования. Специалист пишет программный код, который имитирует действия пользователя. Это экономит время проверки. В таком случае тестировщику обязательно нужно знать язык программирования, но уметь писать код необязательно.
  • Очень редко выделяют тестирование производительности (performance QA).

Инструменты для QA-инженера

Инструменты тестирования – это программные продукты, которые помогают QA-инженерам организовывать свою работу на каждом этапе тестирования ПО.

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

Ручное тестирование

Инженер по тестированию прогнозирует, как будет вести себя пользователь, и проверяет разработанную программу. Его задача – найти поведение, которое будет отличаться от ожидаемого.

Ручное тестирование может проводиться:

  1. в рамках интеграционного тестирования – работа с другими ПО и системами;
  2. в рамках регрессионного – тестирование изменений;
  3. при системном функциональном тестировании.

Ручное тестирование помогает найти и устранить тонкие места, уменьшить число багов, обеспечить бесперебойную работу систем, оценить удобство использования программы.

Для ручного тестирования есть специальные программы. Там же QA-инженер общается с командой. Вот основные:

  • Jira;
  • Bugzilla;
  • Redmine.

Еще QA-инженер создает и анализирует скриншоты с помощью специальных инструментов. Здесь специалисту нужны:

  • Monosnap;
  • Recordit API;
  • Snagit;
  • GreenShot.

Для тестирования часто нужны разные наборы данных. Для этого QA-инженеры используют инструменты-генераторы:

  • Bugmagnet;
  • Mockaroo.com.

Тестирование клиентского опыта покажет, удобен ли продукт для пользователей. Вот приложение, которые помогают это сделать быстрее:

  • Reflector;
  • User Zoom;
  • Loop.

QA-инженеры часто пользуются списком задач, расписанным по пунктам, чтобы ничего не потерять. Для этого они используют:

  • Sitechсo;
  • Testpad;
  • Teamsuccess.

Мобильные эмуляторы – тоже инструменты для тестирования работы программ.

Мобильный эмулятор – программный комплекс, который точно копирует все функции мобильного устройства.

В работе QA-инженеры используют такие мобильные эмуляторы:

  • World Wide Web;
  • BrowserStack;
  • CrossBrowserTesting;
  • Mobile Phone Emulator.

Многие приложения используют API программный интерфейс приложения. – Прим. ред.. Для его тестирования специалисту нужны:

  • SoapUI;
  • Postman.

Еще один важный этап проверки программных разработок – тестирование безопасности. В этом помогают программы:

  • NetSparker;
  • Acunetix Vulnerability Scanner;
  • OWASP.

Нагрузочное тестирование

Нагрузочное тестирование проверяет скорость реакции системы на внешний запрос. Такая проверка показывает, отвечает ли приложение или устройство заявленным требованиям. В этом помогают:

  • Apache JMeter;
  • WebLOAD;
  • Micro-Focus Loadrunner.

Автоматизированное тестирование

Автоматизированное тестирование, или автоматизация тестирования, – это метод тестирования ПО, который выполняется с помощью специальных программных средств. Такое тестирование значительно сокращает время поиска багов в сравнении с ручным. Помогают в этом такие инструменты:

  • Selenium;
  • TestComplete;
  • Katalon Studio.

Типичный план рабочего дня QA-специалиста

В свой рабочий день QA-специалист выполняет такие задачи:

  1. Присутствует на офисных встречах, планирует задачи и делает отчеты по выполненным проектам.
  2. Пишет тест-кейсы. То есть четко описывает действия, которые нужно выполнить для проверки отдельной функции приложения. Возможно, записывает ошибки – смотря на какой стадии находится разработка программы. Еще он тестирует программы или приложения.
  3. Проверяет баг-трекинговые системы, появляются ли там исправленные ошибки.
  4. Изучает пожелания заказчика.
  5. Общается с разработчиками.
  6. Читает тестовую документацию.

Плюсы и минусы профессии QA engineer

Антон Мужайло, Quality Solutions Architect в GlobalLogic Ukraine, считает: QA-инженер видит весь процесс создания продукта, поэтому разбирается в том, как создавать ПО и постоянно совершенствует свои навыки.

Из минусов профессии он называет такие:

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

Как стать QA-инженером

Обучиться специальности в Украине можно на факультете информатики и вычислительной техники или факультете прикладной математики в КПИ Национальный технический университет Украины «Киевский политехнический институт имени Игоря Сикорского». – Прим. ред.. Например, на кафедре системного программирования и специализированных компьютерных систем (СПСКС).

У Антона Лапоногова, QA engineer в Uklon, нет IT-образования. Он считает: если вы хотите стать тестировщиком, то можете пройти специальные курсы. Еще он рекомендует такие материалы для самостоятельного изучения:

  1. Книга «Тестирование Dot Com» Романа Савина;
  2. YouTube-канал «окиселева»;
  3. YouTube-канал Hillel IT School.

Артем Бородатюк делится руководством для новичка в QA от Netpeak Software. Еще он дает алгоритм, как им пользоваться:

  • изучить первичную теорию;
  • изучить вкладку с базовыми знаниями;
  • отслеживать все мероприятия для QA – так вы найдете открытые дни, интернатуры и образовательные курсы;
  • ходить на все бесплатные мероприятия и на платные – по возможности;
  • отправлять резюме на все вакансии для начинающих QA и ходить на собеседования, пока не получите первую работу.

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

QA Engineer

Вакансии QA-специалистов. Источник: jobs.dou.ua

Вы хорошо знаете теорию QA-инжиниринга, если можете ответить на вопросы:

  1. что такое тестирование и какие у него цели;
  2. что такое баг и каков его жизненный цикл;
  3. какие есть виды тестирования;
  4. какая документация используется при поиске ошибок.

QA улучшает процесс разработки, потому ему важно иметь навыки:

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

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

QA-инженеры могут развиваться в трех направлениях:

  • Изучать новые области программирования и расти как QA в такой последовательности:
  1. junior QA;
  2. middle QA;
  3. senior QA;
  4. QA team lead;
  5. QA manager;
  6. head of QA department.
  • Освоить автоматизированное тестирование и развиваться в этом направлении.
  • Переквалифицироваться в бизнес-аналитика или программиста.

На сайте robota.ua в Украине больше 500 вакансий на QA разного уровня.

QA Engineer

Источник: robota.ua

На DOU их больше 900.

QA Engineer

Источник: jobs.dou.ua

Еще QA engineer может совмещать основную работу с преподаванием или консультированием.

Сколько зарабатывает QA engineer

По информации DOU, в среднем зарплата младшего QA-инженера – $600. Средняя зарплата специалиста опытом 1–3 года – больше $1,5 тыс. Старшие получают около от $2,8 тыс.

Источник: jobs.dou.ua
Источник: jobs.dou.ua
Источник: jobs.dou.ua

По информации сайта по поиску работы work.ua, средняя зарплата QA-инженера в Киеве – 27,5 тыс. грн, а в Украине – 19,5 тыс.

Источник: work.ua
Источник: work.ua

В зависимости от опыта и умений, на сайте по поиску работы djinni указаны зарплаты для QA-специалистов от $500 до $7 тыс. В среднем тестировщики зарабатывают $3,5 тыс.

QA Engineer

Источник: djinni.co

Требования к junior для входа в профессию

Согласно карте знаний QA-отдела Netpeak Group, junior QA должен знать:

  • различия между QA и QС тестированием;
  • принципы тестирования;
  • самые главные понятия;
  • жизненный цикл ПО;
  • методологии разработки;
  • техники тест-дизайна;
  • тестовые артефакты;
  • цикл жизни бага.

Необязательно, но желательно разобраться, что такое верификация и валидация и как работать с таблицей принятия решения.

Еще junior должен знать такие виды тестирования:

  • функциональное;
  • тестирование сборки;
  • тестирование безопасности;
  • тестирование взаимодействия;
  • нагрузочное;
  • дымовое;
  • санитарное;
  • регрессионное;
  • конфигурационное.

Из протоколов младший QA engineer должен знать:

  • коды ответов сервера;
  • HTTPS;
  • HTTP.

Вывод

Профессия QA engineer – одна из c специальностей, которая позволяет начать работать в IT без технической подготовки. Задача QA-специалиста – следить за качеством продукта на всех этапах разработки.

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

Начать работать QA можно мануальным тестировщиком, а позже перейти в автоматизированное. Для этого нужно знать английский, разбираться в протоколах и знать, что самое главное в тестировании. Эта работа помогает понять, как делают ПО, но с другой стороны психологически может быть сложно все время говорить людям, где они сделали ошибку.

В Украине открыто более 900 вакансий на позицию QA. А зарплата новичка стартует от $500. Опытный тестировщик может зарабатывать больше $2,8 тыс.

По теме:

Новости

Спецпроекты

Ваша жалоба отправлена модератору

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: