9.1 resource analysis.templ

34
Нефункциональное тестирование: Анализ использования ресурсов Светлана Зиннатова

Upload: natalia-odegova

Post on 25-Dec-2014

451 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 9.1   resource analysis.templ

Нефункциональное тестирование:

Анализ использования ресурсов

Светлана Зиннатова

Page 2: 9.1   resource analysis.templ

Ресурсы Пользователь:

• Время:

– Время отклика системы

– Время выполнения

операции (функции,

запроса)

2

Система:

• Степень загрузки

процессора

– системная загрузка

– пользовательская загрузка

– ожидание окончания

операции ввода-вывода

– Бездействие

• Оперативная память

• Дисковая подсистема и

операции ввода-вывода

• Загруженность сети

Page 3: 9.1   resource analysis.templ

Аспекты качества

С точки зрения пользователя

Производительность (Performance)

степень, с которой система или компонент

выполняет заложенные в нее функции в

установленных рамках

на время обработки

на пропускную способность

Page 4: 9.1   resource analysis.templ

Аспекты качества

способность использования программным

продуктом соответствующего количества ресурсов

определенного типа (например, объема

оперативной памяти и памяти второго уровня,

размера временных файлов и т.д.) во время работы

в установленных условиях.

С точки зрения системы

Использование ресурсов

(resource utilization)

Page 5: 9.1   resource analysis.templ

Аспекты качества

способность системы обеспечивать необходимую

производительность, относительно количества

ресурсов, используемых при установленных условиях.

Эффективность (efficiency)

Page 6: 9.1   resource analysis.templ

Основной подход Предвари-тельный анализ,

пстановка задачи

Настройка стенда реализации

Проведение испытаний

Анализ результатов

Подготовка отчетов

Page 7: 9.1   resource analysis.templ

Предварительный анализ

• Определение функционального разрез:

– Типичные задачи

– Вероятность их возникновения

• Определение профилей (ожидаемых):

– Производительности

– Эффективности

– Использования ресурсов

Page 8: 9.1   resource analysis.templ

Настройка стенда реализации

• Оборудование

• Операционная система

• Тестируемая система

• Окружение

• Мониторинг Принципы:

• Максимальное приближение к

реальной жизни

• Изоляция от внешних влияний

• Учет влияния отклонений

Page 9: 9.1   resource analysis.templ

Проведение испытаний

• Последовательное

выполнение операций в

соответствии с

функциональным

срезом и профилями

производительности/

эффективности

• Параллельная

фиксация метрик:

– Время отклика

– Ресурсы

9

Page 10: 9.1   resource analysis.templ

Мониторинг ресурсов

• MS Task Manager

10

Page 11: 9.1   resource analysis.templ

Мониторинг ресурсов

• MS Performance – Для запуска системного монитора также

достаточно ввести perfmon из Start (Пуск)/Run (Выполнить)

Page 12: 9.1   resource analysis.templ

Анализ результатов

• Изучение статистики

• Поиск узкого места – bottle-neck

• Рекомендации к улучшению

Page 13: 9.1   resource analysis.templ

Упражнение 1

• MS Word

– Постройте функциональный разрез

(достаточно 3-5 операций)

– Попробуйте определить профиль

производительности и использования

ресурсов

– Выберите средний документ и проведите

на нем испытания и зафиксируйте метрики

13

Page 14: 9.1   resource analysis.templ

Особые ситуации

14

Page 15: 9.1   resource analysis.templ

Объемное тестирование

• тестирование, при котором система

испытывается на больших объемах

данных.

Page 16: 9.1   resource analysis.templ

Упражнение 2

• MS Word

– Повторите упражнение 1 на примере очень

большого документа (например книга или

научная диссертация), попробуйте

• Выполнить операции в середине документа,

• Найти что-то в документе

• Выделить весь текст

– Что изменилось?

16

Page 17: 9.1   resource analysis.templ

Нефункциональное тестирование:

Анализ использования ресурсов

Светлана Зиннатова

Page 18: 9.1   resource analysis.templ

Распределенные системы

18

Page 19: 9.1   resource analysis.templ

Нагрузочное тестирование

• оценка поведения компонента или системы при возрастающей нагрузке:

– Количество параллельных пользователей

– Количество параллельных операций

Page 20: 9.1   resource analysis.templ

• Номинальная

• Минимальная

• Максимальная

Нагрузочное тестирование

Page 21: 9.1   resource analysis.templ

Stress testing

вид тестирования, оценивающий систему или компонент

на граничных значениях рабочих нагрузок или за их

пределами

Page 22: 9.1   resource analysis.templ

Межные характеристики • Надежность (reliability)

– способность программного продукта функционировать при заданных условиях на протяжении определенного периода времени, или для определенного количества операций. Также применяются термины soak testing, endurance testing и т.д.

• Тестирование надежности – процесс тестирования,

исследующий надежность программного продукта.

Page 23: 9.1   resource analysis.templ

Смежные характеристики • Масштабируемость (scalability)

– способность программного продукта к модернизации с целью удовлетворения возрастающей нагрузки.

• Тестирование масштабируемости (scalability testing) – тестирование с целью

оценить масштабируемость программного продукта.

Page 24: 9.1   resource analysis.templ

Методика проведения

Предварительный анализ и постановка

задачи

Настройка стенда

реализации

Разработка типовых

сценариев и

реализация модели нагрузки

Проведение испытаний

Анализ результатов

Подготовка отчетов

Page 25: 9.1   resource analysis.templ

Предварительный анализ

• Определение функционального разрез:

– Типичные задачи

– Вероятность их возникновения

• Определение профилей (ожидаемых):

– Производительности

– Эффективности

– Использования ресурсов

– Нагрузки

Page 26: 9.1   resource analysis.templ

Профиль нагрузки

• Количество пользователей:

– Минимальная – X пользователей

– Номинальная – Y пользователей

– Максимальная – Z пользователей

– (за)Предельная

• Соотношение пользователей разного

профиля (по выполняемым операциям):

– Сценарий пользователя 1 - XX%

– Сценарий пользователя 2 - YY%

– Сценарий пользователя N - ZZ%

26

Page 27: 9.1   resource analysis.templ

Настройка стенда реализации • Оборудование

• Операционная система

• Тестируемая система

• Окружение

• Инструменты нагрузочного

тестирования

• Мониторинг Принципы:

• Максимальное приближение к

реальной жизни

• Изоляция от внешних влияний

• Учет влияния отклонений

Page 28: 9.1   resource analysis.templ

Инструменты

• Apache Jmeter (http://jakarta.apache.org/jmeter/)

• Open Systems Testing Architecture (OpenSTA, http://www.opensta.org/)

• WAPT – Web Application Testing (http://www.loadtestingtool.com)

• HP LoadRunner (www.mercury.com)

• IBM Rational Performance Tester (http://www.interface.ru/fset.asp?Url=/rational/PerfomTest.htm)

Page 29: 9.1   resource analysis.templ

Мониторинг ресурсов

• Обычный

• Агентный

• Встроенный

– в том числе время отклика системы

– количество возникающих ошибок

Page 30: 9.1   resource analysis.templ

Мониторинг производительности

• OS Unix – sar -

http://www.opennet.ru/man.shtml?topic=sar&russian=0&category=&submit=%F0%CF%CB%C1%DA%C1%D4%D8+man

– http://www.ibm.com/developerworks/ru/library/au-unix-perfmonsar/index.html

– top - http://www.opennet.ru/man.shtml?topic=top&russian=0&category=&submit=%F0%CF%CB%C1%DA%C1%D4%D8+man

– vmstat – http://www.opennet.ru/man.shtml?topic=vmstat&russian=0&category=&submit=%F0%CF%CB%C1%DA%C1%D4%D8+man

Page 31: 9.1   resource analysis.templ

Разработка типовых сценариев и

реализация модели нагрузки

• Запись VU-скриптов

• Подготовка данных

• Проектирование сценариев

Page 32: 9.1   resource analysis.templ

Проектирование сценария

нагрузки – Варианты запуска:

• Все одновременно

• Постепенно по одному

• По расписанию

• Хаотично партиями

– Варианты прогона:

• Все фремя фиксированная нагрузка

(performance/efficiency)

• Все время возрастающая нагрузка (stress)

• Переменная нагрузка (reliability)

Page 33: 9.1   resource analysis.templ

Проведение испытаний

• Зафиксировать состояние системы

• Следить за состоянием системы между

тестами

• Предварительный прогон теста с

разными уровнями нагрузки (малыми)

• Прогон основных нагрузочных сценариев

• Фиксация метрик производительности,

использования ресурсов

Page 34: 9.1   resource analysis.templ

Анализ результатов

• Изучение статистики

• Поиск узкого места – bottle-neck

• Рекомендации к улучшению