-
22-09-2019 - |
题
我有这样的宏伟构想,基本采用一些强力攻击,以测试/验证我的web应用程序不会崩溃。
不要让我开始对单元测试和10C的东西,这完全是另一回事。
我在做什么,什么我所要求的帮助,是创建一个智能的穷举搜索,即探索程序状态的部分。
我是有事情我可以做一个网页,点击是一回事,文字输入是另一种,像单选按钮一些投入和下拉列表被限制为一定值。非常基本的东西。我结束了一个有限组事件和价值观,我想什么型号的是国家的发展。也许这在某种程度上是FSM优化,但我们的目标是系统地经过事件和数值的任意排列组合,看看会发生什么。
当发现问题时我想尝试挑起的错误用尽可能少的努力,尽可能能够呈现清晰的测试用例。
这涉及到形式验证的方法和我寻求帮助或洞察力,从有经验的人。
解决方案
你想要做的声音如模型检测一点,一方面是什么和在另一方面的自动生成测试用例(在后一种类别中检查出 Concolic测试,的技术,以避免与不可行执行路径浪费时间)。
如果您认为您的Web应用程序是正确的,要证明它是模型检测将是首选方法。但是,在一个警告的情况下,你可能不得不工作来了解,如果问题是真的还是假的。测试用例生成是面向bug的发现:它并不能证明你的应用程序是正确的,但如果它发现一个问题,它可以让你的输入向量生产它,所以如果这个问题是真实的,你不需要怀疑。
我不知道的网络应用程序的任何现有的工具,但这并不意味着它们不存在。
其他提示
这听起来像你想有一个模糊器。 桃是这样一种工具。
穷举搜索可以成为有限的资源(内存空间)不平凡的任务,但有许多技术问题可以简化,像抽象您的代码(例如:用存根更换数据库驱动程序类),体验在此提出纸:抽象模型检验的Web应用程序使用Java路径查找器(荣的Cuong陈德良,义田边,雅美Hagiya,东京大学)
如果你看看一种喜欢模型FSM的形式验证的,Java的探路者扩展验证用Java编写注释+(这取决于Javapathfinder VM)UML状态图: