Проекты

QA-инженер

Кто это, какие навыки нужны и как тестируют рекламную платформу в OrbitSoft

QA-инженер

Коротко

  • 01
    Проект

    Платформа для анализа данных и автоматизации маркетинга

  • 02
    Задача
    • У платформы постоянно выходят обновления и улучшения — новые функции нужно тестировать
    • Нужно следить, чтобы новые функции не влияли на работу старых и качество продукта в целом росло
  • 03
    Проблема

    Штатный тестировщик не справляется в одиночку

  • 04
    Решение

    IT-аутсорсинг — усилить команду QA-инженерами из OrbitSoft:

    • Они выявляют потенциальные проблемы на этапе написания требований
    • Пишут документацию по проекту
    • Проверяют новые функции на соответствие требованиям заказчика и ожиданиям пользователей
    • Удостоверяются, что новые функции не поменяли работу других разделов
    • Назначают задачи программистам на исправление багов (ошибок)
    • Выявляют причины, из-за которых возник баг

Финская компания разрабатывает веб-сервисы для продавцов и маркетологов. Один из проектов — онлайн-платформа для анализа данных и автоматизации маркетинга. С ее помощью компании находят новых клиентов.

У каждой компании — пользователя платформы есть личный кабинет. В нем можно настроить разные роли: для маркетологов, аналитиков и менеджеров по продажам. Специалисты сегментируют целевую аудиторию, настраивают рекламные объявления, запускают и анализируют рекламные кампании.

Например, фабрика производит посуду для общепита. С помощью платформы она может собрать клиентскую базу и увеличить продажи:

  • Платформа находит в LinkedIn и других интернет-источниках аккаунты людей, которые работают в ресторанной сфере. При подборе учитывает размер бизнеса, отрасль, страну и другие важные характеристики.
  • С помощью платформы маркетолог может настроить рекламу на собранную аудиторию и привлечь новых, заинтересованных клиентов.
Скриншот с сайта компании
Сервисы на платформе компании

С OrbitSoft компания-заказчик уже сотрудничает по нескольким направлениям: разработка, девопс, тестирование. Об этом мы подробно писали в статье «Какие задачи решают сотрудники OrbitSoft на аутсорсе в финской компании». В этой статье остановимся на задачах manual QA engineer на одном из проектов.

Расшифровка QA — это quality assurance, что переводится как «обеспечение качества». Manual QA engineer — это специалист, который занимается ручным тестированием программ и приложений. Его обязанности — проверка работоспособности и качества программного продукта.

QA engineer часто путают с QC engineer. Обе профессии связаны с тестированием и качеством программного обеспечения, однако они имеют разные уровни ответственности и задачи. В другой статье рассказали, в чем различия профессий QA, QC и tester.

Зачем заказчику QA на аутсорсе

Платформа постоянно развивается: разработчики вносят изменения для удобства пользователей, добавляют новые возможности. Чтобы у клиентов не возникало проблем, новые функции нужно тестировать.

У заказчика в штате есть тестировщик, но он не справлялся: со временем задач по тестированию стало слишком много. Чтобы не тратить время на поиск специалистов и не оформлять их в штат, компания решила воспользоваться ИТ-аутсорсингом.

От OrbitSoft на проекте уже работали программисты и девопс, заказчика устраивало сотрудничество, поэтому пригласили еще и QA-инженера. Сейчас на проекте работают два manual QA engineer. Специалисты обеспечивают качество продукта, пишут документацию, тестируют UI, UX, API.

Задачи manual QA engineer из OrbitSoft на проекте заказчика

Схема: задачи manual QA engineer

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

Например, на платформе заказчика во всех разделах используется термин «количество уникальных аккаунтов», а в требованиях к новому разделу это поле назвали «новые контакты». Пользователю будет сложно сориентироваться, поэтому инженеры предложили два решения: вернуть формулировку или добавить подсказку с описанием.

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

Ищем баги в тесте и проде

Этап тестирования занимает больше всего времени у QA engineer. Чем больше сценариев проверит инженер, тем меньше ошибок встретят пользователи после обновления в сервисе.

Схема: среды тестирования
Специалисты проводят тесты в разных средах: (1) на тестовых данных, (2) в предпроде — локальной тестовой среде, максимально похожей на реальную, (3) в продакшн-среде (проде) — где работают пользователи, например на сайте платформы

Чтобы протестировать, как система реагирует на действия пользователей, инженеры проводят функциональные тесты:

  • позитивные — проверяют, что система разрешает совершать ожидаемые действия. Например, администратор может назначать роли новым пользователям, а маркетолог — создавать рекламные объявления;
  • негативные — продумывают кейсы, в которых пользователь ведет себя не так, как ожидает сервис. Например, вводит слишком много символов для рекламного баннера, набирает цифры в текстовых полях или хочет скачать отчет, имея доступ только к просмотру данных.
Скриншот таблицы QA инженера с чек-листами
QA engineer тестирует по чек-листам, которые составляются на основе требований к разработке. Если есть ошибка, специалист составляет баг-репорт в Jira. После исправления функции проверяют еще раз

В предпроде инженеры проводят регрессионное тестирование перед релизом. Оно позволяет убедиться, что из-за новых функций в сервисе ничего не сломалось. Например, разработчики добавили возможность фильтровать данные по ключевым словам. Фильтры взаимосвязаны, поэтому QA engineer проверяет, работают ли они как должны: если применить новый фильтр, ранее настроенные не сбрасываются, а поиск углубляется.

Важно тестировать новые функции в продакшн-среде. Только там есть реальные данные, которые платформа запрашивает у других сервисов. Это позволяет специалистам проверить, корректно ли настроена интеграция.

Контролируем, чтобы продукт получался таким, как хочет заказчик

Сразу после разработки новых функций QA engineer проверяет продукт на соответствие требованиям документации. Задача специалиста — убедиться, что продукт разрабатывается правильно с точки зрения заказчика:

  • Инженеры сравнивают интерфейс с макетами в Figma: расположение объектов, цвета, шрифты и другие элементы должны визуально совпадать.
  • Специалисты проверяют функции платформы — чтобы все работало, как описано в документации: список клиентов создавался, сегменты настраивались, рекламные кампании запускались, графики с отчетами строились.
Скриншот платформы заказчика
Например, QA engineer проверяет различные комбинации в фильтрах, чтобы удостовериться, что в каждом случае получается ожидаемый результат

Проверяем, чтобы пользователю было удобно работать с платформой

Чтобы понять, насколько продукт соответствует ожиданиям пользователей, инженеры проводят UX-тестирование:

  • По шагам проходят путь пользователя в личном кабинете компании. Например, для маркетолога путь может быть таким: создать сегмент аудитории → создать рекламную кампанию → создать рекламу в кампании → таргетировать кампанию на сегмент.

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

Скриншот платформы заказчика
Например, на платформе есть подсказки — они помогают быстрее совершать нужные действия. Специалисты оценивают, насколько подсказки действительно помогают
  • Проверяют отдельные блоки и пользовательские сценарии в разделах.
Скриншот платформы заказчика
Например, QA engineer тестирует создание рекламного баннера и замечает, что требуется слишком много действий, чтобы изменить размер изображения под размер баннера. Тогда он предлагает, как упростить процесс

Тестируем API

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

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

Архитектура платформы заказчика
Микросервисы взаимодействуют друг с другом и с внешними сервисами через API

Если API-интеграция будет настроена неправильно, в личном кабинете компании не будет данных. А без данных из CRM, LinkedIn и других сервисов платформа фактически бесполезна: аналитикам нечего сегментировать, у маркетологов нет аудитории, на которую настраивать рекламные кампании.

Как тестируем API

  • Оцениваем, проходит ли API проверку валидации по схеме — работает ли как ожидается, без ошибок. Например, что в ответ на post-запрос API-метод возвращает данные как описано в документации.
  • Проверяем код состояния, чтобы убедиться, что API корректно обрабатывает запросы. Например, что мы получаем на запрос ошибку 403, если доступ к ресурсу запрещен, и код 200, если операция завершилась успешно.
  • Обращаем внимание на структуру данных. Например, что API-метод возвращает данные в формате JSON.
  • Проверяем, что верно прописаны эндпоинты — адреса для http-запросов в проде: содержат актуальный протокол, хост, адрес до метода. Это необходимо, чтобы запрос через API уходил на нужный сервер и возвращались нужные данные.
  • Проверяем список всех методов. Они должны быть на все функции, как описано в требованиях. Не должно быть дублей: например, когда разные методы возвращают одинаковые данные.

Технический блок

Figma

DevTools

Postman

Charles

Putty

Grafana

VS Code

GitLab

Jira

PostgreSQL

JavaScript

Qase

ClickHouse

Получите ответ по смс

Ваше сообщение успешно отправлено!
Представьтесь пожалуйста
Укажите номер, на который придет ответ
Нажимая на кнопку, вы даете согласие
на обработку персональных данных.

Перезвонить вам, чтобы ответить на вопросы?

Когда с вами связаться?

Связаться по телефону:+7 499 321-59-32

Нажимая на кнопку, я принимаю условия политики и пользовательского соглашения

Фото эксперта
Дмитрий

Проектный менеджер

Получите ответ на ваш вопрос в любимом мессенджере

Выберите удобный мессенджер и начните диалог прямо сейчас

Telegram WhatsApp

Рассчитать стоимость проекта

Расскажите о вашем проекте, чтобы мы могли проконсультировать вас.

Напишите ваше имя
Укажите ваш email

Выберите удобный для вас способ связи

Мы сразу получим ваш запрос и поможем в решении проблемы

Написать в Telegram

Написать в WhatsApp

Позвонить нам