Тестирование производительности. Лекция №6

Содержание

Слайд 2

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

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

на всех этапах жизненного цикла решения
Слайд 3

Анализ системы и подбор требований Подготовка стратегии Настройка генератора нагрузки Проведение

Анализ системы и подбор требований
Подготовка стратегии
Настройка генератора нагрузки
Проведение мониторинга серверов и

генератора нагрузки
Подготовка тестовых данных

ЭТАПЫ

Слайд 4

Разработка нагрузочных скриптов Предварительные запуски тестов Проведение тестирования Анализ результатов и подготовка отчёта ЭТАПЫ

Разработка нагрузочных скриптов
Предварительные запуски тестов
Проведение тестирования
Анализ результатов и подготовка отчёта

ЭТАПЫ

Слайд 5

Анализ системы включает изучение ее свойств, особенностей и режима работы. С

Анализ системы включает изучение ее свойств, особенностей и режима работы. С его

помощью инженеры:
воспроизводят максимально объективные шаблоны поведения пользователей и профиля нагрузки
определяют необходимое количество тестовых данных
выявляют потенциально уязвимые места ПО
настраивают способы мониторинга системы

ЭТАП 1 – АНАЛИЗ СИСТЕМЫ И ПОДБОР ТРЕБОВАНИЙ

Слайд 6

Требования – это критерии, которым система соответствует с технической точки зрения.

Требования – это критерии, которым система соответствует с технической точки зрения.
Такими критериями будут следующие

измеряемые метрики:

ЭТАП 1 – АНАЛИЗ СИСТЕМЫ И ПОДБОР ТРЕБОВАНИЙ

Слайд 7

Требования – это критерии, которым система соответствует с технической точки зрения.

Требования – это критерии, которым система соответствует с технической точки зрения.
Подобранные на

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

Требования – это критерии, которым система соответствует с технической точки зрения.

Требования – это критерии, которым система соответствует с технической точки зрения.
Подобранные на

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

Стратегия разрабатывается на основе детального анализа ПО и описывает расширенный подход

Стратегия разрабатывается на основе детального анализа ПО и описывает расширенный подход к тестированию производительности.
Анализ включает всю

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

ЭТАП 2 – ПОДГОТОВКА СТРАТЕГИИ

Слайд 10

Конфигурация тестового стенда ЭТАП 2 – ПОДГОТОВКА СТРАТЕГИИ Для получения достоверных

Конфигурация тестового стенда

ЭТАП 2 – ПОДГОТОВКА СТРАТЕГИИ

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

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

Слайд 12

Разработка профиля и модели нагрузки ЭТАП 2 – ПОДГОТОВКА СТРАТЕГИИ Во

Разработка профиля и модели нагрузки

ЭТАП 2 – ПОДГОТОВКА СТРАТЕГИИ

Во время проведения

тестирования производительности собирается статистика по использованию ПО, которая нужна для создания профиля нагрузки – модели поведения пользователей.
Слайд 13

Разработка профиля и модели нагрузки ЭТАП 2 – ПОДГОТОВКА СТРАТЕГИИ Модель

Разработка профиля и модели нагрузки

ЭТАП 2 – ПОДГОТОВКА СТРАТЕГИИ

Модель нагрузки для одного

и того же теста бывает быть разной. Например, можно использовать модель нагрузки «+1 пользователь каждые 5 секунд» либо добавить всех пользователей сразу.
Слайд 14

Выбор инструмента для нагрузочного тестирования ЭТАП 2 – ПОДГОТОВКА СТРАТЕГИИ Использование

Выбор инструмента для нагрузочного тестирования

ЭТАП 2 – ПОДГОТОВКА СТРАТЕГИИ

Использование инструментов нагрузочного

тестирования позволяет записать процесс обмена данными между сервером и браузером.
Слайд 15

ЭТАП 3 – НАСТРОЙКА ГЕНЕРАТОРА НАГРУЗКИ Для качественного проведения тестирования производительности

ЭТАП 3 – НАСТРОЙКА ГЕНЕРАТОРА НАГРУЗКИ

Для качественного проведения тестирования производительности инструмент

устанавливается на генератор нагрузки – виртуальную или физическую машину, расположенную максимально близко к серверу(-ам) приложения. Это снижает искажения при подаче нагрузки, вызванные задержками сети.
Слайд 16

ЭТАП 4 – ПРОВЕДЕНИЕ МОНИТОРИНГА СЕРВЕРОВ И ГЕНЕРАТОРА НАГРУЗКИ Информация, полученная

ЭТАП 4 – ПРОВЕДЕНИЕ МОНИТОРИНГА СЕРВЕРОВ И ГЕНЕРАТОРА НАГРУЗКИ

Информация, полученная при

мониторинге всех серверов и ресурсов системы, используется при анализе результатов.
Мониторинг можно проводить с помощью специальных утилит для отслеживания потребления аппаратных ресурсов ПО.
Слайд 17

ЭТАП 5 – ПОДГОТОВКА ТЕСТОВЫХ ДАННЫХ Как правило, подходящий метод устанавливается

ЭТАП 5 – ПОДГОТОВКА ТЕСТОВЫХ ДАННЫХ

Как правило, подходящий метод устанавливается на

этапе анализа особенностей ПО, когда совместно со стороной разработки обсуждаются типы тестовых данных и их структура.
Слайд 18

ЭТАП 5 – ПОДГОТОВКА ТЕСТОВЫХ ДАННЫХ 4 способа подготовки данных: Код

ЭТАП 5 – ПОДГОТОВКА ТЕСТОВЫХ ДАННЫХ

4 способа подготовки данных:
Код
С помощью скриптов

на различных языках программирования можно создавать пользователей, пароли для пользователей и другие необходимые значения. 
SQL-запросы
Один из способов заполнения базы данных – SQL-запросы.
Слайд 19

ЭТАП 5 – ПОДГОТОВКА ТЕСТОВЫХ ДАННЫХ 4 способа подготовки данных: API-запросы

ЭТАП 5 – ПОДГОТОВКА ТЕСТОВЫХ ДАННЫХ

4 способа подготовки данных:
API-запросы
Если необходимо наполнить

базу товарами, информацией о пользователях, то используются API-запросы.
Слайд 20

ЭТАП 5 – ПОДГОТОВКА ТЕСТОВЫХ ДАННЫХ 4 способа подготовки данных: Интерфейс

ЭТАП 5 – ПОДГОТОВКА ТЕСТОВЫХ ДАННЫХ

4 способа подготовки данных:
Интерфейс
Можно создать скрипт,

который будет проходить шаги реального пользователя при регистрации. В таком случае есть смысл использовать встроенные функции нагрузочных инструментов, позволяющие провести рандомизацию значений по конкретному алгоритму.
Слайд 21

ЭТАП 6 – РАЗРАБОТКА НАГРУЗОЧНЫХ СКРИПТОВ Процесс разработки скриптов состоит из

ЭТАП 6 – РАЗРАБОТКА НАГРУЗОЧНЫХ СКРИПТОВ

Процесс разработки скриптов состоит из трех

шагов:
Изучение сценариев
Создание тест-кейсов
Отладка сценариев
Слайд 22

ЭТАП 7 – ПРЕДВАРИТЕЛЬНЫЕ ЗАПУСКИ ТЕСТОВ Предварительные запуски тестов нужны для

ЭТАП 7 – ПРЕДВАРИТЕЛЬНЫЕ ЗАПУСКИ ТЕСТОВ

Предварительные запуски тестов нужны для проверки

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

ЭТАП 8 – ПРОВЕДЕНИЕ ТЕСТИРОВАНИЯ На данном этапе выполняются следующие виды проверок:

ЭТАП 8 – ПРОВЕДЕНИЕ ТЕСТИРОВАНИЯ

На данном этапе выполняются следующие виды проверок:

Слайд 24

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

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

тех пор, пока не будет достигнут один из критериев остановки теста:
превышение требуемых значений отклика в несколько раз
достижение критического уровня использования аппаратных ресурсов (ЦП>80%, память>90%)
сбой системного ПО.
Слайд 25

Слайд 26

2. НАГРУЗОЧНОЕ ТЕСТИРОВАНИЕ проводится в течение длительного промежутка времени (4-8 ч.).

2. НАГРУЗОЧНОЕ ТЕСТИРОВАНИЕ проводится в течение длительного промежутка времени (4-8 ч.). Если в результате

стресс-теста система не выдержала целевую нагрузку, то проверка проходит под нагрузкой 80% от результата максимальной производительности, полученной при проведении стресс-теста.
Слайд 27

Слайд 28

3. ПРОВЕРКА СТАБИЛЬНОСТИ проводится с ожидаемым уровнем нагрузки при длительном многочасовом тестировании

3. ПРОВЕРКА СТАБИЛЬНОСТИ проводится с ожидаемым уровнем нагрузки при длительном многочасовом тестировании 

Слайд 29

4. ОБЪЕМНОЕ ТЕСТИРОВАНИЕ используется для оценки производительности работы ПО при увеличении

4. ОБЪЕМНОЕ ТЕСТИРОВАНИЕ используется для оценки производительности работы ПО при увеличении данных,

которые хранятся в БД приложения
Слайд 30

5. ПРОВЕРКА МАСШТАБИРУЕМОСТИ позволяет оценить способность решения увеличивать производительность пропорционально добавлению аппаратных ресурсов системы.

5. ПРОВЕРКА МАСШТАБИРУЕМОСТИ позволяет оценить способность решения увеличивать производительность пропорционально добавлению аппаратных

ресурсов системы.
Слайд 31

6. ПРИ МОДУЛЬНОМ ТЕСТИРОВАНИИ нагрузка подаётся на отдельные компоненты ПО. 7.

6. ПРИ МОДУЛЬНОМ ТЕСТИРОВАНИИ нагрузка подаётся на отдельные компоненты ПО.
7. ТЕСТ «ЧАСА

ПИК» проводится для того, чтобы проверить реакцию системы как в момент наибольшей загруженности, так и непосредственно после снижения нагрузки.
8. ТЕСТИРОВАНИЕ КОНФИГУРАЦИИ оценивает работу программного продукта при разных конфигурациях окружения.