Веб-приложение Fuzz test (framework)?

Существуют ли фреймворки, которые могут выполнять fuzztesting на веб-приложениях? я знаю это Selenium а также WebDriver используются для создания тестов для веб-приложений, но мне особенно интересны библиотеки, фреймворки или проекты, в которые встроено fuzz-тестирование, поэтому мне не нужно заново изобретать колесо.

Например, я мог бы воспользоваться этими функциями:

  • случайное нажатие на ссылку
  • заполнение рандомизированной формы
  • "назад" и "вперед" нажав
  • случайное движение мыши и щелчок
  • поддержка JavaScript

Кто-нибудь знает о проекте, который реализует эти функции? (желательно Java:))

4 ответа

Решение

Мне также было любопытно, так как мы использовали Selenium/Java здесь, в моем офисе, и немного покопались. Я нашел несколько ссылок, которые могут быть полезны для вас:

Fuzz Testing - IBM - Я подозреваю, что вы, возможно, уже нашли эту ссылку.

Обезьяна Fuzz Тестирование - я знаю, я знаю... это.NET. НО, это может дать вам несколько хороших идей относительно того, как реализовать это с вашей стороны.

Блог Стивена Колдебурна - Это было отличное чтение; стоит вашего времени.

JBroFuzz - Это довольно круто. Это все.

В качестве поста с тегом "javascript" я добавляю сюда Gremlins.js, который представляет собой среду тестирования / фаззинга, написанную для Node и браузеров. Удивлен, никто еще не упомянул это.

Gremlins.js Предварительный просмотр

Существуют некоторые новые модули NPM для тестирования JS Fuzz. К сожалению, многие из них не используются широко, поэтому ожидайте, что они нуждаются в некоторой полировке или TLC.

К сожалению, (сейчас = сентябрь 2013 г.) практически нет универсального инструмента тестирования Fuzz с использованием Selenium. Но, к счастью, вы могли бы реализовать свой собственный специализированный инструмент Fuzz.

Требования:

  • Знание Selenium RC/WebDriver
  • Некоторые навыки программирования на языке, который поддерживает Webdriver
  • Хорошая структура ваших элементов HTML, так что вы можете легко сфокусировать ваше размытие. Хорошей практикой, независимо от старой (грязной?) Структуры ваших HTML-страниц, является добавление определенного идентификатора, например, selenium-id, к вашему HTML-элементу, чтобы (1) упростить формирование XPath, (2) ускорить разрешение XPath и (3) чтобы избежать проблем с переводом. При выборе значения для этого недавно добавленного селена-идентификатора вы можете свободно выполнять итерации при фаззировании, используя (a) использование последовательных чисел, (b) использование имен, образующих согласованность.

Я написал более подробно об этом тесте Fuzz Selenium здесь

Другие вопросы по тегам