В статье представлены результаты комплексного тестирования прототипа интернет-магазина бытовой техники, разработанного на микросервисной архитектуре. Исследование охватывает функциональное тестирование REST API, нагрузочное тестирование и валидацию обработки ошибочных сценариев. При нагрузке 500 запросов в минуту система показала среднее время отклика 72 мс при 100 % успешности запросов. Все ключевые модули (аутентификация, управление профилями, товарами и категориями) продемонстрировали корректную работу. Разработанная методика тестирования подтвердила соответствие системы требованиям производительности и надежности, а также готовность к опытной эксплуатации.
Ключевые слова: интернет-магазин, микросервисная архитектура, REST API, нагрузочное тестирование, функциональное тестирование.
Введение
Современный рынок электронной коммерции характеризуется интенсивным ростом объемов данных и ужесточением требований к производительности и надежности платформ. Особую актуальность эти вызовы приобретают для интернет-магазинов, где высока конкуренция, а пользователи ожидают безупречной работы системы при поиске товаров, формировании заказов и обработке транзакций. Ручное тестирование таких сложных систем становится недостаточным для обеспечения необходимого уровня качества, что обуславливает потребность в комплексных автоматизированных методах оценки функциональности и производительности.
В данной статье представлены результаты комплексного тестирования прототипа высоконагруженной системы интернет-магазина бытовой техники, разработанной с применением микросервисной архитектуры. Целью исследования стала верификация готовности системы к промышленной эксплуатации, включая оценку производительности и функциональности в условиях, имитирующих реальную нагрузку.
Научная новизна работы заключается в разработке комплексного подхода к тестированию микросервисной архитектуры интернет-магазина, ориентированного на специфические требования рынка бытовой техники. Методика испытаний содержала как традиционные техники оценки функциональности, так и специализированные сценарии, включая тестирование пиковых нагрузок в период сезонных распродаж и устойчивости к сбоям в работе отдельных сервисов.
Полученные результаты могут служить основой для дальнейшей оптимизации архитектуры системы.
Методы
В рамках исследования была использована комплексная методика испытаний, включающая несколько типов проверок, обеспечивающих всестороннюю оценку работоспособности системы интернет-магазина бытовой техники.
Функциональное REST API и нагрузочное тестирование были реализованы с использованием ПО Insomnia, что позволило верифицировать корректность выполнения ключевых операций, таких как поиск товаров, формирование корзины, оформление и отслеживание заказов.
Тестирование включало в себя создание и выполнение различных запросов к API, таких как GET, POST, PUT и DELETE, что позволило оценить функциональность и стабильность всех доступных конечных точек. Каждая операция была протестирована на соответствие ожидаемым результатам, а также проверялись ответы сервера на правильность и полноту данных.
Таблица 1 описывает эндпоинты модуля аутентификации и регистрации. Функционал обеспечивает базовые механизмы безопасности: первичную аутентификацию пользователя, получение и обновление токена доступа (access token), а также регистрацию новых учетных записей, что формирует основу для разграничения прав доступа в системе.
Таблица 1
Auth/Register
|
№ |
Запрос |
Метод |
URL |
|
1 |
Auth |
POST |
/auth/login |
|
2 |
Access-token |
POST |
/auth/login/access-token |
|
3 |
Register |
POST |
/auth/register |
Представленные в таблице 2 эндпоинты инкапсулируют логику работы с пользовательским профилем. Помимо стандартных операций получения и обновления данных, реализован специализированный метод для управления списком избранного (PATCH /users/profile/favorites).
Таблица 2
Profile
|
№ |
Запрос |
Метод |
URL |
|
1 |
Profile |
GET |
/users/profile |
|
2 |
Update profile |
POST |
/users/profile |
|
3 |
Favorites |
PATCH |
/users/profile/favorites |
Эндпоинты, описанные в таблице 3, представляют интерфейс для работы с отзывами о товарах. Предусмотрены методы для получения списка отзывов и создания новых, что позволяет реализовать интерактивность платформы и сбор пользовательского контента, влияющего на потребительский выбор.
Таблица 3
Reviews
|
№ |
Запрос |
Метод |
URL |
|
1 |
Reviews |
GET |
/reviews |
|
2 |
Create reviews |
POST |
/reviews/create |
Таблица 4 содержит полный набор CRUD-операций (Create, Read, Update, Delete) для сущности «Товар», а также специализированные методы для фильтрации по категориям.
Таблица 4
Products
|
№ |
Запрос |
Метод |
URL |
|
1 |
Get by id |
GET |
/products/{id} |
|
2 |
Get all |
GET |
/products |
|
3 |
Get by category |
GET |
/products/category/{category} |
|
4 |
Create |
POST |
/products |
|
5 |
Update |
PUT |
/products/{id} |
|
6 |
Delete |
DEL |
/products/{id} |
Таблица 5 описывает API для управления категориями товаров. Реализация полного набора CRUD-операций (POST, PUT, DELETE, GET) обеспечивает независимое управление таксономией товаров, что повышает сопровождаемость системы и позволяет эффективно масштабировать товарный каталог.
Таблица 5
Categories
|
№ |
Запрос |
Метод |
URL |
|
1 |
Create |
POST |
/categories |
|
2 |
Update |
PUT |
/categories |
|
3 |
Delete |
DEL |
/categories |
|
4 |
Get by id |
GET |
/categories/{id} |
Структура REST API системы интернет-магазина бытовой техники демонстрирует модульный принцип организации, строгое следование REST-архитектуре и покрытие ключевых пользовательских сценариев.
Каждый модуль (аутентификация, профиль, отзывы, товары, категории) обладает четко определенным набором операций, что обеспечивает масштабируемость, поддерживаемость и безопасность системы в целом.
Для проведения нагрузочных тестов применялось ПО Insomnia, которое позволяло моделировать реальную пользовательскую нагрузку и фиксировать метрики производительности, такие как среднее время ответа и процентиль задержек. Сценарии нагрузочных тестов имели различные профили нагрузки с целью проверки системы в условиях, близких к реальной эксплуатации.
Результаты
В ходе научно-исследовательской работы был разработан и протестирован функциональный прототип системы интернет-магазина бытовой техники. Экспериментальная часть работы включала анализ характеристик системы — от оценки корректности работы отдельных микросервисов до исследования полного цикла пользовательских операций в условиях имитации реальной нагрузки. Все испытания выполнялись в изолированном окружении с применением средств автоматизации тестирования.
Для обеспечения полноты и воспроизводимости испытаний предварительно была разработана программа и методика предварительных комплексных испытаний системы, определяющая цели, последовательность и подходы к проверке всех компонентов. На ее основе проведены функциональные и нагрузочные тесты, охватывающие реализацию основных функций системы. По завершении испытаний составлен протокол предварительных комплексных испытаний, зафиксировавший результаты и перечень необходимых доработок.
В рамках функционального тестирования REST API была проведена полная верификация всех представленных ранее эндпоинтов. Тестирование подтвердило корректность работы API — все запросы возвращают ожидаемые коды ответа и данные при валидных параметрах.
Особое внимание уделялось тестированию обработки ошибок. Успешно валидированы сценарии с некорректными входными данными, в частности:
- при попытке регистрации пользователя с существующими учетными данными система возвращает ошибку «User Already Exists» с соответствующим HTTP-статусом;
- проверка авторизации с неверными учетными данными;
- валидация прав доступа к защищенным ресурсам.
Все тестовые сценарии, включая позитивные и негативные кейсы, выполнены успешно. Результаты тестирования демонстрируют надежную работу системы и корректную обработку исключительных ситуаций, что соответствует требованиям к промышленной эксплуатации интернет-магазина.
Рис. 1. Успешное тестирование метода auth/register
Рис. 2. Ожидаемая ошибка «User already exists»
Нагрузочное тестирование проводилось с помощью ПО Insomnia. Основной задачей тестирования было определить, как API справляется с количеством запросов и выявить максимальное время отклика при увеличенной нагрузке.
Для тестирования была выбрана нагрузка в 500 запросов в минуту. Все запросы были направлены к основным конечным точкам API, что позволило эффективно оценить производительность системы. Тестирование проводилось в течение 10 минуты.
Показатели производительности системы демонстрируют стабильно низкое время отклика: среднее значение составляет 72 мс, медианное — 66 мс. Максимальная задержка не превысила 142 мс при минимальном значении 7 мс. Особого внимания заслуживает полное отсутствие ошибок при обработке запросов — все операции выполнены успешно (100 % успешных ответов, 0 % ошибок). Полученные результаты подтверждают высокую надежность системы и ее способность функционировать в условиях повышенной нагрузки без снижения качества обслуживания.
Проведенное нагрузочное тестирование показало, что REST API успешно справился с заданной нагрузкой, что указывает на его способность выдерживать высокую нагрузку при нормальных условиях эксплуатации.
Испытания подтвердили функциональную готовность системы. По итогам тестов составлен протокол, фиксирующий результаты и рекомендации по доработкам. Выявленные ошибки устранены, система соответствует нормативам технического задания по времени отклика, устойчивости к нагрузкам и защите от внешних угроз.
Таким образом, прототип системы признан технически состоятельным и готовым к опытной эксплуатации.
Заключение
В ходе исследований была успешно протестирована работа всех ключевых модулей API, включая аутентификацию, управление профилями, товарами и категориями.
Система продемонстрировала стабильную работу при нагрузке до 500 запросов в минуту со средним временем отклика 72 мс и полным отсутствием ошибок. Нагрузочное тестирование выявило соответствие системы заданным требованиям производительности, а функциональные проверки подтвердили корректную обработку как штатных, так и ошибочных сценариев.
Выявленные в процессе тестирования области для оптимизации легли в основу плана дальнейшего развития системы. Полученные результаты свидетельствуют о готовности системы к опытной эксплуатации и создают основу для ее последующего масштабирования в промышленной среде.
Литература:
- REST API Tutorial: [Электронный ресурс]. — URL: https://restfulapi.net/ (дата обращения: 30.09.2025)
- Google Cloud Architecture Center: [Электронный ресурс]. — URL: https://cloud.google.com/architecture (дата обращения: 30.09.2025)
- Microsoft DevOps Resource Center: [Электронный ресурс]. — URL: https://learn.microsoft.com/en-us/devops/ (дата обращения: 30.09.2025)
- Postman API Platform: [Электронный ресурс]. — URL: https://www.postman.com/api-platform/ (дата обращения: 30.09.2025)
- Next.js Documentation: [Электронный ресурс]. — URL: https://nextjs.org/docs (дата обращения: 30.09.2025)
- Prisma Documentation: [Электронный ресурс]. — URL: https://www.prisma.io/docs/ (дата обращения: 30.09.2025)
- NestJS Framework Guide: [Электронный ресурс]. — URL: https://docs.nestjs.com/ (дата обращения: 30.09.2025)
- PostgreSQL Documentation: [Электронный ресурс]. — URL: https://www.postgresql.org/docs/ (дата обращения: 30.09.2025)
- Cypress End-to-End Testing: [Электронный ресурс]. — URL: https://docs.cypress.io/guides/overview/why-cypress (дата обращения: 30.09.2025)
- Software Testing Metrics: Types, Calculations, and Examples: [Электронный ресурс]. — URL: https://www.accelq.com/blog/software-testing-metrics/ (дата обращения: 30.09.2025).

