Junior
77
questionbank

Что такое нефункциональное тестирование?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Нефункциональное тестирование — тип тестирования ПО, направленный на проверку его нефункциональных требований. Оно оценивает характеристики системы, не связанные напрямую с конкретными функциями, а скорее с тем, "как" система работает.

Основные цели нефункционального тестирования:

  • Гарантировать, что система соответствует ожиданиям пользователя и бизнеса в части производительности, надежности, удобства использования и других аспектов.
  • Выявить проблемы, которые могут повлиять на стабильность, масштабируемость и безопасность системы.
  • Подтвердить соответствие системы установленным стандартам и требованиям.

Виды нефункционального тестирования:

Тип тестированияКраткое описаниеПримеры проверяемых характеристик
Тестирование производительностиОценка скорости, отзывчивости, стабильности и масштабируемости системы под нагрузкой.Время отклика, пропускная способность, нагрузка CPU/памяти.
Нагрузочное тестированиеПроверка поведения системы при ожидаемой пиковой нагрузке.Количество одновременных пользователей, транзакций в секунду.
Стрессовое тестированиеПроверка поведения системы при превышении ожидаемой пиковой нагрузки или нехватке ресурсов.Точка отказа системы, поведение при перегрузке.
Тестирование стабильности (Endurance Testing)Проверка способности системы выдерживать длительную непрерывную работу под нагрузкой.Утечки памяти, деградация производительности со временем.
Тестирование безопасностиПроверка защищенности системы от внешних и внутренних угроз, несанкционированного доступа.Защита от SQL-инъекций,XSS-атак, аутентификация, авторизация.
Тестирование удобства использования (Usability Testing)Определение того, насколько легко и интуитивно понятно пользователям использовать систему.Понятный интерфейс, легкая навигация, доступность.
Тестирование совместимостиПроверка работы системы в различных окружениях (браузеры, ОС, устройства).Поддержка различных версий браузеров, ОС.
Тестирование надежности (Reliability Testing)Оценка способности системы выполнять свои функции без сбоев в течение заданного периода времени.Среднее время наработки на отказ (MTBF), вероятность отказа.
Тестирование доступности (Accessibility Testing)Проверка удобства использования системы для людей с ограниченными возможностями.Соответствие стандартам WCAG.
Тестирование локализации/интернационализацииПроверка адаптации системы к различным языкам и региональным настройкам.Переведенные строки, форматы дат/чисел.

Нефункциональное тестирование обычно проводится на менее ранних этапах жизненного цикла разработки ПО, чем функциональное, но его планирование начинается с формирования требований. Оно может быть частью автоматизированных процессов, особенно при тестировании производительности и безопасности.

Инструменты для нефункционального тестирования:

  • Производительность: JMeter, LoadRunner, Gatling, k6.
  • Безопасность: OWASP ZAP, Burp Suite, Acunetix.
  • Совместимость: BrowserStack, Sauce Labs.
  • Удобство использования: UserTesting.com, eye-tracking tools.

Примером автоматизации части нефункционального тестирования может быть скрипт для проверки времени загрузки страницы:

python

Результаты нефункционального тестирования часто представлены в виде отчетов, графиков и метрик, позволяющих оценить характеристики системы и принять решения о необходимых улучшениях.