Transcript

или Что со всем этим делать?

PM

Team Leader

SQA Days 7

Kharkov QA Club

ZoralLabs

It-Jam 2010

[email protected]

http://myqanotes.blogspot.com

It-Jam 2011

PO

QA

QAConf 1.0

BA

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

Обсудим этапы

Цели

Какие данные собирать при тестах

Поподробнее анализ результатов◦ Основные шаги

◦ Метрики, графики, картинки

Рассмотрим пример

Узнать нефункциональные требования (часть касающуюся перфоманса)◦ желаемое максимальное время отклика◦ Сколько людей планируется для использования

системы◦ Хранимые и обрабатываемые объемы данных

Узнать систему получше◦ Что она и как делает◦ Архитектуру системы

Определиться с инфраструктурой◦ купить копию production сервера

Развернуть ее Иметь приложение, которое можно грузить или

какие-то его компоненты (сервисы, отдельные модули)

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

Создание и отладка

Организация проведения и запуск

Анализ и отладка системы

- от пары минут до пары дней

- дня три, может четыре

- один-три дня и 10-120-500 минут

- от получаса до пары человеконедель

Дописываем-обновляем тесты

Дорабатываем скрипты

Запускаем,

Анализируем

…… и т.д.

Архитектурные риски◦ Спрашиваем у архитекторов и разработчиков

самые «стремные» места по их мнению

Функциональные риски◦ Спрашиваем в продуктового менеджмента самые

важные функции системы

Сопоставляем и создаем тестовые приоритеты

Запустили

Получили результаты

И начинаем их анализировать

Анализируем количественно ошибки. Смотрим на◦ Количество, общий процент

◦ И для каждой операции, шага в тесте

Разбиваем на типы ошибок

Анализируем причины их возникновения◦ Сбой сервера приложения

500е

400е и остальные

assertion errors

◦ Сбой клиента (нагрузочного инструмента)

определить пропускную способность сервера системы;

определить места системы, где пропускная способность ниже;

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

Среднее время отклика

и самое главное - процент ошибочных транзакций

также посланную нагрузку в каждый момент времени теста◦ и если тут проблемы, то использование

памяти, процессора и логи инструмента на нагрузочном окружении

время отсылки запроса

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

Время обработки сервером запроса

Время задержки сети

Ресуры сервера с тестовым приложением и его базы данных

Данные о сервере приложения (потоки)

маркировать каждую транзакцию: каким потоком (вирт узверем) она была отослана

само собой◦ средние: времени отклика,◦ использования процессора◦ и памяти,◦ пропускной способности; ◦ а также минимальное или максимальное.

во времени: ◦ время отклика;◦ Использование памяти, процессора;◦ процессора и ввод-вывод БД;◦ количество транзакций отосланных, полученых;

распределение времени отклика как случайной величины и кумулятивное распределение

Собирайте максимум данных(но помните, что это может влиять на результат)

Анализируйте не только сами результаты теста –

но и все доступные логи, данные в ХД

Лучший источник реальных данных –production server(но не грузите его в prime time или если аккуратно )

Копайте как можно глубже(но не забывайте, что результаты могут лежать и на поверхности и не требовать тестов)

Вопросы?

[email protected]

http://myqanotes.blogspot.com


Recommended