Анализ результатов нагрузочного тестирования: индикаторы | OTUS

Курсы

Программирование
Выбор профессии в IT
-99%
Разработчик на Spring Framework Python Developer. Basic Специализация Python Developer Python Developer. Professional Golang Developer. Professional Scala-разработчик Специализация iOS Angular Developer JavaScript Developer. Professional Java Developer. Professional Microservice Architecture Highload Architect Node.js Developer Kotlin Backend Developer. Professional Java Developer. Basic HTML/CSS Специализация C++ Developer C++ Developer. Professional PHP Developer. Professional Agile Project Manager PostgreSQL для администраторов баз данных и разработчиков MS SQL Server Developer Unreal Engine Game Developer. Professional Web-разработчик на Python Cloud Solution Architecture Flutter Mobile Developer PHP Developer. Basic Специализация PHP Developer Rust Developer Буткемп Java Unity VR/AR Developer
Специализации Курсы в разработке Подготовительные курсы Подписка
+7 499 938-92-02

Анализ результатов нагрузочного тестирования: индикаторы

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

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

В настоящий момент наиболее популярными инструментами тестирования являются Gatling, MF LoadRunner, Apache JMeter. Все они обладают возможностями как генерации готовых отчетов по проведенному тестированию, так и отдельных графиков или сырых данных, на основе которых строится уже сам отчет.

zxsp_mozrbr_wxnd_tatmni__8a_1-1801-8e8bc3.png

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

Я работаю в Тинькофф, где мы активно используем инструмент Gatling, поэтому на его примере расскажем, как создать отчет вашей мечты и куда следует смотреть при его анализе. Также сразу хочу заметить, что почти все графики сегодня можно получать в режиме онлайн с помощью связки вашего инструмента с Grafana. Это наиболее удобный инструмент для создания отчетов «на лету», с помощью сконфигурированного заранее дашборда. Более того, это позволяет более быстро создать почти любой график на основе отправленных вами данных. Уже сейчас есть готовые дашборды почти для всех инструментов нагрузочного тестирования.

Индикаторы

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

Пороги для перехода из группы в группу задаются заранее на основе экспертной оценки или SLA (нефункциональных требований). Например, может быть три группы:

  • отличная — время отклика менее 50 секунд;
  • средняя — более 50, но менее 100 секунд;
  • ужасная — более 100 секунд.

В Gatling вы сами можете настроить пороги для перехода из группы в группу и их количество в файле gatling.conf. Графики такого типа лучше строить на основе методики APDEX (Application Performance Index).

Также можно добавить индикатор с количеством/процентами ошибочных запросов.

knhb5zh6wsqw5tc10giplualrto_1-1801-0dcd96.png

Метод APDEX позволяет использовать индикаторы в регрессионном тестировании для сравнения релизов: так сразу видно, насколько хуже или лучше стал релиз в общем. К сожалению, этого графика нет из коробки в MF LoadRunner и Apache JMeter, но его легко создать с помощью дашборда Grafana.

Продолжение статьи здесь.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться