您项目的代码覆盖百分比是多少?

时间:2008-10-11 23:35:52

标签: unit-testing code-coverage

您项目的代码覆盖率是多少?我很好奇为什么原因。

开发团队是否满意?如果没有,是什么阻碍了增加呢?

Stuart Halloway的项目目标是100%(或者构建中断!)。有人在那个级别吗?

我们处于痛苦的25%,但渴望80-90%的新代码。我们有遗留代码,我们决定在它蒸发时单独留下(我们正在积极地重写)。

7 个答案:

答案 0 :(得分:3)

我们运行85%的代码覆盖率,但低于它不会破坏构建。我认为使用代码覆盖率作为一项重要指标是一种危险的做法。仅仅因为测试中涉及的内容并不意味着覆盖范围是有益的。我们试图将它作为我们弱覆盖领域的指导,而不是一个难以理解的事实。

答案 1 :(得分:2)

80%是里程碑的退出标准。如果我们不让它冲刺冲刺(即使我们确实计划时间),我们通过稳定添加它。我们可能会对特定组件或功能进行例外处理,但我们会为下一个里程碑打开Pri 1项目。

在编码过程中,代码覆盖率会在每日构建时自动测量,报告将发送给整个团队。任何低于70%的东西都是黄色,50%以下是红色。我们目前的构建并没有失败,但我们计划在下一个里程碑中添加它。

不确定开发人员与单元测试有什么关系。雇用开发人员来构建高质量的产品,应该有一个强制执行最低质量和测量方法的过程。如果有人对这个过程不满意,他们可以自由地建议另一种验证代码的方法,然后再与其他组件集成。

顺便说一句,我们还测量了自动场景测试的代码覆盖率。因此,我们有三个成员 - 单位,情景和组合。

答案 2 :(得分:1)

我们公司的目标是80%的声明覆盖率,包括异常处理代码。就个人而言,我喜欢在我签到的所有东西上超过90%。

答案 3 :(得分:0)

我经常在自动测试套件下使用代码覆盖,但主要是寻找未经测试的区域。我们大部分时间都获得了大约70%的覆盖率,并且由于两个原因永远不会达到100%;

1)我们通常会在发布之后自动执行新功能,该功能是针对其首次发布进行手动测试的,因此不会包含在覆盖率分析中。在我们的案例中,自动化主要用于功能回归,是执行和调整代码覆盖率的最佳位置。

2)需要进行故障注入以获得100%的覆盖率,因为您需要进入execption处理程序。自动化是困难且耗时的。我们目前不这样做,因此不会得到100%。 Jame的Whittakers关于breaking software的书籍很好地涵盖了这个主题。

值得记住的是,代码覆盖率并不等同于测试覆盖率,正如SQA论坛中thisthis等线程中经常讨论的那样。因此,100%的代码覆盖率可能是错误的指标。

答案 4 :(得分:0)

几年前I measured Perl's test coverage。到250个测试用例结束时,它达到了70%的代码和33%的完全测试分支

答案 5 :(得分:0)

0%在我们的工作场所可悲。 旨在改善这一点,但试图告诉老板我们需要它,这是不容易的,因为他们看到测试!=编码更少的钱。

答案 6 :(得分:0)

我几年前做过的一个项目实现了100%的线路覆盖率,但我完全控制了它,所以我可以强制执行目标。
我们现在的目标是覆盖50%的新代码,这个数字将在不久的将来上升,但无法衡量它。我们很快就会有适当的工具来测量每个夜间单元测试的代码覆盖率,所以我确信我们的位置会有所改善。