15

Are there frameworks that can perform fuzztesting on WebApplications? I know that Selenium and WebDriver are used to build tests for web-applications, but I am particulary interested in libraries, frameworks or projects that have fuzz-testing built-in, so I do not need to re-invent the wheel.

For example, I could benefit from these features:

  • randomized link clicking
  • randomized form filling
  • 'back' and 'forward' clicking
  • random mouse movement and clicking
  • javascript support

Does anyone know of project that implements these features? (preferably Java :))

Rob Audenaerde
  • 19,195
  • 10
  • 76
  • 121
  • @DannyBeckett please advise on how to improve? I was considering building my own, but wanted advice on exists solutions, and I think more people might benefit from this knowledge. – Rob Audenaerde May 27 '13 at 05:38
  • I don't agree with the downvote on this question at all; it's a perfectly valid question. I have +1'd it. – Brian May 27 '13 at 20:05

4 Answers4

10

I was curious about this as well since we use Selenium/Java here at my office, and did some digging of my own. I found a few links that may be useful to you:

Fuzz Testing - IBM - I suspect you may have already found this link though.

Monkey Fuzz Testing - I know, I know... it's .NET. BUT, it may give you some good ideas as to how to implement it on your end.

Stephen Coldebourne's Blog - This was a great read; well worth your time.

JBroFuzz - This is pretty awesome. That is all.

Brian
  • 5,069
  • 7
  • 37
  • 47
9

As the post tagged "javascript", I'm adding here Gremlins.js which is a testing/fuzzing framework written for Node and browsers. Surprised no one mentioned it yet.

Gremlins.js preview

JSmyth
  • 1,454
  • 1
  • 12
  • 14
2

Some new JS Fuzz testing NPM modules now existing. Sadly, many are not widely used, so expect them to need some polish or TLC.

orangejulius
  • 989
  • 1
  • 10
  • 23
Edmond Meinfelder
  • 313
  • 1
  • 5
  • 19
1

Unfortunately there is (now = September 2013) almost no general purpose Fuzz testing tool using Selenium. But luckily you could implement your own specialized fuzz tool.

Requirements:

  • Knowledge of Selenium RC/WebDriver
  • Some programming skill in a language that Webdriver supports
  • Good structure of your HTML elements, so that you could easily focus your fuzzing. One good practice, regardless the old (messy ?) structure of your HTML pages, is to add a specific id, e.g. selenium-id to your HTML element, to (1) simplify XPath formation, (2) speed up XPath resolution and (3) to avoid translation hassle. While choosing the value for these newly added selenium-id, you are free to help iterating while fuzzing by (a) using consecutive numbers, (b) using names that forms a consistency.

I have written more extensively on this Fuzz Selenium test in here

Community
  • 1
  • 1
CuongHuyTo
  • 1,333
  • 13
  • 19