Производительность в тестировании — это исследование того, как система ведет себя и насколько она реагирует при определенной рабочей нагрузке. Цель — определить пропускную способность, скорость, масштабируемость и стабильность приложения.
Ключевые аспекты:
- Скорость отклика (Response time): Время, за которое система обрабатывает запрос и возвращает результат.
- Пропускная способность (Throughput): Количество транзакций или операций, обрабатываемых системой за единицу времени.
- Использование ресурсов (Resource utilization): Показатели использования процессора, памяти, диска, сети под нагрузкой.
- Масштабируемость (Scalability): Способность системы увеличивать свою производительность при увеличении числа пользователей или объема данных.
- Стабильность (Stability): Способность системы работать без сбоев или деградации производительности при длительной нагрузке.
Виды тестирования производительности:
- Нагрузочное (Load testing): Оценка поведения системы при ожидаемой пиковой нагрузке.
- Стрессовое (Stress testing): Проверка поведения системы при нагрузке, превышающей ожидаемую, чтобы выявить точку отказа.
- Тестирование на выносливость (Endurance/Soak testing): Оценка поведения системы при постоянной нагрузке в течение длительного времени.
- Тестирование на масштабируемость (Scalability testing): Определение эффективности системы при увеличении рабочей нагрузки.
Инструменты:
- JMeter
- LoadRunner
- Gatling
- k6
Цель — выявить узкие места, определить пределы производительности и убедиться, что система соответствует нефункциональным требованиям.