SlideShare a Scribd company logo
1 of 13
Стажировка-2014
Нагрузочное тестирование и
тестирование производительности
Занятие 5
Стажировка-2014
Нагрузочное тестирование или тестирование
производительности – это автоматизированное
тестирование, имитирующее работу определенного
количества бизнес пользователей на каком-либо общем
(разделяемом ими) ресурсе.
Что и зачем?
Стажировка-2014
Основные виды тестирования производительности:
1. Тестирование производительности (Performance
testing) – Задачей тестирования производительности
является определение масштабируемости приложения
под нагрузкой, при этом происходит:
А) -- измерение времени выполнения выбранных
операций при определенных интенсивностях
выполнения этих операций
Б) -- определение количества пользователей,
одновременно работающих с приложением
В) -- определение границ приемлемой
производительности при увеличении нагрузки (при
увеличении интенсивности выполнения этих операций)
Г) -- исследование производительности на высоких,
предельных, стрессовых нагрузках
Что тестировать и зачем?
Стажировка-2014
Основные виды тестирования производительности:
2. Стрессовое тестирование (Stress Testing) – Стрессовое
тестирование позволяет проверить насколько приложение и
система в целом работоспособны в условиях стресса и также
оценить способность системы к регенерации, т.е. к
возвращению к нормальному состоянию после прекращения
воздействия стресса. Стрессом в данном контексте может быть
повышение интенсивности выполнения операций до очень
высоких значений или аварийное изменение конфигурации
сервера. Также одной из задач при стрессовом тестировании
может быть оценка деградации производительности, таким
образом цели стрессового тестирования могут пересекаться с
целями тестирования производительности.
Что тестировать и зачем?
Стажировка-2014
Основные виды тестирования производительности:
3. Объемное тестирование (Volume Testing) – Задачей объемного
тестирования является получение оценки производительности при
увеличении объемов данных в базе данных приложения, при этом
происходит:
А) измерение времени выполнения выбранных операций при определенных
интенсивностях выполнения этих операций
Б) может производиться определение количества пользователей,
одновременно работающих с приложением
2. Тестирование стабильности или надежности (Stability / Reliability Testing) –
Задачей тестирования стабильности (надежности) является проверка
работоспособности приложения при длительном (многочасовом)
тестировании со средним уровнем нагрузки. Время выполнения операций
может играть в данном виде тестирования второстепенную роль. При этом
на первое место выходит отсутствие утечек памяти, перезапусков серверов
под нагрузкой и другие аспекты влияющие именно на стабильность работы.
Что тестировать и зачем?
Стажировка-2014
Цели нагрузочного тестирования:
Основными целями нагрузочного тестирования являются:
1) Оценка производительности и работоспособности
приложения на этапе разработки и передачи в
эксплуатацию
2) Оценка производительности и работоспособности
приложения на этапе выпуска новых релизов, фиксов.
3) Оптимизация производительности приложения, включая
настройки серверов и оптимизацию кода
4) Подбор соответствующей для данного приложения
аппаратной (программной платформы) и конфигурации
сервера
Цели и задачи нагрузочного тестирования.
Стажировка-2014
Этапы проведения нагрузочного тестирования:
1. Анализ требований и сбор информации о тестируемой
системе
2. Конфигурация тестового стенда для нагрузочного
тестирования
3. Разработка модели нагрузки
4. Выбор инструмента для нагрузочного тестирования
5. Создание и отладка тестовых скриптов
6. Проведение тестирования
7. Анализ результатов
8. Подготовка, отправка и публикация отчета по
проведенному нагрузочному тестированию
Как тестировать?
Стажировка-2014
Анализ требований:
Для этого Вам необходимо будет выделить следующие характеристики:
1. Время отклика (время необходимое для открытия страницы или получения
ожидаемого результата)
2. Интенсивность (число запросов в секунду – (Qps)
3. Используемые ресурсы (загрузка процессора, кол-во используемой памяти,
дисковое и сетевой I/O)
4. Максимальное количество пользователей (определяет число пользователей,
способных работать с системой в условиях заданной конфигурации)
А также некоторые метрики связанные с работой бизнес сценариев (например,
количество бизнес операций в единицу времени, время выполнения бизнес операции
и т.д.)
Заданные в требованиях характеристики, являються базовыми нагрузочными
точками тестируемого приложения. Результаты будут сравниваться с ними для
принятия решения о завершении тестирования либо дальнейшем профилировании
производительности.
Этапы нагрузочного тестирования
Стажировка-2014
Разработка моделей нагрузки:
Модель тестирования производительности - Постепенное
увеличение нагрузки, добавляя новых пользователей с
некоторым интервалом времени
Модель стрессового тестирования – Увеличивая
интенсивность операций выше пиковых (максимально
разрешенных) значений либо увеличивая количество
пользователей, до тех пор пока нагрузка не станет выше
максимально допустимых значений, проверяем, что
система работоспособна в условиях стресса. Далее,
опустив нагрузку до средних значений, проверяем
(способность системы к регенерации), что система
вернулась к нормальному состоянию (основные
нагрузочные характеристики не превышают базовые).
Модели нагрузочного тестирования
Стажировка-2014
Разработка моделей нагрузки:
Модель объемного тестирования - Можно
использовать ту же модель что и для тестирования
производительности однако целью будет проверка
работы системы с прогнозом на будущий рост объема
данных. Следовательно одним и самым важным
предусловием теста будет увеличение объемов базы
данных приложения до требуемых размеров. Таким
образом мы сможем проверить и оценить
производительность, прогнозируя рост системы на
год, два или три вперед.
Модели нагрузочного тестирования
Стажировка-2014
Разработка моделей нагрузки:
Модель тестирования стабильности или надежности -
Используя базовый нагрузочный профиль, запускаем
тест длительностью от нескольких часов до
нескольких дней, с целью выявления утечек памяти,
перезапуска серверов и других аспектов влияющих на
нагрузку.
Модели нагрузочного тестирования
Стажировка-2014
Выводы
Четкое следование всем вышеописанным инструкциям по разработке моделей нагрузки,
позволит:
• провести дополнительный анализ и тестирование требований по
производительности
• уточнить параметры и характеристики производительности
• получить более четкого представления о работе системы в целом
• получить на выходе план предстоящих работ связанных с нагрузочным
тестированием
• определить предельный объем данных системы (с сохранением приемлемой
производительности)
• определить предельное количество пользователей (групп) системы (с сохранением
приемлемой производительности)
• определить ресурсоёмкие операции или сценарии (для дальнейшего профилирования
системы)
• отслеживать эффект от вводимых оптимизаций системы при регулярных
измерениях производительности, используя разработанные и проверенные модели
нагрузки
Итог
Стажировка-2014
Литература:
1) Технология нагрузочного тестирования
информационных систем с большим объемом данных ,
Вячеслав Берзин.
2) Блог “Нагрузочное тестирование ПО”
(http://ashirobokov.blogspot.com), Андрей Широбоков
3) “ПроТестинг.RU”
(http://www.protesting.ru/automation/performance.html)
Где еще почитать?

More Related Content

What's hot

Тесты (типы тестов, организация тестов, создание тестов).
Тесты (типы тестов, организация тестов, создание тестов).Тесты (типы тестов, организация тестов, создание тестов).
Тесты (типы тестов, организация тестов, создание тестов).DressTester
 
Управление конфигурациями и артефакты тестирования
Управление конфигурациями и артефакты тестированияУправление конфигурациями и артефакты тестирования
Управление конфигурациями и артефакты тестированияSQALab
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей РевкоSQALab
 
Процесс тестирования
Процесс тестированияПроцесс тестирования
Процесс тестированияAlexander Solosh
 
От тестирования к QA
От тестирования к QAОт тестирования к QA
От тестирования к QADressTester
 
9.1 resource analysis.templ
9.1   resource analysis.templ9.1   resource analysis.templ
9.1 resource analysis.templNatalia Odegova
 
Система генерации чек-листов для регрессионного тестирования на основе анализ...
Система генерации чек-листов для регрессионного тестирования на основе анализ...Система генерации чек-листов для регрессионного тестирования на основе анализ...
Система генерации чек-листов для регрессионного тестирования на основе анализ...SQALab
 
QA процесс, часть 1
QA процесс, часть 1QA процесс, часть 1
QA процесс, часть 1DressTester
 
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019GoQA
 
Test plan Толстова Ольга
Test plan Толстова ОльгаTest plan Толстова Ольга
Test plan Толстова ОльгаSmart-on-line
 
Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1Technopark
 
Организация тестирования производительности по SWEAT
Организация тестирования производительности по SWEATОрганизация тестирования производительности по SWEAT
Организация тестирования производительности по SWEATSQALab
 
Организация тестирования производительности по SWEAT
Организация тестирования производительности по SWEATОрганизация тестирования производительности по SWEAT
Организация тестирования производительности по SWEATReturn on Intelligence
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test processQA Guards
 
тестирование по
тестирование потестирование по
тестирование поIon Griu
 
Тестирование сложных программных решений и комплексных систем.
Тестирование сложных программных решений и комплексных систем.Тестирование сложных программных решений и комплексных систем.
Тестирование сложных программных решений и комплексных систем.DressTester
 
Who is a functional tester
Who is a functional testerWho is a functional tester
Who is a functional testerVitebsk Miniq
 

What's hot (20)

Тесты (типы тестов, организация тестов, создание тестов).
Тесты (типы тестов, организация тестов, создание тестов).Тесты (типы тестов, организация тестов, создание тестов).
Тесты (типы тестов, организация тестов, создание тестов).
 
Управление конфигурациями и артефакты тестирования
Управление конфигурациями и артефакты тестированияУправление конфигурациями и артефакты тестирования
Управление конфигурациями и артефакты тестирования
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей Ревко
 
Test design print
Test design printTest design print
Test design print
 
Процесс тестирования
Процесс тестированияПроцесс тестирования
Процесс тестирования
 
От тестирования к QA
От тестирования к QAОт тестирования к QA
От тестирования к QA
 
9.1 resource analysis.templ
9.1   resource analysis.templ9.1   resource analysis.templ
9.1 resource analysis.templ
 
Система генерации чек-листов для регрессионного тестирования на основе анализ...
Система генерации чек-листов для регрессионного тестирования на основе анализ...Система генерации чек-листов для регрессионного тестирования на основе анализ...
Система генерации чек-листов для регрессионного тестирования на основе анализ...
 
QA процесс, часть 1
QA процесс, часть 1QA процесс, часть 1
QA процесс, часть 1
 
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
 
Test plan Толстова Ольга
Test plan Толстова ОльгаTest plan Толстова Ольга
Test plan Толстова Ольга
 
Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1
 
Организация тестирования производительности по SWEAT
Организация тестирования производительности по SWEATОрганизация тестирования производительности по SWEAT
Организация тестирования производительности по SWEAT
 
Организация тестирования производительности по SWEAT
Организация тестирования производительности по SWEATОрганизация тестирования производительности по SWEAT
Организация тестирования производительности по SWEAT
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
 
Test levels
Test levelsTest levels
Test levels
 
тестирование по
тестирование потестирование по
тестирование по
 
Тестирование сложных программных решений и комплексных систем.
Тестирование сложных программных решений и комплексных систем.Тестирование сложных программных решений и комплексных систем.
Тестирование сложных программных решений и комплексных систем.
 
Who is a functional tester
Who is a functional testerWho is a functional tester
Who is a functional tester
 
Test types
Test typesTest types
Test types
 

Viewers also liked

Нагрузочное тестирование. С чего начать?
Нагрузочное тестирование. С чего начать?Нагрузочное тестирование. С чего начать?
Нагрузочное тестирование. С чего начать?OdessaQA
 
Построение системы нагрузочного тестирования
Построение системы нагрузочного тестированияПостроение системы нагрузочного тестирования
Построение системы нагрузочного тестированияSQALab
 
Стажировка-2014, занятие 6 (часть 1). Web-приложения
Стажировка-2014, занятие 6 (часть 1). Web-приложенияСтажировка-2014, занятие 6 (часть 1). Web-приложения
Стажировка-2014, занятие 6 (часть 1). Web-приложения7bits
 
Стажировка-2014, занятие 10. Бизнес-модели и Lean startup.
Стажировка-2014, занятие 10. Бизнес-модели и Lean startup.Стажировка-2014, занятие 10. Бизнес-модели и Lean startup.
Стажировка-2014, занятие 10. Бизнес-модели и Lean startup.7bits
 
Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)
Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)
Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)7bits
 
Стажировка 2015. Разработка. Занятие 9. BEM
Стажировка 2015. Разработка. Занятие 9. BEMСтажировка 2015. Разработка. Занятие 9. BEM
Стажировка 2015. Разработка. Занятие 9. BEM7bits
 
Стажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотесты
Стажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотестыСтажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотесты
Стажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотесты7bits
 
Спецкурс 2014, занятие 10. Lean startup
Спецкурс 2014, занятие 10. Lean startupСпецкурс 2014, занятие 10. Lean startup
Спецкурс 2014, занятие 10. Lean startup7bits
 
Стажировка-2015. Разработка. Занятие 11. Безопасность web-приложений
Стажировка-2015. Разработка. Занятие 11. Безопасность web-приложенийСтажировка-2015. Разработка. Занятие 11. Безопасность web-приложений
Стажировка-2015. Разработка. Занятие 11. Безопасность web-приложений7bits
 
Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS3
Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS3Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS3
Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS37bits
 
Стажировка-2015. Тестирование. Занятие 2. Планирование процесса тестирования.
Стажировка-2015. Тестирование. Занятие 2. Планирование процесса тестирования.Стажировка-2015. Тестирование. Занятие 2. Планирование процесса тестирования.
Стажировка-2015. Тестирование. Занятие 2. Планирование процесса тестирования.7bits
 
Спецкурс 2014, занятие 5 (часть 1). Исключения и логи
Спецкурс 2014, занятие 5 (часть 1). Исключения и логиСпецкурс 2014, занятие 5 (часть 1). Исключения и логи
Спецкурс 2014, занятие 5 (часть 1). Исключения и логи7bits
 
Спецкурс 2014, занятие 9 (2 часть). Code conventions and best practices
Спецкурс 2014, занятие 9 (2 часть). Code conventions and best practicesСпецкурс 2014, занятие 9 (2 часть). Code conventions and best practices
Спецкурс 2014, занятие 9 (2 часть). Code conventions and best practices7bits
 
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open sourceСпецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source7bits
 
Стажировка-2014, занятие 4. Планирование процесса тестирования.
Стажировка-2014, занятие 4. Планирование процесса тестирования.Стажировка-2014, занятие 4. Планирование процесса тестирования.
Стажировка-2014, занятие 4. Планирование процесса тестирования.7bits
 
Cпецкурс 2014, занятие 9 (1 часть). Языки разметки
Cпецкурс 2014, занятие 9 (1 часть). Языки разметкиCпецкурс 2014, занятие 9 (1 часть). Языки разметки
Cпецкурс 2014, занятие 9 (1 часть). Языки разметки7bits
 
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...7bits
 
Стажировка-2014, занятие 5. Базы данных
Стажировка-2014, занятие 5. Базы данныхСтажировка-2014, занятие 5. Базы данных
Стажировка-2014, занятие 5. Базы данных7bits
 
Стажировка-2014, занятие 8. Обзор CakePHP framework (PHP)
Стажировка-2014, занятие 8. Обзор CakePHP framework (PHP)Стажировка-2014, занятие 8. Обзор CakePHP framework (PHP)
Стажировка-2014, занятие 8. Обзор CakePHP framework (PHP)7bits
 
Стажировка-2014, занятие 3. Тест-кейсы, ручное и автоматическое тестирование.
Стажировка-2014, занятие 3. Тест-кейсы, ручное и автоматическое тестирование.Стажировка-2014, занятие 3. Тест-кейсы, ручное и автоматическое тестирование.
Стажировка-2014, занятие 3. Тест-кейсы, ручное и автоматическое тестирование.7bits
 

Viewers also liked (20)

Нагрузочное тестирование. С чего начать?
Нагрузочное тестирование. С чего начать?Нагрузочное тестирование. С чего начать?
Нагрузочное тестирование. С чего начать?
 
Построение системы нагрузочного тестирования
Построение системы нагрузочного тестированияПостроение системы нагрузочного тестирования
Построение системы нагрузочного тестирования
 
Стажировка-2014, занятие 6 (часть 1). Web-приложения
Стажировка-2014, занятие 6 (часть 1). Web-приложенияСтажировка-2014, занятие 6 (часть 1). Web-приложения
Стажировка-2014, занятие 6 (часть 1). Web-приложения
 
Стажировка-2014, занятие 10. Бизнес-модели и Lean startup.
Стажировка-2014, занятие 10. Бизнес-модели и Lean startup.Стажировка-2014, занятие 10. Бизнес-модели и Lean startup.
Стажировка-2014, занятие 10. Бизнес-модели и Lean startup.
 
Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)
Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)
Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)
 
Стажировка 2015. Разработка. Занятие 9. BEM
Стажировка 2015. Разработка. Занятие 9. BEMСтажировка 2015. Разработка. Занятие 9. BEM
Стажировка 2015. Разработка. Занятие 9. BEM
 
Стажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотесты
Стажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотестыСтажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотесты
Стажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотесты
 
Спецкурс 2014, занятие 10. Lean startup
Спецкурс 2014, занятие 10. Lean startupСпецкурс 2014, занятие 10. Lean startup
Спецкурс 2014, занятие 10. Lean startup
 
Стажировка-2015. Разработка. Занятие 11. Безопасность web-приложений
Стажировка-2015. Разработка. Занятие 11. Безопасность web-приложенийСтажировка-2015. Разработка. Занятие 11. Безопасность web-приложений
Стажировка-2015. Разработка. Занятие 11. Безопасность web-приложений
 
Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS3
Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS3Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS3
Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS3
 
Стажировка-2015. Тестирование. Занятие 2. Планирование процесса тестирования.
Стажировка-2015. Тестирование. Занятие 2. Планирование процесса тестирования.Стажировка-2015. Тестирование. Занятие 2. Планирование процесса тестирования.
Стажировка-2015. Тестирование. Занятие 2. Планирование процесса тестирования.
 
Спецкурс 2014, занятие 5 (часть 1). Исключения и логи
Спецкурс 2014, занятие 5 (часть 1). Исключения и логиСпецкурс 2014, занятие 5 (часть 1). Исключения и логи
Спецкурс 2014, занятие 5 (часть 1). Исключения и логи
 
Спецкурс 2014, занятие 9 (2 часть). Code conventions and best practices
Спецкурс 2014, занятие 9 (2 часть). Code conventions and best practicesСпецкурс 2014, занятие 9 (2 часть). Code conventions and best practices
Спецкурс 2014, занятие 9 (2 часть). Code conventions and best practices
 
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open sourceСпецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
 
Стажировка-2014, занятие 4. Планирование процесса тестирования.
Стажировка-2014, занятие 4. Планирование процесса тестирования.Стажировка-2014, занятие 4. Планирование процесса тестирования.
Стажировка-2014, занятие 4. Планирование процесса тестирования.
 
Cпецкурс 2014, занятие 9 (1 часть). Языки разметки
Cпецкурс 2014, занятие 9 (1 часть). Языки разметкиCпецкурс 2014, занятие 9 (1 часть). Языки разметки
Cпецкурс 2014, занятие 9 (1 часть). Языки разметки
 
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
 
Стажировка-2014, занятие 5. Базы данных
Стажировка-2014, занятие 5. Базы данныхСтажировка-2014, занятие 5. Базы данных
Стажировка-2014, занятие 5. Базы данных
 
Стажировка-2014, занятие 8. Обзор CakePHP framework (PHP)
Стажировка-2014, занятие 8. Обзор CakePHP framework (PHP)Стажировка-2014, занятие 8. Обзор CakePHP framework (PHP)
Стажировка-2014, занятие 8. Обзор CakePHP framework (PHP)
 
Стажировка-2014, занятие 3. Тест-кейсы, ручное и автоматическое тестирование.
Стажировка-2014, занятие 3. Тест-кейсы, ручное и автоматическое тестирование.Стажировка-2014, занятие 3. Тест-кейсы, ручное и автоматическое тестирование.
Стажировка-2014, занятие 3. Тест-кейсы, ручное и автоматическое тестирование.
 

Similar to Стажировка-2014, занятие 5. Нагрузочное тестирование

Нагрузочное тестирование теория Кожухов
Нагрузочное тестирование теория КожуховНагрузочное тестирование теория Кожухов
Нагрузочное тестирование теория КожуховИлья Кожухов
 
Липский Павел
Липский ПавелЛипский Павел
Липский ПавелOntico
 
Модуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проектаМодуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проектаYana Brodetski
 
Автоматизация.pptx
Автоматизация.pptxАвтоматизация.pptx
Автоматизация.pptxMadirimovShohrux
 
Mva stf module 2 - rus
Mva stf module 2 - rusMva stf module 2 - rus
Mva stf module 2 - rusMaxim Shaptala
 
Как развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CIКак развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CICEE-SEC(R)
 
Организация тестирования производительности по Sweat
Организация тестирования производительности по SweatОрганизация тестирования производительности по Sweat
Организация тестирования производительности по SweatReturn on Intelligence
 
Нагрузочное тестирование
Нагрузочное тестированиеНагрузочное тестирование
Нагрузочное тестированиеSPB SQA Group
 
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019GoQA
 
6 лекция. тестирование производительности
 6 лекция. тестирование производительности 6 лекция. тестирование производительности
6 лекция. тестирование производительностиvyacheslavmaslov
 
"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)SPB SQA Group
 
Дмитрий Поздняков: “Воркшоп: построение профиля нагрузки при тестировании про...
Дмитрий Поздняков: “Воркшоп: построение профиля нагрузки при тестировании про...Дмитрий Поздняков: “Воркшоп: построение профиля нагрузки при тестировании про...
Дмитрий Поздняков: “Воркшоп: построение профиля нагрузки при тестировании про...Dakiry
 
Сергей Слесарев
Сергей СлесаревСергей Слесарев
Сергей СлесаревSQALab
 
Слайдкаст. Измерения в ИТ и ПО. Часть II
Слайдкаст. Измерения в ИТ и ПО. Часть IIСлайдкаст. Измерения в ИТ и ПО. Часть II
Слайдкаст. Измерения в ИТ и ПО. Часть IISergiy Povolyashko
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rusMaxim Shaptala
 

Similar to Стажировка-2014, занятие 5. Нагрузочное тестирование (20)

03 load testing
03   load testing03   load testing
03 load testing
 
Нагрузочное тестирование теория Кожухов
Нагрузочное тестирование теория КожуховНагрузочное тестирование теория Кожухов
Нагрузочное тестирование теория Кожухов
 
Липский Павел
Липский ПавелЛипский Павел
Липский Павел
 
Модуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проектаМодуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проекта
 
Автоматизация.pptx
Автоматизация.pptxАвтоматизация.pptx
Автоматизация.pptx
 
Mva stf module 2 - rus
Mva stf module 2 - rusMva stf module 2 - rus
Mva stf module 2 - rus
 
Как развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CIКак развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CI
 
Организация тестирования производительности по Sweat
Организация тестирования производительности по SweatОрганизация тестирования производительности по Sweat
Организация тестирования производительности по Sweat
 
Нагрузочное тестирование
Нагрузочное тестированиеНагрузочное тестирование
Нагрузочное тестирование
 
Load testing with Tsung
Load testing with TsungLoad testing with Tsung
Load testing with Tsung
 
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
 
Test management print
Test management printTest management print
Test management print
 
6 лекция. тестирование производительности
 6 лекция. тестирование производительности 6 лекция. тестирование производительности
6 лекция. тестирование производительности
 
"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)
 
Дмитрий Поздняков: “Воркшоп: построение профиля нагрузки при тестировании про...
Дмитрий Поздняков: “Воркшоп: построение профиля нагрузки при тестировании про...Дмитрий Поздняков: “Воркшоп: построение профиля нагрузки при тестировании про...
Дмитрий Поздняков: “Воркшоп: построение профиля нагрузки при тестировании про...
 
Сергей Слесарев
Сергей СлесаревСергей Слесарев
Сергей Слесарев
 
Слайдкаст. Измерения в ИТ и ПО. Часть II
Слайдкаст. Измерения в ИТ и ПО. Часть IIСлайдкаст. Измерения в ИТ и ПО. Часть II
Слайдкаст. Измерения в ИТ и ПО. Часть II
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rus
 
02-lection-ka
02-lection-ka02-lection-ka
02-lection-ka
 
План тестирования
План тестированияПлан тестирования
План тестирования
 

More from 7bits

Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап? Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап? 7bits
 
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофтаГудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта7bits
 
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакатьГудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать7bits
 
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи 7bits
 
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE 7bits
 
Goodbye, IT-loft! Тараканов Алексей: Идеология в IT
Goodbye, IT-loft! Тараканов Алексей: Идеология в ITGoodbye, IT-loft! Тараканов Алексей: Идеология в IT
Goodbye, IT-loft! Тараканов Алексей: Идеология в IT7bits
 
Курс Java-2016. Занятие 13. Spring
Курс Java-2016. Занятие 13. SpringКурс Java-2016. Занятие 13. Spring
Курс Java-2016. Занятие 13. Spring7bits
 
Курс Java-2016. Занятие 12. DBMS, JDBC
Курс Java-2016. Занятие 12. DBMS, JDBCКурс Java-2016. Занятие 12. DBMS, JDBC
Курс Java-2016. Занятие 12. DBMS, JDBC7bits
 
Курс Java-2016. Занятие 11. Servlets, JSP
Курс Java-2016. Занятие 11. Servlets, JSPКурс Java-2016. Занятие 11. Servlets, JSP
Курс Java-2016. Занятие 11. Servlets, JSP7bits
 
Курс Java-2016. Занятие 10. Reflection, mock
Курс Java-2016. Занятие 10. Reflection, mockКурс Java-2016. Занятие 10. Reflection, mock
Курс Java-2016. Занятие 10. Reflection, mock7bits
 
Курс Java-2016. Занятие 09. Web
Курс Java-2016. Занятие 09. WebКурс Java-2016. Занятие 09. Web
Курс Java-2016. Занятие 09. Web7bits
 
Курс Java-2016. Занятие 08. Итераторы, многопоточность
Курс Java-2016. Занятие 08. Итераторы, многопоточностьКурс Java-2016. Занятие 08. Итераторы, многопоточность
Курс Java-2016. Занятие 08. Итераторы, многопоточность7bits
 
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекцииКурс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции7bits
 
Курс Java-2016. Занятие 06. Файлы и ввод-вывод
Курс Java-2016. Занятие 06. Файлы и ввод-выводКурс Java-2016. Занятие 06. Файлы и ввод-вывод
Курс Java-2016. Занятие 06. Файлы и ввод-вывод7bits
 
Курс Java-2016. Занятие 05. Тестирование и Java
Курс Java-2016. Занятие 05. Тестирование и JavaКурс Java-2016. Занятие 05. Тестирование и Java
Курс Java-2016. Занятие 05. Тестирование и Java7bits
 
Курс Java-2016. Занятие 04 (часть 2). Git и GitHub
Курс Java-2016. Занятие 04 (часть 2). Git и GitHubКурс Java-2016. Занятие 04 (часть 2). Git и GitHub
Курс Java-2016. Занятие 04 (часть 2). Git и GitHub7bits
 
Курс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
Курс Java-2016. Занятие 04 (часть 1). Еще немного про GenericsКурс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
Курс Java-2016. Занятие 04 (часть 1). Еще немного про Generics7bits
 
курс Java 2016. занятие 03. интерфейсы, generic, исключения
курс Java 2016. занятие 03. интерфейсы, generic, исключениякурс Java 2016. занятие 03. интерфейсы, generic, исключения
курс Java 2016. занятие 03. интерфейсы, generic, исключения7bits
 
Курс Java-2016. Занятие 02. Пакеты, сборка проекта с Maven
Курс Java-2016. Занятие 02. Пакеты, сборка проекта с MavenКурс Java-2016. Занятие 02. Пакеты, сборка проекта с Maven
Курс Java-2016. Занятие 02. Пакеты, сборка проекта с Maven7bits
 
Курс Java-2016. Занятие 01. Введение в Java как технологию
Курс Java-2016. Занятие 01. Введение в Java как технологиюКурс Java-2016. Занятие 01. Введение в Java как технологию
Курс Java-2016. Занятие 01. Введение в Java как технологию7bits
 

More from 7bits (20)

Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап? Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
 
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофтаГудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта
 
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакатьГудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать
 
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи
 
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE
 
Goodbye, IT-loft! Тараканов Алексей: Идеология в IT
Goodbye, IT-loft! Тараканов Алексей: Идеология в ITGoodbye, IT-loft! Тараканов Алексей: Идеология в IT
Goodbye, IT-loft! Тараканов Алексей: Идеология в IT
 
Курс Java-2016. Занятие 13. Spring
Курс Java-2016. Занятие 13. SpringКурс Java-2016. Занятие 13. Spring
Курс Java-2016. Занятие 13. Spring
 
Курс Java-2016. Занятие 12. DBMS, JDBC
Курс Java-2016. Занятие 12. DBMS, JDBCКурс Java-2016. Занятие 12. DBMS, JDBC
Курс Java-2016. Занятие 12. DBMS, JDBC
 
Курс Java-2016. Занятие 11. Servlets, JSP
Курс Java-2016. Занятие 11. Servlets, JSPКурс Java-2016. Занятие 11. Servlets, JSP
Курс Java-2016. Занятие 11. Servlets, JSP
 
Курс Java-2016. Занятие 10. Reflection, mock
Курс Java-2016. Занятие 10. Reflection, mockКурс Java-2016. Занятие 10. Reflection, mock
Курс Java-2016. Занятие 10. Reflection, mock
 
Курс Java-2016. Занятие 09. Web
Курс Java-2016. Занятие 09. WebКурс Java-2016. Занятие 09. Web
Курс Java-2016. Занятие 09. Web
 
Курс Java-2016. Занятие 08. Итераторы, многопоточность
Курс Java-2016. Занятие 08. Итераторы, многопоточностьКурс Java-2016. Занятие 08. Итераторы, многопоточность
Курс Java-2016. Занятие 08. Итераторы, многопоточность
 
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекцииКурс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
 
Курс Java-2016. Занятие 06. Файлы и ввод-вывод
Курс Java-2016. Занятие 06. Файлы и ввод-выводКурс Java-2016. Занятие 06. Файлы и ввод-вывод
Курс Java-2016. Занятие 06. Файлы и ввод-вывод
 
Курс Java-2016. Занятие 05. Тестирование и Java
Курс Java-2016. Занятие 05. Тестирование и JavaКурс Java-2016. Занятие 05. Тестирование и Java
Курс Java-2016. Занятие 05. Тестирование и Java
 
Курс Java-2016. Занятие 04 (часть 2). Git и GitHub
Курс Java-2016. Занятие 04 (часть 2). Git и GitHubКурс Java-2016. Занятие 04 (часть 2). Git и GitHub
Курс Java-2016. Занятие 04 (часть 2). Git и GitHub
 
Курс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
Курс Java-2016. Занятие 04 (часть 1). Еще немного про GenericsКурс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
Курс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
 
курс Java 2016. занятие 03. интерфейсы, generic, исключения
курс Java 2016. занятие 03. интерфейсы, generic, исключениякурс Java 2016. занятие 03. интерфейсы, generic, исключения
курс Java 2016. занятие 03. интерфейсы, generic, исключения
 
Курс Java-2016. Занятие 02. Пакеты, сборка проекта с Maven
Курс Java-2016. Занятие 02. Пакеты, сборка проекта с MavenКурс Java-2016. Занятие 02. Пакеты, сборка проекта с Maven
Курс Java-2016. Занятие 02. Пакеты, сборка проекта с Maven
 
Курс Java-2016. Занятие 01. Введение в Java как технологию
Курс Java-2016. Занятие 01. Введение в Java как технологиюКурс Java-2016. Занятие 01. Введение в Java как технологию
Курс Java-2016. Занятие 01. Введение в Java как технологию
 

Стажировка-2014, занятие 5. Нагрузочное тестирование

  • 2. Стажировка-2014 Нагрузочное тестирование или тестирование производительности – это автоматизированное тестирование, имитирующее работу определенного количества бизнес пользователей на каком-либо общем (разделяемом ими) ресурсе. Что и зачем?
  • 3. Стажировка-2014 Основные виды тестирования производительности: 1. Тестирование производительности (Performance testing) – Задачей тестирования производительности является определение масштабируемости приложения под нагрузкой, при этом происходит: А) -- измерение времени выполнения выбранных операций при определенных интенсивностях выполнения этих операций Б) -- определение количества пользователей, одновременно работающих с приложением В) -- определение границ приемлемой производительности при увеличении нагрузки (при увеличении интенсивности выполнения этих операций) Г) -- исследование производительности на высоких, предельных, стрессовых нагрузках Что тестировать и зачем?
  • 4. Стажировка-2014 Основные виды тестирования производительности: 2. Стрессовое тестирование (Stress Testing) – Стрессовое тестирование позволяет проверить насколько приложение и система в целом работоспособны в условиях стресса и также оценить способность системы к регенерации, т.е. к возвращению к нормальному состоянию после прекращения воздействия стресса. Стрессом в данном контексте может быть повышение интенсивности выполнения операций до очень высоких значений или аварийное изменение конфигурации сервера. Также одной из задач при стрессовом тестировании может быть оценка деградации производительности, таким образом цели стрессового тестирования могут пересекаться с целями тестирования производительности. Что тестировать и зачем?
  • 5. Стажировка-2014 Основные виды тестирования производительности: 3. Объемное тестирование (Volume Testing) – Задачей объемного тестирования является получение оценки производительности при увеличении объемов данных в базе данных приложения, при этом происходит: А) измерение времени выполнения выбранных операций при определенных интенсивностях выполнения этих операций Б) может производиться определение количества пользователей, одновременно работающих с приложением 2. Тестирование стабильности или надежности (Stability / Reliability Testing) – Задачей тестирования стабильности (надежности) является проверка работоспособности приложения при длительном (многочасовом) тестировании со средним уровнем нагрузки. Время выполнения операций может играть в данном виде тестирования второстепенную роль. При этом на первое место выходит отсутствие утечек памяти, перезапусков серверов под нагрузкой и другие аспекты влияющие именно на стабильность работы. Что тестировать и зачем?
  • 6. Стажировка-2014 Цели нагрузочного тестирования: Основными целями нагрузочного тестирования являются: 1) Оценка производительности и работоспособности приложения на этапе разработки и передачи в эксплуатацию 2) Оценка производительности и работоспособности приложения на этапе выпуска новых релизов, фиксов. 3) Оптимизация производительности приложения, включая настройки серверов и оптимизацию кода 4) Подбор соответствующей для данного приложения аппаратной (программной платформы) и конфигурации сервера Цели и задачи нагрузочного тестирования.
  • 7. Стажировка-2014 Этапы проведения нагрузочного тестирования: 1. Анализ требований и сбор информации о тестируемой системе 2. Конфигурация тестового стенда для нагрузочного тестирования 3. Разработка модели нагрузки 4. Выбор инструмента для нагрузочного тестирования 5. Создание и отладка тестовых скриптов 6. Проведение тестирования 7. Анализ результатов 8. Подготовка, отправка и публикация отчета по проведенному нагрузочному тестированию Как тестировать?
  • 8. Стажировка-2014 Анализ требований: Для этого Вам необходимо будет выделить следующие характеристики: 1. Время отклика (время необходимое для открытия страницы или получения ожидаемого результата) 2. Интенсивность (число запросов в секунду – (Qps) 3. Используемые ресурсы (загрузка процессора, кол-во используемой памяти, дисковое и сетевой I/O) 4. Максимальное количество пользователей (определяет число пользователей, способных работать с системой в условиях заданной конфигурации) А также некоторые метрики связанные с работой бизнес сценариев (например, количество бизнес операций в единицу времени, время выполнения бизнес операции и т.д.) Заданные в требованиях характеристики, являються базовыми нагрузочными точками тестируемого приложения. Результаты будут сравниваться с ними для принятия решения о завершении тестирования либо дальнейшем профилировании производительности. Этапы нагрузочного тестирования
  • 9. Стажировка-2014 Разработка моделей нагрузки: Модель тестирования производительности - Постепенное увеличение нагрузки, добавляя новых пользователей с некоторым интервалом времени Модель стрессового тестирования – Увеличивая интенсивность операций выше пиковых (максимально разрешенных) значений либо увеличивая количество пользователей, до тех пор пока нагрузка не станет выше максимально допустимых значений, проверяем, что система работоспособна в условиях стресса. Далее, опустив нагрузку до средних значений, проверяем (способность системы к регенерации), что система вернулась к нормальному состоянию (основные нагрузочные характеристики не превышают базовые). Модели нагрузочного тестирования
  • 10. Стажировка-2014 Разработка моделей нагрузки: Модель объемного тестирования - Можно использовать ту же модель что и для тестирования производительности однако целью будет проверка работы системы с прогнозом на будущий рост объема данных. Следовательно одним и самым важным предусловием теста будет увеличение объемов базы данных приложения до требуемых размеров. Таким образом мы сможем проверить и оценить производительность, прогнозируя рост системы на год, два или три вперед. Модели нагрузочного тестирования
  • 11. Стажировка-2014 Разработка моделей нагрузки: Модель тестирования стабильности или надежности - Используя базовый нагрузочный профиль, запускаем тест длительностью от нескольких часов до нескольких дней, с целью выявления утечек памяти, перезапуска серверов и других аспектов влияющих на нагрузку. Модели нагрузочного тестирования
  • 12. Стажировка-2014 Выводы Четкое следование всем вышеописанным инструкциям по разработке моделей нагрузки, позволит: • провести дополнительный анализ и тестирование требований по производительности • уточнить параметры и характеристики производительности • получить более четкого представления о работе системы в целом • получить на выходе план предстоящих работ связанных с нагрузочным тестированием • определить предельный объем данных системы (с сохранением приемлемой производительности) • определить предельное количество пользователей (групп) системы (с сохранением приемлемой производительности) • определить ресурсоёмкие операции или сценарии (для дальнейшего профилирования системы) • отслеживать эффект от вводимых оптимизаций системы при регулярных измерениях производительности, используя разработанные и проверенные модели нагрузки Итог
  • 13. Стажировка-2014 Литература: 1) Технология нагрузочного тестирования информационных систем с большим объемом данных , Вячеслав Берзин. 2) Блог “Нагрузочное тестирование ПО” (http://ashirobokov.blogspot.com), Андрей Широбоков 3) “ПроТестинг.RU” (http://www.protesting.ru/automation/performance.html) Где еще почитать?