3. Цели мастер-класса
• Дать аудитории представление о
«нагрузочном» тестировании
• Научить участников составлять и запускать
первый «нагрузочный» тест с помощью
JMeter
4. План выступления
1. Введение
2. Нагрузочное тестирование как один из
этапов тестирования продукта
3. Создание тестов на JMeter
5. Что это?
Зачем надо?
Кому надо?
Откуда берется?
Результат?
1. ВВЕДЕНИЕ В НАГРУЗОЧНОЕ
ТЕСТИРОВАНИЕ WEB-ПРИЛОЖЕНИЙ
6. WEB – это много пользователей
• Требовательных
• Непредсказуемых
• Не готовых ждать
• Злых
7. Что значит «нагрузочное
тестирование»?
• Исследование того, как работает система
при заданной нагрузке на предмет
надежности и эффективности
Тестирование под нагрузкой
8. Зачем оно надо?
• Как поведет себя
приложение?
• Что будет с данными?
• Снижение затрат на ошибки
9. Риски
• Пользователи
• Деньги
• Репутация
• Данные
10. Кому оно надо?
• Пользователи
• Команда:
• Менеджеры
• Разработчики
• Группа внедрения/
продвижения
11. Затраты
• Время
– изучение
– создание
– доработка
• Финансы
• Нервы
12. Откуда оно берется?
• Проблема/ необходимость
• Качество
• Требования
• «Все делают, чем мы хуже?»
13. Результат
• Эффективно и надежно
работающее приложение
• Довольные пользователи
• Все счастливы!
17. Нагрузочное тестирование
Требования
Стабильно
работающее
Цель Нагрузочное приложение
Проблема тестирование
Информация
о системе
Стенд
Инструментарий
Специалист
18. Нагрузочное тестирование веб-
приложения
Метрики
Информация
Характеристики Тестируемая о поведении
нагрузки система системы
Ошибки
20. Вход – характеристики нагрузки
• Количество пользователей
• Время
• Модель
• Интенсивность запросов
• Объем данных
21. Метрики
• Метрики – это численные показатели тех
или иных параметров тестируемой
системы.
22. Метрики. Разновидности
• Время отклика
• Загрузка процессора
• Потребление оперативной
памяти
• Дисковое пространство
• Использование сети
• Показатели тестируемой
системы
24. Профиль нагрузки
• Профиль нагрузки – это набор
характеристик нагрузки, подаваемых на
вход тестируемому веб-приложению,
необходимый для достижения цели
нагрузочного тестирования.
28. Тестирование производительности
(Performance Testing). Зачем?
• Определение быстроты работы
приложения
– при какой нагрузке приложение работает
быстро?
– при какой нагрузке приложение начинает
работать медленно?
32. Объемное тестирование
(Volume Testing). Зачем?
• Поведение системы при больших объемах
данных
– возникают ли проблемы из-за объема данных?
– характеристики производительности при
большом объеме данных
33. Объемное тестирование
(Volume Testing). Как?
• На большом объеме данных
– нагрузочное тестирование
– тестирование производительности
34. Тестирование надежности
(Endurance Testing). Зачем?
• Нет ли деградации?:
– ресурсов
– времени отклика
– веб-приложения
35. Тестирование надежности
(Endurance Testing). Как?
• Подача средней нагрузки длительный
промежуток времени
36. Порядок проведения.
До нагрузочного.
• Функциональное
• Многопользовательское
37. Порядок проведения
• Анализ веб-приложения
• Подготовка
• Разработка тестов
• Отладка тестов
• Выполнение тестов
• Анализ результатов
38. Закрепление материала
• Руководствуемся целью
• Подаем нагрузку по профилю
• Снимаем метрики
• Анализируем результаты