Тесты производительности (performance testing), как и тесты безопасности, относятся к группе нефункциональных тестов. Это означает, что объектом их изучения не являются функции программ. Тесты производительности не проверяют, правильно ли они работают: поля, кнопки, формы, выпадающие списки и т. д., напротив, изучают поведение приложений, сервисов в различных условиях нагрузки, используя указанные элементы для имитации действий пользователя. На сайте loadest.io вы можете протестировать нагрузки с помощью удобного инструмента.
Как создаются нагрузки в приложениях
Испытуемая нагрузка может состоять из тысячи или десятков тысяч виртуальных пользователей, использующих одну и ту же функцию приложения одновременно.
Стоит отметить, что тесты производительности мы разделяем на типы по размеру нагрузки, которую мы будем использовать, и их цели, и поэтому мы различаем тесты:
- производительности, в которых используются низкие и высокие нагрузки (однако не максимальные). Этот тип тестирования предназначен для демонстрации слабых сторон системы и предназначен для поиска элементов, которые показывают более низкую работоспособность по сравнению с другими частями приложения.
- условия, где нагрузка близка к максимальной, и тест проверяет, способна ли система правильно функционировать в верхних пределах максимальной установленной нагрузки.
- перегрузки (стресс-тесты) в которых, нагрузка больше, чем максимальная предполагаемая, тест этого типа проверяет поведение системы в ситуациях перегрузки. Например, запустила ли система безопасный режим, восстановила ли нормальный режим или соответствует ли она стандартам безопасности в таких условиях.
Не исключено, что вы будете работать над проектом, который ограничится только одним типом исследования (из-за бизнес-ожиданий, размера бюджета или рекомендации системного администратора).
Что нужно знать
Изучите архитектуру приложения, то есть схему связи между ее компонентами. Нужно знать, как выглядит статистика для исследуемой системы:
- нормальная нагрузка (среднее количество пользователей, использующих сервис);
- максимальная нагрузка (аналогично максимальное количество пользователей, которые использовали приложение).
Определить цель исследования, то есть указать элементы системы, которые будут подвергаться испытанию. На данный момент есть готовые программы и сайты для нагрузок на приложения.