Портфолио Назад к списку

Проведение нагрузочного тестирования российской платформы электронной коммерции МегаМаркет

Logo
Клиент: МегаМаркет
  • Тестирование производительности

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

БИЗНЕС-ЦЕЛЬ

МегаМаркет — один из крупнейших маркетплейсов в России, который сейчас принадлежит ПАО «Сбербанк» — ведущему финансовому институту с более чем столетней историей.

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

Желая выполнять работы самостоятельно, регулируя уровень нагрузки, клиент обратился в «Точку качества» для определения тестовой стратегии, подбора технологического стека, разработки сценариев тестирования и подготовки инструкций.

ОБЗОР ПРОЕКТА

Тестируемый продукт

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

Подход к тестированию

Клиенту важно было обеспечить бесперебойную работу компонентов платформы при нагрузке, соответствующей 100 000 заказов в сутки и до 10 000 заказов в час. Чтобы заказчик смог самостоятельно провести работы по нагрузочному тестированию, инженер «Точки качества» должен был:

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

Подбор технологического стека

Для запуска и проведения тестов на стороне клиента инженер «Точки качества» предложил использовать WebPageTest Private Instance, поскольку заказчик сможет развернуть его в непосредственной «близости» к самому приложению и исключить погрешности, связанные со скоростью сети.

Кроме того, при необходимости проверить саму сеть, Private Instance можно установить на любой машине.

Что касается тестирования на стороне сервера, эксперт «Точки качества» посоветовал воспользоваться инструментом с открытым исходным кодом Apache JMeter, который отличается простотой развёртывания, удобством в использовании и помогает составить подробную отчётность.

Для анализа результатов был выбран стек «TIG» (Telegraf — сбор системных метрик, InfluxDB — хранение метрик, Grafana — визуализация результатов). С его помощью клиент сможет собирать, агрегировать и визуализировать результаты проведённых тестов и метрик системы во время тестов для их последующего анализа.

Разработка скриптов

Для выполнения комплексного тестирования интернет-портала QA-инженер написал сценарии и по ним реализовал скрипты на стороне сервера и клиента.

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

Всего было подготовлено 16 сценариев, например:

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

Благодаря скриптам на стороне клиента заказчик сможет увидеть загрузку страницы и выявить компоненты, замедляющие этот процесс.

Подготовленные сценарии скриптов включают в себя:

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

Подготовка инструкций

Чтобы клиент мог самостоятельно запустить тесты, не углубляясь в технологию и не прилагая затрат по времени, а также установить, настроить и использовать системы мониторинга результатов тестов, инженер «Точки качества» написал подробные инструкции. Для организации быстрого доступа к ним он загрузил их на ресурс заказчика Confluence.


Результаты в цифрах

  • Результаты в цифрах
  • 16
    сценариев скриптов на стороне сервера
  • 2
    сценария скриптов на стороне клиента
  • 7
    разработанных инструкций
  • 3
    системы мониторинга на проекте

Технологии и инструменты

  • Apache_JMeter
  • Grafana_logo
  • WebPageTest
  • Telegraf
  • InfluxDB_Logo
  • confluence

Реализованные проекты

портфолио