代码之家  ›  专栏  ›  技术社区  ›  John Leidegren

详尽的网站核查员

  •  1
  • John Leidegren  · 技术社区  · 14 年前

    我有一个伟大的想法,就是基本上使用一些蛮力攻击来测试/验证我的Web应用程序是否崩溃。

    不要让我开始单元测试和IOC的工作,这完全是另外一回事。

    我正在做的,我请求帮助的是创建一个智能的、详尽的搜索,探索程序状态的某些部分。

    我所拥有的是一个网页,其中有我能做的事情,单击是一件事,文本输入是另一件事,一些输入(如单选按钮和下拉列表)被限制为某些值。基本的东西。我最终得到的是一组有限的事件和值,我想要建立的是状态的进展。也许这在某种程度上是FSM优化,但目标是系统地对事件和值进行任意排列,看看会发生什么。

    当发现一个问题时,我想尽可能少的努力来尝试并引发这个错误,以便能够给出一个清晰的测试用例。

    这与正式的验证方法有关,我正在向有经验的人寻求帮助或洞察。

    3 回复  |  直到 13 年前
        1
  •  1
  •   Pascal Cuoq    14 年前

    你想做的听起来有点像 model-checking 一方面,另一方面,自动生成测试用例(在后一类中,签出 Concolic testing 一种避免在不可行的执行路径上浪费时间的技术)。

    如果您假设您的Web应用程序是正确的,并且想要证明它是正确的,那么模型检查将是首选的方法。但是在警告的情况下,您可能需要努力理解问题是否真实。测试用例的生成是面向错误发现的:它不能证明你的应用是正确的,但是如果它发现了一个问题,它会给你一个输入向量来生成它,这样你就不需要怀疑问题是否真的存在。

    我不知道任何现有的网络应用工具,但这并不意味着它们不存在。

        2
  •  1
  •   Hugh Brackett    14 年前

    听起来你想要一个引信。 Peach 就是这样一个工具。

        3
  •  0
  •   sth ACP    13 年前

    穷举搜索对于有限的资源(内存、空间)来说可以是非平凡的任务,但是有许多技术可以减少问题,比如抽象代码(EX:用存根替换数据库驱动程序类),本文给出了一个经验:使用Java PofFrand(Vinh Cuong Tran,Yoshinori Tan)对Web应用程序进行抽象模型检查。Abe,Masami Hagiya,东京大学)。

    如果您想对FSM类模型进行形式化验证,Java PofFisher有一个扩展来验证用Java +注释编写的UML状态图(它依赖于JavaPasffter VM):

    http://babelfish.arc.nasa.gov/trac/jpf/wiki/projects/jpf-statechart