7. Тестирование стабильности
Stability / Soak / Endurance testing
• Цель: оценка производительности в
течение длительного времени
• Ожидаемая или планируемая нагрузка
• Обнаруживает деградацию
производительности во времени
15. Транзакционный подход.
Недостатки
• Не задействует всех внутренних
механизмов системы
• Не проверяет работу системы в
совокупности с другими транзакциями
21. Ориентация на конечного
пользователя
Концепция
Трактовка бизнес-вопроса:
сумеет ли система обработать N
одновременно работающих с ней
пользователей?
...исходя из описанных требований ко времени обработки
всех критических транзакций
22. Ориентация на конечного
пользователя
Концепция
• Задействует все критические
транзакции, пропорции и побочные
действия пользователя
• Стремится покрыть все механизмы
системы, влияющие на
производительность
24. Ориентация на конечного пользователя
0
200
400
600
800
1,000 0:00
1:00
2:00
3:00
4:00
5:00
6:00
7:00
8:00
9:00
10:00
11:00
12:00
13:00
14:00
15:00
16:00
17:00
18:00
19:00
20:00
21:00
22:00
23:00
КоличествозапросовтипаN
Время
Количество входящих в живую систему запросов
Нагрузка на живой платформе
Модель нагрузки для теста, основанная на среднем значении
Модель, основанная на максимуме
26. Модель, основанная на средних
Определяет соответствие системы
требованиям
Не даёт понимания о работе системы
при регулярных всплесках активности
Плохо обнаруживает узкие места
27. Модель, основанная на
максимумах
Обнаруживает узкие места
В случае провала не даёт ответа о
реальном соответствии требованиям
Предъявляет завышенные требования к
системе на программном и аппаратном
уровнях
31. Реалистичный подход
Критические транзакции
Пропорциональность
Типичные действия пользователя
Случайность действий пользователя
Обработка внешних событий
Динамическая скорость нагрузки
Включение различных интерфейсов
35. Эффективность
Нахождение максимального числа узких мест
системы
Более прагматичное отношение к
аппаратным ресурсам и оптимизации кода
Адекватная оценка перспектив системы
36. Итоги
• Реалистичный подход сложен, но максимально
эффективен для мультипользовательских
систем
• Наличие правильного инструментария дает
возможность для гибкого тестирования
системы
• Развитие Cloud Computing систем упрощает и
делает подход актуальным уже сегодня.