Testing 无检测的代码覆盖率

Testing 无检测的代码覆盖率,testing,code-coverage,Testing,Code Coverage,我们有一个自动回归测试设置,用于功能测试和 有兴趣测量我们的测试覆盖率/代码覆盖率 基于Linux的项目 我想知道是否有任何工具可用于测试 覆盖率/代码覆盖率测量,无需检测代码 请推荐任何可以做到这一点的工具或方法 我知道仪器提供了最好的测量方法 代码覆盖率,但是如果工具能够 测量为测试覆盖率执行的函数 测量 感谢和问候, 恶作剧收集测试覆盖率数据的方法只有三种: 对程序进行指令插入,并让指令插入执行覆盖率收集 定期中断程序(假设本机执行),以确定其PC, 并将PC映射到源行号 在解释器下运行

我们有一个自动回归测试设置,用于功能测试和 有兴趣测量我们的测试覆盖率/代码覆盖率 基于Linux的项目

我想知道是否有任何工具可用于测试 覆盖率/代码覆盖率测量,无需检测代码

请推荐任何可以做到这一点的工具或方法

我知道仪器提供了最好的测量方法 代码覆盖率,但是如果工具能够 测量为测试覆盖率执行的函数 测量

感谢和问候,
恶作剧收集测试覆盖率数据的方法只有三种:

  • 对程序进行指令插入,并让指令插入执行覆盖率收集
  • 定期中断程序(假设本机执行),以确定其PC, 并将PC映射到源行号
  • 在解释器下运行程序,并让解释器执行(或者当某些关键程序事件发生时,让解释器调用特殊的用户代码事件处理程序,如“函数输入”)
事实上,口译员可能不具备内置的能力 如果您简化为第一个解决方案:-{如果您正在运行解释器,那么它可能内置的任何测试覆盖率数据收集都应该在其文档中很好地宣传


您可能可以自己实现“中断获取PC”方法,使用链接映射或对象文件中的符号数据(或者可能有人已经为您完成了)它有一个严重的缺点:由于您正在对PC进行采样,因此很难验证某些功能是否实际执行。它可能已经执行了,而您只是没有在正确的时间对PC进行采样。这就是此方案没有在实际的测试覆盖率工具中使用的原因。

收集测试覆盖率数据的方法只有三种:

  • 对程序进行指令插入,并让指令插入执行覆盖率收集
  • 定期中断程序(假设本机执行),以确定其PC, 并将PC映射到源行号
  • 在解释器下运行程序,并让解释器执行(或者当某些关键程序事件发生时,让解释器调用特殊的用户代码事件处理程序,如“函数输入”)
事实上,口译员可能不具备内置的能力 如果您简化为第一个解决方案:-{如果您正在运行解释器,那么它可能内置的任何测试覆盖率数据收集都应该在其文档中很好地宣传


您可能可以自己实现“中断获取PC”方法,使用链接映射或对象文件中的符号数据(或者可能有人已经为您完成了)它有一个严重的缺点:因为您正在对PC进行采样,所以很难验证某些函数是否实际执行。它可能执行了,而您只是没有在适当的时候对PC进行采样。这就是为什么此方案没有在实际的测试覆盖工具中使用。

代码覆盖工具非常特定于语言,因此您必须提供更多细节,在您得到答案之前,您好,NED,我们测试的大多数程序都是基于C或C++的。C/C++二进制文件和共享库都在RealHuthLinux上运行。请在没有源代码的测试的情况下,建议一个在FT中获得代码覆盖的适当方法。代码覆盖工具是非常语言特定的,所以您将在你得到答案之前,我们必须提供更多的细节。你好,NED,我们测试的大部分程序都是基于C或C++的。C/C++二进制文件和共享库都是在RealHuthLinux上运行的。请在没有源码代码的情况下,建议一个在FT中获得代码覆盖的适当方法。