Слайд 2План лекции
Терминология или Введение.
Виды нагрузочного тестирования.
Принципы нагрузочного тестирования.
Цели нагрузочного тестирования.
Этапы проведения нагрузочного
тестирования.
Слайд 3Нагрузочное тестирование
Нагрузочное тестирование (Load Testing) или тестирование производительности (Performance Testing) - это автоматизированное тестирование, имитирующее работу
определенного количества пользователей на каком-либо общем для них ресурсе.
Слайд 4Терминология
Виртуальный пользователь (Virtual User) - программный процесс, циклически выполняющий моделируемые операции.
Итерация (Iteration) – это
один повтор выполняемой в цикле операции.
Интенсивность выполнения операции (Operation Intensity) - частота выполнения операции в единицу времени, в тестовом скрипте задается интервалом времени между итерациями.
Нагрузка (Loading) - совокупное выполнение операций на общем ресурсе.
Производительность (Performance) - количество выполняемых операций за период времени (N операций за M часов)
Слайд 5Терминология
Масштабируемость приложения (Application Scalability) - пропорциональный рост производительности при увеличении нагрузки.
Профиль нагрузки (Performance Profile)
- это набор операций с заданными интенсивностями, полученный на основе сбора статистических данных либо определенный путем анализа требований к тестируемой системе.
Нагрузочной точкой называется рассчитанное (либо заданное Заказчиком) количество виртуальных пользователей в группах, выполняющих операции с определенными интенсивностями.
Слайд 6Виды нагрузочного тестирования
Тестирование производительности (Performance testing)- определение масштабируемости приложения под нагрузкой.
Стрессовое тестирование (Stress
Testing) позволяет проверить насколько приложение и система в целом работоспособны в условиях стресса и также оценить способность системы к регенерации.
Объемное тестирование (Volume Testing) - получение оценки производительности при увеличении объемов данных в базе данных приложения.
Слайд 7Виды нагрузочного тестирования
Тестирование стабильности или надежности (Stability / Reliability Testing) - проверка работоспособности
приложения при длительном тестировании со средним уровнем нагрузки.
Тест на масштабируемость (Scalability Test) оценивает способность системы увеличивать производительность пропорционально увеличению масштаба нефункциональных возможностей.
Слайд 8Принципы нагрузочного тестирования
Уникальность запросов
Время отклика системы
Зависимость времени отклика системы от степени распределённости
этой системы
Разброс времени отклика системы
Точность воспроизведения профилей нагрузки
Слайд 9Цели нагрузочного тестирования
Оценка производительности и работоспособности приложения на этапе разработки и передачи
в эксплуатацию.
Оценка производительности и работоспособности приложения на этапе выпуска новых релизов.
Оптимизация производительности приложения, включая настройки серверов и оптимизацию кода.
Подбор соответствующей для данного приложения аппаратной (программной платформы) и конфигурации сервера.
Слайд 10Этапы проведения нагрузочного
тестирования
Анализ требований и сбор информации о тестируемой системе
Конфигурация тестового стенда
для нагрузочного тестирования
Разработка модели нагрузки
Выбор инструмента для нагрузочного тестирования
Создание и отладка тестовых скриптов
Проведение тестирования
Анализ результатов
Подготовка, отправка и публикация отчета по проведенному нагрузочному тестированию
Слайд 11Анализ требований
Время отклика (время необходимое для открытия страницы или получения ожидаемого результата)
Интенсивность (число запросов
в секунду)
Используемые ресурсы (загрузка процессора, количество используемой памяти и т.д.)
Максимальное количество пользователей (определяет число пользователей, способных работать с системой в условиях заданной конфигурации)
Слайд 12Конфигурация стенда
Основные причины, по которым не всегда получается продублировать конфигурацию системы на
тестовом стенде:
Сложность дублирования дорогого серверного железа для тестовых нужд
Ограничения на использование лицензий требуемого программного обеспечения
Закрытость архитектуры приложения со стороны заказчика по соображениям безопасности
Трудность воссоздания или транспортировки базы данных приложения
Сложность воссоздания требуемой архитектуры сети
и многое другое
Слайд 13Разработка модели нагрузки
список тестируемых операций
интенсивность выполнения операций
зависимость изменения интенсивности выполнения операций от
времени
Слайд 14Инструменты нагрузочного тестирования
Коммерческие инструменты: Hewlett-Packard (Mercury Interactive), IBM Rational, Borland (Segue), SmartBear,
Neotys, HP Performance Center (включает HP LoadRunner), Rational Performance Tester, Silk Performer, LoadComplete Web Load Testing, NeoLoad
Бесплатные инструменты: Jmeter, Grinder
Слайд 15Создание и отладка тестов
внедрить приемы обеспечения качества: использование стандартов, шаблонов и инструкций
договориться об
общем использовании одинаковой структуры каталогов, архитектуры скриптов, именовании функций, переменных и транзакций
Слайд 17Анализ результатов
Время выполнения запроса(минимальное, максимальное, среднее)
Количество выполненных запросов и процент ошибок
Пропускная способность
Потребление
ресурсов центрального процессора
Потребление оперативной памяти
Потребление сетевых ресурсов
Работа с дисковой подсистемой