Fuzz testing

Простыми словами

Проще говоря, «Fuzz testing» помогает команде увидеть, где в жизненном цикле приложения нужна защитная мера, проверка или исправление дефекта. Смысл термина раскрывается через конкретный объект, действие и проверяемый результат.

Как применяется

В практике ИБ термин «Fuzz testing» используют так: его встраивают в требования к приложению, проверки конвейера разработки и процесс устранения дефектов. Решение проверяют по наблюдаемому результату, а не только по наличию документа или средства.

Пример применения

Команда разработки включает понятие «Fuzz testing» в требования и CI/CD: запускает подходящую проверку, разбирает результат и блокирует выпуск только по подтверждённому критерию.

Не путать с

  • Property-based testingProperty-based testing — тестирование по свойствам, при котором генератор создаёт множество входных данных для проверки инвариантов.
  • Тестирование негативных сценариевТестирование негативных сценариев — проверка реакции системы на ошибочные, запрещённые и враждебные действия.
  • Уязвимая зависимостьУязвимая зависимость — используемый компонент, содержащий известную или потенциальную уязвимость.

Как это работает

  1. Определить поток данныхДля «Fuzz testing» выделяют входы, доверительные границы, опасные операции и владельца кода.
  2. Встроить проверкуКонтроль размещают на подходящем этапе разработки или поставки с понятным условием.
  3. Провести триажСрабатывание «Fuzz testing» подтверждают в контексте приложения и отделяют от ложного результата.
  4. Исправить и проверитьПричину устраняют в коде или архитектуре и закрепляют автоматическим повторным тестом.

Частые вопросы

Что такое «Fuzz testing» простыми словами?

Проще говоря, «Fuzz testing» помогает команде увидеть, где в жизненном цикле приложения нужна защитная мера, проверка или исправление дефекта. Смысл термина раскрывается через конкретный объект, действие и проверяемый результат.

Как «Fuzz testing» применяют на практике?

В практике ИБ термин «Fuzz testing» используют так: его встраивают в требования к приложению, проверки конвейера разработки и процесс устранения дефектов. Решение проверяют по наблюдаемому результату, а не только по наличию документа или средства.

Чем «Fuzz testing» отличается от близких понятий?

«Fuzz testing» описывает следующее: автоматизированное тестирование приложения неожиданными или случайно сгенерированными входными данными. «Property-based testing» означает: тестирование по свойствам, при котором генератор создаёт множество входных данных для проверки инвариантов. Понятия могут использоваться вместе, но у них разные объект, назначение или этап работы.

Fuzz testing — автоматизированное тестирование приложения неожиданными или случайно сгенерированными входными данными.