- Тренинг
- Программа
Первое занятие: обзор
1. Введение в тестирование производительности -- зачем мы его проводим и какие ошибки мы можем обнаружить
2. Базовые составляющие проектирования тестов: сценарии и профиль нагрузки
3. Базовые составляющие выполнения тестов: создание нагрузки и сбор данных
4. Базовые составляющие анализа результатов: средние значения и аномалии
5. Краткий обзор инструментов генерации нагрузки
- онлайновые генераторы, демонстрация LoadImpact
- инструменты с декларативным стилем описания сценариев, демонстрация JMeter
- инструменты с императивным стилем описания сценариев, демонстрация Multi-Mechanize
6. Создание простого генератора нагрузки: запись действий пользователя и воспроизведение записанного сценария в несколько потоков
- демонстрация записи и воспроизведения
7. Отладка сценария: как понять, что там происходит на самом деле
- анализ результатов в Tree View
8. Сбор основных метрик: время отклика, пропускная способность, количество отказов
Второе занятие: сценарии и профили нагрузки
1. Требования к производительности систем, анализ требований и определение целей тестирования
2. Что такое модель нагрузки и как она соотносится с целями тестирования
3. Типовые модели нагрузки -- на обнаружение какого рода проблем они нацелены
- реализация типовых моделей нагрузки в JMeter
4. Тестовые данные и параметризация сценариев
- глобальные параметры и уникальные данные для каждого виртуального пользователя
- загрузка данных из файла
- динамическая генерация данных
5. Корреляция запросов в рамках сценария
- различные способы извлечения данных из результата запроса
Третье занятие: сбор данных и анализ результатов
1. Сбор основных метрик: время отклика, пропускная способность, количество отказов
- просмотр в JMeter в режиме реального времени
- сброс данных в файл и загрузка из файла
2. Архитектура распределённых систем и источники проблем с производительностью
3. Сбор данных о производительности операционной системы, сервера приложений, СУБД
4. Ложно-положительные и ложно-отрицательные результаты
5. Распределённое тестирование
- генерация нагрузки из нескольких источников
- сбор данных в распределённой среде
6. Использование Excel для анализа результатов
7. Выявление аномалий (отклонений от нормы)
Четвертое занятие: усложнение сценариев
1. Задержки между запросами
2. Верификация результатов запросов
3. Управление потоком выполнения сценария
- условные действия
- циклы
- случайный порядок выполнения действий
- как правильно делать login и logout
4. Создание сценариев из переиспользуемых модулей
5. Различные протоколы взаимодействия с тестируемой системой