2012-04-14 148 views
0

是否有任何自动化测试工具或框架将测试我们的Java代码,而无需在开发人员视图中编写测试用例中的任何代码片段?Java自动化测试工具

+3

你的意思是魔法框架? – 2012-04-14 04:34:46

+0

你的意思是一个测试工具,将测试代码而不被赋予任何代码来测试? – 2013-01-16 07:20:39

回答

1

您可以考虑使用静态代码分析工具,如CovertyFindBugs,它将尝试仅基于源代码查找潜在的错误,而不实际执行它。

您也可以尝试randoop,它会自动生成随机JUnit测试用例(方法调用的随机序列)来查找对象合同违规。它抛弃了导致非法参数异常的方法序列,这是一个很好的积极因素。它还会记住构造复杂对象的方法序列以及导致合同违反的序列。

如果您的代码使用JML编写的规范,Compaq的ESC/Java可以针对这些代码验证您的代码。

3

有一个名为javac的工具,它将对您的代码执行一些基本的测试。

例如,如果您的代码缺少},它会告诉您。此外,它会检测您尝试使用错误类型的参数调用某个函数,或者调用一个不存在的函数。

您可能会发现FindBugs有用,因为它可以警告潜在的危险代码,但它有很多误报。

除此之外,你要求的是某种程序员AI。如果计算机可以告诉你已经正确实施了你的代码,为什么不让计算机为你写代码呢?

+2

随机代码生成器+自动测试工具=轻松成功!我很喜欢! – emory 2012-04-14 06:37:57

1

其实,似乎有一些tools,但我没有使用过它们中的任何一个。此外,如果您编写一些测试,则可以使用PIT修改现有的代码以查找潜在的缺陷。