Нефункциональное тестирование оценивает атрибуты качества программного обеспечения, не связанные с конкретными функциями или поведением. Оно направлено на то, как система работает.
Основные виды нефункционального тестирования:
- Тестирование производительности (Performance Testing): Оценка скорости, отзывчивости, масштабируемости и стабильности системы под определенной нагрузкой.
- Нагрузочное тестирование (Load Testing): Проверка поведения системы при ожидаемой максимальной нагрузке.
- Стрессовое тестирование (Stress Testing): Определение точки отказа системы при нагрузке, превышающей ожидаемую.
- Тестирование стабильности/выносливости (Stability/Endurance Testing): Проверка способности системы обрабатывать ожидаемую нагрузку в течение длительного периода времени.
- Объемное тестирование (Volume Testing): Проверка поведения системы при большом объеме данных в базе данных.
- Тестирование безопасности (Security Testing): Проверка защиты данных и ресурсов от несанкционированного доступа, потери или повреждения.
- Тестирование на проникновение (Penetration Testing): Имитация атаки злоумышленника для выявления уязвимостей.
- Анализ уязвимостей (Vulnerability Analysis): Использование автоматизированных инструментов для выявления известных уязвимостей.
- Тестирование удобства использования (Usability Testing): Оценка того, насколько легко и эффективно пользователи могут взаимодействовать с системой.
- Тестирование с реальными пользователями.
- Экспертная оценка (Heuristic Evaluation).
- Тестирование надежности (Reliability Testing): Проверка способности системы выполнять свои функции без сбоев в течение определенного периода времени при заданных условиях.
- Тестирование безотказности (Failure Recovery Testing): Проверка способности системы восстанавливаться после сбоев.
- Тестирование масштабируемости (Scalability Testing): Проверка способности системы эффективно обрабатывать растущую нагрузку, объем данных или количество пользователей.
- Тестирование доступности (Accessibility Testing): Проверка того, насколько удобным и доступным является программное обеспечение для людей с различными потребностями (например, нарушения зрения, слуха).
- Тестирование совместимости (Compatibility Testing): Проверка работы программного обеспечения в различных средах (операционные системы, браузеры, устройства).
Важность нефункционального тестирования заключается в том, что оно помогает обеспечить, чтобы система была не только функционально правильной, но и эффективной, безопасной, надежной и удобной для пользователей. Этоdirectly влияет на удовлетворенность конечных пользователей и успех продукта.