模糊测试(框架)如何针对Web应用程序进行测试?

15

是否有框架可以对Web应用程序进行模糊测试?我知道SeleniumWebDriver用于构建Web应用程序的测试,但我特别关注集成了模糊测试的库、框架或项目,以便我不需要重新发明轮子。

例如,我可以从这些功能中获益:

  • 随机链接点击
  • 随机表单填充
  • “后退”和“前进”点击
  • 随机鼠标移动和点击
  • 支持JavaScript

有没有人知道实现这些功能的项目?(最好是Java :))


@DannyBeckett,请给些建议如何改进?我正在考虑自己构建,但希望得到现有解决方案的建议,我认为更多人可能会从这些知识中受益。 - Rob Audenaerde
我完全不同意对这个问题的负评;这是一个完全有效的问题。我已经点赞了它。 - Brian
4个回答

10

我对此也很感兴趣,因为我们在办公室使用Selenium/Java,所以我自己进行了一些调查。 我找到了一些可能对你有用的链接:

模糊测试 - IBM - 我猜你可能已经找到了这个链接。

猴子模糊测试 - 我知道,我知道...... 这是.NET。 但是,它可能会给你一些关于如何在你那里实现它的好主意。

Stephen Coldebourne的博客 - 这是一篇非常好的文章;值得你花时间去阅读。

JBroFuzz - 这太棒了。就是这样。


9
作为标记为“javascript”的帖子,我在这里添加了一个名为Gremlins.js的测试/模糊框架,它是为Node和浏览器编写的。惊讶的是还没有人提到它。

Gremlins.js preview


还有,这个项目的名字非常好听 :) - Rob Audenaerde

2

现在有一些新的JS模糊测试NPM模块。遗憾的是,许多人并没有广泛使用,所以需要一些改进或关怀。


1

很遗憾,现在(2013年9月)几乎没有通用的使用Selenium的模糊测试工具。但幸运的是,您可以实现自己专门的模糊测试工具。

要求:

  • 了解Selenium RC / WebDriver
  • 一些Webdriver支持的语言编程技能
  • 良好的HTML元素结构,以便您可以轻松地聚焦您的模糊测试。一个好的做法,无论HTML页面的旧(混乱?)结构如何,都是将特定的ID(例如selenium-id)添加到HTML元素中,以(1)简化XPath形成,(2)加快XPath分辨率和(3)避免翻译麻烦。在选择这些新添加的selenium-id的值时,您可以通过(a)使用连续数字,(b)使用形成一致性的名称来帮助迭代进行模糊测试。

我在这里更详细地介绍了这个Fuzz Selenium测试。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接