4

首先,我没有 parasoft .test 或 jtest 经验。我已经阅读了产品可以自动生成单元测试的数据表。

但我很想知道自动生成的单元测试有多么有用。它真的不需要开发人员的任何其他努力吗?

欢迎任何经验分享。

多谢!

4

4 回答 4

7

我们最近将 JTest 用于我们的产品。我们没有使用标准产品,我们使用了 Eclipse 插件。标准产品建立在 OSGI 框架上(阅读:它就像 Eclipse),但您必须导入和创建您的项目。我们已经在使用 Eclipse,所以简单地使用具有所有相同功能的插件对我们来说是有意义的。

虽然 JTest 可以为您做很多事情,但也有很多令人讨厌的事情。例如,Jtest 的静态分析工具是真正值得的,恕我直言。它可以查找很多错误并且有一个非常好的报告系统。但是,虽然单元测试生成是可以的,但我认为我花费的时间与我自己制作它们一样多或更多的时间来修复和增强生成的测试。管理 Jtest 也有些复杂和复杂。

进行单元测试、存根对象、参数化单元测试等的内置机制没有很好的文档记录。至少,在我们使用该产品的两年中,我的小大脑无法很好地利用它们。然而,它们的许多超棒的功能(如 GUI 跟踪、命令行界面、Bug Detective、报告系统等)都需要额外的、非常昂贵的许可证。

实际上,Jtest 只是为您提供了一种简单的方法来管理静态和单元测试的执行。但它真的很贵。我不敢相信他们对这些东西的每个许可证收取数千美元。您还会发现他们会想要培训您,这几乎是您需要的,因为文档非常糟糕。这很奇怪,因为用户指南长达 900 页。

但这里有一个很大的提示:你可以免费做。如果我不得不重新做一遍,我会努力使用这些产品(奇怪的是,这些产品的外观和感觉与 Jtest非常相似) http://code.google.com/javadevtools/codepro/doc/index.html

我不会让 Jtest 认为这将是添加到您的开发人员例程中的一个小东西。Jtest 可能会成为一个巨大的时间和进程接收器。

于 2011-07-27T21:34:18.190 回答
2

Jtest 非常有用。是的,它生成它自己的测试用例,这需要更多的努力来修复它们。我以不同的形式使用它。我删除了所有生成的不必要的测试用例。我制作了另一个文件来创建数据库连接并设置各种其他参数设置。同样在配置之后,如果所有代码都准备好并且如果它还没有准备好,那么代码将在没有模拟的情况下工作,那么你可以存根所需的方法。

静态代码分析器很好(用于检查空指针异常)检查代码约定非常好。将您的自定义代码指南编写为用例并在您的代码上执行。

代码覆盖率。

一边调试一边测试。

于 2012-04-11T15:19:12.883 回答
0

自动生成的单元测试仍然需要开发人员来决定哪些结果是正确的,所以你必须坐下来做这项工作。很多样板代码当然是自动生成的,因此可以节省一点时间。我用的不多,但确实为早期的雇主评估过 jtest。如果我没记错的话,这似乎是一个很棒的产品。:)

于 2010-11-12T09:50:01.187 回答
0

唉,永远不会有解决所有单元测试要求的灵丹妙药,但 JTest 和 .Test(与 C++Test 相关)与您将获得的一样接近。Uggwar 是正确的,开发人员仍然需要验证基本自动生成的测试的结果,但是还有更多。

这些工具可以用来创建基本的回归测试,这些工具可以告诉你什么时候发生了变化,而不是它测试的是对还是错。您还可以跟踪正在运行的应用程序,然后生成 JUnit/NUnit/CPPUnit 测试来重新创建应用程序中正在发生的事情。这些往往是更有用的测试,用作功能项的回归测试。

其他功能包括生成存根、使用电子表格作为数据源和提供对象存储库的能力。还有很多时间......

试一试。

http://www.parasoft.com

于 2010-11-13T19:03:20.353 回答