MischaU8 использовал Java/JavaScript фаззер Jazzer.js для создания rtt-fuzzer для fuzz test RTT (Rally the Troops), который представляет собой онлайн-коллекцию настольных игр. Это дополняет доказательства того, что фаззинг может не только обнаруживать проблемы безопасности, но и выполнять проверки QA (гарантии качества) более высокого уровня функциональности программного обеспечения, например, фуззинг функции блокировки рекламы в Brave Browser. В этом случае MischaU8 показывает, что вы можете нарушать правила игры и искать случаи, когда игра ломается.

Фаззинг исключительно хорош, поскольку он исполняет код во время выполнения, особенно фаззинг белого ящика. Фаззинг белого ящика, также известный как фаззинг на основе обратной связи, например Jazzer и Jazzer.js, используется для тестируемого кода. Фаззер генерирует тысячи входных данных в секунду и на основе ответа программного обеспечения (обратной связи) модифицирует свои входные данные на что-то, что с большей вероятностью приведет к сбою программного обеспечения. Благодаря инструментарию он сохраняет проверенные пути кода, а также сохраняет входные данные, которые привели к сбою программного обеспечения, и изменяет их для будущего тестирования, чтобы найти больше крайних случаев. В случае настольных игр на Rally the Troops это означает меньше возможностей мошенничества, меньше сбоев и лучший пользовательский опыт. По сути, команды контроля качества постоянно пытаются предотвратить каждую задачу.

Использование Jazzer.js со стороны MischaU8 важно, поскольку, по сути, это автоматизированное использование фаззинга для контроля качества. Выполнение этого с помощью обычных инструментов контроля качества (или вручную) может занять в 10 или 1000 раз больше времени, чем фаззинг, если используются соответствующие методы.

Интегрировать фаззер в проект легко, если вы знаете язык программирования, используемый в программном обеспечении, особенно джазер и Jazzer.js. Интегрировать фаззер в фреймворк тестирования Jest можно относительно просто.

Не стесняйтесь обращаться ко мне с дополнительными вопросами или комментариями о том, как вы можете настроить фаззинг в своих проектах, или просто перейдите по ссылкам и погрузитесь в фаззинг.