Нагрузочное тестирование | Тестирование производительности | Qrator Labs

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

Целью нагрузочного тестирования (Load Testing) является определение характеристик производительности и проблемных мест тестируемой системы в условиях ожидаемой/боевой нагрузки (включая ожидаемую пиковую нагрузку).

Данный вид тестирования производительности помогает найти ответы на следующие вопросы:

  • Справится ли разрабатываемая система с ожидаемым уровнем нагрузки с приемлемым качеством?
  • Система не держит целевую нагрузку. Какие узкие места ее архитектуры мешают достичь поставленных целей?
  • Справится ли наша система с увеличенной нагрузкой в рамках планируемой маркетинговой кампании и в даты массовых распродаж?

Этапы тестирования

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

1. Анализ

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

2. Планирование

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

3. Тестирование

На данном этапе производится непосредственное тестирование согласно утвержденному на предыдущем этапе плану с мониторингом производительности тестируемой системы в режиме реального времени. Кроме того выполняется сбор детальной статистики для последующего полноценного анализа.

4. Анализ результатов

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

Конфигурация панели realtime-мониторинга
Конфигурация панели realtime-мониторинга
Конфигурация панели realtime-мониторинга
Общее время ответа в виде heatmap-графика
Общее время ответа в виде графика процентилей
Общее время ответа в виде графика диапазонов
Коды ответов

Возможности

Протоколы
  • HTTP, включая все методы, произвольные заголовки, Cookie, аутентификацию (Basic и Digest)
  • HTTPS, включая выбор версий TLS, используемых шифров и поддержку клиентских сертификатов
  • HTTP/2
  • Websocket (RFC 6455)
Объемы нагрузки
  • Сотни географически распределенных генераторов нагрузки (Европа, Азия, США, Австралия)
  • Сотни тысяч запросов в секунду
  • Сотни тысяч одновременных пользователей
  • Сотни тысяч одновременных TLS-соединений в секунду
Нагрузка
  • Модели нагрузки: открытая, закрытая, комбинированная.
  • Возможность задания произвольных профилей нагрузки
  • Hit-based нагрузка с равномерным или экспоненциальным распределением интервалов между запросами
  • Сценарная нагрузка с возможностью подготовки модели нагрузки как на основе имеющихся аccess-логов тестируемого ресурса (в т.ч. с использованием данных сети фильтрации Qrator), так и с помощью редактора сценариев.
Метрики

Традиционные метрики:

  • Нагрузка (запросы в секунду, одновременные пользователи)
  • Времена ответа (с разбивкой по отдельным компонентам: TCP, TLS, Server processing, Data transfer)
  • Коды ответов
  • Сетевой трафик: входящий/исходящий

Произвольные метрики:

Возможность добавления специфичных для тестируемого приложения метрик на основе анализа традиционных метрик, заголовков и тела (html/json/xml) ответа.

Анализ данных

Мы предоставляем широкие возможности для анализа полученных данных, включая:

  • Отображение агрегированных метрик в режиме реального времени на настраиваемом дашборде
  • Развитые возможности визуализации данных: настраиваемые графики процентилей, диапазонов, heatmap-графики
  • Анализ полученных данных вплоть до отдельных запросов с возможностью теггирования запросов (пользовательских сессий) для создания произвольных разрезов данных
  • Экспорт данных в произвольных форматах.
Остались вопросы?

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

Ожидается...

API

Упрощение процесса интеграции со сторонними системами: Continious Integration, системами внутреннего мониторинга, системами визуализации/анализа данных и др.

1Q2018

Улучшенный пользовательский интерфейс

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

1Q2018

Увеличение функциональных возможностей

Более детальная проработка отдельных направлений тестирования, таких как регрессионное тестирование, объемное тестирование и пр. Расширение списка поддерживаемых протоколов тестирования: БД, Message Queue и др.

2Q2018

Интеграция с системами внутреннего мониторинга

Интеграция как с open-source решениями (Collectd, Telegraf и пр), так и с SaaS системами.

2Q2018

Моделирование

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

3Q2018

Многое другое...

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