有没有自动化的测试工具或框架可以测试我们的Java代码,而不需要在开发人员视图的测试用例中编写任何代码?
发布于 2012-04-14 12:36:36
有一个名为javac的工具可以对你的代码运行一些基本的测试。
例如,如果您的代码缺少},它会告诉您。此外,当你试图调用一个参数类型错误的函数,或者调用一个不存在的函数时,它也会检测到。
你可能会发现FindBugs很有用,因为它可以警告潜在的危险代码,但它有很多误报。
除此之外,你需要的是某种程序员的人工智能。如果计算机可以判断出您已经正确地实现了代码,为什么不让计算机为您编写代码呢?
发布于 2012-04-14 12:36:35
您可以考虑静态代码分析工具,如Coverty或FindBugs,它们将尝试仅根据源代码查找潜在的错误,而不实际执行它。
您还可以尝试使用randoop,它会自动生成随机的JUnit测试用例(随机的方法调用序列),查找违反对象约定的情况。它丢弃了导致非法参数异常等的方法序列,这是一个很好的积极因素。它还会记住构造复杂对象的方法序列,以及导致违反合同的序列。
如果您代码中有用JML编写的规范,Compaq的ESC/Java可以对照这些规范来验证您的代码。
发布于 2012-04-14 15:09:29
实际上,似乎有一些tools,但我没有使用过任何一个。此外,如果您编写了一些测试,您可以让PIT修改您的现有代码以发现潜在的陷阱。
https://stackoverflow.com/questions/10151020
复制相似问题