Тестирование производительности

Содержание

Слайд 2

Тестирование производительности

Тестирование производительности – тестирование, целью которого служит определение скорости работы вычислительной

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

Слайд 3

Тестирование производительности

Данный вид тестирования позволяет находить возможные уязвимости и недостатки в системе

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

Слайд 4

Тестирование производительности

Тестирование производительности проводится для обеспечения бесперебойной работы и снижения стоимости владения

Тестирование производительности Тестирование производительности проводится для обеспечения бесперебойной работы и снижения стоимости
ПО на всех этапах жизненного цикла решения.
Существует 9 этапов тестирования производительности.

Слайд 5

9 Этапов тестирования производительности

1 этап: Анализ системы и рассмотрение требований.
Главное условие данного

9 Этапов тестирования производительности 1 этап: Анализ системы и рассмотрение требований. Главное
этапа – полностью законченное приложение или система. Если процесс разработки не завершен, то полученные данные отразят недействительные результаты.
Следующее условие для данного этапа – правильно настроенная конфигурация ПО.

Слайд 6

9 Этапов тестирования производительности

1 этап: Анализ системы и рассмотрение требований.
Анализ системы включает

9 Этапов тестирования производительности 1 этап: Анализ системы и рассмотрение требований. Анализ
в себя изучение свойств системы, её особенностей и режима работы. С помощью анализа системы можно:
Воспроизводить максимально объективные шаблоны поведения пользователей и профиля нагрузки
Определить необходимое количество тестовых данных
Настраивать способы мониторинга системы
Выявить потенциально слабые места ПО

Слайд 7

9 Этапов тестирования производительности

1 этап: Анализ системы и рассмотрение требований.
Требование – это

9 Этапов тестирования производительности 1 этап: Анализ системы и рассмотрение требований. Требование
критерий, которому система должна соответствовать с технической точки зрения.
Подобранные на начальных тапах требования необходимо сравнивать с полученными результатами чтобы оценить поведение ПО целиком и по модулям, для выявления и устранения слабых мест системы.

Слайд 8

9 Этапов тестирования производительности

9 Этапов тестирования производительности

Слайд 9

9 Этапов тестирования производительности

1 этап: Анализ системы и рассмотрение требований.
Критерии для измеряемых

9 Этапов тестирования производительности 1 этап: Анализ системы и рассмотрение требований. Критерии
метрик:
Количество пользователей – программа, которая при выполнении запросов к приложения действует как реальный пользователь
Время отклика – время, затраченное системой на выполнение запроса пользователя
Запросы в секунду – измерение количества запросов отправляемых на сервер

Слайд 10

9 Этапов тестирования производительности

1 этап: Анализ системы и рассмотрение требований.
Критерии для измеряемых

9 Этапов тестирования производительности 1 этап: Анализ системы и рассмотрение требований. Критерии
метрик:
4. Транзакции в секунду – измерение количества транзакций, отправляемых на целевой сервер
5. Процент ошибок – процент ошибок от общего числа ответов в единицу времени
6. Процессор – процентное соотношение времени, которое процессор тратит на выполнение рабочего потока

Слайд 11

9 Этапов тестирования производительности

1 этап: Анализ системы и рассмотрение требований.
Критерии для измеряемых

9 Этапов тестирования производительности 1 этап: Анализ системы и рассмотрение требований. Критерии
метрик:
7. Оперативная память – количество МВ в физической памяти, свободное для всех программ и процессов.
8. Жесткий диск – информация о процентах использования дискового пространства

Слайд 12

9 Этапов тестирования производительности

2 этап: Подготовка стратегии.
Стратегия – разрабатывается на основе детального

9 Этапов тестирования производительности 2 этап: Подготовка стратегии. Стратегия – разрабатывается на
анализа ПО и описывает подходы к тестированию производительности.
Данная стратегия включает всю собранную информацию на этапе анализа системы: требования к ПО, конфигурацию тестового стенда, мониторинг, сценарии поведения пользователей, профиле и модели нагрузки, инструментах тестирования производительности, планируемых запусках тестов, виде предоставления результатов

Слайд 13

9 Этапов тестирования производительности

2 этап: Подготовка стратегии.
Конфигурация тестового стенда: факторы влияющие на

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

Слайд 14

9 Этапов тестирования производительности

2 этап: Подготовка стратегии.
Конфигурация тестового стенда: факторы влияющие на

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

Слайд 15

9 Этапов тестирования производительности

2 этап: Подготовка стратегии.
Структурная схема окружения для тестирования производительности

9 Этапов тестирования производительности 2 этап: Подготовка стратегии. Структурная схема окружения для тестирования производительности

Слайд 16

9 Этапов тестирования производительности

2 этап: Подготовка стратегии.
Во время тестирования собирается статистика использования

9 Этапов тестирования производительности 2 этап: Подготовка стратегии. Во время тестирования собирается
ПО, для создания профиля нагрузки – модели поведения пользователей.
Подобный профиль отражает процентное распределение совершаемых в системе операция между пользователями разных ролей. После этого вычисляется начальная точка и размер шага для увеличения интенсивности выполненных операций.
Модель нагрузки может быть разной. Можно добавлять по одному пользователю в минуту, а можно добавить всех сразу

Слайд 17

9 Этапов тестирования производительности

3 этап: Настройка генератора нагрузки.
Для качественного проведения тестирования необходимо

9 Этапов тестирования производительности 3 этап: Настройка генератора нагрузки. Для качественного проведения
установить инструмент тестирования на генератор нагрузки – виртуальную или физическую машину, расположенную максимально близко к серверу приложения. Это снижает искажение при подаче нагрузки, вызванные задержками сети.
Для создания большого объема нагрузки ресурсов одной машины может быть недостаточно, по этому необходимо проводить распределенное нагрузочное тестирование

Слайд 18

9 Этапов тестирования производительности

3 этап: Настройка генератора нагрузки.

9 Этапов тестирования производительности 3 этап: Настройка генератора нагрузки.

Слайд 19

9 Этапов тестирования производительности

4 этап: Мониторинг серверов и генератора нагрузки.
Выделенные на первом

9 Этапов тестирования производительности 4 этап: Мониторинг серверов и генератора нагрузки. Выделенные
этапе метрики используются для оценки параметров производительности. Информация, полученная при мониторинге всех серверов и ресурсов системы, используется при анализе результатов тестирования.
Мониторинг можно проводить с помощью специальных утилит для отслеживания потребления аппаратных ресурсов ПО.

Слайд 20

9 Этапов тестирования производительности

4 этап: Мониторинг серверов и генератора нагрузки.
Задание №1: привести

9 Этапов тестирования производительности 4 этап: Мониторинг серверов и генератора нагрузки. Задание
сравнительную характеристику следующих утилит для отслеживания потребления аппаратных ресурсов ПО.
Nmon
Perfomance Monitor
Zabbix
Grafana
New Relic

Слайд 21

9 Этапов тестирования производительности

4 этап: Мониторинг серверов и генератора нагрузки.
Задание №2: привести

9 Этапов тестирования производительности 4 этап: Мониторинг серверов и генератора нагрузки. Задание
сравнительную характеристику двух инструментов для отслеживания неполадок в БД.
PostgreSql
SQL Server Profiler

Слайд 22

9 Этапов тестирования производительности

5 этап: Подготовка тестовых данных
Универсального подхода к подготовке не

9 Этапов тестирования производительности 5 этап: Подготовка тестовых данных Универсального подхода к
существует. Часто для корректной работы решения нежно создавать данные в объеме, достаточном для разработки скриптов и проведения тестов.
Существует 4 способа подготовки данных:
Код
SQL-запросы
API-запросы
Интерфейс

Слайд 23

9 Этапов тестирования производительности

6 этап: Разработка нагрузочных скриптов.
Сценарии тестирования производительности создаются с

9 Этапов тестирования производительности 6 этап: Разработка нагрузочных скриптов. Сценарии тестирования производительности
использованием выбранного инструмента.
Процесс разработки скриптов состоит из трех шагов:
Изучение сценарием – анализ подготовленных сценариев, для определения действия каждого.
Создание тест-кейсов – каждый сценарий записывается в шаблон без параметризации.
Отладка сценариев – запуск каждого сценария

Слайд 24

9 Этапов тестирования производительности

7 этап: Предварительные запуски тестов.
Данный этап необходим для проверки

9 Этапов тестирования производительности 7 этап: Предварительные запуски тестов. Данный этап необходим
корректности работы подготовленных нагрузочных скриптов и поиска оптимальной модели нагрузки на систему.

Слайд 25

9 Этапов тестирования производительности

8 этап: Тестирование.
1. Стресс-тест происходит с постепенно увеличивающейся нагрузки

9 Этапов тестирования производительности 8 этап: Тестирование. 1. Стресс-тест происходит с постепенно
на сервер и возрастает до тек пор пока не будет достигнут один из сценариев остановки теста:
превышение требуемых значений отклика в несколько раз;
достижение критического уровня использования аппаратных ресурсов (ЦП>80%, память>90%);
количество ошибок HTTP превышает 1% от общего числа запросов;
сбой системного ПО.

Слайд 26

9 Этапов тестирования производительности

8 этап: Тестирование.
Стресс-тест

9 Этапов тестирования производительности 8 этап: Тестирование. Стресс-тест

Слайд 27

9 Этапов тестирования производительности

8 этап: Тестирование.
2. Нагрузочное тестирование – происходит в течении

9 Этапов тестирования производительности 8 этап: Тестирование. 2. Нагрузочное тестирование – происходит
длительного промежутка времени (около 10ти часов).
Если в результате стресс-теста системы не выдержали целевую нагрузку, то проверка проходит под нагрузкой 80% от результата максимальной производительности, полученной при проведении стресс-теста.

Слайд 28

9 Этапов тестирования производительности

8 этап: Тестирование.
2. Нагрузочное тестирование

9 Этапов тестирования производительности 8 этап: Тестирование. 2. Нагрузочное тестирование

Слайд 29

9 Этапов тестирования производительности

8 этап: Тестирование.
3. Проверка стабильности проводится с ожидаемым уровнем

9 Этапов тестирования производительности 8 этап: Тестирование. 3. Проверка стабильности проводится с
нагрузки при длительном тестировании. При достижении максимального количества пользователей нагрузка на сервер больше не подается и остается постоянной на протяжении всей проверки. Может продолжаться в течении нескольких дней.

Слайд 30

9 Этапов тестирования производительности

8 этап: Тестирование.
3. Проверка стабильности

9 Этапов тестирования производительности 8 этап: Тестирование. 3. Проверка стабильности

Слайд 31

9 Этапов тестирования производительности

8 этап: Тестирование.
4. Объемное тестирование используется для оценки производительности

9 Этапов тестирования производительности 8 этап: Тестирование. 4. Объемное тестирование используется для
работы ПО при увеличении данных, которые хранятся в БД приложения. Для проведения такого тести необходимо заполнить базу определенным объемом информации

Слайд 32

9 Этапов тестирования производительности

8 этап: Тестирование.
3. Объемное тестирование

9 Этапов тестирования производительности 8 этап: Тестирование. 3. Объемное тестирование

Слайд 33

9 Этапов тестирования производительности

8 этап: Тестирование.
5. Проверка масштабируемости позволяет оценить способность решения

9 Этапов тестирования производительности 8 этап: Тестирование. 5. Проверка масштабируемости позволяет оценить
увеличивать производительность пропорционального добавлению аппаратных ресурсов системы

Слайд 34

9 Этапов тестирования производительности

8 этап: Тестирование.
3. Проверка масштабируемости

9 Этапов тестирования производительности 8 этап: Тестирование. 3. Проверка масштабируемости

Слайд 35

9 Этапов тестирования производительности

8 этап: Тестирование.
6. При модульном тестировании нагрузка подается на

9 Этапов тестирования производительности 8 этап: Тестирование. 6. При модульном тестировании нагрузка
отдельные компоненты ПО
7. Тест «часа пик» проводится для того, что бы проверить реакцию системы как в момент наибольшей загруженности, так и непосредственно после снижения нагрузки
8. Тестирование конфигурации оценивает работу программного продукты при разных конфигурациях окружения

Слайд 36

9 Этапов тестирования производительности

9 этап: Анализ результата и подготовка отчета
На основе предыдущих

9 Этапов тестирования производительности 9 этап: Анализ результата и подготовка отчета На
этапов создается документ, который описывает не только результаты проведенных тестов, но и ход выполнения каждого из них