Вы находитесь на странице: 1из 20

Онлайн-образование

Проверить, идет ли запись!


Меня хорошо видно и слышно?
Ставьте – , если всё плохо
Напишите в чат, если есть проблемы
.

Нагрузочное тестирование
Методика и профиль нагрузочного тестирования

Кудрявцев Василий
Директор по качеству
АО РТ Лабс
Преподаватель
Кудрявцев Василий
• 8 лет опыта в области нагрузочного тестирования
• Построение процессов НТ в Банках
• Более 40 успешных проектов по НТ

5
Правила вебинара

Активно участвуем

Задаем вопрос в чат / голосом в конце блоков-тем

Off-topic обсуждаем в slack #канал группы или #general

Вопросы вижу в чате, отвечаю в конце блоков-тем


Карта курса

5 Итоговый проект

1 Введение в НТ

3 Мониторинг и
инфраструктура

2 Разработка средств НТ

4 Отчётность и качество НТ
Маршрут вебинара

Методика НТ

Профиль НТ

Практика: составление профиля

Обратная связь (рефлексия)


Цели вебинара | После занятия вы

1 Сможете разрабатывать методику НТ и ориентироваться в ней

Поймете основные принципы построения профиля НТ

3 Сможете самостоятельно обрабатывать статистику


использования системы
Смысл | Зачем вам это уметь

1 Готовиться тщательнее к проведению тестирования

Лучше понимать тестируемую систему, увеличивая

2 вероятность не пропуска дефектов в Продуктив

3 Нагружать системы правильно, продумав детали


Методика нагрузочного
тестирования
Методика НТ - основные принципы 1/2 - где брать
информацию
Источники информации о системе:

• Документация: архитектурное описание / схемы, ТЗ на


тестируемые сервисы

• Команда:
• Функциональные тестировщики - для кейсов тестирования,
понимания основной функциональности, возможно схем
системы
• Архитекторы / аналитики - для целей НТ по “будущему”
системы, схем и связей между компонентами
• Сопровождение / поддержка - для статистики использования
системы, настроек / связей компонент системы, информация о
наполнении БД

1
2
Методика НТ - основные принципы 2/2 - важность
разделов
Важность и очередность наполнения разделов (актуально в agile):

1. Цели НТ,
Моделирование нагрузки (в первую очередь - профиль НТ)

2. Объект тестирования,
Стратегия тестирования,
Планируемые тесты

3. Мониторинг,
Ограничения тестирования,
Тестовый стенд

4. Другие разделы

* создать базовую методику, дополнять в процессе


1
3
Профиль нагрузочного
тестирования
Профиль НТ - основные принципы 1/2 - статистика

Профиль НТ - это набор операций с заданными интенсивностями, полученный на основе сбора


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

Существующая система - статистика!*

a. Максимальная выгрузка статы основных операций


(хватит периода в месяц в большинстве случаев)
b. Берем день с максимальной суммой интенсивностей
c. Берем пиковый час этого дня (например, 10 - 11 утра)
d. Дополнительно можно взять среднее по пиковому часу
среди рабочей недели (идентичных дней)**
e. Добывается у админов / сопровождения / поддержки

* Не исключаем несколько профилей нагрузки для системы (закрытие периодов / отчетность и т.п.)
** Если есть только “день” без конкретики по часам - можно взять 10-15% от дневной нагрузки

1
5
Профиль НТ - основные принципы 2/2 - новая
система
Новая система - бизнес-прогноз!**

a. Типы операций и их интенсивность, можно взять типовое


описание основных функций из ТЗ и happy-pass тест-
кейсы функционального тестирования.
b. Если есть только “Х пользователей” то типовое
“ожидание” между переходами / кликами - 2-5 секунд в
зависимости от системы.
i. Затем можно поумножать для получения
интенсивности, учитывая количество шагов
(переходов / кликов) в операции.
c. Добывается у аналитиков / Бизнеса / статистики старых
систем (если замены)

** Не забываем про стресс-нагрузку при событиях / открытии


сервисов

1
6
Профиль НТ - составляем профиль по web
статистике
1. Определяем где статистика использования: для nginx это access.log, по-умолчанию
хранится в /var/log
a. Для баз данных ищем таблицы, в которых хранятся создаваемые сущности системы
(заявки / заказы и т.п.) и вытаскиваем кол-во с разбивкой
2. Достаём нужное количество логов для анализа (используем winscp для linux)
3. Используем парсер логов для верхнеуровневого анализа - многое умеет парсить GoAccess
a. Берем день с максимальной суммой интенсивностей
b. Берем пиковый час этого дня
4. Оставляем первый топ операций, которые включим в профиль НТ (топ 80-90% операций
по интенсивности И количеству)
5. Для профиля домножаем интенсивность до нужной в зависимости от взятого количества
операций:
Например, всего интенсивность всех операций = 100,
мы взяли 2 операции дающие интенсивность 30 и 50, суммарно 80.
Значит для профиля нужно интенсивность каждой операции умножить на 1.25 (100 /
80):
в профиле их итенсивность будет равна 37.5 и 62.5 соответственно 1
7
Рефлексия

Отметьте 3 пункта, которые вам


запомнились с вебинара

? Что вы будете применять в работе


из сегодняшнего вебинара?
Заполните, пожалуйста,
опрос о занятии по ссылке в чате
Спасибо за внимание!
Приходите на следующие вебинары

Кудрявцев Василий
Директор по качеству
АО РТ Лабс