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

«Приведите пример нефункционального вида тестирования и его цель.» — вопрос из категории Основы тестирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Нагрузочное тестирование (Load Testing) — классический пример нефункционального тестирования.

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

Пример задачи: Определить, выдержит ли API сервиса поиска товаров нагрузку в 1000 запросов в секунду в течение 10 минут.

Ключевые метрики:

  • Время отклика (Response Time) — должно оставаться в пределах SLA (например, < 200 мс).
  • Количество обработанных транзакций в секунду (TPS/RPS).
  • Утилизация ресурсов — загрузка CPU, памяти, сети сервера.
  • Процент ошибок — должен быть близок к нулю.

Пример конфигурации сценария в Apache JMeter:

Thread Group:
  Number of Threads (users): 1000
  Ramp-up period (seconds): 120  # Наращивание нагрузки за 2 минуты
  Loop Count: Forever
  Duration (seconds): 600         # Общая длительность теста 10 минут

HTTP Request Defaults:
  Server Name: api.example.com
  Protocol: https

HTTP Request:
  Method: GET
  Path: /api/v1/products/search?query=laptop

Listener: Summary Report / Graph Results  # Для сбора результатов

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

  • Тестирование производительности (Performance Testing) — общая оценка скорости и стабильности.
  • Стресс-тестирование (Stress Testing) — проверка за пределами нормальной нагрузки до точки отказа.
  • Тестирование масштабируемости (Scalability Testing) — проверка возможности увеличения производительности при добавлении ресурсов.
  • Объемное тестирование (Volume Testing) — работа с большими объемами данных.
  • Тестирование надежности (Reliability/Soak Testing) — длительная работа под средней нагрузкой для поиска утечек памяти.