Сложность у разных видов такого кода различна, поэтому для выработки методики эффективного фаззинг тестирования и доработки инструментов требуется создать базу, содержащую тестовые наборы с описанием пространства состояний. Для описания интересующего пространства состояний требуется описать:
- логику работы предлагаемого кода
- сценарий работы
- схему формирования пространства состояний
- минимум два набора данных/сценария на которых достигается различное покрытие по состояниям
Тесты должны удовлетворять следующим требованиям:
- Минимальный тест – компилируемый
- Оригинальная программа полностью, с указанием модуля и строки откуда взят код для минимального теста