← Назад к вопросам

Какие проверки относятся к нефункциональному тестированию

1.0 Junior🔥 262 комментариев
#Инструменты тестирования#Теория тестирования

Комментарии (2)

🐱
deepseek-v3.2PrepBro AI6 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

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

Нефункциональное тестирование — это оценка характеристик системы, которые не связаны с её прямыми функциями. Его цель — убедиться, что продукт работает корректно в реальных условиях эксплуатации, устойчив к нагрузкам и удобен для пользователя. В отличие от функционального тестирования, где мы проверяем «что делает система», здесь мы оцениваем «как она это делает».

Основные виды проверок в нефункциональном тестировании

1. Тестирование производительности (Performance Testing)

Оценивает, как система работает под различной нагрузкой. Включает несколько ключевых суб-типов:

  • Тестирование нагрузки (Load Testing) — проверка поведения при ожидаемой (пиковой) нагрузке. Например, как сайт работает при 1000 одновременных пользователей.
  • Тестирование стрессовой нагрузки (Stress Testing) — оценка системы за пределами её нормальных возможностей, чтобы найти точку разрушения. Например, постепенное увеличение числа запросов до 10 000.
  • Тестирование стабильности/надежности (Soak/Endurance Testing) — длительная работа под средней нагрузкой для обнаружения проблем, таких как утечки памяти или ошибки после долгого функционирования.
  • Тестирование масштабируемости (Scalability Testing) — проверка способности системы увеличивать производительность путем добавления ресурсов (серверов, мощностей CPU).
  • Тестирование пиковой нагрузки (Spike Testing) — внезапное увеличение нагрузки для оценки реакции системы.

Пример простого описания теста нагрузки в конфигурационном файле (например, для JMeter):

test_plan:
  scenario: "Homepage Load Test"
  threads: 1000  # Количество виртуальных пользователей
  ramp_up_period: 60  # Время для постепенного увеличения нагрузки (сек)
  loop_count: 10  # Число повторений для каждого пользователя
  endpoints:
    - "/homepage"
    - "/api/products"

2. Тестирование безопасности (Security Testing)

Проверяет способность системы противостоять malicious attacks и защищать данные. Основные проверки:

  • Авторизация и аутентификация — проверка контроля доступа к функциям и данным.
  • Уязвимости — поиск известных слабостей (SQL Injection, XSS, CSRF).
  • Анализ рисков и пентестинг — моделирование атак для оценки реальной защиты.
  • Конфиденциальность данных — проверка шифрования и защиты личной информации.

3. Тестирование удобства использования (Usability Testing)

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

  • Интуитивность интерфейса — может ли пользователь выполнять задачи без инструкций.
  • Согласованность дизайна (стиль, цвета, расположение элементов).
  • Эффективность выполнения задач — время и количество шагов для достижения цели.
  • Субъективное удовлетворение пользователя (часто через опросы или интервью).

4. Тестирование совместимости (Compatibility Testing)

Обеспечение корректной работы в различных окружениях.

  • Кросс,browser-тестирование — работа в разных браузерах (Chrome, Firefox, Safari) и их версиях.
  • Кросс-платформенное тестирование — работа на разных операционных системах (Windows, macOS, Linux, мобильные OS).
  • Тестирование на разных устройствах — адаптация для различных размеров экрана и типов устройств (телефоны, планшеты, десктопы).
  • Тестирование интеграции — взаимодействие с другими системами, API, сторонними сервисами.

5. Тестирование надежности и доступности (Reliability & Availability Testing)

Проверка, что система работает стабильно и непрерывно в течение требуемого времени.

  • Отказоустойчивость — способность восстанавливаться после сбоев (например, после падения сервера).
  • Время безотказной работы (uptime) — соответствие заданным SLA (например, 99.9% доступности).
  • Тестирование восстановления (Recovery Testing) — оценка процедур восстановления после критических failures.

6. Тестирование установки/деинсталляции (Installation/Uninstallation Testing)

Применимо для desktop или мобильных приложений: проверка процесса установки, обновления, удаления в разных окружениях.

7. Тестирование документирования (Documentation Testing)

Проверка точности и полноты пользовательских руководств, технических документов и help-систем.

Ключевые метрики и инструменты

Для каждого типа тестирования существуют специфические метрики:

  • Для производительности: время ответа (response time), пропускная способность (throughput), использование ресурсов (CPU, memory).
  • Для безопасности: число обнаруженных уязвимости, время до их исправления.
  • Для удобства использования: время выполнения задачи, число ошибок пользователя, оценка удовлетворенности.

Инструменты варьируются от специализированных:

  • JMeter, Gatling — для тестирования производительности.
  • OWASP ZAP, Burp Suite — для security testing.
  • BrowserStack, Sauce Labs — для совместимости.
  • Ручные методы и опросы — для usability.

В заключение, нефункциональное тестирование — это комплексная проверка качества системы по многим аспектам, которые напрямую влияют на пользовательский опыт и жизнеспособность продукта в production-окружении. Его часто проводят после базового функционального тестирования, и оно требует глубокого понимания архитектуры системы, инфраструктуры и бизнес-ожиданий.

Какие проверки относятся к нефункциональному тестированию | PrepBro