• 软件测试技术
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘

字号: | 推荐给好友 上一篇 | 下一篇

不要被覆盖报告所迷惑

发布: 2008-4-03 17:43 | 作者: Andrew Glover | 来源: IBM | 查看: 60次 | 进入软件测试论坛讨论

领测软件测试网

4ir7Mo6U["t
6I3p1[J&i$~QX

,Q1Q#RtTP6cCobertura 的报告软件测试技术门户g t8JyH h&W

+\1q.k(N Y运行 Cobertura 这样的工具和运行您的 JUnit 测试一样简单,只是有一个用专门逻辑在测试时检查代码以报告覆盖率的中间步骤(这都是通过工具的 Ant 任务或 Maven 的目标完成的)。

#@|u'Fe$p} 软件测试技术门户QQ%hM cDl Kd

正如您在图 1 中看到的,HierarchyBuilder 的覆盖报告说明部分代码没有 被执行。事实上,Cobertura 认为 HierarchyBuilder 的行覆盖率为 59%,分支覆盖率为 75%。软件测试技术门户n$h"r9pw

软件测试技术门户,N(eo7b:N1MhS
图 1. Cobertura 的报告软件测试技术门户IUX c [Y

*v"}XN(tq$K!I

QUT`&i ^W这样看来,我的第一次覆盖测试是失败的。首先,带有 String 参数的 buildHierarchy() 方法根本没有被测试。其次,另一个 buildHierarchy() 方法中的两个条件都没有被执行。有趣的是,所要关注的正是第二个没有被执行的 if 块。

JS5z/Wc

"x Zi'y;[C%v0^Q因为我所需要做的只是增加一些测试案例,所以我并不担心这一点。一旦我到达了所关注的区域,我就可以很好地完成工作。注意我这儿的逻辑:我使用测试报告来了解什么没有 被测试。现在我已经可以选择使用这些数据来增强测试或者继续工作。在本例中,我准备增强我的测试,因为我还有一些重要的区域未覆盖。软件测试技术门户~ X]{-vY/w]$V

软件测试技术门户Ga;|1`1X2lpPH

Cobertura:第二轮软件测试技术门户D F8?5L[U$^

)Yn1nc:a