SlideShare une entreprise Scribd logo
1  sur  39
Мастер-класс по нагрузочному
тестированию 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). Как?
• Подача средней нагрузки длительный
  промежуток времени
Порядок проведения.
          До нагрузочного.
• Функциональное
• Многопользовательское
Порядок проведения
•   Анализ веб-приложения
•   Подготовка
•   Разработка тестов
•   Отладка тестов
•   Выполнение тестов
•   Анализ результатов
Закрепление материала
•   Руководствуемся целью
•   Подаем нагрузку по профилю
•   Снимаем метрики
•   Анализируем результаты
Кофебрейк

Contenu connexe

Tendances

Нагрузочное тестирование web-приложений с помощью Load Runner
Нагрузочное тестирование web-приложений с помощью Load RunnerНагрузочное тестирование web-приложений с помощью Load Runner
Нагрузочное тестирование web-приложений с помощью Load RunnerSQALab
 
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежатьОшибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежатьSQALab
 
От простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
От простого к сложному: автоматизируем ручные тест-планы | Сергей ТимченкоОт простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
От простого к сложному: автоматизируем ручные тест-планы | Сергей ТимченкоPositive Hack Days
 
Нагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.ТанкаНагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.ТанкаAleksandr Boichenko
 
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...Positive Hack Days
 
3 лекция. презентация
3 лекция. презентация3 лекция. презентация
3 лекция. презентацияvyacheslavmaslov
 
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровСистема мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровPositive Hack Days
 
Анализируем результаты тестирования производительности с Graphite и Grafana
Анализируем результаты тестирования производительности с Graphite и GrafanaАнализируем результаты тестирования производительности с Graphite и Grafana
Анализируем результаты тестирования производительности с Graphite и GrafanaSQALab
 
Настраиваемое тестирование производительности
Настраиваемое тестирование производительностиНастраиваемое тестирование производительности
Настраиваемое тестирование производительностиSQALab
 
Инструментарий для создания дистрибутивов продуктов | Владимир Селин
Инструментарий для создания дистрибутивов продуктов | Владимир СелинИнструментарий для создания дистрибутивов продуктов | Владимир Селин
Инструментарий для создания дистрибутивов продуктов | Владимир СелинPositive Hack Days
 
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgДело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgIT61
 
Илья Евлампиев - Grinder
Илья Евлампиев - GrinderИлья Евлампиев - Grinder
Илья Евлампиев - GrinderAlexey Chumagin
 
Построение процесса тестирования производительности игрового клиента
Построение процесса тестирования производительности игрового клиентаПостроение процесса тестирования производительности игрового клиента
Построение процесса тестирования производительности игрового клиентаSQALab
 
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...Positive Hack Days
 
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...Positive Hack Days
 
Performance Test Driven Development (CEE SERC 2013 Moscow)
Performance Test Driven Development (CEE SERC 2013 Moscow)Performance Test Driven Development (CEE SERC 2013 Moscow)
Performance Test Driven Development (CEE SERC 2013 Moscow)aragozin
 
Липский Павел
Липский ПавелЛипский Павел
Липский ПавелOntico
 
Один за всех, или как помочь тестированию многих компонентов одной системы
Один за всех, или как помочь тестированию многих компонентов одной системыОдин за всех, или как помочь тестированию многих компонентов одной системы
Один за всех, или как помочь тестированию многих компонентов одной системыSQALab
 
сервис нагрузочного тестирования Ddosme.ru, иван самсонов
сервис нагрузочного тестирования Ddosme.ru, иван самсоновсервис нагрузочного тестирования Ddosme.ru, иван самсонов
сервис нагрузочного тестирования Ddosme.ru, иван самсоновOntico
 
Использование игровой модели для выполнения сложных сценарных тестов
Использование игровой модели для выполнения сложных сценарных тестовИспользование игровой модели для выполнения сложных сценарных тестов
Использование игровой модели для выполнения сложных сценарных тестовSQALab
 

Tendances (20)

Нагрузочное тестирование web-приложений с помощью Load Runner
Нагрузочное тестирование web-приложений с помощью Load RunnerНагрузочное тестирование web-приложений с помощью Load Runner
Нагрузочное тестирование web-приложений с помощью Load Runner
 
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежатьОшибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать
 
От простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
От простого к сложному: автоматизируем ручные тест-планы | Сергей ТимченкоОт простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
От простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
 
Нагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.ТанкаНагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.Танка
 
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
 
3 лекция. презентация
3 лекция. презентация3 лекция. презентация
3 лекция. презентация
 
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровСистема мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
 
Анализируем результаты тестирования производительности с Graphite и Grafana
Анализируем результаты тестирования производительности с Graphite и GrafanaАнализируем результаты тестирования производительности с Graphite и Grafana
Анализируем результаты тестирования производительности с Graphite и Grafana
 
Настраиваемое тестирование производительности
Настраиваемое тестирование производительностиНастраиваемое тестирование производительности
Настраиваемое тестирование производительности
 
Инструментарий для создания дистрибутивов продуктов | Владимир Селин
Инструментарий для создания дистрибутивов продуктов | Владимир СелинИнструментарий для создания дистрибутивов продуктов | Владимир Селин
Инструментарий для создания дистрибутивов продуктов | Владимир Селин
 
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgДело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
 
Илья Евлампиев - Grinder
Илья Евлампиев - GrinderИлья Евлампиев - Grinder
Илья Евлампиев - Grinder
 
Построение процесса тестирования производительности игрового клиента
Построение процесса тестирования производительности игрового клиентаПостроение процесса тестирования производительности игрового клиента
Построение процесса тестирования производительности игрового клиента
 
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
 
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
 
Performance Test Driven Development (CEE SERC 2013 Moscow)
Performance Test Driven Development (CEE SERC 2013 Moscow)Performance Test Driven Development (CEE SERC 2013 Moscow)
Performance Test Driven Development (CEE SERC 2013 Moscow)
 
Липский Павел
Липский ПавелЛипский Павел
Липский Павел
 
Один за всех, или как помочь тестированию многих компонентов одной системы
Один за всех, или как помочь тестированию многих компонентов одной системыОдин за всех, или как помочь тестированию многих компонентов одной системы
Один за всех, или как помочь тестированию многих компонентов одной системы
 
сервис нагрузочного тестирования Ddosme.ru, иван самсонов
сервис нагрузочного тестирования Ddosme.ru, иван самсоновсервис нагрузочного тестирования Ddosme.ru, иван самсонов
сервис нагрузочного тестирования Ddosme.ru, иван самсонов
 
Использование игровой модели для выполнения сложных сценарных тестов
Использование игровой модели для выполнения сложных сценарных тестовИспользование игровой модели для выполнения сложных сценарных тестов
Использование игровой модели для выполнения сложных сценарных тестов
 

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

Организация тестирования производительности по SWEAT
Организация тестирования производительности по SWEATОрганизация тестирования производительности по SWEAT
Организация тестирования производительности по SWEATSQALab
 
Организация тестирования производительности по SWEAT
Организация тестирования производительности по SWEATОрганизация тестирования производительности по SWEAT
Организация тестирования производительности по SWEATReturn on Intelligence
 
9.1 resource analysis.templ
9.1   resource analysis.templ9.1   resource analysis.templ
9.1 resource analysis.templNatalia Odegova
 
Организация тестирования производительности по Sweat
Организация тестирования производительности по SweatОрганизация тестирования производительности по Sweat
Организация тестирования производительности по SweatReturn on Intelligence
 
Web application testing architecture
Web application testing architectureWeb application testing architecture
Web application testing architectureAndrey Lazarev
 
Нагрузочное тестирование web проектов
Нагрузочное тестирование web проектовНагрузочное тестирование web проектов
Нагрузочное тестирование web проектовSQALab
 
Стажировка-2014, занятие 5. Нагрузочное тестирование
Стажировка-2014, занятие 5. Нагрузочное тестированиеСтажировка-2014, занятие 5. Нагрузочное тестирование
Стажировка-2014, занятие 5. Нагрузочное тестирование7bits
 
Who is a functional tester
Who is a functional testerWho is a functional tester
Who is a functional testerVitebsk Miniq
 
Serious+performance+testing
Serious+performance+testingSerious+performance+testing
Serious+performance+testingAlexei Lupan
 
Организация процесса ручного тестирования
Организация процесса ручного тестированияОрганизация процесса ручного тестирования
Организация процесса ручного тестированияIT61
 
доклад на SQADays 2011 в Казани
доклад на SQADays  2011 в Казанидоклад на SQADays  2011 в Казани
доклад на SQADays 2011 в Казаниmargo-qa
 
TestOps. Расширяем традиционные обязанности тестировщика
TestOps. Расширяем традиционные обязанности тестировщикаTestOps. Расширяем традиционные обязанности тестировщика
TestOps. Расширяем традиционные обязанности тестировщикаAlexander Nedeliaev
 
Анна Книжник
Анна КнижникАнна Книжник
Анна КнижникSQALab
 
Роль TestOps: расширяем традиционные обязанности тестировщика
Роль TestOps: расширяем традиционные обязанности тестировщикаРоль TestOps: расширяем традиционные обязанности тестировщика
Роль TestOps: расширяем традиционные обязанности тестировщикаSQALab
 
Разработка методики тестирования производительности комплекса систем
Разработка методики тестирования производительности комплекса системРазработка методики тестирования производительности комплекса систем
Разработка методики тестирования производительности комплекса системSQALab
 
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙCEE-SEC(R)
 
КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения
КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения
КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения Iosif Itkin
 
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...Tech Talks @NSU
 

Similaire à Нагрузочное тестирование теория Кожухов (20)

Организация тестирования производительности по SWEAT
Организация тестирования производительности по SWEATОрганизация тестирования производительности по SWEAT
Организация тестирования производительности по SWEAT
 
Организация тестирования производительности по SWEAT
Организация тестирования производительности по SWEATОрганизация тестирования производительности по SWEAT
Организация тестирования производительности по SWEAT
 
9.1 resource analysis.templ
9.1   resource analysis.templ9.1   resource analysis.templ
9.1 resource analysis.templ
 
Организация тестирования производительности по Sweat
Организация тестирования производительности по SweatОрганизация тестирования производительности по Sweat
Организация тестирования производительности по Sweat
 
Web application testing architecture
Web application testing architectureWeb application testing architecture
Web application testing architecture
 
Нагрузочное тестирование web проектов
Нагрузочное тестирование web проектовНагрузочное тестирование web проектов
Нагрузочное тестирование web проектов
 
Стажировка-2014, занятие 5. Нагрузочное тестирование
Стажировка-2014, занятие 5. Нагрузочное тестированиеСтажировка-2014, занятие 5. Нагрузочное тестирование
Стажировка-2014, занятие 5. Нагрузочное тестирование
 
Who is a functional tester
Who is a functional testerWho is a functional tester
Who is a functional tester
 
Serious+performance+testing
Serious+performance+testingSerious+performance+testing
Serious+performance+testing
 
Testing
TestingTesting
Testing
 
Организация процесса ручного тестирования
Организация процесса ручного тестированияОрганизация процесса ручного тестирования
Организация процесса ручного тестирования
 
доклад на SQADays 2011 в Казани
доклад на SQADays  2011 в Казанидоклад на SQADays  2011 в Казани
доклад на SQADays 2011 в Казани
 
TestOps. Расширяем традиционные обязанности тестировщика
TestOps. Расширяем традиционные обязанности тестировщикаTestOps. Расширяем традиционные обязанности тестировщика
TestOps. Расширяем традиционные обязанности тестировщика
 
Анна Книжник
Анна КнижникАнна Книжник
Анна Книжник
 
Роль TestOps: расширяем традиционные обязанности тестировщика
Роль TestOps: расширяем традиционные обязанности тестировщикаРоль TestOps: расширяем традиционные обязанности тестировщика
Роль TestOps: расширяем традиционные обязанности тестировщика
 
Разработка методики тестирования производительности комплекса систем
Разработка методики тестирования производительности комплекса системРазработка методики тестирования производительности комплекса систем
Разработка методики тестирования производительности комплекса систем
 
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
 
КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения
КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения
КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения
 
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
 
План тестирования
План тестированияПлан тестирования
План тестирования
 

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