Upload
-
View
3.403
Download
4
Embed Size (px)
Citation preview
Мастер-класс по нагрузочному тестированию Web-
приложений с использованием инструмента JMeter
Цели мастер-класса
• Дать аудитории представление о «нагрузочном» тестировании
• Научить участников составлять и запускать первый «нагрузочный» тест с помощью JMeter
План выступления
1. Введение2. Нагрузочное тестирование как один из
этапов тестирования продукта3. Создание тестов на JMeter
1. ВВЕДЕНИЕ В НАГРУЗОЧНОЕ ТЕСТИРОВАНИЕ WEB-ПРИЛОЖЕНИЙ
Что это?Зачем надо?Кому надо?Откуда берется?Результат?
WEB – это много пользователей
• Требовательных• Непредсказуемых• Не готовых ждать• Злых
Что значит «нагрузочное тестирование»?
• Исследование того, как работает система при заданной нагрузке на предмет надежности и эффективности
Тестирование под нагрузкой
Зачем оно надо?
• Как поведет себя приложение?
• Что будет с данными?• Снижение затрат на ошибки
Риски
• Пользователи• Деньги• Репутация• Данные
Кому оно надо?
• Пользователи• Команда:• Менеджеры• Разработчики• Группа внедрения/
продвижения
Затраты
• Время– изучение– создание– доработка
• Финансы• Нервы
Откуда оно берется?
• Проблема/ необходимость• Качество• Требования• «Все делают, чем мы хуже?»
Результат
• Эффективно и надежно работающее приложение
• Довольные пользователи• Все счастливы!
2. НАГРУЗОЧНОЕ ТЕСТИРОВАНИЕ КАК ОДИН ИЗ ЭТАПОВ ТЕСТИРОВАНИЯ ПРОДУКТА
ЦелиПроцессМетрикиПрофили
Цели
• Максимальное количество пользователей
• Скорость работы приложения
• «Узкое место»• Способность к регенерации• Нет ли деградации?
Нагрузочное тестирование
Нагрузочное тестирование
управление
вход выход
ресурсы
Нагрузочное тестирование
Цель Проблема
Стабильно работающее приложение
Информация о системе
Требования
СтендИнструментарийСпециалист
Нагрузочное тестирование
Нагрузочное тестирование веб-приложения
Тестируемая система
Характеристики нагрузки
Метрики
Информация о поведении системы
Ошибки
Тестируемая система
• Состояние приложения• Продуктив vs Тестовый
стенд• Настройки веб-сервера• Сеть
Вход – характеристики нагрузки
• Количество пользователей• Время• Модель• Интенсивность запросов• Объем данных
Метрики
• Метрики – это численные показатели тех или иных параметров тестируемой системы.
Метрики. Разновидности
• Время отклика• Загрузка процессора• Потребление оперативной
памяти• Дисковое пространство• Использование сети• Показатели тестируемой
системы
Метрики. Обращаем внимание
• Относительные показатели
• Зависимости• Динамика• Скачки
Профиль нагрузки
• Профиль нагрузки – это набор характеристик нагрузки, подаваемых на вход тестируемому веб-приложению, необходимый для достижения цели нагрузочного тестирования.
Типичные профили
• Нагрузочное (Load)• Производительность (Performance)• Стресс (Stress)• Объемное (Volume) • Надежность (Endurance)
Нагрузочное тестирование (Load Testing). Зачем?
• Определение максимальной нагрузки• Определение узкого места
Нагрузочное тестирование (Load Testing). Как?
• Увеличение нагрузки до выяснения предела.
Тестирование производительности (Performance Testing). Зачем?
• Определение быстроты работы приложения – при какой нагрузке приложение работает
быстро?– при какой нагрузке приложение начинает
работать медленно?
Тестирование производительности (Performance Testing). Как?
• Подача средней нагрузки
Стресс(Stress Testing). Зачем?
• Узнать поведение системы при падении• Устойчивость к отказам• Способность к регенерации
Стресс(Stress Testing). Как?
• Всплески запредельной нагрузки
Объемное тестирование(Volume Testing). Зачем?
• Поведение системы при больших объемах данных– возникают ли проблемы из-за объема данных?– характеристики производительности при
большом объеме данных
Объемное тестирование(Volume Testing). Как?
• На большом объеме данных– нагрузочное тестирование – тестирование производительности
Тестирование надежности(Endurance Testing). Зачем?
• Нет ли деградации?:– ресурсов– времени отклика– веб-приложения
Тестирование надежности(Endurance Testing). Как?
• Подача средней нагрузки длительный промежуток времени
Порядок проведения.До нагрузочного.
• Функциональное• Многопользовательское
Порядок проведения
• Анализ веб-приложения• Подготовка• Разработка тестов• Отладка тестов • Выполнение тестов• Анализ результатов
Закрепление материала
• Руководствуемся целью• Подаем нагрузку по профилю• Снимаем метрики• Анализируем результаты
Кофебрейк