связь между случайным тестированием и нечетким тестированием

Мне интересно, какова связь между случайным и нечетким тестированием. Я понимаю, что рандомное тестирование существует уже давно, но я не вижу различий между ними. Они оба, кажется, используют случайный ввод, чтобы увидеть, переходит ли программа в неожиданное состояние (например, сбой). Основная разница в том, что фазз-тестирование автоматизировано?


person Martin Jü    schedule 16.02.2018    source источник


Ответы (1)


Случайное (размеризованное) тестирование не нацелено на сбой системы. Вы можете рандомизировать допустимые значения. Целями могут быть увеличение охвата или получение новой/неожиданной информации о системе (возможно, ошибки, но может быть просто неизвестное поведение).

Тестирование Fuzz(y) заключается в отправке в систему полной ерунды (например, это могут быть случайные байты вместо HTTP-запроса) и проверке того, сможет ли она корректно с этим справиться (без сбоев или зависаний). Данные не обязательно случайны — они просто бессмысленны для программного обеспечения.

person Stanislav Bashkyrtsev    schedule 16.02.2018
comment
Спасибо. Возможно, это еще один фактор, что фаззинг не обязательно использует случайные входные данные? т.е. когда смарт, или охват ориентировался? - person Martin Jü; 29.03.2018