1

有哪些工具可以在机器代码级别而不是源代码级别执行代码覆盖率分析?我正在寻找一种可能的解决方案来对我没有源代码访问权限的软件执行模糊测试。

4

4 回答 4

2

对于已编译的代码(不是 Java),请尝试 Valgrind

于 2010-09-13T14:03:23.733 回答
2

我认为 IBM Rational 测试覆盖工具工具对象代码。

假设您有这样的工具,但无法访问源代码,那么代码覆盖率究竟意味着什么,除了 100%?

如果你没有 100% 的覆盖率,你就会知道你没有锻炼过什么。但你无法知道是什么。

于 2010-09-13T19:37:18.103 回答
1

旧帖子...但我的两分钱。

如果您有一堆 jar,并且知道您正在使用哪些类/方法,则可以使用Emma检测这些 jar,并针对这些 jar 运行您的示例应用程序。

就我而言,我有 jars,它们实际上是我们公司用来构建其网页的专有组件(用于生成 html 代码)。我们有一个使用这些组件的示例应用程序以及针对示例应用程序运行的一系列测试。我编写了一个 ant 任务来将 maven 依赖项复制到一个目录,检测它们并针对这些检测的 jar 运行测试。此任务是从 maven POM 调用的,因此是构建过程的一部分。

此外,作为构建过程的一部分,我们处理 emma 覆盖率数据以生成报告。该报告显示了我们没有源代码的 jar 中的类和方法!希望这可以帮助。

于 2011-09-18T09:06:16.453 回答
0

如果你有多个入口点(公共方法),你可以测试它的覆盖率。我不知道任何工具。否则你将不得不测试汇编代码覆盖率,我不知道这是否可能。

于 2010-09-13T13:57:34.370 回答