ОПИСАНИЕ ПРОДУКТА

Заказчик — крупная компания, которая занимается обслуживанием автомобилей и предоставляет такие услуги как покраска, кузовной ремонт, замена стекол, техобслуживание, автомойка и многие другие.

Их ключевой IT-продукт — B2B-маркетплейс на платформе SAP Hybris, который объединяет тысячи магазинов и предлагает товары ведущих производителей.

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

ОПИСАНИЕ ПРОЕКТА

Команда a1qa под руководством QA-менеджера присоединилась к проекту, организованному по методу Scrum. Первой задачей было помочь клиенту выпустить флагманский маркетплейс как можно скорее.

Команда провела анализ текущих QA-процессов, предложила улучшения и внедрила новые подходы на основе ISTQB, а именно:

Создание системы тестирования для каждой среды

  • Тестовая среда, куда разработчики выкладывали новый код, а команда a1qa выполняла тестирование и проводила демонстрации новой функциональности.
  • Среда пользовательского приемочного тестирования (UAT), куда доставлялась финальная сборка для демонстраций новым поставщикам или для проверки работы новых функций.
  • Продуктивная среда для реальных пользователей.

Чтобы повысить эффективность тестирования, a1qa рекомендовала оптимизировать использование этих сред следующим образом:

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

Такой подход был направлен на упрощение процесса обеспечения качества и повышение общей эффективности тестирования.

Независимое планирование тестовых активностей для каждого релиза

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

Выполнение задач заказчика

Изначально заказчик утверждал релизы всех новых функций. После того как a1qa зарекомендовала себя как надежный партнер, он передал эту задачу QA-команде. Критически важные функции либо проверялись самим заказчиком, либо представлялись ему командой инженеров в ходе демонстраций.

 

Настройка процесса сортировки дефектов

Изначально встречи QA-команды с заказчиком проводились дважды в неделю, затем — раз в неделю. На них участники проекта анализировали и пересматривали приоритеты дефектов. Эти сессии помогли выявить потенциальные риски, убедиться, что все критические и важные дефекты устранены, и согласовать приоритеты выявленных багов среди участников команды.

Организация процесса создания тестовой документации

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

Введение универсального описания дефектов

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

Создание подробной базы знаний

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

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

После успешного релиза a1qa продолжила следующие работы:

Функциональное тестирование

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

Кроме того, a1qa выполнила тестирование совместимости. С помощью BrowserStack инженеры проверили работу программного продукта на различных платформах и в разных браузерах. Они проанализировали самые популярные устройства и создали матрицу совместимости, включающую браузеры Safari, Google Chrome, Microsoft Edge и последние модели iPhone, iPad и устройств Samsung.

В рамках первого этапа валидации больших данных специалисты по тестированию проверили бизнес-логику. Они убедились, что все товары правильно классифицированы и соответствуют заранее установленным стандартам.

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

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

Выполнение регрессионных тестов вручную требовало много времени: четырем QA-инженерам приходилось тратить по четыре дня на каждый цикл. Чтобы упростить этот процесс, a1qa внедрила автоматизацию тестирования на Java, которая охватывала регрессионное тестирование, тестирование сборки и smoke-тестирование.

Команда a1qa использовала собственный фреймворк автоматизации тестирования на базе ИИ. Он был разработан таким образом, чтобы упростить, обезопасить и сделать более стабильным взаимодействие с веб-браузерами. В фреймворке реализована функциональность условных ожиданий, а также возможность параллельного выполнения тестов и простая система конфигурации.

Чтобы улучшить процесс запуска и формирования отчетов по тестированию, a1qa внедрила Jenkins CI для выполнения удаленных тестов и интегрировала его с Jira и Allure Report. Благодаря такой настройке появилась возможность автоматически генерировать конкретные наборы тестов после проверки каждого билда, а также предоставлять подробные отчеты. Это значительно повысило эффективность и точность тестирования.

Внедрение автоматизации тестирования сократило время регрессионного тестирования вдвое.

Инженеры по автоматизации тестирования проверили также оптимизацию поисковой строки, у которой появились функции поиска товаров по ID, названию и категории. Изначально у клиента не было четкого видения того, как эта функция должна работать. Поэтому a1qa автоматизировала поиск различных товаров и предоставила отчеты, чтобы помочь разработчикам заказчика проанализировать результаты и улучшить поиск.

На втором этапе проверки больших данных команда разработала скрипты на Python для выявления и устранения дефектов данных, которые мешали разбивать товары на категории.

Тестирование производительности

Заказчик хотел понять, насколько стабильно будет работать маркетплейс при заданных критериях приемки — 250 активных пользователей одновременно. Инженеры a1qa разработали тест-кейсы и провели стрессовое и нагрузочное тестирование на стороне сервера, а также тестирование всего продукта на стороне клиента. Эти тесты выявили тяжелые запросы в базе данных, которые замедляли работу программного обеспечения. После того как разработчики устранили проблему, инженеры по качеству повторно протестировали систему, чтобы убедиться в эффективности исправлений.

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

ПРЕДОСТАВЛЕННЫЕ СЕРВИСЫ
  • Приемочное пользовательское тестирование
  • Функциональное тестирование
  • Автоматизация тестирования
  • Тестирование производительности
ТЕХНОЛОГИИ И ИНСТРУМЕНТЫ
  • Postman
  • BrowserStack
  • Intellij IDEA
  • AWS
  • Jenkins
  • Allure Reports
  • Figma
  • Git
  • Jira
  • Azure Storage Explorer
  • Excel
  • SQL
  • Groovy/ImpEx scripts
  • REST Assured
  • Cucumber JVM
  • Allure Framework
  • TestNG
  • Docker
ПОДДЕРЖКА МИГРАЦИИ НА ORACLE ERP

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

ПОДДЕРЖКА ОБНОВЛЕНИЯ SAP HYBRIS

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

Также специалисты a1qa предоставили оперативную поддержку для решения возникающих проблем — будь то нахождение дефектов или быстрое масштабирование команды для выполнения большего объема задач по тестированию.

РЕЗУЛЬТАТЫ
  • Релиз флагманского маркетплейса, обслуживающего тысячи магазинов, всего за пять месяцев после начала сотрудничества с a1qa.
  • Повышение качества маркетплейса благодаря тестированию на всех этапах жизненного цикла разработки программного обеспечения (SDLC).
  • Ускорение времени выполнения регрессионного тестирования на 50% и оптимизация тестирования критически важных функций (smoke-тесты) и проверки сборок благодаря внедрению автоматизации тестирования на Java.
  • Обеспечение взаимозаменяемости членов команды за счет создания надежной библиотеки данных и системы передачи знаний.
В ЦИФРАХ
  • 2
    года длительность проекта
  • 13
    QA-инженеров
  • 50%
    сокращение времени на регрессионные тесты
  • 100%
    соблюдение сроков