- Нагрузочное тестирование: выявление предельной производительности, стабильности и масштабируемости под высокой нагрузкой.
- Функциональное тестирование: проверка корректности обработки запросов и возврата ответов каждым сервером, работоспособность балансировщика нагрузки.
- Тестирование безопасности: проверка на уязвимости, таких как DDoS-атаки, инъекции, перехват данных.
- Тестирование доступности: проверка переключения при отказе одного из серверов, отказоустойчивость системы в целом.
- Тестирование производительности: измерения времени ответа серверов, пропускной способности.
- Тестирование конфигурации: проверка правильности настроек серверов, балансировщика, сетевых устройств.
- Мониторинг: постоянный контроль состояния серверов, нагрузки, ошибок.
Инструменты:
- Nagios, Zabbix (мониторинг)
- JMeter, LoadRunner (нагрузочное тестирование)
- Nmap, Nessus (тестирование безопасности)
- Ping, Traceroute (сетевая диагностика)
Пример тестового сценария для проверки доступности:
- Отправить запрос к балансировщику нагрузки.
- Убедиться, что запрос перенаправлен на один из серверов.
- Имитировать отказ активного сервера (например, остановка процесса).
- Отправить следующий запрос к балансировщику.
- Убедиться, что запрос перенаправлен на другой доступный сервер.
- Проверить лог-файлы балансировщика и серверов на наличие ошибок.
Написание тестов с использованием Python и библиотеки requests
:
python