Нагрузочное тестирование теория Кожухов

Post on 16-Jun-2015

3.406 views 4 download

Transcript of Нагрузочное тестирование теория Кожухов

Мастер-класс по нагрузочному тестированию Web-

приложений с использованием инструмента JMeter

Докладчик

Кожухов Илья

• k.i.a88@mail.ru• Skype ra_007

Цели мастер-класса

• Дать аудитории представление о «нагрузочном» тестировании

• Научить участников составлять и запускать первый «нагрузочный» тест с помощью 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). Как?

• Подача средней нагрузки длительный промежуток времени

Порядок проведения.До нагрузочного.

• Функциональное• Многопользовательское

Порядок проведения

• Анализ веб-приложения• Подготовка• Разработка тестов• Отладка тестов • Выполнение тестов• Анализ результатов

Закрепление материала

• Руководствуемся целью• Подаем нагрузку по профилю• Снимаем метрики• Анализируем результаты

Кофебрейк