2. It-Jam 2010
SQA Days 7
QAConf 1.0
It-Jam 2011
Team Leader
PO
ZoralLabs QA
Kharkov QA Club
BA
PM
http://myqanotes.blogspot.com
lysenko_i@mail.ru
3. О нагрузочном тестировании
Обсудим этапы
Цели
Какие данные собирать при тестах
Поподробнее анализ результатов
◦ Основные шаги
◦ Метрики, графики, картинки
Рассмотрим пример
4. Узнать нефункциональные требования (часть
касающуюся перфоманса)
◦ желаемое максимальное время отклика
◦ Сколько людей планируется для использования
системы
◦ Хранимые и обрабатываемые объемы данных
Узнать систему получше
◦ Что она и как делает
◦ Архитектуру системы
Определиться с инфраструктурой
◦ купить копию production сервера
Развернуть ее
Иметь приложение, которое можно грузить или
какие-то его компоненты (сервисы, отдельные
модули)
5. Проработка и проектирование сценариев
- от пары минут до пары дней
Создание и отладка дня три, может четыре
-
Организация проведения и запуск
- один-три дня и 10-120-500 минут
Анализ и отладка системы
- от получаса до пары человеконедель
7. Архитектурные риски
◦ Спрашиваем у архитекторов и разработчиков
самые «стремные» места по их мнению
Функциональные риски
◦ Спрашиваем в продуктового менеджмента самые
важные функции системы
Сопоставляем и создаем тестовые
приоритеты
8. Запустили
Получили результаты
И начинаем их анализировать
9. Анализируем количественно ошибки.
Смотрим на
◦ Количество, общий процент
◦ И для каждой операции, шага в тесте
Разбиваем на типы ошибок
Анализируем причины их возникновения
◦ Сбой сервера приложения
500е
400е и остальные
assertion errors
◦ Сбой клиента (нагрузочного инструмента)
10.
11.
12. определить пропускную
способность сервера
системы;
определить места
системы, где пропускная
способность ниже;
13. пропускную способоность
Среднее время отклика
и самое главное - процент ошибочных
транзакций
также посланную нагрузку в каждый
момент времени теста
◦ и если тут проблемы, то использование
памяти, процессора и логи инструмента на
нагрузочном окружении
14. время отсылки запроса
Время отклика сервера
Время обработки сервером запроса
Время задержки сети
Ресуры сервера с тестовым приложением и
его базы данных
Данные о сервере приложения (потоки)
маркировать каждую транзакцию: каким
потоком (вирт узверем) она была отослана
15. само собой
◦ средние: времени отклика,
◦ использования процессора
◦ и памяти,
◦ пропускной способности;
◦ а также минимальное или максимальное.
во времени:
◦ время отклика;
◦ Использование памяти, процессора;
◦ процессора и ввод-вывод БД;
◦ количество транзакций отосланных, полученых;
распределение времени отклика как случайной
величины и кумулятивное распределение
16. Собирайте максимум данных
(но помните, что это может влиять на результат)
Анализируйте не только сами результаты
теста –
но и все доступные логи, данные в ХД
Лучший источник реальных данных –
production server
(но не грузите его в prime time или если аккуратно )
Копайте как можно глубже
(но не забывайте, что результаты могут лежать и на
поверхности и не требовать тестов)