Найти тему
Софт Инжиниринг

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

Оглавление

Нагрузочное тестирование — важный процесс в жизненном цикле разработки! Он помогает определить способность разрабатываемой системы обрабатывать ожидаемые или сверх ожидаемые будущие нагрузки.

Целями такого тестирования является оценка качества работы и понимание возможностей масштабирования системы на разных уровнях нагрузки.

Как мы используем нагрузочное тестирование в [SE]?

Шаг 1. Определение максимальной производительности системы.

Шаг 2. Выявление узких мест и ограничение производительности системы.

Шаг 3. Изучение поведения системы при различных уровнях нагрузки.

Шаг 4. Определение стабильности системы под непрерывной нагрузкой.

Инструменты для проведения тестирования:

Существует довольно много инструментов для проведения нагрузочного тестирования. В своей работе мы используем: Yandex Tank и Gatling.

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

Яндекс танк и гатлинг это по сути две похожие системы: оба инструмента умеют визуализировать результат и написать сложные сценарии. Но Яндекс может генерировать более высокую нагрузку.

Процесс проведения нагрузочного тестирования:

1. Планирование и проектирование. На этом этапе мы определяем цели и области тестирования, а так же критерии производительности и требования к нагрузке. Исходя из этого определяем инструмент, которым будем пользоваться;

2. Создание окружения нагрузочного тестирования. Здесь мы составляем план тестирования и разрабатываем сценарии тестов;

3. Запуск тестов. Нагрузочные тесты выполняются в соответствии с планом. В этот момент мы контролируем активность системы и отслеживаем её поведение;

4. Анализ, оценка и отчетность. После завершения тестирования результаты собираются и анализируются. Генерируются отчеты, которые включают в себя выводы.

5. Оптимизация и корректировка. На основании полученной информации определяются фрагменты системы, работающие неэффективно или неустойчиво. Вносятся исправления и всё опять идёт в цикл до получения удовлетворительных результатов.

Виды отчетов:

-2
-3

Как понять что нагрузочное тестирование нужно провести?

— Ожидается большой приток пользователей;

— Есть вопросы, связанные с производительностью системы;

— Важно узнать как держит нагрузку фронт, бэк.