!Марафон по нагрузочному тестированию: схема общих понятий
Нагрузочное тестирование
Тестирование производительности - нефункциональная характеристика (стандарт ISO 25010 [ISO25000])
Три составляющих тестирования производительности:
1. Производительность системы (как система отвечает на действия пользователей в течение определенного времени и при определенных условиях)
2. Использование ресурсов (Например, выделение оперативное памяти)
3. Потенциальные возможности (количество пользователей или объемы данных, масштабируемость)
Термины:
Время отклика - показатель качества, показывающий время отклика на транзакцию, время выполнения транзакции - с момента отправки запроса к серверу, до получения последнего байта от сервера
Пропускная способность - показатель качества, показывающий количество транзакций, которые произошли за единицу времени
Виртуальный пользователь - программный процесс, циклический выполняющий моделируемые операции
Интенсивность выполнения операций - частота выполнения операции в единицу времени, в тестовом скрипте задается интервалом времени между итерациями
Нагрузка - совокупное выполнение операций на общем ресурсе
Производительность - количество выполняемых операций за период времени
Масштабируемость приложения - пропорциональный рост производительности при увеличении нагрузки
Профиль нагрузки - набор операций с заданными интенсивностями, полученный на основе сбора статистических данных или анализа требований к системе
Нагрузочная точка - сценарий НТ - рассчитанное (заданное) количество виртуальных пользователей в группах, выполняющих операции с определенными интенсивностями - нагрузочный сценарий, объединенные операции с разными скриптами -- максимальная вместимость, максимальная производительность
Строительные блоки теста производительности:
1) Запрос
2) Транзакция (объединение всех запросов вместе: запрос на открытие страницы, прогрузку элементов и скриптов)
3) Сценарий (логическое объединение транзакций: войти на страницу, ввод логина и пароля и т.д.)
4) Профиль нагрузки (объединение сценариев, сколько и каких необходимо выполнять сценариев. Для каждого сеанса тестирования определяется профиль нагрузки, строятся отчеты и графики по выбранным методикам тестирования производительности)
Как выбрать транзакции для теста:
1. Критически важные риски часто используемое
2. Требуемые тех экспертом заказчика
3. Ресурсоемкие
Профиль нагрузки включает в себя:
1. Количество виртуальных пользователей
2. Количество сценариев (операций задержки)
3. Интенсивность (операций)
Принципы тестирования производительности:
1. Сценарии НТ должен корректно загружать систему по корректному профилю
2. Методика НТ, отчет и вывод; результат визуализирован понятным образом для большого круга заинтересованных лиц
3. Тесты должны осуществлять на системе (тестовом окружении), в достаточной мере воспроизводящей производственную среду; максимально приближено к архитектуре прода
ЦЕЛИ тестирования производительности:
1) Получение подтверждения, что система удовлетворяет предъявленным критериям производительности и максимальная производительность
2) Проверка возможности масштабируемости
3) Выявление узких мест - определение компонента системы, приводящего к снижению производительности или отказу
4) Выявление влияние нагрузки на аппаратные ресурсы
МЕТРИКИ:
Категории метрик:
1. Со стороны приложения:
а) Интенсивность
б) Время отклика
в) Загрузка очередей
г) Метрики БД
д) Соотношение ошибок
2. Со стороны аппаратной части
а) ЦПУ
б) ОЗУ
в) hdd
Как выбрать:
При поиске узких мест следует включать неспецифические метрики
Инструменты для сбора метрик производительности:
а) Инструменты нагрузочного тестирования (набор измерений и отображения метрик)
б) Инструменты мониторинга производительности (мониторинг метрик производительности на постоянной основе и информирование при снижении)
аа) Linux
бб) Windows
в) Инструменты анализа лог-файлов (сканирование логов с сервера и сбор метрик на их основе)
Примеры инструментов:
1. Apache Jmeter
2. LoadRunner
3. Load Ninja
4. WebLoad
5. LoadUI Pro
6. BlazeMeter
7. Яндекс танк
План проекта по проведению нагрузочному тестированию:
1. Выяснить цель
2. Описать требования и условия
3. Описать профиль нагрузки
4. Разработать сценарий
5. Прогнать сценарии и откалибровать
6. Анализ результатов выполнения нагрузки и ОТЧЕТ
Способы задания нагрузки:
1. Создание нагрузки через пользовательский интерфейс (с помощью инструментов функционального теста через UI)
2. Создание нагрузки с помощью большого числа тестировщиков
3. Создание нагрузки через API (через программный интерфейс приложения) \ mq-очередь (очередь сообщений, обеспечивающая временное хранилище данных, когда целевая программа занята)
10 views
517
148
3 days ago 00:00:59 1
Как избавиться от перхоти без лекарств и шампуней!
7 days ago 00:26:59 1
Мелирование на темные русые волосы дома | Окрашивание волос | Уроки окрашивания волос
1 week ago 00:26:59 1
УЛЬТРАМАРАФОН 🏃 на таинственную гору Воттоваара в Карелии
2 weeks ago 00:00:13 1
ВРЕМЯ ВЫБРАЛО НАС! Прямая трансляция концертной программы в Бобруйске! 16 ноября в 18:00
2 weeks ago 01:12:27 1
Прямой эфир. Прошли марафон Осознанности, остались вопросы, задавайте - отвечу!💯💥❤️🔔💪☀️🙏
2 weeks ago 00:29:03 1
Как Hustle-Культура делает нас несчастными?
2 weeks ago 00:52:16 1
Марафон
3 weeks ago 00:01:30 1
В чем такая огромная польза МИКРОЗЕЛЕНИ ?
3 weeks ago 00:00:00 1
Антипаразитарный марафон. Вопрос-ответ с Анной Епихиной
4 weeks ago 00:05:34 1
💥Волшебный Завод SuccessTogether! Космические технологии SuccessDay и Night из будущего для тебя!